Improving an accuracy of glucose predictions for patients by facilitating submission of contextual data
The analyte monitoring system enhances glucose prediction accuracy by facilitating contextual data entry through image/video recording and personalized video feedback, addressing integration challenges and optimizing resource usage for improved patient insights and recommendations.
Patent Information
- Application Number
- PCT/US2025/037901
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-16
- Filing Date
- 2025-07-16
- Publication Date
- 2026-01-22
AI Technical Summary
Existing analyte monitoring systems face challenges in accurately integrating contextual data with analyte measurements due to reliance on patient input, which is often inaccurate, delayed, and technically difficult to integrate with time-series data, limiting the accuracy of glucose predictions and feedback.
An analyte monitoring system that facilitates the entry of contextual data through image/video recording, drag-and-drop interfaces, and camera-roll integration, generating personalized video feedback with adjustable playback settings to enhance data integration and resource efficiency.
Improves the accuracy of glucose predictions by increasing the quality and quantity of contextual data, optimizing resource usage, and providing personalized insights into health dynamics, leading to better medicament dosing and lifestyle recommendations.
Smart Images

Figure US2025037901_22012026_PF_FP_ABST
Abstract
Description
IMPROVING AN ACCURACY OF GLUCOSE PREDICTIONS FOR PATIENTS BY FACILITATING SUBMISSION OF CONTEXTUAL DATACROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and benefit of U.S. Provisional Patent Application No. 63 / 672,188 filed July 16, 2024, which application is hereby expressly incorporated by reference herein in its entirety as if fully set forth below and for all applicable purposes.INTRODUCTION
[0002] Diabetes is a metabolic condition relating to the production or use of insulin by the body. Insulin is a hormone that allows the body to use glucose for energy, or store glucose as fat.
[0003] When a person eats a meal that contains carbohydrates, the food is processed by the digestive system, which produces glucose in the person’s blood. Blood glucose can be used for energy or stored as fat. The body normally maintains blood glucose levels in a range that provides sufficient energy to support bodily functions and avoids problems that can arise when glucose levels are too high, or too low. Regulation of blood glucose levels depends on the production and use of insulin, which regulates the movement of blood glucose into cells.
[0004] When the body does not produce enough insulin, or when the body is unable to effectively use insulin that is present, blood sugar levels can elevate beyond normal ranges. The state of having a higher than normal blood sugar level is called “hyperglycemia.” Chronic hyperglycemia can lead to several health problems, such as cardiovascular disease, cataract and other eye problems, nerve damage (neuropathy), and kidney damage. Hyperglycemia can also lead to acute problems, such as diabetic ketoacidosis - a state in which the body becomes excessively acidic due to the presence of blood glucose and ketones, which are produced when the body cannot use glucose. The state of having lower than normal blood glucose levels is called “hypoglycemia.” Severe hypoglycemia can lead to acute crises that can result in seizures or death.
[0005] Diabetes conditions are sometimes referred to as “Type 1” and “Type 2.” A Type 1 diabetes patient is typically able to use insulin when it is present, but the body is unable to produce sufficient amounts of insulin, because of a problem with the insulin-producing beta cells of the pancreas. A Type 2 diabetes patient may produce some insulin, but the patient has become “insulin resistant” due to a reduced sensitivity to insulin. The result is that even though insulin is present in the body, the insulin is not sufficiently used by the patient’ s body to effectively regulate blood sugar levels.
[0006] Blood sugar concentration levels may be monitored with an analyte sensor, such as a continuous glucose monitor. A continuous glucose monitor may provide the wearer (patient) with information such as an estimated blood glucose level, a trend of estimated blood glucose levels, etc.SUMMARY
[0007] In some embodiments, one general aspect includes a method. The method includes receiving analyte measurements of a patient for a time period. The method further includes providing, to a user, an interface for supplying contextual data indicative of contextual events for the time period and receiving the contextual data via the provided interface. The method further includes analyzing the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data including a partial subset of the contextual events. The method further includes presenting information related to the condensed timeline to the patient.
[0008] In some embodiments, another general aspect includes a system. The system includes a memory having executable instructions. The system also includes a processor in data communication with the memory. The processor is configured to execute the executable instructions to receive analyte measurements of a patient for a time period and to provide, to a user, an interface for supplying contextual data indicative of contextual events for the time period. The processor is also configured to execute the executable instructions to receive the contextual data via the provided interface and to analyze the analyte measurements and the contextual events todetermine a condensed timeline of patient data for the time period. The condensed timeline of patient data includes a partial subset of the contextual events. The processor is also configured to execute the executable instructions to present information related to the condensed timeline to the user.
[0009] In some embodiments, another general aspect includes a computer-program product. The computer-program product includes a non-transitory computer-usable medium having computer-readable program code embodied therein. The computer- readable program code is adapted to be executed to implement a method. The method includes receiving analyte measurements of a patient for a time period. The method further includes providing, to a user, an interface for supplying contextual data indicative of contextual events for the time period and receiving the contextual data via the provided interface. The method further includes analyzing the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data including a partial subset of the contextual events. The method further includes presenting information related to the condensed timeline to the patient.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. The drawings illustrate generally, by way of example, but not by way of limitation, various embodiments discussed in the present document.
[0011] FIG. 1A illustrates an example of a therapy management system, in accordance with certain embodiments.
[0012] FIG. IB illustrates an example analyte sensor system including an example continuous analyte sensor(s) with sensor electronics, in accordance with certain embodiments.
[0013] FIG. 2 illustrates example inputs and example outputs that are generated based on the inputs, in accordance with certain embodiments.
[0014] FIG. 3 illustrates an example of a process for facilitating submission and utilization of contextual data, in accordance with certain embodiments.
[0015] FIG. 4 illustrates an example of a user interface for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments.
[0016] FIG. 5 illustrates another example of a user interface for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments.
[0017] FIG. 6 illustrates another example of a user interface for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments.
[0018] FIG. 7 illustrates an example of a process for facilitating graphical entry of contextual data indicative of a contextual event, in accordance with certain embodiments.
[0019] FIG. 8 illustrates an example of a user interface for supplying contextual data via camera-roll integration, in accordance with certain embodiments.
[0020] FIG. 9 illustrates another example of a user interface for supplying contextual data via camera-roll integration, in accordance with certain embodiments.
[0021] FIG. 10 illustrates an example of a process for facilitating image-based entry of contextual data indicative of contextual events, in accordance with certain embodiments.
[0022] FIG. 11 illustrates an example of a process for automatically generating and manipulating video feedback, in accordance with certain embodiments.
[0023] FIG. 12 illustrates an example user interface for presenting video feedback, in accordance with certain embodiments.
[0024] FIG. 13 illustrates an example user interface for presenting video feedback, in accordance with certain embodiments.
[0025] FIG. 14 illustrates another example user interface for presenting video feedback, in accordance with certain embodiments.
[0026] FIG. 15 illustrates another example user interface for presenting video feedback, in accordance with certain embodiments.
[0027] FIG. 16 is a block diagram depicting a computer system configured for facilitating submission of contextual data and generation and manipulation of video feedback, in accordance with certain embodiments.DETAILED DESCRIPTION
[0028] For certain patients, analyte measurements (e.g., analyte concentrations) are generated and provided by wearable continuous monitoring devices. The analyte measurements are often viewable both in real time and retrospectively, for example, on a display device such as a smartphone or smartwatch. The analyte measurements may be viewed by patients, healthcare providers, or caregivers, for example, to enable improved control of the measured analyte and / or a related disease or condition. Although displaying such analyte measurements to a patient is generally useful, the cause of particular measurements or trends is not always apparent, particularly when the measurements are viewed days or weeks later.
[0029] Diabetes patients, for example, often wear continuous glucose monitors (CGMs) that generate and provide glucose measurements. Patient health dynamics, such as diet, activity, sickness, hormones, stress, sleep, medication and / or other rapidly changing factors, can all impact glucose measurements to varying degrees for individual patients. Ascertaining which health dynamic, or combination of health dynamics, caused a particular measurement or set of measurements can be difficult from the glucose measurements themselves.
[0030] Contextual data can be used to provide more accurate glucose predictions for individual patients according to their specific health dynamic data. Contextual data can indicate, for example, patient health dynamics at specific times. Such indications of patient health dynamics at specific times may be referred to herein as “contextual events.” Contextual data can thereby facilitate the interpretation of analyte measurements to determine potential causes of health conditions and effects of patient behavior. A challenge, however, is that provision of so much contextual data is relianton patient input. Meal entry, for example, is notoriously reliant on a patient indicating a time and nature of food intake.
[0031] Further, patient input of contextual data is often best provided in-the-moment, or soon thereafter, when a patient’s memory is fresh. Generally, however, the patient must access a dedicated application interface for providing such input (e.g., an event such as a meal), which can be cumbersome. Also, the input often requires time and thought from the patient. These barriers often result in contextual data being entered too late, when the entry is less accurate, or not being entered at all. Thus, the amount and quality of contextual data for analyte measurements is typically far from optimal.
[0032] Adding to the above problems, it is technically challenging to visually integrate contextual data, such as contextual events, with analyte measurements in a way that draws attention to potential cause / effect relationships. Charts or graphs, for example, may be unproductive since they typically require the patient, caregiver, or healthcare professional to study and interpret the data. This challenge complicates the task of obtaining contextual data in the first place, as the patient may not be convinced that inputting such information is worthwhile.
[0033] In particular, creating patient-centric video feedback for analyte measurements is technically challenging and unconventional. Existing analyte monitoring systems are technically incapable of adapting analyte-related video feedback to individual patient dynamics. In general, such systems provide no basis for individualizing the way video feedback is generated or played. Tuning or customizing video feedback on such a basis would be technically challenging, as it is not currently known, for example, what video parameter(s) might be tunable and how / why the parameter(s) might be tuned.
[0034] Furthermore, the generation and transmission of video feedback, across many thousands or millions of patients would be resource-intensive, for example, in terms of compute resources to generate the video feedback, storage resources to store the video feedback, and network resources to transmit or stream the video feedback. Shorter videos would mitigate the resource requirement and, in addition, wouldrequire less viewing time by patients, caregivers, or healthcare personnel. However, such shorter videos would typically come at the expense of data loss (e.g., some information that would otherwise be presented in the video may need to be eliminated). Managing the duration of video feedback, while minimizing both resource needs and data loss, is technically challenging.
[0035] Further, existing analyte monitoring systems are technically deficient in how they obtain contextual events from patients (e.g., meals and / or other types of patient dynamics described above). Typical systems either rely upon patients inputting events in real-time, such that no time needs to be provided, or on patients inputting the data at a later time in association with patient-indicated timestamps. Both situations are often unrealistic and impose barriers to data entry as described above. The low quality and quantity of patient-input data makes it technically difficult to integrate such data with time-series data, such as analyte measurements, thus limiting the accuracy of glucose predictions and feedback that existing analyte monitoring systems are able to provide.
[0036] In response to the above problems, an analyte monitoring system is provided that facilitates the entry of contextual data by a patient using the system. For example, images / video recorded with a phone or watch camera may be automatically correlated with CGM data determined at or around the time the image was recorded, and the images / video and correlated data may be entered directly into the analyte monitoring system by a patient for analysis.
[0037] In another example, a user interface is provided that enables a patient to directly drag and drop icons representative of event types from an icon palette located at one portion of a display into a glucose trend graph located at another portion of the display.
[0038] In another example, video feedback, such as an animated overview of a patient’s CGM readings for a predetermined period of time, is generated and presented. The animated overview can include, for example, contextual events and an inferred impact of such contextual events on the glucose levels of the patient. In someembodiments, the video feedback can include a condensed “highlight reel” overview based on a condensed timeline, where the condensed timeline may be generated by parsing the patient’s timeline and identifying and tagging notable glucose levels and / or notable or predetermined events within the timeline. A summary of only those glucose levels and events can thereafter be generated and provided, as well as derived insights including causes and effects of such glucose levels and / or events. In various embodiments, playback of the video feedback can be adjusted based on individual patient health dynamics.
[0039] Using this approach, by facilitating the entry of contextual data and events by patients into the analyte monitoring system, the analyte monitoring system may receive contextual data and events more frequently from patients. This increase in contextual data may improve an accuracy of glucose predictions for individual patients according to their specific contextual data. This improved accuracy may in turn improve medicament dosing instructions (e.g., dosing instructions sent to a hardware insulin pump) as well as recommendations sent to the patient by the system. These improved recommendations (such as diet, exercise, and medication recommendations) may be followed by the patient, resulting in a favorable improvement of the patient’s blood glucose levels. As a result of the increase in contextual data and improved recommendations, the patient’s time in range (e.g., an amount of time during which the patient’s glucose levels are within a predetermined desirable range) is maximized or increased, thereby improving the patient’s physical state and overall health.
[0040] As increased levels of contextual data are received from the patient over time (e.g., as a result of the above improved contextual data entry procedures), the system may identify the results of earlier recommendations and may continually refine future recommendations based at least in part on this contextual data entry. Even a small increase in contextual data entry, when implemented by a large patient base of millions of individuals, may result in millions of additional instances of contextual data entry, which may improve the accuracy of an analyte monitoring system that analyzes trend data from this large patient base.
[0041] Further, increasing the volume of contextual data that is received by a patient reduces the amount of contextual data that has to be estimated or approximated by the system in order to make accurate predictions. For example, if the system is determining an effect of meals and / or meal times on a patient’s glucose, the system may need to estimate or otherwise infer the time of consumption of one or more meals (and / or other details of those meals, such as the components of the meals, etc.) based on an analysis of the patient’s glucose data. However, by facilitating the entry of contextual data by the patient using the techniques disclosed herein, meal details may be explicitly entered by the user. This meal detail data may replace estimated or inferred data within the system, which may improve an accuracy of predictions (such as predicted future glucose values) made by the system for the patient. The patientinput meal data may also eliminate the need for the system to perform these estimation / inference actions. By reducing the amount of estimation / approximation that is needed to be performed by the system, a performance of the hardware of the system that conducts such estimation / approximation may be improved.
[0042] Also, by clearly displaying an animated overview of a patient’s glucose timeline (or a condensed timeline that includes only highlights), as well as patient events associated with such timeline, the patient may be provided with improved (e.g., more accurate) insights into the correlation between their behavior and their corresponding glucose values. These insights may be used to automatically generate, by the analyte monitoring system, improved medicament dosing instructions (e.g., dosing instructions sent to a hardware insulin pump) as well as improved recommendations sent to the patient by the system. These improved recommendations (such as diet, exercise, and medication recommendations) may be followed by the patient, resulting in a favorable improvement of the patient’s blood glucose levels.
[0043] Further, the analyte monitoring system described herein is configured to manipulate video playback settings (e.g., duration and playback speed) to adapt analyte-related video feedback to individual patient dynamics. The video feedback can visually correlate (e.g., show possible cause-and-effect associations between) thepatient’s health dynamics (e.g., meals, activities, and other contextual events) and the patient’s analyte measurements. The system can use the video playback settings to visually emphasize certain video segments deemed important while visually deemphasizing other video segments deemed less important. For example, the system can decrease a playback speed or increase a duration of a video segment describing a meal that has been determined to have a high contribution to the analyte measurements. Conversely, the system can increase a playback speed or decrease a duration of a segment describing an activity has been determined to have minimal contribution to the analyte measurements. This manipulation of video playback settings can result in shorter videos that highlight important contextual events, thus increasing resource efficiency (e.g., compute, storage, etc.) and minimizing resource cost while mitigating the effect of data loss.
[0044] In addition, or alternatively, video feedback can be based on a condensed timeline of patient data. The video feedback can thus serve as a “highlight reel,” as discussed above, thereby including a more concise representation of patient data. Accordingly, the video feedback can be shorter, thereby increasing resource efficiency (e.g., compute, storage, etc.) and minimizing resource cost while mitigating the effect of data loss.
[0045] The analyte monitoring system described herein is further configured to optimize how contextual data related to analyte measurements, such as events related to patient health dynamics, are received from a patient. In various cases, patient input can be related to timestamps associated with other information available to the system. In some examples, camera-roll integration and / or filtering can be implemented by the application to facilitate, for example, entry of patient contextual data. In an example, the application can indicate or suggest images from the patient’s camera roll to import or store as events of the patient, and the events can be related to timestamps associated with the images. In other examples, a drag-and-drop method can be implemented by the application to facilitate graphical entry of events, for example, relative to a graph of analyte measurements, and the corresponding times can be timestamps associated with particular locations on the graph where icons aredropped. In various embodiments, patient entry of contextual data is thus simplified, thereby increasing a quality and quantity of patient contextual data available, for example, for system-provided feedback regarding analyte measurements.
[0046] More particularly, in certain embodiments, the example systems and processes described herein can be implemented in a therapy management system operable to perform continuous analyte monitoring. As used herein, the term “continuous” analyte monitoring refers to monitoring one or more analytes in a fully continuous, semi-continuous, periodic manner, which results in a data stream of analyte values over time. A data stream of analyte values over time is what allows for meaningful data and insights to be derived, for example, using the algorithms described herein for facilitating submission of contextual data and / or for providing meaningful feedback (e.g., video feedback) based thereon. In other words, single point-in-time measurements collected as a result of a patient visiting their health care professional every few months results in sporadic data points (e.g., that are, at best, months apart in timing) that cannot form the basis of any meaningful data or insight to be derived. As such, without the continuous analyte monitoring system of the embodiments herein, it is simply impossible to facilitate submission of contextual data, and / or to provide meaningful feedback (e.g., video feedback) based thereon, in the fashion described herein.
[0047] Further, the data stream of analyte values collected over time, with the continuous analyte monitoring system presented herein, include real-time analyte values, which allows for deriving meaningful data and insight in real-time using the systems and algorithms described herein. The derived real-time data and insight in turn allows for facilitating submission of contextual data and / or for providing feedback (e.g., video feedback) based thereon. Real-time analyte values herein refer to analyte values that become available and actionable within seconds or minutes of being produced as a result of at least one sensor electronics module of the continuous analyte monitoring system (1) converting sensor current(s) (i.e., analog electrical signals) generated by the continuous analyte sensor(s) into sensor count values, (2) calibrating the count values to generate at least glucose and / or other analyteconcentration values using calibration techniques described herein to account for the sensitivity of the continuous analyte sensor(s), and (3) transmitting measured glucose and / or other analyte concentration data, including glucose and / or other analyte concentration values, to a display device via wireless connection.
[0048] For example, the at least one sensor electronics module may be configured to sample the analog electrical signals at a particular sampling period (or rate), such as every 1 second (1 Hz), 5 seconds, 10 seconds, 30 seconds, 1 minute, 3 minutes, 5 minutes, etc., and to transmit the measured glucose and / or other analyte concentration data to a display device at a particular transmission period (or rate), which may be the same as (or longer than) the sampling period, such as every 1 minute (0.016 Hz), 5 minutes, 10 minutes, etc.
[0049] The real-time analyte data that is continuously generated by the continuous analyte monitoring system described herein, therefore, allows the therapy management system herein to facilitating submission of contextual data and provide meaningful feedback (e.g., video feedback) based thereon, which is technically impossible to perform using existing or conventional techniques or systems. Further, because of the real-time nature of this data, it is also humanly impossible to continuously process a real-time data stream of analyte values over time to derive meaningful data and insight using the algorithms and systems described herein to facilitate submission of contextual data and provide meaningful feedback (e.g., video feedback) based thereon. In other words, deriving meaningful data and insight from a stream of real-time data that is continuously generated, processed, calibrated, and analyzed, using the algorithms and systems described herein, is not a task that can be mentally performed. For example, executing the algorithms described above and / or with respect to any of FIGS. 1A-B and 2-16, in real-time and on a continuous basis, which would involve using a stream of real-time data that is continuously generated by a patient’s continuous analyte monitoring system and / or significantly large amount of population data (e.g., hundreds or thousands of data points for each one of thousands or millions of patients in the patient population) is not a task that can be mentally performed, especially in real-time at times.
[0050] Further, certain embodiments herein are directed to a technical solution to a technical problem associated with analyte sensor systems. In particular, each analyte sensor system that is manufactured by a sensor manufacturer might perform slightly different. As such, there might be inconsistencies between sensors and the measurements they generate once in use. Accordingly, certain embodiments herein are directed to determining the performance of an analyte sensor system during a manufacturing calibration process (in vitro), which includes quantifying certain sensor operating parameters, such as a calibration slope (also known as calibration sensitivity), a calibration baseline, etc.
[0051] Generally, calibration sensitivity refers to the amount of electrical current produced by an analyte sensor of an analyte sensor system when immersed in a predetermined amount of a measured analyte. The amount of electrical current may be expressed in units of picoAmps (pA) or counts. The amount of measured analyte may be expressed as a concentration level in units of milligrams per deciliter (mg / dL), and the calibration sensitivity may be expressed in units of pA / (mg / dL) or counts / (mg / dL). The calibration baseline refers to the amount of electrical current produced by the analyte sensor when no analyte is detected, and may be expressed in units of pA or counts.
[0052] The calibration sensitivity, calibration baseline, and other information related to the sensitivity profde for the analyte sensor system may be programmed into the sensor electronics module of the analyte sensor system during the manufacturing process, and then used to convert the analyte sensor electrical signals into measured analyte concentration levels. For example, the calibration slope (calibration sensitivity) may be used to predict an initial in vivo sensitivity (Mo) and a final in vivo sensitivity (Mf), which are programmed into the sensor electronics module and used to convert the analyte sensor electrical signals into measured analyte concentration levels.
[0053] In certain embodiments, during in vivo use, the sensor electronics module of an analyte sensor system samples the analog electrical signals produced by the analyte sensor to generate analyte sensor count values, and then determines the measuredanalyte concentration levels based on the analyte sensor count values, the initial in vivo sensitivity (Mo), and the final in vivo sensitivity (Mr). For example, measured analyte concentration levels may be determined using a sensitivity function M(t) that is based on the initial in vivo sensitivity (Mo) and the final in vivo sensitivity (Mf). The sensitivity function M(t) may expressed in several different ways, such as a simple correction factor that is not dependent on elapsed time (ti) of in vivo use, a linear relationship between sensitivity and time (ti), an exponential relationship between sensitivity and time (ti), etc. Equation 1 presents one technique for determining a measured analyte concentration level (ACL) from an analyte sensor count value (count) at a time ti:ACL = count / M(ti) 1)
[0054] A calibration baseline (baseline) may also be used to determine a measured analyte concentration level (ACL) from an analyte sensor count value (count) at a time ti, and Equation 2 presents one technique:ACL = (count - baseline) / M(ti) 2)
[0055] FIG. 1A illustrates an example of a therapy management system 100, in accordance with certain embodiments of the disclosure. The therapy management system 100 may be utilized for generating and presenting information related to user health, for example, using various user interfaces associated with system 100. Each user of system 100, such as user 102, may interact with a mobile health application, such as mobile health application (“application”) 106 (e g., a diabetes intervention application that provides therapy management guidance), and / or a health monitoring device, such as an analyte sensor system 104 (e.g., a glucose monitoring system). User 102, in certain embodiments, may be the patient or, in some cases, the patient’s caregiver. In the embodiments described herein, the user is assumed to be the patient for simplicity only, but is not so limited. As shown, system 100 may include an analyte sensor system 104, a display device 107 that executes application 106, a therapy management engine 112, and a user database 110.
[0056] Analyte sensor system 104 may be configured to generate time-series data, such as analyte measurements (e.g., sensor data), for the user 102, e.g., on a continuous basis, and transmit the analyte measurements to the display device 107 for use by application 106. In some embodiments, the analyte sensor system 104 may transmit the analyte measurements to the display device 107 through a wireless connection (e.g., Bluetooth connection). In certain embodiments, display device 107 is a smart phone. However, in certain embodiments, display device 107 may instead be any other type of computing device such as a laptop computer, a smartwatch, a tablet, or any other computing device capable of executing application 106.
[0057] Note that, while in certain examples the analyte sensor system 104 is assumed to be a glucose monitoring system, analyte sensor system 104 may operate to monitor one or more additional or alternative analytes. As discussed, the term “analyte” as used herein is a broad term, and is to be given its ordinary and customary meaning to a person of ordinary skill in the art (and is not to be limited to a special or customized meaning), and refers without limitation to a substance or chemical constituent in the body or a biological sample (e.g., bodily fluids, including, blood, serum, plasma, interstitial fluid, cerebral spinal fluid, lymph fluid, ocular fluid, saliva, oral fluid, urine, excretions, or exudates).
[0058] Analytes can include naturally occurring substances, artificial substances, metabolites, and / or reaction products. In some embodiments, the analyte measured and used by the devices and methods described herein may include albumin, alkaline phosphatase, alanine transaminase, aspartate aminotransferase, bilirubin, blood urea nitrogen, calcium, CO2, chloride, creatinine, glucose, gamma-glutamyl transpeptidase, hematocrit, lactate, lactate dehydrogenase, magnesium, oxygen, pH, phosphorus, potassium, ketones, sodium, total protein, uric acid, metabolic markers, and / or drugs.
[0059] Other analytes are contemplated as well, including but not limited to acetaminophen, dopamine, ephedrine, terbutaline, ascorbate, uric acid, oxygen, d- amino acid oxidase, plasma amine oxidase, xanthine oxidase, NADPH oxidase, alcohol oxidase, alcohol dehydrogenase, pyruvate dehydrogenase, diols, Ros, NO,bilirubin, cholesterol, triglycerides, gentisic acid, ibuprophen, L-Dopa, methyl dopa, salicylates, tetracycline, tolazamide, tolbutamide, acarboxyprothrombin; acylcamitine; adenine phosphoribosyl transferase; adenosine deaminase; albumin; alpha-fetoprotein; amino acid profiles (arginine (Krebs cycle), histidine / urocanic acid, homocysteine, phenylalanine / tyrosine, tryptophan); andrenostenedione; antipyrine; arabinitol enantiomers; arginase; benzoylecgonine (cocaine); biotinidase; biopterin; c-reactive protein; carnitine; camosinase; CD4; ceruloplasmin; chenodeoxycholic acid; chloroquine; cholesterol; cholinesterase; conjugated 1-P hydroxy-cholic acid; cortisol; creatine kinase; creatine kinase MM isoenzyme; cyclosporin A; d-penicillamine; de-ethylchloroquine; dehydroepiandrosterone sulfate; DNA (acetylator polymorphism, alcohol dehydrogenase, alpha 1 -antitrypsin, cystic fibrosis, Duchenne / Becker muscular dystrophy, glucose-6-phosphate dehydrogenase, hemoglobin A, hemoglobin S, hemoglobin C, hemoglobin D, hemoglobin E, hemoglobin F, D-Punjab, beta-thalassemia, hepatitis B virus, HCMV, HIV-1, HTLV-1, Leber hereditary optic neuropathy, MCAD, RNA, PKU, Plasmodium vivax, sexual differentiation, 21 -deoxycortisol); desbutylhalofantrine; dihydropteridine reductase; diptheria / tetanus antitoxin; erythrocyte arginase; erythrocyte protoporphyrin; esterase D; fatty acids / acylglycines; free P-human chorionic gonadotropin; free erythrocyte porphyrin; free thyroxine (FT4); free triiodothyronine (FT3); fumarylacetoacetase; galactose / gal-1 -phosphate; galactose- 1- phosphate uridyltransferase; gentamicin; glucose-6-phosphate dehydrogenase; glutathione; glutathione perioxidase; glycocholic acid; glycosylated hemoglobin; halofantrine; hemoglobin variants; hexosaminidase A; human erythrocyte carbonic anhydrase I; 17-alpha-hydroxyprogesterone; hypoxanthine phosphoribosyl transferase; immunoreactive trypsin; lactate; lead; lipoproteins ((a), B / A-l, P); lysozyme; mefloquine; netilmicin; phenobarbitone; phenyloin; phytanic / pristanic acid; progesterone; prolactin; prolidase; purine nucleoside phosphorylase; quinine; reverse tri-iodothyronine (rT3); selenium; serum pancreatic lipase; sissomicin; somatomedin C; specific antibodies (adenovirus, anti-nuclear antibody, anti-zeta antibody, arbovirus, Aujeszky's disease virus, dengue virus, Dracunculus medinensis, Echinococcus granulosus, Entamoeba histolytica, enterovirus, Giardia duodenalisa,Helicobacter pylori, hepatitis B virus, herpes virus, HIV-1, IgE (atopic disease), influenza virus, Leishmania donovani, leptospira, measles / mumps / rubella, Mycobacterium leprae, Mycoplasma pneumoniae, Myoglobin, Onchocerca volvulus, parainfluenza virus, Plasmodium falciparum, poliovirus, Pseudomonas aeruginosa, respiratory syncytial virus, rickettsia (scrub typhus), Schistosoma mansoni, Toxoplasma gondii, Trepenoma pallidium, Trypanosoma cruzi / rangeli, vesicular stomatis virus, Wuchereria bancrofti, yellow fever virus); specific antigens (hepatitis B virus, HIV-1); succinyl acetone; sulfadoxine; theophylline; thyrotropin (TSH); thyroxine (T4); thyroxine-binding globulin; trace elements; transferrin; UDP- galactose-4-epimerase; urea; uroporphyrinogen I synthase; vitamin A; white blood cells; and zinc protoporphyrin. Salts, sugar, protein, fat, vitamins, and hormones naturally occurring in blood or interstitial fluids can also constitute analytes in certain embodiments.
[0060] The analyte can be naturally present in the biological fluid, for example, a metabolic product, a hormone, an antigen, an antibody, and the like. Alternatively, the analyte can be introduced into the body, for example, a contrast agent for imaging, a radioisotope, a chemical agent, a fluorocarbon-based synthetic blood, or a drug or pharmaceutical composition, including but not limited to insulin; ethanol; cannabis (marijuana, tetrahydrocannabinol, hashish); inhalants (nitrous oxide, amyl nitrite, butyl nitrite, chlorohydrocarbons, hydrocarbons); cocaine (crack cocaine); stimulants (amphetamines, methamphetamines, Ritalin, Cylert, Preludin, Didrex, PreState, Voranil, Sandrex, Plegine); depressants (barbituates, methaqualone, tranquilizers such as Valium, Librium, Miltown, Serax, Equanil, Tranxene); hallucinogens (phencyclidine, lysergic acid, mescaline, peyote, psilocybin); narcotics (heroin, codeine, morphine, opium, meperidine, Percocet, Percodan, Tussionex, Fentanyl, Darvon, Talwin, Lomotil); designer drugs (analogs of fentanyl, meperidine, amphetamines, methamphetamines, and phencyclidine, for example, Ecstasy); anabolic steroids; and nicotine. The metabolic products of drugs and pharmaceutical compositions are also contemplated analytes. Analytes such as neurochemicals and other chemicals generated within the body can also be analyzed, such as ascorbic acid, uric acid, dopamine, noradrenaline, 3-methoxytyramine (3MT), 3,4-di hydroxyphenyl acetic acid (DOPAC), homovanillic acid (HVA), 5- hydroxytryptamine (5HT), histamine, Advanced Glycation End Products (AGEs) and 5-hydroxyindoleacetic acid (FHIAA).
[0061] Application 106 may be a mobile health application that is configured to receive and analyze time-series data, including analyte measurements, from the analyte sensor system 104 and / or other devices, as described in greater detail relative to FIGS. IB and 2. In some embodiments, application 106 may transmit analyte measurements received from the analyte sensor system 104 to a user database 110 (and / or the therapy management engine 112), and the user database 110 (and / or the therapy management engine 112) may store the analyte measurements in a user profile 118 of user 102 for processing and analysis, for example, by the therapy management engine 112, based on contextual data supplied by the user 102. In some embodiments, application 106 may store the analyte measurements in a user profile 118 of user 102 locally for processing and analysis, for example, by the therapy management engine 112, based on contextual data supplied by the user 102.
[0062] In certain embodiments, application 106 is configured to provide various interfaces for receiving, from the user 102, contextual data of the type discussed previously. In an example, the application 106 can provide a user interface that enables the user 102 to graphically drag and drop icons representative of contextual events directly onto a timeline of analyte measurements (e.g., onto a glucose trend graph). Examples of drag-and-drop user interfaces for capturing contextual data will be described in greater detail relative to FIGS. 4-7. In another example, the application 106 can provide a user interface that enables the user 102 to indicate that one or more images accessible to the display device 107 (e.g., images in a camera roll) represent contextual events. Examples of user interfaces for capturing contextual data based on images will be described in greater detail relative to FIGS. 8-10.
[0063] In certain embodiments, therapy management engine 112 refers to a set of software instructions with one or more software modules, including a data analysis module (DAM) 111. In some embodiments, therapy management engine 112 executes entirely on one or more computing devices in a private or a public cloud. Insome other embodiments, therapy management engine 1 12 executes partially on one or more local devices, such as display device 107 (e.g., via application 106) and / or analyte sensor system 104, and partially on one or more computing devices in a private or a public cloud. In some other embodiments, therapy management engine 112 executes entirely on one or more local devices, such as display device 107 (e.g., via application 106) and / or analyte sensor system 104. As will be discussed in more detail relative to FIGS. 3-13, therapy management engine 112, via the application 106, may provide interfaces for obtaining contextual data indicative of contextual events. In various embodiments, therapy management engine 112 may generate a condensed timeline of patient data and / or video feedback based on the contextual events.
[0064] In certain embodiments, DAM 111 of therapy management engine 112 may be configured to receive and / or process a set of inputs 127 (described in more detail below) (also referred to herein as “input data”) to determine one or more outputs 130 (also referred to herein as “metrics data”). Inputs 127 may be stored in the user profile 118 in the user database 110. DAM 111 can fetch inputs 127 from the user database 110 and compute a plurality of outputs 130 which can then be stored as application data 126 in the user profile 118. Such outputs 130 may include health-related metrics.
[0065] In certain embodiments, application 106 is configured to take as input information relating to user 102 and store the information in a user profile 118 for user 102 in user database 110. For example, application 106 may obtain and record user 102’s demographic info 119, disease progression info 121, and / or medication info 122 in user profile 118. In certain embodiments, demographic info 119 may include one or more of the user’s age, body mass index (BMI), ethnicity, gender, etc. In certain embodiments, disease progression info 121 may include information about the user 102’s disease, such as, for diabetes, whether the user is Type I, Type II, prediabetes, or whether the user has gestational diabetes. In certain embodiments, disease progression info 121 also includes the length of time since diagnosis, the level of disease control, level of compliance with disease management therapy, predicted pancreatic function, other types of diagnosis (e.g., heart disease, obesity) or measuresof health (e.g., heart rate, exercise, stress, sleep, etc.), and / or the like. In certain embodiments, medication info 122 may include information about the amount and type of medication taken by user 102, such as insulin or non-insulin diabetes medications and / or non-diabetes medication taken by user 102.
[0066] In certain embodiments, application 106 may obtain demographic info 119, disease progression info 121, and / or medication info 122 from the user 102 in the form of user input or from other sources. In certain embodiments, as some of this information changes, application 106 may receive updates from the user 102 or from other sources. In certain embodiments, user profile 118 associated with the user 102, as well as other user profiles associated with other users are stored in a user database 110, which is accessible to application 106, as well as to the therapy management engine 112, over one or more networks (not shown).
[0067] In certain embodiments, application 106 collects inputs 127 through user 102 input and / or a plurality of other sources, including analyte sensor system 104, other applications running on display device 107, and / or one or more other sensors and devices. In certain embodiments, such sensors and devices include one or more of, but are not limited to, an insulin pump, other types of analyte sensors, sensors or devices provided by display device 107 (e.g., accelerometer, camera, global positioning system (GPS), heart rate monitor, etc.) or other user accessories (e.g., a smartwatch), or any other sensors or devices that provide relevant information about the user 102. In certain embodiments, user profile 118 also stores application configuration information indicating the current configuration of application 106, including its features and settings.
[0068] User database 110, in some embodiments, refers to a storage server that may operate in a public or private cloud. User database 110 may be implemented as any type of data store, such as relational databases, non-relational databases, key-value data stores, file systems including hierarchical file systems, and the like. In some exemplary implementations, user database 110 is distributed. For example, user database 110 may comprise a plurality of persistent storage devices, which aredistributed. Furthermore, user database 1 10 may be replicated so that the storage devices are geographically dispersed.
[0069] User database 110 may include other user profiles 118 associated with a plurality of other users served by therapy management system 100. More particularly, similar to the operations performed with respect to the user 102, the operations performed with respect to these other users may utilize an analyte monitoring system, such as analyte sensor system 104, and also interact with the same application 106, copies of which execute on the respective display devices of the other users 102. For such users, user profiles 118 are similarly created and stored in user database 110.
[0070] FIG. IB is a diagram 150 illustrating an example analyte sensor system 104 including an example continuous analyte sensor(s) with sensor electronics, in accordance with certain aspects of the present disclosure. For example, the analyte sensor system 104 may be configured to continuously monitor one or more analytes of a user.
[0071] As shown in FIG. IB, the analyte sensor system 104 in the illustrated embodiment includes a sensor electronics module 138 and one or more continuous analyte sensor(s) 140 (individually referred to herein as the continuous analyte sensor 140 and collectively referred to herein as the continuous analyte sensors 140) associated with a sensor electronics module 138. The sensor electronics module 138 may be in wireless communication (e.g., directly or indirectly) with one or more display devices 107a, 107b, 107c, and 107d. In certain embodiments, the sensor electronics module 138 may also be in wireless communication (e.g., directly or indirectly) with one or more medical devices 108 (individually referred to herein as the medical device 108 and collectively referred to herein as the medical devices 108).
[0072] In certain embodiments, a continuous analyte sensor 140 may comprise a sensor for detecting and / or measuring analyte(s). The continuous analyte sensor 140 may be a multi-analyte sensor configured to continuously measure two or more analytes (e.g., ketone, glucose) or a single analyte sensor configured to continuouslymeasure a single analyte as a non-invasive device, a subcutaneous device, a transcutaneous device, a transdermal device, and / or an intravascular device.
[0073] In certain embodiments, the continuous analyte sensor 140 may be configured to continuously measure analyte levels of a user using one or more measurement techniques, such as enzymatic, chemical, physical, electrochemical, spectrophotometric, polarimetric, calorimetric, iontophoretic, radiometric, immunochemical, and the like. In certain aspects, the continuous analyte sensor 140 provides a data stream indicative of the concentration of one or more analytes in the user. The data stream may include raw data signals which may be converted into a calibrated and / or filtered data stream used to provide estimated analyte value(s) to the user.
[0074] In certain embodiments, the continuous analyte sensor 140 may be a multianalyte sensor, configured to continuously measure multiple analytes in a user’s body. For example, in certain embodiments, the continuous multi-analyte sensor 140 may be a single sensor configured to measure glucose, ketones, and / or other blood analytes in the user’s body.
[0075] In certain embodiments, one or more multi-analyte sensors may be used in combination with one or more single analyte sensors. As an illustrative example, a multi-analyte sensor may be configured to continuously measure ketone and glucose and may, in some cases, be used in combination with one or more other analyte sensors configured to measure only, for example, hydration levels or protein levels. Information from each of the multi-analyte sensor(s) and single analyte sensor(s) may be combined to provide one or more types of analyte measurement data.
[0076] In certain embodiments, the sensor electronics module 138 includes electronic circuitry associated with measuring and processing the continuous analyte sensor data, including prospective algorithms associated with processing and calibration of the sensor data. The sensor electronics module 138 can be physically connected to the continuous analyte sensor(s) 140 and can be integral with (non-releasably attached to) or releasably attachable to the continuous analyte sensor(s) 140. The sensor 1electronics module 138 may include hardware, firmware, and / or software that enables measurement of levels of analyte(s) via a continuous analyte sensor(s) 140. For example, the sensor electronics module 138 can include a potentiostat, a power source for providing power to the sensor, other components useful for signal processing and data storage, and a telemetry module for transmitting data from the sensor electronics module to one or more display devices. Electronics can be affixed to a printed circuit board (PCB), or the like, and can take a variety of forms. For example, the electronics can take the form of an integrated circuit (IC), such as an Application-Specific Integrated Circuit (ASIC), a microcontroller, and / or a processor.
[0077] In some embodiments, the display devices 107a, 107b, 107c, and / or 107d are configured for displaying displayable sensor data, including analyte data, which may be transmitted by the sensor electronics module 138. In addition, or alternatively, the display devices 107a, 107b, 107c, and / or 107d are configured for displaying user interfaces for supplying, to the therapy management engine 112, contextual data indicative of one or more contextual events. Such user interfaces can be displayed, for example, via the application 106. In addition, or alternatively, the display devices 107a, 107b, 107c, and / or 107d are configured for displaying a condensed timeline of patient data and / or video feedback generated by the therapy management engine 112. Such a condensed timeline and / or video feedback can be displayed, for example, via the application 106.
[0078] Each of the display devices 107a, 107b, 107c, or 107d can include a display such as a touchscreen display 109a, 109b, 109c, / or 109d for displaying sensor data to a user and / or receiving inputs from the user. For example, a graphical user interface may be presented to the user for such purposes. In some embodiments, the display devices 107a, 107b, 107c, and 107d may include other types of user interfaces such as a voice user interface instead of, or in addition to, a touchscreen display for communicating sensor data to the user of the display device and / or receiving user inputs. The display devices 107a, 107b, 107c, and 107d may be examples of the display device 107 illustrated in FIG. 1 A used to display sensor data to the user 102 and / or receive input from the user 102.
[0079] In some embodiments, one, some, or all of the display devices are configured to display or otherwise communicate the sensor data as it is communicated from the sensor electronics module (e.g., in a data package that is transmitted to respective display devices), without any additional prospective processing required for calibration and real-time display of the sensor data.
[0080] The plurality of display devices may include a custom display device specially designed for displaying certain types of displayable sensor data associated with analyte data received from sensor electronics module, contextual data, a condensed timeline, and / or video feedback. In certain embodiments, the plurality of display devices may be configured for providing alerts / alarms based on the displayable sensor data. The display device 107b is an example of such a custom device. In some embodiments, one of the plurality of display devices is a smartphone, such as the display device 107c which represents a mobile phone, using a commercially available operating system (OS), and configured to display a graphical representation of the continuous sensor data (e.g., including current and historic data), contextual data, a condensed timeline of patient data, and / or feedback based on any of the foregoing (e.g., video feedback).
[0081] Other display devices can include other hand-held devices, such as the display device 107d which represents a tablet, the display device 107a which represents a smartwatch, the medical device 108 (e.g., an insulin delivery device or a blood glucose meter), and / or a desktop or laptop computer (not shown). Display device 107d and display device 107a may similarly be configured to display graphical representations of the continuous sensor data (e.g., including current and historic data), contextual data, a condensed timeline of patient data, and / or any feedback based on the foregoing (e.g., video feedback).
[0082] Because different display devices provide different user interfaces, content of the data packages (e.g., amount, format, and / or type of data to be displayed, alarms, and the like) can be customized (e.g., programmed differently by the manufacture and / or by an end user) for each particular display device. Accordingly, in certain embodiments, a plurality of different display devices can be in direct wirelesscommunication with a sensor electronics module (e.g., such as an on-skin sensor electronics module 138 that is physically connected to continuous analyte sensor(s) 140) during a sensor session to enable a plurality of different types and / or levels of display and / or functionality associated with the displayable sensor data. In certain embodiments, the type of alarms customized for each particular display device, the number of alarms customized for each particular display device, the timing of alarms customized for each particular display device, and / or the threshold levels configured for each of the alarms (e.g., for triggering) are based on the current health of a user, the state of a user’s analyte levels, current treatment recommended to a user, and / or physiological parameters of a user.
[0083] As mentioned, the sensor electronics module 138 may be in communication with a medical device 108. The medical device 108 may be a passive device in some example embodiments of the disclosure. For example, the medical device 108 may be an insulin pump for administering insulin to a user..
[0084] In certain embodiments, one or more other non-analyte sensors 142 (individually referred to herein as the non-analyte sensor 142 and collectively referred to herein as the non-analyte sensor 142) may be in communication with any of the display devices 107. The non-analyte sensors 142 may include, but are not limited to, an altimeter sensor, an accelerometer sensor, a temperature sensor, a respiration rate sensor, a sweat sensor, etc. The non-analyte sensors 142 may also include monitors such as heart rate monitors, ECG monitors, blood pressure monitors, pulse oximeters, or the like. The non-analyte sensors 142 may also include data systems for measuring non-patient specific phenomena such as time, ambient pressure, or ambient temperature which could include an atmospheric pressure sensor, an external air temperature sensor or a clock, timer. In some embodiments, the non-analyte sensors 142 may be, or include, an activity monitor, for example, that includes a combination of the foregoing sensors, such as an accelerometer sensor, a heart rate monitor, GPS sensor, and / or the like. In addition, or alternatively, the non-analyte sensors 142, such as an activity monitor, may be, or be integrated in, one or more of the display devices 107 such as the display device 107a which represents a smartwatch. One or more ofthese non-analyte sensors 142 may provide data to the therapy management engine 112.
[0085] In certain embodiments, a wireless access point (WAP) may be used to couple one or more of the analyte sensor system 104, the plurality of display devices, the medical device(s) 108, and / or the non-analyte sensor(s) 142 to one another. For example, the WAP may provide Wi-Fi and / or cellular connectivity among these devices. Near Field Communication (NFC) and / or Bluetooth may also be used among devices depicted in the diagram 150 of FIG. IB.
[0086] FIG. 2 illustrates example inputs and example metrics that are generated based on the inputs in accordance with certain embodiments of the disclosure. In particular, FIG. 2 illustrates example inputs 127 on the left, application 106 and therapy management engine 112, with DAM 111, in the middle, and example outputs 130 on the right. In certain embodiments, application 106 may obtain inputs 127, in the form of time-series data, through one or more channels (e.g., continuous analyte sensor(s) 104, non-analyte sensor(s) 142, various applications executing on display device 107, etc.). Inputs 127 may be further processed by DAM 111 to output a plurality of metrics, such as outputs 130. Further, inputs (e.g., inputs 127) and metrics (e.g., outputs 130) may be used by the DAM 111 and / or any computing device in the system 100 to perform various processes in determining and displaying information related to or based on contextual data to users, as further described below. Any of inputs 127 may be used for computing any of outputs 130. In certain embodiments, each one of outputs 130 may correspond to one or more values, e.g., discrete numerical values, ranges, or qualitative values (high / medium / low or stable / unstable). In some embodiments, some or all of outputs 130 may include time-series data and / or be provided in the form of time-series data.
[0087] In certain embodiments, inputs 127 include food consumption information. Food consumption information may include information about one or more of meals, snacks, and / or beverages, such as one or more of the size, content (carbohydrate, fat, protein, etc ), sequence of consumption, and time of consumption. In certain embodiments, food consumption may be provided by the user through manual entry,by providing a photograph through an application that is configured to recognize food types and quantities, and / or by scanning a bar code or menu. In various examples, meal size may be manually entered as one or more of calories, quantity (e.g., 'three cookies'), menu items (e.g., 'Royale with Cheese'), and / or food exchanges (1 fruit, 1 dairy). In some examples, meals may also be entered with the user's typical items or combinations for this time or setting (e.g., workday breakfast at home, weekend brunch at restaurant). In some examples, meal information may be received via a convenient user interface provided by application 106.
[0088] In certain embodiments, inputs 127 include activity information. Activity information may be provided, for example, the one or more non-analyte sensors 142 of FIG. IB. In certain embodiments, activity information may additionally be provided through manual input by user 102. Activity information may include, for example, a time series for each of heart rate, activity minutes, step count, floors climbed, location information (e.g., GPS data), calories burned, sleep duration and / or quality, activity level (e.g., light, medium, or heavy), and / or similar information. In addition, or alternatively, the activity information can include one or more time series for recorded activities of one or more defined activity types (e.g., walk, run, sprint, swim, weightlift etc.), where each activity is associated with a duration and / or time period.
[0089] In certain embodiments, inputs 127 include patient statistics, such as one or more of age, height, weight, body mass index, body composition (e.g., % body fat), stature, build, or other information. Patient statistics may be provided through a user interface, by interfacing with an electronic source such as an electronic medical record, and / or from measurement devices. The measurement devices may include one or more of a wireless, e.g., Bluetooth-enabled, weight scale and / or camera, which may, for example, communicate with the display device 107 to provide patient data.
[0090] In certain embodiments, inputs 127 include information relating to the user’s medication intake. For example, the user’s medication intake may include the user’s insulin delivery. Such information may be received, via a wireless connection on a smart pen, via user input, and / or from an insulin pump (e.g., medical device 108).Insulin delivery information may include one or more of insulin volume, time of delivery, etc. Other configurations, such as insulin action time or duration of insulin action, may also be received as inputs.
[0091] In certain embodiments, inputs 127 include physiological information received from non-analyte sensor(s) 142 , which may detect one or more of heart rate, respiration, oxygen saturation, body temperature, etc. (e.g., to detect illness, stress levels, etc.). In certain embodiments, inputs 127 include time, such as time of day, or time from a real-time clock.
[0092] In certain embodiments, inputs 127 include analyte data, which may be provided as input from analyte sensor system 104, for example, in any of the ways described with respect to FIG. 1 A. An example of analyte data is glucose data, which may be provided and / or stored as a time series corresponding to time-stamped glucose measurements over time. Other types of analyte data, such as ketone data, potassium data, lactate data, etc., may similarly be provided and / or stored as a time series.
[0093] In certain embodiments, some or all of the other inputs 127, such as food consumption information, activity information and medication information, can be contextual data related to the analyte data, as discussed previously, where the contextual data is indicative of contextual events at particular times. In certain embodiments, the application 106 can provide an interface for supplying the contextual data indicative of contextual events. Examples will be described in greater detail relative to FIGS. 3-10.
[0094] As described above, in certain embodiments, DAM 111 generates, determines, and / or computes outputs 130 based on inputs 127 associated with user 102. An example list of outputs 130 is illustrated in FIG. 2. In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include metabolic rate. Metabolic rate is a metric that may indicate or include a basal metabolic rate (e.g., energy consumed at rest) and / or an active metabolism, e.g., energy consumed by activity, such as exercise or exertion. In some examples, basal metabolic rate and active metabolism may be tracked as separate metric. In certain embodiments, themetabolic rate may be calculated by DAM 11 1 based on one or more of inputs 127, such as one or more of activity information, sensor input, time, user input, etc.
[0095] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include an activity level metric. The activity level metric may indicate a level of activity of the user. In certain embodiments, the activity level metric may be determined, for example based on input from an activity sensor or other physiologic sensors. In certain embodiments, the activity level metric may be calculated by DAM 111 based on one or more of inputs 127, such as one or more of activity information, physiological information, analyte data, time, user input, etc. Activity level may indicate whether the user is exercising, at rest, sleeping, etc.
[0096] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include an insulin resistance metric (also referred to herein as an “insulin resistance”). The insulin resistance metric may be determined using historical data, real-time data, or a combination thereof, and may, for example, be based upon one or more inputs 127, such as one or more of food consumption information, blood glucose information, insulin delivery information, the resulting glucose levels, etc. In certain embodiments, the insulin on board metric may be determined using insulin delivery information, and / or known or learned (e.g., from patient data) insulin time action profdes, which may account for both basal metabolic rate (e.g., update of insulin to maintain operation of the body) and insulin usage driven by activity or food consumption.
[0097] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include a meal state metric. The meal state metric may indicate the state the user is in with respect to food consumption. For example, the meal state may indicate whether the user is in one of a fasting state, pre-meal state, eating state, postmeal response state, or stable state. In certain embodiments, the meal state may also indicate nourishment on board, e.g., meals, snacks, or beverages consumed, and may be determined, for example from food consumption information, time of meal information, and / or digestive rate information, which may be correlated to food type, quantity, and / or sequence (e.g., which food / beverage was eaten first.).
[0098] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include health and sickness metrics. Health and sickness metrics may be determined, for example, based on one or more of user input (e.g., pregnancy information or known sickness information), from non-analyte sensor(s) 142, such as physiologic sensors (e g., temperature), activity sensors, or a combination thereof. In certain embodiments, based on the values of the health and sickness metrics, for example, the user’s state may be defined as being one or more of healthy, ill, rested, or exhausted. In certain embodiments, health and sickness metric may indicate the user’s heart rate, stress level, etc.
[0099] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include analyte level metrics. Analyte level metrics may be determined from analyte data (e.g., glucose measurements obtained from analyte sensor system 104). In some examples, an analyte level metric may also be determined, for example, based upon historical information about analyte levels in particular situations, e.g., given a combination of food consumption, insulin, and / or activity. An analyte level metric may include a rate of change of the analyte, time in range, time spent below a threshold level, time spent above a threshold level, or the like. In certain embodiments, an analyte trend may be determined based on the analyte level over a certain period of time. As described above, example analytes may include glucose, ketones, lactate, potassium and others described herein.
[0100] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include a disease stage. For example disease stages for Type II diabetics may include a pre-diabetic stage, an oral treatment stage, and a basal insulin treatment stage. In certain embodiments, degree of glycemic control (not shown) may also be determined as an outcome metric, and may be based, for example, on one or more of glucose levels, variation in glucose level, or insulin dosing patterns.
[0101] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include clinical metrics. Clinical metrics generally indicate a clinical state a user is in with respect to one or more conditions of the user, such as diabetes. For example, in the case of diabetes, clinical metrics may be determined based onglycemic measurements, including one or more of Al C, trends in Al C, time in range, time spent below a threshold level, time spent above a threshold level, and / or other metrics derived from glucose values. In certain embodiments, clinical metrics may also include one or more of estimated A1C, glycemic variability, hypoglycemia, and / or health indicator (time magnitude out of target zone).
[0102] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 include a condensed timeline of patient data. The condensed timeline can include, for example, partial subsets of the analyte data and / or the contextual data indicative of contextual events. For example, in various embodiments, the DAM 111 can identify and tag notable glucose levels in a timeline (e.g., a glucose trend graph) and provide a summary of only those levels, as well as associated contextual events (e.g., an inferred cause / effect relationship base on what patient behavior prompted the notable glucose level).
[0103] In certain embodiments, outputs 130 generated, determined, or computed by DAM 111 can include video feedback. In various embodiments, the video feedback can present an animated overview of the user’s analyte measurements during a predetermined period of time, where the animated overview includes contextual data indicative of contextual events. The animated overview can visually indicate an impact of such contextual events on the user’s analyte measurements during the predetermined period of time. In various embodiments, the video feedback can be based on, for example, the condensed timeline, such that the video feedback is a “highlight reel.” In various embodiments, a timed playback of the video feedback can be manipulated based on the contextual events.
[0104] FIG. 3 illustrates an example of a process 300 for facilitating submission and utilization of contextual data for a user such as a patient. In some embodiments, the process 300 can be executed, for example, by the therapy management engine 112 of FIGS. 1A-B and 2. In addition, or alternatively, the process 300 can be executed, for example, by the application 106 of FIGS. 1A-B and 2. In addition, or alternatively, the process 300 can be executed generally by any of the display devices 107 of FIGS. 1 A-B and 2. Although any number of systems, in whole or in part, can implement theprocess 300, to simplify discussion, the process 300 will be described primarily in relation to the therapy management engine 112 of FIGS. 1A-B and 2.
[0105] At block 302, the therapy management engine 112 receives analyte measurements for a time period. In general, the time period can be, for example, a predetermined period that spans any suitable interval, such as a number of hours (e.g., a preceding eight hours), a number of days, a current day, a previous day, a current month, a previous month, and / or the like. The analyte measurements can be generated and received, for example, as discussed relative to FIGS. 1-2.
[0106] At block 304, the therapy management engine 112 provides an interface for supplying contextual data indicative of one or more contextual events for the time period. In general, the provided interface conveys information that helps the user identify and accurately indicate the contextual events in relation to a time, or an approximate time, at which they occurred. In some embodiments, the interface can be provided, for example, on the display device 107 via the application 106. In some embodiments, multiple interfaces can be provided for supplying the contextual data.
[0107] In an example, the provided interface can enable the user to directly drag and drop icons representative of events (e.g., meals, treatment, activity, etc.) into an analyte trend graph for the time period (e.g., a glucose trend graph). According to this example, the analyte trend graph can assist the user in recalling and / or entering events such as meals (e.g., in relation to a glucose spike), medication administration (e.g., in relation to a glucose drop), activity (e.g., in relation to a glucose drop), etc. According to this example, the corresponding time of each such event can be a timestamp associated with particular locations on the graph where a corresponding icon is dropped. Examples of drag-and-drop interfaces will be discussed relative to FIGS. 4- 7.
[0108] In another example, the provided interface can indicate or suggest images from the user’s camera roll to import or store as events of the user. According to this example, images (e.g., still images and / or video) can assist the user in recalling and / or entering events based on depictions in the images (e.g., food or other data) and / or anymetadata associated therewith (e.g., time and geo-location data). In this way, in various embodiments, the images can be automatically correlated with analyte data (e.g., glucose data) determined at or around the timestamp associated with the image. Examples of image-based interfaces will be discussed relative to FIGS. 8-10.
[0109] At block 306, the therapy management engine 112 analyzes the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period. The condensed timeline can include, for example, partial subsets of the analyte measurements and / or the contextual events. The partial subsets can include analyte measurements and / or contextual events that are deemed notable based on any suitable logic, such as stored criteria establishing severity thresholds, target analyte ranges, and / or the like. In certain embodiments, the condensed timeline can include information related to contextual events based on their relative contribution to the analyte measurements.
[0110] In some embodiments, the relative contribution of each contextual event can be determined based on its time proximity to an analyte event. In an example, the therapy management engine 112 can identify analyte events during the time period based on a comparison of the analyte measurements to stored criteria defining one or more analyte event types. For example, the stored criteria can establish one or more thresholds for each of notable highs (e.g., a threshold corresponding to hyperglycemia), notable lows (e.g., a threshold corresponding to hypoglycemia), etc. In addition, or alternatively, the stored criteria can include, for example, upper and lower thresholds corresponding to an analyte target range. According to this example, the therapy management engine 112 can determine, for each analyte event, any contextual events that occurred within a predetermined time constraint of the analyte event (e.g., within a two-hour period preceding a notable high or a notable low). According to this example, the contextual events that occurred within a predetermined time constraint of at least one analyte event may be deemed to have a relative contribution to the analyte measurements (e.g., a “TRUE” value), with all other contextual events being deemed not to have such a relative contribution (e.g., a “FALSE” value).
[0111] According to the foregoing example, the condensed timeline can include information related to each identified analyte event and its determined contextual events. The condensed timeline can exclude, for example, information related to contextual events that did not occur within the predetermined time constraint of any identified analyte event (e.g., a meal for which no analyte event is identified within the next two hours), thereby enhancing the timeline’s value to the user for improving time in range and / or avoiding notable highs / lows. In some embodiments, the condensed timeline can further exclude all or part of the analyte measurements, except to the extent the analyte measurements are represented by the analyte events. In these embodiments, the condensed timeline can serve as a timeline of the identified analyte events and the determined contextual events.
[0112] In some embodiments, the relative contribution of each contextual event can be determined based on an amount of change in the analyte measurements following the contextual event. For example, the relative contribution can be determined based on criteria that is defined in terms of an amplitude of the analyte measurements during a predefined period following the contextual event, an average rate of change during a period following the contextual event, a change in trend, a high or low measurement in satisfaction of corresponding severity threshold(s), and / or other information or analytics related to the analyte measurements. For example, in some embodiments, the relative contribution can be a binary determination based on whether the existence of a relative contribution has been identified (e.g., a “TRUE” or “FALSE” value). In other embodiments, the relative contribution can be a metric or compositional metric, for example, based on the foregoing criteria.
[0113] According to the foregoing example, the condensed timeline can include information related to each contextual event that is determined to have a relative contribution to the analyte measurements, or that is determined to have a relative contribution in excess of a predefined threshold associated with a minimum amount of change in the analyte measurements. The predefined threshold can be defined, for example, in terms of an amplitude of the analyte measurements during a predefined period following the contextual event, an average rate of change during a periodfollowing the contextual event, a change in trend, a high or low measurement in satisfaction of corresponding severity threshold(s), and / or other information or analytics related to the analyte measurements. In certain embodiments, the condensed timeline can exclude information related to contextual events that are not determined to have any relative contribution to the analyte measurements (e.g., an activity for which no relative contribution to glucose measurements is identified), or that are not determined to have a relative contribution in excess of the predefined threshold, thereby enhancing the timeline’s value to the user for improving time in range and / or avoiding notable highs / lows.
[0114] At block 308, the therapy management engine 112 presents information related to the condensed timeline to the user, for example, on the display device 107. In some embodiments, the block 308 can include, for example, presenting a visual of the condensed timeline, such as a graph of the included patient data over time. In addition, or alternatively, the block 308 can include, for example, presenting video feedback related to the condensed timeline. Examples of presenting video feedback will be described in greater detail relative to FIGS. 11-13. After block 308, the process 300 ends.
[0115] FIGS. 4-7 illustrate examples of facilitating graphical entry of contextual data indicative of contextual events, in accordance with certain embodiments. In particular, FIG. 4 illustrates an example of a user interface 400 for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments. In various embodiments, the user interface 400 can be provided by the application 106 of FIG. 1A as described, for example, with respect to the block 304 of FIG. 3. The user interface 400 includes an event palette 452 in a first area of thereof and a glucose trend graph 454 for a time period in a second area thereof. The event palette 452 includes icons representative of contextual event types, namely, an icon 456A representative of a meal and an icon 456B representative of an activity.
[0116] In the example of FIG. 4, a user selects or drags the icon 456A representative of a meal, such that the icon 456A appears above a location (e.g., a particular time) along the glucose trend graph 454. In response, the user is provided, for example, bythe application 106, an ability to move the icon 456A along, or in relation to, the time period of the glucose trend graph 454. In the example of FIG. 4, the icon 456A passes through 4:21 pm before being dropped (e.g., released) in relation to 3:58 pm. In the illustrated embodiment, the drop (e.g. release) of the icon 456A indicates a meal event 458 at 3:58 pm. In this way, the application 106, for example, receives contextual data indicating the meal event 458 at 3:58 pm. In response, the application 106, for example, shows the meal event 458 on the glucose trend graph 454.
[0117] FIG. 5 illustrates another example of a user interface 500 for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments. In various embodiments, the user interface 500 can be provided by the application 106 of FIG. 1A as described, for example, with respect to the block 304 of FIG. 3. The user interface 500 includes an event palette 552 in a first area thereof and a glucose trend graph 554 for a time period in a second area thereof. The event palette 552 includes icons representative of contextual event types, namely, an icon 556A representative of a meal and an icon 556B representative of an activity.
[0118] In the example of FIG. 5, a user selects or drags the icon 556A representative of a meal, such that the icon 556A appears above a location (e.g., a particular time) along the glucose trend graph 554. In response to the user selecting or dragging the icon 556A, the user is provided, for example, by the application 106, an ability to move the icon 556A along, or in relation to, the time period of the glucose trend graph 554. Additionally, in response to the user selecting or dragging the icon 556A, the application 106, for example, provides a supplemental interface 560 for supplying additional event information related to the selection of the icon 556A. The additional event information can include, for example, text, one or more images, and / or the like. The supplemental interface 560 is shown with the glucose trend graph 554, thereby enabling further entry of contextual data without leaving the user interface 500
[0119] In the example of FIG. 5, the icon 556A passes through 4:21 pm before being dropped (e.g., released) in relation to 3:58 pm. Thus, in the illustrated embodiment, the drop (e.g. release) of the icon 556A indicates a meal event 558 at 3:58 pm. Further, in the illustrated embodiment, the user enters additional event information562 (e.g., “I ate a big cheeseburger”) into the supplemental interface 560. In this way, the application 106, for example, receives contextual data indicating the meal event 558 at 3:58 pm, with the contextual data including any text or images entered into the supplemental interface 560 (e.g., the additional event information 562). In response, the application 106, for example, shows the meal event 558 on the glucose trend graph 554.
[0120] FIG. 6 illustrates another example of a user interface 600 for supplying contextual data via drag-and-drop interaction, in accordance with certain embodiments. In various embodiments, the user interface 600 can be provided by the application 106 of FIG. 1A as described, for example, with respect to the block 304 of FIG. 3. The user interface 600 includes an event palette 652 and a glucose trend graph 654 for a time period. The event palette 652 includes icons representative of contextual events, namely, an icon 656A representative of a meal and an icon 656B representative of an activity.
[0121] In the example of FIG. 6, a user may notice a glucose drop and recall a meal that has not been entered as a contextual event. Accordingly, the user selects or drags the icon 656A representative of a meal, such that the icon 656A appears above a location (e.g., a particular time ) along the glucose trend graph 654. In response to the user selecting or dragging the icon 656A, the user is provided, for example, by the application 106, an ability to move the icon 656A along, or in relation to, the time period of the glucose trend graph 654. Additionally, in response to the user selecting or dragging the icon 656A, the application 106, for example, provides a supplemental interface 660 for supplying additional event information related to the selection of the icon 656A. The additional event information can include, for example, text, one or more images, and / or the like. The supplemental interface 660 is shown with the glucose trend graph 654, thereby enabling further entry of contextual data without leaving the user interface 600
[0122] In the example of FIG. 6, the icon 656A passes through 2: 10 pm before being dropped (e.g., released) in relation to 1 :32 pm. Thus, in the illustrated embodiment, the drop (e.g. release) of the icon 656A indicates a meal event 658 at 1 :32 pm. 1Further, in the illustrated embodiment, the user enters additional event information 662 (e.g., “I ate my cheeseburger too late!”) into the supplemental interface 660. In this way, the application 106, for example, receives contextual data indicating the meal event 658 at 1 :32 pm, with the contextual data including any text or images entered into the supplemental interface 660 (e g., the additional event information 662). In response, the application 106, for example, shows the meal event 658 on the glucose trend graph 654.
[0123] FIG. 7 illustrates an example of a process 700 for facilitating graphical entry of contextual data indicative of a contextual event, in accordance with certain embodiments. In some embodiments, the process 700 can be executed, for example, by the therapy management engine 112 of FIGS. 1A-B and 2. In addition, or alternatively, the process 700 can be executed, for example, by the application 106 of FIGS. 1A-B and 2. In addition, or alternatively, the process 700 can be executed generally by any of the display devices 107 of FIGS. 1A-B and 2. Although any number of systems, in whole or in part, can implement the process 700, to simplify discussion, the process 700 will be described primarily in relation to the application 106 of FIGS. 1A-B and 2.
[0124] At block 702, the application 106 provides, on a user interface, a graph of analyte measurements (e.g., a trend graph) and a palette of icons representing one or more contextual event types (e.g., meals, activities, treatments, etc.) for user control and / or selection. For example, the provided user interface can be similar to the user interface 400 of FIG. 4, the user interface 500 of FIG. 5, and / or the user interface 600 of FIG. 6.
[0125] At block 704, the application 106 receives, from the user, a graphical indication of a contextual event in relation to a location (e.g., a particular time) along the graph of analyte measurements. For example, as discussed relative to FIGS. 4 and 5, the user can select or drag an icon from the palette of icons to the location on the graph. The icon can represent, for example, a meal, activity, treatment, or the like. For example, in the embodiments illustrated in FIGS. 4, 5 and 6, a meal is indicated relative to particular times.
[0126] At block 706, the application 106 automatically determines a time of occurrence for the contextual event based on a timestamp associated with the location on the graph. For example, in the embodiments illustrated in FIGS. 4 and 5, the automatically determined time is shown to be 3:58 pm. In various embodiments, the block 706 can involve the contextual event being automatically correlated to an analyte value associated with the automatically determined time of the contextual event.
[0127] At block 708, the application 106, while still displaying the graph of analyte measurements, prompts the user to provide additional event information via a supplemental interface that is displayed concurrently with the graph. In this way, in certain embodiments, there is no separation between entry of an event description and viewing where the event is inserted into the graph. The supplemental interface can be similar, for example, to the supplemental interface 560 of FIG. 5 and / or the supplemental interface 660 of FIG. 6. In some embodiments, such as the embodiment described relative to FIG. 5, the process 700 can proceed without any additional event information. In these embodiments, blocks 708 and 710 (discussed below) may be omitted.
[0128] At block 710, the application 106 receives the additional event information in response to the prompt. The additional event information can be similar, for example, to the additional event information 562 of FIG. 5 and / or the additional event information 662 of FIG. 6.
[0129] At block 712, the therapy management engine stores contextual data for the contextual event. The stored contextual data can include, for example, the automatically determined time and the supplemental event information. Following block 712, the process 700 ends.
[0130] In some embodiments, the process 700 described above can be modified to be based on an inferred contextual event. For example, the application 106 can: (1) infer a contextual event based on a change in analyte measurements (e.g., the application 106 can infer a meal based on a detected spike in glucose measurements); (2)automatically determine a time of the inferred event, for example, based on a time of the detected spike; and (3) display a graphical indication of the inferred event in relation to a graph of analyte measurements (e.g., a different-colored icon or pin to differentiate the inferred contextual event from user-indicated events); (4) receive an indication from the patient to provide additional information (e.g., the patient taps the different-colored icon or pin); and (5) while still displaying the graph, prompt the patient to provide additional event information via a supplemental interface that is displayed concurrently with the graph, in similar fashion to the supplemental interfaces described above relative to FIGS. 4-7.
[0131] FIGS. 8-10 illustrate examples of facilitating image-based entry of contextual data indicative of contextual events, in accordance with certain embodiments. In particular, FIG. 8 illustrates an example of a user interface 800 for supplying contextual data via camera-roll integration, in accordance with certain embodiments. In various embodiments, the user interface 800 can be provided by the application 106 of FIG. 1 A as described, for example, with respect to the block 304 of FIG. 3.
[0132] In the example of FIG. 8, the user interface 800 displays an image 864 in relation to a glucose trend graph 854. The display of the image 864 can represent a prompt to the user to consider whether the image 864 represents (e.g., depicts) a contextual event, such as a meal. In particular, the image 864 is automatically correlated to a location 866 along the glucose trend graph 854, for example, based on metadata (e.g., a timestamp) associated therewith. For illustrative purposes, the location 866 corresponds to 12: 19 pm on March 29, 2018. In this way, in the user interface 800, a display or timeline of glucose measurements, in the form of the glucose trend graph 854, is overlaid on the image 864.
[0133] The user interface 800 further includes a drill-down feature 868 that can be selected, for example, via swipe action or other user input. In response to the user’s selection of the drill-down feature 868, the application 106, for example, can cause the user interface 800 to display further information related to the image 864 (e.g., other metadata such as geolocation data, image recognition data, etc.), further information related to glucose measurements at or around the time corresponding tothe location 866 of the glucose trend graph 854 (e.g., rate of change), and / or other data that will be apparent to one skilled in the art after a detailed review of the present disclosure.
[0134] In the embodiment shown in FIG. 8, the user can select a save feature 870 to indicate that the image 864 represents (e.g., depicts) a contextual event, such as a meal, for the time period of the glucose graph. In response, the application 106, for example, can store contextual data indicating the contextual event for the meal. Accordingly, the application 106 can automatically correlate the contextual event to the time corresponding to the location 866 along the glucose trend graph 854. In addition, or alternatively, the application 106 can automatically correlate the contextual event to a time of occurrence, such as the time corresponding to the location 866 and / or a time indicated by a timestamp for the image 864. The stored contextual data can include, for example, a contextual event type such as a meal, the image 864, the time of occurrence, the image metadata for the image 864, glucose measurements associated with the location 866 of the glucose trend graph 854, any data related to the drill-down feature 868 discussed above, and / or the like.
[0135] In some embodiments, the image 864 can be part of an image set corresponding to the time period of the glucose trend graph 854 (e.g., images associated with timestamps that fall within the time period of the glucose graph or within a defined interval thereof). Accordingly, in certain embodiments, each image of the set can represent an image for the user’s consideration as a contextual event. As further discussed below relative to FIG. 10, in some embodiments, the image set can be a result of filtering the user’s camera roll for the time period. For example, as also discussed further relative to FIG. 10, the filtered image set can include images relating to food or meals, such that other images from the time period are excluded or filtered out.
[0136] In the example of FIG. 8, the user interface 800 includes a navigation feature 874 that enables the user to scroll through the image set via, for example, swiping action or other user input. As the user scrolls through the image set, each successive image can be displayed in relation to the glucose trend graph 854, automaticallycorrelated to a location along the glucose trend graph, and / or indicated to be a contextual event for the time period, as discussed relative to the image 864. Accordingly, contextual data indicating contextual events for the time period can be stored, as also discussed relative to the image 864.
[0137] FIG. 9 illustrates another example of a user interface 900 for supplying contextual data via camera-roll integration, in accordance with certain embodiments. In various embodiments, the user interface 900 can be provided to a user by the application 106 of FIG. 1A as described, for example, with respect to the block 304 of FIG. 3.
[0138] In the example of FIG. 9, the user interface 900 includes a user-navigable image set 972. In certain embodiments, the user-navigable image set 972 can be an image set or filtered image set as discussed relative to FIG. 8. For example, the user can scroll through the user-navigable image set 972 (e.g., via swipe action or other user input) and indicate individual images that represent (e.g., depict) contextual events, such as meals.
[0139] In the embodiment shown in FIG. 9, an image 964 is selected and can be indicated as a contextual event, such as a meal, via a save feature 970. In response, the application 106, for example, can store contextual data indicating the contextual event for the meal. Accordingly, the application 106 can automatically correlate the contextual event to a time indicated by a timestamp for the image 964. The stored contextual data can include, for example, a contextual event type such as a meal, the image 964, the time of occurrence, the image metadata for the image 964, glucose measurements at or around the time of occurrence, and / or the like.
[0140] FIG. 10 illustrates an example of a process 1000 for facilitating image-based entry of contextual data indicative of contextual events, in accordance with certain embodiments. In some embodiments, the process 1000 can be executed, for example, by the therapy management engine 112 of FIGS. 1A-B and 2. In addition, or alternatively, the process 1000 can be executed, for example, by the application 106 of FIGS. 1A-B and 2. In addition, or alternatively, the process 1000 can be executedgenerally by any of the display devices 107 of FIGS. 1A-B and 2. Although any number of systems, in whole or in part, can implement the process 1000, to simplify discussion, the process 1000 will be described primarily in relation to the application 106 of FIGS. 1A-B and 2.
[0141] At block 1002, the application 106 receives (e.g., accesses) images, for example, stored on the display device 107 of FIG. 1A or otherwise accessible to the application 106 (e.g., via remote or cloud storage). The images may correspond, for example, to images from the user’s camera roll or other image repository over a time period. The time period may be, for example, an immediately preceding time period (e.g., the preceding 8 hours, the preceding 24 hours, etc.), a user-set or automatically set time period (e.g., a particular 8-hour period, a particular 24-hour period corresponding to the previous calendar day, etc ), another predetermined period, and / or the like.
[0142] At block 1004, the application 106 processes the images to determine an image set to present to the user. For example, in some embodiments, the application 106 can perform, or cause to be performed, image recognition on the images to determine a subset of images that represent meals. According to this example, the image set can be a filtered image set that only includes images determined to represent meals, such that the filtered image set may be a partial subset of the images. In some embodiments, such as embodiments in which all of the images from the time period are included in the image set, the block 1004 can be omitted.
[0143] At block 1006, the application 106 prompts the user for input regarding which images from the image set to import as contextual data indicative of contextual events. For example, if the image set includes a subset of images that are determined to represent meals, the application 106 can limit its prompting to such subset. In an example, the application 106 can enable the user to provide the input in relation to a glucose trend graph as discussed relative to the user interface 800 of FIG. 8. In another example, the application 106 can enable the user to provide the input by scrolling through the image set as discussed relative to the user interface 900 of FIG. 9.
[0144] At block 1008, the application 106 receives a user indication of one or more images to import as contextual data indicative of contextual events. For example, the user indication can be received as discussed relative to the save feature 870 of FIG. 8 and / or the save feature 970 of FIG. 9.
[0145] At block 1010, the application 106 retrieves metadata associated with the image(s) indicated by the user. The metadata can include, for example, a timestamp, geolocation data, and / or the like. At block 1011, the application 106 automatically determines a time of occurrence for each contextual event. For example, the application 106 can automatically correlate each contextual event to a time indicated by a timestamp for the corresponding image, such that the time of occurrence is the time indicated by the timestamp.
[0146] At block 1012, the application 106 obtains additional data related to the indicated images. For example, in some embodiments, for each image, the application 106, potentially in combination with another application or network service, can determine a restaurant and / or meal based on image recognition and / or any geolocation data within the image metadata. In addition, in some embodiments, for each image, the application 106 can import nutritional data related to a depicted meal, such as carbohydrate intake.
[0147] At block 1014, the application 106 stores contextual data indicating each contextual event indicated via the indicated image(s). For each contextual event, the stored contextual data can include, for example, a contextual event type such as a meal, the image representing the contextual event, a time of occurrence, any image metadata, any additional data from the block 1012, glucose measurements at or around the time of occurrence, and / or the like. After block 1014, the process 1000 ends.
[0148] FIGS. 11-13 illustrate examples of automatically generating and manipulating video feedback that visually correlates contextual events and analyte measurements, in accordance with certain embodiments. In particular, FIG. 11 illustrates an example of a process 1100 for automatically generating and manipulating video feedback fora user, in accordance with certain embodiments. In some embodiments, the process 1100 may be executed either prior to, or as part of, the block 308 of FIG. 3.
[0149] In some embodiments, the process 1100 can be executed, for example, by the therapy management engine 112 of FIGS. 1A-B and 2. In addition, or alternatively, the process 1100 can be executed, for example, by the application 106 of FIGS. 1A- B and 2. In addition, or alternatively, the process 1100 can be executed generally by any of the display devices 107 of FIGS. 1 A-B and 2. Although any number of systems, in whole or in part, can implement the process 1100, to simplify discussion, the process 1100 will be described primarily in relation to the therapy management engine 112 of FIGS. 1A-B and 2.
[0150] At block 1102, the therapy management engine 112 receives a trigger to generate video feedback for a user over a time period. In certain embodiments, the video feedback can be an animated, patient-driven story of analyte measurements over the time period (e.g., a predetermined time period such as a particular day, week, or month). In some cases, generation of the video feedback can be automatically triggered daily, weekly, monthly, quarterly, and / or on another suitable interval. In other cases, the video feedback can be generated on demand, for example, by the user.
[0151] In some embodiments, a user, such as the patient, caregiver, or healthcare provider, can provide pre-selected fdter criteria for generation of the video feedback. For example, the therapy management engine 112 can allow the user to select particular features, such as show a “best day” in a given week or month based on any suitable criteria such as average analyte measurement, number of analyte measurements above or below a threshold, etc. The therapy management engine 112 can allow the user to pre-filter the types of contextual data considered in the generation of the video feedback, for example, based on type of contextual event (e.g., meal, activity, treatment, etc.), type of data (e.g., geolocation data), etc.
[0152] At block 1104, the therapy management engine 112 accesses or generates a timeline of patient data for the time period. In general, the timeline can include any indicator of patient health at a given time, even if the exact relationship to health isnot previously appreciated by patients or healthcare providers. The timeline can include timestamped health dynamics such as analyte measurements, analyte events, contextual events, and / or the like.
[0153] In various embodiments, the contextual events can be indicated by contextual data that is supplied as described relative to FIGS. 1A-B and 3-10. The contextual data can include, for example, images, meal data, treatment data (e.g., insulin infusions), activity data, exercise data, geolocation data, weather data for the user’s location, scheduling data (e g., calendar data), user notes and / or the like. Advantageously, in certain embodiments, a diversity of health dynamics enables previously unknown contributions to the analyte measurements to be discovered (e.g., a photo of a particular person, perhaps indicating source of stress for the patient, or a photo of a meal that impacts the analyte measurements in a previously unrecognized way).
[0154] In some embodiments, the timeline may have been previously generated by the therapy management engine 112, in which case the block 1104 can involve accessing the previously generated timeline. In some embodiments, the timeline of patient data can be, for example, a condensed timeline as discussed relative to the block 306 of FIG. 3. In some embodiments, the timeline can be generated at the block 1104, in which case the block 1104 can involve, for example, sequencing contextual events, for example, in relation to analyte measurements (e.g., a trend graph).
[0155] At block 1106, the therapy management engine 112 automatically generates video feedback for the user based on the timeline of patient data. In general, the video feedback visually correlates, for example, the analyte measurements with the contextual events based on, or in relation to, the time period. In embodiments in which the timeline is a condensed timeline as discussed previously, the video feedback can serve as a “highlight reel” for the time period. In general, the video feedback can include, for example, a plurality of video segments. In various embodiments, the video feedback can include, or be accompanied by, user-navigable markers indicating the video segments.
[0156] In some embodiments, the generated video feedback can be an animated summary of analyte measurements over the time period, for example, according to a trend graph for the time period (e.g., a glucose trend graph). Accordingly, each contextual event of the timeline (e.g., a meal, activity, or treatment) can be indicated, for example, in time order in relation to a corresponding time on the trend graph.
[0157] In addition, or alternatively, the generated video feedback can include, for example, video segments corresponding to each contextual event. For each contextual event (e.g., a meal, activity, or treatment), the corresponding video segment can include, for example, a predefined period of time after the contextual event to visually illustrate the contextual event’s determined relative contribution to (e.g., an inferred cause-effect relationship with) the analyte measurements.
[0158] In addition, or alternatively, the generated video feedback can include, for example, video segments corresponding to each analyte event of the timeline. For each analyte event (e.g., a notable high or low), the corresponding video segment can include, for example, display of one or more contextual events determined to have a relative contribution to that analyte event, so that the video feedback visually illustrates the contextual event’s relative contribution to (e.g., inferred cause-effect relationship with) the analyte event.
[0159] At block 1108, the therapy management engine 112 automatically manipulates a timed playback of the video feedback based on the analyte measurements and / or the contextual data. In general, the therapy management engine 112 can manipulate the timed playback of the video feedback to emphasize or highlight contextual events determined to have a higher relative contribution to the analyte sensor measurements, and / or to deemphasize or minimize contextual events determined to have a lower relative contribution to the analyte sensor measurements.
[0160] For example, if the determined relative contribution of one contextual event is greater than that of another (e.g., if the determined relative contribution of one contextual event is “TRUE” and that of another is “FALSE, or if a value indicative of relative contribution is greater for one contextual event than that of another), thetherapy management engine 1 12 can cause a video segment corresponding to the contextual event having the greater determined contribution to have more time allocated to it than a video segment corresponding to the other contextual event. In an example, the video segment corresponding to the other contextual event can be excluded from the video feedback due to its lesser relative contribution.
[0161] In other examples, the therapy management engine 112 can adjust playback setting(s) such as a playback speed (e.g., frame rate) and / or a duration. For example, in certain embodiments, the therapy management engine 112 can vary a playback speed over the course of the video feedback (e.g., for individual video segments) in proportion to the determined relative contribution of each of the plurality of health dynamics. Continuing the earlier example, the therapy management engine 112 can decrease a playback speed (e.g., frame rate) associated with the video segment corresponding to the contextual event having the greater determined relative contribution. In addition, or alternatively, the therapy management engine 112 can increase a playback speed (e.g., frame rate) associated with the video segment corresponding to the health dynamic having the lesser determined contribution.
[0162] In addition, or alternatively, the therapy management engine 112 can increase or decrease a duration of individual segments of the video feedback. For example, the therapy management engine 112 can vary a duration of each of the plurality of video segments in proportion to the determined relative contribution of each of the plurality of health dynamics. Continuing the earlier example, the therapy management engine 112 can increase a duration associated with the video segment corresponding to the contextual event having the greater determined contribution, in some cases including a pause of a configurable length for greater emphasis. In addition, or alternatively, the therapy management engine 112 can decrease a duration associated with the video segment corresponding to the contextual event having the lesser determined relative contribution.
[0163] In some embodiments, the therapy management engine 112 can automatically adjust (e.g., scale) the timed playback based on the determined relative contribution of each of the health dynamics to achieve a target duration (e.g., an exact durationsuch as 5 minutes, a duration range such as 5-6 minutes, etc.) for the video feedback. The automatic adjustment can include, for example, excluding video segments and / or adjust playback settings (e.g., playback speed and / or duration) as discussed previously.
[0164] At block 1110, the therapy management engine 112 publishes the video feedback to the user. For example, the video feedback can be displayed, streamed, or otherwise made available to the user (e.g., via application 106). In some embodiments, the video feedback can be presented as part of the information related to the condensed timeline, as discussed relative to the block 308 of FIG. 3.
[0165] In some embodiments, the user can interact with the video feedback. In an example, the video feedback can enable the user to navigate therein via the user- navigable markers discussed relative to the block 1106.
[0166] As further examples of user interaction, in some embodiments, the video feedback can enable the user to obtain additional data related to contextual events, analyte events, and / or analyte measurements. For example, the video feedback can include, for example, embedded links or UI features that allow the user to access and drill down into the metadata. In some embodiments, metadata associated with the video feedback can include at least a portion of the additional data in association with particular video segments (e.g., additional data regarding a particular contextual event for a corresponding video segment). After block 1110, the process 1100 ends.
[0167] In some embodiments, the video feedback generated and manipulated during the process 1100 enables competitive gamification across a group of users. For example, the therapy management engine 112 can compare the contextual events, the analyte events, and / or the analyte measurements to those of other users (e.g., award points for achieving certain criteria relative to any of the contextual events and / or the analyte measurements). In some embodiments, the therapy management engine 112 can provide a summary in the video feedback based on results of the comparison.
[0168] In some embodiments, the process 1100 produces various technical advantages. For example, the video feedback produced thereby may be more usefulvideo feedback for analyte sensor measurements, since patients can infer significance of cause / effect relationships from playback speed and / or duration. In addition, or alternatively, the video feedback may result in more contextual events for system use, since patients will be encouraged to do so due to the usefulness of the video feedback. In addition, or alternatively, the video feedback may result in improved treatment of disease or conditions related to analyte sensor measurements, since patients, caregivers, and healthcare practitioners are more easily able to infer cause / effect relationships. In addition, or alternatively, the process 1100 may result in shorter and more concise video feedback, since the video feedback is tailored to relevant outcomes, thus minimizing storage and network needs related to providing the video feedback to patients.
[0169] FIG. 12 illustrates an example user interface 1200 for presenting video feedback. The video feedback may be generated and manipulated, for example, as discussed relative to the process 1100 of FIG. 11.
[0170] FIG. 13 illustrates an example user interface 1300 for presenting video feedback, in accordance with certain embodiments. The video feedback may be generated and manipulated, for example, as discussed relative to the process 1100 of FIG. 11.
[0171] FIG. 14 illustrates an example user interface 1400 for presenting video feedback, in accordance with certain embodiments. The video feedback may be generated and manipulated, for example, as discussed relative to the process 1100 of FIG. 11.
[0172] FIG. 15 illustrates an example user interface 1500 for presenting video feedback, in accordance with certain embodiments. The video feedback may be generated and manipulated, for example, as discussed relative to the process 1100 of FIG. 11.
[0173] FIG. 16 is a block diagram depicting a computer system 1600 configured for facilitating submission of contextual data and generation and manipulation of video feedback, for example, according to certain embodiments disclosed herein. Althoughdepicted as a single physical device, in embodiments, the computer system 1600 may be implemented using virtual device(s), and / or across a number of devices, such as in a cloud environment. As illustrated, the computer system 1600 includes a processor 1605, a memory 1610, a storage 1615, a network interface 1625, and one or more I / O interfaces 1620. In the illustrated embodiment, the processor 1605 retrieves and executes programming instructions stored in the memory 1610, as well as stores and retrieves application data residing in the storage 1615. The processor 1605 is generally representative of a single CPU and / or GPU, multiple CPUs and / or GPUs, a single CPU and / or GPU having multiple processing cores, and the like.
[0174] The memory 1610 is generally included to be representative of a random access memory (RAM). The storage 1615 may be any combination of disk drives, flash-based storage devices, and the like, and may include fixed and / or removable storage devices, such as fixed disk drives, removable memory cards, caches, optical storage, network attached storage (NAS), or storage area networks (SAN).
[0175] In some embodiments, the I / O devices 1635 (such as keyboards, monitors, etc.) can be connected via the I / O interface(s) 1620. Further, via the network interface 1625, the computer system 1600 can be communicatively coupled with one or more other devices and components, such as the user database 110. In certain embodiments, the computer system 1600 is communicatively coupled with other devices via a network, which may include the Internet, local network(s), and the like. The network may include wired connections, wireless connections, or a combination of wired and wireless connections. As illustrated, the processor 1605, memory 1610, storage 1615, network interface(s) 1625, and the VO interface(s) 1620 are communicatively coupled by one or more interconnects 1630. In certain embodiments, the computer system 1600 is representative of the display device 107 associated with the user. In certain embodiments, as discussed above, the display device 107 can include the user’s laptop, computer, smartphone, and the like. In another embodiment, the computer system 1600 is a server executing in a cloud environment.
[0176] In the illustrated embodiment, the storage 1615 includes the user profile 118. The memory 1610 includes the therapy management engine 112. The therapymanagement engine 1 12 can be executed by the computer system 1600 to perform operations, for example, of the process 300 of FIG. 3, the process 700 of FIG. 7, the process 1000 of FIG. 10, and / or the process 1100 of FIG. 11.Example Clauses
[0177] Implementation examples are described in the following numbered clauses:
[0178] Clause 1 : A method comprising, by a computer system: receiving analyte measurements of a patient for a time period; providing, to a user, an interface for supplying contextual data indicative of contextual events for the time period; receiving the contextual data via the provided interface; analyzing the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data comprising a partial subset of the contextual events; and presenting information related to the condensed timeline to the user.
[0179] Clause 2: The method of Clause 1, wherein the analyzing comprises: identifying one or more analyte events during the time period based on a comparison of the analyte measurements to a threshold; and responsive to a determination that at least one contextual event of the contextual events did not occur within a predetermined time constraint of any of the one or more analyte events, excluding the at least one contextual event from the condensed timeline.
[0180] Clause 3: The method of Clause 1, wherein the analyzing comprises: determining a relative contribution of each of the contextual events to the analyte measurements; and excluding at least one contextual event of the contextual events from the condensed timeline of patient data based on the determined relative contribution of the at least one contextual event.
[0181] Clause 4: The method of Clause 3, wherein the excluding is based on a determination that the relative contribution of the at least one contextual event does not exceed a predefined threshold associated with a minimum amount of change in the analyte measurements.
[0182] Clause 5: The method of Clause 1, wherein the providing the interface comprises: providing, on the interface, a graph of the analyte measurements; receiving, from the user, a graphical indication of at least one contextual event in relation to a location along the graph of the analyte measurements, the contextual events comprising the at least one contextual event; and automatically determining a time of occurrence for the contextual event based on a timestamp associated with the location on the graph.
[0183] Clause 6: The method of Clause 5, wherein the providing the interface further comprises: prompting the user to provide additional information related to the at least one contextual event via a supplemental interface that is displayed concurrently with the graph of the analyte measurements; and responsive to the prompting, receiving the additional information from the user via the supplemental interface.
[0184] Clause 7: The method of Clause 5, wherein the providing the interface comprises: providing, on the interface, an icon representative of a contextual event type; and enabling, in the interface, the user to drag and drop the icon on the location along the graph to graphically indicate the at least one contextual event in relation to the location, wherein the graphical indication is received via the enabling.
[0185] Clause 8: The method of Clause 1, wherein the providing the interface comprises: automatically correlating an image to a location along a graph of the analyte measurements over time, wherein the automatically correlating is based on a timestamp associated with the image; displaying, to the user, the image in relation to the location along the graph of the analyte measurements; and responsive to the displaying, receiving a user indication that the image represents at least one contextual event of the contextual events; and automatically determining a time of occurrence for the contextual event based on a timestamp associated with the location along the graph, the contextual data comprising the image and the time of occurrence.
[0186] Clause 9: The method of Clause 8, wherein the providing the interface comprises processing a plurality of images to determine a filtered image set to present to the user, the filtered image set comprising the displayed image.
[0187] Clause 10: The method of Clause 9, wherein the processing comprises performing image recognition on the plurality of images to determine a subset of the plurality of images that represent meals, the fdtered image set comprising the determined subset of the plurality of images that represent meals.
[0188] Clause 11 : The method of Clause 1, further comprising automatically generating video feedback for the user based on the condensed timeline of patient data, the video feedback visually correlating the analyte measurements with one or more of the contextual events in relation to the time period.
[0189] Clause 12: The method of Clause 11, further comprising: for each contextual event of the condensed timeline, determining a relative contribution of the contextual event to the analyte measurements; and automatically manipulating a timed playback of the video feedback based on the determined relative contribution of each contextual event of the condensed timeline.
[0190] Clause 13 : The method of Clause 12, wherein the relative contribution of each contextual event of the condensed timeline is based on an amount of change in the analyte measurements following the contextual event.
[0191] Clause 14: The method of Clause 12, wherein the relative contribution of each contextual event of the condensed timeline is based on a time proximity of the contextual event to an analyte event.
[0192] Clause 15: The method of Clause 14, wherein: the condensed timeline comprises a first contextual event and a second contextual event; the determined relative contribution of the first contextual event is greater than the determined relative contribution of the second contextual event; and the automatically manipulating comprises causing more time to be allocated to the first contextual event than to the second contextual event.
[0193] Clause 16: The method of Clause 15, wherein the automatically manipulating comprises at least one of: decreasing a playback speed associated with a video segment corresponding to the first contextual event; or increasing a playback speed associated with a video segment corresponding to the second contextual event.
[0194] Clause 17: The method of Clause 15, wherein the automatically manipulating comprises at least one of: increasing a duration associated with a video segment corresponding to the first contextual event; or decreasing a duration associated with a video segment corresponding to the second contextual event.
[0195] Clause 18: The method of Clause 15, wherein the automatically manipulating comprises excluding the second contextual event from the video feedback.
[0196] Clause 19: The method of Clause 12, wherein: the condensed timeline comprises a plurality of contextual events; the video feedback comprises a plurality of video segments corresponding to the plurality of contextual events; and the automatically manipulating comprises varying a playback speed over the plurality of video segments in proportion to the determined relative contribution of each of the plurality of contextual events.
[0197] Clause 20: The method of Clause 12, wherein: the condensed timeline comprises a plurality of contextual events; the video feedback comprises a plurality of video segments corresponding to the plurality of contextual events; and the automatically manipulating comprises varying a duration of each of the plurality of video segments in proportion to the determined relative contribution of each of the plurality of contextual events.
[0198] Clause 21 : The method of Clause 12, wherein the automatically manipulating comprises automatically scaling the timed playback based on the determined relative contribution of each contextual event of the condensed timeline to achieve a target duration for the video feedback.
[0199] Clause 22: A method comprising, by a computer system: providing, on an interface, a graph of analyte measurements; receiving, from a user, a graphical indication of at least one contextual event in relation to a location along the graph of the analyte measurements; automatically determining a time of occurrence for the contextual event based on a timestamp associated with the location on the graph; and storing contextual data for the at least one contextual event, the contextual data comprising the automatically determined time of occurrence.
[0200] Clause 23: The method of Clause 22, further comprising: prompting the user to provide additional information related to the at least one contextual event via a supplemental interface that is displayed concurrently with the graph of the analyte measurements; and responsive to the prompting, receiving the additional information from the user via the supplemental interface, the stored contextual data comprising the additional information.
[0201] Clause 24: The method of Clause 22, further comprising: providing, on the interface, an icon representative of a contextual event type; and enabling, in the interface, the user to drag and drop the icon on the location along the graph to graphically indicate the at least one contextual event in relation to the location, wherein the graphical indication is received via the enabling.
[0202] Clause 25: The method of Clause 24, wherein the icon represents at least one of a meal activity, or treatment.
[0203] Clause 26: A method comprising, by a computer system: automatically correlating an image to time-series analyte measurements of a user based on a timestamp associated with the image; displaying the image in relation to a graph of the time-series analyte measurements based on the automatically correlating; responsive to the displaying, receiving a user indication that the image represents a contextual event; automatically determining a time of occurrence for the contextual event based on the timestamp associated with the image; and storing contextual data indicating the contextual event, the contextual data comprising the automatically determined time of occurrence.
[0204] Clause 27: The method of Clause 26, wherein the image is automatically correlated to a location along a graph of the time-series analyte measurements and is displayed in relation to the location.
[0205] Clause 28: The method of Clause 26, further comprising processing a plurality of images to determine a fdtered image set to present to the user, the fdtered image set comprising the displayed image.
[0206] Clause 29: The method of Clause 28, wherein the processing comprises performing image recognition on the plurality of images to determine a subset of the plurality of images that represent meals, the filtered image set comprising the determined subset of the plurality of images that represent meals.
[0207] Clause 30: The method of Clause 26, wherein the contextual data further comprises the image.
[0208] Clause 31 : A method comprising, by a computer system: prompting a user for input regarding which one or more images of an image set are indicative of one or more contextual events; responsive to the prompting, receiving a user indication of an image in the image set that is indicative of a contextual event; automatically determining a time of occurrence for the contextual event based on a timestamp associated with the image; and storing contextual data indicating the contextual event, the contextual data comprising the automatically determined time of occurrence.
[0209] Clause 32: The method of Clause 31, wherein the prompting comprises enabling the user to provide the input in relation to an analyte trend graph.
[0210] Clause 33: The method of Clause 32, wherein the analyte trend graph is a glucose trend graph.
[0211] Clause 34: The method of Clause 31, wherein the prompting comprises enabling the user to provide the input by scrolling through the image set.
[0212] Clause 35: The method of Clause 31, wherein the image set comprises a plurality of images from an image repository associated with the user.
[0213] Clause 36: The method of Clause 35, wherein the image repository comprises a camera roll associated with the user.
[0214] Clause 37: The method of Clause 35, further comprising processing the plurality of images to determine a subset of the plurality of images to present to the user, the image set comprising the determined subset.
[0215] Clause 38: The method of Clause 35, further comprising performing image recognition on the plurality of images to determine a subset of the plurality of imagesthat represent meals, the image set comprising the determined subset of the plurality of images that represent meals.
[0216] Clause 39: The method of Clause 35, further comprising retrieving metadata associated with the image, the stored contextual data comprising the retrieved metadata.
[0217] Clause 40: The method of Clause 39, wherein the metadata comprises geolocation data.
[0218] Clause 41 : The method of Clause 35, further comprising obtaining additional data related to the image based on at least one of metadata associated with the image or image recognition of the image, wherein the stored contextual data comprises the additional data.
[0219] Clause 42: The method of Clause 41, wherein the additional data comprises at least one of a restaurant or meal for the image.
[0220] Clause 43: The method of Clause 41, further comprising: determining a meal for the image based on at least one of metadata associated with the image or image recognition of the image; and importing nutritional data related to the meal, the stored contextual data comprising the imported nutritional data.
[0221] Clause 44: A method comprising, by a computer system: receiving analyte measurements of a patient for a predetermined time period; receiving contextual data indicative of contextual events for the predetermined time period; analyzing the analyte measurements and the contextual events to determine a timeline of patient data for the predetermined time period; and automatically generating video feedback based on the timeline of patient data, the video feedback visually correlating the analyte measurements with one or more of the contextual events in relation to the predetermined time period.
[0222] Clause 45: The method of Clause 44, further comprising: for each contextual event of the timeline, determining a relative contribution of the contextual event to the analyte measurements; and automatically manipulating a timed playback of thevideo feedback based on the determined relative contribution of each contextual event of the timeline.
[0223] Clause 46: The method of Clause 45, wherein the relative contribution of each contextual event of the timeline is based on an amount of change in the analyte measurements following the contextual event.
[0224] Clause 47: The method of Clause 45, wherein the relative contribution of each contextual event of the timeline is based on a time proximity of the contextual event to an analyte event.
[0225] Clause 48: The method of Clause 47, wherein: the timeline comprises a first contextual event and a second contextual event; the determined relative contribution of the first contextual event is greater than the determined relative contribution of the second contextual event; and the automatically manipulating comprises causing more time to be allocated to the first contextual event than to the second contextual event.
[0226] Clause 49: The method of Clause 48, wherein the automatically manipulating comprises at least one of: decreasing a playback speed associated with a video segment corresponding to the first contextual event; or increasing a playback speed associated with a video segment corresponding to the second contextual event.
[0227] Clause 50: The method of Clause 48, wherein the automatically manipulating comprises at least one of: increasing a duration associated with a video segment corresponding to the first contextual event; or decreasing a duration associated with a video segment corresponding to the second contextual event.
[0228] Clause 51 : The method of Clause 48, wherein the automatically manipulating comprises excluding the second contextual event from the video feedback.
[0229] Clause 52: The method of Clause 45, wherein: the timeline comprises a plurality of contextual events; the video feedback comprises a plurality of video segments corresponding to the plurality of contextual events; and the automatically manipulating comprises varying a playback speed over the plurality of videosegments in proportion to the determined relative contribution of each of the plurality of contextual events.
[0230] Clause 53: The method of Clause 45, wherein: the timeline comprises a plurality of contextual events; the video feedback comprises a plurality of video segments corresponding to the plurality of contextual events; and the automatically manipulating comprises varying a duration of each of the plurality of video segments in proportion to the determined relative contribution of each of the plurality of contextual events.
[0231] Clause 54: The method of Clause 45, wherein the automatically manipulating comprises automatically scaling the timed playback based on the determined relative contribution of each contextual event of the timeline to achieve a target duration for the video feedback.
[0232] Clause 55: The method of Clause 44, further comprising publishing the video feedback to a user.
[0233] Clause 56: A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: receive analyte measurements of a patient for a time period; provide, to a user, an interface for supplying contextual data indicative of contextual events for the time period; receive the contextual data via the provided interface; analyze the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data comprising a partial subset of the contextual events; and present information related to the condensed timeline to the user.
[0234] Clause 57: A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: provide, on a user interface, a graph of analyte measurements; receive, from a user, a graphical indication of at least one contextual event in relation to a location along the graph ofthe analyte measurements; automatically determine a time of occurrence for the contextual event based on a timestamp associated with the location on the graph; and store contextual data for the at least one contextual event, the contextual data comprising the automatically determined time of occurrence.
[0235] Clause 58: A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: automatically correlate an image to time-series analyte measurements of a user based on a timestamp associated with the image; display the image in relation to a graph of the time-series analyte measurements based on the automatically correlating; responsive to the display, receive a user indication that the image represents a contextual event; automatically determine a time of occurrence for the contextual event based on the timestamp associated with the image; and store contextual data indicating the contextual event, the contextual data comprising the automatically determined time of occurrence.
[0236] Clause 59: A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: prompt a user for input regarding which one or more images of an image set are indicative of one or more contextual events; responsive to the prompt, receive a user indication of an image in the image set that is indicative of a contextual event; automatically determine a time of occurrence for the contextual event based on a timestamp associated with the image; and store contextual data indicating the contextual event, the contextual data comprising the automatically determined time of occurrence.
[0237] Clause 60: A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: receive analyte measurements of a patient for a predetermined time period; receive contextual data indicative of contextual events for the predetermined time period; analyze the analyte measurements and the contextual events to determine a timeline of patient data forthe predetermined time period; and automatically generate video feedback based on the timeline of patient data, the video feedback visually correlating the analyte measurements with one or more of the contextual events in relation to the predetermined time period.
[0238] Clause 61 : An apparatus, comprising: at least one memory comprising executable instructions; and at least one processor configured to execute the executable instructions and cause the apparatus to perform a method in accordance with any combination of Clauses 1-55.
[0239] Clause 62: An apparatus, comprising means for performing a method in accordance with any combination of Clauses 1-55.
[0240] Clause 63: A non-transitory computer-readable medium comprising executable instructions that, when executed by at least one processor of an apparatus, cause the apparatus to perform a method in accordance with any combination of Clauses 1-55.
[0241] Clause 64: A computer program product embodied on a computer-readable storage medium comprising code for performing a method in accordance with any combination of Clauses 1-55.Additional Considerations
[0242] Each of these non-limiting examples can stand on its own or can be combined in various permutations or combinations with one or more of the other examples.
[0243] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments in which the invention can be practiced. These embodiments are also referred to herein as “examples.” Such examples can include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof),either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0244] In the event of inconsistent usages between this document and any documents so incorporated by reference, the usage in this document controls.
[0245] In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In this document, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, composition, formulation, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
[0246] Geometric terms, such as “parallel”, “perpendicular”, “round”, or “square”, are not intended to require absolute mathematical precision, unless the context indicates otherwise. Instead, such geometric terms allow for variations due to manufacturing or equivalent functions. For example, if an element is described as “round” or “generally round”, a component that is not precisely circular (e.g., one that is slightly oblong or is a many-sided polygon) is still encompassed by this description.
[0247] Method examples described herein can be machine or computer-implemented at least in part. Some examples can include a computer-readable medium or machine- readable medium encoded with instructions operable to configure an electronic device to perform methods as described in the above examples. An implementation of such methods can include code, such as microcode, assembly language code, a higher-level language code, or the like. Such code can include computer readable instructions for performing various methods. The code may form portions of computer programproducts. Further, in an example, the code can be tangibly stored on one or more volatile, non-transitory, or non-volatile tangible computer-readable media, such as during execution or at other times. Examples of these tangible computer-readable media can include, but are not limited to, hard disks, removable magnetic disks, removable optical disks (e.g., compact disks and digital video disks), magnetic cassettes, memory cards or sticks, random access memories (RAMs), read only memories (ROMs), and the like.
[0248] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments can be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to comply with 37 C.F.R. § 1.72(b), to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description as examples or embodiments, with each claim standing on its own as a separate embodiment, and it is contemplated that such embodiments can be combined with each other in various combinations or permutations. The scope of the invention should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
WHAT IS CLAIMED IS:
1. A method comprising: receiving analyte measurements of a patient for a time period; providing, to a user, an interface for supplying contextual data indicative of contextual events for the time period; receiving the contextual data via the provided interface; analyzing the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data comprising a partial subset of the contextual events; and presenting information related to the condensed timeline to the user.
2. The method of claim 1, wherein the analyzing comprises: identifying one or more analyte events during the time period based on a comparison of the analyte measurements to a threshold; and responsive to a determination that at least one contextual event of the contextual events did not occur within a predetermined time constraint of any of the one or more analyte events, excluding the at least one contextual event from the condensed timeline.
3. The method of claim 1, wherein the analyzing comprises: determining a relative contribution of each of the contextual events to the analyte measurements; and excluding at least one contextual event of the contextual events from the condensed timeline of patient data based on the determined relative contribution of the at least one contextual event.
4. The method of claim 3, wherein the excluding is based on a determination that the relative contribution of the at least one contextual event does not exceed a predefined threshold associated with a minimum amount of change in the analyte measurements.
5. The method of claim 1, wherein the providing the interface comprises: providing, on the interface, a graph of the analyte measurements; receiving, from the user, a graphical indication of at least one contextual event in relation to a location along the graph of the analyte measurements, the contextual events comprising the at least one contextual event; and automatically determining a time of occurrence for the contextual event based on a timestamp associated with the location on the graph.
6. The method of claim 5, wherein the providing the interface further comprises: prompting the user to provide additional information related to the at least one contextual event via a supplemental interface that is displayed concurrently with the graph of the analyte measurements; and responsive to the prompting, receiving the additional information from the user via the supplemental interface.
7. The method of claim 5, wherein the providing the interface comprises: providing, on the interface, an icon representative of a contextual event type; and enabling, in the interface, the user to drag and drop the icon on the location along the graph to graphically indicate the at least one contextual event in relation to the location, wherein the graphical indication is received via the enabling.
8. The method of claim 1, wherein the providing the interface comprises: automatically correlating an image to a location along a graph of the analyte measurements over time, wherein the automatically correlating is based on a timestamp associated with the image; displaying, to the user, the image in relation to the location along the graph of the analyte measurements; and responsive to the displaying, receiving a user indication that the image represents at least one contextual event of the contextual events; and automatically determining a time of occurrence for the contextual event based on a timestamp associated with the location along the graph, the contextual data comprising the image and the time of occurrence.
9. The method of claim 8, wherein the providing the interface comprises processing a plurality of images to determine a filtered image set to present to the user, the filtered image set comprising the displayed image.
10. The method of claim 1, further comprising automatically generating video feedback for the user based on the condensed timeline of patient data, the video feedback visually correlating the analyte measurements with one or more of the contextual events in relation to the time period.
11. A system, comprising: a memory comprising executable instructions; and a processor in data communication with the memory, wherein the processor is configured to execute the executable instructions to: receive analyte measurements of a patient for a time period; provide, to a user, an interface for supplying contextual data indicative of contextual events for the time period; receive the contextual data via the provided interface; analyze the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data comprising a partial subset of the contextual events; and present information related to the condensed timeline to the user.
12. The system of claim 11, wherein the processor is further configured to execute the executable instructions to: identify one or more analyte events during the time period based on a comparison of the analyte measurements to a threshold; and responsive to a determination that at least one contextual event of the contextual events did not occur within a predetermined time constraint of any of the one or more analyte events, exclude the at least one contextual event from the condensed timeline.
13. The system of claim 11, wherein the analyzing comprises: determining a relative contribution of each of the contextual events to the analyte measurements; and excluding at least one contextual event of the contextual events from the condensed timeline of patient data based on the determined relative contribution of the at least one contextual event.
14. The system of claim 13, wherein the excluding is based on a determination that the relative contribution of the at least one contextual event does not exceed a predefined threshold associated with a minimum amount of change in the analyte measurements.
15. A computer-program product comprising a non -transitory computer- usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising: receiving analyte measurements of a patient for a time period; providing, to a user, an interface for supplying contextual data indicative of contextual events for the time period; receiving the contextual data via the provided interface; analyzing the analyte measurements and the contextual events to determine a condensed timeline of patient data for the time period, the condensed timeline of patient data comprising a partial subset of the contextual events; and presenting information related to the condensed timeline to the user.
Citation Information
Patent Citations
Systems, devices, and methods for meal information collection, meal assessment, and analyte data correlation
US20210030323A1
Continuous glucose monitoring system insight notifications
US20240188904A1