Hypoglycemic Event Prediction Using Machine Learning
A machine learning model utilizing historical glucose data and additional factors predicts nocturnal hypoglycemic events, enhancing prediction accuracy and enabling proactive mitigation strategies.
Patent Information
- Application Number
- JP2022561172
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-04-29
- Filing Date
- 2020-12-07
- Publication Date
- 2026-01-28
- Estimated Expiration
- 2040-12-07
AI Technical Summary
Conventional systems are unable to accurately predict hypoglycemic events during nighttime intervals, which can lead to severe health issues, as they cannot process and analyze the vast amount of data generated by continuous glucose monitoring systems effectively.
A machine learning model trained on historical time-series glucose measurements and additional data such as application usage, insulin administration, and exercise is used to predict hypoglycemic events during overnight intervals, incorporating user actions and behaviors to improve prediction accuracy.
The model enables timely and accurate prediction of nocturnal hypoglycemia, allowing users to take preventive measures, thereby reducing the risk of adverse health effects.
Smart Images

Figure 0007808044000001 
Figure 0007808044000002 
Figure 0007808044000003
Abstract
Description
[Technical Field]
[0001] INCORPORATION BY REFERENCE OF RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 63 / 017611, entitled "Hypoglycemic Event Prediction Using Machine Learning," filed April 29, 2020. The foregoing application is incorporated by reference in its entirety and 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. While monitoring a person's current glucose levels is useful for determining diabetes treatment strategies, knowing a person's future glucose levels is even more useful. This allows individuals or their caregivers to take steps to mitigate potential adverse health conditions associated with changes in glucose levels (e.g., hyperglycemia or hypoglycemia) before such conditions occur.
[0003] Hypoglycemia is a condition in which a person's glucose levels are low, compared to hyperglycemia, which occurs when a person's glucose levels are high. Glucose levels are typically considered "low" when they fall below 70 mg / dL, although low can be defined by various thresholds. Hypoglycemia is of concern due to potential negative side effects, including confusion, abnormal behavior (e.g., inability to complete daily tasks), visual disturbances (e.g., blurred vision), seizures, and loss of consciousness. In severe cases, hypoglycemia can even lead to death. It is estimated that nearly half of all hypoglycemic episodes and more than half of all severe episodes occur at night while asleep. Hypoglycemia that occurs at night can be referred to as "nocturnal" or "nighttime" hypoglycemia. Conventional systems cannot accurately predict whether a person will experience a hypoglycemic episode on a given night, and therefore cannot advise a person on how to behave or what steps to take to mitigate hypoglycemia during the nighttime interval. Summary of the Invention
[0004] To overcome these problems, hypoglycemic event prediction using machine learning is utilized. Given the number of people wearing continuous glucose monitoring (CGM) systems, which continuously generate measurements, CGM platforms that provide CGM systems with sensors to detect glucose levels and maintain the measurements generated by such systems may have enormous amounts of data, e.g., tens of millions of patient-days of measurements. However, this amount of data is virtually, if not practically, impossible for humans to process and reliably identify patterns in a robust number of state spaces.
[0005] In one or more implementations, the CGM platform includes a machine learning model trained using historical time-series glucose measurements of a user population, where the glucose measurements are provided by CGM systems worn by users of the user population. While in some implementations, the machine learning model may be limited to receiving the time-series glucose measurements as input, in one or more implementations, the machine learning model also receives as input additional data describing one or more other aspects that will affect a person's glucose in the future, such as application usage activity, administered insulin, and exercise. Once training is complete, the machine learning model predicts a hypoglycemic event for the user. When predicting a hypoglycemic event, a time series of glucose measurements for daytime time intervals is received. The glucose measurements for this time series for daytime time intervals are provided by CGM systems worn by the users. The machine learning model uses the trained machine learning model to process the time series of glucose measurements to predict whether a hypoglycemic event will occur during an overnight time interval following the daytime time interval. A hypoglycemic event prediction is then output, such as via communication and / or display of a notification regarding the hypoglycemic event prediction. For example, the hypoglycemic event prediction corresponds to a positive result if the machine learning model predicts that a hypoglycemic event will occur during the nighttime interval, or a negative result if the machine learning model predicts that a hypoglycemic event will not occur during the nighttime interval.
[0006] 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. [Brief explanation of the drawings]
[0007] The detailed description is given with reference to the accompanying drawings.
[0008] [Figure 1]1 is an illustration of an environment in an example implementation operable to employ the techniques described herein. [Figure 2] The example continuous glucose monitoring (CGM) system of FIG. 1 is depicted in more detail. [Figure 3] 1 depicts an example implementation in which CGM device data, including glucose measurements, is routed to different systems related to hypoglycemic event prediction. [Figure 4] 10 depicts in more detail an implementation of the hypoglycemic event prediction system of FIG. 3 for using machine learning to predict whether a hypoglycemic event will occur during a future nighttime interval. [Figure 5] 1 depicts an example implementation in which the described machine learning model generates a hypoglycemic event prediction according to one or more implementations. [Figure 6] 10 depicts additional exemplary implementations in which the described machine learning models generate hypoglycemic event predictions according to one or more implementations. [Figure 7] 10 depicts in more detail an additional exemplary implementation of the hypoglycemic event prediction system of FIG. 3 for outputting a notification based on a hypoglycemic event prediction. [Figure 8] 10 depicts an example implementation of a user interface displayed to notify a user based on a prediction of a hypoglycemic event occurring during an overnight time interval. [Figure 9] An exemplary implementation of a hypoglycemic event prediction system in which a machine learning model is trained to predict whether a hypoglycemic event will occur during an overnight time interval is depicted in more detail. [Figure 10] 1 illustrates an example implementation of training data generated by a model manager to train the described machine learning models. [Figure 11] 1 depicts the steps of an exemplary implementation in which a machine learning model predicts whether a hypoglycemic event will occur during an overnight time interval. [Figure 12]1 depicts the procedure of an exemplary implementation in which a machine learning model is trained to predict hypoglycemic events based on historical time series glucose measurements of a user population. [Figure 13] 1 illustrates an example system including an example computing device embodying one or more computing systems and / or devices that may implement various techniques described herein. DETAILED DESCRIPTION OF THE INVENTION
[0009] overview Hypoglycemic event prediction using machine learning is described. In one or more implementations, a continuous glucose monitoring (CGM) platform includes a machine learning model trained using historical time-series glucose measurements of a user population to predict whether a hypoglycemic event will occur during an overnight time interval. The glucose measurements of the user population and individual users may be provided by CGM systems worn by the users of the user population and individual users. By acquiring and maintaining measurements generated by these CGM systems, the CGM platform may have a vast amount of data, e.g., tens of millions of patient-days of measurements. Conventional machine learning models may not be able to model some of the patterns observed in this abundant historical data to accurately predict hypoglycemic events during an overnight time interval. Furthermore, the time-series glucose measurements described herein correspond to a chronological sequence of glucose measurements and may otherwise be referred to as a “glucose trace.” Thus, it should be understood that such time-series glucose measurements used to build a machine learning model and then used as input for predicting nocturnal hypoglycemia correspond to a continuous stream of glucose measurements, which can be distinguished from conventional systems that utilize glucose “features” as inputs for predictive models.
[0010] Once trained, the machine learning model is used to predict whether a hypoglycemic episode will occur during a nighttime interval, e.g., while a person is asleep over the next few hours. When predicting whether a hypoglycemic event will occur for a particular user during the night, a time series of glucose measurements up to a predicted time is received from a CGM system worn by the user. For example, the time series of glucose measurements for a daytime interval for the current day is utilized by the machine learning model to predict whether a hypoglycemic event will occur during a nighttime interval following the daytime interval. The machine learning model generates this prediction based on training with the historical time series glucose measurements of a user population.
[0011] Many factors can affect a user's glucose levels during the night, including, in particular, exercise, food consumption, and insulin (e.g., administered via an insulin pen). For example, exercise can increase insulin sensitivity, so a user receiving insulin to treat diabetes may experience a further decrease in glucose levels if they exercise during the day. This is because they become more "sensitive" and less "resistant" to the insulin doses they normally receive. Therefore, increasing the amount of exercise performed by a user without reducing the insulin administered may result in nighttime hypoglycemia. As another example, eating food, especially carbohydrates, increases a user's glucose levels. As another example, in some cases, a user may be aware of their glucose levels and take various actions to mitigate nighttime hypoglycemia, such as consuming a piece of fruit before bed. However, many of these user actions and behaviors are hidden from conventional prediction systems and are not considered when generating hypoglycemic event predictions.
[0012] To address this issue, in one or more implementations, the machine learning model also receives as input additional data describing one or more other aspects that will affect a person's glucose in the future. The additional data may be temporally correlated with the time series of glucose measurements, for example, based on timestamps associated with the additional data. Such additional data may include, by way of example and without limitation, application usage data (e.g., clickstream data describing the displayed user interface and user interaction with the application via the user interface), accelerometer data from a mobile device or smartwatch (e.g., indicating that a person viewed the device's user interface and therefore likely saw an alert or information related to glucose levels), data describing insulin administered (e.g., timing and insulin dose), foods consumed (e.g., timing of food consumption, type of food, and / or amount of carbohydrates consumed), activity data from various sensors (e.g., step count data, workouts performed, or other data indicative of a user's activity or exercise), stress, etc. In this case, the machine learning model is also trained using historical additional data of the user population. Thus, the accuracy of predictions generated by the machine learning model is improved by utilizing both the time series glucose measurements and the additional data to generate the predictions. For example, machine learning models can be trained to learn patterns associated with application usage activity, exercise, food consumption, and administered insulin doses and adjust hypoglycemic event predictions accordingly.
[0013] In one or more implementations, the additional data received as input by the machine learning model is associated with a CGM platform application. For example, the CGM platform application may execute on a user's computing device (e.g., a smartphone or smartwatch) to display glucose measurements to the user, for example, in the CGM platform application's user interface. In this case, the additional data may correspond to screen views or user selections of various controls in the CGM application. Such application usage data allows the machine learning model to learn whether the user is aware of their current glucose state, which may indicate that the user has taken mitigating actions to correct the glucose state. For example, if a user looks at the CGM application just before going to bed and notices that their blood glucose level is dropping, they may take mitigating actions to prevent nocturnal hypoglycemia, such as by eating a piece of fruit. This mitigating action may affect the accuracy of hypoglycemic event predictions. For example, if the system predicts the occurrence of nocturnal hypoglycemia, the mitigating action may prevent the nocturnal hypoglycemia from occurring, causing the prediction to be inaccurate. Thus, the machine learning model can learn patterns associated with mitigating actions taken by the user and adjust the hypoglycemic event predictions accordingly.
[0014] In one or more implementations, the accuracy of hypoglycemic event prediction may be further improved by obtaining glucose measurements of the user during periods of inactivity. In this case, the system may output instructions for the user to follow to more accurately predict whether hypoglycemia will occur during the nighttime interval. By way of example and not limitation, the instructions may instruct the user not to eat for a period of time (e.g., 30 minutes), to reduce activity (e.g., no exercise, no strenuous activity, keep heart rate below a certain level), to continue wearing a particular device to monitor various physiological signals, etc. During this period of relative inactivity, a machine learning model may obtain time-series glucose measurements of the inactive period to predict the occurrence of hypoglycemia during the nighttime interval.
[0015] The hypoglycemic event prediction is then output, for example, to generate a notification as to whether the person will experience a hypoglycemic episode during the nighttime interval. This notification can be communicated over a network to one or more computing devices, such as a computing device associated with the user (e.g., for output via an application on the CGM platform) or a computing device associated with the user's guardian (e.g., the user's parent). For example, if the machine learning model predicts that the user is likely to experience nocturnal hypoglycemia during the upcoming nighttime interval, a notification indicating this is the case is output. In one or more implementations, the described system can further output one or more recommendations for mitigating the predicted hypoglycemia, such as drinking a glass of juice before going to sleep, eating a piece of fruit before going to sleep, setting an alarm for a specific time to wake up and drink juice, or eat fruit. On the other hand, if the machine learning model predicts that the user is unlikely to experience hypoglycemia during the nighttime interval, the described system can output a notification indicating this is the case and / or that no mitigating measures need to be taken. In this case, the user can go to bed with confidence that a hypoglycemic event will not occur that night.
[0016] In one or more implementations, the CGM platform may adjust various settings of the CGM system during overnight time intervals based on the hypoglycemic event prediction, such as by adjusting glucose alert settings during overnight time intervals if a negative result is predicted. For example, the low glucose alert threshold may be adjusted by raising the threshold during overnight time intervals in which the machine learning model predicts that the user will not experience a hypoglycemic episode. This has the effect of triggering a low glucose alert earlier than usual to give the user more time to mitigate the low glucose level if a hypoglycemic event is experienced after the system predicted that one would not occur. The adjusted settings may also override customized alert settings that may have been modified by the user. In particular, adjusting system settings may prevent the user from potentially experiencing a hyperglycemic episode during the night if the prediction is incorrect due to unseen factors.
[0017] By accurately predicting and notifying the user whether a hypoglycemic event will occur during an overnight time interval, the described machine learning model enables the user to take action to mitigate the occurrence of nocturnal hypoglycemia before it occurs. Advantageously, the more accurate and timely prediction of nocturnal hypoglycemia provided by the described machine learning model enables users and various other stakeholders to make more informed decisions regarding how to prevent the harmful effects of nocturnal hypoglycemia.
[0018] 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.
[0019] Example Environment 1 is an illustration of an environment 100 in an example implementation operable to employ hypoglycemic event prediction using machine learning as described herein. The illustrated environment 100 includes a person 102, who is depicted wearing a continuous glucose monitoring (CGM) system 104, an insulin delivery system 106, and a computing device 108. The illustrated environment 100 also includes other users in a user population 110 of the CGM system, a CGM platform 112, and an Internet of Things 114 (IoT 114). The CGM system 104, the insulin delivery system 106, the computing device 108, the user population 110, the CGM platform 112, and the IoT 114 are communicatively coupled via a network 116.
[0020] Alternatively or additionally, one or more of the CGM system 104, the insulin delivery system 106, and the computing device 108 may be communicatively coupled in other manners, such as using one or more short-range communication protocols or technologies. By way of example, the CGM system 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 CGM system 104, the insulin delivery system 106, and the computing device 108 may utilize these types of communications to form a closed-loop system between each other. In this manner, the insulin delivery system 106 can deliver insulin based on a sequence of glucose measurements in real time as the glucose measurements are obtained by the CGM system 104 and as future glucose measurements are predicted.
[0021] In accordance with the described technology, CGM system 104 is configured to continuously monitor glucose of person 102. CGM system 104 may be configured with, for example, a CGM sensor that continuously detects analytes indicative of glucose in person 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 CGM system 104, are discussed in more detail in connection with FIG. 2.
[0022] In one or more implementations, the CGM system 104 transmits the glucose measurements 118 to the computing device 108, such as via a wireless connection. The CGM system 104 may communicate these measurements in real time, e.g., as these measurements are generated using a CGM sensor. Alternatively or additionally, the CGM system 104 may communicate the glucose measurements 118 to the computing device 108 at set time intervals, e.g., every 30 seconds, every minute, every 5 minutes, every hour, every 6 hours, daily, etc. Still further, the CGM system 104 may communicate these measurements in response to a request from the computing device 108 communicated to the CGM system 104, e.g., when the computing device 108 causes the display of a user interface with information regarding the person's 102's glucose level, updates such a display, predicts the person's 102's future glucose levels for purposes of delivering insulin, 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 .
[0023] Although illustrated as a wearable device (e.g., a smart watch), the 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, the 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, the computing device 108 may be configured as a dedicated device associated with the CGM platform 112, including functionality to, for example, obtain glucose readings 118 from the CGM system 104, perform various calculations related to the glucose readings 118, display information related to the glucose readings 118 and the CGM platform 112, communicate the glucose readings 118 to the CGM platform 112, etc. However, in contrast to implementations in which the computing device 108 is configured as a mobile phone, the computing device 108 may not include some functionality available in a mobile phone or wearable configuration when configured as a dedicated CGM device, such as the ability to make phone calls, camera functionality, the ability to utilize social networking applications, etc.
[0024] 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 smartwatch) 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 measurements 118 from CGM system 104, communicating them to CGM platform 112 via network 116, and displaying information related to blood glucose measurements 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.
[0025] 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 person 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, and 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 computational 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 technology.
[0026] As mentioned above, computing device 108 communicates glucose measurements 118 to CGM platform 112. In the illustrated environment 100, glucose measurements 118 are shown stored in storage device 120 of CGM platform 112. Storage device 120 may represent one or more databases and / or 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, person 102 corresponds to at least a user of CGM platform 112 and may also be a user of one or more other third-party service providers. To this end, person 102 is associated with a username and, at some point, may be required to provide authentication information (e.g., password, biometric data, telehealth services, etc.) to access CGM 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 person 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.
[0027] 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 CGM sensors of CGM system 104 worn by person 102, and also include glucose measurements from CGM sensors of CGM systems worn by persons 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 CGM platform 112 via network 116, and these other users having their own user profiles with CGM platform 112.
[0028] Data analytics platform 122 represents functionality for processing glucose measurements 118, alone and / or together with other data maintained on storage device 120, to generate various predictions, such as by using various machine learning models. Based on these predictions, CGM platform 112 may provide notifications regarding the predictions, such as alerts, recommendations, or other information based on the predictions. For example, CGM platform 112 may provide notifications to the user, to a medical professional associated with the user, or the like. Although depicted separately from computing device 108, portions or the entire data analytics platform 122 may alternatively or additionally be implemented on computing device 108. Data analytics platform 122 may also use additional data obtained via IoT 114 to generate these predictions.
[0029] In one or more implementations, the data analysis platform 122 is configured to process glucose measurements 118 taken over a first time interval to predict whether the user will have a hypoglycemic event during a future time interval. For example, the data analysis platform can process glucose measurements 118 taken over a day to predict whether the user will experience a hypoglycemic event during the night. The prediction can then be output to the user, e.g., via the computing device 108, so that the user can take appropriate action. For example, if the prediction indicates that the user will not experience a hypoglycemic event during the night, the user can go to bed with confidence that a hypoglycemic event will not occur that night. In contrast, if the prediction indicates that the user will experience a hypoglycemic event during the night, the user can then take mitigating action to reduce the likelihood of a hypoglycemic event occurring, such as drinking a glass of juice before going to sleep, eating a piece of fruit before going to sleep, setting an alarm to wake up at a specific time, drinking juice, or eating fruit. Although depicted separately from the computing device 108, portions or the entire data analysis platform 122 may alternatively or additionally be implemented in the computing device 108. The data analytics platform 122 may also use additional data obtained via the IoT 114 to generate these predictions.
[0030] It should be understood that IoT 114 represents various sources that can provide data describing person 102 and their 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 items (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, the force of foot contact with 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 can also include third parties in the CGM platform 112, such as healthcare providers (e.g., healthcare providers of the person 102) and manufacturers (e.g., manufacturers of the CGM system 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 can include devices and sensors that can provide a wealth of data for use in connection with machine learning and glucose prediction using time-series glucose measurements without departing from the spirit or scope of the described technology. Consider the following discussion of FIG. 2 in the context of measuring glucose, e.g., continuously, and obtaining data describing such measurements.
[0031] Figure 2 depicts in more detail an exemplary implementation 200 of the CGM system 104 of Figure 1. In particular, the illustrated example 200 includes a top view and a corresponding side view of the CGM system 104.
[0032] The CGM system 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 CGM system 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 CGM system 104 further includes an adhesive pad 210 and an attachment mechanism 212.
[0033] 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, such that the sensor 202, adhesive pad 210, attachment mechanism 212, and transmitter 208 (with sensor module 204) can all be applied to the skin 206 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 CGM system 104 and its various components are merely example form factors, and that the CGM system 104 and its components may have different form factors without departing from the spirit or scope of the described techniques.
[0034] 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).
[0035] 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.
[0036] In another example, the sensor 202 (or an additional sensor (not shown) of the CGM system 104) can include first and second electrical conductors, and the sensor module 204 can electrically detect a change 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 a change in electrical potential corresponds to a change 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 CGM system 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) can detect the presence of one or more analytes, the absence of one or more analytes, and / or changes in one or more environmental conditions.
[0037] 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 CGM device data 214. The CGM device data 214 is a communicable package of data that includes at least one glucose reading 118. Alternatively or additionally, the CGM device data 214 includes other data, such as, for example, multiple glucose readings 118, a sensor identification 216, a sensor status 218, etc. In one or more implementations, the CGM device data 214 may include other information, such as one or more of temperature and other analyte readings corresponding to the glucose readings 118. It should be understood that the CGM 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 technology.
[0038] During operation, the transmitter 208 may wirelessly transmit the CGM device data 214 as a stream of data to the computing device 108. Alternatively or additionally, the sensor module 204 may buffer the CGM device data 214 (e.g., in memory of the sensor module 204) and cause the transmitter 208 to transmit the buffered CGM device data 214 at various intervals, such as time intervals (every second, 30 seconds, 1 minute, 5 minutes, 1 hour, etc.), storage intervals (when the buffered CGM device data 214 reaches a threshold amount of data or number of instances of CGM device data 214), etc.
[0039] In addition to generating and communicating CGM 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 glucose levels are likely to become dangerously low in the near future. This computing capability of the sensor module 204 may be advantageous, especially when connectivity to services via the network 116 is limited or nonexistent. In this way, alerts can be received about dangerous conditions without relying on connectivity to the Internet or the like. This additional functionality of the sensor module 204 may also include initially or continuously calibrating the sensor 202 and any other sensors in the CGM system 104.
[0040] With respect to CGM device data 214, sensor identification 216 represents information that uniquely identifies sensor 202 from other sensors, such as other sensors in other CGM 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.
[0041] 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.
[0042] 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.
[0043] For example, these unusual operating condition basis 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 on the CGM system 104 (e.g., is in bed), etc. The sensor status 218 may indicate various aspects related to the sensor 202 and the CGM system 104 without departing from the spirit or scope of the described technology.
[0044] Having considered an exemplary environment and an exemplary CGM system, we now turn to a discussion of some exemplary details of techniques for hypoglycemic event prediction using machine learning according to one or more implementations.
[0045] Hypoglycemic event prediction FIG. 3 depicts an example implementation 300 in which CGM device data, including glucose measurements, is routed to different systems related to hypoglycemic event prediction using machine learning.
[0046] The illustrated example 300 includes the example CGM system 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 CGM system 104 is depicted as transmitting CGM device data 214 to the computing device 108. As discussed above in connection with FIG. 2, the CGM device data 214 includes the glucose measurements 118, among other data. The CGM system 104 may transmit the CGM device data 214 to the computing device 108 in a variety of ways.
[0047] The depicted example 300 also includes a CGM package 302. The CGM package 302 may include CGM device data 214 (e.g., glucose reading 118, sensor identification 216, and sensor status 218), supplemental data 304, or portions thereof. In this example 300, the CGM package 302 is depicted as being routed from the computing device 108 to the storage device 120 of the CGM platform 112. Broadly speaking, the computing device 108 includes functionality to generate the supplemental data 304 based at least in part on the CGM device data 214. The computing device 108 also includes functionality to package the supplemental data 304 with the CGM device data 214 to form the CGM package 302 and communicate the CGM package 302 to the CGM platform 112 for storage in the storage device 120, for example, via the network 116. Thus, it will be appreciated that the CGM package 302 may include data collected by the CGM system 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 CGM system 104 and the CGM platform 112, such as the user's mobile phone, smartwatch, etc.
[0048] With regard to supplemental data 304, the computing device 108 may generate various supplemental data to supplement the CGM device data 214 included in the CGM package 302. According to the described techniques, the supplemental data 304 may describe one or more aspects of a user's context such that a correspondence between the user's context and the CGM device data 214 (e.g., glucose measurements 118) can be identified. By way of example, the supplemental data 304 may describe a user's interactions with the computing device 108 and may include, for example, data extracted from an application log describing particular application interactions (e.g., selections made, actions performed). The supplemental data 304 may also include clickstream data describing clicks, taps, and presses performed in connection with the input / output interface of the 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.
[0049] 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 CGM system 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.
[0050] Regardless of how robustly the supplemental data 304 describes the user's context, the computing device 108 may communicate the CGM packages 302, including the CGM device data 214 and the supplemental data 304, to the CGM platform 112 for processing at various intervals. In one or more implementations, the computing device 108 may stream the CGM packages 302 to the CGM platform 112 in substantially real time, for example, because the CGM system 104 continuously provides the CGM device data 214 to the computing device 108. The computing device 108 may alternatively or additionally communicate one or more of the CGM packages 302 to the CGM platform 112 at predetermined intervals, for example, every second, every 30 seconds, every hour, etc.
[0051] Although not depicted in the illustrated example 300, the CGM platform 112 may process these CGM packages 302 and store at least a portion of the CGM 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 generate predictions of future glucose levels, as described in more detail below.
[0052] 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.
[0053] 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-input 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.
[0054] 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 technology. 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.
[0055] The data analytics platform 122 is shown including a hypoglycemic event prediction system 310. In accordance with the described system, the hypoglycemic event prediction system 310 is configured to generate a hypoglycemic event prediction 312 based on glucose measurements 118. Specifically, the hypoglycemic event prediction system 310 is configured to predict whether a hypoglycemic event will occur during a future time interval based on glucose measurements 118 obtained during a previous time interval. For example, the hypoglycemic event prediction system 310 may predict the occurrence (or lack thereof) of a hypoglycemic event during a future nighttime interval based on glucose measurements 118 obtained during a previous daytime interval. As discussed in more detail below, the hypoglycemic event prediction 312 is based on time-series glucose measurements, e.g., glucose measurements 118 sequenced according to timestamps to form a glucose trace. In one or more implementations, for example, the hypoglycemic event prediction system 310 may generate a hypoglycemic event prediction 312 based on both the glucose measurements 118 and the additional data, which may include, in addition to the glucose measurements 118, one or more portions of CGM device data 214, supplemental data 304, third-party data 308, data from the IoT 114, etc. As discussed below, the hypoglycemic event prediction system 310 may generate such hypoglycemic event predictions 312 by using one or more machine learning models. These models may be trained or otherwise constructed using the glucose measurements 118 and the additional data obtained from the user population 110.
[0056] Based on the generated hypoglycemic event prediction 312, the data analytics platform 122 may also generate a notification 314. The notification 314 may, for example, alert the user to an upcoming hypoglycemic event during a coming overnight time interval, such that, absent mitigating behavior (e.g., eating a particular food or drink), the user is likely to experience a hypoglycemic event during the night. In contrast, the notification 314 may inform the user that the user is unlikely to experience a hypoglycemic event during the night, which may allow the user to go to bed with confidence that they are unlikely to experience a hypoglycemic event while sleeping. The notification 314 may also provide assistance in determining how to reduce the likelihood of an overnight hypoglycemic event, such as by recommending the user take an action (e.g., consume a particular food or drink, download an app to the computing device 108, seek immediate medical attention, reduce insulin dosage, or modify exercise behavior), continue a behavior (e.g., continue eating in a particular way or exercise in a particular way), change a behavior (e.g., change eating or exercise habits, change basal or bolus insulin dose), etc.
[0057] In such a scenario, the hypoglycemic event prediction 312 and / or notification 314 are communicated from the data analytics platform 122 and output via the computing device 108. In the illustrated example 300, the hypoglycemic event prediction 312 is also shown communicated to the computing device 108. It should be understood that either or both of the hypoglycemic event prediction 312 and the notification 314 may be communicated to the computing device 108. Additionally or alternatively, the hypoglycemic event prediction 312 and / or the notification 314 may be routed to a decision assistance platform and / or a validation platform, for example, before the hypoglycemic event prediction 312 and / or the notification 314 can be delivered to the computing device 108. In the context of generating a hypoglycemic event prediction, consider the following discussion of FIG. 4 .
[0058] FIG. 4 depicts in more detail an implementation 400 of the hypoglycemic event prediction system 310 of FIG. 3 for using machine learning to predict whether a hypoglycemic event will occur during a future overnight time interval.
[0059] In the depicted example 400, the hypoglycemic event prediction system 310 is shown obtaining glucose measurements 118 (e.g., from storage 120), timestamps 402, and additional data 404. Here, the glucose measurements 118 and the additional data 404 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 CGM 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 CGM system 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 timestamp 402 is associated with the glucose measurement 118 or which device associates the timestamp 402 with the glucose measurement 118.
[0060] In this example 400, the hypoglycemic event prediction system 310 is depicted as including a sequence manager 406 and a machine learning model 408 configured to generate a hypoglycemic event prediction 312 based on the glucose measurements 118, the timestamps 402, and the additional data 404. However, it should be understood that in some implementations, the hypoglycemic event prediction system 310 generates a hypoglycemic event prediction using only the time-series glucose measurements 412 without using any additional data from the person 102. While the hypoglycemic event prediction system 310 is depicted as including these two components, it should be understood that the hypoglycemic event prediction system 310 may have more, fewer, and / or different components to generate the hypoglycemic event prediction 312 without departing from the spirit or scope of the described technology.
[0061] Generally speaking, the sequencing manager 406 is configured to generate a time series of glucose measurements based on the glucose measurements 118 and the timestamps 302. While the glucose measurements 118 may generally be received in order by the CGM platform 112, for example, from the CGM system 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, and packets having the 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 CGM system 104. Alternatively or additionally, a communication 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 may not be perfectly chronologically ordered as obtained by the hypoglycemic event prediction system 310.
[0062] To generate the time-series glucose measurements 412, the sequencing manager 406 determines a chronological sequence of the glucose measurements 118 according to their respective timestamps 402. The sequencing manager 406 outputs the chronological sequence of the glucose measurements 118 as the time-series glucose measurements 412. The time-series glucose measurements 412 may be configured as or otherwise referred to as "glucose traces."
[0063] In accordance with the described techniques, the sequencing manager 406 generates time-series glucose measurements 412 for specific time intervals. In one or more implementations, the time-series glucose measurements 412 correspond to daytime time intervals for the current day and are utilized by the machine learning model 408 to predict whether a hypoglycemic event will occur during an overnight time interval following the daytime time interval. For example, time-series glucose measurements 412 may be generated by the sequencing manager 406 for a daytime time interval from 6:00 AM in the morning to 10:00 PM in the evening to predict whether a hypoglycemic event will occur during the overnight time interval from 10:00 PM that night to 6:00 AM the next morning. Thus, unlike conventional systems that extract features from glucose measurements to generate a prediction, the time-series glucose measurements 412 correspond to the entire set of estimated glucose values for the person 102 during the daytime time interval. Notably, the duration and timing of the daytime time intervals may vary based on various factors without departing from the spirit or scope of the described techniques. For example, in some cases, the daytime and overnight time intervals may be customized to suit a user's sleep schedule. Additionally, in one or more implementations, the sequencing manager 406 may generate a time series of glucose measurements 412 for a time interval spanning multiple days (eg, the past seven days).
[0064] While in some implementations, the machine learning model 408 may be limited to receiving as input the time-series glucose measurements 412 (and information about the time-series glucose measurements 412), in one or more implementations, the machine learning model 408 also receives as input additional data 404 that describes one or more other aspects that will affect the person's glucose in the future. The additional data 404 may be temporally correlated with the time series of glucose measurements, for example, based on a timestamp associated with the additional data 404. Such additional data 404 may include, by way of example and without limitation, application usage data (e.g., clickstream data describing the displayed user interface and user interaction with the application via the user interface), mobile device or smartwatch accelerometer data (e.g., indicating that a person viewed the device's user interface and therefore likely saw an alert or information related to a predicted hypoglycemic event), data describing insulin administered (e.g., timing and insulin dose), food consumed (e.g., timing of food consumption, type of food, and / or amount of carbohydrates consumed), activity data from various sensors (e.g., step count data, workouts performed, or other data indicative of a user's activity or exercise), stress, etc. Further examples of aspects that may be indicative of a person's future glucose include a person's body temperature, environmental temperature, barometric pressure, and the presence or absence of various health conditions (e.g., pregnancy), to name just a few. Additionally, additional data 404 may include supplemental data 304 and / or third-party data 308 described above with reference to FIG. 3 .
[0065] In this case, the machine learning model 408 is also trained using historical additional data of the user population. Thus, the accuracy of the predictions generated by the machine learning model 408 is improved by utilizing both the time-series glucose measurements 412 and the additional data 404 to generate the predictions. For example, the machine learning model 408 can be trained to learn patterns associated with application usage activity, exercise, food consumption, and administered insulin doses, and adjust its hypoglycemic event predictions accordingly.
[0066] In one or more implementations, the additional data 404 received as input by the machine learning model 408 is associated with an application of the CGM platform 112. For example, the CGM platform 112 application may execute on a user's computing device (e.g., a smartphone or smartwatch) to display glucose measurements to the user, for example, in the user interface of the CGM platform application. In this case, the additional data 404 may correspond to screen views or user selections of various controls of the CGM application. Such application usage data allows the machine learning model 408 to learn whether the user is aware of their current glucose state, which may indicate that the user has taken mitigating action to correct the glucose state. For example, if the user looks at the CGM application just before going to bed and notices that their glucose level is dropping, they may take mitigating action to prevent overnight hypoglycemia, such as by eating a piece of fruit. This mitigating action may affect the accuracy of the hypoglycemic event prediction. For example, if the system predicts the occurrence of overnight hypoglycemia, the mitigating action may prevent the occurrence of overnight hypoglycemia, which would cause the prediction to be inaccurate. In this way, the machine learning model 408 can learn patterns associated with mitigation actions taken by the user and adjust the hypoglycemic event predictions accordingly.
[0067] In accordance with the described techniques, the time series glucose measurements 412 are provided along with the additional data 404 as input to a machine learning model 408. The machine learning model 408 processes the time series glucose measurements 412 and the additional data 404 to generate a hypoglycemic event prediction 312. Generally, the hypoglycemic event prediction 312 output by the machine learning model 408 predicts whether a hypoglycemic event will occur to the user, for example, during an overnight time interval following a daytime time interval of the time series glucose measurements 412. Continuing with the example above, if the time series glucose measurements correspond to a daytime time interval from 6:00 AM in the morning to 10:00 PM in the evening, then the machine learning model 408 can generate a hypoglycemic event prediction 312 for an overnight time interval following a daytime interview, for example, from 10:00 PM that night to 6:00 AM the next morning.
[0068] The hypoglycemic event prediction 312 may be output as a positive result 414 if the machine learning model 408 predicts that a hypoglycemic event will occur during the overnight time interval, or as a negative result 416 if the machine learning model 408 predicts that a hypoglycemic event will not occur during the overnight time interval. The machine learning model 408 may also generate a confidence score 418 associated with the positive result 414 or negative result 416. Generally, the confidence score 418 indicates the probability that the predicted hypothesis or negative result will occur. By way of example, the machine learning model 408 may output the hypoglycemic event prediction 312 as a value between 0 and 1. A threshold may then be applied such that a value less than 0.5 indicates a negative result 416, and a value greater than 0.5 indicates a positive result 414 that a hypoglycemic event will occur. In this example, a positive result 414 with a value of 0.9 will have a higher confidence score 418 than a positive result 414 with a value of 0.55.
[0069] The machine learning model 408 may be trained to output hypoglycemic event predictions 312 based on the time-series glucose measurements 412 and / or the additional data 404. By way of example, the machine learning model 408 may be trained, or an underlying model may be learned, based on one or more training approaches and using labeled historical time-series glucose measurements, such as the time-series glucose measurements 412 generated from the glucose measurements 118 of the user population 110, along with the additional data of the user population. Training the machine learning model 408 is discussed in more detail with respect to FIG. 9.
[0070] The machine learning model 408 may be implemented in a variety of different ways and using a variety of different types of machine learning models without departing from the spirit or scope of the described technology. In one or more implementations, the machine learning model 408 is trained to output a hypoglycemic event prediction 312 by classifying time-series glucose measurements 412 as corresponding to a positive result 414 or a negative result 416. For example, the machine learning model 408 learns to classify an input stream of estimated glucose values as corresponding to a positive result class or a negative result class. In this example, the machine learning model 408 may be implemented as a neural network that takes as input a labeled stream of observed glucose values collected over a time interval. The stream of estimated glucose values is labeled to indicate whether a hypoglycemic event occurred later that night. In this manner, the machine learning model 408 learns to classify the input stream of observed glucose values to generate a predicted hypoglycemic event.
[0071] For example, consider FIG. 5, which depicts an example implementation 500 in which a machine learning model 408 generates a hypoglycemic event prediction according to one or more implementations. In this example, the machine learning model 408 obtains time-series glucose measurements 502 observed over a daytime interval from 6:00 AM to 10:00 PM. The time-series glucose measurements 502 include multiple estimated glucose values 504 observed by a CGM system during the time interval. For example, each “point” in the observed estimated glucose values 504 may correspond to an estimated glucose value measured by the CGM system during the daytime interval. Thus, each observed glucose value 504 includes a respective timestamp and is thus arranged in a chronological sequence. In some cases, the CGM system is configured to generate glucose values 504 at predetermined time intervals, such as every 5 minutes. In this example, a 16-hour daytime interval (e.g., from 6:00 AM to 10:00 PM) includes 192 distinct glucose values 504. The time-series glucose measurements 502 are shown along with a hypoglycemia threshold 506 corresponding to a blood glucose level below which the user's blood glucose level is considered hypoglycemic. For example, the hypoglycemia threshold 506 may correspond to a value of 70 mg / dL in this example, but can be set to other values, such as 60 mg / dL. Based on the time-series glucose measurements 502, the machine learning model 408 generates a hypoglycemic event prediction 508, which in this example is a positive result. In other words, based on the input time-series glucose measurements 502 for the daytime time interval, the machine learning model predicts that a hypoglycemic event will occur during the upcoming nighttime time interval.
[0072] In one or more implementations, the machine learning model 408 is trained to first predict future glucose measurements for an overnight time interval based on time-series glucose measurements observed during a daytime time interval, and then generate a hypoglycemic event prediction 312 based on the predicted future glucose measurements. For example, consider FIG. 6, which depicts an additional example implementation 600 in which the machine learning model 408 generates a hypoglycemic event prediction according to one or more implementations. Similar to example 500, the machine learning model 408 obtains time-series glucose measurements 602 observed over a daytime time interval from 6:00 AM to 10:00 PM. The time-series glucose measurements 602 include a plurality of estimated glucose values 604 observed by the CGM system during the daytime time interval. The time-series glucose measurements 602 are shown along with a hypoglycemic threshold 606 corresponding to a blood glucose level below which a user's blood glucose level is considered hypoglycemic.
[0073] Based on the time-series glucose measurements 602, the machine learning model 408 generates a hypoglycemic event prediction 608, which in this example is a positive result. However, unlike example 500, the machine learning model 408 is depicted as including a glucose prediction model 610 and a classification model 612. Generally, the glucose prediction model 610 is configured to generate and output a predicted future glucose measurement 614 based on the time-series glucose measurements 602. By way of example, the glucose prediction model 610 may be trained, or the 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.
[0074] In particular, predicted future glucose measurements 614 correspond to predicted glucose measurements over a future overnight time interval, and the time-series glucose measurements are traces of glucose measurements observed by a CGM system, e.g., by CGM system 104 worn by person 102, over a daytime time interval. Thus, glucose measurements observed in this manner contrast with glucose measurements predicted by, e.g., glucose prediction model 610. In this example, time-series glucose measurements 602 correspond to traces of glucose measurements 118 observed for person 102 over a daytime time interval (e.g., from 6:00 AM to 10:00 PM), and predicted future glucose measurements 614 may be configured as a predicted glucose trace for a future overnight time interval corresponding to the next eight hours of the night (e.g., from 10:00 PM to 6:00 AM).
[0075] The classification model 612 receives the predicted future glucose measurements 614 and outputs a hypoglycemic event prediction 608. In this case, the hypoglycemic event prediction 608 is based on the predicted future glucose measurements 614. In particular, the predicted future glucose measurements 614 include multiple glucose values 616 that are below the hypoglycemic threshold 606. Thus, in this example, the classification model 612 generates a prediction that a hypoglycemic event will occur during the overnight time interval based on the predicted glucose measurements 616 that are below the hypoglycemic threshold 606.
[0076] The classification model 612 may be configured to predict the occurrence of a hypoglycemic event based on a variety of different factors. In some cases, a positive result is predicted by the classification model 612 if there are four or more consecutive predicted glucose values in an overnight time interval that are below the hypoglycemic threshold 606. However, the hypoglycemic threshold and the number of glucose values below the threshold may vary without departing from the spirit and scope of the described technology.
[0077] In particular, the glucose prediction model 610 may generate the predicted future time-series glucose measurements 614 in a variety of different ways. In one or more implementations, the glucose prediction model 610 may be implemented as a vector output model or an encoder-decoder model that is trained to predict the entire sequence of glucose measurements during an overnight time interval based on an input sequence of glucose measurements during the daytime hours. In other words, the input to the glucose prediction model 610 is a sequence of glucose values for one or more days, and the output of the glucose prediction model 610 is a sequence of predicted glucose values for the entire overnight time interval. A negative or positive hypoglycemic result classification is then applied to the entire predicted sequence of glucose values for the overnight time interval.
[0078] Alternatively, the glucose prediction model 610 can be trained to predict a single glucose value for an overnight time interval, and the process can then be repeated to predict an entire sequence of glucose values for an overnight time interval. In other words, the input to the glucose prediction model 610 is a sequence of glucose values for one or more days, and the output of the glucose prediction model 610 is a single predicted glucose value. The observed glucose measurements are then input back into the glucose prediction model 610 along with the single predicted glucose value to generate the next predicted glucose value. This process is then repeated multiple times to predict the entire overnight sequence of glucose values. In this implementation, the glucose prediction model 610 can be configured as a nonlinear model or a collection of models including one or more nonlinear models. Nonlinear machine learning models can include, for example, neural networks (e.g., recurrent neural networks such as long short-term memory (LSTM)), state machines, Markov chains, Monte Carlo methods, and particle filters, to name just a few. It should be understood that the glucose prediction model 610 may be configured as or otherwise include one or more different types of machine learning models without departing from the spirit or scope of the described technology.
[0079] FIG. 7 depicts in more detail an implementation 700 of the hypoglycemic event prediction system 310 of FIG. 3 for outputting a notification 314 based on a hypoglycemic event prediction 312 .
[0080] In the depicted example 700, the hypoglycemic event prediction system 310 is depicted as including a notification manager 702 that obtains a hypoglycemic event prediction 312 from a machine learning model 408. The notification manager 702 generates and delivers a notification 314 based on the hypoglycemic event prediction 312 output by the machine learning model 408. The notification 314 may include an alert 704 that informs the person 102 of the likelihood that the person will experience a hypoglycemic event during the upcoming night. For example, the alert may indicate that the user is predicted to experience a hypoglycemic event during the upcoming night if the hypoglycemic event prediction 312 corresponds to a positive result 414. In contrast, the alert may indicate that the user is not predicted to experience a hypoglycemic event during the upcoming night if the hypoglycemic event prediction 312 corresponds to a negative result 416.
[0081] The notification 314 may also include one or more recommendations 706. For example, if the machine learning model 408 predicts that the person 102 is likely to experience hypoglycemia during the night, then the notification manager 702 may output one or more recommendations 706 for mitigating hypoglycemia, such as drinking a glass of juice before going to sleep, eating a piece of fruit before going to sleep, setting an alarm to wake up at a specific time and drink juice or eat fruit. On the other hand, if the machine learning model 408 predicts that the user is unlikely to experience hypoglycemia over a predetermined period of time in the future, the notification manager 702 may output a notification indicating that this is the case and / or that no mitigating action needs to be taken.
[0082] In one or more implementations, the notification 314 may also include a visual representation of the confidence score 418 to inform the user of the accuracy of the prediction. For example, if the machine learning model 408 predicts with 90% confidence that a hypoglycemic event will occur during the night, then the notification 314 may visually indicate this confidence level to the user as part of the warning 704. Alternatively, if the machine learning model 408 predicts with 90% confidence that the user will not experience a hypoglycemic episode during the night, the notification 314 may visually indicate this confidence level to the user as part of the warning 704.
[0083] In one or more implementations, the warning 704 and / or recommendation 706 generated by the notification manager 702 may be based, at least in part, on the confidence score 418. The notification manager 702 may provide different warnings 704, recommendations 706, or other messages based, for example, in part on the confidence level associated with the prediction. For example, if the machine learning model predicts with high confidence that the user will or will not have a hypoglycemic event during the night, then the notification manager 702 may output this prediction to the user. However, if the confidence level is lower, the notification manager may adjust the message output to the user, such as by warning the user that the prediction is made with less confidence, asking the user to generate the prediction again at a later time period, or informing the user that the system cannot generate a prediction at this time.
[0084] In one or more implementations, the hypoglycemic event prediction system 310 can generate multiple hypoglycemic event predictions 312 at different times to increase the accuracy of the hypoglycemic event prediction 312. For example, as described above, the hypoglycemic event prediction system 310 can generate an initial hypoglycemic event prediction 312 that predicts whether a hypoglycemic event will occur during a nighttime interval following a daytime interval by processing the time series 412 of glucose measurements using the machine learning model 408. This initial prediction may be generated by the hypoglycemic event prediction system 310, for example, one hour before the user plans to go to bed. Then, after the initial prediction is generated, the hypoglycemic event prediction system 312 may receive an additional time series 412 of glucose measurements. In other words, the additional time series 412 of glucose measurements may be provided by a CGM system worn by the user during a subsequent period occurring after outputting the initial hypoglycemic event prediction 312. The hypoglycemic event prediction system 310 can then generate an updated hypoglycemic event prediction 312 that predicts whether a hypoglycemic event will occur during the overnight time interval by processing the additional time series 412 of glucose measurements using the machine learning model 408. The updated prediction may be generated by the hypoglycemic event prediction system 310, for example, one hour after the initial prediction was generated, and then just before the user plans to go to bed.
[0085] In particular, an updated hypoglycemic event prediction 312 can be generated using the machine learning model 408 to confirm the accuracy of an initial prediction (e.g., a negative result 416) that the user will not experience a hypoglycemic event during an overnight time interval, or to confirm that mitigation actions taken by the user to mitigate a predicted hypoglycemic event (e.g., a positive result 414) were sufficient to change the prediction to a negative result 416. As an example, if the hypoglycemic event prediction system 310 runs a first instance of the machine learning model 408 one hour before the user's bedtime predicting that the user will not experience a hypoglycemic event, then the hypoglycemic event prediction system 310 can run a second instance of the machine learning model 408 a certain time later (e.g., just before the user goes to bed) to confirm that the initial prediction was accurate. In this example, if both the initial prediction and the updated prediction generated by the hypoglycemic event prediction system 310 include, for example, a negative result 416 that the user will not experience a hypoglycemic event during the night, then the accuracy of the prediction is improved.
[0086] As another example, consider that the hypoglycemic event prediction system 310 runs a first instance of the machine learning model 408 one hour before the user's bedtime that predicts that the user will experience a hypoglycemic event during an overnight time interval (e.g., positive result 414), along with a recommendation to mitigate the hypoglycemic event, e.g., drink a glass of juice or eat a piece of fruit. In this scenario, the hypoglycemic event prediction system 310 can run a second instance of the machine learning model after a period of time to confirm that the user is taking the recommended action and that the action is sufficient to mitigate the predicted hypoglycemic event, e.g., the hypoglycemic event prediction 312 now confirms that the user will not experience a hypoglycemic event during the night. Thus, in this example, the updated prediction confirms that the recommended action was sufficient to prevent the user from experiencing a hypoglycemic event. In this scenario, outputting the updated prediction provides the user with peace of mind before they go to bed that the recommended action will prevent a hypoglycemic event from occurring during the night.
[0087] Furthermore, if the first instance of the machine learning model predicts that the user will not experience a hypoglycemic event during the overnight time interval, the hypoglycemic event prediction system 310 may generate a recommendation that the user not take any intervention action (e.g., administering insulin or consuming carbohydrates) before running the second “confirmation” machine learning model 408. In this scenario, the second machine learning model 408 may more heavily weight new data (e.g., glucose measurements 118 and / or additional data 404 obtained after the first hypoglycemic event prediction 312 was generated) to confirm the initial prediction. Notably, in these scenarios, prompting the user to refrain from taking mitigating action may further increase the accuracy of the hypoglycemic event prediction 312 generated by the hypoglycemic event prediction system.
[0088] In one or more implementations, the CGM platform may adjust various settings for nighttime time intervals based on the hypoglycemic event prediction 312. In example 700, the notification manager 702 is depicted as generating adjusted settings 708 based on the hypoglycemic event prediction. In one or more implementations, the adjusted settings 708 correspond to adjusting glucose alert settings for nighttime time intervals when a negative result is predicted. For example, the low glucose alert threshold may be adjusted by raising the threshold during nighttime time intervals when the machine learning model 408 predicts that the user will not experience a hypoglycemic episode. This has the effect of triggering a low glucose alert earlier than usual to give the person 102 more time to mitigate the low glucose level if a hypoglycemic event is experienced after the system predicted that one would not occur. The adjusted settings 708 may also override any customized alert settings modified by the person 102. Thus, the system takes action even if the prediction is negative.
[0089] Alternatively, or in addition to adjusting the glucose alert settings to provide an advance warning to the user if a hypoglycemic event is experienced during the night after the system predicts that a hypoglycemic event will not occur, the hypoglycemic event prediction system 310 can be implemented to generate additional hypoglycemic event predictions 312 during the nighttime interval (e.g., while the user is asleep) using the machine learning model 408. In particular, the additional predictions generated during the nighttime interval may confirm the initial prediction that the user will not experience a hypoglycemic event. In this case, no additional action may be taken by the hypoglycemic event prediction system. On the other hand, if the hypoglycemic event prediction system 310 initially predicts that a hypoglycemic event will not occur during the nighttime interval, but then generates an additional prediction during the nighttime interval that, due to a change in condition, predicts that a hypoglycemic event will now occur, the hypoglycemic event prediction system 310 can then generate an alert that causes the user to wake up and take mitigating action.
[0090] In particular, the generation of a hypoglycemic event during a user's sleep and after the hypoglycemic event prediction system 310 originally predicted that the user would not experience hypoglycemia during the night may disrupt the user's sleep. Accordingly, the hypoglycemic event prediction system 310 can be configured to generate an additional hypoglycemic event prediction 312 during a time window at the beginning of an overnight time interval, e.g., a 30- or 60-minute time window beginning after the user goes to bed. For example, if the user goes to bed at 9:00 P.M., the hypoglycemic event prediction system 310 can generate an additional prediction based on glucose measurements 118 captured between 9:00 P.M. and 10:00 P.M. In this way, if the hypoglycemic event prediction system 310 predicts that a hypoglycemic event will occur, the user is notified early during the planned sleep window rather than waking up late in the night when the user may be in deep sleep.
[0091] In particular, these additional safeguards (e.g., adjusting alert thresholds and / or generating additional predictions during nighttime intervals) may help mitigate the risks associated with erroneous predictions that hypoglycemia will not occur during the night by providing an additional layer of safety protocol that users can rely on if conditions change rapidly or unexpectedly. Furthermore, these additional protections may allow users to have more confidence in the predictions generated by the CGM platform, thereby improving quality of life during sleep times by reducing cognitive burden.
[0092] 8, which depicts an example implementation 800 of a user interface displayed to notify a user based on a prediction of a hypoglycemic event occurring during an overnight time interval, in the context of outputting a notification 314 to a user. In particular, the example implementation 800 includes a computing device 108 depicted in a user request scenario 802, a prediction generation scenario 804, a negative result scenario 806, and a positive result scenario 808.
[0093] In each of scenarios 802, 804, 806, and 808, computing device 108 displays user interface 810. User interface 810 may correspond to an interface of an application, such as the interface of CGM platform 112. Alternatively, or additionally, user interface 810 may correspond to a notification "center," such as a lock screen or other operational level screen.
[0094] The hypoglycemic event prediction system 310 can generate and output hypoglycemic event predictions to a user automatically or in response to a user request. Some users may prefer to receive these predictions automatically (e.g., at a set time period), while other users may prefer to receive these predictions only when requested, such as by the user requesting a prediction before going to bed. Request scenario 802 depicts an exemplary scenario in which the prediction system generates a prediction in response to a user request. In request scenario 802, user interface 810 displays a request control 812 that asks the user whether they want to receive a hypoglycemic event prediction for the upcoming night. When the user selects the “Get Prediction” control, the hypoglycemic event prediction system 310 generates the hypoglycemic event prediction 312 as described throughout. Alternatively, the user can select Ignore if they do not want to receive a prediction.
[0095] In one or more implementations, the machine learning model 408 may increase the accuracy of the hypoglycemic event prediction 312 if the model knows that the user has not taken any actions that may affect the user's glucose level, such as eating, exercising, or taking insulin. Thus, in some cases, the system may output a request that the user refrain from behaviors that affect glucose values for a certain period of time while the prediction is being generated. Prediction generation scenario 804 shows a user interface 810 that displays a notification 814 informing the user that a hypoglycemic event prediction is being generated and asking the user to refrain from exercising, eating, or taking insulin for the next 30 minutes while the prediction is being generated.
[0096] Whether the prediction is generated automatically or at the user's request, the hypoglycemic event prediction system 310 outputs a notification 314 informing the user of a positive or negative hypoglycemic event prediction. In a negative result scenario 806, the user interface 810 displays a negative result warning notification 816 via the display device of the computing device 108. This notification 816 informs the user that they are unlikely to experience a hypoglycemic event tonight. According to the described technology, this notification 816 is based on the hypoglycemic event prediction 312 generated by the hypoglycemic event prediction system 310, which in this case predicts that a hypoglycemic event is unlikely to occur during the overnight time interval. As discussed above, system settings of the CGM platform 112 may be adjusted if a negative result is detected and output to the user. Thus, in this example, the notification 816 also informs the user that the low glucose alert settings have been adjusted to ensure their safety.
[0097] Conversely, in a positive result scenario 808, the user interface 810 displays a positive result warning notification 818 via the display device of the computing device 108. This notification 818 informs the user that there is a high probability that they will experience a hypoglycemic event tonight. According to the described technology, this notification 818 is based on a hypoglycemic event prediction 312 generated by the hypoglycemic event prediction system 310, which predicts that a hypoglycemic event is likely to occur during the nighttime interval. Additionally, in this example, the positive result warning notification 818 provides a recommendation of suggested actions the user should take to mitigate the likelihood of the hypoglycemic event occurring. In this example, the system recommends that the user drink a glass of juice or eat a piece of fruit before going to bed.
[0098] Although notification to a user is shown, it should be understood that in one or more implementations, the notification generated based on the hypoglycemic event prediction for the nighttime interval may alternatively or additionally be communicated to other entities, such as a healthcare provider (e.g., a doctor) of person 102, a caregiver (e.g., a parent or child) of person 102, etc. Furthermore, it should be understood that various other services may be provided in addition to or in lieu of notification based on the hypoglycemic event prediction without departing from the spirit or scope of the described technology.
[0099] 9 depicts in more detail an example implementation 900 of a hypoglycemic event prediction system 310 in which a machine learning model is trained to predict whether a hypoglycemic event will occur during an overnight time interval. As in FIG. 3 , the hypoglycemic event prediction system 310 is included as part of the data analytics platform 122, although in other scenarios, the hypoglycemic event prediction system 310 may additionally or alternatively be included, in part, or in whole, in another device, such as the computing device 108.
[0100] In the illustrated example 900, the hypoglycemic event prediction system 310 includes a model manager 902 that manages machine learning models 408, which, as mentioned above, may be configured as or include one or more machine learning models, such as a recurrent neural network, a convolutional neural network, etc. It should be understood that the machine learning models 408 may be configured as or otherwise include other types of machine learning models without departing from the spirit or scope of the described technology. These different machine learning models may each be built or trained (or the models may be learned in other ways) using different algorithms due, at least in part, to different architectures. Accordingly, it will be understood that the following discussion of the functionality of the model manager 902 is applicable to a variety of machine learning models. However, for purposes of explanation, the functionality of the model manager 902 will be generally described in the context of training a neural network.
[0101] Generally, the model manager 902 is configured to manage machine learning models, including the machine learning model 408. This model management may include, for example, building the machine learning model 408, updating the model, etc. In one or more implementations, updating the model may include transfer learning to personalize the machine learning model 408, i.e., to personalize the machine learning model 408 from a state trained with training data of the user population 110 to an updated state trained with additional training data or describing one or more aspects of the person 102 and / or one or more aspects of a subset of the user population 110 determined by similarity to the person. Specifically, the model manager 902 is configured to perform model management at least in part using the rich data maintained on the storage device 120 of the CGM platform 112. As shown, this data includes the glucose measurements 118 of the user population 110, the timestamps 402, and the additional data 404. In other words, the model manager 902 builds the machine learning model 408, trains the machine learning model 408 (or otherwise learns the underlying model), and updates the glucose measurements 118, timestamps 402, and additional user data 404 of the user population 110.
[0102] Unlike conventional systems, the CGM platform 112 stores (e.g., in storage device 120) or otherwise has access to glucose measurements 118 obtained using the CGM system 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 CGM system 104. As a result, millions, or even billions, of blood glucose measurements 118 are available to the model manager 902 for model building and training. Using such a robust amount of data, the model manager 902 can build and train machine learning models 408 to accurately predict whether a person will experience a hypoglycemic event during a future overnight time interval based on the pattern of observed glucose measurements.
[0103] Without the robustness of the glucose measurements 118 of the CGM platform 112, conventional systems simply cannot build or train a model to cover a state space in a manner that adequately represents how patterns affect glucose values. Failure to adequately cover these state spaces can result in inaccurate hypoglycemic event predictions, which can lead to consequences ranging from user annoyance (e.g., providing a notification that a predicted hypoglycemic event will occur when it does not actually occur) to life-or-death situations (e.g., a dangerous situation resulting from a hypoglycemic event occurring during the night when none was predicted). Given the seriousness of generating inaccurate predictions, it is important to build a machine learning model 408 using a volume of glucose measurements 118 that is robust to rare events.
[0104] In one or more implementations, the model manager 902 builds the machine learning model 408 by generating training data. Initially, generating the training data includes forming training time series of glucose measurements from the glucose measurements 118 and the corresponding timestamps 402 of the user population 110. The model manager 902 may leverage the functionality of the sequencing manager 406 to form these training time series, for example, in a manner similar to that discussed in detail above in connection with forming the time series of glucose measurements 412. The model manager 902 may further be implemented to generate training time series of glucose measurements for specific time intervals. In one or more implementations, the model manager 902 generates training data including time series of glucose measurements for a 24-hour period corresponding to daytime periods.
[0105] For each training time series (e.g., corresponding to a 24-hour period), the model manager 902 may then identify a first portion of the training time series corresponding to a daytime interval and a second portion of the training time series corresponding to a nighttime interval. For each training data instance, the model manager 902 may then generate a classification label that defines the training data instance as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the nighttime interval. For example, a training data instance with a certain number of glucose values below a defined hypoglycemia threshold (e.g., four consecutive glucose values below 70 mg / dL) would be classified as hypoglycemia positive, and a training data instance without that number of glucose values below the defined hypoglycemia threshold would be classified as hypoglycemia positive. The classification label thus serves as ground truth for comparison with the model's output during training.
[0106] To demonstrate, consider again the example in which the machine learning model 408 receives a 24-hour time series of glucose measurements (e.g., a 24-hour glucose trace) and identifies the first 16 hours as corresponding to a daytime time interval and the remaining 8 hours as corresponding to a nighttime time interval. By way of example, a particular training time series may extend from 6:00:00 AM on April 15, 2020 to 6:00:00 AM on April 16, 2020. In this case, the model manager 902 may identify a 16-hour portion corresponding to a daytime time interval, such as from 6:00:00 AM on April 15, 2020 to 10:00:00 PM on April 16, 2020, and an 8-hour portion from 10:01:00 PM on April 15, 2020 to 6:00:00 AM on April 16, 2020. The model manager 902 may then generate, for each instance of the training data, a classification label that defines the instance of the training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the nighttime interval. Thus, once constructed, the machine learning model 408 is configured to generate hypoglycemic event predictions during the nighttime interval based on the glucose traces for the daytime interval.
[0107] The model manager 902 uses the segmented instances of the training data, along with their respective classification labels defining the training data as hypoglycemia positive or negative, to train the machine learning model 408. In a training context, the model manager 902 may train the machine learning model 408 by providing instances of data from a set of training data corresponding to daytime time intervals to the machine learning model 408. In response, the machine learning model 408 generates a hypoglycemic event prediction during the nighttime time interval, such as by predicting that a hypoglycemic event will or will not occur during the nighttime time interval. The model manager 902 obtains this training prediction from the machine learning model 408 as an output and compares the training prediction with the expected output portion corresponding to the classification label of the instance of the training data. Based on this comparison, the model manager 902 adjusts the internal weights of the machine learning model 408 so that the machine learning model can substantially reproduce the expected classification label (e.g., whether nocturnal hypoglycemia will occur) when glucose traces for the daytime time interval are provided as future inputs.
[0108] In one or more implementations, the model manager 902 trains the machine learning model 408 to predict classification labels based on a first portion of the training data corresponding to a daytime time interval. In this case, the machine learning model learns to predict classification labels based on glucose traces for the daytime time interval. Alternatively, the model manager 902 can train the machine learning model to first predict glucose measurements for a nighttime time interval based on a first portion of the training data corresponding to the daytime time interval, and then generate a hypoglycemic event prediction based on the predicted glucose measurements for the nighttime time interval. In other words, the hypoglycemic event prediction is based on whether there are a predetermined number of predicted glucose values for the nighttime time interval that are below a hypoglycemic threshold. In this example, the machine learning model can learn to predict future glucose measurements for the nighttime time interval in a staged implementation (e.g., LSTM) or to predict the entire nighttime time interval in a non-staged implementation (e.g., other types of neural networks).
[0109] This process of inputting instances of training data into the machine learning model 408, receiving training predictions from the machine learning model 408, comparing the training predictions (e.g., using a cost function) with the (observed) expected classification labels corresponding to the occurrence of hypoglycemic events during the input overnight time interval of the training data, and adjusting the internal weights of the machine learning model 408 based on these comparisons can be repeated over hundreds, thousands, or even millions of instances of training data, i.e., with each iteration.
[0110] The model manager 902 may perform such iterations until the machine learning model 408 is able to consistently generate predictions that substantially match the expected output portions. The ability of a machine learning model to consistently generate predictions that substantially match the expected output portions may be referred to as “convergence.” With this in mind, the model manager 902 may be said to train the machine learning model 408 until it “converges” to a solution, e.g., until the model's internal weights are suitably adjusted by the training iterations, such that the model generates predictions that substantially match the expected classification labels.
[0111] In the context of generating training data, consider FIG. 10 , which illustrates an implementation 1000 of training data generated by model manager 902 for training a machine learning model. Example 1000 includes exemplary instances of training data 1002 and 1004, each of which contains time-series glucose measurements of users in user population 110. In this example, the instances of training data 1002 and 1004 each include a sequence of glucose measurements 1006 over a 24-hour period corresponding to a day. For example, if glucose measurements are obtained every 5 minutes by a CGM system, the entire day of training data will include 288 estimated glucose values. In this example, the instances of training data 1002 and 1004 correspond to a 24-hour period from 6:00 AM on the first day to 6:00 AM the next day. Of course, the start and end times of the instances of training data may vary without departing from the spirit or scope of the described technology.
[0112] As discussed above, model manager 902 is configured to segment each instance of training data into daytime and nighttime intervals. For example, in FIG. 10 , instances of training data 1002 and 1004 are segmented into daytime time interval 1008, which includes glucose measurements 1006 from 6:00 AM to 10:00 PM, and nighttime time interval 1010, which includes glucose measurements 1006 from 10:01 PM to 6:00 AM the next day. Model manager 902 classifies each instance of training data based on the occurrence or lack thereof of hypoglycemia during the nighttime interval. For example, an instance of training data that includes four consecutive estimated glucose values below a hypoglycemia threshold 1012 (e.g., 70 mg / dl) may be classified as hypoglycemia positive, while training data that does not have four estimated glucose values below the hypoglycemia threshold 1012 may be classified as hypoglycemia negative. 10 , training data 1002 is assigned a “YES_HYPO” label 1014 by model manager 902, which classifies training data 1002 as hypoglycemia positive due to the occurrence of multiple glucose measurements 1006 below the hypoglycemia threshold 1012 during nighttime interval 1010. Similarly, training data 1004 is assigned a “NO_HYPO” label 1016 by model manager 902, which classifies training data 1004 as hypoglycemia negative due to the absence of four consecutive occurrences of glucose measurements 1006 below the hypoglycemia threshold 1012 during nighttime interval 1010. In one or more implementations, model manager 902 may be further configured to classify training data to indicate multiple hypoglycemia events for a given night if the hypoglycemia events are interrupted by at least one estimated glucose value above the hypoglycemia threshold. It should be understood that the criteria for classifying instances of training data as hypoglycemia positive or negative may vary without departing from the spirit or scope of the described technology.
[0113] In some cases, an instance of the training data may include a glucose value below the hypoglycemic threshold that begins during a daytime interval and continues during a nighttime interval. In such cases, the model manager 902 may be configured to exclude such instances of the training data from the training data used to train the machine learning model 408. Alternatively, the model manager 902 may include training data in which a hypoglycemic event begins during a daytime interval with the training data used to train the machine learning model 408 so that the machine learning model 408 learns this pattern.
[0114] As described above, the machine learning model 408 may be configured to receive additional data 404 as input in addition to the intervals of the time-series glucose measurements. In such implementations, the model manager 902 may form training instances that include the time series of glucose measurements, their respective classification labels, and additional data 404 describing any other aspects of the user population that are being used to predict future glucose measurements, such as application usage activity, acceleration data, insulin administration, carbohydrate consumption, exercise, and / or stress. This additional data 404, along with the time-series glucose measurements and classification labels, may be processed by the model manager 902 according to one or more known techniques to generate an input vector. This input vector describing the time-series glucose measurements and other aspects may then be provided to the machine learning model 408. In response, the machine learning model 408 may generate predictions of future glucose measurements in a manner similar to that discussed above, such that the predictions can be compared to the expected classification labels of the training instances and adjusted model weights based on the comparison.
[0115] In one or more implementations, the model manager 902 can detect that a user intervention may have occurred based on the additional data 404. For example, the model manager 902 may detect a screen view of a CGM application indicating that the user read an article describing how to mitigate a hypoglycemic event before going to bed. In this scenario, the user may have taken a subsequent action to mitigate the hypoglycemic event, such as drinking a glass of juice. However, this mitigation action may affect the user's glucose levels during the night, such as by preventing the hypoglycemic event. In this case, the instance of the training data is classified as a hypoglycemic-free night because of the intervention taken by the user. Accordingly, the model manager may take various approaches. In one or more implementations, the model manager 902 can filter out training data in which a user intervention likely occurred based on the additional data 404. To do so, the model manager can filter the training data based on the screen view or other user actions in the additional data. Alternatively, instances of the training data in which the user took a mitigation action may be included in the training data to enable the machine learning model 408 to learn patterns. Alternatively, the model manager may include additional data 404, such as nighttime screen views (or other application usage activity), as additional data used to train the machine learning model 408.
[0116] As also described above, managing the machine learning model 408 may include personalizing the machine learning model 408 using transfer learning. In such a scenario, the model manager 902 may initially train the machine learning model 408 at a global level, as described in detail above, using instances of training data generated from data of the user population 110. In a transfer learning scenario, the model manager 902 may then instantiate this globally trained model for a particular user, such that a copy of the globally trained model is generated for the person 102, and other copies of the globally trained model are generated for other users on a user-by-user basis.
[0117] This globally trained model may then be updated (or further trained) using data specific to person 102. For example, model manager 802 may create an instance of training data using glucose measurements 118 of person 102 and further train the globally trained version of the model in a manner similar to that described above, e.g., by providing training data input portions of person 102 to machine learning model 408, receiving training predictions of future glucose measurements, comparing those predictions with respective output portions of the training data, and adjusting internal weights of machine learning model 408. Based on this further training, machine learning model 408 is trained at an individual level, creating a personally trained machine learning model 408.
[0118] 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 a 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 902 may create a copy of the globally trained machine learning model 408 for each segment and train the global version at the segment level to create the segment-specific machine learning model 408.
[0119] In one or more implementations, the model manager 902 may personalize the machine learning model 408 at a server level, e.g., at a server of the CGM 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 CGM platform 112 on the computing device 108. Alternatively, or additionally, at least a portion of the model manager 902 may be implemented on the computing device 108 such that a globally trained version of the machine learning model 408 is run on 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 leveraged 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 408.
[0120] In one or more implementations, the hypoglycemic event prediction system 310 is further configured to identify recurring patterns of nocturnal hypoglycemia for the user based on glucose measurements 118 obtained for the user during an overnight time interval from a CGM system worn by the user. In these examples, the hypoglycemic event prediction system 310 can notify the user of the identified pattern of nocturnal hypoglycemia. In some cases, the user can be notified if the detected nocturnal hypoglycemia is below a particular glucose threshold, e.g., 54 mg / dL, corresponding to “severe” hypoglycemia. In these scenarios, the user can be asked whether they want to receive nocturnal hypoglycemia predictions and alerts generated by the hypoglycemic event prediction system 310, as described throughout.
[0121] As part of this, the hypoglycemic event prediction system 310 may also allow the user to specify the glucose levels at which they would like to receive notifications or alerts. For example, some users may want to receive a prediction and alert when their overnight glucose value is predicted to fall below 54 mg / dL, while other users may prefer to receive a prediction and alert when their overnight glucose value is predicted to fall below 70 mg / dL. As another example, some users (e.g., users with long-term Type 1 diabetes) may want to receive an alert when their overnight glucose value is predicted to fall below a higher threshold, such as 80 mg / dL.
[0122] The hypoglycemic event prediction system 310 may be further configured to detect that the user is no longer experiencing nocturnal hypoglycemia based on the glucose measurements 118 obtained during the overnight time interval. In this case, the hypoglycemic event prediction system 310 may ask the user whether they wish to disable nocturnal hypoglycemia predictions and warnings. In this way, the hypoglycemic event prediction system 310 may enable better sleep with fewer low glucose warnings, which may also increase the likelihood of the user waking up within range.
[0123] Having discussed exemplary details of a technique for hypoglycemic event prediction using machine learning, some exemplary procedures illustrating additional aspects of the technique will now be considered.
[0124] Exemplary Procedure This section describes an example procedure for hypoglycemic event prediction using machine learning. 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 hypoglycemic event prediction system 310, which utilizes sequencing manager 406, machine learning model 408, and model manager 902.
[0125] FIG. 11 depicts a procedure 1100 of an example embodiment in which a machine learning model predicts whether a hypoglycemic event will occur during an overnight time interval.
[0126] A time series of glucose measurements for daytime time intervals is received (block 1102). In accordance with the principles discussed herein, the glucose measurements are provided by a continuous glucose monitoring (CGM) system worn by a user. By way of example, the machine learning model 408 receives the time series of glucose measurements 412 for daytime time intervals, the glucose measurements being provided by a CGM system 104 worn by the person 102. In particular, the CGM system 104 includes a sensor 202 that is inserted subcutaneously into the skin of the person 102 and used to measure glucose in the blood of the person 102.
[0127] The time series of glucose measurements is processed using a machine learning model to predict whether a hypoglycemic event will occur during an overnight time interval following a daytime time interval (block 1104). In accordance with the principles discussed herein, the machine learning model is generated based on a historical time series of glucose measurements for a user population. As an example, the machine learning model 408 processes the time series of glucose measurements 412 to generate a hypoglycemic event prediction 312. Generally, the hypoglycemic event prediction 312 output by the machine learning model 408 predicts whether a hypoglycemic event will occur for a user during, for example, an overnight time interval following a daytime time interval of the time series glucose measurements 412. Continuing with the above example, if the time series glucose measurements correspond to a daytime time interval from 6:00 AM in the morning to 10:00 PM in the evening, then the machine learning model 408 can generate a hypoglycemic event prediction 312 for an overnight time interval following a daytime interview, for example, from 10:00 PM that night to 6:00 AM the next morning. As described throughout, the machine learning model 408 may also obtain additional data 404 and generate predictions based at least in part on the additional data 404.
[0128] The hypoglycemic event prediction is output (block 1106). In accordance with the principles discussed herein, the hypoglycemic event prediction 312 includes a positive result 414 if the machine learning model 408 predicts that a hypoglycemic event will occur during the overnight time interval, and a negative result 416 if the machine learning model 408 predicts that a hypoglycemic event will not occur during the overnight time interval. By way of example, the hypoglycemic event prediction system 310 outputs the hypoglycemic event prediction 312 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.
[0129] A notification is generated based on the hypoglycemic event prediction (block 1108). By way of example, the data analytics platform 122 generates a notification 314 based on the hypoglycemic event prediction 312. The notification 314 may include an alert 704 informing the person 102 of the likelihood that the person will experience a hypoglycemic event during the upcoming night. For example, the alert may indicate that the user is predicted to experience a hypoglycemic event during the upcoming night if the hypoglycemic event prediction 312 corresponds to a positive result 414. In contrast, the alert may indicate that the user is not predicted to experience a hypoglycemic event during the upcoming night if the hypoglycemic event prediction 312 corresponds to a negative result 416.
[0130] The notification 314 may also include one or more recommendations 706. For example, if the machine learning model 408 predicts that the person 102 is likely to experience hypoglycemia during the night, then the notification manager 702 may output one or more recommendations 706 for mitigating hypoglycemia, such as drinking a glass of juice before going to sleep, eating a piece of fruit before going to sleep, setting an alarm to wake up at a specific time and drink juice or eat fruit. On the other hand, if the machine learning model 408 predicts that the user is unlikely to experience hypoglycemia over a predetermined period of time in the future, the notification manager 702 may output a notification indicating that this is the case and / or that no mitigating action needs to be taken.
[0131] In one or more implementations, the notification 314 may also include a visual representation of the confidence score 418 to inform the user of the accuracy of the prediction. For example, if the machine learning model 408 predicts with 90% confidence that a hypoglycemic event will occur during the night, then the notification 314 may visually indicate this confidence level to the user as part of the warning 704. Alternatively, if the machine learning model 408 predicts with 90% confidence that the user will not experience a hypoglycemic episode during the night, the notification 314 may visually indicate this confidence level to the user as part of the warning 704.
[0132] 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, e.g., for output via an application on the CGM 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 telehealth service (not shown), e.g., for output via a provider portal.
[0133] FIG. 12 depicts a procedure 1200 of an example implementation in which a machine learning model is trained to predict hypoglycemic events based on historical time series glucose measurements of a user population.
[0134] A time series of glucose measurements for a user population is received (block 1202). In accordance with the principles discussed herein, the glucose measurements are provided by CGM systems worn by users of the user population. By way of example, the sequencing manager 406 obtains the glucose measurements 118 of users of the user population 110 and their timestamps 402, and forms a time series of the 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 sequencing manager 406 may also interpolate missing measurements, such as missing measurements due to data corruption or communication errors.
[0135] Instances of training data are generated by selecting time series glucose measurements for a predefined period and, for each time series, identifying a first portion corresponding to a daytime time interval and a second portion corresponding to a nighttime time interval (block 1204). In accordance with the principles discussed herein, the predetermined period may correspond to a 24-hour period, such that the daytime time interval corresponds to the daytime portion of the time (e.g., from 6:00 AM to 10:00 PM) and the nighttime time interval corresponds to the nighttime portion of the time (e.g., from 10:00 PM to 6:00 AM the next morning). By way of example, model manager 902 generates instances of training data by selecting time series glucose measurements for a 24-hour period corresponding to a day and then identifying a first portion of the training time series corresponding to the daytime time interval and a second portion of the training time series corresponding to the nighttime time interval.
[0136] A classification label is generated for each instance of the training data (block 1206). In accordance with the principles discussed herein, each classification label defines a respective instance of the training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the overnight time intervals. For example, the model manager 902 generates a classification label for each instance of the training data that defines the instance of the training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the overnight time intervals. For example, a training data instance having a certain number of glucose values below a defined hypoglycemia threshold (e.g., four consecutive glucose values below 70 mg / dL) is classified as hypoglycemia positive, and a training data instance without the above number of glucose values below the defined hypoglycemia threshold is classified as hypoglycemia positive. Thus, the classification label serves as ground truth for comparison with the model's output during training.
[0137] Here, blocks 1208-1214 may be repeated until the machine learning model has been suitably trained to "converge" to a solution, e.g., until the model's internal weights have been suitably adjusted through training iterations, such that the model produces predictions that substantially match expected classification labels, etc. Alternatively, or additionally, blocks 1208-1214 may be repeated for several instances (e.g., all instances) of the training data.
[0138] The instances of training data and their respective classification labels are provided as inputs to the machine learning model (block 1208). By way of example, the model manager 902 provides the instances of training data generated in block 1204 and their respective classification labels generated in block 1206 as inputs to the machine learning model 408.
[0139] A hypoglycemic event prediction during the nighttime interval is received as output from the machine learning model (block 1210). By way of example, the machine learning model 408 generates the hypoglycemic event prediction during the nighttime interval, such as by predicting that a hypoglycemic event will or will not occur during the nighttime interval.
[0140] The hypoglycemic event prediction is compared to the classification label of each of the instances in the training data (block 1212). By way of example, the model manager compares the hypoglycemic event prediction generated in block 1210 to the classification label of each of the training instances generated in block 1206 by using a loss function such as mean squared error (MSE). It should be understood that the model manager 902 may use other loss functions during training to compare the predictions of the machine learning model 408 to the expected output without departing from the spirit or scope of the described techniques.
[0141] Based on the comparison, the weights of the machine learning model are adjusted (block 1214). By way of example, the model manager 902 may adjust the internal weights of the machine learning model 408 based on the comparison such that the machine learning model substantially reproduces the expected classification label (e.g., whether nocturnal hypoglycemia occurs) when glucose traces for daytime time intervals are provided as future inputs.
[0142] 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.
[0143] Exemplary Systems and Devices 13 illustrates an example system, generally 1300, that includes an example computing device 1302 embodying one or more computing systems and / or devices that may implement various techniques described herein. This is shown through the inclusion of a CGM platform 112. The computing device 1302 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 system.
[0144] The illustrated exemplary computing device 1302 includes a processing system 1304, one or more computer-readable media 1306, and one or more I / O interfaces 1308 communicatively coupled to each other. Although not shown, the computing device 1302 may further include a system bus or other data and command transfer system coupling 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.
[0145] The processing system 1304 embodies functionality for performing one or more operations using hardware. Accordingly, the processing system 1304 is illustrated as including hardware elements 1310, which may be configured as a processor, functional block, etc. This may include hardware implementations as application-specific integrated circuits or other logic devices formed using one or more semiconductors. The hardware elements 1310 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., electronic integrated circuits (ICs)). In this context, processor-executable instructions may be electronically executable instructions.
[0146] Computer-readable medium 1306 is shown as including memory / storage 1312. Memory / storage 1312 represents memory / storage capacity associated with one or more computer-readable media. Memory / storage component 1312 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.). Memory / storage component 1312 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.). Computer-readable medium 1306 may be configured in a variety of other ways, as described further below.
[0147] Input / output interface 1308 embodies functionality that allows a user to input commands and information into computing device 1302 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 1302 may be configured in a variety of ways, described further below, to support user interaction.
[0148] 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.
[0149] 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 1302. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
[0150] 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.
[0151] A "computer-readable signal medium" may refer to a signal-bearing medium configured to transmit instructions to the hardware of the computing device 1302, 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.
[0152] As previously mentioned, the hardware elements 1310 and the computer-readable medium 1306 embody 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 techniques described herein, such as to execute one or more instructions. The 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, the 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 medium described above.
[0153] 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 1310. The computing device 1302 may be configured to implement specific instructions and / or functionality corresponding to the software and / or hardware modules. Thus, implementation aspects of modules executable by the computing device 1302 as software may be achieved at least partially in hardware, for example, through the use of computer-readable storage media and / or hardware elements 1310 of the processing system 1304. The instructions and / or functionality may be executable / operable by one or more articles of manufacture (e.g., one or more computing devices 1302 and / or processing system 1304) to implement the techniques, modules, and examples described herein.
[0154] The techniques described herein may be supported by various configurations of computing device 1302 and are not limited to the specific examples of the techniques described herein. This functionality may also be implemented in whole or in part through the use of a distributed system, such as via a "cloud" 1314 via platform 1316, as described below.
[0155] Cloud 1314 includes and / or embodies a platform 1316 for resources 1318. Platform 1316 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of cloud 1314. Resources 1318 may include applications and / or data available while computer processing is running on a server remote from computing device 1302. Resources 1318 may also include services provided over the Internet and / or through a subscriber network, such as a cellular or Wi-Fi network.
[0156] Platform 1316 may abstract resources and functionality for connecting computing device 1302 with other computing devices. Platform 1316 may also function to abstract resource scaling to provide a level of scale corresponding to the encountered demand of resources 1318 implemented via platform 1316. Thus, in embodiments of interconnected devices, implementation aspects of the functionality described herein may be distributed throughout system 1300. For example, functionality may be implemented partially on computing device 1302 as well as via platform 1316, which abstracts the functionality of cloud 1314.
[0157] 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 specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed subject matter. [Explanation of symbols]
[0158] 100 Environment 102 people 104 System 106 Insulin Delivery System 108 Computing Devices 110 User Population 112 Platform 114 Internet of Things 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 Mounting mechanism 214 Device Data 218 Sensor Status 302 packages 304 Supplementary Data 306 Third Party 308 Third Party Data 310 Hypoglycemic Event Prediction System 312 Hypoglycemic Event Prediction 314 Notification 402 Timestamp 404 Additional Data 406 Sequencing Manager 408 Machine Learning Models 412 time series glucose measurements 414 Positive result 416 Negative result 418 Trust Score 502 time series glucose measurements 504 Glucose Levels 506 Hypoglycemic threshold 602 time series glucose measurements 604 Glucose Levels 606 Hypoglycemic threshold 610 Glucose Prediction Model 612 Classification Model 614 predicted glucose readings 616 Glucose Levels 702 Notification Manager 704 Warning 706 Recommended 708 Adjusted Settings 810 User Interface 902 Model Manager 1002 training data 1004 training data 1006 Glucose readings 1008 Daytime Intervals 1010 Night Time Interval 1012 Hypoglycemic threshold 1300 System 1302 Computing Devices 1304 Processing Systems 1306 Computer-readable medium 1308 Interface 1310 Hardware Elements 1312 Storage 1314 Cloud 1316 Platform 1318 resources
Claims
1. 1. A computer-implemented method comprising: receiving a time series of glucose measurements for intraday time intervals, the glucose measurements being provided by a continuous glucose monitoring (CGM) system worn by a user; predicting whether a hypoglycemic event will occur during an overnight time interval following the daytime time interval by processing the time series of glucose measurements using a machine learning model, wherein the machine learning model is generated based on a historical time series of glucose measurements of a user population; outputting a hypoglycemic event prediction, the hypoglycemic event prediction comprising a positive result if the machine learning model predicts that the hypoglycemic event will occur during the overnight time interval, or a negative result if the machine learning model predicts that the hypoglycemic event will not occur during the overnight time interval; adjusting a glucose alert setting of the CGM system during the overnight time interval in response to predicting that the hypoglycemic event is not predicted to occur during the overnight time interval; adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the overnight time interval. method.
2. 2. The method of claim 1, further comprising obtaining additional data associated with the user, wherein predicting further comprises predicting whether the hypoglycemic event will occur during the nighttime interval by processing the time series of glucose measurements and the additional data using the machine learning model, wherein the machine learning model is generated based on a historical time series of glucose measurements and historical additional data for the user population.
3. The method of claim 2 , wherein the additional data includes application usage data corresponding to user interactions with CGM applications associated with the CGM system.
4. The method of claim 2 or 3, wherein the additional data is temporally correlated with the time series of glucose measurements.
5. 5. The method of claim 1, further comprising generating a notification based on the hypoglycemic event prediction and communicating the notification over a network to one or more computing devices for output.
6. The method of claim 5 , wherein the notification includes a recommendation for mitigating hypoglycemia during the nighttime interval when the hypoglycemic event is predicted to occur during the nighttime interval.
7. receiving an additional time series of glucose measurements, the additional time series of glucose measurements provided by the CGM system worn by the user during a subsequent time period occurring after outputting the hypoglycemic event prediction; At a subsequent time, using the machine learning model to predict whether the hypoglycemic event will occur during the nighttime interval that follows the daytime interval by processing additional time series of the glucose measurements; and 7. The method of claim 1, further comprising: outputting an updated hypoglycemic event prediction, the updated hypoglycemic event prediction including the positive result if the machine learning model predicts that the hypoglycemic event will occur during the nighttime interval, and the negative result if the machine learning model predicts that the hypoglycemic event will not occur during the nighttime interval.
8. 8. The method of claim 7, wherein the hypoglycemic event prediction includes the negative result, and the updated hypoglycemic event prediction also includes the negative result, thereby confirming the hypoglycemic event prediction.
9. 9. The method of claim 7 or 8, wherein the hypoglycemic event prediction includes the positive outcome and the updated hypoglycemic event prediction includes the negative outcome.
10. 10. The method of claim 9, wherein a positive result of the hypoglycemic event prediction is output along with recommended actions for the user to mitigate hypoglycemia during the nighttime interval, and wherein the negative result of the updated hypoglycemic event prediction confirms that the recommended actions were taken by the user and were sufficient to prevent hypoglycemia during the nighttime interval.
11. receiving additional time series of glucose measurements, the additional time series of glucose measurements provided by the CGM system worn by the user during time windows occurring during the nighttime interval; using the machine learning model to predict the occurrence of the hypoglycemic event at a subsequent time during the overnight time interval by processing the additional time series of glucose measurements; 10. The method of claim 1, further comprising generating a warning for output by one or more computing devices based on the prediction that the hypoglycemic event will occur at the subsequent time during the nighttime interval.
12. The method of claim 11 , wherein the time window occurs near the beginning during the nighttime interval.
13. The method of any one of claims 1 to 12, wherein the historical time series of glucose measurements comprises measurements provided by CGM systems worn by users of the user population.
14. receiving historical time-series glucose measurements of the user population, the historical time-series glucose measurements being provided by continuous glucose monitoring (CGM) systems worn by users of the user population; generating instances of training data by selecting time series glucose measurements for a predefined period and identifying, for each time series, a first portion corresponding to a training daytime time interval and a second portion corresponding to a training nighttime time interval; generating a classification label for each instance of training data, the classification label defining the instance of training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the overnight time interval; 14. The method of claim 1, further comprising: generating the machine learning model by training the model using the training data instances and the corresponding classification labels to predict hypoglycemic events.
15. training the machine learning model, providing the training data instances and the respective classification labels to the machine learning model; receiving, for each instance of training data, a hypoglycemic event prediction for an overnight time interval from the machine learning model; comparing the hypoglycemic event predictions to the classification labels of instances of the training data; The method of claim 14 , further comprising: adjusting weights of the machine learning model based on the comparison.
16. The method of any one of claims 1 to 15, wherein the machine learning model comprises a neural network.
17. 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 for intraday time intervals, the glucose measurements being provided by a continuous glucose monitoring (CGM) system worn by a user; predicting whether a hypoglycemic event will occur during a nighttime interval following the daytime interval by processing a time series of glucose measurements using a machine learning model, wherein the machine learning model is generated based on a historical time series of glucose measurements of a user population; outputting a hypoglycemic event prediction, the hypoglycemic event prediction comprising a positive result if the machine learning model predicts that the hypoglycemic event will occur during the overnight time interval, or a negative result if the machine learning model predicts that the hypoglycemic event will not occur during the overnight time interval; adjusting a glucose alert setting of the CGM system during the overnight time interval in response to predicting that the hypoglycemic event is not predicted to occur during the overnight time interval; One or more computer-readable storage media, wherein adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the nighttime interval.
18. 20. The one or more computer-readable storage media of claim 17, wherein the operations further include obtaining additional data associated with the user, and wherein predicting further includes predicting whether the hypoglycemic event will occur during the nighttime interval by processing the time series of glucose measurements and the additional data using the machine learning model, the machine learning model being generated based on a historical time series of glucose measurements and historical additional data for the user population.
19. 20. The one or more computer-readable storage media of claim 18, wherein the additional data includes application usage data corresponding to user interactions with CGM applications associated with the CGM system.
20. 20. The one or more computer-readable storage media of claim 18 or 19, wherein the additional data is temporally correlated with the time series of glucose measurements.
21. 21. The one or more computer-readable storage media of any one of claims 17-20, wherein the operations further include generating a notification based on the hypoglycemic event prediction and communicating the notification over a network to one or more computing devices for output.
22. 22. The one or more computer-readable storage media of claim 21, wherein the notification includes a recommendation for mitigating hypoglycemia during the nighttime interval when the hypoglycemic event is predicted to occur during the nighttime interval.
23. 1. A system comprising: a machine learning model for predicting whether a hypoglycemic event will occur during a nighttime interval following a daytime time interval based at least in part on a time series of glucose measurements for the daytime time interval obtained from a continuous glucose monitoring (CGM) system worn by a user, and outputting a hypoglycemic event prediction, the hypoglycemic event prediction comprising a positive result if the machine learning model predicts that the hypoglycemic event will occur during the nighttime time interval, or a negative result if the machine learning model predicts that the hypoglycemic event will not occur during the nighttime time interval; a notification manager for generating a notification based on the hypoglycemic event prediction and initiating communication of the notification over a network to one or more computing devices for output, the notification including a recommendation for mitigating hypoglycemia during the nighttime interval when the hypoglycemic event is predicted to occur during the nighttime interval; and adjusting a glucose alert setting of the CGM system during the nighttime interval in response to predicting that the hypoglycemic event is not predicted to occur during the nighttime interval; The system, wherein adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the overnight time interval.
24. 1. A computer-implemented method comprising: generating instances of training data by selecting time series glucose measurements of a user population for a predefined time period and identifying, for each time series, a first portion corresponding to a daytime time interval and a second portion corresponding to a nighttime time interval; generating a classification label for each instance of training data, the classification label defining the instance of training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the overnight time interval; training a machine learning model using the generated training data instances and the classification labels to predict hypoglycemic events during the overnight time interval; adjusting a glucose alert setting of a continuous glucose monitoring (CGM) system worn by the user during the overnight time interval in response to predicting that the hypoglycemic event is not predicted to occur during the overnight time interval; The method, wherein adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the overnight time interval.
25. training the machine learning model to predict the hypoglycemic events during the overnight time interval; providing the training data instances and the respective classification labels to the machine learning model; receiving, for each instance of training data, a hypoglycemic event prediction for an overnight time interval from the machine learning model; comparing the hypoglycemic event predictions to the classification labels of instances of the training data; 25. The method of claim 24, further comprising adjusting weights of the machine learning model based on the comparison.
26. 26. The method of claim 24 or 25, further comprising classifying each instance of training data as hypoglycemia positive if there is a predefined number of glucose values during the nighttime interval that are below a hypoglycemia threshold.
27. 27. The method of claim 26, further comprising classifying each instance of training data as hypoglycemia negative if there are not the predefined number of glucose values during the nighttime interval that are below the hypoglycemia threshold.
28. receiving as input a time series of glucose measurements for intraday time intervals; generating a predicted time series of glucose measurements for a corresponding nighttime interval based on said input; 28. The method of claim 24, further comprising predicting the hypoglycemic events using the trained machine learning model by: generating a hypoglycemic event prediction based on the predicted time series measurements for the night-time interval.
29. The method according to any one of claims 24 to 28, wherein said predefined period corresponds to a period of 24 hours.
30. 30. The method of any one of claims 24 to 29, wherein the machine learning model comprises a neural network.
31. The method of any one of claims 24 to 30, wherein the time series glucose measurements are obtained from wearable glucose monitoring systems worn by users of the user population.
32. 32. The method of claim 31, wherein the wearable glucose monitoring system comprises a plurality of continuous glucose monitoring (CGM) systems worn by users of the user population.
33. 1. A system comprising: a storage device for maintaining the glucose measurements and additional data associated with the user; a machine learning model for predicting whether a hypoglycemic event will occur during a nighttime interval following a daytime interval, and for adjusting a glucose alert setting of a continuous glucose monitoring (CGM) system worn by the user during the nighttime interval in response to predicting that the hypoglycemic event is not predicted to occur during the nighttime interval, wherein the prediction is generated by a neural network in response to receiving as input a time series of the glucose measurements corresponding to the daytime time interval, the neural network being trained based on historical time series of glucose measurements of a user population and historical additional data; The system, wherein adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the overnight time interval.
34. 34. The system of claim 33, wherein the machine learning model comprises a neural network.
35. 35. The system of claim 34, further comprising a model manager configured to train the neural network using the historical time series of glucose measurements.
36. 36. The system of claim 35, wherein the model manager is further configured to train the neural network using the historical additional data of the user population.
37. The system of any one of claims 33 to 36, wherein the storage device is further configured to maintain a historical time series of the glucose measurements and additional historical data for the user population.
38. The system of any one of claims 33 to 37, wherein the glucose measurements are obtained from a wearable glucose monitoring device worn by the user.
39. 40. The system of claim 38, wherein the wearable glucose monitoring device comprises a continuous glucose monitoring (CGM) system worn by the user.
40. 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: generating instances of training data by selecting time series glucose measurements of a user population for a predefined time period and, for each time series, identifying a first portion corresponding to a daytime time interval and a second portion corresponding to a time interval during a nighttime time interval; generating a classification label for each instance of training data, the classification label defining the instance of training data as hypoglycemia positive or hypoglycemia negative based on the time-series glucose measurements for the overnight time interval; training a machine learning model to predict hypoglycemic events during the overnight time interval using the generated training data instances and the classification labels; adjusting a glucose alert setting of a continuous glucose monitoring (CGM) system worn by the user during the overnight time interval in response to predicting that the hypoglycemic event is not predicted to occur during the overnight time interval; One or more computer-readable storage media, wherein adjusting the glucose alert setting includes increasing a threshold for a low glucose alert during the nighttime interval.
41. training the machine learning model to predict the hypoglycemic event; providing the training data instances and the respective classification labels to the machine learning model; receiving, for each instance of training data, a hypoglycemic event prediction for an overnight time interval from the machine learning model; comparing the hypoglycemic event predictions to the classification labels of instances of the training data; 41. The one or more computer-readable storage media of claim 40, further comprising: adjusting weights of the machine learning model based on the comparison.
42. 42. The one or more computer-readable storage media of claim 40 or 41, wherein the operations further include classifying each instance of training data as hypoglycemia positive if there is a predefined number of glucose values during the nighttime interval that are below a hypoglycemia threshold.
43. 43. The one or more computer-readable storage media of claim 42, wherein the operations further include classifying each instance of training data as hypoglycemia negative if there are not the predefined number of glucose values during the nighttime interval that are below the hypoglycemia threshold.
44. The operation is receiving as input a time series of glucose measurements for intraday time intervals; generating a predicted time series of glucose measurements for a corresponding nighttime interval based on said input; 44. The one or more computer-readable storage media of claim 40, further comprising: predicting the hypoglycemic events using the trained machine learning model by: and generating a hypoglycemic event prediction based on the predicted time series measurements for the night-time interval.
45. 45. The one or more computer-readable storage media of any one of claims 40 to 44, wherein the predefined period corresponds to a 24 hour period.
46. 46. The one or more computer-readable storage media of any one of claims 40 to 45, wherein the machine learning model comprises a neural network.
47. 47. The one or more computer-readable storage media of any one of claims 40-46, wherein the time series glucose measurements are obtained from wearable glucose monitoring systems worn by users of the user population.
48. 48. The one or more computer-readable storage media of claim 47, wherein the wearable glucose monitoring system comprises a plurality of continuous glucose monitoring (CGM) systems worn by users of the user population.
Citation Information
Patent Citations
System and method for decision support
US20190252079A1
Systems for biomonitoring and blood glucose forecasting, and associated methods
US20200375549A1