Dynamically modifying graphical interfaces for displaying analyte sensor data
By dynamically modifying graphical interfaces for analyte sensor data, the system enhances user understanding and management of analyte levels, addressing the challenges of non-intuitive conventional interfaces.
Patent Information
- Application Number
- PCT/US2024/055001
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-13
- Filing Date
- 2024-11-07
- Publication Date
- 2025-05-22
AI Technical Summary
Conventional interfaces for displaying analyte sensor data, such as continuous glucose monitors, are often non-intuitive and can be unpleasant for users, leading to difficulties in understanding and managing their analyte levels effectively.
A computer system dynamically modifies a graphical interface to display analyte sensor data by acquiring sensor data, generating and displaying time series graphs with graphical indicators, and subsequently modifying the presentation of these indicators with different display formatting, such as color, intensity, or transparency, to emphasize recent data and de-emphasize older data.
The dynamic modification of graphical interfaces improves user accessibility and understanding of analyte sensor data, enabling more effective management of analyte levels by visually distinguishing recent and relevant data from older data.
Smart Images

Figure US2024055001_22052025_PF_FP_ABST
Abstract
Description
DYNAMICALLY MODIFYING GRAPHICAL INTERFACES FOR DISPLAYING ANALYTE SENSOR DATA
[0001] This application claims the benefit of and priority to United States Provisional Patent Application Serial No. 63 / 548,265 filed on 13 November 2023 and entitled “DYNAMICALLY MODIFYING GRAPHICAL INTERFACES FOR DISPLAYING ANALYTE SENSOR DATA,” which application is expressly incorporated herein by reference in its entirety. BACKGROUND
[0002] Analyte sensing devices, such as continuous glucose monitors (CGMs), are widely used in the medical field to track a user's blood glucose levels. The term "analyte" refers to a substance that is the subject of an analysis. In the context of a CGM, glucose is considered the analyte and the glucose level is also commonly referred to as a "blood sugar" level.
[0003] A CGM is one example of an on-body unit (OBU) or sensor control unit that typically includes a small sensor that enters or permeates at least partially through the user's skin. The CGM acquires a new reading on a periodic basis, such as once every select number of minutes. The CGM includes a wireless transmitter that then sends the reading to a receiving device, such as a smartphone.
[0004] The data collected by the CGM can be used to generate a user interface display for the user to visually tracks their glucose levels over specific time periods. For instance, the sensor data can be displayed on a mobile device such as a user’s mobile phone, to help a user visually assess their glucose levels and trends over time. The sensor data can also be sent to third-party monitoring entities.
[0005] The field of data visualization plays a pivotal role in presenting the collected sensor data in a user-friendly and intuitive manner. The way the data is displayed can greatly affect the user's understanding and interpretation of their glucose levels. Therefore, the design and implementation of the user interface for presenting the sensor data is a major consideration in the development of CGMs. The implementation of the user interface can improve the user’s understanding and management of their condition and their glucose levels which can, in some situations, be critical to the user’s health and well-being and can potentially also be lifesaving.
[0006] However, the data collected by the CGM is often intermittent, meaning that there may be gaps in the data due to various factors such as sensor errors, data transmission issues, or periods when the user is not wearing the sensor, infrequent sampling, and so forth. Because - Page 1 - Docket No.17317.11Aof this, the display of the sensor data may not be easy to understand or may be misinterpreted by a user, particularly if there are numerous errors or significant gaps in the data being visualized. Alternatively, for some conventional systems, when the sensor data is gathered and displayed too frequently, the presentation of the data can be somewhat inaccessible due to being very noisy and difficult for some users to interpret. This is particularly true when the data includes outliers due to anomalous readings or conditions.
[0007] It has been found that some conventional interfaces for displaying analyte sensor data are non-intuitive and / or can be unpleasant for the users. As a result, a user may not review their sensor data very often, or may have difficulty understanding their sensor data, thus creating a negative impact on the benefit of gathering and displaying the sensor data for the user and potentially having a significant negative impact on the user’s management of their analyte levels, such as their glucose levels.
[0008] The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced. BRIEF SUMMARY
[0009] Aspects of the invention are set out in the independent claims and preferred features are set out in the dependent claims. Features of one aspect may be applied to other aspects either alone or in combination with other features.
[0010] The aspects are described below and claimed herein as a computer system or a dedicated device with special software to receive, process and display continuous analyte data. However, corresponding methods and apparatus are also described and envisaged herein including network nodes, computer programs, computer program products, computer readable media and logic encoded on tangible media for implementing the computer systems that are described. Apparatus comprising means for implementing the steps described as being implemented by the computer system is also envisaged and encompassed by the present disclosure.
[0011] In some aspects, the techniques described herein relate to a computer system that dynamically modifies a graphical interface for displaying analyte sensor data, the computer system including: a processor system; and a storage system including instructions that are executable by the processor system to cause the computer system to: acquire first sensor data - Page 2 - Docket No.17317.11Afrom an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display within the graphical interface on the display device a first instance of a time series graph that includes a first set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at the discrete periodic intervals during the first time period, the first set of graphical indicators being rendered with first display formatting; and subsequent to displaying the first instance of the time series graph, display a second instance of the time series graph within the graphical interface on the display device by at least: rendering second sensor data for a second time period with a second set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at discrete periodic intervals during the second time period, the second set of graphical indicators being rendered with the first display formatting; and concurrently, while rendering the second set of graphical indicators, modifying a presentation of one or more of the first set of graphical indicators with a second display formatting that is different from the first display formatting.
[0012] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the second display formatting comprises a different color than a color of the first display formatting.
[0013] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the second display formatting comprises a different intensity than an intensity of the first display formatting.
[0014] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the second display formatting comprises a different transparency than a transparency of the first display formatting.
[0015] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the second display formatting comprises a different highlighting than a highlighting of the first display formatting.
[0016] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein at least one graphical indicator is replaced by a new graphical indicator that reflects a different analyte level than an analyte level of the at least one graphical indicator that is replaced. - Page 3 - Docket No.17317.11A
[0017] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein at least two graphical indicators of the first set of graphical indicators are replaced by a single new graphical indicator rendered on the graphical interface.
[0018] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the single new graphical indicator reflects an analyte level that is based on analyte levels of the at least two graphical indicators that are replaced.
[0019] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the first instance of the time series graph includes rendering one or more lines interconnecting the first set of graphical indicators.
[0020] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different weight than used to render the at least one line in the first instance of the time series graph.
[0021] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different transparency than used to render the at least one line in the first instance of the time series graph.
[0022] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different style than used to render the at least one line in the first instance of the time series graph.
[0023] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a dashed line style.
[0024] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different color than used to render the at least one line in the first instance of the time series graph. - Page 4 - Docket No.17317.11A
[0025] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
[0026] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises a predetermined passage of time.
[0027] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises a determination to de-emphasize a graphical indicator in the first set of graphical indicators that reflects an analyte level that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators after the predetermined passage of time.
[0028] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises a determination that a graphical indicator in the first set of graphical indicators reflects an analyte level that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators.
[0029] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises a detected user input for modifying the time series graph to a different time scale.
[0030] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to respond to the user input by downsampling and reducing a number of analyte sensor readings being reflected in the second instance of the time series graph relative to the first instance of the time series graph, such that a time period between analyte levels reflected by the first set of graphical indicators in the second instance of the time series graph is greater than another time period between analyte levels reflected by the first set of graphical indicators in the first instance of the time series graph.
[0031] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the downsampling is applied differently to different subsets of the analyte levels reflected in the second instance of the time series graph, with a first subset of graphical indicators corresponding to analyte levels downsampled at a first level and a second subset of graphical indicators corresponding to analyte levels downsampled at a second level. - Page 5 - Docket No.17317.11A
[0032] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the system selectively determines a level of downsampling to be applied based on a determined clinical significance of subsets of the analyte levels being downsampled.
[0033] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to, in response to user input requesting that downsampling be performed to the time series graph, to refrain from applying downsampling for at least some analyte levels that are determined to meet or exceed a predetermined clinical significance.
[0034] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises a determination that a particular analyte level reflected in the first instance of the time series graph should be updated to reflect a change based on an updated analysis performed on analyte sensor readings corresponding to the particular analyte level.
[0035] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the triggering event comprises determining a particular analyte level reflected in the first instance of the time series graph was incorrect.
[0036] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on applying a new algorithm to the analyte sensor readings.
[0037] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a detected change in the first sensor data.
[0038] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on detected supplementary sensor data.
[0039] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a user input entered into the - Page 6 - Docket No.17317.11Asystem in response to a presentation of the first instance or second instance of the time series graph.
[0040] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to store a record of the first sensor data as well as a record of the analyte levels corresponding to the plurality of analyte sensor readings collected at the discrete periodic intervals during the first and second time periods.
[0041] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein generating and displaying the first instance of the time series graph includes rendering at least one graphical indicator to reflect an analyte level that matches a corresponding analyte sensor reading contained within the stored record of the first sensor data.
[0042] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein generating and displaying the second instance of the time series graph includes rendering the at least one graphical indicator to reflect an different analyte level than was reflected in the first instance of the time series graph and that is within a predetermined threshold of deviation from the corresponding analyte sensor reading contained within the stored record of the first sensor data.
[0043] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to detect a user input selecting a particular graphical indicator and, in response to the user input, present supplementary data corresponding to the analyte level associated with the particular graphical indicator.
[0044] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for editing the analyte level.
[0045] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for annotating a stored record associated with the analyte level.
[0046] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger a haptic feedback in a haptic feedback system - Page 7 - Docket No.17317.11Ain the computing system in response to detecting a predetermined quantity of analyte levels above a predetermined threshold.
[0047] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger the generation of an electronic notification to a user in response to detecting a predetermined quantity of analyte levels above a predetermined threshold.
[0048] In some aspects, the techniques described herein relate to a computing system for dynamically modifying a graphical interface for analyte sensor data, the computing system comprising: a processor system; a display device; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display a time series graph that renders the first sensor data for the first time period with a first set of graphical indicators according to a first frequency; and subsequent to rendering the first sensor data for the first time period, modify a subset of the first set of graphical indicators to be rendered in the time series graph according to a second frequency, rather than the first frequency, and while continuing to render other graphical indicators corresponding to the first time period or a second time period according to the first frequency.
[0049] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined staleness of the first sensor data corresponding to the subset of the first set of graphical indicators.
[0050] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined proximity of the subset of the first set of graphical indicators.
[0051] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein stored instructions are further executable by the processor system to cause the computing system to modify a display formatting used to render the subset of the first set of graphical indicators relative to the other graphical indicators corresponding to the first time period or a second time period. - Page 8 - Docket No.17317.11A
[0052] In some aspects, the techniques described herein relate to a corresponding computer system or method, wherein the display formatting comprises at least one of a color, transparency, weight, intensity, size or highlighting.
[0053] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0054] Additional features and advantages will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0056] Figure 1 illustrates an example architecture in which sensor data is being acquired and analyzed.
[0057] Figure 2 illustrates an example of an analyte sensor in the form of a continuous glucose monitor.
[0058] Figure 3 illustrates a chart that is plotting data obtained from the analyte sensor.
[0059] Figure 4 illustrates various other charts related to the analyte sensor data.
[0060] Figure 5 illustrates an example scenarios where analyte sensor data is not being acquired.
[0061] Figure 6 illustrates a chart showing how data is intermittently or sparsely being obtained from one or more analyte sensors. - Page 9 - Docket No.17317.11A
[0062] Figure 7 illustrates another example architecture that operates using intermittent data.
[0063] Figures 8 thru 16 illustrate various graphical user interfaces and interface elements, including glucose charts, that are dynamically modified to render analyte sensor data, such as glucose sensor data.
[0064] Figures 17 and 18 illustrate flowcharts of example methods for displaying and modifying the display of analyte sensor data with graphical interfaces that are dynamically modified.
[0065] Figure 19 illustrates an example computer system that includes and / or that may be used to implement the disclosed embodiments. DETAILED DESCRIPTION
[0066] Disclosed embodiments include systems and methods for generating and displaying analyte sensor data and for dynamically generating and modifying graphical user interfaces that render the analyte sensor data.
[0067] In some instances, the disclosed embodiments can be used to help facilitate the user accessibility and intuitive consumption of the analyte sensor data that is presented within the referenced graphical user interfaces. In some cases, this can assist the user to manage their analyte levels more effectively. This is accomplished, in some instances, by dynamically modifying user interfaces to visually distinguish and emphasize more recent data over older data. In some instances, older data samples are combined or visualized at different sampling rates, and / or visually de-emphasized with different display formatting that is used to render more recent data samples.
[0068] The disclosed embodiments provide various improvements, benefits, and practical applications to the technical field of sensor data collection and analysis. In particular, the embodiments are beneficially able to present and highlight recent and relevant sensor data to users in a way that is accessible and / or customizable to the users.
[0069] Additionally, the disclosed embodiments provide an improved and more effective user experience with respect to an analyte sensor and with respect to an application that uses data obtained from the analyte sensor and for enabling a user to consume and interact with the analyte sensor data. The disclosed embodiments also enable data to be analyzed more effectively to detect temporal trends. - Page 10 - Docket No.17317.11A
[0070] Throughout this disclosure, there are many references to glucose levels and CGMs. A person skilled in the art, however, will appreciate how the disclosed principles can be applied to any type of analyte and to any type of analyte sensor, including both invasive sensors (i.e. a sensor that at least partially enters a patient’s body, such as a transcutaneous sensor where a portion of the sensor is in contact with interstitial fluid) and non-invasive sensors (i.e. a sensor that does not enter the patient’s body). Examples of analytes include, but are not limited to, glucose, ketone, lactate, alcohol, and other such analytes. Therefore, even though a majority of the examples are with respect to glucose levels and CGMs, the principles should be viewed as being more broadly applicable. Example Architectures
[0071] Figure 1 illustrates an example architecture 100 that can be used to achieve the benefits mentioned above. Architecture 100 is shown as including a service 105. As used herein, the term “service” refers to an automated program that is tasked with performing different actions based on input. In some cases, service 105 can be a deterministic service that operates fully given a set of inputs and without a randomization factor. In other cases, service 105 can be or can include an artificial intelligence (AI) or machine learning (ML) engine, as shown by ML engine 110. With the ML engine 110, service 105 can operate even when faced with various different randomization factors.
[0072] As used herein, reference to any type of ML or AI may include any type of ML algorithm or device, convolutional neural network(s), multilayer neural network(s), recursive neural network(s), deep neural network(s), decision tree model(s) (e.g., decision trees, random forests, and gradient boosted trees) linear regression model(s), logistic regression model(s), support vector machine(s) (“SVM”), AI device(s), or any other type of intelligent computing system. Any amount of training data may be used (and perhaps later refined) to train the ML algorithm to dynamically perform the disclosed operations.
[0073] In some implementations, service 105 is a cloud service operating in a cloud environment, such as cloud 115. In some implementations, service 105 is a local service operating on a local device (e.g., sensor 130, device 125, and / or any other device). In some implementations, service 105 is a hybrid service that includes a cloud component operating in the cloud 115 and a local component operating on a local client device. These two components can communicate with one another.
[0074] Service 105 is tasked with various operations that include collecting sensor data, analyzing that sensor data, and determining the impact of that sensor data with respect to a user - Page 11 - Docket No.17317.11Aassociated with the sensor data. To do so, service 105 can include an analytics 120 component that is capable of performing data analysis on the collected sensor data. In some examples, analytics 120 and ML Engine 110 can be the same component.
[0075] As shown in Figure 1, service 105 can communicate with a device 125. It is also noted that although only one device 125 is presently shown, it’s contemplated that sensor 130 can communicate with different devices, 125 and each device 125 can communicate with each other to receive and share sensor data.
[0076] Device 125 can be any type of personal device, including any type of wearable device or mobile device. Examples of device 125 include, but certainly are not limited to, any type of device reader, smart phone, tablet, laptop, desktop, wearable device, and so on. Device 125 is shown as communicating with a sensor 130 and is further shown as receiving sensor data 135 from the sensor 130. Sensor 130 is the component that collects the sensor data 135. In some cases, device 125 and sensor 130 can be implemented on the same device.
[0077] Sensor 130 can be any type of sensor that may be utilized for detecting and / or sensing analyte levels in the bodily fluid. According to some embodiments, sensor 130 can be an on-body unit (also referred to herein as a sensing unit) that includes an analyte sensor, such as a transcutaneous glucose sensor. In some embodiments, the analyte sensor can have a proximal portion coupled with electronics disposed in the on-body unit. The analyte sensor can also have a distal portion configured to be positioned under a skin layer of the person wearing the on-body unit, where the distal portion is configured to detect or sense an analyte level in the interstitial fluid. Typically, this sensing unit acquires new data at a periodic rate, such as once every selected number of minutes, although the data could also be collected continuously. That data is represented as sensor data 135 in Figure 1. In many embodiments, the sensor electronics of the on-body unit can include a power supply, processing circuitry, memory, wireless communication circuitry, and a printed circuit board.
[0078] Device 125 communicates with sensor 130 using any type of near-field wireless communication technology, such as BLUETOOTH. As a result, sensor data 135 is transmitted from sensor 130 to device 125 over that communication protocol. Service 105 can communicate with device 125 via any type of wireless communication protocol as well. In some implementations, the communication protocol is a BLUETOOTH protocol. In some implementations, the protocol is a wireless fidelity (Wi-Fi), near field communication (NFC), and / or Internet Protocol (IP). Often, device 125 transmits the sensor data 135 to the cloud 115, where that sensor data 135 is then stored in a repository that is accessible to service 105. - Page 12 - Docket No.17317.11A
[0079] In some implementations, the sensor data 135 is encrypted or otherwise integrity protected to ensure tampering does not occur. Also, in some implementations, any personally identifiable information (PII) is stripped from sensor data 135 prior to it being stored in the cloud 115.
[0080] Service 105 then uses its analytics 120 component and / or the ML engine 110 to analyze the sensor data 135. Service 105 generates output data 140 as a result of performing that analysis. In the scenario where sensor 130 is a on-body unit (OBU) and where the sensor data 135 reflects glucose levels for a user, the output data 140 can reflect glycemic insights such as a glycemic impact 145 for the user. Glycemic impact 145 generally refers to a patient’s bodily state with respect to blood sugar levels. Figure 2 provides another example.
[0081] Figure 2 shows a device 200, which is representative of device 125 from Figure 1. Device 200 is in communication with an OBU, such as continuous glucose monitor (CGM) 205, which is representative of a sensor control unit (e.g., identified as sensor 130). CGM 205 is currently affixed to the user’s arm and is tracking the user’s glucose levels. Device 200 is hosting an application (or simply “app”) 210. App 210 provides a visualization of the tracked data (e.g., a graph or trace of glucose levels over a period of time).
[0082] Figure 3 shows a glucose chart 300 that is rendered on or as part of a user interface or graphical interface that is generated to render the glucose chart 300, or another analyte chart corresponding to the analyte levels being measured. In some instances, the glucose chart 300 is rendered as a display element of the user interface generated for and presented by the app 210 of Figure 2. As shown, glucose chart 300 is currently displaying sensor data 305, which is reflective of the user’s glucose levels over a period of time. For instance, the horizontal axis reflects the glucose levels over a minutes-based time period. In this regard, the glucose chart 300 is a time-series graph that represents discrete visualizations or graphical indicators corresponding to and representing corresponding glucose levels for each rendered graphical indicator in the chart.
[0083] Figure 4 shows some additional information that can be provided by the app 210 of Figure 2. In particular, Figure 4 shows a first chart 400 and a second chart 405. Chart 400 is updated to reflect whether the user has glucose levels corresponding to a normal range, a pre- diabetic range, or a diabetic range. Chart 400 is thus updated based on the specific user’s glucose levels, as determined by the user’s OBU (e.g., CGM).
[0084] Chart 405 shows standard data or measurement thresholds that determine whether the user’s glucose levels are normal, pre-diabetic, or diabetic. For instance, if the user’s fasting - Page 13 - Docket No.17317.11Aglucose levels are 99 or below, then the user’s levels are considered normal. If the user’s fasting glucose levels are between 100 and 125, then the user’s levels are considered pre-diabetic. To complete the example, if the user’s fasting glucose levels are 126 or higher, then the user’s glucose levels are considered to be diabetic. Thus, chart 405 provides various benchmarks against which the user can compare his / her glucose levels.
[0085] For users whose glucose levels are in the normal range, those users typically do not need to monitor their glucose levels often. There are many tools and protocols available to make sure that these types of individuals continue to live a healthy lifestyle. On the other hand, for users whose glucose levels are in the diabetic range, those users should monitor their glucose levels frequently. Diabetics often collect glucose level data multiple times a day, if not continuously or nearly continuously, via their OBUs (e.g., CGMs). There are many sensing tools and protocols available for diabetics to make sure that they live a healthy lifestyle. For instance, app 210 from Figure 2 is often configured specifically for diabetics.
[0086] Figure 5 shows an example scenario involving a device 500 and an app 505, which are representative of the device 200 and app 210 of Figure 2, respectively. However, in this example, the device 500 is not able to obtain sensor readings from the CGM, which is either not being worn (shown by phantom lines), or that does not currently have good wireless connectivity with the device 500 to communicate the latest sensor readings (if the on-body sensor unit is being worn). As a result, the device 500 is not able to obtain updated sensor data and does not display glucose information for at least the periods of time that the sensor readings are not measured or communicated.
[0087] Figure 6 shows a glucose chart 600 that includes first sensor data 605 obtained by the on-body sensor control unit. As well as a gap in sensor data 610 (represented by the letter x, when the user stopped wearing the first sensor control unit and / or when the sensor control unit stopped obtaining data for some reason (e.g., the sensor expired, fell off, was damaged). Thus, there is a period of time ‘x’ during which no sensor data is obtained. During this time period, the usefulness of app 210 from Figure 2 is significantly reduced, or ceases all together, because the functions of app 210 rely on up-to-date sensor data.
[0088] Later, after period ‘x’ passes, additional sensor data 615 is obtained (e.g., using the first sensor control unit or a second sensor control unit that may be different than the first sensor control unit. For instance, the user may have obtained a new sensor control unit that now works, or the user reaffixed the on-body unit to his / her arm. Figure 6 thus shows a scenario in which intermittent data (e.g., sensor data 605 and 615) (aka sparse data or periodic data) is obtained. - Page 14 - Docket No.17317.11ATraditionally, conventional applications and analytics engines are not able to sufficiently analyze and display intermittent data without leaving gaps in the displayed visualization of the intermittent data. This can be confusing for a user and make the data somewhat inaccessible to the user, particularly when there are lengthy periods in which sensor data is not collected (e.g., time period 610) and / or several different periods in which sensor data is not collected.
[0089] The disclosed embodiments, on the other hand, are able to operate using intermittent data and are able to present the data in an intuitive and accessible manner that can potentially assist the user in the management of their glucose levels. Accordingly, attention will now be directed to Figure 7, which illustrates an improved architecture 700 that includes a service 705. Service 705 is configured to generate a glucose level profile for a user, where the glucose level profile is based on intermittent baseline glucose data received from a sensor control unit (e.g., sensor data 605 and 615) and where the glucose level profile includes predicted glucose data that is predicted from the intermittent baseline glucose data. Optionally, the profile can be or can include a model, including any type of ML model. For example, service 705 could be used to predict glucose data during period 625 of Figure 6 using sensor data 605 and / or 615.
[0090] Service 705 can operate in the cloud 710 or can communicate with the cloud 710. Service 705 includes an analytics 715 component and / or an ML engine 720. Service 705 can also communicate with a device 725 that is hosting an application.
[0091] In this example scenario, sensor 730 (e.g., an on-body sensor) is now decoupled (e.g., as shown by decouple 735) from communicating with the device 725 for some period of time, resulting in the scenario where intermittent sensor data is generated. Being “decoupled” includes various scenarios, including one where no sensor is present and one where a sensor may be present, but it is not providing data, or the quality of that data is below a threshold level of accuracy or quality.
[0092] Architecture 700 shows a scenario where an initial set of baseline data 740 is generated by the sensor 730 and is provided to the device 725. As an example, first sensor data 605 and / or 615 from Figure 6 can be representative of the baseline data 740. Baseline data generally refers to an initial or intermittent collection of data that can be subsequently used to perform various different actions. Typically, a threshold amount of data is needed to qualify as a baseline set of data. Notably, however, that threshold is dynamic and can be set to any value. For instance, the threshold amount of data may be a select number of minutes’ worth of data, a select number of hours’ worth of data, or perhaps a select number of days’ worth of data. The - Page 15 - Docket No.17317.11Acollected data may be contiguous (e.g., sensor data 605) or sparse (e.g., sensor data 605 and sensor data 615).
[0093] As will be described in more detail below, the embodiments are able to generate predicted data based on this baseline data. The point at which the predicted data becomes stale (i.e., the accuracy or quality of the data falls below a threshold level) can be dependent on the amount of data included in the baseline data and / or duration of time from which the baseline data was obtained. For instance, a larger amount of baseline data may prolong the validity of predicted data before it becomes stale because more trends can be learned from the larger amount of data. A lesser amount of baseline data may result in the predicted data becoming stale faster because fewer trends can be learned from the data. In some examples, baseline data may become stale after a threshold period of time (e.g., 2 weeks, 4 weeks, 3 months, or any other period of time) after it was obtained.
[0094] At some point, sensor 730 is no longer acquiring, or no longer transmitting, updated sensor data. As a result, service 705 is presented with a scenario where intermittent data is available as opposed to continuous up-to-date data. When up-to-date data is again available, service 705 can rely on that data to generate results.
[0095] In accordance with the disclosed principles, service 705 is also configured to acquire supplemental data 745 from one or more sources external or independent relative to sensor 730. Supplemental data 745 can include any type of additional information.
[0096] Some non-limiting examples of supplemental data 745 include meal data (e.g., carbohydrate content, portions) entered by the user or collected from an app (e.g., meal tracking app, restaurant app, meal delivery app), data from a hemoglobin A1C test, user input that supplements the baseline sensor data (e.g., the user input may provide a context for at least some of the baseline sensor data), calendar data or global positioning system (GPS) data about the user to thereby provide context for the baseline sensor data, supplemental fitness data (e.g., blood pressure data, step tracker data, heart rate data, exercise type, exercise duration, exercise intensity), supplemental data obtained from one or more of a glucose ketone sensor, a glucose ketone alcohol sensor, or a glucose ketone alcohol lactate sensor. Any other type of supplemental data can also be provided to service 705.
[0097] As a result, the embodiments are able to receive supplemental data, including supplemental fitness data. As will be discussed shortly, this supplemental fitness data may then be used to update a health model, profile, or other repository of information. Optionally, the - Page 16 - Docket No.17317.11Asupplemental fitness data may be one of: blood pressure data, step tracker data, or heart rate data.
[0098] Service 705 receives the baseline data 740 as well as any other intermittent data (e.g., perhaps historical data collected at an earlier time period or perhaps other data obtained from other devices) and supplemental data 745. The supplemental data may include user input and annotations.
[0099] With regard to the foregoing, it will be appreciated that the system may also process other types of supplemental data 745 obtained from one or more different sensor control units (including or excluding sensor 730). The other sensor control units can include, for example, any kind of step tracker, blood pressure monitor, heart rate monitor, lactate sensor, glucose ketone sensor, glucose ketone alcohol sensor, glucose ketone alcohol lactate sensor, and so on. Indeed, any type of sensor control unit that can be used and can provide sensor data. For instance, supplemental data can be fed as input to a health model or profile, and that supplemental data can be obtained from one or more of a glucose ketone sensor, a glucose ketone alcohol sensor, or a glucose ketone alcohol lactate sensor.
[0100] The supplemental data 745 can also include user input data that a user can provide through an interface of device 725 as to the activities he / she is engaged in and / or the food being consumed. A user can also provide context or information describing why his / her glucose or other analyte levels are what they are.
[0101] Service 705 then performs analytics on that input data to generate a data model 750. Data model 750 includes profile data 755 for the user, predictions 760 for the user, and recommendations 765 for the user.
[0102] Regarding the profile data 755, service 705 is able to generate a profile for a user and monitor that user’s historical behavior and trends. As new data is acquired and / or predicted, that data can be included in the user’s profile data 755.
[0103] Regarding the predictions 760, service 705 is able to predict various aspects related to the user’s health, particularly with regard to the user’s glucose levels or other analyte levels. Such predictions 760 can occur even when only intermittent data is available. The predictions 760 are based on the user’s historical behavior, historical glucose levels (e.g., baseline data, such as perhaps sensor data 605 and 615 from Figure 6), as well as the supplemental data 745. The predictions 760 can also be based on the real-time collection of data from other sources, such as calendar events (e.g., perhaps a scheduled event to attend a restaurant is detected), GPS data, heart rate data, and so on. The predictions 760 may include predicted glucose sensor readings. - Page 17 - Docket No.17317.11A
[0104] Regarding the recommendations 765, service 705 generates one or more of these recommendations and submits them to the user for consideration. As some non-limiting examples, the recommendations 765 include recommendations to re-attach the sensor (if it is not currently attached); recommendations to use or obtain a new sensor; recommendations on daily health habits (e.g., food intake, exercise, etc.); recommendations on application usage; and so on. For example, service 705 may recommend the user go for a walk while located at an ice cream shop where service detected elevated glucose levels after the user previously visited that location. In this example, service 705 would use the current location of the user and prior glucose data associated with that location. Predicted Data
[0105] Figure 8 shows a glucose chart 800 that includes sensor data obtained during first and second time periods, as well as predicted sensor data for times when the on-body unit (e.g., CGM 205) is not being worn or is not operating properly. The predicted sensor data is generated by the service 705, or by the CGM 205, or the app 210, and a representation of the predicted sensor data is rendered as visualizations within the graphical interface of the app 210 with visualizations for the sensor data that are obtained.
[0106] Therefore, in accordance with the disclosed principles, the embodiments are able to generate and display predicted data based on the initial baseline set of data, as discussed above. The more data that is included in the baseline set of data, the more trends and patterns can be detected, resulting in an increased likelihood that the predicted data is accurate. The quality of the predicted data may deteriorate over time or may deviate. The embodiments may then prompt the user to allow new sensor data to be acquired to ensure the application is providing relevant and useful information to the user.
[0107] In some implementations, the embodiments will prompt the user to acquire new sensor data instead of continuing to rely on the predicted data, particularly if a determination is made that the predicted data is stale or is becoming stale, e.g., a predetermined period of time has passed since an actual sensor reading is detected. In one scenario, for predicted data to be or to become “stale,” that predicted data may have been used for a prolonged period of time, such as a time period that exceeds a preestablished threshold amount of time since up-to-date sensor data was acquired. In some scenarios, the predicted data may become stale and / or the user’s profile, model, or sensor data may become stale. For instance, the predicted data may become stale in its accuracy levels if new sensor data has not been received for a prolonged period of time (e.g., a time period beyond a threshold time period). For instance, the accuracy - Page 18 - Docket No.17317.11Aof the predicted data may trend or deviate toward an inaccurate result if new sensor data is not received within a time period so as to re-calibrate the predicted data.
[0108] Accordingly, some embodiments determine that the predicted response data (e.g., predicted physiological data or predicted analyte data) is stale or is in need of an update. The embodiments can then submit a recommendation to the user to facilitate one or more of: acquiring new sensor data from an existing sensor or acquiring new sensor data from a new sensor. It should also be noted how the sensor data can be referred to as analyte data and how the predicted data can be referred to as predicted analyte data.
[0109] In some embodiments, predicted data that is displayed in a chart or graph can be displayed differently than actual sensor data displayed in that same graph. Doing so allows a user to easily distinguish between sensor data and predicted data. Any technique can be used to provide a distinction. For instance, different colors, line thickness, dotting, transparencies, and / or other styles can be used to differentiate the two types of chart data. Dynamically Modified and Modifying Graphical Displays
[0110] In addition to modifying the display of the graphical display (e.g., graphical user interface of app 210) to render predicted sensor data and to visually distinguish the predicted sensor data from other sensor data, the disclosed embodiments also include visually distinguishing sensor data corresponding to a first time period from sensor data corresponding to a second time period. Such embodiments also include dynamically modifying a visual presentation of the sensor data that is first displayed in a first display formatting and then changing the display formatting of some of the previously displayed sensor data (e.g., older and / or less relevant sensor data) with a different formatting. The different formatting may de- emphasize the older and / or less relevant sensor data relative to newer and or more relevant sensor data. Examples will now be provided.
[0111] Figure 9 illustrates an example in which first sensor data is obtained for a first time period and second sensor data is obtained for a subsequent and temporally adjacent time period. The sensor data for the first time period is initially displayed (as graphical or visual indicators) with a formatting shown in Figure 8 and which is consistent with the formatting used to render the sensor data obtained for the second time period. (i.e., a formatting in which the sensor data or visual indicators of the sensor data is represented by dots or other discrete graphical indicators for each of a plurality of different sensor data readings).
[0112] However, according to the current embodiment, the formatting for rendering at least some of or all of the sensor data for the first time period is dynamically changed to a different - Page 19 - Docket No.17317.11Aformatting that was previously used for rendering the sensor data for the first time period and which is still concurrently being used for rendering the sensor data for the second time period. In this manner, it is possible to de-emphasize the sensor data readings from the first time period that is not as recent and that may not be as relevant as the sensor data obtained from the second time period.
[0113] Predetermined rules may specifying an age for sensor data that is displayed before the formatting for that sensor data is modified (e.g., a predetermined number of minutes or hours). Other rules may specify whether the sensor data formatting changes based on certainty thresholds associated with the sensor data corresponding to a visualization for that sensor data. For instance, some data may be predicted sensor data having corresponding visual indicators displayed in a first format (a de-emphasized format that reflects a level of uncertainty). However, when new supplemental information and / or new sensor data is obtained that validates or updates the predicted sensor data, the visual indicators for the now newly verified or updated sensor data can be rendered with a different format (an emphasized format), which is different than a formatting previously used when the sensor data was merely predicted and uncertain.
[0114] The different formatting illustrated in Figure 9 includes blending the discrete sensor indicators of the first sensor data into a single curved line format with a reduced weight or thickness relative to the previous formatting used to render the sensor data for the first time period in Figure 8 with discrete dots and that is currently being used to render the sensor data for the second time period in Figure 9.
[0115] Figure 10 illustrates a related embodiment in which the formatting of the visual indicators for the sensor data from the first time period is changed into a format that includes smaller dots and decreased weighting and / or a different color of the visual indicators relative to the formatting that was previously used to render the visual indicators for sensor data of the first time period and that is concurrently being used to render the sensor data of the second time period.
[0116] Additionally, or alternatively, the quantity and / or frequency of the visual indicator samples displayed in second instance of the sensor data of the first time period is reduced (as shown) relative to the quantity and / or frequency of the visual indicators used to render the same samples of the sensor data for the first time period during a first visualization of the sensor data of the first time period. For example, the frequency per minute or displayed sensor indicators per spacing (e.g., indicators per inch or centimeter along the time series axis) is either increased, as shown, or collapsed and decreased, not shown, relative to an earlier presentation / formatting - Page 20 - Docket No.17317.11Aof the same set of visual indicators for the sensor data of the first time period and which is currently being used for rendering the visual indicators for sensor data of the second time period.
[0117] Figure 11 illustrates another embodiment in which the formatting of the visual indicators for sensor data from the first time period is changed into a formatting that includes smaller dots and decreased weighting and / or a different coloring relative to the formatting that was previously used to render the visual indicators for sensor data of the first time period and that is concurrently being used to render the visual indicators for sensor data of the second time period. However, unlike Figure 9, this embodiment further includes dynamically rendering a visual indicator for most recent sensor data point 1105 with a third type of formatting that is more bold, a different color, uses highlighting, animations and / or that uses other formatting or visualizations that further distinguish the most recent sensor data point from the sensor data of the second time period, as well as the sensor data of the first time period. This can beneficially direct a user’s focus to the most recent sensor data.
[0118] The third type of formatting used to emphasize the most recent sensor data can persist until new most recent sensor data is obtained for a new data point, at which time the formatting converts the most recent sensor data point 1105 to the formatting used for the visual indicators for sensor data of the second time period and a new data point is added to the time series graph that shows a visual indicator for a new most recent sensor data with the third type of formatting.
[0119] Figure 12 illustrates another embodiment similar to the embodiment of Figure 8. However, in this embodiment, at least two or more visual indicators of the time series graph for different sensor readings corresponding to sensor data of the first time period and / or visual indicators for predicted sensor data are combined into a reduced set of visual indicators. For instance, two or more visual indicators are combined into a single visual indicator that may reflect an average value of the combined two or more visual indicators that are being combined.
[0120] In some embodiments, not shown, every consecutive set of two, three, four, five, or five or more, visual indicators of the sensor data from the first time period are combined and reformatted from a first presentation of the sensor data into a single visual indicator that reflects an average, first and / or last value of the combined visual indicators of each consecutive set of visual indicators for a second presentation of the sensor data. This way, the set of sensor data for the first time period can be reduced by a half, two thirds, three quarters, or even more in a subsequent presentation / formatting relative to a first presentation / formatting that is used to - Page 21 - Docket No.17317.11Arender the sensor data of the second time period. This can help de-emphasize the sensor data of the first time period while emphasizing the sensor data of the second time period.
[0121] It will be appreciated the sensor data of the first time period can be reformatted in chunks (e.g., groups of two or more visual indicators), or more granularly / incrementally on a per single visual indicator basis (e.g., each time a new visual indicator is generated for the time series graph, one of the visual indicators from the set of sensor data of the second time period is moved into and becomes a part of the sensor data of the first time period. Then, that migrating visual indicator can be reformatted from the first format currently being used for the sensor data of the second time period (e.g., a format used for the more recent data) and changed into a second format being used for rendering the sensor data of the first time period (e.g., a format used for rendering sensor data that is relatively more stale and / or less temporally relevant).
[0122] Figure 13 illustrates an embodiment in which a time series graph of sensor data is rendered on a user interface of an application 1200 on a mobile device. In this embodiment, the formatting of the intermittent glucose levels 1205 includes three different formats, with older data being rendered with a first format that is less visually precise than a second format used to render more recent sensor data measurements. A third format is also used to render a last sensor reading 1225 that emphasizes and visually distinguishes the last sensor reading 1225 from the measurements / readings of the other intermittent glucose level readings 1205.
[0123] Figure 13 also illustrates an alarm 1210 indicator that visually identifies a threshold value that is determined to be unacceptable or that may trigger the generation of an alert 1220 if / when an intermittent glucose level measurement meets or exceeds the alarm threshold. A user and / or third party may establish the alarm threshold value. The visual presentation of the alarm threshold can be helpful for a user to see when / if they have reached or are approaching glucose levels associated with the alarm threshold.
[0124] Figure 14 illustrates a similar embodiment. However, in this embodiment, a mouse prompt 1210 or other input element can be moved by user input to select a particular visual indicator in the intermittent glucose levels 1205. Alternatively, a user can zoom in on and select a particular visual indicator from the displayed sensor data without the use of a mouse prompt, such as by touching a portion of the display interface where the particular visual indicator is displayed.
[0125] Once a user selects a particular visual indicator of the displayed sensor data (i.e., the intermittent glucose levels 1205), the app 1200 will responsively display detailed sensor data 1230 corresponding to the selected visual indicator. This detailed information may include a time - Page 22 - Docket No.17317.11Athe sensor reading was measured, more granular measurement data than is accessible from the time series chart, other biometric measurements that were detected at or around the same time (E.g., temperature, heart rate, sleep state etc.) that may have been obtained by a same sensor control unit (e.g., CGM) and / or a different sensor and that are temporally associated by the app 1200.
[0126] The selection of a visual indicator may also cause the app 1200 to display an input control 1250 (e.g., an input field or selection menu) for receiving user annotation input associated with the selected visual indicator. Once the user annotation input is entered, the app 1200 will cause the annotation input to be stored in association with the selected visual indicator and corresponding recorded sensor data. This can be helpful if a user wants to memorialize issues associated with a selected visual indicator (e.g., how they felt and / or what they recently ate).
[0127] As disclosed above, many embodiments include changing the formatting of sensor data from a first format to a second format to visually distinguish one set of sensor data from another set of sensor data. This reformatting may occur in response to triggering events, such as a passage of time, a determination that certain sensor data is validated or invalidated from a first presentation to a second presentation, in response to user input, default settings, or other events.
[0128] The reformatting may include changing a style, coloring, transparency, highlighting, display density, display frequency or other formatting of the sensor data.
[0129] In some instances, such as shown in Figure 15, the system provides input controls 1505 that a user can select to control what the different types of formatting will be used and the rules for triggering the reformatting of the sensor data when it transitions from the more recent set of sensor data (e.g., the sensor data of the second time period) that is being emphasized to the more stale set of sensor data (e.g., the sensor data of the first time period) that is de- emphasized.
[0130] In some instances, the system prevents the user-selected controls from being applied and prevents the sensor data from being reformatted when it is determined that the sensor data is clinically relevant (e.g., exceeds certain predetermined glucose high and / or low thresholds, such as may be visualized by the alarm threshold indicators described above).
[0131] Figure 16 illustrates an example of an app 1600 in which a score trend interface 1605 is presented and in which analyte data 1605 is presented at a granular level with discrete analyte - Page 23 - Docket No.17317.11Asensor measurements in a time series graph along with a general trend line 1610 associated with the analyte data 1605. A score trend icon 1620 can also be presented to visualize a current trending direction (e.g., down) corresponding to a most recent set of sensor data (e.g., a most recent set of two, three, four, five, five or more sensor data points). A plurality of different score trend icons can also be shown, (not presently illustrated), each for a different set of recent concurrent data sets of the sensor data, to reflect how the score trend has changed and / or stayed the same for the most recent set(s) of sensor data. Example Methods
[0132] The following discussion now refers to a number of methods and method acts that may be performed. Although the method acts may be discussed in a certain order or illustrated in a flow chart as occurring in a particular order, no particular ordering is required unless specifically stated, or required because an act is dependent on another act being completed prior to the act being performed.
[0133] Attention will now be directed to Figure 17, which illustrates a flowchart of an example method 1700 for dynamically modifying a graphical display for rendering glucose levels or other analyte sensor data. Method 1700 can be implemented by any of the systems and services described herein.
[0134] Method 1700 includes acquiring initial sensor data from an on-body unit (e.g., a CGM sensor) (act 1705). The baseline sensor data reflects glucose levels of a user who is wearing the CGM sensor. The initial sensor data corresponds to a first time period during which the sensor data is collected. Any time period can be defined as the first time period.
[0135] Method 1700 includes generating and displaying first sensor data indicators of first sensor data of the first time period with a first display formatting (act 1710). This may include displaying dots or lines in a time series graph, for instance, that visually reflect the magnitude of the first sensor data. This act of generating and displaying of the first sensor data indicators is an example of processing the first sensor data for display in the first display formatting in a time series graph. The processing of the first sensor data for display may also or alternatively include combining different sensor data together (e.g., different analyte levels acquired during the first time period) to be displayed together with a second display formatting that represents two, three, four, five or more than five different analyte levels together with a single graphical indicator within the time series graph. - Page 24 - Docket No.17317.11A
[0136] During a second time period that is subsequent to the first time period, method 1700 obtains second sensor data from the CGM sensor (act 1715) that is more recent and updated relative to the first sensor data. Notably, some of the sensor data of the first time period and / or second time period may be predicted sensor data.
[0137] After acquiring the second and more recent sensor data, the system dynamically renders second sensor data indicators for second sensor data of the second time period in the time series graph with the first display formatting that was previously used to render the first sensor data indicators (act 1720).
[0138] Thereafter, or concurrently, the system dynamically modifies the presentation and formatting of one or more visual indicators of the first sensor data to be rendered in a second formatting that is different than the first formatting that is currently being used to render the second sensor data indicators (act 1725). This may include the process of moving the one or more data points and corresponding visual indicators from the second sensor data sets (more recent data sets) into the first sensor data sets (more stale data sets). This may also include representing multiple detected analyte levels with a single graphical indicator in the time series graph. As a result of this process, older sensor data is reformatted or otherwise processed for display within the time series graph after a predetermined period of time or other triggering event to present the older sensor data in a desired format that may de-emphasize the older sensor data relative to newer sensor data or that may otherwise present the older sensor data in a desired format. Such processes were described, for example, in reference to Figures 8-12, above. By way of example, a first set of graphical indicators can be processed for display to reflect multiple different analyte levels in response to the system detecting a triggering event such as a passage of time, or even in response to acquiring a predetermined number of different analyte levels which is determined on the sampling frequency being used.
[0139] Figure 18 illustrates a flowchart of a related example method 1800 for dynamically modifying a graphical display of glucose levels or other analyte measurements in response to a change in time or other triggering events. Method 1800 can also be implemented by the disclosed systems and services described herein.
[0140] Method 1800 includes acquiring first sensor data from an analyte sensor (act 1805). The first sensor data can include a plethora of data. For instance, the data can be obtained from more than one sensor worn continuously (e.g., one after the other, with no more than 24 hours between sensors). The first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and the first sensor data is collected over a first time period. Stated differently, - Page 25 - Docket No.17317.11Athe first sensor data reflects a physiological response of the user. The first time period can be set to any duration of time. As various examples, the first time period can be at least 10 contiguous days or perhaps at least 14 contiguous days. The time period can be a set number of hours, days, or even months. The time period can be a contiguous time period or a noncontiguous time period, such as the aggregation of multiple discrete units of time over an overall period of time. In some scenarios, the first time period is one week or greater. In some scenarios, the first time period is about one month. The first time period can be between about one month and about six months. Alternatively, the first time period can be a few hours or minutes.
[0141] Method 1800 includes an act of generating and displaying first sensor data indicators for the first sensor data of the first time period with a first display frequency (e.g., displayed measurements or indicators per visualized period of time). This may include displaying dots or lines in a time series graph, for instance, that visually reflect the magnitude of the first sensor data at the first sampling / display frequency.
[0142] Method 1800 also includes acquiring second sensor data for a second time period subsequent to the first time period (act 1815). Then, the method includes generating and displaying second sensor data indicators for the second sensor data and second time period in the time series graph with the same first sampling / display frequency.
[0143] Thereafter, or concurrently, the method includes modifying the display of the first sensor data indicators to render at least some of the first sensor data indicators with a second sampling / display frequency that is different than the first frequency (act 1825). This process was described, for example, in reference to Figure 10, above.
[0144] It will be appreciated that the processes and system processing described in the flowcharts 1700 and 1800 of Figures 17 and 18, as well as the rest of the application, can be performed with a computing system, such as computing system 1900, as described in more detail below with reference to Figure 19. In particular, the disclosed computing system 1900 is configured with a processor system, a display device that renders a graphical interface, and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to perform the processes and system processing described herein.
[0145] In one embodiment that falls within the scope of the methods described in Figures 17 and 18, the computing system acquires first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first - Page 26 - Docket No.17317.11Atime period at discrete periodic intervals. The computing system processes this first sensor data for display in a time series graph which can reflect different analyte levels of the first sensor data with graphical indicators, as previously described. The computing system also acquires second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data and, subsequent to acquiring the second sensor data, displays the first sensor data with a plurality of different analyte levels of the first sensor data such that they are represented with only a single graphical indicator in the time series graph on the display device, rather than with a different graphical indicator for each of the different analyte levels being represented from the first sensor data. This rendering of a graphical indicator to reflect multiple different analyte levels acquired during the first time period may occur after, before or even without rendering the corresponding different analyte levels with separate graphical indicators within the time series graph.
[0146] The processing of the first sensor data to be displayed with graphical indicators, including the presentation of a single graphical indicator that reflects a combined value of multiple different analyte levels, may result in response to the detection of a triggering event, as previously described. The triggering event may, for example, be a predetermined passage of time and / or the acquisition of a predetermined quantity of analyte sensor measurements (i.e., analyte levels) within the first sensor data.
[0147] The presentation and reformatting of the sensor data indicators may also include processes for changing a sampling rate of the sensor data. For instance, methods may also include sampling initial sensor data at a first sampling rate and displaying sensor data corresponding to the sensor data sampled at the first sampling rate and then downsampling the sensor data from a first level to a second level and generating graphical indicators corresponding to analyte levels downsampled at the second level. This can be beneficial for reducing the consumption of resources while sensor readings are stable.
[0148] A user may indicate the rules for changing the sampling rates and downsampling rates, e.g., to downsample when the sensor readings are stable and / or at certain periods of time. However, when it is determined that certain glucose or other analyte levels are clinically relevant (e.g., exceed thresholds), the system may prevent the downsampling (even if requested by a user).
[0149] In another embodiment that also falls within the scope of the methods described in Figures 17 and 18, the computing system (e.g., computing system 1900) acquires first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who - Page 27 - Docket No.17317.11Ais wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals. The computing system also acquires second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data. Then, subsequent to acquiring the second sensor data, the computing system processes the first sensor data to be displayed within a time series graph on the display device with different graphical indicators reflecting different analyte levels corresponding to the first sensor data. But, notably, the computing system displays at least some or all of the first sensor data in such a manner that at least two, three, four, five or more than five different graphical indicators associated with different acquired analyte levels or measurements of the first sensor data are represented collectively as only a single graphical indicator in the time series graph on the display device, as previously described.
[0150] Additionally, as also previously noted, the processing and / or displaying of the first sensor data in the recited manner may occur in response to the system detecting a triggering event, such as a predetermined passage of time and / or acquisition of a predetermined number of analyte sensor measurements. This may facilitate reduced processing that would otherwise be required to render each analyte sensor measurement with a different graphical indicator. It may also result in a desired visual presentation of the sensor data to accommodate different user preferences, such as the smoothing of the represented time series graph.
[0151] According to another embodiment (not shown), a first sensor data for a first time period (e.g., five minutes, ten minutes, fifteen minutes, etc.) can be obtained, wherein the first sensor data can include a predetermined number of data points (e.g., three data points, five data points, ten data points, etc.). Subsequently, and without outputting the first sensor data to a display, a determination is made (e.g., by processing circuitry of the on-body unit) whether one or more of the predetermined number of data points comprises noise or outlier data. In some embodiments, the determination can be made based on predicted glucose data. In some embodiments, the determination can be made based on a function of sensor data obtained prior to the first sensor data. If it is determined that there is noise or outlier data, then the one or more of the predetermined number of data points of the first sensor data can be processed using a smoothing algorithm. In some embodiments, for example, the smoothing algorithm can include replacing all or a portion of the one or more of the predetermined number of data points of the first sensor data with predicted glucose data. Subsequently, the smoothed data points of the first sensor data can be output to the display. In some embodiments, the smoothed data points of the first sensor data can also be stored locally or transmitted to a cloud server. - Page 28 - Docket No.17317.11AAccording to other embodiments, the pre-processed first sensor data, but not the smoothed data points, can be stored locally or transmitted to a cloud server.
[0152] Accordingly, the disclosed embodiments provide numerous benefits to how generate and dynamically modify graphical displays for rendering glucose and / or other analyte sensor data. The embodiments are beneficially configured to operate particularly when faced with a scenario where sparse, intermittent, or periodic sensor data is available. The disclosed embodiments are also beneficial for visually distinguishing recent and relevant data relative to more stale data.
[0153] It will be appreciated that in some embodiments the disclosed systems are able to use blood glucose data obtained via techniques other than through the use of a wearable OBU. For example, a finger stick or prick tool can be used to obtain a sample to determine the blood glucose data. Thus, even if a user is not wearing a sensor, the user’s blood glucose data can still be obtained. This blood glucose data can help keep the OBU-based model from becoming stale. In other words, this data can be used to extend the life of the model. Example Computer / Computer systems
[0154] Attention will now be directed to Figure 19 which illustrates an example computer system 1900 that may include and / or be used to perform any of the operations described herein. For instance, computer system 1900 can implement any of the services described herein.
[0155] Computer system 1900 may take various different forms. For example, computer system 1900 may be embodied as a tablet, a desktop, a laptop, a mobile device, or a standalone device, such as those described throughout this disclosure. Computer system 1900 may also be a distributed system that includes one or more connected computing components / devices that are in communication with computer system 1900.
[0156] In its most basic configuration, computer system 1900 includes various different components. Figure 19 shows that computer system 1900 includes a processor system 1905 that includes one or more processors (aka a “hardware processing unit”) and a storage system 1910.
[0157] Regarding the processor(s) of the processor system 1905, it will be appreciated that the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components / processors that can be used include Field-Programmable Gate Arrays (“FPGA”), Program-Specific or Application-Specific Integrated Circuits (“ASIC”), Program-Specific Standard Products (“ASSP”), System-On-A-Chip Systems (“SOC”), Complex Programmable Logic Devices - Page 29 - Docket No.17317.11A(“CPLD”), Central Processing Units (“CPU”), Graphical Processing Units (“GPU”), or any other type of programmable hardware.
[0158] As used herein, the terms “executable module,” “executable component,” “component,” “module,” “service,” or “engine” can refer to hardware processing units or to software objects, routines, or methods that may be executed on computer system 1900. The different components, modules, engines, and services described herein may be implemented as objects or processors that execute on computer system 1900 (e.g. as separate threads).
[0159] Storage system 1910 may be physical system memory, which may be volatile, non- volatile, or some combination of the two. The term “memory” may also be used herein to refer to non-volatile mass storage such as physical storage media. If computer system 1900 is distributed, the processing, memory, and / or storage capability may be distributed as well.
[0160] Storage system 1910 is shown as including executable instructions 1915. The executable instructions 1915 represent instructions that are executable by the processor(s) of the processor system 1905 to perform the disclosed operations, such as those described in the various methods.
[0161] The disclosed embodiments may comprise or utilize a special-purpose or general- purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions in the form of data are “physical computer storage media” or a “hardware storage device.” Furthermore, computer-readable storage media, which includes physical computer storage media and hardware storage devices, exclude signals, carrier waves, and propagating signals. On the other hand, computer-readable media that carry computer-executable instructions are “transmission media” and include signals, carrier waves, and propagating signals. Thus, by way of example and not limitation, the current embodiments can comprise at least two distinctly different kinds of computer-readable media: computer storage media and transmission media.
[0162] Computer storage media (aka “hardware storage device”) are computer-readable hardware storage devices, such as RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSD”) that are based on RAM, Flash memory, phase-change memory (“PCM”), or other types of memory, or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any - Page 30 - Docket No.17317.11Aother medium that can be used to store desired program code means in the form of computer- executable instructions, data, or data structures and that can be accessed by a general-purpose or special-purpose computer.
[0163] Computer system 1900 may also be connected (via a wired or wireless connection) to external sensors (e.g., one or more remote cameras) or devices via a network 1920. For example, computer system 1900 can communicate with any number devices or cloud services to obtain or process data. In some cases, network 1920 may itself be a cloud network. Furthermore, computer system 1900 may also be connected through one or more wired or wireless networks to remote / separate computer systems(s) that are configured to perform any of the processing described with regard to computer system 1900.
[0164] A “network,” like network 1920, is defined as one or more data links and / or data switches that enable the transport of electronic data between computer systems, modules, and / or other electronic devices. When information is transferred, or provided, over a network (either hardwired, wireless, or a combination of hardwired and wireless) to a computer, the computer properly views the connection as a transmission medium. Computer system 1900 will include one or more communication channels that are used to communicate with the network 1920. Transmissions media include a network that can be used to carry data or desired program code means in the form of computer-executable instructions or in the form of data structures. Further, these computer-executable instructions can be accessed by a general-purpose or special-purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
[0165] Upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to computer storage media (or vice versa). For example, computer- executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a network interface card or “NIC”) and then eventually transferred to computer system RAM and / or to less volatile computer storage media at a computer system. Thus, it should be understood that computer storage media can be included in computer system components that also (or even primarily) utilize transmission media.
[0166] Computer-executable (or computer-interpretable) instructions comprise, for example, instructions that cause a general-purpose computer, special-purpose computer, or special-purpose processing device to perform a certain function or group of functions. The - Page 31 - Docket No.17317.11Acomputer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
[0167] Those skilled in the art will appreciate that the embodiments may be practiced in network computing environments with many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, and the like. The embodiments may also be practiced in distributed system environments where local and remote computer systems that are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network each perform tasks (e.g. cloud computing, cloud services and the like). In a distributed system environment, program modules may be located in both local and remote memory storage devices.
[0168] The present invention may be embodied in other specific forms without departing from its characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
[0169] In summary, techniques for generating and modifying user interfaces for displaying glucose sensor data are disclosed. Initial or first sensor data is displayed with a first formatting until it is dynamically changed to a second formatting that de-emphasizes the data while new sensor data is concurrently displayed with the first formatting to emphasize the new sensor data relative to the older / first sensor data.
[0170] The present invention can also be described in accordance with the following numbered clauses.
[0171] 1. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor - Page 32 - Docket No.17317.11Adata from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display within the graphical interface on the display device a first instance of a time series graph that includes a first set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at the discrete periodic intervals during the first time period, the first set of graphical indicators being rendered with first display formatting; and subsequent to displaying the first instance of the time series graph, display a second instance of the time series graph within the graphical interface on the display device by at least: rendering second sensor data for a second time period with a second set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at discrete periodic intervals during the second time period, the second set of graphical indicators being rendered with the first display formatting; and concurrently, while rendering the second set of graphical indicators, modifying a presentation of one or more of the first set of graphical indicators with a second display formatting that is different from the first display formatting.
[0172] 2. The computing system of clause 1, wherein the second display formatting comprises a different color than a color of the first display formatting.
[0173] 3. The computing system of clause 1 or 2, wherein the second display formatting comprises a different intensity than an intensity of the first display formatting.
[0174] 4. The computing system of any of clauses 1 to 3, wherein the second display formatting comprises a different transparency than a transparency of the first display formatting.
[0175] 5. The computing system of any of clauses 1 to 4, wherein the second display formatting comprises a different highlighting than a highlighting of the first display formatting.
[0176] 6. The computing system of any of clauses 1 to 5, wherein at least one graphical indicator is replaced by a new graphical indicator that reflects a different analyte level than an analyte level of the at least one graphical indicator that is replaced.
[0177] 7. The computing system of clause 6, wherein at least two graphical indicators of the first set of graphical indicators are replaced by a single new graphical indicator rendered on the graphical interface.
[0178] 8. The computing system of clause 7, wherein the single new graphical indicator reflects an analyte level that is based on analyte levels of the at least two graphical indicators that are replaced. - Page 33 - Docket No.17317.11A
[0179] 9. The computing system of any of clauses 1 to 8, wherein the generating and displaying the first instance of the time series graph includes rendering one or more lines interconnecting the first set of graphical indicators.
[0180] 10. The computing system of clause 9, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different weight than used to render the at least one line in the first instance of the time series graph.
[0181] 11. The computing system of clause 9 or 10, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different transparency than used to render the at least one line in the first instance of the time series graph.
[0182] 12. The computing system of any of clauses 9 to 11, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different style than used to render the at least one line in the first instance of the time series graph.
[0183] 13. The computing system of clause 12, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a dashed line style.
[0184] 14. The computing system of any of clauses 9 to 13, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different color than used to render the at least one line in the first instance of the time series graph.
[0185] 15. The computing system of any of clauses 1 to 14, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
[0186] 16. The computing system of clause 15, wherein the triggering event comprises a predetermined passage of time.
[0187] 17. The computing system of clause 15 or 16, wherein the triggering event comprises a determination to de-emphasize a graphical indicator in the first set of graphical indicators that reflects an analyte level that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators after the predetermined passage of time. - Page 34 - Docket No.17317.11A
[0188] 18. The computing system of any of clauses 15 to 17, wherein the triggering event comprises a determination that a graphical indicator in the first set of graphical indicators reflects an analyte level that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators.
[0189] 19. The computing system of any of clauses 15 to 18, wherein the triggering event comprises a detected user input for modifying the time series graph to a different time scale.
[0190] 20. The computing system of clause 19, wherein the stored instructions are further executable by the processor system to cause the computing system to respond to the user input by downsampling and reducing a number of analyte sensor readings being reflected in the second instance of the time series graph relative to the first instance of the time series graph, such that a time period between analyte levels reflected by the first set of graphical indicators in the second instance of the time series graph is greater than another time period between analyte levels reflected by the first set of graphical indicators in the first instance of the time series graph.
[0191] 21. The computing system of clause 20, wherein the downsampling is applied differently to different subsets of the analyte levels reflected in the second instance of the time series graph, with a first subset of graphical indicators corresponding to analyte levels downsampled at a first level and a second subset of graphical indicators corresponding to analyte levels downsampled at a second level.
[0192] 22. The computing system of clause 21, wherein the system selectively determines a level of downsampling to be applied based on a determined clinical significance of subsets of the analyte levels being downsampled.
[0193] 23. The computing system of clause 21 or 22, wherein the stored instructions are further executable by the processor system to cause the computing system to, in response to user input requesting that downsampling be performed to the time series graph, to refrain from applying downsampling for at least some analyte levels that are determined to meet or exceed a predetermined clinical significance.
[0194] 24. The computing system of any of clauses 15 to 23, wherein the triggering event comprises a determination that a particular analyte level reflected in the first instance of the time series graph should be updated to reflect a change based on an updated analysis performed on analyte sensor readings corresponding to the particular analyte level. - Page 35 - Docket No.17317.11A
[0195] 25. The computing system of any of clauses 15 to 24, wherein the triggering event comprises determining a particular analyte level reflected in the first instance of the time series graph was incorrect.
[0196] 26. The computing system of clause 25, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on applying a new algorithm to the analyte sensor readings.
[0197] 27. The computing system of clause 25 or 26, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a detected change in the first sensor data.
[0198] 28. The computing system of any of clauses 25 to 27, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on detected supplementary sensor data.
[0199] 29. The computing system of any of clauses 25 to 28, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a user input entered into the system in response to a presentation of the first instance or second instance of the time series graph.
[0200] 30. The computing system of any of clauses 1 to 29, wherein the stored instructions are further executable by the processor system to cause the computing system to store a record of the first sensor data as well as a record of the analyte levels corresponding to the plurality of analyte sensor readings collected at the discrete periodic intervals during the first and second time periods.
[0201] 31. The computing system of clause 30, wherein generating and displaying the first instance of the time series graph includes rendering at least one graphical indicator to reflect an analyte level that matches a corresponding analyte sensor reading contained within the stored record of the first sensor data.
[0202] 32. The computing system of clause 30 or 31, wherein generating and displaying the second instance of the time series graph includes rendering the at least one graphical indicator to reflect an different analyte level than was reflected in the first instance of the time series graph and that is within a predetermined threshold of deviation from the corresponding analyte sensor reading contained within the stored record of the first sensor data.
[0203] 33. The computing system of any of clauses 1 to 32, wherein the stored instructions are further executable by the processor system to cause the computing system to detect a user input selecting a particular graphical indicator and, in response to the user input, - Page 36 - Docket No.17317.11Apresent supplementary data corresponding to the analyte level associated with the particular graphical indicator.
[0204] 34. The computing system of any of clauses 1 to 33, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for editing the analyte level.
[0205] 35. The computing system of any of clauses 1 to 34, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for annotating a stored record associated with the analyte level.
[0206] 36. The computing system of any of clauses 1 to 35, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger a haptic feedback in a haptic feedback system in the computing system in response to detecting a predetermined quantity of analyte levels above a predetermined threshold.
[0207] 37. The computing system of any of clauses 1 to 36, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger the generation of an electronic notification to a user in response to detecting a predetermined quantity of analyte levels above a predetermined threshold.
[0208] 38. A computing system for dynamically modifying a graphical interface for analyte sensor data, the system comprising: a processor system; a display device; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display a time series graph that renders the first sensor data for the first time period with a first set of graphical indicators according to a first frequency; and subsequent to rendering the first sensor data for the first time period, modify a subset of the first set of graphical indicators to be rendered in the time series graph according to a second frequency, rather than the first frequency, and while continuing to render other graphical indicators corresponding to the first time period or a second time period according to the first frequency.
[0209] 39. The computing system of clause 38, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined staleness of the first sensor data corresponding to the subset of the first set of graphical indicators. - Page 37 - Docket No.17317.11A
[0210] 40. The computing system of clause 38 or 39, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined proximity of the subset of the first set of graphical indicators.
[0211] 41. The computing system of any of clauses 38 to 40, wherein stored instructions are further executable by the processor system to cause the computing system to modify a display formatting used to render the subset of the first set of graphical indicators relative to the other graphical indicators corresponding to the first time period or a second time period.
[0212] 42. The computing system of clause 41, wherein the display formatting comprises at least one of a color, transparency, weight, intensity, size or highlighting.
[0213] 43. A computing system for dynamically displaying analyte sensor data, the computing system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; processing the first sensor data for display in a time series graph where different analyte levels of the first sensor data are represented with graphical indicators; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; and subsequent to acquiring the second sensor data, displaying the first sensor data with a plurality of different analyte levels of the first sensor data being represented with only a single graphical indicator in the time series graph on the display device, rather than with a different graphical indicator for each of the different analyte levels being represented from the first sensor data.
[0214] 44. The computing system of clause 43, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
[0215] 45. The computing system of clause 44, wherein the triggering event comprises a predetermined passage of time.
[0216] 46. A computing system for dynamically displaying analyte sensor data, the computing system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte - Page 38 - Docket No.17317.11Asensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; subsequent to acquiring the second sensor data, processing the first sensor data to be displayed within a time series graph on the display device with different graphical indicators reflecting different analyte levels corresponding to the first sensor data; and displaying the first sensor data in such a manner that at least two different graphical indicators associated with different analyte levels of the first sensor data are represented as only a single graphical indicator in the time series graph on the display device.
[0217] 47. The computing system of clause 46, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
[0218] 48. The computing system of clause 47, wherein the triggering event comprises a predetermined passage of time.
[0219] 49. The computing system of clause 47, wherein the triggering event comprises acquiring a predetermined number of analyte level measurements in the first sensor data.
[0220] 50. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: (1) an on-body unit configured to be worn on a user’s body, the on-body unit comprising: a glucose sensor, comprising: a proximal portion coupled with sensor electronics, wherein the proximal portion is configured to be positioned above a skin surface of the user; and a distal portion configured to be positioned under the skin surface of the user and to detect a glucose level in an interstitial fluid of the user; the sensor electronics, comprising: a power supply; processing circuitry coupled with memory; and wireless communication circuitry configured to transmit a first sensor data and a second sensor data to a display device according to a wireless communication protocol; and (2) the display device configured to render a graphical interface, the display device, comprising: a processor system; and a hardware storage system comprising stored instructions that are executable by the processor system.
[0221] 51. The computing system of clause 50, wherein the stored instructions are executable by the processor system to cause the computing system to: cause the computing system to: receive the first sensor data from the on-body unit, wherein the first sensor data reflects glucose levels of the user, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display - Page 39 - Docket No.17317.11Awithin the graphical interface on the display device a first instance of a time series graph that includes a first set of graphical indicators reflecting glucose levels corresponding to the plurality of sensor readings collected at the discrete periodic intervals during the first time period, the first set of graphical indicators being rendered with first display formatting; and subsequent to displaying the first instance of the time series graph, display a second instance of the time series graph within the graphical interface on the display device by at least: render the second sensor data for a second time period with a second set of graphical indicators reflecting glucose levels corresponding to a plurality of sensor readings collected at discrete periodic intervals during the second time period, the second set of graphical indicators being rendered with the first display formatting; and concurrently, while rendering the second set of graphical indicators, modify a presentation of one or more of the first set of graphical indicators with a second display formatting that is different from the first display formatting.
[0222] 52. The computing system of clause 50, wherein the stored instructions are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; process the first sensor data for display in a time series graph where different analyte levels of the first sensor data are represented with graphical indicators; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; and subsequent to acquiring the second sensor data, display the first sensor data with a plurality of different analyte levels of the first sensor data being represented with only a single graphical indicator in the time series graph on the display device, rather than with a different graphical indicator for each of the different analyte levels being represented from the first sensor data.
[0223] 53. The computing system of clause 50, wherein the stored instructions are executable by the processor system to cause the computing system to: acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; subsequent to acquiring the second sensor data, process the first sensor data to be displayed within a time series graph on the display device with different graphical indicators reflecting different analyte levels corresponding to the first sensor data; and display the first sensor data in such a manner that at least two different graphical indicators associated with different analyte levels of the first sensor data are represented as only a single graphical indicator in the time series graph on the display device. - Page 40 - Docket No.17317.11A
Claims
CLAIMS What is claimed is:
1. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display within the graphical interface on the display device a first instance of a time series graph that includes a first set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at the discrete periodic intervals during the first time period, the first set of graphical indicators being rendered with first display formatting; and subsequent to displaying the first instance of the time series graph, display a second instance of the time series graph within the graphical interface on the display device by at least: rendering second sensor data for a second time period with a second set of graphical indicators reflecting analyte levels corresponding to a plurality of analyte sensor readings collected at discrete periodic intervals during the second time period, the second set of graphical indicators being rendered with the first display formatting; and concurrently, while rendering the second set of graphical indicators, modifying a presentation of one or more of the first set of graphical indicators with a second display formatting that is different from the first display formatting.
2. The computing system of claim 1, wherein the second display formatting comprises a different color than a color of the first display formatting. - Page 41 - Docket No.17317.11A3. The computing system of claim 1, wherein the second display formatting comprises a different intensity than an intensity of the first display formatting.
4. The computing system of claim 1, wherein the second display formatting comprises a different transparency than a transparency of the first display formatting.
5. The computing system of claim 1, wherein the second display formatting comprises a different highlighting than a highlighting of the first display formatting.
6. The computing system of claim 1, wherein at least one graphical indicator is replaced by a new graphical indicator that reflects a different analyte level than an analyte level of the at least one graphical indicator that is replaced.
7. The computing system of claim 6, wherein at least two graphical indicators of the first set of graphical indicators are replaced by a single new graphical indicator rendered on the graphical interface.
8. The computing system of claim 7, wherein the single new graphical indicator reflects an analyte level that is based on analyte levels of the at least two graphical indicators that are replaced.
9. The computing system of claim 1, wherein the generating and displaying the first instance of the time series graph includes rendering one or more lines interconnecting the first set of graphical indicators.
10. The computing system of claim 9, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different weight than used to render the at least one line in the first instance of the time series graph.
11. The computing system of claim 9, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more - Page 42 - Docket No.17317.11Alines interconnecting the first set of graphical indicators with a different transparency than used to render the at least one line in the first instance of the time series graph.
12. The computing system of claim 9, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different style than used to render the at least one line in the first instance of the time series graph.
13. The computing system of claim 12, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a dashed line style.
14. The computing system of claim 9, wherein the generating and displaying the second instance of the time series graph includes rendering at least one line of the one or more lines interconnecting the first set of graphical indicators with a different color than used to render the at least one line in the first instance of the time series graph.
15. The computing system of claim 1, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
16. The computing system of claim 15, wherein the triggering event comprises a predetermined passage of time.
17. The computing system of claim 16, wherein the triggering event comprises a determination to de-emphasize a graphical indicator in the first set of graphical indicators that reflects an analyte level that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators after the predetermined passage of time.
18. The computing system of claim 15, wherein the triggering event comprises a determination that a graphical indicator in the first set of graphical indicators reflects an analyte - Page 43 - Docket No.17317.11Alevel that is determined to be outside of a standard of deviation from analyte levels reflected by one or more neighboring graphical indicators in the first set of graphical indicators.
19. The computing system of claim 15, wherein the triggering event comprises a detected user input for modifying the time series graph to a different time scale.
20. The computing system of claim 19, wherein the stored instructions are further executable by the processor system to cause the computing system to respond to the user input by downsampling and reducing a of number of analyte sensor readings being reflected in the second instance of the time series graph relative to the first instance of the time series graph, such that a time period between analyte levels reflected by the first set of graphical indicators in the second instance of the time series graph is greater than another time period between analyte levels reflected by the first set of graphical indicators in the first instance of the time series graph.
21. The computing system of claim 20, wherein the downsampling is applied differently to different subsets of the analyte levels reflected in the second instance of the time series graph, with a first subset of graphical indicators corresponding to analyte levels downsampled at a first level and a second subset of graphical indicators corresponding to analyte levels downsampled at a second level.
22. The computing system of claim 21, wherein the system selectively determines a level of downsampling to be applied based on a determined clinical significance of subsets of the analyte levels being downsampled.
23. The computing system of claim 21, wherein the stored instructions are further executable by the processor system to cause the computing system to, in response to user input requesting that downsampling be performed to the time series graph, to refrain from applying downsampling for at least some analyte levels that are determined to meet or exceed a predetermined clinical significance.
24. The computing system of claim 15, wherein the triggering event comprises a determination that a particular analyte level reflected in the first instance of the time series - Page 44 - Docket No.17317.11Agraph should be updated to reflect a change based on an updated analysis performed on analyte sensor readings corresponding to the particular analyte level.
25. The computing system of claim 15, wherein the triggering event comprises determining a particular analyte level reflected in the first instance of the time series graph was incorrect.
26. The computing system of claim 25, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on applying a new algorithm to the analyte sensor readings.
27. The computing system of claim 25, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a detected change in the first sensor data.
28. The computing system of claim 25, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on detected supplementary sensor data.
29. The computing system of claim 25, wherein the determination that the particular analyte level reflected in the first instance of the time series graph was incorrect is based on a user input entered into the system in response to a presentation of the first instance or second instance of the time series graph.
30. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to store a record of the first sensor data as well as a record of the analyte levels corresponding to the plurality of analyte sensor readings collected at the discrete periodic intervals during the first and second time periods.
31. The computing system of claim 30, wherein generating and displaying the first instance of the time series graph includes rendering at least one graphical indicator to reflect an - Page 45 - Docket No.17317.11Aanalyte level that matches a corresponding analyte sensor reading contained within the stored record of the first sensor data.
32. The computing system of claim 30, wherein generating and displaying the second instance of the time series graph includes rendering the at least one graphical indicator to reflect an different analyte level than was reflected in the first instance of the time series graph and that is within a predetermined threshold of deviation from the corresponding analyte sensor reading contained within the stored record of the first sensor data.
33. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to detect a user input selecting a particular graphical indicator and, in response to the user input, present supplementary data corresponding to the analyte level associated with the particular graphical indicator.
34. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for editing the analyte level.
35. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to detect an additional user input for annotating a stored record associated with the analyte level.
36. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger a haptic feedback in a haptic feedback system in the computing system in response to detecting a predetermined quantity of analyte levels above a predetermined threshold.
37. The computing system of claim 1, wherein the stored instructions are further executable by the processor system to cause the computing system to trigger the generation of an electronic notification to a user in response to detecting a predetermined quantity of analyte levels above a predetermined threshold. - Page 46 - Docket No.17317.11A38. A computing system for dynamically modifying a graphical interface for analyte sensor data, the system comprising: a processor system; a display device; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display a time series graph that renders the first sensor data for the first time period with a first set of graphical indicators according to a first frequency; and subsequent to rendering the first sensor data for the first time period, modify a subset of the first set of graphical indicators to be rendered in the time series graph according to a second frequency, rather than the first frequency, and while continuing to render other graphical indicators corresponding to the first time period or a second time period according to the first frequency.
39. The computing system of claim 38, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined staleness of the first sensor data corresponding to the subset of the first set of graphical indicators.
40. The computing system of claim 38, wherein the modifying of the subset of the first set of graphical indicators occurs in response to a determined proximity of the subset of the first set of graphical indicators.
41. The computing system of claim 38, wherein stored instructions are further executable by the processor system to cause the computing system to modify a display formatting used to render the subset of the first set of graphical indicators relative to the other graphical indicators corresponding to the first time period or a second time period. - Page 47 - Docket No.17317.11A42. The computing system of claim 41, wherein the display formatting comprises at least one of a color, transparency, weight, intensity, size or highlighting.
43. A computing system for dynamically displaying analyte sensor data, the computing system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; processing the first sensor data for display in a time series graph where different analyte levels of the first sensor data are represented with graphical indicators; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; and subsequent to acquiring the second sensor data, displaying the first sensor data with a plurality of different analyte levels of the first sensor data being represented with only a single graphical indicator in the time series graph on the display device, rather than with a different graphical indicator for each of the different analyte levels being represented from the first sensor data.
44. The computing system of claim 43, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
45. The computing system of claim 44, wherein the triggering event comprises a predetermined passage of time. - Page 48 - Docket No.17317.11A46. A computing system for dynamically displaying analyte sensor data, the computing system comprising: a processor system; a display device that renders a graphical interface; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; subsequent to acquiring the second sensor data, processing the first sensor data to be displayed within a time series graph on the display device with different graphical indicators reflecting different analyte levels corresponding to the first sensor data; and displaying the first sensor data in such a manner that at least two different graphical indicators associated with different analyte levels of the first sensor data are represented as only a single graphical indicator in the time series graph on the display device.
47. The computing system of claim 46, wherein the modifying of the presentation of one or more of the first set of graphical indicators occurs in response to the system detecting a triggering event.
48. The computing system of claim 47, wherein the triggering event comprises a predetermined passage of time.
49. The computing system of claim 47, wherein the triggering event comprises acquiring a predetermined number of analyte level measurements in the first sensor data. - Page 49 - Docket No.17317.11A50. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: (1) an on-body unit configured to be worn on a user’s body, the on-body unit comprising: a glucose sensor, comprising: a proximal portion coupled with sensor electronics, wherein the proximal portion is configured to be positioned above a skin surface of the user; and a distal portion configured to be positioned under the skin surface of the user and to detect a glucose level in an interstitial fluid of the user; the sensor electronics, comprising: a power supply; processing circuitry coupled with memory; and wireless communication circuitry configured to transmit a first sensor data and a second sensor data to a display device according to a wireless communication protocol; and (2) the display device configured to render a graphical interface, the display device, comprising: a processor system; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: receive the first sensor data from the on-body unit, wherein the first sensor data reflects glucose levels of the user, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; generate and display within the graphical interface on the display device a first instance of a time series graph that includes a first set of graphical indicators reflecting glucose levels corresponding to the plurality of sensor readings collected at the discrete periodic intervals during the first time period, the first set of graphical indicators being rendered with first display formatting; and subsequent to displaying the first instance of the time series graph, display a second instance of the time series graph within the graphical interface on the display device by at least: - Page 50 - Docket No.17317.11Arender the second sensor data for a second time period with a second set of graphical indicators reflecting glucose levels corresponding to a plurality of sensor readings collected at discrete periodic intervals during the second time period, the second set of graphical indicators being rendered with the first display formatting; and concurrently, while rendering the second set of graphical indicators, modify a presentation of one or more of the first set of graphical indicators with a second display formatting that is different from the first display formatting.
51. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: (1) an on-body unit configured to be worn on a user’s body, the on-body unit comprising: a glucose sensor, comprising: a proximal portion coupled with sensor electronics, wherein the proximal portion is configured to be positioned above a skin surface of the user; and a distal portion configured to be positioned under the skin surface of the user and to detect a glucose level in an interstitial fluid of the user; the sensor electronics, comprising: a power supply; processing circuitry coupled with memory; and wireless communication circuitry configured to transmit a first sensor data and a second sensor data to a display device according to a wireless communication protocol; and (2) the display device configured to render a graphical interface, the display device, comprising: a processor system; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: acquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and - Page 51 - Docket No.17317.11Awherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; process the first sensor data for display in a time series graph where different analyte levels of the first sensor data are represented with graphical indicators; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; and subsequent to acquiring the second sensor data, display the first sensor data with a plurality of different analyte levels of the first sensor data being represented with only a single graphical indicator in the time series graph on the display device, rather than with a different graphical indicator for each of the different analyte levels being represented from the first sensor data.
52. A computing system for dynamically modifying a graphical interface that displays analyte sensor data, the system comprising: (1) an on-body unit configured to be worn on a user’s body, the on-body unit comprising: a glucose sensor, comprising: a proximal portion coupled with sensor electronics, wherein the proximal portion is configured to be positioned above a skin surface of the user; and a distal portion configured to be positioned under the skin surface of the user and to detect a glucose level in an interstitial fluid of the user; the sensor electronics, comprising: a power supply; processing circuitry coupled with memory; and wireless communication circuitry configured to transmit a first sensor data and a second sensor data to a display device according to a wireless communication protocol; and (2) the display device configured to render a graphical interface, the display device, comprising: a processor system; and a hardware storage system comprising stored instructions that are executable by the processor system to cause the computing system to: - Page 52 - Docket No.17317.11Aacquire first sensor data from an analyte sensor, wherein the first sensor data reflects analyte levels of a user who is wearing the analyte sensor, and wherein the first sensor data includes a plurality of sensor readings collected over a first time period at discrete periodic intervals; acquire second sensor data corresponding to a second time period, subsequent to acquiring the first sensor data; subsequent to acquiring the second sensor data, process the first sensor data to be displayed within a time series graph on the display device with different graphical indicators reflecting different analyte levels corresponding to the first sensor data; and display the first sensor data in such a manner that at least two different graphical indicators associated with different analyte levels of the first sensor data are represented as only a single graphical indicator in the time series graph on the display device. - Page 53 - Docket No.17317.11A
Citation Information
Patent Citations
Continuous analyte monitoring system configured for generating dynamic data structures and graphical displays
EP3496597B1
Respiration characteristic analysis apparatus and respiration characteristic analysis system
US20120016255A1
Methods and apparatus for displaying glucose data
US20230329647A1
Distributed system architecture for continuous glucose monitoring
US20230352171A1
US202363548265P