Multi-state engagement with continuous glucose monitoring systems
The multistate engagement system addresses the challenge of predicting user engagement and preventing discontinuation of CGM systems by processing CGM data and additional user data with machine learning models, achieving effective interventions and improved glucose management.
Patent Information
- Application Number
- JP2024228981
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-12-16
- Filing Date
- 2024-12-25
- Publication Date
- 2025-04-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing continuous glucose monitoring (CGM) systems face challenges in reliably identifying patterns from vast amounts of data, including blood glucose measurements and additional user data, to accurately predict user engagement and prevent discontinuation of CGM system use.
A multistate engagement system that processes CGM data and additional user data using unsupervised, supervised, and reinforcement learning models to generate user state information, predicting transitions in user engagement and generating intervention strategies to prevent discontinuation.
The system effectively predicts user engagement patterns and transitions, enabling timely interventions to maintain CGM system usage, thereby improving blood glucose management and treatment outcomes.
Smart Images

Figure 2025063079000001_ABST
Abstract
Description
[Technical field]
[0001] (INCORPORATION BY REFERENCE OF RELATED APPLICATIONS) This application claims the benefit of U.S. Provisional Patent Application No. 62 / 948,724, entitled "Recommendations Based on Continuous Glucose Monitoring," filed December 16, 2019. The aforementioned 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 caused by diabetes to the heart, blood vessels, eyes, kidneys, and nerves can be largely avoided. Proper treatment for people with type 1 diabetes often involves monitoring blood glucose levels throughout the day and regulating them with a combination of insulin, diet, and exercise to ensure that levels remain within the desired range.
[0003] One of the challenges in developing treatment plans for people with diabetes is that different people with diabetes may be affected differently by various factors, such as the foods they eat and stress. For example, there may be a large variability in how different people's blood glucose levels are affected when they eat the same meal. Stress may also affect people differently by raising hormone levels differently, which affect blood glucose control. Thus, a treatment plan that works for one person with diabetes may not work for another. Therefore, medical professionals and people with diabetes may perform iterations of treatment plans, adjusting various aspects of those plans as responses to treatment are observed. Thus, blood glucose regulation often involves some degree of customization. However, one thing common to treatment plans is monitoring blood glucose levels. Advances in medical technology have led to the development of various systems for monitoring blood glucose levels.
[0004] Some of these systems include an assembly for pricking a part of a person's body (e.g., often a person's finger) to draw blood, and a sensor for detecting analytes in the drawn blood that are indicative of blood glucose levels. Other systems use sensors to detect analytes indicative of blood glucose levels in substantially real time and generate measurements of those blood glucose levels over a period of time, which is referred to as continuous blood glucose monitoring (CGM). Both types of systems are configured to output (e.g., display) these measurements so that a user and a medical professional can determine how to best regulate the user's blood glucose levels. The vast amount of blood glucose measurements generated and output by CGM systems shows the user how their blood glucose levels are trending, allowing the user to make better-informed decisions regarding treatment. Summary of the Invention
[0005] Multi-state engagement with continuous glucose monitoring (CGM) is described herein. Given that many people wear CGM systems, and because CGM systems generate measurements continuously, a CGM platform that provides a CGM system with sensors to detect blood glucose levels and maintains data describing the detection of those blood glucose levels may have a vast amount of data, e.g., tens of millions of patient-days of measurements. However, this amount of data is practically, if not practically, impossible for a human to process and reliably identify patterns related to not only the data package containing the blood glucose measurements, but also the wealth of additional data that may be related to the package to accurately predict the state of engagement with the CGM system, e.g., whether a user will discontinue use of the CGM system.
[0006] In one or more implementations, the CGM platform includes a data analytics platform that obtains a package of blood glucose measurements provided by a CGM system worn by a user. The data analytics platform also obtains additional data associated with the user. However, the data analytics platform obtains the additional data from one or more sources different from the CGM system, such as a user profile that maintains the user's purchase history describing purchases of a CGM system or components thereof (such as a sensor application assembly), purchases of services from the CGM platform, purchases of medicines, etc. The additional data may also include physiological data, socioeconomic data, attitudinal data, behavioral data, and complaint data in addition to the blood glucose measurements, just to name a few.
[0007] The data analytics platform processes these CGM packages and additional data at least in part using one or more models, such as unsupervised learning models, supervised learning models, reinforcement learning models, etc., to generate state information for the user. This state information may indicate a current state of the user's engagement with the CGM system and CGM platform or may predict a transition to a different new state. The data analytics platform generates these models based on past CGM packages and past additional data for a user population, e.g., a plurality of users who are or have been wearing a CGM system. Based on this state information, the data analytics platform controls communication with the user, which may include generating an intervention strategy to prevent the user from transitioning to a worse state, such as ceasing use of the CGM system.
[0008] 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.
[0009] The detailed description is given with reference to the accompanying drawings. [Brief description of the drawings]
[0010] [Figure 1] 1 illustrates an environment in an example implementation operable to employ the techniques described herein. [Diagram 2] 2 illustrates the example continuous glucose monitoring (CGM) system of FIG. 1 in more detail. [Diagram 3] 1 depicts an example implementation in which CGM device data, including blood glucose measurements, are routed to different systems to enable the provision of CGM-related services. [Figure 4] 4 depicts an exemplary implementation of the data analytics platform of FIG. 3 in more detail. [Diagram 5]An example implementation is depicted in which at least one of the predictions or recommendations generated by the data analytics platform is routed to at least one of a validation service or a decision support platform. [Figure 6] 4 depicts an example implementation of the multi-state engagement system of FIG. 3 in more detail. [Figure 7] 1 depicts an example state space of different engagement states with a CGM system. [Figure 8] 1 depicts an example implementation in which information regarding the state of engagement with a CGM system is routed to an intervention platform. [Figure 9] 1 illustrates an example implementation of a CGM platform user interface that is displayed on a computing device coupled to a CGM system. [Figure 10] 1 depicts an example implementation of a user interface that outputs updated predictions and updated suggestions. [Figure 11] 1 depicts another example implementation of a user interface that outputs predictions and suggestions to assist in diabetes treatment decision-making. [Figure 12] 1 depicts an example implementation of a user interface that outputs information about health trends. [Figure 13] 1 depicts an example implementation of a user interface of a validation service with which authorized users can interact to validate suggestions generated by the CGM platform. [Figure 14] 1 depicts an example implementation of a user interface that outputs information about faults and system configuration issues detected in connection with use of the CGM platform. [Figure 15] 1 depicts an example implementation of a multi-step engagement system that generates state information including the probability of transitioning from a current state to a new state and predicted drivers of the transition. [Figure 16] 1 depicts an example implementation of a user interface for receiving a diabetes-related search query. [Figure 17] 1 illustrates a procedure in an exemplary implementation in which predictions and suggestions are generated based on both a user's blood glucose measurements and additional data. [Figure 18] 1 depicts a procedure in an exemplary implementation in which a suggestion to use a particular application is communicated to one or more devices of similar users. [Figure 19] 1 illustrates a procedure in an exemplary implementation in which state information is generated to control communications with a user. [Figure 20] 1 illustrates a procedure in an exemplary implementation in which an intervention strategy is generated to prevent a user from transitioning to a bad state. [Figure 21] 1 illustrates a procedure in an exemplary implementation in which output of health-related digital content is controlled based on status information determined from health-related online activity. [Figure 22] An exemplary system is shown including various components of an exemplary device that may be implemented as any type of computing device as described and / or utilized with reference to FIGS. 1-21 to implement implementations of the techniques described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] overview Multi-state engagement with continuous glucose monitoring (CGM) is described herein. Given that many people wear CGM systems, and because CGM systems generate measurements continuously, a CGM platform that provides a CGM system with sensors to detect blood glucose levels and maintains data describing the detection of those blood glucose levels may have a vast amount of data, e.g., tens of millions of patient-days of measurements. However, this amount of data is practically, if not practically, impossible for a human to process and reliably identify patterns related to not only the data package containing the blood glucose measurements, but also the wealth of additional data that may be related to the package to accurately predict the state of engagement with the CGM system, e.g., whether a user will discontinue use of the CGM system.
[0012] To overcome these problems, multi-state engagement with the CGM system is leveraged. In one or more implementations, the CGM platform obtains blood glucose measurements from various CGM systems and computing devices of users in a user population. With the described technology, the CGM system is configured to continuously monitor the blood glucose of a person. The CGM system may be configured with a CGM sensor, for example, that is inserted subcutaneously into the skin of the person and detects analytes indicative of the person's blood glucose. The CGM system may continuously generate blood glucose measurements based on the detected analytes. As used herein, the term "continuously" means nearly continuously, where continuous blood glucose monitoring is a time interval supported by the resources of the CGM system (e.g., battery life, processing power, communication capabilities, etc.) such that measurements are generated without the need for manual user interaction, such as pricking a finger. By continuously monitoring blood glucose levels, the CGM system not only allows the user to make more informed decisions regarding the user's treatment, but also continues to monitor blood glucose levels while allowing the user to participate in activities where manual finger pricking may be dangerous, such as driving a car.
[0013] The CGM system transmits the blood glucose measurements to a computing device communicatively coupled to the CGM system, such as a smartwatch worn by the person, the person's smartphone, or a dedicated device associated with the CGM system. The CGM system may communicate the blood glucose measurements in real time, at set time intervals, or in response to a request from the computing device. The computing device then provides the blood glucose measurements to the CGM platform, such as by communicating the blood glucose measurements over a network to a cloud-based service that hosts the CGM platform.
[0014] The CGM platform may obtain additional data for users in the user population that originate from various devices, sensors, applications, or services. The additional data may include, by way of example and not limitation, health-related data, application interaction data, environmental data, demographic data, blood glucose measurements, as well as device data (e.g., sensor identification data, incident reports), captured data added by computing devices, third-party data, etc. Health-related data may include activity data (e.g., steps, exercise frequency, sleep data), biometric data (e.g., insulin levels, ketone levels, heart rate, temperature, stress), nutritional data (e.g., food and drink logs, scanned restaurant receipts, carbohydrate consumption, fasting), medical records (A1C, cholesterol, electrocardiogram results, data related to other medical tests and medical history, etc.), just to name a few. Application interaction data may include data extracted from application logs describing user interactions with particular applications, clickstream data describing clicks, taps, and presses performed in association with an input / output interface of a computing device, gaze data describing where a user is looking (e.g., in association with a display device associated with the computing device or when the user is looking away from the device), voice data describing audible commands and other spoken phrases of the user or other users (e.g., including what the user passively listens to), and the like. Environmental data may include data describing various environmental aspects associated with a user, such as, for example, the user's location, the temperature and / or weather at the user's location, the user's altitude, barometric pressure, and the like. Demographic data may include data describing a user, such as, for example, age, sex, height, weight, and the like. The types of additional data described above are merely examples, and the additional data may include more, less, or different types of data without departing from the spirit or scope of the techniques described herein.
[0015] The CGM platform stores and aggregates blood glucose readings and additional data collected from various respective users of a user population. In some cases, the blood glucose readings and additional data can be time-stamped, which allows the blood glucose readings and additional data for each user to be stored in a manner that maintains a time-based relationship or order between the various data. This allows the CGM platform to make various predictions and inferences based on individual data sets that simply could not be analyzed at such a large scale by conventional systems.
[0016] To generate predictions and inferences using the aggregated data, the CGM platform leverages the wealth of aggregated data maintained by the CGM platform to build various models, such as statistical models, machine learning models configured as neural networks, and / or other machine learning models. For example, the system may build statistical models, build other machine learning models, train other machine learning models (or otherwise learn policies deployed by such machine learning models), and update these models using blood glucose measurements and additional data for a population of users.
[0017] Notably, unlike conventional systems, CGM platforms may have access to blood glucose measurements obtained using the CGM system for hundreds of thousands of users (e.g., 500,000 or more) of a user population. Moreover, these measurements are taken at a continuous rate by the sensors of the CGM system. As a result, the blood glucose measurements available to the system for model building and training may be in the millions, or even billions. With such a robust amount of data, the system can build and train models to accurately mimic the actual effects of various behaviors on blood glucose levels. Without the robustness of this aggregate data, conventional systems cannot simply build or train models to cover state spaces in a manner that suitably represents how various user behaviors and actions affect blood glucose levels. Failure to adequately cover these state spaces can result in inaccurate blood glucose predictions or predictions of other health indicators, which may lead to suggesting risky actions or behaviors that may cause death. Given the importance of generating inaccurate predictions, it is important to build models using a volume of blood glucose measurements that is robust against rare events.
[0018] The CGM platform uses models built and / or trained using the aggregated data to generate various predictions of the user wearing the CGM system and suggestions for improving the predicted health status. The predictions may correspond to or otherwise include health indicators. As used herein, the term "health indicator" may refer to a predicted health status, which may be "negative" or "positive." Examples of poor health conditions include, for example, prediabetes, type I diabetes, type II diabetes, neuropathy, Alzheimer's disease, and heart disease, to name just a few. In contrast, examples of "good" health conditions include improved blood tests, body composition, cardiovascular capacity, and the like.
[0019] Additionally, predictions generated by the system may include specific predictions for individual users, as well as generalized predictions or trends across user populations (e.g., drinking soda spikes blood sugar levels and causes long-term neuropathy, or a low-carb diet lowers A1C). For example, the system applies the trained machine learning model to the individual user's blood glucose measurements over a particular time period and additional data to generate a user-specific prediction of the user's health indicators or events, such as by predicting that the user will develop type II diabetes or heart disease in the future. The system may generate an accuracy or probability associated with the prediction, and a time period associated with the prediction (e.g., 75% chance of developing type II diabetes within 40 months). In some cases, the system may generate predictions for individual users based on real-time data. For example, the trained model may be applied to blood glucose measurements, heart rate, insulin levels, etc. in real time as the data is being captured to generate a predicted blood glucose level for the user in the near future (e.g., the next 30 minutes) to generate a predicted blood glucose level for the user in the near future.
[0020] Based on these predictions, the CGM platform generates various suggestions. In some cases, the suggestions are generated based on logic that associates the predicted adverse health condition with one or more actions or behaviors that mitigate the predicted adverse health condition (e.g., reduce the probability of the occurrence of the negative health condition). As such, the suggestions may include one or more actions or behaviors intended to mitigate the predicted adverse health condition. The suggestions may, for example, instruct the user to perform an action (e.g., download an application to a computing device, immediately go to the hospital, take insulin, go for a walk, consume a particular food or drink), continue a behavior (e.g., continue eating in a particular way or exercising in a particular way), change a behavior (e.g., change eating or exercise habits), etc.
[0021] For example, based on a prediction that a user's blood glucose level will rise to a hyperglycemic level in the next 30 minutes, the CGM platform may generate suggestions that include actions intended to lower the user's blood glucose level, such as by suggesting that the user administer insulin or go for a brisk walk. Conversely, based on a prediction that a user's blood glucose level will fall to a hypoglycemic level overnight, the CGM platform may suggest that the user eat a banana before bed to keep the user's blood glucose level above the hypoglycemic level. As another example, based on a prediction that a user will develop type II diabetes within 40 months, the CGM platform may generate suggestions to adjust the user's diet or increase activity level.
[0022] The predictions and suggestions generated by the CGM platform may be provided directly to the user or may be provided to other parties or platforms associated with the user, such as, for example, a healthcare provider, family, third-party services, etc. Such predictions and suggestions may be communicated to the user or other parties, for example, as an electronic communication (e.g., an email message or text message), a notification (e.g., an in-application or on-device notification), or may be uploaded to a secure platform or website accessible via credentials.
[0023] According to various implementations, the CGM platform may include one or more application programming interfaces (APIs) to enable back-and-forth communication of blood glucose measurements and additional data between the CGM platform and one or more third parties. Such APIs may include "output" APIs that allow blood glucose measurements to be communicated from the CGM platform to various third parties that provide applications and services that utilize the blood glucose measurements collected by the CGM system. For example, a user may download such third party applications and allow these third party applications to access the user's blood glucose measurements. Doing so allows the third party applications to leverage the blood glucose measurements in various ways to improve the user's health. In this manner, third party service providers may be able to offer various services that use blood glucose measurements without the third party service providers having to manufacture and deploy their own CGM systems.
[0024] The CGM platform may also include an "input" API that allows the CGM platform to receive "third-party" data from third-party service providers. Such third-party data may include application interaction data that describes user interactions with third-party services or applications. The CGM platform may aggregate the application interaction data along with the user's blood glucose measurements and other data to determine whether interactions with a particular application are improving the user's health. Based on this, the CGM platform may suggest that other users in the user population also utilize the particular application.
[0025] As part of this, the system may collect demographic data for a particular user, such as, for example, age, gender, location, etc. The blood glucose measurements collected from the user may be combined with the demographic data and additional data to generate a similarity score with other users in the user population. For example, a user who is 22 years old, female, has an average blood glucose of 162 mg / dL, and experiences a pattern of nocturnal hypoglycemic measurements, may have a similarity score with other users of that age, gender, average blood glucose measurements, and pattern experience. In this scenario, suggestions to utilize a particular application may be based on the user's similarity to other users in the population. For example, if using a particular application improves glycemia for a subset of users in the user population, the CGM platform may suggest use of the particular application to similar users in the user population.
[0026] In one or more implementations, the CGM platform includes a multi-state engagement system that generates state information that identifies a plurality of different engagement states with a CGM system, e.g., a CGM system, of a user population. These states may correspond to user roles associated with the CGM platform, e.g., patient, caregiver, healthcare provider, customer service representative, third party service provider, commercial user (e.g., athlete, life hacker, etc.), performance coach, etc. These states may also correspond to stages of one or more engagement sequences with the CGM system. In a patient context, the engagement sequence may include, for example, an inquiry phase (e.g., when a user inquires about or otherwise expresses interest in a CGM system or inquires about a diabetes-related medical condition), a selection phase (e.g., when a user is actively selecting among blood glucose monitoring solutions), a predetermined phase, an active usage phase (e.g., when a user actively uses a CGM system along with the functionality of the CGM platform), an irregular usage phase (e.g., when a user's activity level declines somewhat from a previous active usage level and / or falls below a usage threshold), a discontinued usage phase (e.g., when a user discontinues use of the CGM system and / or CGM platform), a subsequent solution phase (e.g., when a user uses a different CGM system deployed by a different entity than the CGM platform), etc.
[0027] Generally, the multi-state engagement system uses one or more models (e.g., machine learning models) to generate state information that identifies such states. The multi-state engagement system may use data captured about the user population, such as the CGM package, additional data, etc., to identify these states with such models. Generally, the CGM package may include data collected by the CGM system (e.g., blood glucose measurements sensed by the sensor and an identifier for the sensor) and supplemental data generated by a device acting as an intermediary between the CGM system and the CGM platform. For example, an intermediary device, such as a user's mobile phone, smart watch, etc., may generate various supplemental data to supplement the CGM device data included in the CGM package. As described throughout, the additional data may include third-party data, data from the IoT, physiological data, socioeconomic data, attitudinal data, behavioral data, purchase history data, complaint data, and payment data, just to name a few. In addition to identifying different states from this data describing the user population, the multi-state engagement system is also configured to determine which of these identified states correspond to a particular user at a given time, such as determining that the user's current state includes a role as a patient who is currently in an irregular usage phase with the CGM system. The multi-state engagement system may determine such states by providing data describing the user (e.g., feature vectors) as input to machine learning models and receive output from these models indicative of state information indicative of the current state.
[0028] The status information generated by the multi-stage engagement system may be used to control communications with users of the CGM platform. For example, when the status information includes a probability higher than a threshold probability (e.g., the user is in an irregular use stage at the current time), the intervention platform may deliver one or more communications to the user and / or to a customer service representative, such as, for example, a notification alerting the representative of the irregular use. In this manner, the intervention platform may communicate (e.g., intervene) with the user to determine whether use of the CGM system has indeed become irregular (or there is some error that causes use to appear irregular), determine why use has become irregular, and provide information to return use to an "active" level.
[0029] In some cases, the multi-state engagement system may predict a transition to a bad state (e.g., a discontinued use phase) before the transition actually occurs, allowing the intervention system to attempt to prevent the transition to the bad state. To do so, the state information generated by the multi-state engagement system may include transition probabilities indicating the probability that the user will transition from a current state to a different state in the near future, e.g., the probability that the user will move from an active use phase to an irregular use phase, or from an irregular use phase to a discontinued use phase. The state information may also include encouraging factors predicted by the multi-state engagement system as likely to encourage a transition to the new state. Based on the transition probabilities and encouraging factors, the intervention platform generates various intervention strategies to prevent the transition. In some cases, such intervention strategies may include exposing the state information to users authorized to intervene in a particular scenario by communicating with the user, such as customer service representatives, clinicians, etc. As an example, the intervention platform may provide the state information (or notifications derived based on the state information) via an intervention portal, e.g., where customer service representatives are able to review the state information of multiple users. The published status information may enable an authorized user of the intervention platform to determine whether to communicate with a user associated with the status information, such as whether to call the user, whether to send an email to the user, whether to send an SMS message to the user, etc. Alternatively or additionally, the intervention platform may be configured to automatically generate and communicate communications based on the status information, such as in response to logic that directs the intervention platform to communicate in a particular manner depending on the status information.
[0030] Regardless of whether the intervention strategy involves exposing the transition information to a human or is automated, the intervention platform can customize the intervention strategy based on the determined factors that foster the predicted transition from the current state to the new state. As an example, if the status information indicates that a faulty device (e.g., a faulty sensor) is being used and that usage has declined since beginning to use the faulty device, a customer service representative may deploy a strategy specific to the faulty device, e.g., send a new properly working device. As another example, if the status information indicates that abnormally high blood glucose levels are causing user frustration, which is likely to lead to discontinued use, the intervention system may communicate to the user a message that includes success stories of other users in the user population whose blood glucose levels decreased while wearing the CGM system through meals and exercise.
[0031] It will be appreciated that unlike conventional systems, the CGM platform has access to CGM packages of hundreds of thousands of users (e.g., 500,000 or more) of the user population. Furthermore, the CGM measurements contained in the CGM packages are taken at a continuous rate by sensors in the CGM system. As a result, the blood glucose measurements, and the data describing these measurements (e.g., CGM packages), available to the engagement state model manager to build and train machine learning models, amount to millions, or even billions, of data points. Such a robust amount of data enables the system to build and train various models to accurately identify multiple different engagement states by the user population with the CGM system and CGM platform.
[0032] Due to the lack of data describing the robustness of the CGM platform's blood glucose measurements and the characteristics of these measurements and the receipt of CGM packages by the CGM platform, conventional systems are unable to build or train models that cover the state space in a manner that adequately represents how users actually engage with the CGM system and CGM platform in the real world. Failure to adequately cover these state spaces can result in inaccurate predictions of the user's usage states with the CGM system and CGM platform, which can lead to interventions that are too late (or never implemented) to prevent potentially dangerous conditions with the CGM system or to prevent discontinued use of the CGM system and CGM platform. Given the importance of inaccurately identifying states that are indicative of how users actually interact with the CGM system, it is important to build engagement state models using a quantity of CGM packages that is robust enough to capture patterns of spurious correlations or hidden relationships in the data.
[0033] In the following description, we first describe an example environment in which the techniques described herein may be used. We then describe example implementation details and procedures that may be performed in the example environment and in other environments. Performance of the example procedures is not limited to the sample environment, and the sample environment is not limited to performance of the example procedures.
[0034] Example Environment 1 is an illustration of an environment 100 in an example implementation operable to employ multi-state engagement with continuous glucose monitoring (CGM) as described herein. The illustrated environment 100 includes a person 102, who is depicted wearing a 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 to one another via a network 116.
[0035] Alternatively or additionally, one or more of the CGM system 104, insulin delivery system 106, and computing device 108 may be communicatively coupled in other manners, such as using one or more short-range communication protocols or techniques. For example, the CGM system 104, insulin delivery system 106, and computing device 108 may communicate with each other using one or more of Bluetooth, Near Field Communication (NFC), 5G, and the like. The CGM system 104, insulin delivery system 106, and 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 may deliver insulin based on blood glucose predictions calculated in real time (e.g., by the computing device 108) as blood glucose measurements are obtained by the CGM system 104.
[0036] In accordance with the described techniques, the CGM system 104 is configured to continuously monitor the blood glucose of the person 102. The CGM system 104 may be configured with, for example, a CGM sensor that continuously detects analytes indicative of the blood glucose of the person 102 and enables the generation of blood glucose measurements. In the illustrated environment 100, these measurements are represented as blood glucose measurements 118. This functionality, along with further aspects of the configuration of the CGM system 104, are described in more detail in connection with FIG. 2.
[0037] In one or more implementations, the CGM system 104 transmits the blood glucose measurements 118 to the computing device 108, such as via Bluetooth. The CGM system 104 may communicate these measurements in real time, such as, for example, as these measurements are generated using a CGM sensor. Alternatively or additionally, the CGM system 104 may communicate the blood glucose measurements 118 to the computing device 108 at set time intervals, such as, for example, every 30 seconds, every minute, every hour, every six hours, every day, etc. Still further, the CGM system 104 may communicate these measurements in response to a request from the computing device 108 that is communicated to the CGM system 104, such as, for example, when the computing device 108 causes the display of a user interface with information regarding the person's 102's blood glucose level, updates such a display, predicts the person's 102's next blood glucose level for purposes of delivering insulin, etc. Thus, the computing device 108 may at least temporarily maintain the blood glucose measurements 118 of the person 102, such as, for example, in a computer-readable storage medium of the computing device 108.
[0038] 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 technology. 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 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 blood glucose readings 118 from the CGM system 104, perform various calculations related to the blood glucose readings 118, display information related to the blood glucose readings 118 and the CGM platform 112, communicate the blood glucose readings 118 to the CGM platform 112, and the like. 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, and the like.
[0039] Additionally, the computing device 108 may represent multiple devices in accordance with the described techniques. In one or more scenarios, for example, the computing device 108 may correspond to both a wearable device (e.g., a smart watch) and a mobile phone. In such a scenario, both of these devices may be capable of performing at least some of the same operations, such as, for example, receiving blood glucose measurements 118 from the CGM system 104, communicating them to the CGM platform 112 via the network 116, and displaying information related to the blood glucose measurements 118. Alternatively or additionally, the different devices may have different capabilities that the other devices do not have or are limited through computing instructions to the particular device. In a scenario in which the computing device 108 corresponds to a separate smart watch and a mobile phone, for example, the smart watch may be configured with various sensors and functionalities to measure various physiological markers (e.g., heart rate, respiration, blood velocity, etc.) and activities (e.g., steps) of the person 102. In this scenario, the mobile phone may not be configured with these sensors and functionalities or may include a limited amount of that functionality, while in other scenarios the mobile phone may be capable of providing the same functionality. Continuing with this particular scenario, the mobile phone may have capabilities that the smartwatch does not, such as an amount of computational resources (e.g., battery and processing speed) that allows the mobile phone to more efficiently perform calculations related to lineage measurements 118. Even in scenarios where the smartwatch is capable of performing such calculations, the computational instructions may limit the performance of those calculations relative to 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 in different ways and represent a different number of devices than described herein without departing from the spirit and scope of the described techniques.
[0040] As described above, the computing device 108 communicates the blood glucose readings 118 to the CGM platform 112. In the illustrated environment 100, the blood glucose readings 118 are shown stored in a storage device 120 of the CGM platform 112 as part of the CGM data 122. The storage device 120 may represent one or more databases, as well as other types of storage capable of storing the CGM data 122. The CGM data 122 also includes a user profile 124. In accordance with the described techniques, the person 102 corresponds to at least a user of the CGM platform 112 and may also be a user of one or more other third-party service providers. To this end, the person 102 is associated with a username and may at some point be required to provide authentication information (e.g., password, biometric data, etc.) to access the CGM platform 112 using the username. This information may be captured in the user profile 124. The user profile 124 may also include various other information about the user, such as demographic information describing the person 102, information about health care providers, payment information, prescription information, determined health metrics, user preferences, account information for other service provider systems (e.g., service providers associated with wearables, social networking systems, etc.), etc. The user profile 124 may include different information about the user within the spirit and scope of the described techniques.
[0041] Moreover, the CGM data 122 not only represents data for the user corresponding to the person 102, but also represents data for other users in the user population 110. With this in mind, the blood glucose readings 118 in the storage device 120 include blood glucose readings from a CGM sensor of the CGM system 104 worn by the person 102, and also include blood glucose readings from CGM sensors of the CGM systems worn by persons corresponding to other users in the user population 110. The blood glucose readings 118 of these other users are communicated by their respective devices over the network 116 to the CGM platform 112, and these other users will also have respective user profiles 124 on the CGM platform 112.
[0042] The data analytics platform 126 represents functionality that processes the CGM data 122 to generate various predictions, such as by using various machine learning models. Based on these predictions, the CGM platform 112 may provide suggestions and / or other information regarding the predictions. For example, the CGM platform 112 may provide suggestions or other information directly to the user, to a medical professional associated with the user, or the like. Particular types of predictions, suggestions, and other information are described in more detail below. Although depicted separately from the computing device 108, parts or the entirety of the data analytics platform 126 may alternatively or additionally be implemented in the computing device 108. The data analytics platform 126 may also be configured to generate these predictions using data in addition to the blood glucose measurements 118, such as additional data obtained via the IoT 114.
[0043] It should be appreciated that the IoT 114 represents various sources that may provide data describing the person 102 and the person 102's activities as a user of one or more service providers and their activities in the real world. By way of example, the IoT 114 may include various devices of the user, such as, for example, a camera, a mobile phone, a laptop, etc. To this end, the IoT 114 may provide information regarding the user's interactions with the various devices, such as interactions with web-based applications, photographs taken, communications with other users, etc. The IoT 114 may also include various real-world objects (e.g., shoes, clothing, sporting goods, appliances, automobiles, etc.) that are configured with sensors that provide information describing behavior, such as, for example, the number of steps, the force of the foot striking the ground, stride length, the user's body temperature (and other physiological measurements), the temperature of the user's surroundings, the type of food stored in the refrigerator, the type of food removed from the refrigerator, driving habits, etc. The IoT 114 may also include third parties in the GGM 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 126. Indeed, the IoT 114 may include devices and sensors that can provide a wealth of data related to CGM-based recommendations without departing from the spirit or scope of the described techniques. Consider the following description of FIG. 2 in the context of measuring blood glucose, for example, continuously, and obtaining data describing such measurements.
[0044] Figure 2 illustrates in greater detail an example 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.
[0045] 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 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.
[0046] In operation, the sensor 202, adhesive pad 210, and attachment mechanism 212 may be assembled to form an application assembly, which is 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 via the attachment mechanism 212 after being applied to the skin 206. 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) may 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.
[0047] 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).
[0048] 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 a blood glucose oxidase that reacts with blood 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 blood glucose sensor configured to detect an analyte in blood or interstitial fluid indicative of blood glucose levels using one or more measurement techniques.
[0049] In another example, the sensor 202 (or additional sensors (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 the 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., blood 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 blood glucose. Alternatively or additionally, the CGM system 104 includes multiple sensors that detect not only one or more analytes (e.g., sodium, potassium, carbon dioxide, and blood glucose), but also one or more environmental conditions (e.g., temperature). Thus, the sensor module 204 and the sensor 202 (and any additional sensors) may detect the presence of one or more analytes, the absence of one or more analytes, and / or a change in one or more environmental conditions.
[0050] 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 a blood glucose reading 118 based on communication with the sensor 202 indicating the changes described 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 including at least one blood glucose reading 118. Alternatively or additionally, the CGM device data 214 includes other data, such as, for example, a plurality of blood 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 blood 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 blood glucose reading 118 without departing from the spirit or scope of the described technology.
[0051] 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 a 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, every 30 seconds, every minute, every 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.
[0052] In addition to generating and communicating the CGM device data 214 to the computing device 108, the sensor module 204 may include additional functionality according to the described techniques. This additional functionality may include generating a prediction of the person's 102 future blood glucose level and communicating a notification based on the prediction, for example, by communicating a warning when the prediction indicates that the person's 102 blood glucose level is 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, one may be alerted to dangerous conditions without relying on connectivity to the Internet or the like. This additional functionality of the sensor module 204 may also include calibrating the sensor 202 initially or on an ongoing basis, as well as any other sensors of the CGM system 104.
[0053] With respect to the CGM device data 214, the sensor identification 216 represents information that uniquely identifies the sensor 202 from other sensors, e.g., other sensors in other CGM systems 104, other sensors previously or subsequently implanted in the skin 206, etc. By uniquely identifying the sensor 202, the sensor identification 216 may also be used to identify other aspects regarding the sensor 202, e.g., the manufacturing lot of the sensor 202, the packaging details of the sensor 202, the shipping details of the sensor 202, etc. In this manner, various issues detected with sensors manufactured, packaged, and / or shipped in a similar manner to the sensor 202 may be identified and addressed in a different manner, e.g., to calibrate the blood glucose readings 118, notify users to change or discard defective sensors, notify manufacturing facilities of machining issues, etc.
[0054] The sensor status 218 represents the state of the sensor 202 at a given time, e.g., the state of the sensor at the same time that one of the blood glucose measurements 118 is generated. To this end, the sensor status 218 may include an entry for each of the blood glucose measurements 118 such that there is a one-to-one relationship between the blood glucose measurements 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 predefined operational states for a given blood glucose measurement 118. The identified operational state may be based on communications from the sensor 202 and / or characteristics of those communications.
[0055] As an example, the sensor module 204 may include a look-up table (e.g., in memory or other storage) with a predetermined number of operating conditions and a basis for selecting one condition from another. For example, the predetermined conditions 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, e.g., 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 of the range of normal activity, resulting in potential errors in the blood glucose measurement 118.
[0056] For example, these unusual operating condition basis may include receiving a communication from the sensor 202 outside a threshold expected time, detecting a signal strength of the sensor 202 outside a threshold of expected signal strength, detecting an environmental temperature outside a preferred 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 CGM system 104 without departing from the spirit or scope of the described technology.
[0057] Having considered an example environment and an example CGM system, consideration will now be given to a detailed description of some example techniques for multi-state engagement with CGM in digital media environments according to one or more implementations.
[0058] Multi-state engagement with CGM systems 3 depicts an exemplary illustration 300 in which CGM device data, including blood glucose measurements, are routed to different systems to enable the provision of CGM-related services.
[0059] 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 126 and a storage device 120, which store CGM data 122 including blood glucose readings 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, among other data, the blood glucose readings 118. The CGM system 104 may transmit the CGM device data 214 to the computing device 108 in a variety of ways.
[0060] The illustrated example 300 also includes a CGM package 302. The CGM package 302 may include CGM device data 214 (e.g., blood 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, package the captured data 304 with the 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 understood that the CGM package 302 may include data collected by the CGM system 104 (e.g., blood 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 a user's mobile phone, smart watch, etc.
[0061] With regard to the 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. In accordance with 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., blood glucose measurements 118) can be identified. By way of example, the supplemental data 304 may describe a user's interaction with the computing device 108, and may include, for example, data extracted from an application log that describes a particular application's interactions (e.g., selections made, actions performed). The supplemental data 304 may also include clickstream data that describes clicks, taps, and presses performed in connection with an 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. 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, air pressure, environmental aspects such as 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 sporting equipment, the clothes the user is wearing), etc. The supplemental data 304 may also describe health-related aspects detected regarding the user, including, for example, step count, heart rate, sweat, the user's temperature (e.g., detected by the computing device 108), etc.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, the data from these two sources may be compared, for example, for accuracy, fault detection, etc. The types of supplemental data 304 described above are merely examples, and the supplemental data 304 may include more, less, or different types of data without departing from the spirit or scope of the technology described herein.
[0062] 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.
[0063] 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 analytics platform 126, for example, to generate various predictions and provide suggestions, as described in more detail below. Alternatively or additionally, the data may be provided to a third party 306, such as a third-party service provider. In this manner, the third-party service provider may be able to offer a variety of services that use the blood glucose measurements 118 without having to manufacture and deploy their own CGM systems.
[0064] In the depicted example 300, the blood glucose readings 118 are depicted as being communicated from the storage device 120 of the CGM platform 112 over the network 116 to a storage device 308 (or other type of storage) of a third party 306. In particular, the blood glucose readings 118 are depicted as being communicated via a CGM platform application programming interface (API) 310. In this type of scenario, the CGM platform API 310 may be thought of as an "output" of data such as the blood glucose readings 118. By "output," it is meant that the flow of data is generally outward from the CGM platform 112 to the third party 306.
[0065] In one or more implementations, the CGM platform 112 provides access to data from the storage device 120 via the CGM Platform API 310. In the context of providing data, the CGM Platform API 310 may expose one or more "calls" (e.g., a particular format for a data request) to the third party 306. As an example, the CGM Platform API 310 may expose a call to the third party 306, after the third party 306 has, for example, reached an agreement with a business corresponding to the CGM platform 112, thereby allowing the third party 306 to retrieve data from the storage device 120 via the CGM Platform API 310. As part of this agreement, the third party 306 may agree to exchange payment to retrieve data from the CGM platform 112. Alternatively or additionally, the third party 306 may agree to exchange data it generates, for example, via an associated device, to retrieve data from the CGM platform 112. The parties who enter into an agreement to retrieve data (e.g., blood glucose readings 118) from the CGM platform 112 via the CGM Platform API 310 may be referred to as "data partners."
[0066] Broadly speaking, the CGM Platform API 310 allows a third party 306 to request data (e.g., blood glucose readings 118) in a particular request format, and if the request is made in the particular format, the CGM Platform API 310 provides the requested data in a particular response format. In other words, the CGM Platform API 310 is configured to receive a request for blood glucose readings 118 in a particular request format from the third party 306, retrieve the requested blood glucose readings 118 from the storage device 120, and provide the requested blood glucose readings 118 in a formatted response to the third party 306. The CGM Platform API 310 may expose calls that allow the third party 306 to request one or more time periods (e.g., the last 10 days) of blood glucose readings 118, blood glucose readings 118 for a particular user or segment of users, blood glucose readings 118 over a particular time period (e.g., the last 10 days) for a number of users (e.g., 10,000 users). The CGM platform 310 may expose various calls that allow third parties to request blood glucose readings 118 that meet certain criteria in various ways without departing from the spirit or scope of the described technology. In operation, the CGM platform API 310 may restrict what data different third parties can access depending on the terms of the corresponding agreements, such as, for example, limiting how frequently blood glucose readings 118 can be obtained, introducing a latency period in providing glucose readings 118 after blood glucose readings are obtained from the CGM system 104 and computing device 108, etc.
[0067] Once the third party 306 obtains the blood glucose measurement 118, the third party 306 may generate one or more third party suggestions 312 based on the obtained blood glucose measurement 118. By way of example, the third party 306 may provide a lifestyle application to the user and use the blood glucose measurement 118 to provide third party suggestions 312 related to one or more lifestyle behaviors tracked via such application, such as suggestions to increase exercise, suggestions to decrease exercise, suggestions to continue a certain behavior (e.g., steps, eating certain foods, sleeping), suggestions to reduce or eliminate a certain behavior (e.g., eating certain foods, drinking alcohol, sleeping), etc. Examples of lifestyle applications include exercise applications, health measurement applications, food tracking applications, sports-specific applications, etc.
[0068] As mentioned above, the third party 306 may generate its own additional data, such as through a device, e.g., a wearable device, that the third party 306 manufactures and / or deploys. With this in mind, the third party 306 may generate the third party suggestions 312 based on not only the blood glucose readings 118 but also the additional data that the third party 306 generates. For example, the third party 306 may provide the acquired blood glucose readings 118 and this additional data as input to one or more machine learning models trained using the past blood glucose readings 118 and the past additional data. In response to this input, the third party 306 obtains as output at least one prediction generated by the one or more models. The third party 306 may use such prediction as the basis for the third party suggestions 312. The third party suggestions 312 are shown as output by the third party 306. This represents that the third party 306 may deliver the third party suggestions 312 by communicating it to the computing device 108 or other computing devices, e.g., computing devices of the user population 110, via the network 116. The third party suggestions 312 may then be output by the receiving computing device, for example, by displaying the suggestions, outputting the suggestions aloud, etc.
[0069] The illustrated example 300 also includes third-party data 314, which is shown communicated from a third party to the data analytics platform 126. As previously mentioned, the third party 306 may manufacture and / or deploy the associated device. Additionally or alternatively, the third party 306 may obtain data via other sources, such as a corresponding application. Thus, this data may include user input data entered via a corresponding third-party application, e.g., a social networking application, a lifestyle application, and the like. With this in mind, the data generated by the third party 306 may be configured in a variety of ways, including a dedicated data structure, a text file, an image captured via the user's mobile device, a format showing text entered into a public field or dialog box, a format showing option selections, and the like. The third-party data 314 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 314 may include, for example, application interaction data describing a user's use or interaction with a particular application provided by the third party 306. In general, the application interaction data enables the data analytics platform 126 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 user interactions with particular applications, 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 126 may receive third-party data 314 generated or otherwise obtained by a third party 306.
[0070] In the illustrated example 300, the third party data 314 is depicted as being communicated via the CGM platform API 310. In this type of scenario, the CGM platform API 310 may be considered an "ingress" for the third party data 314. By "ingress," it is meant that the flow of data is generally inward from the third party 306 to the CGM platform 112. Although the CGM platform API 310 is shown as supporting both output and input data flow, in one or more implementations, functionality enabling the output of data from the CGM platform 112 and the input of data to the CGM platform 112 may be handled by different APIs. For example, input functionality may be handled by an API corresponding to the third party 306 rather than an API of the CGM platform 112. Regardless, in addition to the CGM platform 112 data (blood glucose measurements 118 and supplemental data 304), the data analytics platform 126 may utilize the third party data 314 in one or more scenarios.
[0071] The data analytics platform 126 is shown comprising a prediction system 316 and a multi-state engagement system 318. In accordance with the described system, the prediction system 316 is configured to generate a prediction 320 based on at least the blood glucose measurements 118. In one or more implementations, for example, the prediction system 316 generates the prediction 320 based on both the blood glucose measurements 118 and additional data, which may include, in addition to the blood glucose measurements 118, one or more portions of the CGM device data 214, the supplemental data 304, the third party data 314, data from the IoT 114, etc. As described below, the prediction system 316 may generate such prediction 320 by using one or more machine learning models. These models may be trained or otherwise constructed using the blood glucose measurements 118 and the additional data obtained from the user population 110.
[0072] In one or more implementations, the prediction 320 may correspond to or otherwise include a health indicator. As used herein, the term "health indicator" may refer to a predicted health condition, which may be "negative" or "good." Examples of poor health conditions include, for example, prediabetes, type I diabetes, type II diabetes, neuropathy, Alzheimer's disease, and heart disease, to name just a few. In contrast, examples of "good" health conditions may include risk of developing a poor health condition, or good health conditions related to body fat, cardiovascular capacity, and the like. In some cases, the health indicator may refer to a predicted medical condition, such as a predicted A1C. In particular, the prediction 320 is based on blood glucose measurements 118 and additional data collected during a particular time period. Thus, in some cases, the prediction 320 predicts that the user currently has a predicted health condition based on aggregated data. Alternatively, the predicted health condition may correspond to a time period that will occur after a particular time period during which aggregated data is collected (e.g., a prediction of type II diabetes within 40 months). Several additional types of predictions, and the particular types of information used to generate these predictions, are also described in further detail below.
[0073] Based on the generated prediction 320, the data analytics platform 126 generates a suggestion 322. The suggestion 322 may, for example, instruct the user to perform an action (e.g., download an application to the computing device 108, immediately go to the doctor, administer insulin, go for a walk, consume a particular food or drink), continue a behavior (e.g., continue eating a particular way or exercising a particular way), change a behavior (e.g., change eating or exercise habits), etc. In such a scenario, the prediction 320 and / or the suggestion 322 are communicated from the data analytics platform 126 and output via the computing device 108. In the illustrated example 300, the prediction 320 is also shown communicated to the computing device 108. It should be understood that either or both of the prediction 320 and the suggestion 322 may be communicated to the computing device 108. Additionally or alternatively, the prediction 320 and / or the suggestion 322 may be routed to a decision support platform and / or a validation platform, for example, before the prediction 320 and / or the suggestion 322 are allowed to be delivered to the computing device 108.
[0074] We now turn to a description of the multi-state engagement system 318 in accordance with the described techniques. Broadly speaking, the multi-state engagement system 318 is configured to identify a number of different engagement states with a CGM system, e.g., CGM system 104, of the user population 110. These states may correspond to a user's role in relation to the CGM platform 112. As used herein, a "role" may refer to the manner in which a user interacts with the CGM platform 112, including which features of the CGM platform 112 are accessible to and / or used by the user. In other words, a role may correspond at least in part to whether the user wears a particular system deployed by the CGM platform 112, whether they use particular applications deployed by the CGM platform 112, whether they use particular functionality of those applications, and the like. Some exemplary roles may include, for example, a patient, a caregiver (e.g., a parent or guardian), a medical provider, a customer service representative, a third-party service provider, a commercial user (e.g., an athlete, a lifehacker, etc.), and a performance coach, just to name a few. Thus, a "current role" corresponds to a user's role in a current time period. In this regard, a user's roles may change over time, such that a user may have different roles at different times, and a user may have one or more prior roles and one or more subsequent roles.
[0075] These states may also correspond to stages of one or more engagement sequences with the CGM system. In the patient context, the engagement sequence may include, for example, an inquiry stage (e.g., when a user inquires about or otherwise expresses an interest in the CGM system 104 or inquires about a diabetes-related medical condition), a selection stage (e.g., when a user is actively selecting among blood glucose monitoring solutions), a predetermined stage, an active use stage (e.g., when a user is actively using the CGM system 104 along with the functionality of the CGM platform 112), an irregular use stage (e.g., when a user's activity level declines somewhat from a previous level of active use and / or falls below a threshold of use), a discontinued use stage (e.g., when a user discontinues use of the CGM system 104 and / or the CGM platform 112), a subsequent solution stage (e.g., when a user uses a different CGM system deployed by a different entity than the CGM platform 112), etc.
[0076] As described in more detail below, the multi-state engagement system 318 may identify such conditions using one or more machine learning models. The multi-state engagement system 318 may identify these conditions with such models using data captured about the user population 110, such as the CGM package 302, additional data, which may include third party data 314, data from the IoT 114, and the like. In one or more implementations, this additional data may also include physiological data (e.g., data related to the body, such as heart rate, breathing rate, etc.), environmental data, socio-economic data, attitudinal data (e.g., data indicative of a user's perception of the brand or manufacturer of the CGM system), behavioral data (e.g., a user's actions regarding the CGM system), purchase history data (e.g., user purchases of components of the CGM system), complaint data (e.g., poor user communication regarding the CGM system), and payment data (user payments for components of the CGM system). Thus, it will be appreciated that the additional data may include a variety of different data types collected from a variety of different sources. Further, the additional data may in some cases include both data describing multiple users in a user population (e.g., socio-economic or environmental data applicable to users in a particular country, state, city, or zip code) as well as data personalized to a particular user (e.g., physiological or behavioral data for a particular user).
[0077] In addition to identifying different states from this data describing the user population 110, the multi-state engagement system 318 is also configured to determine which of these identified states correspond to a particular user at a given time, such as determining that the user is a patient and is currently in an irregular usage phase with the CGM system. The multi-state engagement system 318 may determine such states by providing data describing the user (e.g., feature vectors) as input to machine learning models and receive outputs from these models indicative of one or more states.
[0078] The multi-state engagement system 318 may not only determine which state corresponds to the user at a given time, but may also detect when the user transitions between states, e.g., when the user transitions from an active to an irregular use phase. Based on determining which state corresponds to the user and / or detecting transitions between states, the multi-state engagement system 318 may generate notifications indicating the state and / or state changes and communicate the notifications to predetermined recipients, e.g., patients, caregivers, healthcare providers, customer service representatives for intervention, etc. The determined user states and / or state transitions may also be used to customize delivery of at least one of the predictions 320 or suggestions 322. In the context of generating one or more predictions that may serve as the basis for suggestions 322, consider the following description of FIG. 4.
[0079] Figure 2 depicts in more detail an example implementation 400 of the CGM system 316 of Figure 1. As in Figure 3, the prediction system 316 is included as part of the data analytics platform 126, although in other scenarios the prediction system 316 may additionally or alternatively be included, partially or entirely, in other devices, such as the computing device 108.
[0080] In the illustrated example 400, the prediction system 316 includes a model manager 402 that manages a statistical model 406 and an additional machine learning model 408, e.g., a model 404 that includes a neural network. It will be understood that the model 404 may include different models, such as different statistical models, machine learning models configured as neural networks, and / or other types of machine learning models, without departing from the spirit or scope of the described techniques. These different machine learning models may be built or trained (or the models are otherwise learned) using different data, according to different statistical modeling techniques, have different architectures, follow different algorithms, etc. Thus, it will be understood that the following description of the functionality of the model manager 402 is applicable to a variety of machine learning models. However, for purposes of explanation, the functionality of the model manager 402 is generally described in relation to the statistical model 406 and the additional machine learning model 408.
[0081] In general, the model manager 402 is configured to manage the models 404. This model management includes, for example, building statistical models 406, building machine learning models 408, training the machine learning models 408, updating these models, etc. In particular, the model manager 402 is configured to perform this model management at least in part using a wealth of data maintained in the storage device 120 of the CGM platform 112. As shown, this data includes blood glucose readings 118 and additional data 410 of the user population 110. Stated another way, the model manager 402 builds the statistical models 406, builds the machine learning models 408, trains (and otherwise learns policies deployed by) the machine learning models 408, and updates the blood glucose readings 118 and additional user data 410 of the user population 110.
[0082] In general, the CGM platform 112 obtains additional data 410 of the user population from various devices, sensors, applications, or services. Thus, the additional data may be obtained from one or more “sources” different from the CGM system 104 at which the blood glucose readings 118 are detected. In one or more implementations, this additional data 410 may include at least one or more portions of the CGM device data 214, supplemental data 304, third party data 314, data from the IoT 114, etc., in addition to the blood glucose readings 118 (e.g., sensor identification 216 and sensor status 218 data).
[0083] The additional data 410 may include, by way of example and not limitation, health-related data, application interaction data, environmental data, demographic data, blood glucose measurements, as well as device data (e.g., sensor identification data, incident reports), captured data added by the computing device, third party data, etc. Health-related data may include activity data (e.g., step counts, exercise frequency, sleep data), biometric data (e.g., insulin levels, ketone levels, heart rate, temperature, stress, temperature), nutritional data (e.g., food and drink logs, scanned restaurant receipts, carbohydrate consumption, fasting), medical records (A1C, cholesterol, ECG results, data related to other medical tests and medical history, etc.), just to name a few. Application interaction data may include data extracted from application logs describing user interactions with particular applications, clickstream data describing clicks, taps, and presses performed in association with an input / output interface of a computing device, gaze data describing where a user is looking (e.g., in association with a display device associated with the computing device or when the user is looking away from the device), voice data describing audible commands and other spoken phrases of the user or other users (e.g., including what the user passively listens to), and the like. Environmental data may include data describing various environmental aspects associated with a user, such as, for example, the user's location, the temperature and / or weather at the user's location, the user's altitude, barometric pressure, and the like. Demographic data may include data describing a user, such as, for example, age, sex, height, weight, and the like. The types of additional data described above are merely examples, and the additional data may include more, less, or different types of data without departing from the spirit or scope of the techniques described herein.
[0084] Unlike conventional systems, the CGM platform 112 stores (e.g., in the storage device 120) or otherwise has access to blood glucose measurements 118 obtained using the CGM system 104 for hundreds of thousands of users (e.g., 500,000 or more) of the user population 110. Furthermore, these measurements are taken at a continuous rate by the sensors of the CGM system 104. As a result, the blood glucose measurements 118 are available to the model manager 402 for model building and training numbers in the millions, or even billions. With such a robust amount of data, the model manager 402 can build and train models 404 to accurately mimic the actual effects of various behaviors on blood glucose levels. Without the robustness of the blood glucose measurements 118 of the CGM platform 112, conventional systems would simply not be able to build or train models to cover state spaces in a manner that adequately represents how various behaviors affect blood glucose levels. Failure to adequately cover these state spaces can result in inaccurate blood glucose predictions or predictions of other health indicators, and can lead to suggesting risky actions or behaviors that may cause death. Given the importance of generating inaccurate predictions, it is important to build the model 404 using a volume of blood glucose measurements 118 that is robust to rare events.
[0085] In one or more implementations, the model manager 402 constructs the statistical model 406 by extracting observations corresponding to at least one attribute from the blood glucose measurements 118 and the additional data 410. Once constructed, the statistical model 406 is configured to predict and output values of this at least one attribute, and the values of the at least one attribute do not serve as inputs to the model. For example, in a scenario where the statistical model 406 is a regression model, these values may correspond to one or more dependent variables of the statistical model 406. The values of these attributes (corresponding to the dependent variables of the statistical model 406) may be referred to as a first set of values in the following description. The model manager 402 also extracts observations corresponding to at least one other attribute from the blood glucose measurements 118 and the additional data 410. Once constructed, the values of this at least one other attribute serve as inputs to the statistical model 406, for example as a vector of such values. In a scenario where the statistical model 406 is a regression model, the at least one other attribute may correspond to one or more explanatory (or independent) variables. These extracted values of the independent variables are sometimes referred to as the second value set in the following description.
[0086] Given a first set of values and a second set of values, the model manager 402 uses one or more known approaches to "fit" these values into the equations to generate the first set of values from the second set of values within some tolerance. Examples of such fitting approaches include using a least squares approach, using least absolute deviations regression, minimizing a penalized version of a least squares cost function (such as ridge regression or lasso), and the like. By "fitting," it is meant that the model manager 402 uses one or more approaches and these data sets to estimate model parameters for the equations. The estimated parameters include, for example, weights that are applied to values of independent variables as values are input into the statistical model 406 during operation. The model manager 402 incorporates these parameters, estimated from observed values, into the equations to generate the statistical model 406. During operation, the forecasting system 316 inputs values of the independent variables into the statistical model 406 (e.g., as one or more vectors or matrices), and the statistical model 406 applies estimated weights to these input values and then outputs values for one or more dependent variables. This output is referred to as prediction 320 .
[0087] In one statistical model building scenario, the model manager 402 uses blood glucose measurements 118 of the user population 110 having a timestamp before a particular timestamp, and also uses corresponding additional data 410 (e.g., having a timestamp corresponding to the blood glucose measurements 118 and associated with the user corresponding to the blood glucose measurements 118) as values of independent variables for the statistical model 406. In this scenario, the model manager 402 may use blood glucose measurements 118 of the user population 110 having a timestamp after the particular timestamp as values of dependent variables for the statistical model 406. Here, the model manager 402 uses one or more known approaches to fit an equation to data before and after the timestamp. In doing so, the model manager 402 estimates parameters of the equation such that inputting data values before the timestamp outputs blood glucose measurements 118 after the timestamp (or values within some tolerance of those measurements).
[0088] The model manager 402 then incorporates the estimated parameters into the equations and persists this incorporation as a statistical model 406 such that the statistical model 406 retains the estimated parameters with the equations. In this manner, the model manager 402 builds a statistical model 406 capable of generating a prediction 320 of a blood glucose measurement after a particular time upon receiving an input blood glucose measurement before a particular time and corresponding additional data. Thus, in operation and continuing with this scenario, the prediction system 316 may obtain a subset of the blood glucose measurements 118 of the person 102 before a particular time (e.g., the current time) along with additional data of the person 102 corresponding to the independent variables used to train the statistical model 406. The prediction system 316 may then provide this data of the person 102 as an input to the statistical model 406. In the continuing scenario, the statistical model 406 generates a prediction 320 of the blood glucose measurement of the person 102 after a particular time, e.g., the current time.
[0089] While predicting blood glucose measurements after a particular time (e.g., the current time) is described with respect to constructing and actually using the statistical model 406, the model manager 402 may construct a statistical model 406 that predicts aspects that differ from patterns in the observed blood glucose measurements 118 and additional data 410. As an example, the model manager 402 may construct a statistical model 406 that predicts upward or downward trends in health indicators of the person 102, such as by maintaining the health indicators of the person 102 over a period of time. That is, the blood glucose measurements 118 and additional data 410 of the user population 110 are used to build a model that maintains correlations between these health indicators and trends among the user population 110.
[0090] We now return to a discussion of the additional machine learning model 408 (e.g., configured as a neural network) in accordance with the described techniques. In a manner similar to the statistical model 406, the model manager 402 extracts a first set of observed values corresponding to at least one attribute and a second set of values corresponding to at least one other attribute, both sets extracted from the ancestry measurements 119 of the user population 110 and the additional data 410. The model manager 402 uses these sets of values to train the machine learning model 408 or to provide feedback to the machine learning model 408 about its predictions so that it learns a policy for generating predictions.
[0091] Also, similar to the statistical model 406, once the additional machine learning model 408 is trained or has learned at least an initial policy for deployment, the machine learning model 408 is configured to predict values of at least one attribute corresponding to the first set and output those values. Additionally, once the machine learning model 408 is trained or used to deploy at least the initial policy, it is configured to receive as input, e.g., as a vector of such values, the value of at least one other attribute of the second set of values. Thus, in a scenario in which the machine learning model 408 is a neural network, for example, the operational machine learning model 408 may receive as input one or more vectors (e.g., feature vectors) representing values of at least one other attribute. In such a scenario, the operational machine learning model 408 may also output one or more vectors (e.g., feature vectors) representing values of at least one attribute.
[0092] In a training context, the model manager 402 may train the machine learning model 408 by providing instances of data from the second set of values as input to the machine learning model 408. In response, the machine learning model generates a prediction 320, e.g., a prediction of the value of at least one attribute corresponding to the first set. The model manager 402 obtains this training prediction from the machine learning model 408 as an output and compares the training prediction to the actual extracted first set of values corresponding to the instances of the data input. By way of example, the model manager 402 uses a cost function to compare the training prediction to the actual extracted values. Based on this comparison, the model manager 402 adjusts the internal weights of the machine learning model 408 to enable the machine learning model to substantially reproduce the actual extracted values when instances of data are provided as inputs in the future.
[0093] This process of inputting instances of observed 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) to expected output values (observed values) corresponding to the input instances, 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., each iteration.
[0094] The model manager 402 may perform such iterations until the machine learning model 408 can generate predictions 320 that consistently substantially match the expected output, e.g., substantially match the observed values of the first data set. The ability of a machine learning model to consistently generate predictions that substantially match the expected output may be referred to as "convergence." With this in mind, the model manager 402 trains the machine learning model 408 until it "converges" to a solution. For example, the model's internal weights are suitably adjusted by the training iterations such that the model generates predictions that substantially match the expected output.
[0095] It should be understood that this is just one additional example of the machine learning model 408 and how it may be trained. Indeed, the machine learning model may be constructed according to a variety of paradigms (e.g., supervised learning, unsupervised learning, reinforcement learning, etc.) and trained using a variety of approaches without departing from the spirit or scope of the described techniques. As an example, the machine learning model 408 may be initially trained on the blood glucose measurements 118 and additional data 410 of a user population, and then the training may be further updated using training instances from the blood glucose measurements 118 and additional data 410 of the person 102 to, for example, further adjust various parameters of the machine learning model 408.
[0096] Regardless, once the machine learning model 408 has been trained at least in part using the blood glucose measurements 118 and additional data 410 of the user population 110, the machine learning model 408 may be used in operation to generate user predictions 320 corresponding to the person 102. Consider the following example implementation that is similar to the statistical model building scenario and use described above, but instead of utilizing a statistical model 406, utilizes a machine learning model 408.
[0097] In this machine learning example, the model manager 402 uses blood glucose measurements 118 of the user population 110 having timestamps before the particular timestamp, and also uses corresponding additional data 410 (e.g., having timestamps corresponding to the blood glucose measurements 118 and associated with the users corresponding to the blood glucose measurements) as training inputs to the machine learning model 408. In this scenario, the model manager 402 may use blood glucose measurements 118 of the user population 110 having timestamps after the particular timestamp as the expected output (target or label) of the machine learning model 408. Here, the model manager 402 uses one or more known approaches to tune the parameters of the model that predicts data after the timestamp given data before the timestamp as input. Examples of these approaches include supervised learning approaches such as steepest descent, stochastic gradient descent, etc. However, other approaches may be used without departing from the spirit or scope of the described technique.
[0098] Using these approaches, the model manager 402 adjusts the internal weights of the machine learning model 408 such that inputting data values from before the timestamp will result in outputting blood glucose measurements 118 after the timestamp (or values within some tolerance of those measurements). Additionally, the machine learning model 408 retains these internal weights, for example, in association with a particular node of the model. In this manner, the model manager 402 builds a machine learning model 408 capable of generating a prediction 320 of a blood glucose measurement after a particular time upon receiving an input blood glucose measurement from before the particular time and corresponding additional data.
[0099] Thus, in operation and continuing with this scenario, the prediction system 316 may obtain a subset of the blood glucose measurements 118 of the person 102 prior to a particular time (e.g., the current time) along with additional data for the person 102 that corresponds to the input data used to train the machine learning model 408. The prediction system 316 may then provide this data for the person 102 as input to the machine learning model 408. In the continuing scenario, the machine learning model 408 generates a prediction 320 for the blood glucose measurements of the person 102 after a particular time, e.g., the current time. In one or more implementations, the machine learning model 408 outputs this prediction in the form of a vector.
[0100] While predicting blood glucose readings after a particular time (e.g., the current time) is described in connection with training and actually using the machine learning model 408, the model manager 402 may build a machine learning model 408 that predicts aspects that differ from patterns in observed blood glucose readings 118 and additional data 410. As an example, the model manager 402 may build a machine learning model 408 that predicts upward or downward trends in health indicators for a person 102, such as by maintaining the health indicators for the person 102 over a period of time. That is, the blood glucose readings 118 and additional data 410 of the user population 110 are used to build a model that preserves correlations between these health indicators and trends among the user population 110. In part, because the machine learning model 408 is trained with a large amount of training data, the machine learning model 408 is capable of capturing latent features in the data, which may include hidden relationships or spurious correlations in the data, but which a human analyst would be virtually unable to uncover randomly occurring absences in the relationships.
[0101] Regardless of whether the statistical model 406, the additional machine learning model 408, or some combination (ensemble) of statistical and / or additional machine learning models is used to generate the prediction 320, it may be obtained by the recommendation system 412. The recommendation system 412 is configured to generate suggestions 322 based on the prediction 320. The recommendation system 412 may implement with or otherwise have access to logic to configure the suggestions 322 according to the prediction. As an example, if the prediction 320 indicates a good health trend for the person 102 (e.g., her A1C is lower), the recommendation system 412 may generate suggestions 322 that suggest continuing various actions.
[0102] The logic used by the recommendation system 412 to generate the suggestions 322 may vary in complexity without departing from the spirit or scope of the described techniques, such as heuristics hand-coded into one or more additional machine learning models for constructing suggestions based on receiving the predictions 320 as input. Further implementation examples of the types of predictions and suggestions that may be generated by the model 404 and recommendation system 412, respectively, are described in more detail below. Consider now the following description of FIG. 5, which relates to a validation service and decision support platform in accordance with the described techniques.
[0103] FIG. 5 illustrates an example implementation 500 in which at least one of the predictions or recommendations generated by a data analytics platform is routed to at least one of a validation service or decision support platform.
[0104] The illustrated example 500 includes a computing device 108 and a data analytics platform 126 having a prediction system 316. In this example 500, the data analytics platform is depicted as communicating predictions 320 and suggestions 322, where the suggestions 322 relate to a user of the computing device 108, e.g., person 102. By way of example, the predictions 320 include information about the person (e.g., predicted blood glucose levels over the next time period, predicted health trends over the next time period, etc.), and the suggestions 322 include one or more suggestions targeted to the user (e.g., one or more actions to take or eliminate, behaviors to adopt or eliminate, etc.).
[0105] In contrast to the illustrated embodiment 300 of Figure 3, the illustrated embodiment 500 includes a validation service 502 and a decision support platform 504 as intermediaries between the data analytics platform 126 and the computing device 108. Thus, the predictions 320 and / or suggestions 322 may be routed to one or both of the validation service 502 or the decision support platform 504. Although the validation service 502 and the decision support platform 504 are not depicted in Figure 3, it should be understood that the predictions 320 and suggestions 322 generated in the scenarios described in connection with Figure 3 may also be routed through the validation service 502 and / or the decision support platform 504.
[0106] In accordance with the described technology, the validation service 502 is configured to activate the suggestion 322. This means determining whether the suggestion is valid (e.g., secure) and can be communicated to the decision support platform 504 and / or directly to the computing device 108. The validation service 502 may expose the suggestion 322 to users, e.g., clinicians, who have been authorized by the validation service 502 to activate the suggestion. As an example, the validation service 502 may email the suggestion 322 to the clinician, provide the suggestion 322 through a clinician portal (e.g., where the clinician may review multiple suggestions and activate them), and provide a notification of the suggestion 322 on a mobile device screen, i.e., allowing the clinician to accept, reject, or obtain additional information with a simple gesture, just to name a few. The validation service 502 may surface the suggestion to users (e.g., clinicians) who are authorized to activate the suggestion in a variety of ways without departing from the spirit or scope of the technology described herein.
[0107] In response to the suggestion being enabled (e.g., by the clinician or by logic of the validation service 502), the suggestion may be routed further to the decision support platform 504 or directly to the computing device 108. When the suggestion is not enabled (i.e., rejected), the suggestion may not be routed further to the decision support platform 504 or to the computing device 108. Instead, the validation service 502 may modify the suggestion (e.g., according to the clinician's input) and / or provide a notification back to the data analytics platform 126 that the suggestion was not enabled. In this scenario, the data analytics platform 126 may be able to add the indication that was not enabled as an input to the prediction system and initiate the generation of a different prediction 320 and / or suggestion 322.
[0108] Indeed, the model 404 may be updated based on enablements and de-enablements received from the validation service 502. In scenarios in which the validation service 502 enables a suggestion 322 and thus allows the suggestion 322 to be transferred directly to the computing device 108, the computing device 108 may output the suggestion 322 via a display device, an audio device (e.g., speaker, headphones, earphones), haptic feedback, etc., as described above and below. Examples of how suggestions may be surfaced by the validation service 502 to a user (e.g., a clinician) who is authorized to enable the suggestion are described in more detail below in connection with FIG. 13.
[0109] As described above, the suggestions 320 and / or the suggestions 322 may be communicated to the decision support platform 504 by the validation service 502 or, alternatively, may be communicated directly from the data analytics platform 126 to the decision support platform 504, bypassing the validation service 502. The decision support platform 504 is configured to provide assistance to a user of the CGM platform 112 for managing one or more health conditions, e.g., diabetes. In response to receiving the suggestions 322, for example, the decision support platform 504 may provide the suggestions to a customer support specialist, e.g., via email, an assistance specialist portal, etc.
[0110] Based on the suggestions 322 and other accessible information about the corresponding user, a customer service specialist may decide how to assist the user. By way of example, the customer service specialist may decide to call the user to provide voice assistance during the call, to select one or more preconfigured messages (e.g., text messages, mobile phone notifications, email messages, etc.) to send to the user (e.g., via an assistance specialist portal), to construct one or more messages to send to the user from preconfigured message components, to simply forward the suggestions 322 to the computing device 108, to contact a clinician or other medical professional associated with the user, to contact emergency services, to contact a caregiver or other guardian (e.g., parent) of the user, etc. The decision support platform 504 may provide tools, content, and services to assist the user in managing their health condition based on the predictions 320 and suggestions 322 in a variety of ways without departing from the spirit or scope of the described techniques.
[0111] Figure 6 depicts in more detail an example implementation 600 of the multi-state engagement system 318. As in Figure 3, the multi-state engagement system 318 is included as part of the data analytics platform 126, although in other scenarios the multi-state engagement system 318 may additionally or alternatively be included, partially or entirely, in other devices, such as the computing device 108.
[0112] In the illustrated example 600, the multi-state engagement system 318 includes an engagement state model manager 602 and an engagement state model 604, which may include one or more of a variety of machine learning models, e.g., classifiers, autoencoders, neural networks, decision trees, logistic regression models, Markov models, reinforcement learning models, just to name a few. These various machine learning models and / or ensembles of various machine learning models may be built or trained (or models are otherwise learned) using different data, according to different statistical modeling techniques, have different architectures, follow different algorithms, etc. Thus, it will be understood that the following description of the functionality of the engagement state model manager 602 is applicable to a variety of machine learning models.
[0113] In general, the engagement state model manager 602 is configured to manage the models 604. This model management includes, for example, generating the engagement state models 604 by training one or more models (e.g., neural networks), providing data to the one or more models to enable them to identify patterns in the data that indicate different states, deploying initial policies to identify different states, and then updating the policies upon receiving feedback regarding the output of the one or more models (e.g., reinforcement learning models), updating the models, etc. In particular, the engagement state model manager 602 is configured to perform this model management at least in part using a wealth of data maintained in the storage device 120 of the CGM platform 112. As illustrated, this data includes the CGM packages 302 (or at least a portion thereof) of the user population 110 and additional data 606. Stated another way, the engagement state model manager 602 builds the engagement state models 604, trains the engagement state models 604 (otherwise learns data patterns indicative of multiple different engagement states), and updates these models using the CGM packages 302 and the additional data 606 of the user population 110. It will be understood that the additional data 606 may correspond to the additional data 510 in one or more implementations. Alternatively, the additional data 606 may describe aspects of the user population 110 that are completely or partially different than those described by the additional data 510.
[0114] In a manner similar to the additional data 410, the CGM platform obtains additional data 606 of the user population 110 from various devices, sensors, applications, or services. Thus, the additional data 606 may be obtained from one or more "sources" different from the CGM package 302. This additional data 606 may include, by way of example and not limitation, purchase history data (e.g., describing purchases of the CGM system 104, portions thereof (e.g., disposable sensor application assemblies), and / or services offered by the CGM platform 112), complaint data, customer service data (e.g., describing user interactions with customer service representatives, such as whether the user responded to the customer service representative's attempts to contact the user), physiological data, socioeconomic data, attitudinal data, behavioral data, purchase history, complaint data, and payment data.
[0115] The additional data 606 may also include data describing health-related online activity of the user population 110, such as, for example, data describing search queries related to health conditions (e.g., search queries such as “urination,” “high blood sugar,” “diabetes,” “thirsty,” names of blood glucose monitoring systems, etc.), data describing navigation to health or diabetes related websites, data describing interactions with health-related mobile applications, data describing social networking interactions with health-related profiles on one or more social networks (e.g., users followed, hashtags, post likes, comments), data describing health-related social network interactions (e.g., posts or comments) on one or more social networks.
[0116] Unlike conventional systems, the CGM platform 112 stores (e.g., in the storage device 120) or otherwise has access to CGM packages 302 for hundreds of thousands of users (e.g., 500,000 or more) of the user population 110. Furthermore, the CGM measurements 118 included in the CGM packages 302 are taken at a continuous rate by sensors in the CGM system. As a result, the blood glucose measurements 118, and the data describing these measurements (e.g., the CGM packages 302), available to the engagement state model manager 602 to build and train machine learning models amount to millions or even billions of data points. Such a robust amount of data enables the model manager 402 to build and train an engagement state model 604 to accurately identify multiple different engagement states by the user population 110 with the CGM system 104 and the CGM platform 112.
[0117] Due to a lack of data describing the robustness of the CGM platform 112 blood glucose measurements 118 and the characteristics of these measurements and the receipt by the CGM platform 112 of the CGM packages 302, conventional systems are unable to build or train models that cover the state space in a manner that adequately represents how users actually engage with the CGM system 104 and CGM platform 112 in the real world. Failure to adequately cover these state spaces can result in inaccurate predictions of the user's usage states with the CGM system 104 and CGM platform 112, which can lead to interventions that are too late (or never implemented) to prevent potentially dangerous conditions with the CGM system 104 or to prevent discontinued use of the CGM system 104 and CGM platform 112. Given the importance of inaccurately identifying states that are indicative of how a user actually interacts with the CGM system 104, it is important to build the engagement state model 604 using a quantity of CGM packages 302 that is robust enough to capture patterns of spurious correlations or hidden relationships in the data.
[0118] Broadly speaking, the engagement state model manager 602 uses the CGM package 302 and the additional data 606 to generate the engagement state model 604. The engagement state model manager 602 may do so in a variety of ways, such that the operational engagement state model 604 generates and outputs state information 608 that identifies one or more states to which an individual user (e.g., person 102) corresponds at a given time. By way of example, the engagement state model manager 602 may generate the engagement state model 604 using supervised and / or unsupervised learning approaches.
[0119] In a supervised learning approach, for example, the engagement state model manager 602 may generate training instances from the CGM packages 302 and additional data 606 of the user population. Each of these instances may be associated with one or more labels indicating a state, with a given label being associated with instances that have a common pattern in the data. If CGM packages 302 are being received for a user, but the amount received or frequency of receipt over time is below a certain threshold, for example, the respective training instance may be associated with an "irregular use" label. In such a scenario, the engagement state model manager 602 exposes the engagement state model 604 to the data of the instances and compares the state information 608 output during training (e.g., using a cost function or other supervised learning algorithm) to the labels associated with each of the training instances, and in this example, the output state information 608 may correspond to the probability that the data of the training instance corresponds to each available label. The engagement state model manager 602 then adjusts the internal weights of the engagement state model 604 based on the comparison, for example, according to a cost function or other supervised learning algorithm.
[0120] Alternatively or additionally, training instances may be formed based on observed behaviors (e.g., discontinued use of the CGM system 104) corresponding to a particular state, such that data describing that behavior is extracted from the CGM package 302 and additional data 606, and data describing other observed behaviors (e.g., occurring within a time period prior to the observed behavior) is extracted from the CGM package 302 and additional data 606. Here, the engagement state model manager 602 exposes the engagement state model 604 to instances that include data describing other observed behaviors, and compares (e.g., using a cost function or other supervised learning algorithm) the state information 608 output during training to the data describing the observed behavior of each instance. The output state information 608 in this example may correspond to the probability that a user associated with the training instance will discontinue use of the CGM system 104 within a certain time period. The engagement state model manager 602 then adjusts the internal weights of the engagement state model 604 based on the comparison. While these two examples of supervised learning are described, the engagement state model manager 602 can use a variety of supervised learning techniques to generate the engagement state models 604 such that they are capable of identifying multiple different engagement states with the CGM system 104 and the CGM platform 112 without departing from the spirit or scope of the described techniques.
[0121] In an unsupervised approach, the engagement state model manager 602 generates training instances from the CGM packages 302 and additional data 606 of the user population 110. As an example, the engagement state model manager 602 generates a number of feature vectors from the CGM packages 302 and additional data 606 of the user population 110, each feature vector corresponding to a user of the user population 110, where the features represent aspects described by the CGM packages 302 and additional data 606. Although each instance of the training data for a particular model is configured to represent the same set of aspects (e.g., features) of the data, the value of a particular aspect in one instance may vary from the value of a given aspect in another instance depending on how the aspect is described by the CGM data packages 3025 and additional data 606 of the first and second users.
[0122] In such an unsupervised approach, the engagement state model manager 602 then exposes the generated training instances to the engagement state model 604. During training with an unsupervised approach, the engagement state model 604 identifies patterns indicative of multiple different states among the training instances according to a respective algorithm (e.g., by grouping or otherwise segmenting the instances). In other words, an unsupervised learning model learns an underlying model from the data according to the algorithm in which it is implemented, and uses the underlying model to segment the training instances based on patterns observed in the data. Some exemplary unsupervised learning approaches include, for example, clustering (e.g., k-means), anomaly detection, neural networks (e.g., autoencoders, Hebbian learning, generative adversarial networks, etc.), just to name a few.
[0123] In operation, whether configured as a supervised, unsupervised, or enhanced model, the engagement state model 604 receives as input data derived from the CGM package 302 and additional data 606 of the person 102, identifies which of one or more states corresponds to the person 102 based on the input data, and outputs state information 608 indicative of the identified states. By way of example, the state information 608 may be configured as one or more labels representing the one or more identified states, such as a probability that the person 102 corresponds to a different state (e.g., a first probability that the person 102 is in an active use phase, a second probability that the person 102 is in an irregular use phase, a third probability that the person 102 is in a discontinued use phase, etc.), an indication of a behavior that is likely to cause other behaviors (e.g., an indication of a behavior that the person 102 is likely to cause discontinued use of the CGM system 104), an indication that the person 102 is transitioning or has transitioned between states, etc. In one or more implementations, the state information 608 may include a Markov matrix that visually communicates the performance of the corresponding Markov model. It will be appreciated that the state information 608 may describe various aspects regarding different engagement states with the CGM system 104 without departing from the spirit or scope of the described technology.
[0124] As described in more detail below, this status information 608 can be used to control communications with the user of the CGM platform 112. For example, when the status information 608 includes a probability higher than a threshold probability (e.g., the person 102 is in an irregular use stage at the current time), the intervention platform may deliver one or more communications to the person 102 and / or to a customer service representative, e.g., deliver a notice to alert the representative of the irregular use. In this manner, the intervention platform may communicate (e.g., intervene) with the person 102 to determine whether the use of the CGM system 104 has actually become irregular (or there is some error that causes the use to appear irregular), determine why the use became irregular, and provide information to return the use to an "active" level. The status information 608 may also be used to automatically customize the predictions 320 and / or suggestions 322 communicated to the computing device 108. The multiple different states, as identified by the status information 608, may be used in a variety of ways without departing from the spirit or scope of the techniques described herein. As an example of a state that may be modeled by engagement state model 604, consider the following illustration of FIG.
[0125] FIG. 7 illustrates an example state space 700 of different engagement states with a CGM system.
[0126] The depicted example 700 includes states 702, 704, 706, 708, 710, 712, 714. These states may represent a plurality of labels used in connection with training and using the engagement state model 604 configured as a classifier such that the classifier predicts one of the classifications given given input data (e.g., feature vectors) that describe aspects of the CGM package 302 and additional data 606 of the person 102. Alternatively or additionally, the depicted states 702, 704, 706, 708, 710, 712, 714 may represent a plurality of states learned by the engagement state model 604 using unsupervised learning techniques.
[0127] The illustrated example 700 also includes multiple edges that represent transitions between different states 702, 704, 706, 708, 710, 712, 714. Although the example 700 includes bidirectional edges between each state, it will be understood that in one or more implementations, there may not be transitions between certain states and / or transitions may only occur in one direction between certain states rather than bidirectional. Edge 716 is an example of these edges. Although the state space 700 is illustrated with these edges, the operating engagement state model 604 may simply be configured to generate state information 608 as the probability that the user will transition from a current state to another state or the probability that the user has already transitioned to another state (through comparison with previously generated state information). States may be modeled as distributions rather than as vertices with edges.
[0128] In this example 700, states 702, 704, 706, 708, 710, 712, 714 represent an exemplary sequence of stages through which a user, who is a patient and may be prescribed the CGM system 104, may engage with the CGM system. Here, state 702 represents an inquiry phase (e.g., when a user inquires about or otherwise expresses an interest in CGM system 104 or inquires about a diabetes-related medical condition), state 704 represents a selection phase (e.g., when a user is actively selecting among blood glucose monitoring solutions), state 706 represents a predetermined phase, state 708 represents an active usage phase (e.g., when a user actively uses CGM system 104 along with the functionality of CGM platform 112), state 710 represents an irregular usage phase (e.g., when a user's activity level declines somewhat from a previous active level of usage and / or falls below a usage threshold), state 712 represents a discontinued usage phase (e.g., when a user discontinues use of CGM system 104 and / or CGM platform 112), and state 714 represents a subsequent solution phase (e.g., when a user uses a different CGM system deployed by a different entity than CGM platform 112).
[0129] This is just one example of multiple states associated with which a user may engage with the CGM system 104. Certainly other states may be used, and the engagement state model 604 may use certain algorithms to identify various states (e.g., segments of users) that indicate how different users engage with the CGM system 104 and CGM platform 112 without departing from the spirit or scope of the described techniques.
[0130] FIG. 8 illustrates an example implementation in which information regarding the state of engagement with a CGM system is routed to an intervention platform.
[0131] The depicted example 800 includes a computing device 108 and a data analytics platform 126 having a multi-state engagement system 318. In this example, the data analytics platform 126 is depicted as communicating state information 608 to an intervention platform 802.
[0132] In accordance with the described techniques, the intervention platform 802 is configured to communicate with a user associated with the computing device 108 based on the state information 608. By way of example, the state information 608 may include an indication of a stage of engagement with the CGM system 104 for the person 102. For example, the state information 608 may include a probability that the user is in each of multiple stages of interaction with the CGM system 104, and the current state may be identified as the stage having the highest probability. Additionally or alternatively, the state information 608 may include a probability that the user will transition from the current state to a new state and facilitating factors predicted by the multi-state engagement system 318 as likely to facilitate the transition to the new state.
[0133] The intervention platform 802 may expose the status information 608 to users who have been authenticated to the intervention platform 802 and authorized to intervene in a particular scenario by communicating with the user, e.g., a customer service representative, a clinician, etc. As an example, the intervention platform 802 may provide the status information 608 (or notifications derived based on the status information 608) via an intervention portal, e.g., where a customer service representative can review status information for multiple users.
[0134] The exposed status information 608 may enable an authorized user of the intervention platform 802 to decide whether to communicate with the user associated with the status information 608, such as, for example, whether to call the user, whether to send an email to the user, whether to send an SMS message to the user, etc. Including factors likely to facilitate a predicted transition from a current state to a new state may also be used to customize an intervention strategy. As an example, if a faulty device (e.g., a faulty sensor 202) is in use and the status information 608 indicates that usage has declined since the faulty device began to be used, a customer service representative may deploy a strategy specific to the faulty device, e.g., send a new properly working device. The intervention platform 802 may also expose tools via a user interface that allow its customer service representative to communicate with the user. The communication 804 represents a communication from the intervention platform 802 based on the status information 608. The communication 804 may be a phone call, an email, an SMS message, an instant message, a mobile application notification, etc.
[0135] Although a customer service representative is discussed immediately above, in some implementations, the status information 608 may not be exposed to a user of the intervention platform 802, leaving the user to determine whether and how to communicate with the user of the computing device 108. As will be appreciated, the intervention platform 802 may be configured to automatically generate and communicate a communication 804 based on the status information 608, such as in response to logic that directs the intervention platform 802 to communicate in a particular manner depending on the status information 608. If the status information 608 indicates that the user transitions from an irregular usage phase to an active usage phase, for example, the intervention platform 802 may automatically communicate a congratulatory SMS message to the computing device 108. It will be appreciated that in response to the status information 608, the intervention platform 802 may automatically both generate and send the personalized communication 804 to the computing device 108 and also expose the status information 608 (or information derived therefrom) to the user (e.g., a customer service representative of the intervention platform 802) via a user interface. The intervention platform 802 may provide tools, content, and services for initiating actions based on the user's state information 608 in a variety of ways without departing from the spirit or scope of the described techniques.
[0136] Having described the CGM system 104 and how data collected from various sources can be used to identify and predict multiple different engagement states with the CGM system, consider the following example implementations.
[0137] Using models to generate predictions and proposals FIG. 9 illustrates an example CGM platform user interface 900 that is displayed on a computing device coupled to a CGM system.
[0138] The illustrated example 900 includes a CGM user interface 902 displayed by the computing device 108. In this example, the CGM interface 902 is depicted as displaying a prediction 904 along with suggestions 906. As described throughout, the prediction 904 is generated by the prediction system 316 to predict the user's health indicators by processing the user's blood glucose readings 118 and additional data 410 using one or more models, such as the statistical model 406 or additional machine learning model 408.
[0139] For purposes of this example, assume that after receiving an A1C and fasting glucose test results indicating that the user has "pre-diabetes" which places them at risk for developing Type II diabetes in the near future, the user begins measuring blood glucose levels using the CGM system 104. With this in mind, the user begins wearing the CGM system 104 which automatically provides blood glucose readings 118 to the predictive system 316. The CGM platform 112 processes the blood glucose readings 118 collected for the user and determines that the user's blood glucose is increasingly in the "high" range (e.g., >250 mg / dl).
[0140] Along with the blood glucose measurements 118, the prediction system 316 obtains the user's nutritional data, such as food and beverage purchase data provided by various third parties 306 (e.g., grocery stores, restaurants, liquor stores) and / or user-provided nutritional data (e.g., food logs, captured images of food and beverages consumed, scanned restaurant or grocery store receipts). This nutritional data indicates that the user consumes, on average, one liter of soda per week, eats at fast food restaurants three times a week, drinks beer most weekends, and eats potato chips. The prediction system 316 may also make various inferences based on the foods or beverages not consumed by the user. In this case, the prediction system 316 analyzes the nutritional data to determine that the user rarely purchases "whole foods," such as fruits, vegetables, or meat. Additionally, the prediction system 316 obtains the user's activity data, including step count data indicating that the user rarely walks more than 5,000 steps per day and does not exercise, and also includes sleep data indicating that the user sleeps an average of only five hours per night.
[0141] The predictive system applies the model 404 to the blood glucose readings 118 and the additional data 410, which in this example includes the user's nutritional and activity data as described above. Taking into account the user's increasing blood glucose readings, poor food choices, and lack of activity, the predictive system 316 generates a prediction 904 indicating that the user has a 76% chance of developing Type 2 diabetes within 40 months.
[0142] Along with the prediction 904, the CGM user interface 902 displays suggestions 906 generated by the suggestion system 412 of the data analytics platform 126. The suggestions 906 include one or more actions or behaviors that the user can take to improve the user's predicted poor health condition. In this case, the suggestions 906 include a customized meal plan suggestion, a customized exercise plan suggestion, and a suggestion for obtaining guidance that can help the user stay on track with the suggested nutrition and exercise plan. In FIG. 9, the user is shown selecting the customized exercise plan suggestion to obtain more detailed information about the suggested exercise plan.
[0143] Continuing with this example, assume the user follows the actions and behaviors suggested by the prediction system 316, for example, by switching to a whole food diet, tracking their diet using an online food log, walking 10,000 steps per day, tracking their steps with a smartwatch equipped with a pedometer, working out three times a week and logging each workout in an online workout log. In this case, the prediction system 316 continuously collects the user's blood glucose readings 118, nutritional data, and activity data and determines that the user's improved nutritional choices and exercise frequency are correlated with a decrease in the user's average blood glucose readings 118.
[0144] Based on the user's updated blood glucose readings 118 from the CGM system 104 and additional data 410 indicating that the user is making better food choices (as indicated by the user's nutrition log) and exercising more frequently (as indicated by the step count data and exercise log), the prediction system 316 generates an updated prediction, which is communicated to the computing device 108 for display as a notification 1002, as shown in FIG. 10. In this example, the updated prediction in the notification 1002 indicates that the user is "unlikely" to develop type II diabetes within the next 40 months. Notably, the updated prediction in the notification 1002 provides good feedback to the user, which may further motivate the user to continue with a healthy diet and exercise. Conversely, if the updated prediction indicates a worsening health condition, the updated prediction may help motivate the user to get back on track.
[0145] Generate application suggestions for similar users As described throughout, the CGM platform 112 leverages one or more CGM platform APIs 310 to enable communication of blood glucose readings 118 from the CGM platform 112 to various third parties 306, and communication of third party data 314 from the third parties 306 to the CGM platform 112. As such, applications and services offered by such third parties 306 that leverage blood glucose readings 118 are becoming increasingly available and can often be downloaded via an “app store.” Once downloaded to the computing device 108, the user can authorize the third party 306 to access the user's blood glucose readings 118 via the CGM platform API 310. Doing so allows the third party 306 to leverage the blood glucose readings 118 in a variety of different ways to improve the user's health. In this manner, the third party 306 may be able to offer a variety of applications and services that use the blood glucose readings 118 without such third party 306 having to manufacture and deploy its own CGM system. As the number of third party “apps” and services grows, it becomes increasingly difficult for a population of users to find an app and service that will work best for their individual circumstances.
[0146] The CGM platform 112 may include an "input" API 310 that enables the CGM platform 112 to receive third-party data 314 from various third parties 306 (e.g., via third-party servers of the third parties 306). Such third-party data 314 may include application interaction data describing user interactions with third-party services or applications. Such data may include, for example, data extracted from application logs describing user interactions with particular applications, clickstream data describing clicks, taps, and presses performed in connection with an input / output interface of a computing device, and the like.
[0147] The CGM platform 112 can aggregate the application interaction data along with the blood glucose measurements 118 and additional data to determine whether a user's interaction with a particular application or service correlates with an improvement in the user's health. For example, based on the blood glucose measurements 118, the CGM platform 112 can objectively determine an improvement in the user's health. The CGM platform 112 can consider a variety of different factors based on the blood glucose measurements when determining whether use of an application improves the user's health, including improvements in average blood glucose levels, time in range, mitigation of certain undesirable patterns, or any combination thereof. Additionally, the CGM platform 112 may provide various controls to account for differences in the blood glucose measurements 118, such as sensor utilization and calibration frequency. The CGM platform 112 may also consider data provided by a third party 306 when determining an improvement in the user's health. The CGM platform 112 can then correlate an improvement or decline in the user's health with use of a particular application based on the application interaction data. For example, if the CGM platform 112 detects an improvement in the user's health that coincides with frequent use of a particular application, the CGM platform 112 may determine that the particular application is correlated with the improvement. Based on the amount of data available to the CGM platform 112 , correlations between particular applications and improved health status may be determined for a subset of users in the user population 110 .
[0148] The recommendation system 412 can then identify similar users with health conditions and generate suggestions to the similar users to utilize the particular application that helped improve the health conditions of the subset of similar users. To do so, the recommendation system 412 can predict the probability of similar improvements in health conditions through use of the particular application by other users in the user population and suggest applications likely to improve health to other target users. Such application suggestions may be targeted to individual users similar to the subset of users with improved health conditions that correlate with use of the particular application. For example, if use of a particular application is correlated with improved glycemia for a subset of users in the user population, the CGM platform 112 can suggest use of the particular application to similar users in the user population 110.
[0149] Identification of similar users may be based on at least one of demographics or observed patterns in blood glucose measurements of similar users. For example, similar users may be identified as having the same health condition based in part on blood glucose measurements 118 provided by the CGM system 104 worn by the user. The CGM platform 112 may initially generate a user profile for a new user who begins wearing the CGM system 104, including demographic data such as age, gender, location, existing medical records, etc. As the CGM platform 112 collects blood glucose measurements 118 and additional data 410 from the user, the CGM platform 112 refines the user's similarity score with other users. For example, a user who is a 22-year-old female with an average blood glucose of 162 mg / dL and experiences a pattern of nocturnal low blood glucose measurements may have a similarity score with other users of that age, gender, average blood glucose measurements, and pattern experience.
[0150] The similarity score is then combined with the user's previous application success to determine application suggestions. For example, if users similar to the target user download and use a particular application and subsequently experience improvement in glycemia (e.g., as evidenced by lower average blood glucose levels and reduced overnight drops), the suggestion system 412 may be configured to generate a high suggestion score for the target user's particular application. Conversely, if no such improvement is seen with other applications, those applications will have a lower suggestion score for the target user. The application suggestions may be communicated to the computing device 108 for output.
[0151] In the context of generating application suggestions, consider FIG. 11, which depicts an additional example 1100 of a CGM platform user interface displayed on a computing device coupled to a CGM system. The illustrated example 1100 includes a CGM user interface 1102 displayed by the computing device 108. In this example, the CGM user interface 1102 is depicted as displaying suggested applications 1104. As described throughout, the suggested applications 1104 may be determined by the suggestion system 412, which improves the health status of a target user based on the similarity of the user to other users in the user population 110 whose health status has improved based on at least one use of the suggested applications 1104. In this case, the suggested applications 1104 correspond to various third party applications. In FIG. 11, the user is depicted as selecting the application "Nutrition by Neha" in order to download the application to the user's smartphone.
[0152] In particular, the suggestion system 412 can further enhance the suggestions of the application as the target user downloads and uses the application, thus reinforcing or negating previous suggestions and leading to improved future subsequent suggestions. For example, if the suggestion system 412 obtains blood glucose readings 118 from similar users that indicate similar improved health, this feedback will positively reinforce the correlation between the improved health of the subset of users and the use of the particular application. Conversely, if the blood glucose readings 118 from similar users do not indicate improved health (or indicate worsening health) for the similar users, this feedback will negatively reinforce the correlation between the improved health of the subset of users and the use of the particular application.
[0153] With reference to FIG. 11 , for example, when a user begins interacting with the “Nutrition by Neha” application, application interaction data may be communicated to the CGM platform 112 via the CGM platform API 310 and correlated with the user's blood glucose readings 118 and additional data. In this manner, the CGM platform 112 may continually update the model 404 used to suggest applications based on feedback received from use of the applications by the user population 110. In configurations where the machine learning model 408 is updated based on feedback, the model may be configured as a reinforcement learning model, for example. The updated model 404 is then used to generate improved application suggestions.
[0154] Additionally, if the CGM platform 112 detects that use of a particular application is improving the user's health status based on updated blood glucose measurements 118, the CGM platform 112 may communicate a notification of the improvement to the computing device 108 for output. In FIG. 12, for example, a notification 1202 is displayed by the computing device 108 indicating that use of the "Nutrition by Neha" application has improved the user's neuropathy. It should be appreciated that this positive notification may motivate the user to continue using the application.
[0155] Verification Services FIG. 13 depicts an example implementation 1300 of a validation service user interface with which authorized users can interact to validate suggestions generated by the CGM platform.
[0156] In the illustrated example 1300, a display device 1302 is depicted displaying a user interface 1304 of a validation service 502. Broadly speaking, the interface elements of the user interface 1304 allow an authorized user to interact with them to enable or reject a suggestion provided by the data analytics platform 126 and intended for delivery to a user, e.g., person 102. In response to receiving input via a user interface element that enables a suggestion (e.g., suggestion 322), the validation service 502 may route the suggestion to the respective user's computing device 108. As explained above, the validation service 502 may also route the suggestion to the decision support platform 504. In response to receiving input via a user interface element of the user interface 1304 that rejects the suggestion, the validation service 502 does not communicate the suggestion to the computing device 108. Instead, the validation service may communicate a notification to the data analytics platform 126 indicating that the suggestion has been rejected. Additionally or alternatively, an authorized user of the validation service 502 may modify the suggestions and then transmit the modified suggestions to the user's computing device 108. As mentioned above, users authorized to validate suggestions provided by the data analytics platform 126 may include clinicians or other medical professionals qualified to provide health guidance to patients.
[0157] In the depicted example 1300, a user interface 1304 displays stubs 1306 of suggestions provided by the data analytics platform 126 to the validation service 502. These stubs 1306 are configured as interactive elements with which a user can interact to review, enable, reject, and / or take some other course of action (e.g., modify) in relation to each suggestion. Although suggestion stubs are depicted in this example, other user interface elements may be used that allow an authorized user to review, enable, reject, and / or take some other course of action (e.g., modify) in relation to each suggestion without departing from the spirit or scope of the described techniques.
[0158] In this example 1300, each of the stubs 1306 also includes a user or patient name, a display of the prediction 320 on which the respective suggestion 322 is based, and a display of the suggestion 322. A user 1308 is depicted performing a gesture in relation to one of the stubs 1306 (in this case a right-to-left swipe gesture) to expose further interface elements selectable to enable or reject the respective suggestion 322. It should be understood that the elements to enable or reject the respective suggestion may be exposed in other ways, such as being displayed as part of each stub without requiring an interaction such as a swipe gesture, or as part of a menu that is launched in response to some interaction on the stub (e.g., right-clicking with a mouse). Although not shown, the stubs 1306 may also be selectable to expose a unique user interface that outputs the suggestions, i.e., the entirety of the prediction and the entirety of the suggestions for review, including options to enable and reject the suggestions and other options, as well as multiple options for processing the suggestions.
[0159] Fault Detection and System Configuration Issues FIG. 14 illustrates an example implementation 1400 of a user interface that outputs information about faults and system configuration issues detected in connection with use of a CGM platform.
[0160] In the illustrated example, a display device 1402 is depicted that displays a user interface 1404 of the fault detection and system configuration service. In one or more implementations, the fault detection and system configuration service may be included as part of or otherwise accessible to the CGM platform 112. It should also be understood that portions of the user interface 1404 may be provided to and displayed to other entities via respective portals, such as manufacturers or service providers that respectively provide devices or services that may be used in connection with the CGM system 104. These devices may include one or more of the computing device 108, the insulin delivery system 106, myriad physiological marker measuring devices, various components of the CGM system 104, and the like.
[0161] The user interface 1404 displays stubs 1406 for multiple detected faults and system configuration issues. Although a variety of faults and issues are displayed in the user interface 1404, the faults and / or issues displayed to a given entity (e.g., a particular manufacturer or a regulatory body such as the U.S. Food and Drug Administration (FDA)) may be limited (e.g., faults or issues related to a particular manufacturer's devices, or information required by law to be disclosed to a regulatory body). In contrast, users who authorize the CGM platform 112 as employees or similar users (e.g., engineers, quality assurance, development partners, etc.) may have permission to view all faults and / or issues related to the CGM platform 112.
[0162] In this example 1400, the stubs 1406 include stubs for events (e.g., faults) reported by one or more devices communicatively coupled to or otherwise associated with the CGM platform 112, such as reported by the CGM system 104 with respect to the sensors 202, the computing device 108, the insulin delivery system 106, the third party 306, just to name a few. The stubs 1406 also include stubs related to issues that arise in association with particular system configurations that include the CGM system 104, but with different combinations of other devices, such as configurations with particular computing devices 108 (e.g., particular manufacturers), particular ensembles of computing devices 108 (e.g., cell phones corresponding to a first manufacturer and smart watches corresponding to a second manufacturer), particular insulin delivery systems (e.g., insulin pens versus insulin pumps from different manufacturers), particular firmware and software versions, etc.
[0163] The stubs 1406 also include stubs that convey one or more measures of reliability, such as reliability of data acquired by various components (e.g., manufacturing lots of the sensors 202), system configurations, user associations with various demographics, etc. In one or more implementations, the measure of reliability is a confidence interval. Additionally, the stubs 1406 include stubs that indicate use of platform features (e.g., application functionality and / or user interface elements corresponding to the CGM platform 112). This information can be used by the system developer to determine whether to continue developing and / or providing support related to various features.
[0164] With respect to stubs describing events reported by one or more devices, it is difficult, if not impossible, for developers corresponding to the CGM platform 112 to test all combinations of devices and CGM platform 112 applications, e.g., cell phone and smartwatch applications, that may be used in connection with the CGM system 104 prior to deployment. Instead, those developers may limit testing to those combinations of devices that are most likely to be used (e.g., the most popular mobile devices or insulin delivery systems 106) and / or those suggested by the CGM platform 112 in content disseminated, e.g., via publications, web pages, packaging, emails, advertisements, etc. To this extent, the developers may be aware of and have fixed only a subset of issues with the device combinations that have been tested, but not issues with the combinations that have not been tested.
[0165] By collecting and maintaining a vast amount of blood glucose measurements 118, CGM device data 214, and supplemental data 304 in storage device 120, data analytics platform 126 can train models 404 and then utilize models 404 to identify issues (e.g., failures) with different combinations of devices used by user population 110, such as issues observed during real-world use in both tested and untested combinations. In fact, the tested combinations of devices may not have been tested in the various ways actually used by user population 110 in the real world. Thus, by identifying these issues using models 404, data analytics platform 126 can notify developers of the issues, who can develop fixes for the issues and then deploy them, for example, as firmware or software updates, as updates to model 404, etc.
[0166] Alternatively or additionally, the data analytics platform 126 may use the identification of these problems to adjust predictions and suggestions for combinations that are experiencing problems. As an example, if a combination of devices used by a small subset of the user population (e.g., 1%) consistently (and predictably) provides lower blood glucose readings 118 to the CGM platform 112 than blood glucose readings 118 provided by other combinations, this information may be used to update the real-time blood glucose readings 118 presented to the user via the computing device 108.
[0167] This information can also be used by the model 404 to predict that users with a combination of devices will experience the same problems as a subset of the population. In particular, this information can be used to ensure that valid (e.g., safe) recommendations are generated and provided to these users. The data analytics platform 126 may use the capabilities to identify problems, such as faults, with different combinations of devices in a variety of ways without departing from the spirit or scope of the described techniques.
[0168] In connection with the stubs describing the use of the platform's features, this information may be used to determine whether to continue developing and / or providing assistance in connection with the various features, as described above. In one or more implementations, the data analytics platform 126 may analyze the data maintained in the storage device 120 to determine the costs to the company corresponding to the CGM platform 112 of supporting the various features of the CGM platform 112, e.g., the various functionalities provided by its CGM system 104 and applications. As part of this, the data analytics platform 126 is configured to measure the variability, covariation, and statistical dependency between each functionality deployed by the CGM platform 112, e.g., the functionality of the system 104 to measure the temperature of the person 102, the functionality of the CGM platform's 112 mobile phone application to identify likely occurrences of hypoglycemia at night, the functionality of the CGM platform's 112 smart watch application to use haptic feedback (e.g., vibration) in connection with output notifications, etc.
[0169] In one or more implementations, the data analytics platform 126 determines the variation and covariance by generating a matrix having dimensions corresponding to a predetermined number of users (e.g., 50,000 users) sampled from the user population 110 and a number of features (e.g., functionality) deployed by the platform 112 or a number of features being considered for potentially ceasing development or support. In the following description, the predetermined number of users is represented by the term m and the number of features is represented by the term n. To this end, the data analytics platform 126 constructs an m×n matrix, where each cell of the matrix indicates whether a sampled user uses the corresponding feature. The data analytics platform 126 may determine that a user uses a feature in various ways, and use may be defined differently for different features. For example, the data analytics platform 126 may determine that a user has used a feature if data from the storage device 120 indicates that the user has used the feature, has used the feature or consumed more than a threshold amount of time with the feature active, has used the feature more than a threshold number of times, has allowed the feature to be activated (e.g., allowed notifications), etc.
[0170] Using the m×n matrix, the data analytics platform 126 calculates the variability score for a given feature i as a function of the number a of users that "use" the given feature i out of the number m of sampled users. In one example, the data analytics platform 126 calculates the variability according to:
number
[0171] where the term φ(i) represents a variability score. The data analytics platform 126 is also configured to calculate a covariation score for a given feature i and another feature j as a function of a number of users a that use the given feature i and as a function of a second number of users b that use another given feature j from the number of sampled users m. The data analytics platform 126 also calculates the covariation as a function of a third number of users c that simultaneously use the given feature i and the other feature j. In one example, the data analytics platform 126 calculates the covariation score according to:
number
[0172] Here, the term φ(i,j) represents the covariation score and the term φ(j) represents the variance score for any given feature j.
[0173] The data analysis platform 126 measures statistical independence between different features by constructing a contingency table for each pair of features such that each feature is paired with m-1 features and a contingency table is generated for each pair. The data analysis platform 126 performs a known independence test for each table. In one or more implementations, the known independence test includes a chi-square test of independence, the output of which is a P-value, e.g., the probability of observing a sample statistic as extreme as the test statistic. The data analysis platform 126 then compares the output (e.g., P-value) of the known independence test for each table to a significance level threshold. If the output meets the significance level threshold, the data analysis platform identifies the pair of features as dependent features.
[0174] The data analytics platform 126 then determines the cost of the given feature i as a function of the pairwise scores φ(i,j) for other features that are statistically dependent on the given feature i in addition to the variance φ(i) of the given feature. The data analytics platform 126 may then present these scores to an authorized user (e.g., an engineer, a marketer, etc.) corresponding to the CGM platform 112, such as by display via the user interface 1404 or some other interface. It should be understood that the cost of features on the CGM platform 112 may also be determined in other manners.
[0175] Engagement state transition predictions FIG. 15 illustrates an example implementation of a multi-step engagement system that generates state information including the probability of transitioning from a current state to a new state and predicted facilitators of the transition.
[0176] In the illustrated example 1500, the engagement state model manager 602 is depicted as obtaining the CGM package 302 and additional data 606 for the person 102. Generally speaking, this data is processed using the engagement state model manager 602 and the engagement state model 604 to generate state information 608. The example includes processed data 1502 that the engagement state model manager 602 generates based on the CGM package 302 and additional data 606 for the person 102 and provides as input to the engagement state model 604.
[0177] As an example, the engagement state model manager 602 may generate the processed data 1502 as a feature vector having features determined in association with identifying an engagement state with the CGM system 104 and based on which the model is generated. When configured as a feature vector, the processed data 1502 has feature values derived from the person's 102 CGM packages 302 and the additional data 606. In a scenario in which the engagement state model 604 predicts the probability that the person 102 will discontinue use of the CGM system 104 such that the transition probability 1504 is the probability that the person 102 will transition to a discontinued use stage, the processed data 1502 may have features describing the person's CGM data history, which is derived from blood glucose measurements 118 of the CGM packages 302, data indicative of receipt of those packages by the CGM platform 112, purchase history associated with the CGM system 104 or portions thereof, and purchase history of services offered by the CGM platform 112. In this scenario, the processed data 1502 may also include features describing the person's 102 complaint history, Census Bureau data features, payment information features, and the like.
[0178] In this example 1500, the engagement state model 604 is configured to receive processed data 1502 as an input. In operation, a given engagement state model 604 is configured to generate state information 608 of the processed data 1502 in a particular format, e.g., having a particular number of features with values in an expected format. Based on the processed data 1502 and an underlying model learned through a machine learning approach as described above (e.g., supervised learning, unsupervised learning, reinforcement learning), the engagement state model 604 outputs state information 608. Here, the engagement state model 604 generates transition probabilities 1504 and facilitators 1506. The transition probabilities 1504 may represent the probability that the person 102 transitions from a current state to a new state, e.g., a discontinued use state. In one or more implementations, the state information 608 may include a transition probability for each of a plurality of possible states. The facilitating factors 1506 may indicate which factors are likely to facilitate a transition from the current state to the new state. In implementations where the transition probabilities 1504 correspond to the probability that the person 102 will transition to the discontinued use stage, the facilitating factors 1506 indicate factors that are likely to transition the person to the discontinued use stage. In one or more implementations, the engagement state model 604 calculates a probability for each factor (e.g., feature) represented in the processed data to cause a transition to the next state and, based on those probabilities, designates features as facilitating or not, e.g., the top k features, or those with a probability above a certain threshold.
[0179] In the continuing example illustrating how transition probabilities 1504 represent the probability that a person 102 will transition to a discontinued use stage and facilitating factors 1506 are described by the processed data 1502 causing the transition, state information 608 may be communicated to the intervention platform 802. The intervention platform 802 may deploy different strategies to intervene (or not) based on the transition probabilities 1504 and the facilitating factors 1506.
[0180] Diabetes search inquiry FIG. 16 illustrates an example implementation of a user interface for receiving a diabetes-related search query.
[0181] The illustrated example 1600 includes a user interface 1602. The user interface 1602 includes a search query input element 1604 that allows a user to enter a search query. Although the search query input element 1604 is illustrated as a text input field, the search query may be received in a variety of ways, such as by receiving a voice command via a voice assistant device, without departing from the spirit or scope of the described techniques.
[0182] In the illustrated example 1600, a search query 1606 for “hyperglycemia” is received based on input from a user 1608. In accordance with the described technology, this particular search query 1606 may be referred to as a health-related, or more specifically, diabetes-related, search query. Other examples of diabetes-related search queries may include “urination,” “headache,” “veins,” and “diabetes,” just to name a few. Indeed, health and diabetes-related search queries may include a variety of terms and combinations of those terms, including terms related to nutrition and exercise. In either case, the receipt of such search queries may be captured by tracking the user's online activity, and data describing the receipt of these search queries may be generated. This search query data may be one source of the additional data 606. Thus, the engagement state model 604 may be generated, in part, using the search query data in one or more implementations to learn an underlying model for stages of engagement with the CGM system 104, for example. In this particular example, a search for health and diabetes-related information may correspond to query or selection stages of engagement associated with the CGM system 104, such that the engagement state model 604 predicts that a user submitting such a search query will correspond to at least one of those stages.
[0183] However, in reality, a user submitting such a search query may be experiencing a risky health condition and / or may be likely to experience a risky health condition in the near future due to diabetes. To this end, providing support to the user based on the user's predicted condition so that the user can monitor his / her blood glucose may be paramount to prevent or mitigate the risky health condition. Thus, the described system may use the search query to educate the user on blood glucose monitoring. The described system may also use the search query to have the user obtain a diagnostic solution or CGM system 104 and utilize the CGM platform 112 sooner than the user would otherwise receive such support with traditional approaches. For example, by leveraging the search query information, rather than waiting for the user to schedule an appointment with a healthcare provider, the CGM platform 112 may provide information to the user sooner in the form of delivered digital content or otherwise initiate communication with the user regarding health conditions, diagnostic solutions, and potential treatment options.
[0184] The illustrated example 1600 includes a digital content component 1610. The digital content component 1610 represents just one manner in which the CGM platform 112 may communicate with a user 1608 based on receipt of a health and diabetes-related search query. In particular, the digital content component 1610 is depicted as being displayed via a user interface 1602, which display may be responsive to receipt of a search query 1606. The digital content component 1610 may correspond to a digital advertisement displayed via the user interface 1602, a search result displayed via the user interface 1602, a pop-up or toast notification displayed via the user interface 1602, and the like. Indeed, the digital content component 1610 may be configured in a variety of ways, such as audible information output via a voice assistant device, a mobile notification (e.g., via a mobile phone or smartwatch), information presented initiating one or more social networks, an SMS message, and the like, without departing from the spirit or scope of the technique. Alternatively or additionally, the CGM platform 112 may initiate other types of communications with the user based on the health- and diabetes-related search queries by sending the user an email, calling the user, etc. Other types of communications may include communications with the user's caregiver (e.g., parent or guardian) or a medical professional associated with the user, just to name a few.
[0185] The digital content component 1610 may further provide support to enable the user to monitor blood glucose and prevent or mitigate dangerous health conditions by providing information regarding health conditions resulting from diabetes, how to contact a healthcare provider, how to contact a customer support representative of the GGM platform 112, information regarding the ease of use of the CGM system 104, information regarding the CGM system 104, information regarding other diabetes patients and their lives, and the like. Indeed, the digital content component 1610 may include a variety of information without departing from the spirit or scope of the described techniques. It will be further appreciated that these techniques may also be deployed to communicate with potential “commercial” users of the CGM system 104 and CGM platform 112, such as, for example, when a user enters a search query such as “tracking blood glucose levels”, “how blood glucose affects performance”, “blood glucose athletic performance”, “blood glucose levels and mental performance”, and the like. Such users may also be determined to be in a stage that captures their stage as being in the inquiry stage or selection stage using the engagement state model 604, but with a “commercial” user role rather than a “patient” role.
[0186] Implementation of intervention strategies As described above, the CGM packages 302 and additional data 606 of the user population 110 are used by the engagement state model manager 602 to generate engagement state models 604, which segment the data of the user population 110 into various states (or segments), e.g., clusters of data exhibiting similar patterns, based on the particular machine learning techniques used to generate these models. Also, as described above, the different states may capture the roles of users of the user population 110 in relation to the CGM system 104, as well as stages along the course of engagement with the CGM system 104. Thus, the engagement state models 604 may model, among various other roles, states corresponding to patients who have been prescribed and are using the CGM system 104 (e.g., a first role) and states corresponding to commercial users for whom the CGM system 104 has not been prescribed (e.g., a second role). In particular, a patient who is prescribed and uses the CGM system 104 and also uses the first application of the CGM platform 112 may correspond to a different state modeled by the engagement state model 604 than a patient who is prescribed and uses the CGM system 104 but does not use the first application.
[0187] Regardless, these states, and specifically the roles corresponding to the states, may impact the intervention strategies, if any, that are deployed. Additionally, different patterns of data considered may indicate different states and state transitions for different roles. Consider an example where a first user is a patient who prescribes and uses a CGM system 104 (e.g., in connection with treating diabetes) and a second user is a commercial user of the CGM system 104 (e.g., attempting to optimize athletic performance).
[0188] In this example, consider also that a first user's (patient) CGM package 302 includes blood glucose readings 118 that vary widely (outside of a desired range) and a second user's (commercial user) CGM package 302 includes blood glucose readings 118 that vary little (and are consistently within a desired range). In both cases, the engagement state model 604 may identify that the user is likely to transition to a discontinued usage state, as indicated by the state information 608, specifically the transition probabilities 1504 output by the engagement state model 604. In practice, this may be due to the user becoming frustrated with the CGM system 104 because the first user's treatment plan was ineffective or not followed to "level" his or her blood glucose levels. In contrast, the second user, through use of the CGM system 104 over a period of time, has identified behaviors that spike his or her blood glucose levels and eliminated those behaviors from his or her life, such as eating certain foods and not exercising.
[0189] In any case, strategies for preventing the first and second users from ceasing use of the CGM system 104 (transitioning to a discontinued use state) may differ substantially. As described above, these strategies may be generated based on the contributing factors 1506 that are likely to cause the users to transition to different states. Indeed, the contributing factors of the first and second users may differ substantially (the contributing factors 1506 of the first user may include, for example, inconsistent blood glucose readings 118, high stress levels, and inconsistent nutrition (but unknown to the first user), whereas the contributing factors 1506 of the second user may include consistent blood glucose readings 118, elimination of foods 118 that previously caused spikes in blood glucose readings, and use of a smartwatch to monitor stress). Regardless of the actual contributing factors 1506, they may be utilized to generate or otherwise develop an intervention strategy.
[0190] As an example, the intervention platform 802 may obtain state information 608 for a first and second user indicating a transition probability 1504 for transitioning from a current state to a new state of ceasing use of the CGM system 104, and indicating facilitating factors 1506 likely to facilitate that transition. Given this information, the intervention platform 802 customizes intervention strategies for different users. This is accomplished using an engagement state model 604 or other logic learned from data describing past intervention strategies, both those that have worked and those that have not worked for a particular user.
[0191] In relation to a first user, the intervention platform 802 may provide information about success stories with the CGM system, notify a coach to contact the first user, provide information about consistent nutrition, and / or communicate in other ways based on interventions that have previously worked for users with the same or similar condition (and contributing factors) as the first user. However, in relation to a second user, the intervention platform 802 may provide information about other products or services of the CGM platform 112 for purchase (e.g., to further optimize athletic performance), deliver information about behaviors that users who discontinue using CGM would not consider without constant monitoring of the system, provide information about further optimizations that can be made while using the CGM system 104, and / or communicate in other ways based on interventions that have previously worked for users with the same or similar condition (and contributing factors) as the second user. Indeed, the intervention strategy may be customized in a variety of ways depending on the condition information 608 generated for the user and based on strategies that have previously worked for similar users, for example as indicated by machine learning models or other logic.
[0192] Exemplary Procedure This section describes an exemplary procedure for a proposal based on continuous glucose monitoring (CGM). Aspects of the procedure may be implemented in hardware, firmware, software, or a combination thereof. The procedure is illustrated as a set of blocks that specify operations performed by one or more devices and is not necessarily limited to the order shown for performing the operations by the respective blocks. In at least some implementations, the procedure is performed by a data analysis platform, such as the data analysis platform 126 of the CGM platform 112, that utilizes the prediction system 316 and the proposal system 412.
[0193] FIG. 17 depicts an exemplary procedure 1700 in which predictions and suggestions are generated based on both a user's blood glucose measurements and additional data.
[0194] A blood glucose measurement provided by a CGM system worn by a user is obtained (block 1702). As an example, the CGM platform 112 obtains a blood glucose measurement 118 detected by a CGM system 104 worn by the person 102. As described throughout, the CGM system 104 is configured to continuously monitor the blood glucose of the person 102. For example, the CGM system 104 may be configured with a sensor 202 that is subcutaneously inserted into the skin 206 of the person 102 and continuously measures analytes indicative of the blood glucose of the person 102 to generate a blood glucose measurement. In one or more implementations, the CGM platform 112 obtains the blood glucose measurement 118 from a computing device 108 communicatively coupled to the CGM system 104, such as a mobile phone or wearable device of the user.
[0195] Additional data associated with the user is obtained (block 1704). By way of example, the CGM platform 112 obtains the additional data 410 from various devices, sensors, applications, or services. Thus, in accordance with principles described herein, the additional data may be obtained from one or more "sources" different from the CGM system 104 to which the blood glucose reading 118 is provided. The additional data 410 may include, in addition to the blood glucose reading 118, at least one or more portions of CGM device data, supplemental data 304, third party data 314, data from the IoT 114, etc.
[0196] The user's health indicators are predicted (block 1706) by processing the blood glucose measurements and the additional data using one or more models. In accordance with the principles described herein, the one or more models are generated based on the past blood glucose measurements and the past additional data of the user population. As an example, the prediction system 316 of the data analysis platform 126 generates a prediction 320 including a health indicator by processing the blood glucose measurements 118 and the additional data 410 of the person 102 using one or more models 404. The one or more models 404 are generated based on the blood glucose measurements 118 and the additional data 410 of the user population 110. The one or more models 404 may include, by way of example and not limitation, a statistical model 406 and / or an additional machine learning model 408.
[0197] A suggestion is generated based on the user's health indicators (block 1708). As an example, regardless of whether a statistical model 406, a machine learning model 408, or some combination of statistical and / or machine learning models is used to generate the prediction 320, the prediction 320 is obtained by a suggestion system 412 of the data analytics platform 126. The suggestion system 412 is configured to generate a suggestion 322 based on the prediction 320. In some cases, the health indicator corresponds to a predicted poor health condition, such as a prediction that the user will develop type II diabetes within the next 40 months. In this scenario, the suggestion system 412 can generate the suggestion 322 based on logic that associates the predicted poor health condition with one or more actions or behaviors that mitigate the predicted poor health condition. As such, the suggestion 322 may include one or more actions or behaviors intended to mitigate the predicted poor health condition.
[0198] At least one of the predictions or suggestions is communicated to one or more computing devices for output via the network (block 1710). As an example, the data analytics platform 126 communicates the predictions 320 and / or suggestions 322 to the computing device 108 for output. The computing device 108 can then display the predictions 320 and / or suggestions 322 in the CGM interface. As shown in FIG. 9, for example, the CGM user interface 902 displays the predictions 904 along with suggestions 906. In this example, the predictions 904 indicate that the user has a 76% chance of developing type II diabetes in 40 months. The suggestions 906 include one or more actions or behaviors that the user can take to improve the user's predicted poor health condition. For example, in FIG. 9, the suggestions 906 include a customized meal plan suggestion, a customized exercise plan suggestion, and a suggestion to obtain guidance that can help the user stay on track with the suggested nutrition and exercise plan.
[0199] In one or more implementations, the prediction or suggestion may be communicated to the validation service 502 and / or the decision support platform 504 before or instead of being communicated to the user's computing device 108. In this manner, the validation service 502 and the decision support platform 504 may act as intermediaries between the data analytics platform 126 and the computing device 108. In a scenario where the prediction or suggestion is communicated to the validation service 502, the validation service 502 may validate the suggestion 322. This means determining whether the suggestion is valid (e.g., safe) and can be further communicated directly to the decision support platform 504 and / or to the computing device 108. The validation service 502 may expose the suggestion 322 to users authorized by the service 502, such as clinicians, to validate the suggestion.
[0200] In response to the suggestion being enabled (e.g., by the clinician or by logic of the validation service 502), the suggestion may be routed further to the decision support platform 504 or directly to the computing device 108. When the suggestion is not enabled (i.e., rejected), the suggestion may not be routed further to the decision support platform 504 or directly to the computing device 108. Instead, the validation service 502 may modify the suggestion (e.g., according to the clinician's input) and / or provide a notification back to the data analytics platform 126 that the suggestion has been rejected. In this scenario, the data analytics platform 126 may be able to add an indication of the rejection as an input to the prediction system and initiate the generation of a different prediction 320 and / or suggestion 322. Indeed, the model 404 may be updated based on the validations and rejections received from the validation service 502. In a scenario in which the validation service 502 enables the suggestion 322, thereby allowing the suggestion 322 to be transferred directly to the computing device 108, the computing device 108 may output the suggestion 322 via a display, a speaker, haptic feedback, etc., as described above and below.
[0201] As mentioned above, the suggestions 322 may also be communicated to the decision support platform 504 by the validation service 502 or, alternatively, may bypass the validation service and be communicated directly from the data analytics platform 126 to the decision support platform 504. Based on the suggestions 322 and other information accessible about the corresponding user, a customer service specialist may decide how to assist the user. As an example, the customer service specialist may decide to call the user to provide voice assistance during the call.
[0202] The updated health indicators are predicted by processing the user's updated blood glucose readings and additional data using one or more models, and based on the updated health indicators, a notification is communicated over the network to one or more computing devices for output (block 1712). As an example, the data analysis platform 126 continuously collects blood glucose readings 118 and additional data 410 for the user. Thus, the prediction system 316 can predict the updated health indicators by processing the updated blood glucose readings and additional data using one or more models 404. As shown in FIG. 10, for example, based on the user's updated blood glucose readings 118 from the CGM system 104 and the additional data 410 indicating that the user is making better food choices (as indicated by the user's nutrition log) and exercising more frequently (as indicated by step count data and exercise log), the prediction system 316 generates an updated prediction, which is communicated to the computing device 108 for display as a notification 1002.
[0203] FIG. 18 illustrates an exemplary methodology 1800 in which suggestions for using a particular application are communicated to one or more devices of similar users.
[0204] The blood glucose readings of the user population and application interaction data associated with users of the user population are maintained in one or more storage devices (block 1802). In accordance with principles described herein, the application interaction data describes application usage (e.g., use of an "app" by various users of the user population). As an example, the CGM platform 112 obtains blood glucose readings 118 detected by a CGM system 104 worn by the person 102 and maintains the blood glucose readings 118 in the storage device 120. Additionally, the CGM platform obtains application interaction data from various applications, e.g., applications provided by a third party 306.
[0205] An improvement in the health of a subset of users of the user population is identified based at least in part on the blood glucose measurements (block 1804), and the improvement in the health of the subset of users is correlated with use of a particular application based on the application interaction data (block 1806). As an example, the CGM platform 112 can aggregate the application interaction data along with the blood glucose measurements 118 and additional data to determine whether the user's interaction with a particular application or service correlates with an improvement in the user's health. For example, based on the blood glucose measurements 118, the CGM platform 112 can objectively determine an improvement in the user's health. The CGM platform 112 can then correlate the improvement or decline in the user's health with use of a particular application based on the application interaction data. For example, if the CGM platform detects an improvement in the user's health that coincides with frequent use of a particular application, the CGM platform may determine that the particular application is correlated with the improvement.
[0206] Similar users having a health condition are identified (block 1808), and suggestions to use a particular application are communicated to one or more devices associated with the similar users (block 1810). As an example, the suggestion system 412 may identify similar users having a health condition and generate suggestions to the similar users to utilize a particular application that helped improve the health condition of a subset of the similar users. To do so, the suggestion system 412 may predict the probability of a similar improvement in the health condition through use of the particular application by other users in the user population and suggest applications likely to improve health for the other similar users.
[0207] The application suggestions can be communicated to the computing device 108 for output. By way of example, as shown in FIG. 11, a CGM user interface 1102 is depicted as displaying suggested applications 1104. In this case, the suggested applications 1104 correspond to various third party applications. In FIG. 8, the user is depicted as selecting the application "Nutrition by Neha" in order to download this application to the user's mobile phone.
[0208] FIG. 19 illustrates an exemplary methodology 1900 in which state information is generated to control communications with a user.
[0209] A CGM package provided by a CGM system worn by a user is obtained (block 1902). By way of example, the multi-state engagement system 318 obtains a CGM package 302 provided by a CGM system 104 worn by the person 102. The CGM package data may include one or more of a glucose measurement, characteristics of the measurement, or characteristics of receipt of the CGM package data by the CGM platform.
[0210] Additional data associated with the user is obtained (block 1904). In accordance with principles described herein, the additional data may be obtained from one or more sources different from the CGM system. By way of example, the multi-state engagement system 318 obtains additional data 606 of the user population 110. This additional data 606 may include, by way of example and not limitation, purchase history data (e.g., describing the purchase of the CGM system 104, a portion thereof (e.g., a disposable sensor application assembly), and / or services provided by the CGM platform 112), complaint data, customer service data (e.g., a description of a user's interactions with a customer service representative, such as whether the user responds to an attempt by the customer service representative to contact the user), physiological data, socio-economic data, attitudinal data, behavioral data, purchase history, complaint data, and payment data.
[0211] The additional data 606 may also include data describing health-related online activities of the user population 110, such as, for example, data describing search queries related to health conditions (e.g., search queries such as "urination," "high blood sugar," "diabetes," "thirsty," names of blood glucose monitoring systems, etc.), data describing navigation to health or diabetes related websites, data describing interactions with health-related mobile applications, data describing social networking interactions with health-related profiles on one or more social networks (e.g., users followed, hashtags, post likes, comments), data describing health-related social network interactions (e.g., posts or comments) on one or more social networks, etc. In addition, the additional data 606 may describe any one or more of the aspects enumerated in the description of the additional data 510.
[0212] State information is generated for the user by processing the CGM package and additional data using one or more models (block 1906). By way of example, the engagement state model manager 602 generates state information 608 by processing the CGM package 302 and additional data 606 of the person 102 using an engagement state model 604 (e.g., a machine learning model). In accordance with principles described herein, the state information includes at least the user's current state with respect to the CGM system. These states may correspond to the user's current role in relation to the CGM platform, such as, for example, patient, caregiver, healthcare provider, customer service representative, third party service provider, commercial user (e.g., athlete, lifehacker, etc.), performance coach, etc. Alternatively or additionally, the current state may correspond to a current stage of multiple stages of interaction with the CGM system. In the patient context, such stages of interaction may include an inquiry stage (e.g., when a user inquires about or otherwise expresses interest in a CGM system or inquires about a diabetes-related medical condition), a selection stage (e.g., when a user is actively selecting among blood glucose monitoring solutions), a predetermined stage, an active usage stage (e.g., when a user actively uses a CGM system along with the functionality of the CGM platform), an irregular usage stage (e.g., when a user's activity level declines somewhat from a previous active usage level and / or falls below a usage threshold), a discontinued usage stage (e.g., when a user discontinues use of the CGM system and / or CGM platform), a subsequent solution stage (e.g., when a user uses a different CGM system deployed by a different entity than the CGM platform), etc.
[0213] As described throughout, the state information may also include one or more transition probabilities 1504 and facilitating factors 1506. The transition probabilities 1504 may represent the probability that the person 102 will transition from a current state to a new state, e.g., a discontinued use state. In one or more implementations, the state information 608 may include transition probabilities for each of a plurality of possible states. The facilitating factors 1506 may indicate which factors are likely to facilitate a transition from the current state to the new state. In implementations in which the transition probabilities 1504 correspond to the probability that the person 102 will transition to a discontinued use stage, the facilitating factors 1506 indicate factors that are likely to cause the person to transition to the discontinued use stage.
[0214] Communications with the user are controlled based on the state information (block 1908). As an example, the state information 608 can be used to control communications with a user of the CGM platform 112. Based on determining which state corresponds to the user and / or detecting transitions between states, the multi-state engagement system 318 can generate notifications indicating the state and / or state changes and communicate the notifications to predetermined recipients, e.g., the patient, a healthcare provider, a customer service representative for intervention, etc. In some cases, communications with the user are controlled by generating an intervention strategy to prevent the user from transitioning to a bad state, such as ceasing use of the CGM system.
[0215] FIG. 20 illustrates an example procedure 2000 in which an intervention strategy is generated to prevent a user from transitioning to a bad state.
[0216] The CGM packages and additional data for a user population of users of the CGM system are maintained on a storage device, block 2002. By way of example, storage device 120 maintains CGM packages 302 and additional data 606 for user population 110.
[0217] State information is generated for users of the user population by processing at least a portion of the CGM package and additional data using one or more models of the CGM package (block 2004). By way of example, the engagement state model manager 602 generates state information 608 by processing the CGM package 302 and additional data 606 using an engagement state model 604 (e.g., a machine learning model). In accordance with principles described herein, the state information 608 may include a transition probability 1504 for each user of the user population to transition from a current state to a worse state, and a facilitating factor 1506 that is likely to facilitate the transition of each user from the current state to a worse state.
[0218] Based on the transition probabilities, users of the user population who are likely to transition to a worse state are identified (block 2006). By way of example, based on the transition probabilities and the contributing factors, the intervention platform 802 can identify users of the user population 110 who are likely to transition to a worse state (e.g., a discontinued use stage) based on the transition probabilities of the identified users exceeding a predetermined threshold.
[0219] An intervention strategy is generated to prevent the user from transitioning to the worse state based on the transition probabilities and the contributing factors (block 2008). As an example, the intervention platform 802 generates various intervention strategies to prevent the user from transitioning to the worse state based on the transition probabilities 1504 and the contributing factors 1506. Such intervention strategies may include publishing the status information to users authorized to intervene in a particular scenario by communicating with the user, such as a customer service representative, a clinician, etc. The intervention platform 802 may provide the status information (or notifications derived based on the status information) via an intervention portal, for example, where a customer service representative can review the status information of multiple users. The published status information may enable an authorized user of the intervention platform to decide whether to communicate with the user associated with the status information, such as, for example, whether to call the user, whether to send an email to the user, whether to send an SMS message to the user, etc. Alternatively or additionally, the intervention platform 802 may be configured to automatically generate and communicate communications based on the status information, such as in response to logic that directs the intervention platform to communicate in a particular manner depending on the status information.
[0220] Regardless of whether the intervention strategy involves exposing the transition information to a human or is automated, the intervention platform can customize the intervention strategy based on the determined factors that foster the predicted transition from the current state to the new state. As an example, if the status information indicates that a faulty device (e.g., a faulty sensor) is being used and that usage has declined since beginning to use the faulty device, a customer service representative may deploy a strategy specific to the faulty device, e.g., send a new properly working device. As another example, if the status information indicates that abnormally high blood glucose levels are causing user frustration, which is likely to lead to discontinued use, the intervention system may communicate to the user a message that includes success stories of other users in the user population whose blood glucose levels decreased while wearing the CGM system through meals and exercise.
[0221] FIG. 21 illustrates an example methodology 2100 in which output of health-related digital content is controlled based on status information determined from health-related online activity.
[0222] Data describing health-related online activity on one or more websites or social networking platforms is obtained (block 2100). By way of example, the CGM platform 112 obtains additional data 606, which may include data describing health-related online activity, such as, for example, data describing search queries related to health conditions (e.g., search queries such as "urination," "high blood sugar," "diabetes," "thirsty," names of blood glucose monitoring systems, etc.), data describing navigation to health or diabetes-related websites, data describing interactions with health-related mobile applications, data describing social networking interactions with health-related profiles on one or more social networks (e.g., users followed, hashtags, post likes, comments), data describing health-related social network interactions (e.g., posts or comments) on one or more social networks, etc.
[0223] Data describing health-related online activity may be received in a variety of ways. For example, as depicted in FIG. 16, a search query related to a health condition may be received via a search query input element 1604 implemented in a user interface 1602. The user interface 1602 may be implemented in one or more websites (e.g., search engine websites), such as within a social network. Although the search query input element 1604 is illustrated as a text input field, the search query may be received in a variety of ways, such as by receiving a voice command via a voice assistant device, without departing from the spirit or scope of the described techniques.
[0224] In accordance with the described technology, certain search queries may be referred to as health-related, or more specifically, diabetes-related, search queries. Other examples of diabetes-related search queries may include "urination," "headache," "veins," and "diabetes," just to name a few. Indeed, health and diabetes-related search queries may include a variety of terms and combinations of those terms, including terms related to nutrition and exercise. In either case, receipt of such search queries may be captured by tracking the user's online activity, and data describing the receipt of these search queries may be generated.
[0225] The user's state information is generated by processing the data describing the health-related online activity (block 2104). In accordance with principles discussed herein, the state information includes at least a current state of the user. As an example, a search for health and diabetes-related information may correspond to a query or selection stage of engagement associated with the CGM system 104, and the engagement state model 604 is adapted to predict that a user submitting such a search query corresponds to at least one of those stages.
[0226] Output of health-related digital content to the user is controlled based on the status information (block 2106). By way of example, the CGM platform can control output of health-related digital content, such as through a digital content component 1610 shown to be displayed on the user interface 1602 in response to receiving the search query 1606. The digital content component 1610 may correspond to a digital advertisement displayed via the user interface 1602, a search result displayed via the user interface 1602, a pop-up or toast notification displayed via the user interface 1602, or the like. Indeed, the digital content component 1610 may be configured in a variety of ways, such as audible information output via a voice assistant device, a mobile notification (e.g., via a mobile phone or smartwatch), information presented initiating one or more social networks, an SMS message, or the like, without departing from the spirit or scope of the technique. Alternatively or additionally, the CGM platform 112 may initiate other types of communication with the user based on the health and diabetes-related search query, such as by sending the user an email, calling the user, or the like. Other types of communications may include communications with the user's caregiver (e.g., a parent or guardian) or a medical professional associated with the user, just to name a few.
[0227] The digital content component 1610 may further provide information regarding diabetes-related health conditions, how to contact a health care provider, how to contact a customer support representative for the GCM platform 112, information regarding ease of use of the CGM system 104, information regarding the CGM system 104, information regarding other diabetes patients and lifestyles, etc. Indeed, the digital content component 1610 may include a variety of information without departing from the spirit or scope of the described techniques.
[0228] It will be further appreciated that these techniques may also be deployed to communicate with potential “commercial” users of the CGM system 104 and CGM platform 112, such as, for example, when a user enters a search query such as “tracking blood glucose levels,” “how blood glucose affects performance,” “blood glucose athletic performance,” “blood glucose and mental performance,” etc. Such users may also be determined to be at a stage that would capture their stage using the engagement state model 604 as being at a query stage or selection stage, but with a “commercial” user role rather than a “patient” role.
[0229] The output of health-related digital content may be controlled in part by customizing the health-related digital content based on the user's current state. In other words, the system may customize, select, or generate health-related digital content that includes information related to the user's current role and stage of engagement with the CGM system. For example, if the system determines that the user is in the inquiry or selection stage in the role of a commercial user, the CGM platform may customize the health-related digital content to include information regarding use of the CGM system to improve the user's health. In contrast, if the system determines that the user is in the inquiry or selection stage but that the user is likely to have pre-diabetes based on the user's health-related search inquiry, the system may customize the health-related digital content to include further information regarding health conditions resulting from diabetes, how to contact a health care provider, etc. Thus, the information included in the health-related digital content, and the method of delivery, may change dynamically to account for the user's different states.
[0230] 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.
[0231] Exemplary Systems and Devices 22 illustrates an example system generally at 2200 including an example computing device 2202 that is representative of one or more computing systems and / or devices that may implement various techniques described herein. This is illustrated through the inclusion of a CGM platform 112. The computing device 2202 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.
[0232] The illustrated exemplary computing device 2202 includes a processing system 2204, one or more computer-readable media 2206, and one or more I / O interfaces 2208 communicatively coupled to each other. Although not shown, the computing device 2202 may further include a system bus or other data and command transfer system coupling the various components together. The system bus may include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of a variety of bus architectures. Various other examples, such as control and data lines, are also contemplated.
[0233] The processing system 2204 is representative of functionality for performing one or more operations using hardware. Thus, the processing system 2204 is illustrated as including hardware elements 2210, which may be configured as a processor, functional blocks, etc. This may include implementation in hardware as an application specific integrated circuit formed using one or more semiconductors or other logic devices. The hardware elements 2210 are not limited by the material from which they are formed or the processing mechanism used therein. For example, a processor may be composed of semiconductors and / or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions.
[0234] The computer readable medium 2206 is shown as including memory / storage 2212. The memory / storage 2212 represents memory / storage capacity associated with one or more computer readable media. The memory / storage component 2212 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read only memory (ROM), flash memory, optical disks, magnetic disks, etc.). The memory / storage component 2212 may include fixed media (e.g., RAM, ROM, fixed hard drives, etc.) as well as removable media (e.g., flash memory, removable hard drives, optical disks, etc.). The computer readable medium 2206 may be configured in a variety of other ways as further described below.
[0235] The input / output interface 2208 is representative of functionality that allows a user to input commands and information into the computing device 2202 and also to present information to the user and / or other components or devices using various input / output devices. Examples of input devices include keyboards, cursor control devices (e.g., a mouse), microphones, scanners, touch functionality (e.g., capacitive or other sensors configured to detect physical touch), cameras (e.g., may use visible or invisible wavelengths such as infrared frequencies to recognize movements as gestures without touch), and the like. Examples of output devices include display devices (e.g., a monitor or projector), speakers, printers, network cards, haptic response devices, and the like. Thus, the computing device 2202 may be configured in a variety of ways, as described further below, to aid in user interaction.
[0236] 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. Features of the techniques described herein are platform independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
[0237] 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 may be accessed by the computing device 2202. By way of example, and not limitation, computer-readable media may include "computer-readable storage media" and "computer-readable signal media."
[0238] A "computer-readable storage medium" may refer to a medium and / or device that allows for permanent 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. A computer-readable storage medium includes hardware, such as volatile and non-volatile, removable and non-removable media, and / or storage devices implemented in a manner 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 product suitable for storing the desired information and that can be accessed by a computer.
[0239] A "computer-readable signal medium" may refer to a signal-bearing medium configured to transmit instructions to the hardware of the computing device 2202, such as via 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.
[0240] As noted above, the hardware elements 2210 and computer-readable media 2206 are representative of modules, programmable device logic, and / or fixed device logic implemented in hardware form 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 media described above.
[0241] Combinations of the foregoing may be used to implement the various techniques described herein. Thus, 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 2210. The computing device 2202 may be configured to implement specific instructions and / or functions corresponding to the software and / or hardware modules. Thus, implementation of a module executable by the computing device 2202 as software may be achieved at least in part in hardware, for example, through the use of a computer-readable storage medium and / or hardware elements 2210 of the processing system 2204. The instructions and / or functions may be executable / operable by one or more articles of manufacture (e.g., one or more computing devices 2202 and / or processing system 2204) to implement the techniques, modules, and examples described herein.
[0242] The techniques described herein may be supported by various configurations of computing device 2202 and are not limited to the specific examples of the techniques described herein. This functionality may be implemented in whole or in part through the use of a distributed system, such as on the "cloud" 2214 via platform 2216, as described below.
[0243] The cloud 2214 includes and / or is representative of a platform 2216 for resources 2218. The platform 2216 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of the cloud 2214. The resources 2218 may include applications and / or data available while computer processing is performed on a server remote from the computing device 2202. The resources 2218 may also include services provided over the Internet and / or through a subscriber network, such as a cellular or Wi-Fi network.
[0244] The platform 2216 may abstract resources and functionality to connect the computing device 2202 with other computing devices. The platform 2216 may also function to abstract the scaling of resources to provide a level of scale corresponding to the encountered demand of the resources 2218 implemented via the platform 2216. Thus, in an embodiment of interconnected devices, the implementation of the functionality described herein may be distributed throughout the system 2200. For example, functionality may be implemented partially on the computing device 2202 and via the platform 2216 that abstracts the functionality of the cloud 2214.
[0245] conclusion Although the systems and techniques have been described in language specific to structural features and / or methodological acts, it should be understood that the systems and techniques defined in the appended claims are not necessarily limited to the particular features or acts described. Rather, the particular features and acts are disclosed as example forms for implementing the claimed subject matter. [Explanation of symbols]
[0246] 100 Environment 102 people 104 CGM System 106 Insulin Delivery System 108 Computing Devices 110 User Population 112 CGM Platform 114 Internet of Things (IoT) 116 Network 118 Blood Glucose Measurements
Claims
1. 1. A method comprising: Obtaining a continuous glucose monitoring (CGM) package provided by a CGM system worn by a user; acquiring additional data associated with the user, the additional data being acquired from one or more sources different from the CGM system; generating state information for the user by processing the CGM package and the additional data, in part using one or more models, the state information including at least a current state of the user with respect to the CGM system; and controlling communication with the user based on the state information.
2. 2. The method of claim 1, wherein the current state of the user identified using the one or more models includes both the user's current role and a current stage among multiple stages of interaction with the CGM system.
3. The method of claim 2 , wherein the current state of the user comprises one of an active usage phase, an irregular usage phase, or a discontinued usage phase.
4. 4. The method of claim 2 or 3, wherein generating the state information further comprises generating a probability that the user is in each of the multiple stages of interaction with the CGM system, and the current state is identified as the stage having the highest probability.
5. The method of any one of claims 1 to 4, wherein generating the state information further comprises generating transition probabilities for the user to transition from the current state to a new state by processing the CGM package and the additional data using the one or more models.
6. 6. The method of claim 5, wherein generating the state information further comprises determining one or more facilitating factors that may facilitate the transition of the user from the current state to the new state by processing the CGM package and the additional data using the one or more models.
7. The method of any one of claims 1 to 6, further comprising using one or more machine learning techniques to generate the one or more models based on past CGM packages and past additional data of a user population.
8. A method according to any preceding claim, wherein the CGM package includes blood glucose measurements and characteristics of the blood glucose measurements, and the additional data describes characteristics of receipt of the CGM package data by a CGM platform.
9. The method of any one of claims 1 to 8, wherein the additional data comprises one or more of third party data, physiological data, socio-economic data, attitudinal data, behavioral data, purchase history data, complaint data, or payment data.
10. 1. A system comprising: a storage device for maintaining at least a continuous glucose monitoring (CGM) package acquired by a CGM system worn by a user and additional data associated with said user; 1. A multi-state engagement system, comprising: generating state information for the user by processing the CGM package and the additional data, in part using one or more models, the state information including at least a current state of the user with respect to the CGM system; and controlling communication with the user based on the state information.
11. The system of claim 10 , wherein the current state of the user identified using the one or more models includes both the user's current role and a current stage among multiple stages of interaction with the CGM system.
12. The system of claim 11 , wherein the current state of the user comprises one of an active usage phase, an irregular usage phase, or a discontinued usage phase.
13. 13. The system of claim 11 or 12, wherein the multi-state engagement system is further configured to generate the state information by generating a probability that the user is in each of the multiple stages of interaction with the CGM system, and the current state is identified as the stage having the highest probability.
14. The system of any one of claims 10 to 13, wherein the multi-state engagement system is further configured to generate the state information by generating transition probabilities for the user to transition from the current state to a new state by processing the CGM package and the additional data using the one or more models.
15. 15. The system of claim 14, wherein the multi-state engagement system is further configured to generate the state information by determining one or more facilitating factors that would facilitate the transition of the user from the current state to the new state by processing the CGM package and the additional data using the one or more models.
16. 16. The system of claim 10, wherein the multi-state engagement system is further configured to generate the one or more models based on past CGM packages and past additional data of a user population using one or more machine learning techniques.
17. A system according to any one of claims 10 to 16, wherein the CGM package includes blood glucose measurements and characteristics of blood glucose measurements, and the additional data describes characteristics of receipt of the CGM package data by a CGM platform.
18. 18. The system of claim 10, wherein the additional data comprises ten or more of third party data, physiological data, socio-economic data, attitudinal data, behavioral data, purchase history data, complaint data, or payment data.
19. 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 including: Obtaining a continuous glucose monitoring (CGM) package provided by a CGM system worn by a user; acquiring additional data associated with the user, the additional data being acquired from one or more sources different from the CGM system; generating state information for the user by processing the CGM package and the additional data, in part using one or more models, the state information including at least a current state of the user with respect to the CGM system; and controlling communication with the user based on the state information.
20. 20. The one or more computer-readable storage media of claim 19, wherein the current state of the user identified using the one or more models includes both the user's current role and a current stage among multiple stages of interaction with the CGM system.
21. 21. The one or more computer-readable storage media of claim 20, wherein the current state of the user comprises one of an active usage phase, an irregular usage phase, or a discontinued usage phase.
22. 22. The one or more computer-readable storage media of claim 20 or 21, wherein generating the state information further includes generating a probability that the user is in each of the multiple stages of interaction with the CGM system, and the current state is identified as the stage having the highest probability.
23. 23. The one or more computer-readable storage media of any one of claims 19 to 22, wherein generating the state information further comprises generating transition probabilities for the user to transition from the current state to a new state by processing the CGM package and the additional data using the one or more models.
24. 24. The one or more computer-readable storage media of claim 23, wherein generating the state information further comprises determining one or more facilitating factors that may facilitate the transition of the user from the current state to the new state by processing the CGM package and the additional data using the one or more models.
25. An apparatus comprising: A continuous glucose monitoring (CGM) package provided by a CGM system worn by a user and acquisition means for acquiring additional data associated with said user; generating means for generating state information of the user by processing the CGM package and the additional data, in part using one or more models, the state information including at least a current state of the user with respect to the CGM system; and communication means for controlling communication with the user based on the state information.
26. 1. A method comprising: maintaining, in one or more storage devices, a continuous glucose monitoring (CGM) package and additional data for a user population of users of the CGM system; generating state information for users of the user population by processing at least a portion of the CGM package and the additional data using one or more models, the state information including a transition probability that each user of the user population will transition from a current state to a worse state and a contributing factor likely to contribute to the transition; identifying users of the user population that are more likely to transition to the adverse state based on the transition probabilities; generating an intervention strategy to prevent the user from transitioning to the adverse state based on the transition probabilities and the contributing factors.
27. 27. The method of claim 26, wherein the adverse condition comprises a discontinued use condition.
28. 28. The method of claim 26 or 27, wherein said identifying comprises identifying users who are likely to transition as users having the transition probability exceeding a threshold.
29. The method of any one of claims 26 to 28, further comprising initiating communication of facilitators to recipients associated with the user as part of an intervention strategy.
30. 30. The method of any one of claims 26 to 29, further comprising initiating communication of one or more messages to a recipient associated with the user to prevent the transition to the adverse state as part of the intervention strategy.
31. 31. The method of claim 30, further comprising automatically customizing the one or more messages based on the one or more facilitating factors.
32. 32. The method of any one of claims 26 to 31, wherein the one or more models are generated based at least in part on past CGM packages and past additional data of the user population using one or more machine learning techniques.
33. 1. A system comprising: a storage device for maintaining the CGM package and additional data for a user population of users of the CGM system; a multi-state engagement system that generates state information for users of a user population by processing at least a portion of the CGM package and the additional data using one or more models, the state information including a transition probability that each user of the user population will transition from a current state to a worse state and a contributing factor that is likely to contribute to the transition; an intervention platform that identifies users of the user population that are likely to transition to the adverse state based on the transition probability, and generates an intervention strategy to prevent the users from transitioning to the adverse state based on the transition probability and the contributing factors.
34. 34. The system of claim 33, wherein the adverse condition comprises a discontinued use condition.
35. 35. The system of claim 33 or 34, wherein the intervention platform comprises identifying users likely to transition as those having the transition probability exceeding a threshold.
36. The system of any one of claims 33 to 35, wherein the intervention strategy includes the intervention platform initiating communication of facilitators to recipients associated with the user.
37. The system of any one of claims 33 to 36, wherein the intervention strategy includes the intervention platform initiating communication of one or more messages to the user to prevent the transition to the adverse state.
38. 40. The system of claim 37, wherein the intervention platform automatically customizes the one or more messages based on the one or more facilitating factors.
39. The system of any one of claims 33 to 38, wherein the one or more models are generated based at least in part on past CGM packages and past additional data of the user population using one or more machine learning techniques.
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 including: maintaining, in one or more storage devices, a continuous glucose monitoring (CGM) package and additional data for a user population of users of the CGM system; generating state information for users of the user population by processing at least a portion of the CGM package and the additional data using one or more models, the state information including a transition probability that each user of the user population will transition from a current state to a worse state and a contributing factor likely to contribute to the transition; identifying users of the user population that are more likely to transition to the adverse state based on the transition probabilities; generating an intervention strategy to prevent the user from transitioning to the adverse state based on the transition probabilities and the contributing factors.
41. 41. The one or more computer-readable storage media of claim 40, wherein the adverse condition comprises a discontinued use condition.
42. 42. The one or more computer-readable storage media of claim 40 or 41, wherein the identifying comprises identifying a user who is likely to transition as a user having the transition probability exceeding a threshold.
43. The one or more computer readable storage media of any one of claims 40-42, further comprising initiating communication of facilitators to recipients associated with the user as part of an intervention strategy.
44. 44. The one or more computer-readable storage media of any one of claims 40-43, further comprising initiating communication of one or more messages to a recipient associated with a user to prevent a transition to the adverse state as part of the intervention strategy.
45. 45. The one or more computer-readable storage media of claim 44, further comprising automatically customizing the one or more messages based on the one or more facilitating factors.
46. 46. The one or more computer-readable storage media of any one of claims 40-45, wherein the one or more models are generated based at least in part on past CGM packages and past additional data of the user population using one or more machine learning techniques.
47. An apparatus comprising: an acquisition means for acquiring continuous glucose monitoring (CGM) packages and additional data for a user population of users of the CGM system; generating means for generating state information for users of a user population by processing at least a portion of said CGM package and said additional data using one or more models, said state information including transition probabilities that each user of said user population will transition from a current state to a worse state and contributing factors likely to contribute to said transition; identification means for identifying users of the user population that are more likely to transition to the worse state based on the transition probability; and intervention strategy means for generating an intervention strategy to prevent the user from transitioning to the adverse state based on the transition probabilities and the contributing factors.
48. 48. The apparatus of claim 47, wherein the adverse condition comprises a discontinued use condition.
49. 50. The apparatus of claim 47 or 48, wherein the one or more models are generated based at least in part on past CGM packages and past additional data of the user population using one or more machine learning techniques.
50. 1. A method comprising: obtaining data describing health-related online activity by a user across one or more websites or social networks; generating status information for the user by processing data describing health-related online activity, the status information including a current status of the user; and controlling output of health-related digital content to the user based on the status information.
51. 51. The method of claim 50, wherein the data describing health-related online activity includes one or more search queries related to a health condition.
52. 52. The method of claim 50 or 51, wherein the data describing health-related online activity includes one or more search queries related to diabetes.
53. 53. The method of claim 52, wherein the current state of the user corresponds to at least one of a query state or a selected stage of engagement associated with a blood glucose monitoring system.
54. 54. The method of any one of claims 50 to 53, wherein controlling the output of the health-related digital content comprises causing a user interface of the one or more websites or social networks to display the health-related digital content.
55. 55. A method according to any one of claims 50 to 54, wherein controlling the output of the health-related digital content comprises causing the health-related digital content to be displayed as a mobile notification on the user's mobile phone or smartwatch.
56. 56. The method of any one of claims 50 to 55, wherein controlling the output of the health-related digital content comprises communicating the health-related digital content as a text message or an email message to the user.
57. 57. The method of any one of claims 50 to 56, wherein controlling the output of the health-related digital content comprises customizing the health-related digital content based on the current condition of the user.
58. 58. The method of claim 57, wherein the current state of the user includes a current role and stage of engagement with a blood glucose monitoring system.
59. 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 including: obtaining data describing health-related online activity by a user across one or more websites or social networks; generating status information for the user by processing data describing health-related online activity, the status information including a current status of the user; and controlling output of health-related digital content to the user based on the status information.
60. 60. The one or more computer-readable storage media of claim 59, wherein the data describing health-related online activity comprises one or more search queries related to a health condition.
61. 61. The one or more computer-readable storage media of claim 59 or 60, wherein the data describing health-related online activity comprises one or more search queries related to diabetes.
62. 62. The one or more computer-readable storage media of claim 61, wherein the current state of the user corresponds to at least one of a query state or a selected stage of engagement associated with a blood glucose monitoring system.
63. 63. The one or more computer-readable storage media of any one of claims 59 to 62, wherein controlling the output of the health-related digital content comprises causing a user interface of the one or more websites or social networks to display the health-related digital content.
64. 64. The one or more computer-readable storage media of any one of claims 59 to 63, wherein controlling the output of the health-related digital content comprises causing the health-related digital content to be displayed as a mobile notification on the user's mobile phone or smartwatch.
65. 65. The one or more computer-readable storage media of any one of claims 59 to 64, wherein controlling the output of the health-related digital content comprises communicating the health-related digital content as a text message or an email message to the user.
66. 66. The one or more computer-readable storage media of any one of claims 59 to 65, wherein controlling the output of the health-related digital content comprises customizing the health-related digital content based on the current condition of the user.
67. 67. The one or more computer-readable storage media of claim 66, wherein the current state of the user includes a current role and stage of engagement with a blood glucose monitoring system.
68. 1. A system comprising: The method includes at least a memory and a processor for performing operations, the operations comprising: obtaining data describing health-related online activity by a user across one or more websites or social networks; generating status information for the user by processing data describing health-related online activity, the status information including a current status of the user; and controlling output of health-related digital content to the user based on the status information.
69. 70. The system of claim 68, wherein the data describing health-related online activity includes one or more search queries related to a health condition.
70. 70. The system of claim 68 or 69, wherein the data describing health-related online activity includes one or more search queries related to diabetes.
71. 71. The system of claim 70, wherein the current state of the user corresponds to at least one of a query state or a selected stage of engagement associated with a blood glucose monitoring system.
72. controlling the output of the health-related digital content; Displaying health-related digital content in one or more website or social network user interfaces; causing the health-related digital content to be displayed as a mobile notification on the user's mobile phone or on the user's smartwatch; or 72. The system of any one of claims 68 to 71, comprising at least one of communicating the health-related digital content as a text message or an email message to the user.
73. 73. The system of any one of claims 68 to 72, wherein controlling the output of the health-related digital content comprises customizing the health-related digital content based on the current condition of the user.
74. The system of any one of claims 68 to 73, wherein the current state of the user includes a current role and stage of engagement with a blood glucose monitoring system.
Citation Information
Patent Citations
Decision support system and method
JP2021513136A
Data analysis prediction device and data analysis prediction program
JP6427286B1
System and method for decision support
US20190252079A1
Treatment supporting device and program for supporting treatment
WO2019035166A1