Systems, devices and methods for applications to communicate with ketone sensors

JP2024537638A5Pending Publication Date: 2025-09-22ABBOTT DIABETES CARE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024515371
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-12
Filing Date
2022-09-14
Publication Date
2025-09-22

AI Technical Summary

Technical Problem

Existing analyte monitoring systems face challenges in providing user-friendly, actionable data for both medical and non-medical applications, often requiring regulatory approval due to their classification as Software as a Medical Device (SaMD), which can hinder development and integration with non-medical use cases.

Method used

A software library is developed to facilitate communication between physiological sensors and third-party applications, allowing for regulatory approval of the library itself while exempting third-party applications from regulatory requirements, featuring a modular architecture that includes a sensor control module and remote management module for seamless data transmission and user interface.

Benefits of technology

Enables robust, user-friendly data communication and presentation across various applications, reducing regulatory burdens and enhancing the usability of analyte monitoring systems for both medical and non-medical purposes without additional regulatory approvals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A software library that provides a unified framework for various applications and third party applications to access sensor data. The system further comprises a sensor control module and a remote management module. The sensor control module comprises logic for communicating with the sensors, receiving sensor data, and communicating the sensor data to the remote management module or various applications. The sensor control module can comprise a user interface that displays a banner containing multiple components. The content of the banner can be different for each host application. The system can further include a host application in which the banner is embedded.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 405,666, filed September 12, 2022, U.S. Provisional Patent Application No. 63 / 337,442, filed May 2, 2022, U.S. Provisional Patent Application No. 63 / 295,275, filed December 30, 2021, U.S. Provisional Patent Application No. 63 / 276,396, filed November 5, 2021, and U.S. Provisional Patent Application No. 63 / 244,694, filed September 15, 2021, the entire disclosures of which are expressly incorporated by reference into this specification for any purpose. [Technical field]

[0002] FIELD OF THE DISCLOSURE The subject matter described herein relates generally to digital and user interfaces for analyte monitoring systems, and related systems, methods, and devices. [Background technology]

[0003] Detecting, monitoring, or detecting and monitoring analyte levels, such as glucose, ketones, ketone bodies (e.g., beta-hydroxybutyrate), lactate, oxygen, hemoglobin A1C, and the like, can be critical to the overall health of a person, particularly an individual with diabetes. Patients with diabetes mellitus may experience complications such as loss of consciousness, cardiovascular disease, retinopathy, neuropathy, and nephropathy. Diabetic patients generally need to monitor their glucose levels to ensure that they are maintained within a clinically safe range, and may also use this information to determine if and when they need to lower their glucose levels with insulin or when they need to raise their glucose levels with additional glucose.

[0004] And while there is growing clinical data showing a strong correlation between frequency of glucose monitoring and glycemic control, despite this correlation, many people diagnosed with diabetes do not monitor their glucose levels as frequently as they should due to a combination of factors including the hassle, caution about testing, and the pain and expense associated with glucose testing.

[0005] To improve patient adherence to a schedule of frequent glucose monitoring, an in vivo analyte monitoring system can be used to attach a sensor-controlled device to an individual who requires analyte monitoring. The sensor-controlled device has a small form factor for increased comfort and convenience for the wearer, and can be attached by the individual using a sensor applicator. The attachment procedure includes inserting at least a portion of the sensor, which senses analyte values ​​in bodily fluids within a layer of the user's body, using an applicator such that the sensor contacts the bodily fluid. The analyte monitoring system can also be configured to transmit analyte data, alarms, or both to another device where a caregiver, such as a parent, spouse, or health care provider (HCP), can view the analyte data and make treatment decisions. Moreover, not only diabetic patients can benefit from analyte monitoring systems. For example, analyte monitoring systems can provide useful information and insights to individuals interested in improving their health and wellness. In one example, an athlete can wear a sensor-controlled device on his or her body and use it to collect data on one or more analytes (e.g., glucose, lactate, or both) in order to improve their sports performance. Additionally, as will be described in more detail below, analyte monitoring systems can be used in other non-medical applications.

[0006] However, despite the benefits of using substance monitoring systems, some people were reluctant to use them for a variety of reasons, including the complexity and volume of data presented, the learning curve involved in mastering the substance monitoring system software and user interface, and the overall lack of immediately actionable information presented.

[0007] Nevertheless, as sensor-controlled devices become more convenient and comfortable for users and more affordable, non-medical applications are becoming feasible. For example, high-performance athletes are interested in optimizing the levels of analytes that affect their performance (e.g., blood glucose) before and during training and competitions. However, the user interfaces of some existing sensor-controlled devices are designed for medical use by patients under the supervision of a doctor, and not for non-medical use, such as athletic training and competition. As a result, the data collected by the sensor-controlled devices and the way in which this data is presented to the user may not be suitable for non-medical use. In addition, sensor-controlled devices for non-medical use (health and fitness) may be mistaken for similar devices for medical use, leading to problems in interpreting and using the data.

[0008] Various applications use sensor data to perform various functions, including health maintenance functions. However, when trying to use sensor data with software, each piece of software is considered a programmed medical device (SaMD) and may be subject to regulatory standards or require approval by a regulatory agency. Therefore, when building use cases for physiological data obtained from sensors in new applications, there is a possibility that they will face regulatory obstacles from the Food and Drug Administration. Summary of the Invention [Problem to be solved by the invention]

[0009] Thus, there is a need to provide a framework that can communicate with physiological sensors to receive analyte data for use in a variety of applications, including third party applications, while avoiding the need to obtain regulatory approval for every use case of the received analyte data. Additionally, there is a need for digital and graphical user interfaces for analyte monitoring systems for medical, non-medical, or medical and non-medical applications, and related systems, methods, and devices that are robust, user friendly, and capable of providing timely, actionable responses. [Means for solving the problem]

[0010] Objects and advantages of the disclosed subject matter will be set forth in the description which follows. Such objects and advantages will be in part obvious from the description, or may be learned by the practice of the disclosed subject matter. Further advantages of the disclosed subject matter which are realized and attained by the methods and systems will be particularly pointed out in the description, claims, and accompanying drawings.

[0011] To achieve the above and other advantages and in accordance with the objectives of the presently disclosed subject matter, as illustrated and outlined in the embodiments, the presently disclosed subject matter relates to a software library used by an application to acquire sensor data. The software library may include a sensor control module and a remote management module, and may include software logic for communicating with a plurality of physiological sensors and an application. The sensor control module may authenticate a receiving device to allow the receiving device to receive the sensor data (e.g., enable communication between the receiving device and the plurality of physiological sensors to allow the receiving device to receive sensor data including data indicative of a sensor-specific physiological signal). Additionally, the sensor control module may store the sensor data in a memory of the computing device. The sensor control module may obtain an output indicative of the sensor-specific physiological signal from the sensor data of each of the plurality of physiological sensors. Additionally, the sensor control module may provide an output of the sensor-specific physiological signal obtained from the physiological sensors to an authenticated third-party application running on the computing device.

[0012] In accordance with the subject matter of the present disclosure, a physiological sensor can include an analyte sensor configured to detect an analyte value in a bodily fluid of a user. The analyte value can also be included in a variety of different physiological signal outputs. The output can further include a notification of a physiological condition. The output can also indicate information regarding the delivery of a medication to the user.

[0013] In accordance with the subject matter of this disclosure, communication sessions within the computing device and between the computing device and the physiological sensor may use any suitable wireless communication protocol known in the art, such as Near Field Communication (NFC), BLUETOOTH® Low Energy (BLE), or the like.

[0014] The software library may further include a remote data management module that includes instructions for transmitting the sensor data over a network to a remote server. The remote management module may be configured to communicate with the remote server to authenticate applications, such as the sensor control module or third party applications, using a uniform user interface regardless of the application accessing the software library.

[0015] In accordance with the subject matter of this disclosure, the physiological sensors and software library are subject to regulatory approval, such as being approved as a programmed medical device, and outputs indicative of physiological signals from the physiological sensors are also subject to regulatory approval, but third party applications executing on the computing device are not subject to regulatory approval.

[0016] The software library can be configured to be implemented as a component of certified third-party applications. Its modular architecture and common functionality allows it to receive, interpret, and display sensor data from multiple physiological sensors substantially simultaneously. [Brief description of the drawings]

[0017] Details of the subject matter described herein, both in structure and operation, will become apparent from a study of the accompanying drawings, in which like reference numerals refer to like parts throughout the drawings. Additionally, the drawings do not necessarily illustrate components to scale, with emphasis instead being placed upon illustrating the principles of the subject matter. Additionally, the drawings are intended to convey concepts, and detailed attributes such as relative size and shape may be shown diagrammatically and not precisely. [Figure 1] Overall view of the system including the software library, the receiving device, and the sensor assembly [Diagram 2]1 is a block diagram illustrating an exemplary embodiment of a receiving device; [Diagram 3] FIG. 1 is a block diagram illustrating an exemplary embodiment of a sensor assembly; [Figure 4] FIG. 1 is a block diagram showing a software library including a sensor control module and a remote management module as an example of a software library for communicating with an application; [Diagram 5] 1 is a block diagram illustrating an exemplary embodiment of a sensor control module; [Figure 6] 1 is a block diagram illustrating an exemplary embodiment of a remote management module; [Figure 7A] Exemplary embodiments of applications utilizing the architecture of the present invention [Figure 7B] Exemplary embodiments of applications utilizing the architecture of the present invention [Figure 7C] Exemplary embodiments of applications utilizing the architecture of the present invention [Figure 8] FIG. 1 illustrates an example method for communicating sensor data from a sensor to an application or a third-party application utilizing the subject matter of this disclosure. [Figure 9] FIG. 1 illustrates an example method for communicating sensor data from a sensor to an application or a third-party application utilizing the subject matter of this disclosure. [Figure 10A] FIG. 1 illustrates an exemplary embodiment of a GUI associated with a biosensor banner. [Figure 10B] FIG. 1 illustrates an exemplary embodiment of a GUI associated with a biosensor banner. [Figure 11A] FIG. 1 illustrates an exemplary embodiment of a GUI for biosensor module details. [Figure 11B] FIG. 1 illustrates an exemplary embodiment of a GUI for biosensor module details. [Figure 12A] FIG. 1 illustrates an exemplary embodiment of a GUI for system messages related to a biosensor. [Figure 12B] FIG. 1 illustrates an exemplary embodiment of a GUI for system messages related to a biosensor. [Figure 13A] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with setting up a biosensor. [Figure 13B] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with accepting input of goals that a user wishes to achieve. [Figure 13C] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with accepting user measurements. [Figure 13D] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with accepting input of a user's date of birth. [Figure 13E] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with accepting input of a user's activity level. [Figure 13F] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI related to daily macronutrient goals. [Figure 13G] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with setting up a biosensor. [Figure 14A] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with setting a target ketone threshold. [Figure 14B] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with setting a target ketone threshold. [Figure 15A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with a calendar display. [Figure 15B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with a Today Live home screen. [Figure 15C] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with a Live Home Screen from a Past Day. [Figure 15D] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with a log filter. [Figure 15E] FIG. 1 is a block diagram illustrating an example embodiment of a GUI including flags. [Figure 15F] FIG. 1 is a block diagram illustrating an example embodiment of a GUI including tooltips. [Figure 16A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with food and drink log entries. [Figure 16B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with food and drink log entries. [Figure 17A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with fasting log entries. [Figure 17B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with fasting log entries. [Figure 17C] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with fasting log entries. [Figure 18A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with exercise log entries. [Figure 18B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with exercise log entries. [Figure 19A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with mood log entries. [Figure 19B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with mood log entries. [Figure 20A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with vitality log entries. [Figure 20B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with vitality log entries. [Figure 21A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with appetite log entries. [Figure 21B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI associated with appetite log entries. [Figure 22A] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI related to learning and inquiry. [Figure 22B] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI related to learning and inquiry. [Figure 23A] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with pairing a biosensor with a reading device. [Figure 23B] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with pairing a biosensor with a reading device. [Figure 23C] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with pairing a biosensor with a reading device. [Figure 23D] FIG. 1 is a block diagram illustrating an exemplary embodiment of a GUI associated with pairing a biosensor with a reading device. [Figure 24A] FIG. 1 is a block diagram illustrating an example embodiment of a GUI related to settings. [Figure 24B] FIG. 1 is a block diagram illustrating an example embodiment of a GUI related to settings. [Figure 24C] FIG. 1 is a block diagram illustrating an example embodiment of a GUI related to settings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] Reference will now be made in detail to various exemplary embodiments of the presently disclosed subject matter, which are illustrated in the accompanying drawings.

[0019] The system may include a device that receives the analyte data measured by the analyte monitoring device and the drug delivery data recorded by the delivery device and processes the data, displays the data to a user in any number of forms, or both. Such devices and variations thereof may be referred to as "receiving devices," "reader devices" (or simply "readers"), "handheld electronics" (or simply "handheld"), "portable data processing" devices or units, "data receivers," "receiver" devices or units (or simply "receivers"), or "remote" devices or units, as just a few examples of how such devices may be referred to. The device may be a smartphone, a smartwatch, or a display device.

[0020] The system may also include an in-vivo analyte monitoring sensor assembly, which may include various types of monitoring devices. For example, a "Continuous Analyte Monitoring" system (or "Continuous Glucose Monitoring" system) may transmit data from the sensor device to the reading device continuously (e.g., automatically according to a schedule) rather than prompting. Another example is a "Flash Analyte Monitoring" system (or "Flash Glucose Monitoring" system, or simply "Flash" system). A flash analyte monitoring system may transmit data from the sensor device in response to a data scan or request by the reading device, such as using a "BLUETOOTH" Low-Energy (BLE) Near Field Communication (NFC) protocol or a Radio Frequency Identification (RFID) protocol. Additionally, the in-vivo analyte sensor assembly can operate without the need for finger-prick calibration.

[0021] An in vivo monitoring sensor assembly may include a sensor. When placed in a living body, the sensor contacts the user's bodily fluid and generates analyte data indicative of the analyte value in the bodily fluid. The sensor assembly is a device that is placed on the user's body and contains the electronics and power source responsible for achieving and controlling the analyte sensing. Sensor assemblies and variations thereof may also be referred to as "on-body electronics" devices or units, "on-body" devices or units, "sensor data communication" devices or units, analyte sensors, sensor devices, in vivo analyte monitor sensor assemblies, sensors, and the like, which are just a few examples of alternative names for sensor assemblies.

[0022] Additionally, the system may include external devices for use with the analyte sensors. For example, but not limited to, the external devices may include a delivery device that utilizes information from the analyte sensors to determine and deliver a beneficial agent, such as a medication, to the user. Additionally or alternatively, the external devices may include other sensors, such as other analyte sensors, accelerometers, pressure sensors, and external computing devices. Such external computing devices may include, for example, a medical server or a smartphone application configured to utilize the analyte sensor information to provide further insights to the user, such as medical or non-medical insights or analyses, such as, but not limited to, insights regarding a medical condition, well-being, fitness, or appetite.

[0023] Generally, and as described in more detail below, the subject matter of the disclosure presented herein includes a software library in a receiving device that communicates with the analyte sensor to allow a third party application to access the sensor data for use in a medically necessary or user well-being related application. Thus, the system further comprises a software library that can be implemented independent of the sensor and integrated into the third party application to allow the third party application to access the sensor data. Additionally, the sensor control module can communicate with multiple sensor assemblies in a manner that allows the sensor control module to receive data from the multiple sensor assemblies simultaneously or substantially simultaneously. Still further, the system also allows sensor information to be transferred from the sensor control module to a remote management module.

[0024] The embodiments described herein may be utilized to monitor and / or process information regarding any number of different analytes, including, but not limited to, acetylcholine, amylase, bilirubin, cholesterol, chorionic gonadotropin, glycosylated hemoglobin (HbA1c), creatine kinase (e.g., CK-MB), creatine, creatinine, DNA, fructosamine, glucose, glucose derivatives, glutamine, growth hormone, hormones, ketones, ketone bodies (e.g., β-hydroxybutyrate), lactate, peroxide, prostate specific antigen, prothrombin, RNA, thyroid stimulating hormone, and troponin. Additionally, concentrations of drugs may be monitored, including, for example, antibiotics (e.g., gentamicin, vancomycin, etc.), digitoxin, digoxin, drugs of abuse, theophylline, warfarin, and the like. In embodiments where more than one analyte is monitored, the analytes may be monitored simultaneously or at staggered times.

[0025] FIG. 1 is a schematic diagram illustrating an exemplary embodiment of a system 100 comprising a modular connectivity framework utilizing a software library 400 , various applications 420 , a sensor assembly 300 , and a receiving device 200 .

[0026] In accordance with the subject matter of the present disclosure, a non-transitory computer readable storage medium includes a software library that is utilized by an application 420 on the receiving device 200 or a standalone device (e.g., pump, insulin pen, etc.) to acquire sensor data. The software library may include a sensor control module and a remote management module, and may include software logic for communicating with a plurality of sensors and applications. The sensor control module authenticates the receiving device to allow the receiving device to receive the sensor data (e.g., by enabling the receiving device to communicate with the plurality of sensors to allow the receiving device to receive sensor data including data indicative of a sensor-specific signal). The sensor control module may also store the sensor data in a memory of the computing device. The sensor control module may obtain an output indicative of a sensor-specific signal from the sensor data for each of the plurality of sensors. The sensor control module may also provide an output of the sensor-specific signal obtained from the sensors to an authenticated third-party application running on the computing device.

[0027] The system 100 includes a software library 400 that operates in a modular architecture. The modular architecture allows the sensor control module 500 to communicate with and reside within various applications 420 on the receiving device 200. Furthermore, the applications 420 can interface with the sensor assembly 300 via the sensor control module 500, in particular by issuing a request to the communication control module 540 (shown in FIG. 5) to interface directly with the sensor assembly 300. The sensor assembly 300 can be a device with multiple sensors 302 or a sensor 302 configured to detect more than one analyte.

[0028] The receiving device 200 includes one or more applications 420, with each application instance embedding a software library 400. The receiving device 200 employs a modular connectivity framework for the applications 420. In particular, each application 420 includes a software library 400, which includes a remote management module 600 and a sensor control module 500 for communicating with one or more sensor assemblies 300. The software library 400 can also be run as a service that executes simultaneously with the underlying application, such that the sensor control module 500 or the remote management module 600 can also be a service that executes in parallel with one or more applications.

[0029] Additionally, the sensor control module 500 may interface with sensor data. Various modules in the software library 400 implemented in the application 420 may send and receive communications to and from the sensor assembly 300 via the communication link 102.

[0030] Although the sensor control module 500 is present in the application 420 of the receiving device 200, the basic components of the sensor control module 500 can be placed in a second receiving device, such as a wearable device, such as a smart watch or a mobile device. Although such a device, such as a smart watch or a wearable device, may not provide the user interface experience that a smartphone, a tablet terminal, or a computer provides, by incorporating the sensor control module 500 in such a device, it is possible to communicate with the sensor assembly 300 directly from the sensor control module 500 on the smart watch or mobile wearable device. This makes it possible to use the sensor data from an application specialized for the wearable device. Each wearable device can be independently synchronized with the receiving device 200, and most of the user login function, initial setting function, authentication function, and consent function required to execute or start receiving sensor data can be executed using the receiving device 200.

[0031] The communication links 102 may be wireless protocols such as "BLUETOOTH", "BLUETOOTH" Low Energy (BLE, BTLE, "BLUETOOTH" SMART, etc.), Near Field Communication (NFC), etc. Each communication link 102 may use the same or different wireless protocols. The system 100 may also be configured to communicate via other wireless data communication links, including, but not limited to, any type of suitable wireless communication connection (and which may be unidirectional or bidirectional) connecting two or more electronic devices, such as an RF communication link or an infrared communication link. Alternatively, the data communication link may include a wired cable connection, including, but not limited to, an RS232 connection, a USB connection, a FireWire® connection, a Lightning connection, or a serial cable connection.

[0032] For example, as shown in the embodiments herein, the communication link 102 can be configured to use a "BLUETOOTH" protocol such as BLE, or the communication link 102 can be configured to use an NFC protocol. Additionally or alternatively, there may be another communication link (not shown) with the second sensor assembly, which may be configured to use BLE or a combination of NFC and BLE. The communication links may be configured to perform different operations. For example, the communication link 102 may be configured to only be responsible for activating the sensor assembly. Additionally, the communication link may be configured differently depending on the overall system configuration or depending on which components of the system are activated or in use at a given time. For example, as shown in the embodiments herein, the communication link 102 may have a first communication setting when the receiving device 200 is active in the system and a second communication setting when the receiving device is not active or the system does not include a receiving device.

[0033] In a first communication setting, the communication link 102 can be configured to only activate the sensor using the NFC radio protocol. In another setting, the BLE functionality between the sensor assembly 300 and the application 420 (if provided) can remain off. The application 420 can utilize the NFC radio protocol to activate the sensor assembly 300 and obtain sensor context information. The sensor context information can include authentication information for authenticating a communication session with the sensor assembly 300, encryption information for enabling encrypted data communication over the communication link, and a BLE communication address for initiating a BLE connection with the sensor assembly 300. The software library 400 can also obtain sensor context information from the sensor assembly 300 via BLE. Using the sensor context information, the software library 400 is provided with the ability to switch sessions from an application 420 on one receiving device 200, such as a smartphone, to another application 420 on another receiving device 200, such as a smartwatch. The transmission of sensor context information can occur within these applications 420.

[0034] In accordance with the subject matter of the present disclosure, a sensor assembly 300 as shown may include multiple sensor elements for detecting different analytes within the same sensor assembly. System 100 may also include multiple sensor assemblies 300 as shown connected via a communication link having communication capabilities similar to communication link 102 described herein. Two or more sensor assemblies 300 may be used in combination to provide multiple sensor elements working together to produce an analyte reading or multiple sensor elements may independently produce readings for a variety of different analytes. While any number of sensor assemblies may be used together to measure any number of different analyte readings, two sensor assemblies are shown in the present disclosure for purposes of illustration and not limitation.

[0035] In some embodiments, the application 420 can be configured to access the software library 400 from a remote cloud 700 infrastructure via a wireless communication link 710. In certain embodiments, the communication link 710 includes a wireless communication portion configured for two-way radio frequency (RF) communication with other devices to transmit and receive data to and from the system 100. Additionally, the communication link 710 can be configured to include a physical port or interface, such as one or more of any suitable electrical connection port that allows data communication between the system 100 and the receiving device 200, such as a USB port, an RS-232 port, a serial port, an IEEE 1394 (Firewire) port, or an Ethernet port. The receiving device 200 may also include a personal computer, a laptop computer, a notebook computer, an iPad, a tablet computing device, a mobile phone, a smart phone, a personal data assistant, a workstation, a server, a mainframe computer, a cloud computing system, an external medical device (e.g., a device including an infusion device, an analyte monitoring device, or an insulin delivery device), or other device configured for similar complementary data communication. In certain embodiments, the communication link 710 may include a cellular or Wi-Fi (IEEE 802.1x) communication protocol, or an equivalent wireless communication protocol that allows multiple units to communicate securely wirelessly (e.g., in accordance with HIPPA requirements) while avoiding potential data collisions or interference.

[0036] In other embodiments, wireless communication 710 is any suitable wireless communication mechanism that allows receiving device 200 to communicate with other devices, such as infrared, BLUETOOTH, wireless USB, ZigBee, cellular, Wi-Fi (IEEE802.1Ix), or RFID (passive or active RFID) communication, including infusion devices, analyte monitoring devices, computer terminals, servers, personal computers, laptop computers, iPads, tablet computers, mobile phones, smartphones, workstations, mainframe computers, cloud computing systems, mobile phone-enabled mobile phones, personal digital assistants, or other communication devices that may be used in conjunction with a patient or device user to manage the treatment of a health condition, such as diabetes.

[0037] The system 100 can be configured to operate as an open loop system, a closed loop system, or a hybrid closed loop system. An open loop system requires manual input from a user to control certain functions of the sensor assembly 300. A closed loop system uses data from the sensor assembly 300 and algorithms to control the software library 400 without user input. A hybrid system may also require user input to control the application 420 and initiate the software library 400. A hybrid closed loop system may be used in conjunction with or instead of a closed loop system. As disclosed herein, regulatory approval may be limited to the software library 400 regardless of the type of system configuration employed by the system 100.

[0038] Receiving Device FIG. 2 is a block diagram illustrating an exemplary embodiment of a receiving device 200. The software library 400 can be provided to a third party to be incorporated into an application 420 for a multi-purpose receiving device 200, such as a mobile phone, tablet, personal receiving device, or other similar receiving device. The receiving device 200, which is responsible for implementing and executing the device application software, can also be referred to as a computing device or a multi-purpose device. The receiving device 200 refers to a suitably configured hardware device that executes an application 420 incorporating the software library 400 having a sensor control module 500 configured to communicate with the sensor assembly 300. Here, the receiving device 200 can include a display 202, an input component 204, and a processor 206 coupled to a memory 208. It can also include a communication circuit 210 coupled to an antenna 212, and a power source 214. As will be appreciated by those skilled in the art, these components are electrically and communicatively coupled to form a functional device. As shown in the embodiment herein, the memory 208 can include an application and a sensor control module 500 for the sensor assembly 300. The application 420 may also import a software library 400 that includes a sensor control module 500. The software library 400 and the sensor control module 500 may be developed by the provider of the sensor assembly 300.

[0039] The receiving device may be responsible for most of the processing power of the system 100 to render the final result data suitable for display to a user. The receiving device 200 may be a smartphone or a smartwatch.

[0040] The receiving device 200 can receive analyte data, such as glucose data, calculate low and high analyte values, and generate corresponding alarms and messages. The receiving device 200 can also mirror alert notifications generated by other devices, such as the sensor assembly 300. The receiving device 200 can process the analyte data in the processor 206 to render information about the analyte as values, trends, graphs on the display 202, and provide additional messages and notifications based on the received analyte values.

[0041] Sensor Assembly 3 is a block diagram illustrating an exemplary embodiment of a sensor assembly 300 including a glucose sensor 302 and sensor electronics 304 (including analyte monitoring circuitry). The glucose sensor 302 may be an in-vivo analyte sensor with a duration of about 13-30 days. Additionally, the sensor assembly 300 may be configured without wide area network communication capabilities.

[0042] The glucose sensor 302 generates a raw data signal for measuring the glucose level of the patient. The sensor electronics 304 is operatively coupled to the glucose sensor 302 and includes a memory 316 that stores one or more predetermined characteristics 322 associated with the sensor electronics 304. The memory 316 may be a so-called "one-time programmable" (OTP) memory and may be configured to define the number of writes, such as by including a support architecture that defines the number of times that a particular address or area of ​​the memory may be written to. This number may be one or more writes, and once the defined number of writes is reached, the memory may be marked as unavailable or otherwise unavailable for programming. The subject matter disclosed herein relates to systems and methods for updating such OTP memory with new information.

[0043] As shown, the sensor electronics 304 may comprise a single semiconductor chip, which may be a custom application specific integrated circuit (ASIC 306). Inside the ASIC 306, several higher level functional units are provided, such as an analog front end (AFE 308), a power management (control) circuit 310, a processor 312, and a communication circuit 314 (which may be implemented as a transmitter, a receiver, a transceiver, a passive circuit, etc., according to a communication protocol). For example, but not limited to, an exemplary communication circuit 314 may include a "BLUETOOTH" Low Energy ("BLE") chipset, a Near Field Communication ("NFC") chipset, or other chipsets for use with similar short-range communication methods (e.g., personal area networks according to IEEE 802.15 protocol, IEEE 802.11 protocol, infrared communication according to IrDA (Infrared Data Association) standard, etc.). The communication circuit 314 may communicate with a communication module of similar functionality to send and receive data and commands. Certain communication chipsets may be embedded in the ASIC 306 (eg, an NFC antenna).

[0044] The sensor assembly 300 may utilize application layer encryption using one or more block ciphers to establish mutual authentication and encryption with other devices in the system 100. There are several advantages to adopting a non-standard encryption design implemented at the application layer. One advantage of this approach is that in certain embodiments, a user may complete pairing of the sensor assembly 300 with other devices with minimal interaction, such as using an NFC scan, without requiring additional input from the user, such as entering a security pin or approving the pairing. The sensor assembly 300 may be configured to dynamically generate authentication and encryption keys. Alternatively, the sensor assembly 300 may be pre-programmed with a valid set of authentication and encryption keys for use with a particular class of device. Additionally, the ASIC 306 may be configured to use received data to perform authentication procedures (e.g., handshakes, mutual authentication, etc.) with other devices and apply the generated keys to sensitive data before transmitting the sensitive data.

[0045] While this embodiment utilizes both the AFE 308 and the processor 312 as analyte monitoring circuitry, in other embodiments, either circuitry may perform the analyte monitoring function. The processor 312 may comprise one or more processors, microprocessors, controllers, and / or microcontrollers, each of which may be separate chips or may be distributed across several different chips (and portions thereof).

[0046] Also included within the ASIC 306 is a memory 316. The memory 316 may be shared among various functional units present within the ASIC 306 or may be distributed among two or more of such functional units. The memory 316 may be a separate chip. The memory 316 may be a volatile memory and / or a non-volatile memory. In this embodiment, the ASIC 306 is coupled to a power source 318, which may be a coin cell battery or the like. The AFE 308 interfaces with the glucose sensor 302 to receive measurement data from the glucose sensor 302 and outputs the data in a digital format to the processor 312. The data is then provided to a communication circuit 314 for transmission to the software library 400 via an antenna 320.

[0047] Alternatively, the sensor 302 may monitor other analytes, such as, for example, acetylcholine, amylase, bilirubin, cholesterol, chorionic gonadotropin, creatine kinase (e.g., CK-MB), creatine, DNA, fructosamine, glutamine, growth hormone, hormones, ketones, ketone bodies (e.g., β-hydroxybutyrate), lactate, peroxide, prostate specific antigen, prothrombin, RNA, thyroid stimulating hormone, and troponin. For example, ketone sensors and dual glucose and ketone sensors are described in U.S. Patent Application No. 2022 / 0186278, U.S. Patent Application No. 2020 / 0237276, U.S. Patent Application No. 2020 / 0237275, U.S. Patent Application No. 2021 / 0219885, U.S. Patent Application No. 2020 / 0237276, U.S. Patent Application No. 2021 / 0369155, U.S. Patent Application No. 2022 / 0186278, and U.S. Patent No. 11,091,788, the entire disclosures of which are expressly incorporated herein by reference for any purpose.

[0048] The sensor assembly 300 includes a sensor assembly embedded library (not shown) configured to provide sensor assembly data to the software library 400 based on information received from the sensor assembly 300. The sensor assembly data can include glucose readings, data types, ranges, real-time and historical glucose values ​​and trends, sensor operation information, and sensor system information.

[0049] Software Library 4 is a block diagram illustrating an example of a software library 400 for communicating with applications 420 (illustrated as applications 422, 424, 426, and third-party application 428). Note that when referring to application 420, it refers to one or more of applications 422, 424, 426, and third-party application 428. Software library 400 includes a sensor control module 500 and a remote management module 600, each of which has the capability of independently communicating with applications 422, 424, 426, or third-party application 428. In accordance with the subject matter of the present disclosure, each of sensor control module 500 and remote management module 600 can provide a single unified interface as an interface for communicating with applications 422, 424, 426, or third-party application 428.

[0050] The software library 400 may have a modular architecture and may be commonly used by multiple applications 420 through a software development kit. The software library 400 may include two modules, each of which may be provided for independent use by other applications 420. The first of these modules may be a sensor control module 500. The sensor control module may communicate with the sensor assembly 300 and receive a result of a particular value from the sensor assembly 300. The sensor control module 500 may also communicate with the applications 422, 424, 426 or a third-party application 428 through a sensor control module interface (SCMI) 520.

[0051] The software library 400 may further comprise a remote management module 600, which is described further below. The remote management module 600 communicates with the applications 422, 424, 426 or third party applications 428 using a remote management module interface (RMMI) 620.

[0052] Additionally, the remote management module 600 can receive sensor data from the sensor control module 500 via the inter-module interface 450, and can also utilize the remote management module 600 to store the received data in a remote server 640 (shown in FIG. 6) for remote storage, such as cloud storage. Biosensor data can be collected and stored in an anonymous account on the cloud with a unique user ID. This unique user ID allows for user tracking and analysis in linked third-party applications. For application developers, the remote management module 600 provides a consistent user interface for user account management across a variety of different third-party applications, such as the third-party application 428. Additionally, data confidentiality protection can be incorporated into the remote management module 600 for account management purposes.

[0053] The sensor control module 500 may receive a request to activate the sensor assembly 300. The sensor control module 500 may include logic to identify the specific type of receiving device 200 making the request and may perform authentication of the receiving device 200. The authentication may use a three-pass design using multiple different keys. The keys may be associated with different roles (manufacturer, application developer, etc.). In addition, sensitive commands that may leak security information may trigger authenticated encryption using an additional set of authenticated keys. The sensor data provided to the sensor control module 500 and transmitted to the application 422, 424, 426 or a third party application is very sensitive data and there is an advantage to protecting it. At least some of the medical data about a patient is sensitive data because it can be used for various purposes such as monitoring health status and determining medication administration. As shown in the embodiments herein, the various modules and applications 422, 424, 426, and third party applications 428 can be configured to comply with security interfaces designed to protect the confidentiality, integrity, and availability ("CIA") of this communication data and associated data. To address the CIA concerns, the communication connection between the sensor assembly 300 and the sensor control module 500 can be mutually authenticated before any sensitive data is transmitted to enhance data confidentiality. The same applies to the communication between the sensor control module 500 and the applications 422, 424, 426, and third party applications 428. The communication connection can be encrypted using a unique encryption key per device or unique encryption key per session. As shown in the embodiments herein, the encryption parameters can be configured to change for each data block of the communication.

[0054] As shown in the embodiments herein, if an encrypted communication occurs between two components (e.g., between the sensor control module 500 and the sensor assembly 300) to ensure data integrity, the communication can be verified with a transmission integrity check built into the communication. As shown in the embodiments herein, the communication can be encrypted using session key information, which can be exchanged between the two devices after authentication of the two devices is completed. The encrypted communication between the sensor assembly 300 and the dedicated sensor control module 500 can be verified using an error detection or correction code. Such an error detection or correction code can include, but is not limited to, any suitable method for detecting the presence or absence of errors in a digital message, such as a non-secure error detection code, minimum distance coding, repetition code, parity bit, checksum, cyclic redundancy check, cryptographic hash function, error correction code, etc.

[0055] Additionally, the sensor control module 500 may generate state information for the receiving device 200 to remain active for as long as the receiving device 200 desires to acquire sensor data.

[0056] The sensor control module 500 may include a user interface 510. The user interface 510 may enable data sharing with an application, including providing necessary permissions to enable data sharing with the application. The user interface 510 of the sensor control module 500 may also display sensor data received from the sensor assembly 300.

[0057] The software library user interface 510 is disclosed herein as a modular user interface 510 that allows for sharing and displaying different analytes that may be measured by different sensor assemblies 300. In particular, as disclosed herein, the software library 400 and the sensor control module 500 may be utilized to develop a shared user interface for displaying sensor data from multiple sensor assemblies 300. When the user interface 510 is shared, the user interface 510 may be capable of switching between sensor data for the various sensor assemblies 300, displaying the sensor data on a single screen, and displaying the sensor data in different combinations.

[0058] Communication between the sensor control module 500 and the applications 422, 424, 426 or third party applications 428 occurs through the sensor control module interface 520. Communication between the remote management module 600 and the applications 422, 424, 426 or third party applications 428 occurs through the remote management module interface 620. Additionally, some communication may occur through an event notification or callback process. For example, when the sensor control module 500 receives a request for sensor data from a third party application 428, the request may be communicated through the sensor control module interface 520 and an event may be generated in the user interface 510 of the sensor control module 500 that initiates an authentication.

[0059] For another example, when the sensor control module 500 receives sensor data via the communication link 102, it may generate an event that notifies other modules or components in the software architecture that the sensor data is ready to be displayed on the user interface 510 of the sensor control module 500.

[0060] The system is modular in architecture utilizing software libraries 400 and sensor control module 500 to interface with applications 422, 424, 426 and third party applications 428 to enable communication with a variety of different sensor assemblies 300, including multiple sensor assemblies 300. In particular, the communication control module 540 can have specialized functionality for each sensor assembly 300 in the system and can simultaneously access, communicate with, and receive sensor data from the various sensor assemblies 300.

[0061] Alternatively, for example, a developer of the third-party application 428 may select a particular module from the software library 400 to be used to support a function within the third-party application 428. For example, a particular third-party application 428 may use sensor data as health maintenance data. Generally, health maintenance data may include any type of data related to a person's health, such as weight, heart rate, blood pressure, blood glucose level, etc. The sensor data provided by the sensor assembly may include such health maintenance data. The third-party application may access each module from the software library 400 to use the desired sensor data within the scope of the sensor data use desired by the third-party application. The software library 400 eliminates the need for the third-party application 428 to directly interface with the sensor assembly 300 to receive the sensor data. The software library 400 includes a sensor control module 500, which may receive the sensor data and provide it to each third-party application 428. It should be understood that the term "third party" may correspond to an entity other than the manufacturer of the sensor assembly 300 or the software library 400. The third party application 428 may access certain authorized data on a database 530 accessible via the sensor control module interface 520. Alternatively, the third party application 428 may have its own database (not shown) for storing sensor data received via the sensor control module 500.

[0062] In certain applications, software that operates in conjunction with a medical device, such as a sensor assembly that senses data from user interaction or health information of the user, may be regulated as medical device software. Standards related to the regulation of medical device software include ISO13485:2016 "Medical devices - Quality management systems - Requirements for regulatory purposes", ISO14971:2012 "Medical devices - Application of risk management to medical devices", and IEC62304, Ed1.1:2015 "Medical device software - Software life cycle processes" with reference to the above. Specifically, the regulations require that software that functions as a medical device (commonly referred to as a "programmed medical device") is subject to regulation by regulatory authorities such as the U.S. Food and Drug Administration. At a minimum, the regulations require the submission of an application for regulatory approval.

[0063] In the present disclosure, as the subject matter of the present disclosure, the regulated portion of the programmed medical device may be contained within the software library 400 and the sensor assembly 300. This allows the applications 422, 424, 426 or the third-party application 428 to utilize the sensor data without the need for regulatory approval or clearance. In particular, a third-party developer may develop one or more third-party health applications without being required to submit an application for clearance under the definition of a "programmed medical device" because all of the regulated functionality is contained within the software library 400. This may benefit users by allowing them to develop other uses of the sensor data that may not have been originally contemplated by the original manufacturer of the sensor assembly 300, such as developing new and different health tracking applications.

[0064] The applications 422, 424, 426 or third party applications 428 communicate with the sensor control module 500 using the sensor control module interface 520. By using the sensor control module interface 520, the applications 422, 424, 426 or third party applications 428 can receive data via the sensor control module 500.

[0065] Optionally, the sensor control module 500 may also include an alarm module (not shown) for managing alarms and notifications triggered by the sensor data. In accordance with the subject matter of the present disclosure, the alarm module may include logic for generating alarms for each type of sensor data measured by the sensor assembly 300. In particular, an alarm may be triggered when a problem occurs with the device hardware of the sensor assembly 300. Additionally, an alarm may be triggered when a user being monitored by the sensor assembly 300 exhibits a particular condition. The modular framework allows the alarm logic of the alarm module to be kept separate within the sensor control module 500.

[0066] For purposes of illustration, the alarm module is described herein as operating in conjunction with an application 422, 424, 426 or a third party application 428 and a sensor control module 500. The sensor control module 500 receives sensor data representing analyte values ​​from the sensor assembly 300. One such value may be a glucose reading. The sensor control module 500 and alarm module include threshold detection logic that can identify an alarm trigger condition based on a particular analyte value, such as a glucose reading.

[0067] During initialization, the third party application 428 or the applications 422, 424, 426 may provide as a callback function the conditions under which an alarm should be triggered. The triggers may include logic that takes into account the value and temporal relationship of the sensor data. For example, if the sensor assembly provides glucose data, a trigger value that will trigger an alarm may be set along with a temporal relationship, such as if the trigger value increases by a certain amount over a certain period of time, or if the trigger value remains above a certain value for a certain period of time. These trigger conditions may also include a rate of change as a mechanism for triggering an alarm. Incorporating an alarm module into the sensor control module 500 may further reduce the need to submit the applications 422, 424, 426 or third party application 428 for regulatory approval, since alarm conditions that require regulatory review and approval may be built into the sensor control module 500.

[0068] Sensor Control Module FIG. 5 is a block diagram illustrating an example embodiment of a sensor control module 500 within the software library 400.

[0069] In a particular embodiment, the sensor control module 500 includes a communication control module 540. The communication control module 540 includes logic for communicating with the sensor assembly 300 via the communication link 102. The communication control module 540 further includes logic for receiving sensor data and displaying the sensor data on the user interface 510. In particular, each sensor assembly 300 includes control logic for performing operations related to sensor communication, in particular proprietary operations related to sensor communication. For example, the sensor assembly 300 includes logic for receiving sensor measurements and performing complex algorithms such as data decoding and glucose calculations on the measurements, as logic provided by the manufacturer of the sensor control device. In this regard, the communication control module 540 only needs to receive the processed calculation results with data accuracy and data integrity that can protect the complex proprietary algorithms occurring in the closed sensor assembly 300. The sensor assembly 300 further includes logic for performing authentication, as logic provided by the manufacturer of the sensor control device. This allows the sensor assembly 300 to be capable of providing sensor data, which is data obtained from sensor measurements of various sensors, to the communication control module 540. By utilizing a modular framework, the communications control module 540 is provided with logic to receive data from multiple sensor assemblies 300, thereby allowing for communication from multiple sensor assemblies 300 substantially simultaneously, thereby allowing a certified third party to develop a mobile app without bearing significant responsibility to provide the same level of performance or accuracy on their own.

[0070] This further enables various third-party companies with various use cases different from those currently supported by the manufacturer to develop their own mobile applications that interface with the manufacturer's sensor assembly 300 via the software library 400 and the sensor control module 500. By utilizing the modular architecture, the third parties can implement a limited number of interface calls by simply referencing each modular component of the software library 400.

[0071] Communication with the various components within the sensor control module 500 occurs via the sensor control module's messaging channel 104. Once sensor data is received via the sensor control module's messaging channel 104, a user interface 510 can be used to display the sensor data.

[0072] The applications 422, 424, 426 or third-party applications 428 have logic to communicate with the communication control module 540 via the sensor control module interface 520. This logic operates within the framework and allows for the reception of sensor data. The applications 422, 424, 426 or third-party applications 428 request the sensor control module 500 to perform an enabling function by first starting the sensor control module 500 and then sending a request to obtain sensor data. The sensor control module 500 has a sensor control module interface 520 to ensure consistency of overlapping functionality required by the various applications 422, 424, 426 or third-party applications 428. The sensor control module interface 520 is implemented as an application program interface (API) of the underlying applications 422, 424, 426 or third-party applications 428. The sensor control module 500 also has a standard interface for common functionality, which allows the sensor control module 500 to be used to receive sensor data from multiple sensors substantially simultaneously. The software library contains logic for managing the enablement of the various applications 422, 424, 426 or third party applications 428 that are authorized to receive sensor data. The sensor control module 500 may also include logic for controlling and managing the state of the various applications 422, 424, 426 or third party applications 428 via the sensor control module interface 520.

[0073] The sensor control module 500 in the software library 400, together with the sensor assembly 300, is positioned as a programmed medical device that requires regulatory approval. By containing components that cause programmed medical device regulatory issues in the software library that communicates with the sensor assembly, there is no need to submit additional third party applications 428 for regulatory approval. This allows other application developers to build other use cases without submitting the use case of the application for regulatory review, thereby allowing sensor data to be utilized in non-regulated applications. This advantage is achieved by employing the modular logic described in the description of the software library 400.

[0074] The user interface 510 provides a unified interface for the applications 422, 424, 426 or third-party applications 428 to display received sensor data. The user interface 510 can provide consent and onboarding functionality for the applications 422, 424, 426 or third-party applications 428. Onboarding includes obtaining all consents required for a new user of the applications 422, 424, 426 or third-party applications 428 to access sensor data. The user interface 510 can also provide a readiness check functionality to determine whether the various sensor assemblies 300 are functioning properly through the communication control module 540. The user interface 510 can provide a display functionality for displaying the sensor data. The user interface 510 can be utilized in a common format between the applications 422, 424, 426 or third-party applications 428 as a user interface for any number of common functions, such as user account creation, consent for data privacy and sharing, and other similar functions. According to embodiments of the present disclosure, the sensor control module 500 can present a particular customized user interface 510 when running an application 422, 424, 426 developed by the manufacturer of the sensor assembly 300, and a completely different user interface 510 when running a third-party application 428 whose developer is different from that of the manufacturer of the sensor assembly 300. Thus, the look and feel of the user interface 510 is automatically adjusted depending on whether the application 422, 424, 426 or the third-party application 428 is requesting sensor data. Note that as disclosed herein, the sensor control module 500 can be implemented without a user interface 510 component.In this configuration, the sensor control module interface 520 functions to provide information directly to the display of the underlying application 422 , 424 , 426 or third party application 428 .

[0075] Optionally, the sensor control module 500 can include account integrity and initialization checks to allow connection to sensors and access to sensor data. Upon launch of an application 422, 424, 426 or third-party application 428, the application 422, 424, 426 or third-party application 428 requests initialization of the sensor control module 500 by providing the sensor control module 500 with identification information and authentication information that the sensor control module 500 can use to authenticate. If the integrity check cannot be passed, the sensor control module 500 does not allow the application 422, 424, 426 or third-party application 428 to operate. In the case of a third-party application 428, the remote management module 600 can be utilized to revoke or remove authorization of the third-party application 428 to the sensor control module 500 based on the manufacturer's current authorization and purpose as determined by the connectivity of the remote management module 600 and the remote server 640. The remote management module 600 may also initiate the process of revoking authorization of the third party application 428 from the sensor control module 500 to prevent further operation of the third party application 428. Upon successful initialization, the sensor control module 500 initializes the remote management module 600 by providing the remote management module 600 with the necessary identification and authentication information for authentication.

[0076] The sensor control module 500 may include protection features that verify that requests for sensor data are being made by authorized and proper applications 422, 424, 426 or third party applications 428.

[0077] The communication control module 540 can communicate with the sensor assembly 300 via the communication link 102. The sensor data received from the sensor assembly 300 is provided to other components of the sensor control module 500 using the message transmission / reception channel 104 of the sensor control module. The sensor data can also be communicated to the remote management module 600 via another inter-module interface 450 between the sensor control module 500 and the remote management module 600. The sensor data is also stored in a database 530 managed by a database manager 532.

[0078] The modular architecture of the software library 400 allows the communications control module 540 to receive data from any of the various types of sensors represented by the sensor assembly 300. This allows the system to receive sensor data substantially simultaneously. Because support for multiple different types of sensors is provided at a modular system level, in the future, as new sensors are built to track additional data, the system can be expanded by incorporating the necessary modules within the software library 400 and sensor control module 500.

[0079] The functionality of the user interface 510 is limited to displaying sensor data such as glucose values, and by maintaining this format, it is possible to uniformly display sensor data across multiple sensor readings using the user interface 510. Processing calculations are performed in the sensor assembly 300, and the communication control module 540 receives the results of the sensor data as values.

[0080] After receiving the sensor data, the communication control module 540 generates an event notification to notify each application 422, 424, 426 that the sensor data is available and accessible through the sensor control module interface 520, so that the event can be posted. The sensor data is stored in a database 530 and can be accessed directly through the sensor control module interface 520. By utilizing the sensor control module interface 520 and the user interface 510, the sensor control module 500 presents a unified interface for the various applications 422, 424, 426 or third party applications 428 to activate the sensor data and receive the sensor data results. In addition, the unified interface 510 also includes software logic to identify and register the various applications 422, 424, 426 or third party applications 428 to receive specific types of sensor data via callbacks. For example, when glucose sensor data is available, the unified interface software logic invokes a callback via the sensor control module interface 520 in an application 422, 424, 426 or third party application 428 that is authorized to receive the glucose sensor data.

[0081] The unified interface logic can use a unique identifier to identify the sensor assembly 300 for which sensor data is being requested. Although not shown, according to one aspect of an embodiment, as a first step, a unique identifier object can be created if one does not already exist. In some embodiments, for example, the unique identifier object can be a user-specific identifier object (e.g., a username, a user profile, or a user account ID). Such a user-specific identifier object can be input, generated, or aided by a software application, module, or routine within the software library 400 executing on the application 420. In other embodiments, the unique identifier object can be associated with a physical device, e.g., a particular sensor assembly 300, and can include, for example, a serial number, a media access control (MAC) address, a public key, a private key, or a similar string.

[0082] According to another aspect of the embodiment, each of the applications 422, 424, 426 or third party application 428 has parameters that can be passed to the sensor control module 500 with each call. These various structures and data types can be made available to the sensor control module 500 to assist the sensor control module 500 in accessing the sensor assembly 300 and receiving sensor data.

[0083] According to another aspect of the embodiment, the sensor control module 500 may store metadata and status information associated with the sensor assembly 300 or the application 422, 424, 426 or the third party application 428. Additionally, the sensor control module 500 may store this data in an encrypted format. Such encryption may be performed using any information useful for establishing or maintaining a connection with the sensor assembly 300, application 422, 424, 426 or the third party application 428, such as, for example, an identifier or status information related to the receiving device 200 or the sensor assembly 300. This database is an active (but not normally accessible) component within the application 422, 424, 426 or the third party application 428, and may be a separate database from the database accessible by the application 422, 424, 426 or the third party application 428. Additionally, the application 422, 424, 426 or the third party application 428 may be disabled or have its access rights removed from the sensor data.

[0084] The sensor control module 500 illustrated in the embodiments herein can identify the application 422, 424, 426 or the third party application 428 based on the tag information. The tagging information corresponding to the application 422, 424, 426 or the third party application 428 can be preloaded into the sensor control module 500 so that if a particular application of the application 422, 424, 426 or the third party application 428 requests access to the sensor data, the sensor control module 500 can identify the application.

[0085] The current framework and system may also be compatible with previous applications developed by the manufacturer of the sensor assembly 300. In particular, logic for converting sensor readings into usable data may be provided within the sensor assembly 300 or within each application 422, 424, 426. In this manner, the system may take advantage of a framework that allows previously developed applications to be integrated into the system's framework.

[0086] The sensor control module 500 also includes logic to identify whether a request for sensor data is from one of the applications 422, 424, 426 or a third party application 428. The sensor control module can also communicate information regarding the request for sensor data to the remote management module 600.

[0087] The sensor control module 500 may also have logic to receive information regarding a hardware problem with the sensor component of the sensor assembly 300. The sensor control module 500 may send a communication to the application 422, 424, 426 or the third-party application 428 to display a status message regarding the problem with the sensor assembly 300. Such a status message may alert a user via the application 422, 424, 426 or the third-party application 428 that a problem has occurred that prevents the sensor assembly 300 from providing sensor data regarding the analyte being monitored, such as a sensor that is about to expire or that has a hardware failure. The sensor control module 500 may send a communication to the operating system of the receiving device 200 while the application 422, 424, 426 or the third-party application 428 is in the background to display a notification identifying a problem with the sensor assembly 300. Such a problem may include a sensor that is about to expire or that has a hardware failure that prevents the sensor assembly 300 from providing sensor data regarding the analyte being monitored.

[0088] Applications 422, 424, 426 or third party application 428 may have a user interface (further illustrated in FIGS. 7A-7C below) that includes touch input or voice command input and serves as an interface for accepting commands from a user. These commands or inputs may include any number of different actions that may be taken on the display of sensor data, such as a user requesting a sensor reading, a user tapping on a display to obtain sensor data, acknowledging an alarm, etc.

[0089] The sensor control module 500 can be coded in a modular manner that allows the software library 400 to be upgraded to add functionality to communicate with newly developed sensor assemblies. By using variables instead of hard-coded values, the sensor control module 500 can be modified to communicate with newly developed sensor assemblies, allowing the applications 422, 424, 426 or third-party applications 428 to obtain sensor data from the newly developed sensor assemblies without submitting new or modified applications of the underlying applications for regulatory review and approval.

[0090] Remote Management Module FIG. 6 is a block diagram illustrating an exemplary embodiment of a remote management module 600.

[0091] The user interface 610 of the remote management module 600 provides a consistent interface to certain common features of the applications 422, 424, 426 or third party applications 428. As illustrated in the embodiments herein, these common features and functions may include data confidentiality, user consent, third party consent, application authentication, and other actions. The user interface 610 of the remote management module 600 provides a consistent interface to allow the various applications 422, 424, 426 or third party applications 428 to access these common features. Communication with the various software logic within the remote management module 600 may be accomplished using the remote management module's messaging channel 106. The user interface 610 also provides a consistent account management capability, allowing a user to create accounts, set passwords, and configure profile related information.

[0092] The remote management module 600 further comprises a remote control module 630 enabling communication with a remote server 640. The communication with the remote server 640 is performed wirelessly using any available communication means such as BLE or NFC communication.

[0093] In one embodiment of the system, the remote management module 600 may also provide a transport function to allow a user to back up data stored in the various applications 422, 424, 426 or third party applications 428 if the user upgrades the smartphone or receiving device 200. The remote management module 600 may also communicate with the applications 422, 424, 426 or third party applications 428 via a remote management module interface 620.

[0094] The software library 400, including the sensor control module 500 and the remote management module 600, can include multiple secure coding layers that help prevent cyber threats such as hacking, remote access, etc. For example, defenses against such threats include the use of digital certificates and profile provisioning.

[0095] The sensor control module 500 can further identify whether the request for sensor data was generated by the application 422, 424, 426 or the third-party application 428. As illustrated in the embodiment herein, the sensor control module can pass this identification information to the remote management module 600 via the inter-module interface 450, which can utilize the remote infrastructure to further customize the user interface 610 for the application 422, 424, 426 or the third-party application 428. As part of this customized user interface, a custom user authentication interface can be presented to the user of the application 422, 424, 426 or the third-party application 428. Additionally, the remote management module 600 further includes logic to revoke authentication of the application 422, 424, 426 or the third-party application 428. Specifically, removing authentication for the third-party application 428 allows the remote management module 600 to disable access by the third-party application 428, thereby improving monitoring and control over applications 422, 424, 426 or third-party application 428 accessing sensor data.

[0096] application 7A-7C are exemplary embodiments of an application that utilizes the software library 400 and the sensor control module 500. FIG.

[0097] In one example, application 420 may be an application for tracking the value of an analyte, such as lactate as shown in Figure 7A, ketones or ketone bodies (e.g., beta-hydroxybutyrate) as shown in Figure 7B, or glucose as shown in Figure 7C. The display representation may be partially derived from sensor control module interface 520 and partially based on processing within the underlying application 420.

[0098] Additionally, according to some embodiments, applications 720, 722, 724 are representative of applications 422, 424, 426 that communicate with sensor control module 500 to enable receipt of sensor data. Using sensor control module 500 and remote management module 600, a consistent user experience can be provided across different applications. Additionally, the application can further incorporate updated software library 400 as additional analyte values ​​need to be detected and sensed, without the need to develop an entire architecture for communication, account management, user privacy, and consent.

[0099] The GUI improvements in various aspects described herein and in the claims provide at least the technical effect of assisting the user of the device to operate the device more accurately, efficiently, and safely. It will be appreciated that the information provided to the user on the GUI, the order in which the information is provided, and the clarity of the organization of the information can have a significant impact on the user's interaction with the system and the way the system is operated. Thus, the GUI guides the user to perform the technical task of operating the system, thereby enabling the user to read the required measurements and obtain the required information accurately and efficiently.

[0100] Biosensor module banner As discussed above, the user interface 510 of the sensor control module 500 can include various components. As seen in FIG. 10A, the GUI 1000 can include a banner 1002 generated by the user interface 510. The banner 1002 can be incorporated into a GUI generated by a host application (e.g., application 422, 424, 426 or third party application 428). The banner 1002 generated by the user interface 510 can show different interfaces depending on the host application in which the banner 1002 is incorporated. The banner 1002 can include real-time concentration values ​​1004, trend information 1006, biosensor status 1008, information about the biosensor status 1010, and additional indications of the biosensor status 1012. In some embodiments, the real-time concentration values ​​1004 are updated, displayed, or updated and displayed on a one-minute or five-minute basis. In some embodiments, the trend information 1006 is a trend arrow. In some embodiments, the biosensor status 1008 can be an icon or a text description. Additionally, the banner 1002 may be displayed in different parts of the GUI depending on the application 422 , 424 , 426 or third party application 428 that is hosted.

[0101] The banner 1002 may be a selectable button. In some embodiments, the banner 1002 may be the only means of initiating biosensor setup within the host application. Additionally, in some embodiments, the biosensor setup GUI may be provided solely by the biosensor module or may be subject to approval by the biosensor module software owner. In some embodiments, the banner 1002 may be the only means of accessing the biosensor GUI. Without limitation, the biosensor GUI may include biosensor status, biosensor errors, biosensor messages, and biosensor life.

[0102] The banner 1002, or elements within the banner 1002, may be selectably configured to link to other GUIs with additional information regarding the biosensor, or the entire banner may be a selectable button. For example, if the host application is a glucose health maintenance application, the banner 1002 may include a real-time concentration value 1004, a status icon 1008, and information regarding the status of the biosensor 1010. Additionally, the real-time concentration value 1004 may be located in a different portion of the GUI (e.g., as part of an analyte graph) than the other banner elements. As another example, if the host application is an application for monitoring ketone levels, for example in connection with a ketogenic diet, the banner may include a real-time ketone concentration value 1004 reported in mmol / L, a trend arrow 1006, a status icon 1008, information regarding the status of the biosensor 1010, and an additional indication of the status of the biosensor 1012 (e.g., "biosensor ready").

[0103] A variety of different status icons 1008 and information 1010 regarding the status of the biosensor may be displayed. In some embodiments, a status icon 1008 including a circle of dots (which may be animated or not) may be displayed next to status information 1010 indicating that the biosensor is not connected or not ready. In some embodiments, the status icon 1008 may include a triangle with an exclamation or question mark to indicate that the sensor has an error or is searching for a signal. For example, the status information 1010 may indicate that the biosensor will be ready within a certain time, such as "Ready in 30 mins" or "Getting Ready". In some embodiments, the status information 1010 may display "Searching" to indicate that the application is attempting to connect to the biosensor. The status information may also indicate whether the sensor is connected, if the sensor's lifespan has expired, if the sensor is too hot or too cold. The status icon may also be a circle (possibly animated) that is displayed next to the status information 1010 indicating that the biosensor is "Live". The circle of the status icon may be animated such that if a biosensor with a total life of X days has Y days remaining, the color indication of the circumference may be a different color (e.g., blue) by Y / X*100% of the circumference of the circle graphic. For example, if a biosensor with a total life of 14 days has 12 days remaining, approximately 85.7% of the circumference of the status icon circle may be blue. The color of the status icon may also vary depending on the remaining time of the biosensor life. The color of the status icon may be a first color (e.g., blue) if the biosensor has at least 50% remaining life, or at least 40% remaining life, or at least 30% remaining life, or at least 25% remaining life, or at least 20% remaining life.The status icon may then change color to a second color (e.g., orange) when the biosensor has less than 50%, 40%, 30%, 25%, or 20% remaining life, and in some embodiments, the status icon may change color to a third color (e.g., red) when the biosensor has less than 25%, 20%, 10%, or 5% remaining life.

[0104] In some embodiments, the biosensor status may display "SEE DETAILS" to indicate a problem with the biosensor. In some embodiments, the biosensor status may display "START NEW SESSION" to indicate a problem with the biosensor or that a previous biosensor has finished. Tapping or selecting "PAIR" may cause a pop-up window to appear instructing the user to hold the reading device (e.g., a mobile phone) in close proximity to the biosensor. The mobile phone may also vibrate upon a successful biosensor scan.

[0105] As shown in FIG. 10B, in some embodiments, a pop-up screen 1016 may also be displayed on the GUI 1000. The pop-up screen 1016 may convey a message regarding the start-up of the biosensor. The pop-up screen 1016 may indicate the time remaining (e.g., in hours, minutes, or hours and minutes) until the biosensor is ready. For example, the pop-up screen may indicate "Preparing biosensor... Time remaining: 55 minutes." In other embodiments, if the reading device, such as a smartphone, is locked, a notification indicating that the biosensor is ready may also be displayed on the lock screen.

[0106] In some embodiments, the banner 1002 is the primary display of the biosensor status. In some embodiments, the banner 1002 is the only display of the biosensor status in the host application. The banner can display biosensor errors and life counter values. In some embodiments, as shown in FIG. 10A, a status icon 1008 including a circle with a progress indicator in color can be displayed next to status information 1010 indicating that the biosensor is connected and working properly. For example, the status information 1010 may display "LIVE." In some embodiments, the progress indicator of the circle with a progress indicator 1008 can be colored, and the colored portion can be proportional to the remaining sensor life of the current biosensor. In some embodiments, the color of the progress indicator can be changed depending on the remaining amount of sensor life. For example, if the sensor has at least about 50% remaining life, or at least about 40% remaining life, or at least about 30% remaining life, or at least about 25% remaining life, or at least about 20% remaining life, or at least about 10% remaining life, the progress indicator can be blue. In some embodiments, the color of the progress indicator may be a different color (e.g., orange or red) when the sensor's remaining life falls below a certain amount. For example, the color of the progress indicator may be orange when the sensor's remaining life is less than about 50%, or less than about 40%, or less than about 30%, or less than about 20%, or less than about 10%, or less than about 5%.

[0107] In some embodiments, the status information 1010 may display a phrase such as "Learn more" to indicate that the user needs to know more about the status of the biosensor. Selecting a portion of the banner such as "Learn more" may display one of a number of explanations indicating that the biosensor may have an error or problem. In some embodiments, if there is a problem with the biosensor and the status information 1010 displays "Learn more," the real-time concentration value 1004 may not be displayed. In some embodiments, multiple dashes or dots (e.g., two dashes) may be displayed in place of the real-time concentration value 1004, which is the analyte concentration value measured by the biosensor.

[0108] In some embodiments, the banner 1002 can include real-time concentration values ​​1004, an icon 1008 indicating the status of the biosensor, and information 1010 regarding the status of the biosensor. The real-time analyte concentration values ​​1004 can also be a GUI that is located in a different portion of the banner 1002 than other components. For example, the real-time analyte concentration values ​​1004 can be located in a graph that is part of a GUI generated by the host application. The graph can be a graph that includes an analyte curve and a mark indicating the current analyte concentration, and the real-time analyte concentration values ​​can be located above the mark. In other embodiments, the real-time analyte concentration values ​​can be included in a statement regarding the user's analyte concentration. For example, such statement can be located above the graph.

[0109] In some embodiments, the banner 1002 may include real-time concentration values ​​1004, an icon 1008 indicating the status of the biosensor, and information 1010 regarding the status of the biosensor. The real-time analyte concentration values ​​may be placed within a graphic element provided by the host application. The graphic element may be a shape such as a colored circle. As described elsewhere herein, if the analyte value is within the target range, the color of the graphic element may be a first color (e.g., green). If the analyte value is outside the target range, the color of the graphic element may be a second color (e.g., orange). The color of the graphic element may be the same color as the analyte curve of the analyte graph.

[0110] In some embodiments, the banner 1002 may be the only visual display of the real-time biosensor value (i.e., real-time analyte value) in the host application. The real-time analyte value may be displayed or updated every minute, or every two minutes, or every five minutes, or every thirty seconds. In some embodiments, the banner 1002 may or should only be placed in the host application GUI where the real-time analyte value is displayed. In some embodiments, the banner 1002 may or should only be placed in locations where a value or calculation is displayed and updated in real-time.

[0111] set up Initiating the setup may display a series of GUIs to assist the user in placing the biosensor on the skin surface and pairing the biosensor with the application. In some embodiments, the setup GUI may be launched simply by selecting a banner. In other embodiments, the setup GUI may be opened by a setup button or a settings link or button.

[0112] The application can present a number of GUIs that explain how to apply the biosensor. It can also display a GUI showing what is inside the box, with an image and a description that the box contains a biosensor pack and a biosensor applicator. It can also display a GUI that instructs the user to select a site on the back of the upper arm away from scars, moles, stretch marks, and lumps. This GUI can be accompanied by an image that prominently displays the appropriate site on the upper arm for the biosensor. It can also display a GUI that instructs the user to wash the selected site with regular soap, wipe with alcohol, and dry it.

[0113] The application can present a GUI that explains how to prepare the biosensor pack and applicator. The GUI can include an image showing how to open the pack as well as text instructing the user to completely peel the lid off the biosensor pack and twist the cap off the biosensor applicator. The application can then display a GUI with an image of a person loading a biosensor into the applicator with instructions to align the dark markings on the biosensor applicator with the dark markings on the biosensor pack and press the biosensor applicator firmly down onto a hard, flat surface until it stops. The application can then display a GUI instructing the user to lift the biosensor applicator off the biosensor pack and informing the user that the biosensor applicator is ready to accept a biosensor. The GUI can include a warning that the biosensor applicator in this state contains a needle and the user should not touch the inside of the biosensor applicator or place it back into the biosensor pack.

[0114] The application can then display a GUI that explains how to place the biosensor on the user's body. As shown in GUI 3200 in FIG. 23A, the introductory GUI 3200 can include a graphic 3202 of the biosensor with introductory text 3204 that guides the user to begin the setup to pair the biosensor. The user can then begin the setup process by tapping or selecting a start setup button 3206.

[0115] As shown in GUI 3210 of FIG. 23B, the "Set Up Biosensor" GUI 3210 can include a graphic or image 3212 showing a person placing an applicator on the body (e.g., the back of the upper arm). GUI 3210 can also include text 3214 that describes how to apply the biosensor. Text 3214 can instruct the user to place the biosensor applicator on the site and press firmly until the biosensor is applied. Text 3214 can then instruct the user to gently pull the biosensor applicator away from the body. Text 3214 can also remind the user not to press down on the biosensor applicator until it is against the application site to prevent unexpected results or injury. Once the biosensor is applied, the user can tap the arrow button to proceed to GUI 3220.

[0116] The application may also present a GUI that instructs the user to make sure the biosensor is securely attached by trying to press down on the adhesive.

[0117] As shown in GUI 3220 of FIG. 23C, the next "Set Up Biosensor" GUI 3220 may show a graphic or image 3222 of a person pairing the biosensor to a reading device (e.g., a smartphone) by holding the device in close proximity to the worn biosensor. Text 3224 may instruct the user to tap a start pairing button 3226 to pair the biosensor. A pop-up window may also be displayed instructing the user to hold the reading device (e.g., a mobile phone) in close proximity to the biosensor. The phone may also vibrate upon a successful scan of the biosensor.

[0118] Once the biosensor pairing is complete, as described in the discussion of FIG. 13D, a GUI 3230 may be displayed that indicates the time remaining until the biosensor is ready, as shown in FIG. 23D. The GUI 3230 may include a graphic 3232 that highlights the time remaining until the biosensor is active. The graphic 3232 may include a circle of dots that radiate outward, which may be animated. Alternatively, the graphic 3232 may include a progress indicator. The progress indicator may be a bar with colored segments or a circle with colored segments that extend around the circumference, where the colored segments are proportional to the amount of time remaining until the sensor is active. For example, the circle may have a circumference of 60 minutes, and the colored segments may be proportional to the amount of time remaining until the sensor is active (less than an hour). Alternatively, the graphic 3232 may be animated, changing color around the circumference as the remaining time decreases. The GUI 3230 may also include an indication 3236 of the number of minutes remaining until the biosensor is activated (e.g., "55:10" if 55 minutes and 10 seconds remain until the sensor is ready or activated). Alternatively, in some embodiments, the message "Getting Ready...Time Left: 55 minutes" may be displayed inside the circle or below the graphic 3236, and the colored circumference may be animated to change color periodically as the time remaining until the biosensor is activated decreases. The GUI may also include multiple selectable links that the user may select to display additional information to the user, such as instructions for replacing the biosensor, support, application details, ordering a biosensor, etc., as described elsewhere herein.

[0119] The GUI 3230 may also include a legend or message 3234 informing the user that the biosensor is currently acquiring user information and that real-time analyte values ​​will be available within the time indicated by the display 3236. In some embodiments, each element of the GUI 3230 may be provided by the biosensor module. For example, the graphic 3232 including the progress indicator and the display 3236 of the time remaining until the biosensor is active may be provided by the biosensor module. When the user clicks "OK", the GUI 3230 collapses and the home screen with the banner is visible to the user. As shown in FIG. 10A, the banner 1002 may display an icon 1008 indicating the status of the biosensor along with information 1010 regarding the status of the biosensor. In some embodiments, the icon 1008 may also include a progress indicator indicating the time remaining until the biosensor is ready, similar to the progress indicator described in the description of the graphic 3232. The icon 1008 may also include a graphic highlighting the time remaining until the biosensor is active. The graphic may include a circle of radiating dots, which may be animated. Alternatively, the icon 1008 may include a progress indicator. The progress indicator may be a bar with colored segments or a circle with colored segments extending around the circumference, where the colored segments are proportional to the amount of time remaining until the sensor is activated. For example, the circumference of the circle may be 60 minutes, and the colored segments may be proportional to the amount of time remaining until the sensor is activated (less than an hour). The information 1010 may include text indicating that the biosensor is "Preparing...Time Remaining: XX" (XX may be expressed in minutes and seconds). For example, if the biosensor is to start in 55 minutes and 10 seconds, the banner 1002 may display "Preparing...Time Remaining: 55:10".

[0120] System Messages If there is a problem with the biosensor, a system message may be displayed regarding the status of the biosensor. The system message may be displayed in a pop-up window or an alert notification, or alternatively, in some embodiments, the system message may be displayed after the user selects "View Details."

[0121] In some embodiments, the detailed message 1210 may include a "Pairing Error" message to indicate that pairing was unsuccessful. Additionally, the ketone application may recommend that you try pairing the biosensor again.

[0122] As shown in FIG. 12A, the user interface 510 of the sensor control module 500 can be configured to display one of several messages in the GUI 1200 when the user selects "View Details." The message can include a details message 1210, a serial number 1106 of the current biosensor, and several selectable links 1110, 1112, 1114, 1116 that, when selected by the user, can display additional information to the user, such as how to replace the biosensor, support, application details, sensor details, etc., as described elsewhere. In some embodiments, the details message 1210 can be presented within a circular graphic that includes a progress indicator that visually indicates the remaining life of the current biosensor. As described in the discussion of other embodiments, the graphic can be circular and the progress indicator can be differently colored portions of the circumference. The progress indicator can be proportional to the remaining sensor life of the current biosensor. Also, as described in the discussion of other embodiments, the color of the progress indicator can change depending on the amount of sensor life remaining.

[0123] In some embodiments, if there is a problem with the biosensor, the banner 1002 may display multiple dashes or dots (e.g., two dashes) instead of the analyte concentration value or analyte value 1004 measured by the biosensor. If the banner 1002 does not display the real-time analyte concentration or value, for example if multiple dashes or dots are displayed, then when the user taps on the banner 1002, one of multiple system messages regarding the biosensor problem may be displayed. When the user taps or selects the banner, a detailed message GUI may be displayed that provides additional information regarding the status of the biosensor.

[0124] In some embodiments, the detailed message 1210 may include a "Check Biosensor" message indicating that the biosensor may not be properly attached to the user. The detailed message 1210 may further include instructions indicating that the user should attach and pair a new biosensor if the biosensor is not securely attached to the user's skin. The detailed message 1210 may also include instructions indicating that the user should reattempt to pair the biosensor if the biosensor is properly attached. Optionally, the detailed message 1210 may also include a selectable "Pair" or "Pair Biosensor" button that, when selected, may display a GUI to assist the user in initiating the pairing process.

[0125] In some embodiments, the detailed message 1210 may include a "Signal Loss" message that alerts the user to keep the cell phone within range of the biosensor at all times, and may also instruct the user to try turning "BLUETOOTH" off and on on the cell phone or rebooting the cell phone if that does not resolve the issue.

[0126] In some embodiments, the detailed message 1210 may also be a message related to the temperature of the biosensor. In some embodiments, the detailed message 1210 may include a "Biosensor Too Hot" message to inform the user that the biosensor became too hot to obtain a reading from the biosensor. Additionally, the detailed message 1210 may request the user to check again in a few minutes. In some embodiments, the detailed message 1210 may include a "Biosensor Too Cold" message to inform the user that the biosensor became too cold to obtain a reading from the biosensor. Additionally, the detailed message 1210 may request the user to check again in a few minutes.

[0127] In some embodiments, the details message 1210 may include a "Biosensor Error" message informing the user that a biosensor reading could not be obtained, and may also prompt the user to check again after a period of time, such as 5 minutes, 10 minutes, or 30 minutes.

[0128] In some embodiments, if the signal from the biosensor is suddenly lost, the biosensor state can immediately switch to "SEARCHING" and selecting or tapping on the "SEARCHING" indication can display a detailed message 1210 encouraging the user to keep the mobile phone within range of the biosensor at all times. If this does not resolve the issue, the application can also advise the user to try turning "BLUETOOTH" off and on on the mobile phone or rebooting the mobile phone.

[0129] In some embodiments, the details message 1210 may include a "Biosensor Incompatible" message informing the user that the biosensor cannot be used with this version of the application, and may recommend removing the biosensor and pairing it with a new one.

[0130] In some embodiments, the detail message 1210 may include a "Biosensor Ended" message that informs the user that the biosensor is finished and instructs the user to pair with a new biosensor.

[0131] In some embodiments, the details message 1210 may include a "Biosensor already in use" message informing the user that the biosensor cannot be used because it is already in a paired state, and may also instruct the user to remove the biosensor and pair it with a new one.

[0132] In some embodiments, the details message 1210 can also include a "Current Biosensor" message. This message can be displayed in a different color than messages indicating problems or errors, and can indicate that the biosensor the user is pairing with is the one the user is currently using, and that ketone readings will soon be automatically received in real time directly to their device. The message can also include a different icon, such as a check mark.

[0133] In some embodiments, the detailed message 1210 may include a "ENABLE BLUETOOTH" message requesting the user to turn on "BLUETOOTH." Additionally, the detailed message 1210 may explain that "BLUETOOTH" is required to receive biosensor readings.

[0134] In some embodiments, the details message 1210 may include "Replace Biosensor" or "Start a New Biosensor" to inform the user that the biosensor is not working. Additionally, the details message 1210 may request that the biosensor be removed or replaced and paired with a new one.

[0135] 12B, a pop-up window 1220 may be displayed to include a detail message in the pop-up window 1220. The content of the detail message in the pop-up window 1220 may be the same or substantially the same as that described above in the description of the multiple detail messages 1210 that may be displayed in the GUI 1200.

[0136] The biosensor module can also create and store an error log.

[0137] "Biosensor module details" GUI The user interface 510 of the sensor control module 500 can be configured to output a “Biosensor Module Details” GUI 1100 as shown in FIG. 11A when the user selects or clicks on the banner 1002 or on any element in the banner 1002. The “Biosensor Module Details” GUI 1100 can include a detailed description of the biosensor status, an indication of the biosensor life (e.g., remaining biosensor life), biosensor identification information, links to settings, and a label and link to supporting information for the biosensor. The “Biosensor Module Details” GUI 1100 can include a graphic 1102 that includes a progress indicator that visually indicates the current biosensor remaining life. In some embodiments, the graphic 1102 can be circular and the progress indicator can be different colored circumferential segments. The progress indicator can be proportional to the remaining sensor life length of the current biosensor. For example, if a biosensor with a total lifespan of X days has a remaining lifespan of Y days, then the circumferential color indication of Y / X*100% of the circumference of the circular graphic 1102 will be a different color (e.g., blue). For example, if a biosensor with a total lifespan of 14 days has a remaining lifespan of 12 days, then approximately 85.7% of the circumferential color indication of the circle 1102 will be blue.

[0138] In some embodiments, the color of the progress indicator may vary depending on the amount of sensor life remaining. For example, the color of the progress indicator may be blue when the sensor has at least about 50% remaining life, or at least about 40% remaining life, or at least about 30% remaining life, or at least about 25% remaining life, or at least about 20% remaining life, or at least about 10% remaining life. In some embodiments, the color of the progress indicator may be a different color (e.g., orange or red) when the sensor has less than a certain amount of remaining life. For example, the color of the progress indicator may be orange when the sensor has less than about 50% remaining life, or less than about 40% remaining life, or less than about 30% remaining life, or less than about 20% remaining life, or less than about 10% remaining life, or less than about 5% remaining life.

[0139] The GUI 1100 may also include a real-time display 1104 of the remaining biosensor life. For example, in the above example, "12 days" may be displayed in the center of the circular graphic 1102. The real-time display 1104 may also be proportional to the progress display of the graphic 1102. The real-time display 1104 may display the remaining biosensor life in days when the remaining biosensor life is greater than about 1 day or greater than about 23 hours and 59 minutes. The real-time display 1104 may display the remaining biosensor life in hours when the remaining biosensor life falls below about 24 hours. In some embodiments, the progress display may switch color (e.g., from blue, green, orange, red) when the remaining biosensor life falls below about 24 hours. The real-time display 1104 may display the remaining biosensor life in minutes when the remaining biosensor life falls below about 1 hour or below about 61 minutes. The GUI may also include an additional message 1105 that the biosensor life is "Ending Soon."

[0140] The GUI 1100 may assist a user in contacting customer service for assistance by displaying the serial number 1106 of the current biosensor. As shown in FIG. 11B, when the user selects the serial number 1106, a pop-up screen 1120 or a new full-screen GUI may be displayed that includes additional details about the biosensor. The pop-up screen 1120 may include the current biosensor serial number 1106 and the current biosensor status 1122. The pop-up screen 1120 may also include a list of past biosensors 1124, 1126, 1128. The list of past biosensors may include dates 1124a, 1126a, 1128a associated with each of the past biosensors (e.g., the date the biosensor was activated or the date the biosensor was unlinked), along with the serial number and status 1124b, 1126b, 1128b of the past biosensor. In some embodiments, information such as serial numbers of current and past biosensors may be copied to assist the user in communicating this information as needed (e.g., to an HCP, customer support, etc.) If the current biosensor session has ended, the GUI 1120 may only display a list of past biosensors.

[0141] The GUI 1100 may also include multiple selectable links 1110, 1112, 1114, 1116 that, when selected by a user, may display additional information about how to install the biosensor, options for purchasing additional biosensors, instructions for use, how to replace the biosensor, support, application details, biosensor details, etc.

[0142] support When the user taps or selects the link to "Support," a GUI may be displayed that includes a "Help and Learning" section, an "About" section, and a "Customer Care" section that includes more information on how to contact the helpline. The "Help and Learning" section may include links to "FAQs," "Understanding Ketone Readings," and "App Tutorial." The "About" section may include links to "Biosensor IDs," "Error History," and "App and Biosensor information." As described elsewhere, the "Biosensor IDs" link may display a GUI that shows the serial number of the current biosensor alongside a list of past biosensors. The list of past biosensors may include a date associated with each past biosensor (e.g., the date the biosensor was activated or the date the biosensor was unlinked), along with the serial number of the past biosensor and the status of the biosensor. The "Error History" link takes you to a GUI that lists for each error the error code, a brief description, and the date and time the error occurred. The "App and Biosensor Information" link takes you to a GUI that lists the application name, full software version, SDK version, OS version, smartphone model, country, and reference number.

[0143] notification In some embodiments, the biosensor module can provide in-app notifications to alert the user to the status of the biosensor. The in-app notifications can also alert the user to actions that can be taken in relation to the biosensor. The biosensor module can function to assist the host application in displaying operating system based notifications related to the status of the biosensor (e.g., a notification informing the user that the biosensor has finished). If the host application is in the foreground, the in-app notifications can be displayed in a pop-up notification. In some embodiments, the biosensor module can provide in-app notifications issued by third party applications related to the status of the biosensor.

[0144] As described elsewhere herein, the notification may be about the status of the biosensor. The notification may be about enabling "BLUETOOTH" and may alert the user that "BLUETOOTH" is required to receive biosensor readings and may request the user to turn on "BLUETOOTH" now. The notification may be about checking the biosensor and may alert the user that the biosensor is not properly installed. The notification may be about replacing the biosensor and may alert the user that the biosensor is not working and may instruct the user to remove the biosensor and pair a new one. The notification may be about the end of a biosensor session and may alert the user that the biosensor session has ended and it is time to pair a new biosensor to continue working on their ketone levels. The notification may be about the biosensor being ready and may indicate that biosensor data is being received and will be automatically displayed in due course. The notification may also prompt the user to explore within the ketogenic diet application. The notification may also be about the biosensor expiring in a certain time (hours) and may request the user to purchase a new biosensor and replace the current biosensor immediately. The time remaining until the biosensor expires may be 24 hours, 12 hours, 6 hours, 1 hour, or 30 minutes. The notification may also indicate that the biosensor has lost signal and the user's mobile phone is out of range of the biosensor. The notification may also be about the biosensor getting too hot and no readings could be obtained from the biosensor and may request the user to check again in a few minutes.The notification may also be about a biosensor being too cold to get a reading from the biosensor and asking the user to check again in a few minutes, or about a biosensor error, informing the user that a biosensor reading could not be obtained and asking the user to check again in 10 minutes.

[0145] End Biosensor / End Session When a biosensor session ends and it is time to replace the biosensor, the sensor control module 500 can provide a variety of ways to remind the user to pair a new biosensor. As shown in Figures 10A and 10B, in some embodiments, an icon 1008 and a status information message 1010 can be displayed to remind the user to switch to a new biosensor. The icon 1008 for the new biosensor can be different from the other icons used for the biosensor status, and can be an icon that resembles a full moon, a light bulb, etc. The information message can be a message instructing the user to "start a new session."

[0146] In some embodiments, in addition to the status information message 1010, or in response to or instead of the selection of the banner 1002, a pop-up window 1016 may be displayed. The pop-up window 1016 may remind the user that the biosensor session has ended and that a new biosensor needs to be paired. In some embodiments, if the biosensor has a 14-day life span, the pop-up window 1016 may be displayed when the user has just completed a 14-day session, indicating that the biosensor session has ended. The pop-up window 1016 may also remind the user that it is time to replace the biosensor by pairing a new biosensor. As described elsewhere in this application, the pop-up window 1016 may also include a selectable button, a "Pair" or "Pair Biosensor" button, which, when selected, may display a GUI to assist the user in starting the pairing process. In some embodiments, the pop-up window 1016 may include a "Wear session completed" message, and may include instructions for the user to continue learning their ketone levels by pairing a new biosensor and a link to initiate biosensor pairing. The pop-up window 1016 may also include a link to instructions on how to wear the biosensor, a link to a website where the user can purchase the biosensor, or both.

[0147] As shown in FIG. 10B, in some embodiments, a pop-up window 1016 may be displayed when the user returns to the host application without setting up a new sensor. In some embodiments, the pop-up window 1016 may welcome the user back to the application. The pop-up window 1016 may also remind the user to pair a new biosensor. The pop-up window 1016 may include a selectable button, "Pair" or "Pair Biosensor," which, when selected, may display a GUI to assist the user in beginning the pairing process. The pop-up window 1016 may also include a link to instructions on how to wear the biosensor, a link to a website where the user can purchase the biosensor, or both. A notification may be displayed on the device (e.g., on the lock screen) when the user is not viewing the ketone application, or when the ketone application is running in the background, or when the ketone application is closed. In some embodiments, the notification may indicate, "Your session is completed!" and encourage the user to pair a new biosensor to continue their journey to knowing their body.

[0148] 11A and 11B, the "Biosensor Module Details" GUI 1100 may also display a message associated with the graphic 1102 to remind the user to start a new biosensor. The message may also advise the user to remove the biosensor and pair with a new biosensor. The GUI 1100 may also include a selectable button "Pair" or "Pair Biosensor" button that, when selected, may display a GUI to assist the user in starting the pairing process. In some embodiments, after the user selects the "Pair" or "Pair Biosensor" button, a pop-up window 1120 may be displayed with a reminder that the new biosensor is ready to be scanned. The pop-up window 1120 may include a graphic showing a mobile phone or reading device and may also include instructions to remind the user to hold the top of the phone very close to the biosensor. A pop-up window 1120 may also remind the user that if the biosensor scan is successful, the user will be notified by, for example, vibrating the mobile phone (eg, making a sound).

[0149] As mentioned in the discussion of other GUIs (e.g., the "Details" GUI), the application can also display a link to "how to replace your biosensor" that may be useful to new users. If the user selects the "how to replace your biosensor" link, a GUI is displayed with the options to (1) remove the biosensor or (2) insert a new biosensor. This GUI can also include an option to replace the sensor before the current biosensor expires.

[0150] If the user wishes to remove the biosensor, a GUI may be displayed that includes a warning that the removed biosensor cannot be replaced. Once the biosensor is removed, the user must switch to a new biosensor. The GUI may also include instructions to pull up on the adhesive edge that holds the biosensor to the user's skin and slowly peel it off the skin in one motion, and instructions that any residue left on the skin can be removed with warm soapy water or isopropyl alcohol. The GUI may also include instructions instructing the user to dispose of the used biosensor according to local regulations. In addition, an "Apply New Biosensor" link may be displayed and the user may be instructed to follow the instructions in this link when they are ready to apply the new biosensor. Selecting or tapping the "Apply New Biosensor" link may then display the GUIs described in the "Setup" section.

[0151] If the user chooses to replace the sensor before the biosensor has finished, a popup window can be displayed asking if they want to end the biosensor early. If the user taps "END BIOSENSOR", the current biosensor will be terminated and the user will have to remove the current biosensor and insert a new biosensor. The popup can also include a warning that this action cannot be undone. If the user selects the link to end the biosensor, the application can display a GUI related to replacing the biosensor as described elsewhere.

[0152] Additionally, once the first biosensor has finished, a pop-up can be displayed prompting the user to evaluate the ketone application.

[0153] Replacement of biosensor due to sensor error If the biosensor needs replacing, the application may display a pop-up or alert notification to that effect. The pop-up or alert notification may include a warning icon (e.g., an orange triangle with an exclamation point) to warn that the biosensor is not working and to instruct the user to replace the biosensor and pair a new biosensor. The pop-up may also include a selectable link to "Perform Pairing" or "Perform Biosensor Pairing" and instructions on how to replace the biosensor. The live display may also include an indication that the biosensor is not working properly. Instead of displaying the current ketone value, the banner may display dashes (e.g., "--") in place of the value and text information that reads "Learn More." When the user taps anywhere on the banner, a "Details" GUI, as described elsewhere, may be displayed with a message to replace the biosensor. The "Details" GUI, as described elsewhere, may include links to additional information. For example, the "Details" GUI may include links to information on how to replace the biosensor, ordering the biosensor, support, and the ketone application.

[0154] Communication between sensors and applications FIG. 8 illustrates an exemplary method for communicating sensor data from a sensor to a third party application 428. At the outset, one skilled in the art will appreciate that any or all of the method steps and / or routines described herein may include instructions (e.g., software, firmware, etc.) stored in non-volatile memory of a sensor control device, a remote device (e.g., smartphone, reader), and / or any other computing device that is part of or in communication with the analyte monitoring system. Furthermore, the instructions, when executed by one or more processors of each such computing device, may cause the one or more processors to perform one or more of the method steps described herein. The computing device may be a receiving device 200. Additionally, while one or more of the method steps and / or routines described herein may be comprised of software and / or firmware stored on a single computing device, one skilled in the art will appreciate that in certain embodiments, the software and / or firmware may be distributed across multiple homogeneous or heterogeneous computing devices or software modules.

[0155] According to one aspect of the embodiment, the method 800 can assist the application 422, 424, 426 or the third party application 428 to receive sensor data for use within the application. At step 810, the third party application 428 sends a request for sensor data within the system. The request is sent to the sensor control module 500 via the sensor control module interface 520, which communicates with the sensor assembly 300 using the communication control module 540. At step 820, the sensor control module 500 verifies the authenticity and session integrity of the third party application 428. Additionally, the sensor control module 500 can communicate with the remote management module 600, which assists with user authentication, to obtain content specific information for the third party application 428. These modules can be provided within the software library 400, allowing the developer of the third party application 428 to integrate these modules as a framework within the system of the third party application 428. At step 830, the sensor control module 500 can use logic to identify the type of third party application and the desired sensor data.

[0156] At step 840, the sensor control module 500 may issue a request for sensor data from the sensor assembly. Alternatively, the sensor control module 500 may receive the sensor data based on a predetermined transmission rate (e.g., every 30 seconds, every minute, every 5 minutes, etc.). According to some embodiments, the sensor data may include data indicative of an analyte value, such as, for example, a glucose value, a glucose rate of change, a glucose trend, or a glucose alarm condition. At step 850, the sensor data is delivered over the communication link 102 for storage in the database 530 of the sensor control module 500 and displayed on the user interface 510 at step 860 as shown.

[0157] The sensor control module 500 includes a database 530 that can store individual sensor data for each value generated by the various sensor assemblies 300. The sensor data is stored in one or more databases 530 for each of the various sensors included in the sensor assembly 300, and the database manager 532 can control the one or more databases 530. The sensor data can also be stored together in one database 530. Note that the illustrated database 530 is for illustrative purposes and not for limiting purposes. The database 530 of the sensor control module 500 can also include a separate dedicated database for storing alarm conditions for each alarm and the alarm results or alarm notifications triggered thereby.

[0158] The user interface 510 may also be utilized to generate alarm notifications to the user for alarms triggered based on the sensor data or based on the state of the sensor assembly 300. The sensor control module 500 may also need to alert the user as to the presence or absence of an alarm. This communication is made by the user interface 510 via the sensor control module interface 520.

[0159] It is further within the subject matter of this disclosure that the remote management module 600 may store alarm notifications and events of the applications 422, 424, 426 or third party applications 428 in a remote server 640 as a backup. This allows alarm events to be generated for the applications 422, 424, 426 or third party applications 428 that may be stored outside of the module that requires regulatory review and approval. In this manner, alarm events may be used by various applications developed to monitor the health and wellness of a user for wellness purposes that do not require regulatory approval. The applications 422, 424, 426 or third party applications 428 may also store sensor data, alarm conditions, or notifications in their own databases or shared databases separate from the database 530 in the sensor control module 500.

[0160] One advantage of using the software library 400 and sensor control module 500 in a modular manner as disclosed herein is that it allows users and application developers to discover and develop a variety of health-related applications for the sensor data. This allows users who have not previously tracked analytes, such as glucose monitoring, to consider adding such tracking applications for health and wellness purposes, such as non-regulated uses such as food tracking and customizable diabetes management. With the modular sensor control module 500, the third party application 428 can utilize the sensor data in any non-regulated manner without going through a regulatory approval process. This allows the manufacturer to expand the user base of the sensor assembly 300 by providing more functionality to users who are considering using the manufacturer's sensors. These capabilities can be implemented and improved in the third party application 428 without the need to submit modifications and improvements for regulatory review and approval, which also shows how the present disclosure enhances the user's health and wellness efforts.

[0161] This also allows for the software library to be expanded to collect and provide sensor data for sensors that are yet to be developed using the sensor control module 500. The modular approach disclosed herein reduces the need to rewrite common functions and methods for reading data from various existing and newly developed sensors, minimizes the cost of introducing new sensors, and expands the functionality and options for utilizing the sensor data in health and fitness applications. The system is scalable, so the entire system can be expanded for future generations of sensor assemblies 300 and applications of the sensor data to further health and fitness use cases. The modular approach allows the third party application 428 to take a mix and match approach to build or extend the underlying third party application 428 and to extend the functionality provided by the third party application 428. The third party application 428 can select which analytes to monitor and incorporate into the health and fitness program based on the sensor data.

[0162] Additionally, in step 870, the sensor control module may issue an event notification to the third party application 428 indicating that sensor data is available. Additionally, the sensor control module interface 520 may be utilized to transmit the sensor data.

[0163] FIG. 9 illustrates an exemplary method of communicating sensor data from a sensor to a third party application 428. At the outset, one skilled in the art will appreciate that any or all of the method steps and / or routines described herein may include instructions (e.g., software, firmware, etc.) stored in non-volatile memory of a sensor control device, a remote device (e.g., smartphone, reader), and / or any other computing device that is part of or in communication with the analyte monitoring system. Furthermore, the instructions, when executed by one or more processors of each such computing device, may cause the one or more processors to perform one or more of the method steps described herein. The computing device may be a receiving device 200. Additionally, while one or more of the method steps and / or routines described herein may be comprised of software and / or firmware stored on a single computing device, one skilled in the art will appreciate that in certain embodiments, the software and / or firmware may be distributed across multiple homogeneous or heterogeneous computing devices or software modules.

[0164] According to one aspect of the embodiment, the method 900 can assist the application 422, 424, 426 or the third party application 428 to receive sensor data for use in the application. In step 910, the third party application 428 sends a request for sensor data in the system or the sensor assembly 300 automatically connects to the third party application 428. This can be done, for example, by using a BLE connection to send a detection request from the sensor assembly 300 for a BLE-enabled receiver device 200 with the third party application 428. In step 920, the sensor control module 500 verifies the integrity of the third party application 428 and performs authentication. Furthermore, the sensor control module 500 can communicate with the remote management module 600, which supports the integrity, to obtain content-specific information of the third party application 428. These modules can be provided in the software library 400, which allows the developer of the third party application 428 to integrate these modules as a framework into the system of the third party application 428. At step 930, the sensor control module 500 may use logic to identify the type of third-party application 428 and the desired sensor data and issue a request for the desired data. Optionally, the sensor assembly 300 may also transmit the sensor data via the communication control module 540 and the sensor control module interface 520 without a request because the session has already been authenticated.

[0165] At step 940, the sensor control module 500 receives the sensor data. As discussed above, the sensor data may include data indicative of an analyte value, such as a glucose value, a glucose rate of change, a glucose trend, or a glucose alarm condition.

[0166] At step 950, the sensor data in the sensor control module 500 is sent to the third party application via the sensor control module interface 520. Then, at step 960, the sensor data is displayed on the user interface 510 of the sensor control module.

[0167] At step 970, the third party application 428 displays additional messages related to the sensor assembly 300. The additional messages may include sensor data related to the analyte value, notifications, alarms, messages, or other issues related to the sensor, or dietary or exercise advice based on the sensor data received via step 950. Thus, some of the displays on the third party application 428 may be related to the analyte value via the sensor control module 500, while other portions of the displays on the third party application 428 may be displays specifically provided by the third party application 428 that are not under the control of the sensor control module 500.

[0168] The software library 400 and sensor control module 500 disclosed herein may be used with applications 422, 424, 426, which may include various existing applications such as glucose sensors for diabetes monitoring, glucose and ketone sensors for diabetes monitoring, glucose sensors and insulin delivery devices for diabetes monitoring, and closed loop insulin delivery systems. As disclosed herein, these applications may require various regulated functions and may be required to go through all regulatory approval procedures. However, as disclosed herein, these applications may also include various modifications and additional functions that are not part of the core diabetes monitoring and insulin delivery functions, and the extension of the functionality provided by the applications based on the sensor data is not subject to regulation. As further disclosed herein, the additional functionality may be implemented by the fitness applications 422, 424, 426 or third party applications 428. Such health and fitness applications may include glucose sensors for sports or fitness monitoring or health and diet, ketone sensors for health or diet plans (e.g., ketogenic diet plans), lactate sensors for sports and fitness monitoring, or any number of other applications for monitoring alcohol for therapeutic or compliance purposes, sST2, calprotectin, HNL, NT-pro-BNP, etc. Such functionality may be performed by applications 422, 424, 426 or third party applications 428 and may be considered outside of the core functionality that requires regulatory review. Thus, extending these functions using the modular framework disclosed herein does not require a request for regulatory approval before the extended functionality can be introduced into the consumer market.

[0169] The biosensor banners and GUIs described herein can be provided in a variety of color options (e.g., dark and light backgrounds) to allow a host application or third party application developer to choose from multiple color options for use in their application.

[0170] Ketogenic Diet Applications Onboarding In some embodiments, the application in communication with the sensor control module 500 may be a health and fitness application that monitors the ketone levels of a subject or user. The ketone or diet application may have a GUI to assist in setting up the biosensor. The GUI may include a selectable button to initiate the setup and may also include a graphic of the biosensor and a text description of the setup. The text description may include a "Hello" message, encouraging the user to begin by setting up the biosensor so that they can understand their body's own language.

[0171] As shown in FIG. 13A, when a user first places the sensor on the body and opens the ketogenic diet application, a GUI 1300 may be displayed that indicates the time remaining until the biosensor is ready. The GUI 1300 may include a graphic 1302 that highlights the time remaining until the biosensor is active. The graphic 1302 may include a circle of dots that radiate outward, which may be animated. Alternatively, the graphic 1302 may include a progress indicator. The progress indicator may be a bar with a colored portion or a colored portion that extends around the circumference of a circle, where the colored portion is proportional to the amount of time remaining until the sensor is active. For example, the circumference of the circle may be 60 minutes, and the colored portion of the circumference may be proportional to the amount of time remaining until the sensor is active (less than an hour). Alternatively, the graphic 1302 may be animated, changing color around the circumference as the time remaining decreases. The GUI 1300 may also include an indication 1306 of the number of minutes remaining until the biosensor is activated (e.g., "Getting Ready...Time Left: 55 Minutes"). For example, in some embodiments, the inside of the circle may display the message "Getting Ready...Time Left: 55 Minutes" and the colored portion of the circle may be animated to change color periodically as the time remaining until the biosensor is activated decreases. The GUI 1300 may also include links to additional information. For example, the GUI 1300 may include links to information about replacing the biosensor, ordering the biosensor, support, and ketone applications. The GUI 1300 may also include instructions or messages 1304 informing the user that they will soon be able to monitor their ketosis in real time. Such instructions or messages 1304 may further indicate that the user can learn how diet, exercise, and daily habits can affect ketone levels. In some embodiments, each element of the GUI 1300 may be provided by the biosensor module.For example, a graphic 1302 containing a progress indicator and an indication 1306 of the number of minutes remaining until the biosensor is active can be provided by the biosensor module.

[0172] When a user launches or logs into the ketogenic diet application for the first time, a series of GUIs may be displayed that customize the user's experience and assist the user in setting goals to be monitored by the ketogenic diet application.

[0173] The ketogenic diet application may ask the user questions about their experience with the ketogenic diet and may present a GUI with multiple selectable answers, including, but not limited to, (i) I'm new to the ketogenic diet, (ii) I've tried it before, and (iii) I have a good understanding of the ketogenic diet.

[0174] The ketogenic diet application may ask the user what they would like to accomplish using the application. As shown in FIG. 13B, the ketogenic diet application may present a GUI 1310 with multiple selectable answers 1314a-1314e. The selectable answers may include, but are not limited to, (i) weight management, (ii) new challenges, (iii) mental clarity, (iv) appetite management, (v) energy, (vi) hunger control, and (vii) other. The user may select one or more goals they would like to achieve. The GUI 1310 may also include a progress bar 1312 that indicates how far the user is in the setup process. For example, if there are four setup GUIs and the GUI 1310 is the first in the series, the progress bar 1312 may be shaded a quarter to indicate that the user is currently a quarter of the way through the setup process.

[0175] Once the user indicates or selects a primary goal for using the ketogenic diet application, the ketogenic diet application may present additional questions to further identify and clarify the user's goal in order to optimize the user experience and present goals and recommendations to the individual user. For example, if the user selects the option "I want to control my weight," the ketogenic diet application may ask the user why they want to control their weight. The ketogenic diet application may also present multiple selectable answers, including, but not limited to, (i) I want to lose weight, (ii) I want to maintain my weight, and (iii) I want to gain weight.

[0176] The ketogenic diet application may also prompt the user to enter personal information such as measurements. For example, as shown in FIG. 13C, the ketogenic diet application may include a GUI 1330 that prompts the user to enter information necessary to calculate macronutrient recommendations, such as measurements such as height and weight. The GUI 1330 may include an option to select either imperial 1332 or metric 1334 units for entering measurements. The GUI 1330 may also include a height section 1336 that allows the user to select an appropriate height with a rotating wheel, although the user may also enter height by other means known in the art, such as entering height in a text input field. Similarly, the GUI 1330 may include a weight section 1338 that allows the user to select an appropriate weight with a rotating wheel, although the user may also enter weight by other means known in the art, such as entering weight in a text input field. The GUI 1330 may also include a progress bar 1312 that indicates how far the user has progressed in the setup process. For example, if there are four GUIs related to setup and the second of the series is GUI 1330, then half of the progress bar 1312 may be shaded to indicate that the user is currently halfway through the setup process.

[0177] The ketogenic diet application may also prompt the user to enter or select a date of birth. For example, as shown in FIG. 13D, the ketogenic diet application may include a GUI 1350 that prompts the user to enter a date of birth 1352. The GUI 1350 may include a date of birth section 1352 that allows the user to select the appropriate month, day, and year with a rotating wheel, although the user may also enter the date of birth by other means known in the art, such as by entering the date of birth in a text entry field. The GUI 1350 may also include a progress bar 1312 that indicates how far the user is in the setup process. For example, if there are four GUIs related to setup and the GUI 1350 is the third GUI in the series, the progress bar 1312 may be shaded three-quarters of the way to indicate that the user is currently three-quarters of the way through the setup process.

[0178] The ketogenic diet application may also ask the user how active they typically are or to clarify their activity level. For example, as shown in FIG. 13E, the ketogenic diet application may include a GUI 1360 that prompts the user to enter a value or description of their typical activity level. The ketogenic diet application may also present multiple selectable answers 1362a-1362e. The selectable answers may include, but are not limited to, (i) relatively sedentary (e.g., lazing around all day), (ii) slightly active (e.g., active all day but rarely sweating), (iii) moderately active (e.g., sweating 30 minutes a day, several days a week), (iv) active (e.g., exercising 60 minutes almost every day), and (v) very active (e.g., exercising more than 60 minutes every day). Optionally, the GUI 1360 may also include a progress bar 1312 that indicates how far the user has progressed in the setup process. For example, if there are four GUIs related to setup and the fourth in the series is GUI 1360, the progress bar 1312 may be shaded at 100% to indicate that the user is currently 100% through the setup process.

[0179] The ketogenic diet application may provide the user with a recommended daily macro goal based at least in part on the collected information. The display of the recommended daily macro goal may be as shown in GUI 2010 of FIG. 13F. The recommended daily macro goal may include a total recommended daily calorie amount 2012 along with recommended percentages of carbohydrates, protein, and fat. A graphical display 2014 showing the recommended percentages of carbohydrates, protein, and fat may present the recommended daily amounts of carbohydrates, protein, and fat as percentages or weight (e.g., grams). The user may switch between a percentage goal and a weight goal (e.g., grams) by tapping on the graphic to change the units. For example, the graphical display 2014 may be a pie chart that is divided into three sections, carbohydrates, protein, and fat, with the size of each section proportional to the recommended amount of the corresponding nutrient. For example, if the recommended daily macronutrients are 60% fat, 30% protein, and less than 10% carbohydrate, then 60% of the pie chart's area or circumference may be colored a first color to display "60% fat" (or a corresponding number of grams of fat), 30% of the pie chart's area or circumference may be colored a second color to display "30% protein" (or a corresponding number of grams of protein), and less than 10% of the pie chart's area or circumference may be colored a third color to display "less than 10% carbohydrate" (or a corresponding number of grams of carbohydrate). The total recommended calories 2012 may be displayed in the center of the graphical display 2014. The user may tap the graphical display 2014 to switch between displaying the goal in percentages or grams. The GUI 2010 may include a link to more information explaining why the daily macronutrient goals are important. Tapping on this link will display a GUI explaining that the daily recommendations are intended to get the user into ketosis quickly and efficiently. The GUI also advises users to check with a registered dietitian or healthcare professional before implementing their daily macronutrient goals.The GUI can also alert the user that it may take 3-7 days to reach a ketogenic state.

[0180] Women and men typically burn different amounts of calories on average per day. The ketogenic diet application may include an option to display estimates for women or men. The GUI 2010 may include a switch (not shown) or sliding toggle 2016 that may be slid to one side 2018 to display estimates for women and to the other side 2020 to display estimates for men. When the user slides the toggle 2016 to the female side 2018, the GUI 2010 may display a smaller adjusted total recommended calories to the user along with information that women burn an average of 12% less calories per day compared to men.

[0181] The ketogenic diet application may also explain that the recommended daily macronutrient goals are intended to get the user into ketosis quickly and efficiently, and that it is important to persevere and stick to the recommendations because it typically takes a person 3-4 or 3-7 days to reach a ketogenic state.

[0182] The ketogenic diet application may also include an option to skip macro customization, allowing users to skip or postpone the calculation of daily macronutrient goals until later when beginning the biosensor setup.

[0183] GUI 2010 may also include buttons 2021 that, when selected, can open additional GUIs relating to biosensor setup or other aspects of the application.

[0184] Biosensor setup As shown in FIG. 13G, the GUI 2023 can include a biosensor graphic 2025 with text 2027 regarding biosensor setup. The text 2027 can ask the user if they are ready to listen to their body. Further, the text 2027 can indicate that it is time to set up the biosensor and learn the unique language that your body speaks. The GUI 2023 can include a button 2029 that opens a GUI to begin biosensor setup as described elsewhere in this application.

[0185] The ketone application may prompt the user to enable "BLUETOOTH" to allow the application to search for and connect to the biosensor. Enabling "BLUETOOTH" allows the ketone application to check ketone levels and receive data about the status of the biosensor in real time.

[0186] The ketone application may also prompt the user to enable push notifications on the mobile device. Notifications may include alert content, sounds, and icon badges. The ketone application may notify the user when the user enters or falls out of ketosis.

[0187] Setting goals In some embodiments, the user can set a target ketosis level by tapping a set goal button 2096, as shown in FIG. 15B. Referring to FIG. 14A, the user can set a target by dragging the line 2034 in the ketone level graph 2072 to the desired ketone level. Alternatively, the user can set the target by entering the level in a prompt. As shown in FIG. 14B, a pop-up window 2040 can be displayed that provides more information on where the user should set the target. The pop-up window 2040 can recommend setting the target between 0.5 and 8.0 mmol / L. The pop-up window 2040 can also recommend that the user periodically adjust the target until they find which level works best for them. The pop-up window 2040 can also present a graph 2042 showing multiple ranges or information along with a description 2044 of the various levels listed on the graph 2042. For example, the pop-up can indicate that the upper limit of ketosis is 8.0 mmol / L and the threshold of ketosis is 0.5 mmol / L. The pop-up can also indicate that anything above 8.0 mmol / L is above ketosis, 4.0 mmol / L to 8.0 mmol / L is severe ketosis, 0.5 mmol / L to 4.0 mmol / L is in ketosis, and anything below 0.5 mmol / L is below ketosis.

[0188] Once the user has set the target threshold, the target threshold can be displayed in the GUI 2030. The target threshold can be displayed in a graph as a line 2034 indicating the target concentration, in a legend 2036, for example as "My target," or as a numeric value 2038 of the target threshold. The user can then select "Save" to save the target threshold.

[0189] Once a goal is set, the home screen and / or live screen may display the average ketone levels for the day and the total number of hours in ketosis, as well as the total number of hours above the goal (see, for example, reference numeral 2082 in FIG. 15B).

[0190] In some embodiments, if the user has not set a goal, the graph 2072 may only include a line indicating the ketosis threshold 2074 or the value above which nutritional ketosis would be entered.

[0191] Calendar and past days In the ketogenic diet application, the user may access the calendar display, such as by clicking on the timeline. For example, when the user selects a date 2062, a calendar GUI 2050 may be displayed in a drop-down window or in a separate window. Referring to FIG. 15A, the GUI 2050 may include a display showing a number of dates 2052 in the current month, and optionally the end of the previous month and / or the beginning of the next month. In the calendar, the today's date 2054 may be highlighted in a distinguishable manner, such as by surrounding it with a line of a different color. The date 2056 on which ketosis was achieved may also be highlighted by changing the color or surrounding it. Future dates 2058 may be greyed out, such that future dates cannot be selected by the user. Past dates 2060 with no data may be greyed out and crossed out. Past dates 2060 with no data may also be selected by the user. When the user taps or selects a date other than today's date or a greyed out date, the calendar display may close and a live screen for the selected date may be displayed. The ketogenic diet application may also be configured to allow the user to swipe the calendar screen to move to the previous month. The GUI 2050 may display a user selected date 2062 and may include a link 2064. The link 2064 may be named, for example, "TODAY" and may be selected to display a live home screen 2070. When the user taps or selects any day that is not grayed out or not grayed out and crossed out, the calendar display 2050 may close and the data for the selected date may be displayed in the live home screen 2070. As the user scrolls through the live home screen 2070, the ketogenic diet application may display live home screens of previous days when the sensor was active. Days when the sensor was inactive or days with no data may be skipped.When the sensor is finished, the live home screen may display the message "start a new biosensor" instead of ketone values.

[0192] As shown in FIG. 15B, the live home screen 2070 may include a banner 1002 as described elsewhere in this application. As described elsewhere, the banner 1002 may include any of the following: real-time concentration values ​​1004, trend arrows 1006, icons 1008 indicating the status of the biosensor, information about the status of the biosensor 1010, and additional indications of the status of the biosensor 1012. The trend arrow 1006 indicates the user's recent ketone trend, and may be displayed when the ketone values ​​are above a threshold value (e.g., 0.3 mmol / L). The trend arrow may be angled upwards (e.g., northeasterly) to indicate that the ketone values ​​are trending upwards. The trend arrow may be angled downwards (e.g., southeasterly) to indicate that the ketone values ​​are trending downwards. The trend arrow may also be horizontal (e.g., easterly) to indicate that the ketone values ​​are changing slowly. The biosensor module may report ketone concentrations in different ways depending on the range of ketone concentrations. If the concentration is below the lower threshold, the real-time concentration may be displayed as "<[lower threshold]" (e.g., "<0.3 mmol / L") rather than as a concentration (e.g., "0.1 mmol / L"). The lower threshold may be about 0.2 mmol / L, or about 0.25 mmol / L, or about 0.3 mmol / L, or about 0.35 mmol / L. On the other hand, if the concentration is above the upper threshold, the real-time concentration may be displayed as ">[upper threshold]" (e.g., ">0.6 mmol / L") rather than as a concentration (e.g., "0.8 mmol / L"). The upper threshold may be about 0.5 mmol / L, or about 0.55 mmol / L, or about 0.6 mmol / L, or about 0.65 mmol / L. If the concentration is between the lower and upper thresholds, the application may display the concentration value.

[0193] The live home screen GUI 2070 may have an indication of whether ketosis was reached that day (e.g., a different color, an icon, text (e.g., "Ketosis Not Reached" or "Ketosis Reached"), etc.). In some embodiments, the indication of whether ketosis was reached that day may be displayed in a drop down notification. The live home screen GUI 2070 may also include a ketone value graph 2072. The graph 2072 may display a 24 hour ketone curve 2076, a ketosis threshold 2074, and a ketosis goal 2034. In the legend 2036, the ketosis threshold may be displayed as "Nutritional Ketosis." The area below the ketone curve 2076 (e.g., the area from the ketone curve 2076 to the x-axis (time)) may be shaded. The shading may be provided with a semi-transparent gradient of a first color that is less transparent closer to the ketone curve 2076 and more transparent closer to the x-axis (time). Additionally, the scale of the y-axis (ketone concentration) of the graph 2072 may be automatically adjusted to maximize the height of the ketone curve 2076 being displayed. Icons (e.g., icons 2152a, 2152b) may be displayed at locations on the ketone curve 2076 that correspond to the occurrence of logged items. Logged items may relate to eating habits, exercise, appetite, mood, fasting, energy levels, and the like. Additionally, the live home screen GUI 2070 may display the daily average 2078 for that day, the total number of hours in ketosis for that day 2080, and the total number of hours above goal for that day 2082.

[0194] A user may swipe to access a live home screen 2090 from a past day. As shown in FIG. 15C, the live home screen 2090 from a past day may include all of the same information as the live home screen 2070 from today. The live home screen 2090 from a past day may include a ketone graph 2072. The graph 2072 may display a 24 hour ketone curve 2076, a ketosis threshold 2074, and a ketosis goal 2034. The area below the ketone curve 2076 may be shaded. The shading may include a semi-transparent gradient of a first color that is less transparent closer to the ketone curve 2076 and more transparent closer to the x-axis (time). Additionally, the scale of the y-axis (ketone concentration) of the graph 2072 may be auto-adjusted to maximize the height of the ketone curve 2076 being displayed. The scale of the graph 2072 can be adjusted so that the highest and lowest points of the graph curve are within the graph. In some embodiments, the scale of the graph can be adjusted so that the highest point of the graph curve is within 10% of the top of the graph and the lowest point of the graph curve is within 10% of the bottom of the graph. An icon (e.g., icons 2152a, 2152b) can be displayed at a location on the ketone curve 2076 that corresponds to the occurrence of a log entry. The log entries can relate to eating habits, exercise, appetite, mood, fasting, energy levels, etc. As shown in FIG. 15F, if several log entries occur close in time such that their icons overlap on the ketone curve 2076, a number of log entries whose logging times are concentrated within a predetermined time period or pills 2157 with overlapping icons can be displayed on the ketone curve 2076. The predetermined time period can be within about 2 hours, or within about 1.5 hours, or within about 1 hour, or within about 30 minutes, or within about 15 minutes. When the user taps on the pill 2157, a tooltip 2159 or popup window appears containing entries corresponding to each of the overlapping icons. Each entry may include the icon, the time of the log entry, and a brief description of the log entry.In some embodiments, the pill 2157 may only be displayed when the graph is fully zoomed in and if there is still icon overlap at full zoom.

[0195] In some embodiments, instead of the banner 1002, the live home screen 2090 for a past day may include a message 2094 regarding whether or not the user was in ketosis on that past day. The message 2094 may include a text portion indicating "Was in ketosis" or "Was not in ketosis." The message 2094 may also include an icon that changes color depending on whether or not the user was in ketosis on that day. For example, if the user was in ketosis, the icon may be a first color, and if the user was not in ketosis, the icon may be grayed out.

[0196] Additionally, a past day's live GUI may include a link to today's live home screen (e.g., a link titled "Today") that may be selected to immediately display today's live home screen. Scrolling through the past live screens skips over days when the sensor was inactive (e.g., 24 hours of inactivity) and displays the next day when the sensor was active. A sensor may be considered inactive if an error condition causes the system to not receive any data for a period of time (e.g., 24 hours). As described elsewhere, the error condition may include, but is not limited to, "check biosensor," "replace biosensor," or "biosensor expired."

[0197] If the left side of the x-axis of graph 2072 shows the start of the day (e.g., midnight), then as the user scrolls through multiple dates, as the user drags the graph, the graph for the current day being viewed will move to the right, leaving a small gap so that yesterday's graph can snap into place.

[0198] In various GUIs having a ketone curve graph, the user can zoom in on the graph 2072, but the default display can be a midnight to midnight display with six hour intervals on the x-axis. The user can pinch in to zoom out and pinch out to zoom in. In some embodiments, the number of scales on the x-axis can be configured to remain constant when the display magnification is changed. For example, the graph can include about four x-coordinate scales, or about five x-coordinate scales, or about six x-coordinate scales. In some embodiments, the time increments between the x-axis scales can vary depending on the time frame the user is aligned to. For example, if the user zooms in on the graph to a 16 hour display, the x-axis scale can vary in four hour increments. For example, if the user zooms in on the graph to an eight hour display, the x-axis scale can vary in two hour increments. For example, if the user zooms in on the graph to a four hour display, the x-axis scale can vary in one hour increments. For example, if the user zooms in on the graph to a two hour display, the x-axis scale can vary in 30 minute increments. It is also possible to change the time frame that changes the time intervals displayed on the x-axis so that the length of each time interval increases without changing the time intervals on the scale itself. For example, in the case of a zoomed-in view of about 20 hours, the time scale displayed on the x-axis remains in 6-hour increments, but the length of the intervals between the 6-hour increments changes from the interval length of the 24-hour graph. It is also possible to allow the user to scroll between live views of various dates without changing the display magnification of the x-axis from the display magnification of the previous graph. The user can change the display magnification while viewing any date. When the user swipes to the previous or next day, the display magnification can follow the magnification last set by the user.

[0199] The y-axis of the graph 2072 may be a first default scale until the user's ketone levels reach a threshold value for the first time, at which point the y-axis may automatically change to a second default scale. For example, the first default scale may be from 0 mmol / L to 3.0 mmol / L. The threshold value may be a value in the range of about 2.5 mmol / L to about 3.0 mmol / L, or about 2.6 mmol / L, or about 2.7 mmol / L, or about 2.8 mmol / L, or about 2.9 mmol / L. The second default scale may be from about 0 mmol / L to about 6.0 mmol / L. The graph may remain in the second default scale range unless the user does not access the application for a predetermined period of time, at which point the y-axis may revert to the first default scale.

[0200] If a particular biosensor reading is lost causing a data gap, the ketone curve 2076 may be displayed with a gap corresponding to the period of time where the data gap occurred, and the gap may be annotated with the words "No Data" and the time of day to indicate that no data was measured or received.

[0201] The live home screen GUI 2070, 2090 may also display the daily average 2078, the total number of hours in ketosis for that day 2080, and the total number of hours above goal for that day 2082.

[0202] A user may access the log filter by selecting the log button 2098 or the log link. As shown in FIG. 15D, the log filter 2114 may be displayed as a pop-up screen that allows the user to select the icons that they wish to display on the ketone curve 2076. Activities included in the log filter 2114 may include, but are not limited to, eating and drinking 2116, fasting 2118, exercise 2120, mood 2122, appetite 2124, and energy 2128. A user may select a category by selecting one or more of the category buttons or icons. When the log filter 2114 is closed, the live screen displays the selected category entry on the ketone curve 2076 for that day at the time associated with the log entry (see, for example, icons 2152a, 2152b in FIG. 15B). The user may click on a particular icon to view additional detailed information recorded in the log entry. For example, if the log entry includes the type of food consumed and a photo, the type of food consumed and the photo may be displayed along with the time associated with the entry.

[0203] Additionally, the various GUIs of the ketogenic diet application may include sharing links 1050 that allow for the sharing of various data or information.

[0204] The banner 1002 may include a statement 1010 that when a sensor is finished, a new biosensor will be started. If multiple days pass without a sensor replacement, the user may scroll to previous days to view a live view of the last day the sensor was active. Days when the sensor was inactive may be skipped.

[0205] A notification may be displayed on the device (e.g., on the lock screen) when the user is not viewing the ketone application, or when the ketone application is running in the background, or when the ketone application is closed. In some embodiments, the notification may state, "Your Biosensor is ready," and may encourage the user to begin real-time monitoring of ketone levels. In some embodiments, the notification may be about ketone levels reaching a state of ketosis and may state, "You've reached ketosis!" and encourage the user to check their current ketone levels. In some embodiments, the notification may be about ketone levels dropping out of ketosis and may state, "Uh-Oh! You dropped out of ketosis," and encourage the user to find a way to get back into ketosis. In some embodiments, the notification may indicate "Your Biosensor ends in 24 hours" and encourage the user to order a new biosensor to continue their journey to knowing their body.

[0206] Flags As shown in FIG. 15E, if the user presses and holds the graph for a period of time, a flag 2156 can be displayed with a line 2154 indicating the time on the graph that the flag 2156 corresponds to. Pressing and holding the graph can cause the mobile device to vibrate and cause the flag 2156 to appear on the graph. The flag 2156 can include the ketone concentration at a particular time. If the concentration is below the lower threshold or above the upper threshold, the concentration can be reported as "<[lower threshold]" or ">[upper threshold]" and can also include a message in the flag that the exact reading is outside the range of the biosensor. In some embodiments, the lower threshold can be 0.3 mmol / L and the upper threshold can be 6.0 mmol / L. If the concentration is between the lower and upper thresholds, the flag can include the time and the concentration value for that concentration. If the user drags their finger across the graph, the flag can move with the finger to show the concentration at other times. The phone can also vibrate briefly as the flag toggles with this movement. The flag can also disappear when the user removes their finger from the graph (e.g., stops pressing the graph), or when they enter a blank (gap) in the graph.

[0207] log Food and Drink If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0208] If the user wants to add a food, drink, or food and drink, the user can select the "Food and Drink" icon. A GUI 2140 can then be displayed, as shown in FIG. 16A. The "Food and Drink" GUI 2140 can include a section 2142 for setting a date and time, a description section 2144 for the intake (food or drink), and a link 2146 for adding a photo. In the "Date and Time" section 2142, the user can set the date and time by entering the date and time or by turning the wheel to select the date and time. In the "Food and Drink" section 2144, the ketogenic diet application can ask the user what they have eaten and drink, and provide a text entry field 2148 for the user to enter a description of the food or drink they have just consumed. The user can enter one food or drink at a time (e.g., "coconut wrap," "hamburger," or "apple cider vinegar") in the text entry field 2148. As the user enters the intake items, the items are displayed as a tag cloud 2150a. The tag cloud 2150a can be deleted if the user wishes to edit the entry, and the user can continue to enter other items consumed, which are displayed as tag cloud 2150b, thus allowing multiple food and drink entries to be associated with the time entry.

[0209] As shown in GUI 2160 of FIG. 16B, for a returning user (i.e., the user has previously used the ketogenic diet application to log some entries), a list of suggested entries 2158 may be suggested as the user begins typing to enter a new food or drink entry. The list of suggested entries 2158 may be narrowed down as more characters are typed, eventually leaving only the characters typed. For example, if the user begins typing with the letter "C", a list may be displayed containing words beginning with "C", such as "canned sardines", "cheese shell tacos", "coconut cookies", "coconut ice cream", and "coconut wraps". Then, if the user next types "o" so that the first two characters are "Co", the list 2158 will no longer contain entries that do not begin with "Co" (e.g., no longer showing "canned sardines" or "cheese shell tacos"), but will only contain entries that begin with "Co" (e.g., "coconut cookies", "coconut ice cream", and "coconut wraps"). The displayed entries can be ones the user has previously entered, or they can be items from a list of common foods and drinks. As described above, the entered or selected items are displayed as a tag cloud 2150a, 2150b associated with this time.

[0210] The user can then type in another item (e.g., "apple cider vinegar") or select from a pre-populated list 2158 as described above. In this manner, multiple foods and drinks can be associated with the time entry.

[0211] The "Food and Drink" GUI 2140, 2160 may also include a link to add one or more photos that the user would like to associate with this entry. The user may also associate a photo with this entry themselves. The user may select button 2146 to take a photo of the consumed items or access photos from their photo gallery. As with the food and drink tag cloud listing, the photos associated with this entry may also be displayed as removable entries.

[0212] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), a food icon (see, e.g., icon 2152a in FIG. 15B) may be displayed on the live home screen 2070 above the ketone curves 2076. When the user taps on the food icon, a pop-up may appear with further details (e.g., the time of intake and the food and / or drink consumed or an abbreviation for the food and / or drink). A message may also be displayed on the live home screen 2070, 2090 when the food icon first appears on the ketone curves 2076 indicating that a "Meal and Drink" has been added. In some cases, this message may be displayed as a drop-down notification. When the user selects the pop-up description or double-tap on the food icon, the Meal and Drink entry opens and the user may edit the entry as desired (e.g., change the time associated with the entry).

[0213] fasting If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0214] If the user wishes to add a fasting entry, they may select the fasting icon or entry, causing GUI 2170 to be displayed.

[0215] As shown in FIG. 17A, the "Fast" GUI 2170 can include multiple pre-set time intervals 2174a-2174f from which the user can choose. Without limitation, the pre-set time intervals 2174a-2174f can be none, 13 hours, 16 hours, 18 hours, 20 hours, and 36 hours. The user can select a start time for the fasting period, for example, by selecting a date and time with a wheel 2176 or by manually entering the date and time. The start time 2178 displays the entered start time, and the end time 2180 can be automatically generated based on the time interval selected from the pre-set time intervals. Alternatively, both the start and end times can be set by the user by selecting "none" from the pre-set time intervals. The "Fast" GUI 2170 can include an additional message 2182 indicating how long the fasting period is for this entry (e.g., "fast for 16h").

[0216] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), a fasting icon (see, e.g., icon 2152b in FIG. 15B) may be displayed on the live home screen 2070, 2090 over the ketone curve 2076. Additionally, in some embodiments, the area below the ketone curve 2076 may be colored with a gradient for the fasting period (from start time to end time) that distinguishes it from non-fasting periods. For example, the area below the ketone curve 2076 for the fasting period may be less transparent, may not have a gradient, or may be a different color or pattern than the non-fasting period.

[0217] When the user taps on the fasting icon, further details about the fasting entry (e.g., the start time, end time and length of the fasting period) may be displayed. A message may also be displayed on the live home screen 2070, 2090 indicating that a "fast" has been added when the fasting icon first appears in the ketone curves 2076. In some cases, this message may be displayed as a drop-down notification. When the user double-tap on the fasting icon, the fasting entry opens and the user may edit the entry (e.g., change the length of the fasting period) if desired.

[0218] As shown in GUI 2190 of FIG. 17B, when the user taps on the abbreviation, a pop-up screen or window 2192 may be displayed that shows elapsed time 2194, goal time 2196, start time 2178, end time 2180, and progress graphic 2198. Progress graphic 2198 may be a bar display with a colored portion or a display of a circle with a colored portion extending around the circumference, the colored portion being proportional to the amount of the goal time that has elapsed. When the user taps "Edit" on GUI 2190, a "Fast" GUI 2170 is displayed and the user may modify the entry.

[0219] As shown in GUI 2200 of FIGURE 17C, when the user taps "finish," another pop-up screen 2202 may appear asking the user if the fast is finished. The pop-up screen 2202 may also report to the user what percentage of their goal the user has achieved in words or graphics 2204, as well as the length of time fasted 2206 in hours and minutes. The pop-up screen 2202 may also report the start time 2178 and end time 2180.

[0220] motion If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0221] If the user wishes to add an exercise entry, the user may select the exercise icon or entry and a GUI 2220, as shown in FIG. 18A, may be displayed. The "exercise" GUI 2220 may include a section 2224 for setting the date and start time, a length of exercise 2226, a section 2228 for entering the type of exercise performed, and a section 2230 for indicating the intensity of the exercise. In the "date and time" section 2224, the user may set the date and time by entering the date and start time or by turning the wheel to select the date and time. The user may set the exercise length 2226 by typing the number of hours, minutes, or hours and minutes, or by tapping the "+" or "-" buttons 2234, 2236 to increase or decrease the number of minutes in regular increments (e.g., 5, 10, 15, or 30 minute increments). The exercise length 2226 also displays the total number of minutes 2232.

[0222] The ketogenic diet application may also include a section 2228 for the user to enter the type of exercise they performed. The section 2228 may be provided, for example, as a response to the question "What exercise did you do?". The user may add a description of the type of exercise in a text entry field. The description may include one or more types of exercise (e.g., "boxing," "jogging," "yoga"). Once the user enters the type of exercise, the type of exercise is displayed as a tag cloud 2246a, 2246b. The tag cloud 2246a, 2246b may be deleted if the user wishes to edit the entry. The user may also continue to enter other types of exercise, which may be displayed as tag clouds. Thus, multiple types of exercise may be associated with the time entry.

[0223] The ketogenic diet application may also include a section 2230 that indicates the intensity of the exercise performed by the user. In one embodiment, the user may slide a switch 2238 along a continuous intensity indicator that changes from low to medium to high. In other embodiments, the user may select from "low," "medium," and "high" buttons. Alternatively, the intensity may be rated using letter grades or numbers (e.g., "1" for "low intensity," "5" for "medium intensity," and "10" for "high intensity").

[0224] As shown in GUI 2240 of FIG. 18B, a returning user may be presented with a list 2244 of previously entered exercises to allow the user to quickly select from the list. Then, when a user selects an item from the default history list (e.g., the last five exercises entered in the past), the selected item may be removed from list 2244 and the sixth most recent item may be displayed in list 2244 instead. If the user does not select from the list and begins typing a new item, a list of possible entries may be suggested as the user begins typing. The list of possible entries may be narrowed down as more characters are displayed until only the typed character remains. For example, if the user begins typing with the letter "J," a list of words beginning with "J," such as "jogging" and "Jump rope," may be displayed. As the user types an entry, the entry is displayed as a tag cloud 2246a, 2246b. The tag cloud 2246a, 2246b may be removed if the user wishes to edit the entry.

[0225] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), an exercise icon (see, e.g., icon 2152a or 2152b in FIG. 15B ) may be displayed on the live home screen 2070, 2090 over the ketone curve 2076. Additionally, in some embodiments, the area below the ketone curve 2076 may be colored with a gradient that distinguishes the exercise period from the non-exercise period. For example, the area below the ketone curve 2076 during exercise periods may be less transparent, may not have a gradient, or may have a different color or pattern than the non-exercise period.

[0226] When the user taps on the exercise icon, further details about the exercise entry (e.g., the time the exercise was performed, the duration of the exercise, and an abbreviation of the exercise performed) may be displayed. A message indicating that an "exercise" has been added may also be displayed on the live home screen 2070, 2090 when the exercise icon first appears in the ketone curve 2076. In some cases, this message may be displayed as a drop-down notification. When the user double-tap on the exercise icon, the exercise entry 2220 opens and the user may edit the entry as desired (e.g., change the duration of the exercise). In some embodiments, double-tapping on the exercise icon may allow the user to drag the start and end points of the exercise duration back and forth to quickly adjust the start and end points of the exercise period. Alternatively, an edit screen may be displayed to allow the user to adjust the selected start time, end time, and duration.

[0227] feeling If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0228] If the user wishes to add a mood entry, the user may select the mood icon, which may then display GUI 2260, as shown in FIG. 19A. The "Mood" GUI 2260 may include a section 2262 for setting the date and time, a section 2264 for entering the user's mood, and a section 2266 for entering the user's feelings. In the "Date and Time" section 2262, the user may set the date and time by entering the date and time or by turning the wheel to select the date and time.

[0229] In the "Mood" section 2264, the ketogenic diet application may ask, "How is your mood?" in response to which the user may select from a number of emojis 2268a-c indicating various moods. Without limitation, the emojis 2268a-c may range from "very good," "good," "fair," "bad," and "very bad." A carousel of emojis may be presented for the user to select from. Alternatively, the user may type in a description of their mood (not shown).

[0230] In the "feelings" section 2266, the ketogenic diet application may ask, "How would you describe your feeling?" and provide a text entry field 2270 for the user to enter how they are feeling. The user may enter one feeling at a time in the text entry field 2270 (e.g., "I'm excited"). As the user enters the feeling, it is displayed as a tag cloud 2272a. The tag cloud 2272a may be deleted if the user wishes to edit the entry. The user may also continue to enter another feeling (e.g., "I feel confident"), which may be displayed as a tag cloud 2272b. Thus, multiple feelings may be associated with the time entry.

[0231] As shown in GUI 2280 of FIG. 19B, a returning user may be presented with a list 2282 of previously entered feelings so that the user can quickly select from the list to enter feelings. Then, when a user selects an item from the default history list (e.g., the last five feelings entered in the past), the selected item may be removed from list 2282 and the sixth most recent item may be displayed in list 2282 instead. If the user does not select from the list and begins typing a new item, a list of possible inputs may be suggested as the user begins typing. The list of possible inputs may be narrowed down as more characters are displayed, eventually leaving only the typed character. For example, if the user begins typing with the letter "E", a list of words beginning with "E", such as "Emotional" and "Excited", may be displayed. As the user types an entry, the entry is displayed as a tag cloud 2272a, 2272b. The tag cloud 2272a, 2272b may be removed if the user wishes to edit the entry. The user can then type in another mood (e.g., "confident") or select from a pre-populated list 2282 as described above. In this way, multiple moods can be associated with the time entry.

[0232] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), a mood icon (see, e.g., icon 2152b in FIG. 15B) may be displayed on the ketone curves 2076 of the live home screen 2070.

[0233] When the user taps on the mood icon, a popup may appear with further details (e.g., the time entered, an abbreviation for the entered mood, or both). A message may also be displayed on the live home screen 2070, 2090 indicating that a "mood" has been added when the mood icon first appears in the ketone curves 2076. In some cases, this message may be displayed as a drop-down notification. When the user selects the popup description or double-tap on the mood icon, the mood entry GUI opens and the user may edit the entry as desired (e.g., change the time associated with the entry, or change the current mood or feeling).

[0234] Vitality If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0235] If the user wishes to add a vitality entry, the user may select the vitality icon, which may display a GUI 2290, as shown in FIG. 20A. The "vitality" GUI 2290 may include a section 2292 for setting a date and time, a section 2294 for entering the user's vitality, and a section 2296 for entering the user's feelings. In the "date and time" section 2292, the user may set the date and time by entering the date and time or by turning the wheels to select the date and time.

[0236] The ketogenic diet application may also include a section 2294 indicating the user's energy level at a selected time. In one embodiment, the user may slide a switch 2298 along a continuous intensity indicator from low to medium to high. In other embodiments, the user may select from "low," "medium," and "high" buttons. Alternatively, energy levels may be rated using letter grades or numbers (e.g., "1" representing "not very energetic," "5" representing "fair energy," and "10" representing "excellent energy").

[0237] As described in the description of other embodiments, the ketogenic diet application may also ask, "How would you describe your feeling?" and provide a text entry field 2300 for the user to enter their current feelings. The user may enter one feeling at a time in the text entry field 2300 (e.g., "I'm excited"). Once the user has entered their feeling, the feeling is displayed as a tag cloud 2302a. The tag cloud 2302a may be deleted if the user wishes to edit the entry. The user may also continue to enter another feeling (e.g., "caffeine-free"), which may be displayed as a tag cloud 2302b. Thus, multiple feelings may be associated with the energy entry.

[0238] As shown in GUI 2310 of FIG. 20B, which may be displayed as a pop-up window or a separate screen as described in the description of other embodiments, a list of previously entered feelings 2304 may be displayed for a returning user to quickly select from the list. Then, when an item is selected from the default history list (e.g., the last five feelings entered in the past), the selected item may be removed from list 2304 and the sixth most recent item may be displayed in list 2304 instead. If the user does not select from the list and begins typing a new item, a list of possible inputs may be suggested as the user begins typing. The list of possible inputs may be narrowed down as more characters are displayed, until only the typed character remains. For example, if the user begins typing with the letter "E," a list may be displayed containing words beginning with "E," such as "Emotional" and "Excited." As the user types an entry, the entry is displayed as a tag cloud 2302a, 2302b. The tag clouds 2302a, 2302b can be deleted if the user wishes to edit the entry, and the user can type in a different mood (e.g., "confident") or select from a pre-populated list 2304 as described above. In this way, multiple moods can be associated with the time entry.

[0239] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), an energy icon (see, e.g., icon 2152a or 2152b in FIG. 15B) may be displayed on the ketone curve 2076 of the live home screen 2070.

[0240] When the user taps on the energy icon, a popup may appear with further details (e.g., the time of entry, an abbreviation of the energy state entered, or both). A message may also be displayed on the live home screen 2070, 2090 when the energy icon first appears in the ketone curve 2076 indicating that an "energy level" has been added. In some cases, this message may be displayed as a drop-down notification. If the user selects the popup description or double-tap the energy icon, a GUI for the energy entry opens, allowing the user to edit the entry as desired (e.g., change the time associated with the entry, or change the current energy level or mood).

[0241] appetite If the user wishes to record an event in the log, they may select the log icon or button 2098 and select the type of log entry.

[0242] If the user wishes to add an appetite level entry, the user may select the appetite icon, which may display a GUI 2320, as shown in FIG. 21A. The "Appetite" GUI 2320 may include a section 2322 for setting a date and time, a section 2324 for entering the user's appetite level, and a section 2326 for entering the user's mood. In the "Date and Time" section 2322, the user may set the date and time by entering the date and time or by turning the wheel to select the date and time.

[0243] The ketogenic diet application may also include a section 2324 indicating the user's appetite level at a selected time. In one embodiment, the user may slide a switch 2346 along a continuous intensity indicator from low to medium to high. In other embodiments, the user may select from "low," "medium," or "high" buttons. Alternatively, the appetite level may be rated using a letter grade or number (e.g., "1" representing "not very hungry," "5" representing "fair appetite," and "10" representing "excellent appetite").

[0244] As described in the description of other embodiments, the ketogenic diet application may also ask, "How would you describe your feeling?" and provide a text entry field 2328 for the user to enter their current feelings. The user may enter one feeling at a time in the text entry field 2328 (e.g., "I'm excited"). Once the user has entered their feeling, the feeling is displayed as a tag cloud 2330a. The tag cloud 2330a may be deleted if the user wishes to edit the entry. The user may also continue to enter another feeling (e.g., "I'm off caffeine"), which may be displayed as a tag cloud 2330b. Thus, multiple feelings may be associated with the appetite entry.

[0245] As described in the description of other embodiments, as shown in GUI 2340 of FIG. 21B, a list of previously entered feelings 2334 may be displayed to a returning user to allow the user to quickly select from the list. Then, when an item is selected from the default history list (e.g., the last five feelings entered in the past), the selected item may be removed from list 2334 and the sixth most recent item may be displayed in list 2334 instead. If the user does not select from the list and begins typing a new item, a list of possible inputs may be suggested as the user begins typing. The list of possible inputs may be narrowed down as more characters are displayed, until only the typed character remains. For example, if the user begins typing with the letter "E," a list of words beginning with "E," such as "Emotional" and "Excited," may be displayed. As the user types an entry, the entry is displayed as a tag cloud 2330a, 2330b. The tag clouds 2330a, 2330b can be deleted if the user wishes to edit the entry, and the user can type in a different mood (e.g., "confident") or select from a pre-populated list 2334 as described above. In this way, multiple moods can be associated with the time entry.

[0246] Once the user has entered all the required data and added the entry to the log (e.g., by selecting "Add"), an appetite icon (see, e.g., icon 2152a or 2152b in FIG. 15B) may be displayed on the ketone curves 2076 of the live home screen 2070.

[0247] When the user taps on the appetite icon, a popup may appear with further details (e.g., the time of entry, an abbreviation of the appetite state entered, or both). A message indicating that an "appetite" has been added may also be displayed on the live home screen 2070 when the appetite icon is first displayed in the ketone curves 2076. In some cases, this message may be displayed as a drop-down notification. When the user selects the popup description or double-tap on the appetite icon, the appetite entry GUI opens and the user may edit the entry as desired (e.g., change the time associated with the entry, or change the current appetite level or mood).

[0248] Let's find out, let's find out As shown in FIG. 22A, a user can tap on a link to display a "learn and explore" GUI 2018 that provides additional information on various related topics. The "learn and explore" GUI 2018 can include multiple selectable tabs 2020a-d, each containing content related to a different topic of interest. The multiple selectable tabs 2020a-d can include, but are not limited to, themes that can include user-specific content (e.g., "for you"), basic ketosis content (e.g., "basic"), dietary content (e.g., "food"), health-related content (e.g., "health"), and lifestyle-related content (e.g., "lifestyle"). The "learn and explore" GUI 2018 can also include a button 2024 that allows the user to bookmark or save the page for easy future access. Any of the GUIs described herein may include links 2031, 2033, 2035 that can quickly take a user to a live screen, a "Learn & Explore" screen, or a settings screen, respectively. In some embodiments, the link 2031 to the live screen may be active and displayed only after the biosensor is ready.

[0249] Under each selectable tab 2020a-2020d, multiple pieces of content may be displayed in selectable cards 2022a-2022c. Such content may include, but is not limited to, articles, photos, text, graphs, tips, and overviews. For example, content displayed under a user's dedicated tab may include an article explaining how to get into ketosis, an article explaining how to track and interpret ketosis levels, an article explaining how to experiment with different foods, an article explaining the effect of each food on ketone levels, and an article explaining macronutrients.

[0250] In some embodiments, as shown in FIG. 22B, a user may tap on a link to display a “Learn” GUI 2019 that provides additional information on various related topics. The “Learn” GUI 2019 may present a carousel of cards 2021 each displaying a variety of articles or content. The “Learn” GUI 2019 may also include a variety of different selectable tabs 2023a-c each displaying a category of articles or content. The themes of the multiple selectable tabs 2023a-c may include, but are not limited to, “Latest,” “Get Started,” “Ketosis,” and the like.

[0251] Under each selectable tab 2023a-c, multiple pieces of content may be displayed in selectable cards 2025a, 2025b. Such content may include, but is not limited to, articles, photos, text, graphs, tips, and summaries. For example, under the "New Arrivals" tab, content may include articles explaining what the application is, shopping guides, and the like.

[0252] The order of presentation of content in the displayed selectable cards 2022a-2022c, 2025a, 2025b can be varied. For example, if the host application is a ketogenic diet application, the user may first be presented with basic informational content such as "getting started" and "learning about ketosis" at the beginning of the user experience. As the ketogenic diet application collects more data about the user, it can tailor the content presented to the user. Such data may be collected from the user's answers to questions or prompts, the user's ketone levels, or patterns identified from the user's ketone data. For example, if the user has been in ketosis for several days, the ketogenic diet application may present the user with an article about the benefits of being in ketosis. The ketogenic diet application may also prompt the user for any inputs required to further customize the user experience at the end of the article or in a separate GUI.

[0253] setting As shown in FIG. 24A, when a user taps on the link 2035 to settings, a “Settings” GUI can be displayed that includes a section 3252 for daily macronutrient goals, a section 3254 for notifications, a section 3256 for ordering biosensors, and a section 3260 for privacy and legal matters.

[0254] If the user completes the personalization process, the daily macronutrient goals section 3252 may list the total recommended calories, carbohydrates, protein, and fat amounts for entering ketosis in the short term. Alternatively, if the user skips the personal customization section, selecting the daily macronutrient goals section 3252 may display a GUI related to customizing and goal setting the user's ketogenic diet process, such as those described in the discussion of Figures 13A-13F.

[0255] As shown in FIG. 24B, when the user selects or taps on the daily macronutrient goal section 3252, a "daily macronutrient goal" GUI 3270 with editable fields may be presented. The GUI 3270 may display a total recommended calorie amount 3272, a recommended carbohydrate amount 3274, a recommended protein amount 3276, and a recommended fat amount 3278 to enter ketosis in a short period of time. The GUI 3270 may also include a goals section 3280 that presents the user's goals entered during the personalization process. The goals section 3280 may include a drop-down menu or a pop-up window that allows the user to change the goal. The goal may be to lose weight, maintain weight, or gain weight. Optionally, the goals section 3280 may also include a text box that allows the user to enter their own custom goal. The GUI 3270 may also include a measurements section 3282 that posts the user's height and weight entered during the personalization process. The user may use the pull-down menu or pop-up window to switch between metric and imperial units. The GUI 3270 may also include a date of birth section 3284 that presents the date of birth entered during the personalization process. The GUI 3270 may also include a wheel that allows the user to dial in a new date or a text box that allows the user to enter a new date, so that the user can enter a new measurement by tapping on the measurement section 3282. The GUI 3270 may also include an activity level section 3286 that presents the activity level entered during the personalization process. The GUI 3270 may also include a pop-up window that lists activity level options, so that the user can change the activity level by tapping on the activity level section 3286.The GUI 3270 may include a switch (not shown) or slide toggle 2016 that may be slid to one side 2018 to display estimates for females and to the other side 2020 to display estimates for males.

[0256] As shown in FIG. 24C, when a user selects or taps on the notification section 3254, the user can turn on or off the notifications provided. The notifications can include a notification to inform the user that a ketone level has reached a threshold and a notification to inform the user that a ketone level has fallen below a threshold. The threshold can be a ketosis threshold. The threshold can be about 0.4 mmol / L, or about 0.45 mmol / L, or about 0.5 mmol / L, or about 0.55 mmol / L, or about 0.6 mmol / L.

[0257] In some embodiments, the system can determine whether the ketone values ​​are above a threshold ketone concentration. In response to determining that the ketone values ​​are above the threshold ketone concentration, the system can output a notification. In some embodiments, the notification can be output only after the length of time that the ketone values ​​are above the threshold ketone concentration reaches a minimum time. The minimum time can be, for example, at least about 2 minutes, or at least about 5 minutes, or at least about 10 minutes, or at least about 15 minutes, or at least about 30 minutes. The threshold ketone concentration can be pre-set, application set, or user set. The notification can include a tactile component, such as a vibration. The notification can include an audible component, such as a sound, such as a beep. The notification can also be an alert notification indicating that the user has entered a state of ketosis.

[0258] In some embodiments, the system may determine whether the ketone values ​​have fallen below a threshold ketone concentration. In response to determining that the ketone values ​​have fallen below the threshold ketone concentration, the system may output a notification. In some embodiments, the notification may only be output after the ketone values ​​have been below the threshold ketone concentration for a minimum amount of time. The minimum amount of time may be, for example, at least about 2 minutes, or at least about 5 minutes, or at least about 10 minutes, or at least about 15 minutes, or at least about 30 minutes. In some embodiments, the notification that the ketone values ​​have fallen below the ketone threshold concentration may only be output after the ketone values ​​have fallen below the ketone threshold concentration after being above the ketone threshold concentration for a period of time. The notification that the ketone values ​​have fallen below the ketone threshold concentration may include a tactile component, such as a vibration. The notification that the ketone values ​​have fallen below the ketone threshold concentration may include an audible component, such as a sound, such as a beep. The notification that the ketone values ​​have fallen below the ketone threshold concentration may also be an alert notification indicating that the user is no longer in ketosis or that the user has fallen out of ketosis.

[0259] Notifications described in various embodiments herein may include alert notifications such as toast notifications, banner notifications, lock screen notifications, slide-up notifications, and the like, as are well known in mobile application design.

[0260] As a summary and / or supplement to the above described several embodiments, various aspects of the present subject matter are presented below. Note that what is emphasized here is the mutual relationship and interchangeability of the following embodiments. In other words, emphasis is placed on the fact that each feature of the multiple embodiments can be combined with any other feature unless otherwise expressly described or without logical validity. Note that although no explicit reference is made below to the drawings, the description in each of the following paragraphs is a reprint and development of each embodiment described in this specification.

[0261] A software library that provides a unified framework for various applications and third party applications to access sensor data. The system further comprises a sensor control module and a remote management module. The sensor control module comprises logic for communicating with the sensors, receiving sensor data, and communicating the sensor data to the remote management module or various applications. The sensor control module can comprise a user interface that displays a banner containing multiple components. The content of the banner can be different for each host application. The system can further include a host application in which the banner is embedded.

[0262] In many embodiments, an analyte monitoring system includes a receiving device including one or more processors, a wireless communication circuit, and a memory. The wireless communication circuit is configured to receive data indicative of an analyte value from a sensor control device including an analyte sensor. The sensor control device is configured such that at least a portion of the analyte sensor is in fluid contact with a bodily fluid of a subject. The memory is coupled to the one or more processors and stores a host application and a software library. The software library includes a sensor control module configured to be executed by the one or more processors. The sensor control module includes instructions. When executed by the one or more processors, the instructions cause the one or more processors to: provide, via a sensor control module interface of the sensor control module, a first portion of the data indicative of the analyte value to the host application; determine a status of the analyte sensor; and display, via a user interface of the sensor control module, a second portion of the data indicative of the analyte value and the status of the analyte sensor.

[0263] In some embodiments, a first portion of the data indicative of the analyte value is displayed in a first section of the host application. In some embodiments, a second portion of the data indicative of the analyte value and the status of the analyte sensor is displayed in a second section of the host application. In some embodiments, the second section is a banner. In some embodiments, the second section is the only display of the real-time analyte concentration detected by the analyte sensor. In some embodiments, the second section is the only display of the status of the analyte sensor. In some embodiments, the second section is the primary display of the status of the analyte sensor. In some embodiments, the first section and the second section are displayed simultaneously on the host application.

[0264] In some embodiments, the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value overlap.

[0265] In some embodiments, the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value are non-overlapping.

[0266] In some embodiments, the sensor control module interface of the sensor control module is configured to provide a first portion of the data indicative of the analyte value to the host application in response to a request from the host application.

[0267] In some embodiments, the first portion of the data indicative of the analyte value includes analyte data received at a first interval, in some embodiments, the second portion of the data indicative of the analyte value includes analyte data received at a second interval different from the first interval.

[0268] In some embodiments, the first portion of the data indicative of the analyte value includes real-time analyte data and the second portion of the data indicative of the analyte value includes historical analyte data.

[0269] In some embodiments, the host application includes a software library.

[0270] In some embodiments, the host application includes instructions that, when executed by the one or more processors, cause the one or more processors to determine at least one metric based on a first portion of data indicative of an analyte value provided by the sensor control module, and display the at least one metric in a user interface.

[0271] In some embodiments, the first portion of the data indicative of the analyte value includes an analyte concentration detected by the analyte sensor.

[0272] In some embodiments, the first portion of data indicative of the analyte value is provided periodically.

[0273] In some embodiments, the first portion of data indicative of the analyte value is provided every minute.

[0274] In some embodiments, the second portion of the data indicative of the analyte value includes a real-time analyte concentration detected by the analyte sensor.

[0275] In some embodiments, the second portion of the data indicative of the analyte value includes a trend arrow.

[0276] In some embodiments, the analyte sensor status includes an icon and a description.

[0277] In some embodiments, the status of the analyte sensor includes an indication of the remaining life of the analyte sensor. In some embodiments, the indication of the remaining life of the analyte sensor includes a graphical display, the graphical display including a progress indicator visually indicating the remaining life of the analyte sensor. In some embodiments, the graphical display is a circle, the progress indicator is a colored portion of a circumference of the circle, and the ratio of the colored portion of the circumference of the circle to the total circumference of the circle is proportional to the ratio of the remaining life of the analyte sensor to the total life of the analyte sensor. In some embodiments, the total life of the analyte sensor is about 14 days. In some embodiments, if the remaining life of the sensor is greater than about 1 day, the colored portion is a first color, and if the remaining life of the sensor is less than about 1 day, the colored portion is a second color.

[0278] In some embodiments, the indication of the remaining life of the analyte sensor includes a textual description including a numerical value. In some embodiments, if the remaining life of the sensor is greater than about 1 day, the numerical value of the textual description includes the number of days of the remaining life of the sensor. In some embodiments, if the remaining life of the sensor is less than about 1 day and greater than about 1 hour, the numerical value of the textual description includes the number of hours of the remaining life of the sensor. In some embodiments, if the remaining life of the sensor is less than about 1 hour, the numerical value of the textual description includes the number of minutes of the remaining life of the sensor.

[0279] In some embodiments, the host application includes instructions that, when executed by the one or more processors, further cause the one or more processors to, in response to a selection of the second section, display further details of the status of the analyte sensor via a second user interface of the sensor control module. In some embodiments, the further details of the status of the analyte sensor include a remaining life span of the analyte sensor. In some embodiments, the further details of the status of the analyte sensor include a serial number of the analyte sensor. In some embodiments, the further details of the status of the analyte sensor include an identification number of the analyte sensor. In some embodiments, the further details of the status of the analyte sensor include an error message. In some embodiments, the error message includes instructions to pair a new analyte sensor. In some embodiments, the error message includes instructions to check the fit of the analyte sensor to the user. In some embodiments, the error message includes instructions to enable "BLUETOOTH" on the receiving device. In some embodiments, the error message includes a notification regarding a temperature of the analyte sensor. In some embodiments, the temperature of the analyte sensor is too high. In some embodiments, the temperature of the analyte sensor is too low. In some embodiments, the further details of the analyte sensor status include a message requesting to pair a new analyte sensor. In some embodiments, the further details of the analyte sensor status include an indication of the amount of time remaining before the analyte sensor becomes active. In some embodiments, the further details of the analyte sensor status include a message requesting to start a new session.

[0280] In some embodiments, the host application includes instructions that, when executed by the one or more processors, further cause the one or more processors to, in response to selection of the second section, display details of the new analyte sensor pairing via a third user interface of the sensor control module.

[0281] In some embodiments, the third user interface is displayed only after selection of the second section.

[0282] In many embodiments, the method includes receiving, by a sensor control module, data indicative of an analyte value from a sensor control device including an analyte sensor, the sensor control device configured such that at least a portion of the analyte sensor is in fluid contact with a bodily fluid of the subject, and the method further includes providing, by a sensor control module interface of the sensor control module, a first portion of the data indicative of the analyte value to a host application, determining a status of the analyte sensor, and displaying, by a user interface of the sensor control module, a second portion of the data indicative of the analyte value and the status of the analyte sensor on the user interface.

[0283] In some embodiments, a first portion of the data indicative of the analyte value is displayed in a first section of the host application. In some embodiments, a second portion of the data indicative of the analyte value is displayed in a second section of the host application. In some embodiments, the second section is a banner. In some embodiments, the second section is the only display of the real-time analyte concentration detected by the analyte sensor. In some embodiments, the second section is the only display of the status of the analyte sensor. In some embodiments, the second section is the primary display of the status of the analyte sensor.

[0284] In some embodiments, the first section and the second section are displayed simultaneously on the host application.

[0285] In some embodiments, the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value overlap.

[0286] In some embodiments, the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value are non-overlapping.

[0287] In some embodiments, a sensor control module interface of the sensor control module provides a first portion of the data indicative of the analyte value to the host application in response to a request from the host application.

[0288] In some embodiments, the first portion of the data indicative of the analyte value includes analyte data received at a first interval, in some embodiments, the second portion of the data indicative of the analyte value includes analyte data received at a second interval different from the first interval.

[0289] In some embodiments, the first portion of the data indicative of the analyte value includes real-time analyte data and the second portion of the data indicative of the analyte value includes historical analyte data.

[0290] In some embodiments, the host application includes a software library. In some embodiments, the software library comprises a sensor control module.

[0291] In some embodiments, the method further includes identifying at least one metric based on a first portion of the data indicative of the test substance value provided by the sensor control module, and displaying the at least one metric on a user interface.

[0292] In some embodiments, the first portion of the data indicative of the analyte value includes an analyte concentration detected by the analyte sensor.

[0293] In some embodiments, the first portion of the data indicative of the analyte value is provided periodically.

[0294] In some embodiments, the first portion of data indicative of the analyte value is provided every minute.

[0295] In some embodiments, the second portion of the data indicative of the analyte value includes a real-time analyte concentration detected by the analyte sensor.

[0296] In some embodiments, the second portion of the data indicative of the analyte value includes a trend arrow.

[0297] In some embodiments, the analyte sensor status includes an icon and a description.

[0298] In some embodiments, the status of the analyte sensor includes an indication of the remaining life of the analyte sensor. In some embodiments, the indication of the remaining life of the analyte sensor includes a graphical display, the graphical display including a progress indicator visually indicating the remaining life of the analyte sensor. In some embodiments, the graphical display is a circle, the progress indicator is a colored portion of a circumference of the circle, and the ratio of the colored portion of the circumference of the circle to the total circumference of the circle is proportional to the ratio of the remaining life of the analyte sensor to the total life of the analyte sensor. In some embodiments, the total life of the analyte sensor is about 14 days. In some embodiments, if the remaining life of the sensor is greater than about 1 day, the colored portion is a first color, and if the remaining life of the sensor is less than about 1 day, the colored portion is a second color.

[0299] In some embodiments, the indication of the remaining life of the analyte sensor includes a textual description including a numerical value. In some embodiments, if the remaining life of the sensor is greater than about 1 day, the numerical value of the textual description includes the number of days of the remaining life of the sensor. In some embodiments, if the remaining life of the sensor is less than about 1 day and greater than about 1 hour, the numerical value of the textual description includes the number of hours of the remaining life of the sensor. In some embodiments, if the remaining life of the sensor is less than about 1 hour, the numerical value of the textual description includes the number of minutes of the remaining life of the sensor.

[0300] In some embodiments, the method further includes displaying, in response to a user selecting the second section, further details of the analyte sensor's status via a second user interface of the sensor control module. In some embodiments, the further details of the analyte sensor's status include a remaining life span of the analyte sensor. In some embodiments, the further details of the analyte sensor's status include a serial number of the analyte sensor. In some embodiments, the further details of the analyte sensor's status include an identification number of the analyte sensor. In some embodiments, the further details of the analyte sensor's status include an error message. In some embodiments, the error message includes instructions to pair a new analyte sensor. In some embodiments, the error message includes instructions to check the fit of the analyte sensor to the user. In some embodiments, the error message includes instructions to enable "BLUETOOTH" on the receiving device. In some embodiments, the error message includes a notification regarding a temperature of the analyte sensor. In some embodiments, the temperature of the analyte sensor is too high. In some embodiments, the temperature of the analyte sensor is too low. In some embodiments, the further details of the analyte sensor status include a message to pair a new analyte sensor, hi some embodiments, the further details of the analyte sensor status include an indication of the amount of time remaining before the analyte sensor becomes active.

[0301] In some embodiments, the method further includes, in response to selection of the second section, displaying new analyte sensor pairing details via a third user interface of the sensor control module.

[0302] In some embodiments, the third user interface is displayed only after selection of the second section.

[0303] In many embodiments, a device for displaying metrics associated with a subject includes an input configured to receive analyte measurement data, a display configured to visually present information, and one or more processors. The one or more processors are coupled to the input, the display, and a memory storing instructions. When executed by the one or more processors, the instructions cause the device to: determine a first recommended daily nutrient goal for a male and a second recommended daily nutrient goal for a female; determine a first recommended daily calorie total for a male and a second recommended daily calorie total for a female; display a first graphical element indicative of the first recommended daily nutrient goal and the first recommended daily calorie total in response to a selection of a male option; and display a second graphical element indicative of the second recommended daily nutrient goal and the second recommended daily calorie total in response to a selection of a female option. The first graphical element includes a first graph having a first portion showing a recommended daily amount of carbohydrates, a second portion showing a recommended daily amount of protein, and a third portion showing a recommended daily amount of fat. The second graphical element includes a second graph having a first portion showing a recommended daily amount of carbohydrates, a second portion showing a recommended daily amount of protein, and a third portion showing a recommended daily amount of fat.

[0304] In some embodiments, the first graph and the second graph are both pie graphs.

[0305] In some embodiments, the first graphical element further includes a numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount. In some embodiments, the numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount is a percentage of the first recommended daily nutrient goal for each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount. In some embodiments, the numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount is a gram amount representing each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount.

[0306] In some embodiments, the second graphic element further includes a numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount. In some embodiments, the numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount is a percentage of the second recommended daily nutrient goal for each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount. In some embodiments, the numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount is a gram amount representing each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount.

[0307] In some embodiments, the instructions further cause the device to display a male selectable option and a female selectable option, hi some embodiments, the male selectable option and the female selectable option are slideable switches.

[0308] In some embodiments, the first recommended daily nutrient goal and the second recommended daily nutrient goal are determined based at least on the subject's weight and the subject's age.

[0309] In some embodiments, the first recommended daily nutrient goal and the second recommended daily nutrient goal are determined based at least on the received test substance measurement data, hi some embodiments, the received test substance measurement data is ketone level data.

[0310] In many embodiments, a device for displaying metrics associated with a subject includes an input configured to receive ketone measurement data, a display configured to visually present the information, and one or more processors coupled to the input, the display, and a memory storing instructions that, when executed by the one or more processors, cause the device to display a graph including a ketone profile representative of the ketone measurement data received over a period of time and a ketosis threshold, display an average of the ketone values ​​over the period of time, and display a total amount of time spent in ketosis over the period of time.

[0311] In some embodiments, the period of time is one day.

[0312] In some embodiments, the graph further includes a target threshold. In some embodiments, the instructions further cause the device to display the total amount of time that the target threshold was exceeded over a period of time.

[0313] In some embodiments, the instructions further cause the device to display the real-time ketone concentration.

[0314] In some embodiments, the instructions further cause the device to display a trend arrow associated with the ketone concentration.

[0315] In some embodiments, the instructions further cause the device to display a status of a biosensor configured to transmit ketone measurement data to the device.

[0316] In some embodiments, the graph further comprises shading in the area below the ketone profile, hi some embodiments, the shading is a gradient that becomes darker the closer one gets to the graph of the ketone profile.

[0317] In some embodiments, the graph further includes at least one icon corresponding to a logged entry on the ketone profile. In some embodiments, the logged entries include food and drink entries, fasting entries, exercise entries, mood entries, appetite entries, or energy entries. In some embodiments, the at least one icon is a plurality of icons, and the instructions further cause the device to display a subset of the plurality of icons according to the filter.

[0318] In some embodiments, the graph further includes at least one fasting icon on the ketone profile that corresponds to a logged fasting entry. The fasting entry includes a fasting duration having a start time and an end time. The shading of the area under the ketone profile from the start time to the end time of the fasting duration is shaded in a manner that is distinguishable from the shading of the area under the ketone profile before the start time and the area under the ketone profile after the end time of the fasting duration.

[0319] In some embodiments, the graph further includes at least one exercise icon on the ketone profile that corresponds to a logged exercise entry. The exercise entry includes an exercise duration having a start time and an end time. The shading of the area under the ketone profile from the start time to the end time of the exercise duration is shaded distinctly from the shading of the area under the ketone profile before the start time and the area under the ketone profile after the end time of the exercise duration.

[0320] In some embodiments, the instructions further cause the device to display the pill in response to multiple logged entries having logging times within a predetermined short period of time. In some embodiments, the predetermined short period of time is about one hour. In some embodiments, the pill includes an indication of a count of multiple logged entries having logging times within the predetermined short period of time. In some embodiments, the instructions further cause the device to display a tooltip in response to selecting or pressing the pill. In some embodiments, the tooltip includes a list of logged entries. In some embodiments, each logged entry in the list includes an icon, a logging time, and a brief description.

[0321] In some embodiments, the instructions further cause the device to display a flag in response to pressing the display for at least a period of time. In some embodiments, the flag includes an indicia indicative of a ketone concentration at a first time. The first time corresponds to a time on the graph that coincides with or is adjacent to the location of the display press. In some embodiments, if the ketone concentration at the first time is below a lower threshold concentration, the indicia indicative of the ketone concentration is worded to indicate that the ketone concentration is below the lower threshold concentration. In some embodiments, if the ketone concentration is below the lower threshold concentration, the indicia indicative of the ketone concentration does not include a numerical value for the ketone concentration. In some embodiments, if the ketone concentration at the first time is above an upper threshold concentration, the indicia indicative of the ketone concentration is worded to indicate that the ketone concentration is above an upper threshold concentration. In some embodiments, if the ketone concentration at the first time is above an upper threshold concentration, the indicia indicative of the ketone concentration does not include a numerical value for the ketone concentration. In some embodiments, the indication of the ketone concentration includes a numerical value of the ketone concentration if the ketone concentration is between the lower threshold and the upper threshold.

[0322] In some embodiments, the instructions further cause the device to display a plurality of additional flags in response to movement of the press along the graph, hi some embodiments, each of the plurality of additional flags includes an indication of ketone concentration at a plurality of different times, each of the plurality of different times corresponding to a time on the graph that coincides with or is proximate to the location of the press on the display.

[0323] In some embodiments, the instructions further cause the device to cease displaying the flag in response to an end of pressing the display for at least a period of time.

[0324] In many embodiments, a device for displaying metrics associated with a subject includes an input configured to receive ketone measurement data, a display configured to visually present the information, and one or more processors coupled to the input, the display, and a memory storing instructions. When executed by the one or more processors, the instructions cause the device to display on a first graphical user interface a graph including a ketone profile representative of the ketone measurement data received over a period of time and at least one fasting icon, and to display a second graphical user interface including graphical elements indicating an elapsed fasting time, a target time, and an amount of time the subject has fasted.

[0325] In some embodiments the second graphical user interface is configured to be displayed in response to a selection of at least one fasting icon in the graph.

[0326] In some embodiments, the second graphical user interface is a pop-up screen.

[0327] In some embodiments, the second graphical user interface further includes a start time and an end time for the goal time.

[0328] In some embodiments, the graph of the first graphical user interface further comprises a target threshold and a ketosis threshold.

[0329] In some embodiments, the first graphical user interface further includes an indication of an average ketone level over a period of time, an indication of the total length of time spent in ketosis over a period of time, and an indication of the total length of time spent above a target threshold over a period of time.

[0330] In many embodiments, a device for displaying metrics associated with a subject includes an input configured to receive ketone measurement data, a display configured to visually present the information, and one or more processors. The one or more processors are coupled to the input, the display, and a memory storing instructions. When executed by the one or more processors, the instructions cause the device to perform the steps of displaying a graph on a graphical user interface including a ketone profile representative of the ketone measurement data received over a period of time and at least one exercise icon. The at least one exercise icon corresponds to a logged exercise entry. The exercise entry includes an exercise duration having a start time and an end time. The shading of the area below the ketone profile from the start time to the end time of the exercise duration is a shading that is distinguishable from the shading of the area below the ketone profile before the start time and the area below the ketone profile after the end time of the exercise duration.

[0331] In some embodiments, a logged exercise entry includes a description of the exercise and the intensity of the exercise.

[0332] In some embodiments, the instructions further cause the one or more processors to display a first vertical line at the start time and a second vertical line at the end time, the first vertical line configured to be moved to change the start time and the second vertical line configured to be moved to change the end time.

[0333] In many embodiments, a method for logging a fasting period includes selecting a length of the fasting period from a plurality of predetermined fasting period lengths and inputting a start time of the fasting period, the end time of the fasting period being determined automatically based on the start time of the fasting period and the selected predetermined fasting period length.

[0334] In some embodiments, the plurality of predetermined fasting period lengths comprises at least one of: none, 13 hours, 16 hours, 18 hours, 20 hours, and 36 hours.

[0335] In some embodiments, the start time of the fasting period is selected with a wheel.

[0336] In some embodiments, the start time of the fasting period is entered into a text field.

[0337] In many embodiments, a method for logging an exercise period includes the steps of setting a start time and start date for the exercise period, setting a length of the exercise period, inputting a description of the exercise performed during the exercise period, and inputting the intensity of the exercise performed during the exercise period.

[0338] In some embodiments, the intensity of exercise performed during the exercise period is entered by adjusting a slide bar to indicate an intensity range from low to high.

[0339] In some embodiments, entering a description of the exercise performed comprises typing the description of the exercise into a text field.

[0340] In some embodiments, entering a description of the exercise performed includes selecting the exercise from a list of suggested exercises.

[0341] In some embodiments, the list of suggested exercises includes a list of exercises previously entered by the user.

[0342] In some embodiments, the list of suggested exercises includes a list of the last five exercises previously entered by the user.

[0343] In many embodiments, a method for logging a mood includes setting a time and date for a mood entry, selecting a mood from a number of possible moods, and entering a description of the mood to be associated with the time and date of the mood entry.

[0344] In some embodiments, the plurality of mood candidates includes a plurality of emojis depicting different facial expressions.

[0345] In some embodiments entering the feeling description comprises typing the feeling description into a text field.

[0346] In some embodiments, entering the feeling description includes selecting a feeling from a list of suggested feelings. In some embodiments, the list of suggested feelings includes a list of feelings previously entered by the user. In some embodiments, the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0347] In many embodiments, a method for logging a morale level includes the steps of setting a time and date for the morale level entry, inputting the morale level, and inputting a description of the feeling associated with the time and date of the morale level entry.

[0348] In some embodiments, the vitality level is entered by adjusting a slide bar to indicate a range of vitality levels from low through medium to high.

[0349] In some embodiments entering the feeling description comprises typing the feeling description into a text field.

[0350] In some embodiments, entering the feeling description includes selecting a feeling from a list of suggested feelings. In some embodiments, the list of suggested feelings includes a list of feelings previously entered by the user. In some embodiments, the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0351] In many embodiments, a method for logging an appetite level includes the steps of setting a time and date of the appetite level entry, inputting the appetite level, and inputting a description of the feeling associated with the time and date of the appetite level entry.

[0352] In some embodiments, appetite level is entered by adjusting a slide bar to indicate appetite level ranging from low through medium to high.

[0353] In some embodiments entering the feeling description comprises typing the feeling description into a text field.

[0354] In some embodiments, entering the feeling description includes selecting a feeling from a list of suggested feelings. In some embodiments, the list of suggested feelings includes a list of feelings previously entered by the user. In some embodiments, the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0355] In many embodiments, a device for analyzing metrics associated with a subject includes an input configured to receive ketone measurement data, a display configured to visually present the information, and one or more processors coupled to the input, the display, and a memory storing instructions that, when executed by the one or more processors, cause the device to determine whether a ketone value is above a threshold ketone concentration and, in response to determining that the ketone value is above the threshold ketone concentration, output a notification.

[0356] In some embodiments, the threshold ketone concentration is preset.

[0357] In some embodiments, the threshold ketone concentration is set by the subject.

[0358] In some embodiments, the threshold ketone concentration is about 0.5 mmol / L.

[0359] In some embodiments, the notification output in response to determining that the ketone level is above the threshold ketone concentration includes a tactile component, hi some embodiments, the tactile component is a vibration.

[0360] In some embodiments, the notification output in response to determining that the ketone level is above the threshold ketone concentration comprises a sound.

[0361] In some embodiments, the notification output in response to determining that the ketone levels are above the threshold ketone concentration includes a message indicating that the subject has entered a state of ketosis.

[0362] In some embodiments, the instructions further cause the device to determine whether the ketone values ​​fall below a threshold ketone concentration after a determination is made that the ketone values ​​are above the threshold ketone concentration, and to output a notification in response to the determination that the ketone values ​​fall below the threshold ketone concentration. In some embodiments, the notification output in response to the determination that the ketone values ​​fall below the threshold ketone concentration includes a tactile component. In some embodiments, the tactile component is a vibration. In some embodiments, the notification output in response to the determination that the ketone values ​​fall below the threshold ketone concentration includes a sound. In some embodiments, the notification output in response to the determination that the ketone values ​​fall below the threshold ketone concentration includes a message indicating that the subject has fallen out of ketosis.

[0363] Conclusion It should be noted that all features, elements, components, functions, and steps described in the description of any embodiment described herein are intended to be freely combinable and interchangeable with features, elements, components, functions, and steps of any other embodiment. Also, if a particular feature, element, component, function, or step is described only in the description of one embodiment, it should be understood that the feature, element, component, function, or step can also be used in all other embodiments described herein, unless expressly stated otherwise. Therefore, even if the following description does not expressly state as a specific example that features, elements, components, functions, and steps can be combined between different embodiments, or that features, elements, components, functions, and steps can be interchanged between embodiments, this paragraph serves as a preceding and supporting description that allows claims with such combinations or substitutions to be added at any time. Therefore, the above description of specific embodiments of the subject matter of the present disclosure has been presented for illustration and explanation. It is clearly recognized that it would be an undue burden to explicitly list every possible combination or permutation, especially since one of ordinary skill in the art would readily recognize the permissibility of every such combination or permutation.

[0364] Various modifications and variations are possible in the embodiments, and specific examples thereof are shown in the drawings and described in detail herein. It will be apparent to those skilled in the art that various modifications and variations can be made to the method and system of the subject matter of the present disclosure without departing from the spirit and scope of the subject matter of the present disclosure. Therefore, the subject matter of the present disclosure is intended to include modifications and variations that are within the scope of the appended claims and their equivalents. Furthermore, any feature, function, step, or element of the embodiment may be described or included in the scope of the claims, and the scope of the invention of the claims may be defined by negative limitations of any feature, function, step, or element not included in the scope of the claims.

[0365] Itemized Description Exemplary embodiments are described below in numbered sections.

[0366] Section 1 one or more processors; a sensor control device comprising an analyte sensor, at least a portion of the analyte sensor configured to be in fluid contact with a bodily fluid of a subject; and a wireless communication circuit configured to receive data indicative of an analyte value from the sensor control device. a memory coupled to the one or more processors, the memory storing a host application and software libraries; A receiving device comprising: A test substance monitoring system comprising: the software library comprises a sensor control module configured to be executed by the one or more processors; The sensor control module includes instructions that, when executed by the one or more processors, cause the one or more processors to: providing, via a sensor control module interface of the sensor control module, a first portion of the data indicative of the analyte value to the host application; determining a state of the analyte sensor; displaying, via a user interface of the sensor control module, a second portion of the data indicative of the analyte value and the status of the analyte sensor; A test substance monitoring system that performs the above steps.

[0367] Section 2 2. The system of claim 1, further comprising: displaying the first portion of the data indicative of the test substance value in a first section of the host application.

[0368] Section 3 3. The system of claim 2, further comprising displaying the second portion of the data indicative of the analyte value and the status of the analyte sensor in a second section of the host application.

[0369] Section 4 4. The system of claim 3, wherein the second section is a banner.

[0370] Section 5 4. The system of claim 3, wherein the second section is the sole indication of the real-time analyte concentration detected by the analyte sensor.

[0371] Section 6 4. The system of claim 3, wherein the second section is the sole indication of the condition of the analyte sensor.

[0372] Section 7 4. The system of claim 3, wherein the second section is a primary display of the status of the analyte sensor.

[0373] Section 8 4. The system of claim 3, wherein the first section and the second section are displayed simultaneously on the host application.

[0374] Section 9 2. The system of claim 1, wherein the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value overlap.

[0375] Section 10 2. The system of claim 1, wherein the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value do not overlap.

[0376] Section 11 2. The system of claim 1, wherein the sensor control module interface of the sensor control module is configured to provide the first portion of the data indicative of the test substance value to the host application in response to a request from the host application.

[0377] Section 12 2. The system of claim 1, wherein the first portion of the data indicative of the analyte value includes analyte data received at a first interval.

[0378] Section 13 13. The system of claim 12, wherein the second portion of the data indicative of the analyte value includes analyte data received at a second interval different from the first interval.

[0379] Section 14 the first portion of the data indicative of the analyte value includes real-time analyte data; 2. The system of claim 1, wherein the second portion of the data indicative of the analyte value includes historical analyte data.

[0380] Section 15 2. The system of claim 1, wherein the host application includes the software library.

[0381] Section 16 The host application includes instructions that, when executed by the one or more processors, cause the one or more processors to: determining at least one metric based on the first portion of the data indicative of the analyte value provided by the sensor control module; displaying the at least one metric in the user interface; The system according to claim 1,

[0382] Section 17 2. The system of claim 1, wherein the first portion of the data indicative of the analyte value includes an analyte concentration detected by the analyte sensor.

[0383] Section 18 2. The system of claim 1, wherein the first portion of the data indicative of the test substance value is provided periodically.

[0384] Section 19 2. The system of claim 1, wherein the first portion of the data indicative of the analyte value is provided every minute.

[0385] Section 20 2. The system of claim 1, wherein the second portion of the data indicative of the analyte value includes a real-time analyte concentration detected by the analyte sensor.

[0386] Section 21 2. The system of claim 1, wherein the second portion of the data indicative of the test substance value includes a trend arrow.

[0387] Section 22 2. The system of claim 1, wherein the status of the analyte sensor includes an icon and a description.

[0388] Section 23 2. The system of claim 1, wherein the condition of the analyte sensor includes an indication of remaining life of the analyte sensor.

[0389] Section 24 the indication of the remaining life of the analyte sensor includes a graphical indication; 24. The system of claim 23, wherein the graphical display includes a progress indicator that visually indicates the remaining life of the analyte sensor.

[0390] Section 25 the graphical representation is circular; the progress indicator being a colored portion of the circumference of the circle; 25. The system of claim 24, wherein the ratio of the colored portion of the circumference of the circle to the entire circumference of the circle is proportional to the ratio of the remaining life of the test substance sensor to the total life of the test substance sensor.

[0391] Section 26 26. The system of claim 25, wherein the total life of the analyte sensor is about 14 days.

[0392] Section 27 if the remaining life of the sensor is greater than about one day, the colored portion is a first color; 26. The system of claim 25, wherein the colored portion is a second color when the remaining life of the sensor is less than about one day.

[0393] Section 28 24. The system of claim 23, wherein the indication of the remaining life of the analyte sensor includes a textual description that includes a numerical value.

[0394] Section 29 30. The system of claim 28, wherein if the remaining life of the sensor is greater than about one day, the numerical value of the textual description comprises a number of days of the remaining life of the sensor.

[0395] Section 30 30. The system of claim 28, wherein if the remaining life of the sensor is less than about one day and more than about one hour, the numerical value of the textual description includes a number of hours of the remaining life of the sensor.

[0396] Section 31 30. The system of claim 28, wherein if the remaining life of the sensor is less than about one hour, the numerical value of the textual description includes a number of minutes of the remaining life of the sensor.

[0397] Section 32 The host application includes instructions that, when executed by the one or more processors, cause the one or more processors to: Responsive to selection of the second section, displaying further details of the status of the analyte sensor via a second user interface of the sensor control module. The system according to claim 3, further comprising:

[0398] Section 33 33. The system of clause 32, wherein the further details of the condition of the analyte sensor include a remaining length of life of the analyte sensor.

[0399] Section 34 33. The system of clause 32, wherein the further details of the status of the analyte sensor include a serial number of the analyte sensor.

[0400] Section 35 33. The system of clause 32, wherein the further details of the status of the analyte sensor include an identification number of the analyte sensor.

[0401] Section 36 33. The system of clause 32, wherein the further details of the status of the analyte sensor include an error message.

[0402] Section 37 37. The system of claim 36, wherein the error message includes instructions to pair a new test substance sensor.

[0403] Section 38 37. The system of claim 36, wherein the error message includes instructions to a user to check the attachment of the test substance sensor.

[0404] Section 39 37. The system of claim 36, wherein the error message includes instructions to enable "BLUETOOTH" on the receiving device.

[0405] Section 40 37. The system of claim 36, wherein the error message includes a notification regarding the temperature of the test substance sensor.

[0406] Section 41 41. The system of claim 40, wherein the temperature of the test substance sensor is too high.

[0407] Section 42 41. The system of claim 40, wherein the temperature of the test substance sensor is too low.

[0408] Section 43 33. The system of claim 32, wherein the further details of the status of the analyte sensor include a message to pair a new analyte sensor.

[0409] Section 44 33. The system of clause 32, wherein the further details of the status of the analyte sensor include an indication of an amount of time remaining until the analyte sensor becomes active.

[0410] Section 45 33. The system of clause 32, wherein the further details of the status of the analyte sensor include a message to start a new session.

[0411] Section 46 The host application includes instructions that, when executed by the one or more processors, cause the one or more processors to: displaying new analyte sensor pairing details via a third user interface of the sensor control module in response to selection of the second section. The system according to claim 3, further comprising:

[0412] Section 47 47. The system of claim 46, wherein the third user interface is displayed only after selection of the second section.

[0413] Section 48 receiving, by a sensor control module, data indicative of an analyte value from a sensor control device comprising an analyte sensor, at least a portion of the analyte sensor configured to be in fluid contact with a bodily fluid of the subject; providing, via a sensor control module interface of the sensor control module, a first portion of the data indicative of the analyte value to a host application; determining a state of the analyte sensor; displaying, via a user interface of the sensor control module, a second portion of the data indicative of the analyte value and the status of the analyte sensor on a user interface; The method includes:

[0414] Section 49 49. The method of claim 48, further comprising displaying the first portion of the data indicative of the test substance value in a first section of the host application.

[0415] Section 50 50. The method of claim 49, further comprising displaying the second portion of the data indicative of the test substance value in a second section of the host application.

[0416] Section 51 51. The method of claim 50, wherein the second section is a banner.

[0417] Section 52 51. The method of claim 50, wherein the second section is the sole indication of the real-time analyte concentration detected by the analyte sensor.

[0418] Section 53 51. The method of claim 50, wherein the second section is the sole indication of the condition of the analyte sensor.

[0419] Section 54 51. The method of claim 50, wherein the second section is a primary indication of the status of the analyte sensor.

[0420] Section 55 51. The method of claim 50, wherein the first section and the second section are displayed simultaneously on the host application.

[0421] Section 56 49. The method of claim 48, wherein the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value overlap.

[0422] Section 57 49. The method of clause 48, wherein the first portion of the data indicative of the analyte value and the second portion of the data indicative of the analyte value do not overlap.

[0423] Section 58 49. The method of claim 48, wherein the sensor control module interface of the sensor control module provides the first portion of the data indicative of the test substance value to the host application in response to a request from the host application.

[0424] Section 59 49. The method of claim 48, wherein the first portion of the data indicative of the analyte value includes analyte data received at a first interval.

[0425] Section 60 60. The method of claim 59, wherein the second portion of the data indicative of the analyte value comprises analyte data received at a second interval different from the first interval.

[0426] Section 61 the first portion of the data indicative of the analyte value includes real-time analyte data; 49. The method of claim 48, wherein the second portion of the data indicative of the analyte value comprises historical analyte data.

[0427] Section 62 49. The method of clause 48, wherein the host application includes a software library.

[0428] Section 63 63. The method of claim 62, wherein the software library comprises the sensor control module.

[0429] Section 64 determining at least one metric based on the first portion of the data indicative of the analyte value provided by the sensor control module; displaying the at least one metric in the user interface; 49. The method of claim 48, further comprising:

[0430] Section 65 49. The method of claim 48, wherein the first portion of the data indicative of the analyte value includes an analyte concentration detected by the analyte sensor.

[0431] Section 66 49. The method of claim 48, wherein the first portion of the data indicative of the analyte value is provided periodically.

[0432] Section 67 49. The method of claim 48, wherein the first portion of data indicative of the analyte value is provided every minute.

[0433] Section 68 49. The method of claim 48, wherein the second portion of the data indicative of the analyte value comprises a real-time analyte concentration detected by the analyte sensor.

[0434] Section 69 49. The method of claim 48, wherein the second portion of the data indicative of the test substance value includes a trend arrow.

[0435] Section 70 49. The method of clause 48, wherein the status of the analyte sensor includes an icon and a description.

[0436] Section 71 49. The method of clause 48, wherein the condition of the analyte sensor includes an indication of remaining life of the analyte sensor.

[0437] Section 72 the indication of the remaining life of the analyte sensor includes a graphical indication; 72. The method of claim 71, wherein the graphical display includes a progress indicator that visually indicates the remaining life of the analyte sensor.

[0438] Section 73 the graphical representation is circular; the progress indicator being a colored portion of the circumference of the circle; 73. The method of claim 72, wherein the ratio of the colored portion of the circumference of the circle to the entire circumference of the circle is proportional to the ratio of the remaining life of the analyte sensor to the total life of the analyte sensor.

[0439] Section 74 74. The method of claim 73, wherein the total lifespan of the analyte sensor is about 14 days.

[0440] Section 75 if the remaining life of the sensor is greater than about one day, the colored portion is a first color; 74. The method of claim 73, wherein the colored portion is a second color if the remaining life of the sensor is less than about one day.

[0441] Section 76 72. The method of claim 71, wherein the indication of the remaining life of the analyte sensor includes a textual description that includes a numerical value.

[0442] Section 77 77. The method of clause 76, wherein if the remaining life of the sensor is greater than about one day, the numerical value of the textual description comprises the number of days of the remaining life of the sensor.

[0443] Section 78 77. The method of claim 76, wherein if the remaining life of the sensor is less than about one day and more than about one hour, the numerical value of the textual description includes the number of hours of the remaining life of the sensor.

[0444] Section 79 77. The method of clause 76, wherein if the remaining life of the sensor is less than about one hour, the numerical value of the textual description comprises a number of minutes of the remaining life of the sensor.

[0445] Section 80 Responsive to a user selecting the second section, displaying further details of the status of the analyte sensor via a second user interface of the sensor control module. 51. The method of claim 50, further comprising:

[0446] Section 81 81. A method according to clause 80, wherein the further details of the condition of the analyte sensor include a remaining length of life of the analyte sensor.

[0447] Section 82 81. The method of clause 80, wherein the further details of the status of the analyte sensor include a serial number of the analyte sensor.

[0448] Section 83 81. A method according to clause 80, wherein the further details of the status of the analyte sensor include an identification number of the analyte sensor.

[0449] Section 84 81. The method of clause 80, wherein the further details of the status of the analyte sensor include an error message.

[0450] Section 85 85. The method of clause 84, wherein the error message includes instructions to pair a new analyte sensor.

[0451] Section 86 85. The method of clause 84, wherein the error message includes instructions to a user to check the attachment of the test substance sensor.

[0452] Section 87 85. The method of claim 84, wherein the error message includes instructions to enable “BLUETOOTH” on the receiving device.

[0453] Section 88 85. The method of claim 84, wherein the error message includes a notification regarding the temperature of the test substance sensor.

[0454] Section 89 89. The method of claim 88, wherein the temperature of the analyte sensor is too high.

[0455] Section 90 89. The method of claim 88, wherein the temperature of the analyte sensor is too low.

[0456] Section 91 85. The method of claim 84, wherein the further details of the status of the analyte sensor include a message to pair a new analyte sensor.

[0457] Section 92 85. A method according to clause 84, wherein the further details of the status of the analyte sensor include an indication of an amount of time remaining until the analyte sensor becomes active.

[0458] Section 93 displaying new analyte sensor pairing details via a third user interface of the sensor control module in response to selection of the second section. 81. The method of claim 80, further comprising:

[0459] Section 94 94. The method of clause 93, wherein the third user interface is displayed only after selection of the second section.

[0460] Section 95 1. An apparatus for displaying metrics related to a subject, the apparatus comprising: an input configured to receive analyte measurement data; a display configured to visually present information; one or more processors coupled to the input, the display, and a memory storing instructions; Equipped with The instructions, when executed by the one or more processors, cause the device to: determining a first recommended daily nutrient goal for a male and a second recommended daily nutrient goal for a female; determining a first recommended daily calorie total for men and a second recommended daily calorie total for women; In response to the selection of the male option, displaying a first graphical element showing the first recommended daily nutrient goal, the first graphical element including a first graph having a first portion showing a recommended daily amount of carbohydrate, a second portion showing a recommended daily amount of protein, and a third portion showing a recommended daily amount of fat; an indication of said first total recommended daily calories; and In response to the selection of the female option, displaying a second graphical element showing the second recommended daily nutrient goal, the second graphical element including a second graph having a first portion showing a recommended daily amount of carbohydrate, a second portion showing a recommended daily amount of protein, and a third portion showing a recommended daily amount of fat; an indication of said second daily recommended calorie total; and and A device that performs the above.

[0461] Section 96 96. The apparatus of clause 95, wherein the first graph and the second graph are both pie charts.

[0462] Section 97 96. The device of clause 95, wherein the first graphical element further includes a numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount.

[0463] Section 98 98. The device of claim 97, wherein the numerical values ​​associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount are a percentage that each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount represents of the first recommended daily nutrient goal.

[0464] Section 99 98. The device of clause 97, wherein the numerical values ​​associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount are amounts in grams representing the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount, respectively.

[0465] Section 100 96. The device of clause 95, wherein the second graphical element further includes a numerical value associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount.

[0466] Section 101 Item 100. The device of item 100, wherein the numerical values ​​associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount are a percentage that each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount represents of the second recommended daily nutrient goal.

[0467] Section 102 Item 100. The device of item 100, wherein the numerical values ​​associated with each of the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount are amounts in grams representing the recommended daily carbohydrate amount, the recommended daily protein amount, and the recommended daily fat amount, respectively.

[0468] Section 103 The instructions cause the device to: Displaying selectable options for men and selectable options for women. 96. The apparatus of claim 95, further comprising:

[0469] Section 104 104. The apparatus of claim 103, wherein the male selectable options and the female selectable options are slidable switches.

[0470] Section 105 96. The device of clause 95, wherein the first recommended daily nutrient goal and the second recommended daily nutrient goal are determined based at least on the subject's body weight and the subject's age.

[0471] Section 106 96. The apparatus of clause 95, wherein the first recommended daily nutrient goal and the second recommended daily nutrient goal are determined based at least on the received test substance measurement data.

[0472] Section 107 107. The device of clause 106, wherein the received test substance measurement data is ketone level data.

[0473] Section 108 1. An apparatus for displaying metrics related to a subject, the apparatus comprising: an input configured to receive ketone measurement data; a display configured to visually present information; one or more processors coupled to the input, the display, and a memory storing instructions; Equipped with The instructions, when executed by the one or more processors, cause the device to: displaying a graph including a ketone profile representative of the ketone measurement data received over a period of time and the ketosis threshold; displaying the average ketone levels over the period of time; displaying the total amount of time spent in a ketotic state during the period; A device that performs the above.

[0474] Section 109 Item 109. The device of item 108, wherein the period of time is one day.

[0475] Section 110 109. The apparatus of claim 108, wherein the graph further includes a target threshold.

[0476] Section 111 The instructions cause the device to: displaying the total amount of time that the target threshold was exceeded during the period. 111. The apparatus of claim 110, further comprising:

[0477] Section 112 The instructions cause the device to: Steps to view real-time ketone levels Item 109. The apparatus of item 108, further comprising:

[0478] Section 113 The instructions cause the device to: Displaying trend arrows related to ketone levels Item 109. The apparatus of item 108, further comprising:

[0479] Section 114 The instructions cause the device to: displaying a status of a biosensor configured to transmit the ketone measurement data to the device; Item 109. The apparatus of item 108, further comprising:

[0480] Section 115 109. The apparatus of claim 108, wherein the graph further comprises shading the area under the ketone profile.

[0481] Section 116 116. The device of claim 115, wherein the shading is a gradient that becomes darker as it approaches the graph of the ketone profile.

[0482] Section 117 109. The apparatus of claim 108, wherein the graph further includes at least one icon on the ketone profile that corresponds to a logged entry.

[0483] Section 118 118. The apparatus of clause 117, wherein the logged entries include food and drink entries, fasting entries, exercise entries, mood entries, appetite entries, or energy entries.

[0484] Section 119 the at least one icon is a plurality of icons; The instructions cause the device to: displaying a subset of the plurality of icons according to a filter. 118. The apparatus of claim 117, further comprising:

[0485] Section 120 the graph further comprises at least one fasting icon on the ketone profile corresponding to a logged fasting entry, the fasting entry including a fasting duration having a start time and an end time; The device described in item 108, wherein the shading of the lower area of ​​the ketone profile from the start time to the end time of the fasting duration is a shade that is distinguishable from the shading of the lower area of ​​the ketone profile before the start time and the lower area of ​​the ketone profile after the end time of the fasting duration.

[0486] Section 121 the graph further comprises at least one exercise icon on the ketone profile corresponding to a logged exercise entry, the exercise entry including an exercise duration having a start time and an end time; Item 109. The device of item 108, wherein the shading of the area below the ketone profile from the start time to the end time of the exercise duration is a shade that is distinguishable from the shading of the area below the ketone profile before the start time and the area below the ketone profile after the end time of the exercise duration.

[0487] Section 122 The instructions cause the device to: Displaying a pill in response to multiple entries being logged having log times within a predetermined short period of time. Item 109. The apparatus of item 108, further comprising:

[0488] Section 123 Item 123. The apparatus of item 122, wherein the predetermined short period of time is about one hour.

[0489] Section 124 123. The apparatus of claim 122, wherein the pill includes an indication of a count of the number of logged entries having the logging time within the predetermined short period of time.

[0490] Section 125 The instructions cause the device to: Displaying a tooltip in response to selecting or pressing the pill. 123. The apparatus of claim 122, further comprising:

[0491] Section 126 126. The apparatus of claim 125, wherein the tooltip includes a listing of entries recorded in the log.

[0492] Section 127 127. The apparatus of clause 126, wherein each of the logged entries in the list includes an icon, a logging time, and a brief description.

[0493] Section 128 The instructions cause the device to: displaying a flag in response to pressing the display for at least a period of time. Item 109. The apparatus of item 108, further comprising:

[0494] Section 129 the flag includes an indication of the ketone concentration at a first time; 129. The apparatus of claim 128, wherein the first time corresponds to a time on the graph that coincides with or is adjacent to the location of the press on the display.

[0495] Section 130 130. The device of claim 129, wherein if the ketone concentration at the first time is below a lower threshold concentration, the indication of the ketone concentration is a statement that the ketone concentration is below the lower threshold concentration.

[0496] Section 131 130. The device of claim 129, wherein the indication of the ketone concentration does not include a numerical value for the ketone concentration if the ketone concentration is below a lower threshold concentration.

[0497] Section 132 130. The device of claim 129, wherein if the ketone concentration at the first time is greater than an upper threshold concentration, the indication of the ketone concentration is a statement that the ketone concentration is greater than the upper threshold concentration.

[0498] Section 133 130. The device of claim 129, wherein the indication of the ketone concentration does not include a numerical value for the ketone concentration when the ketone concentration is above an upper threshold concentration.

[0499] Section 134 130. The device of claim 129, wherein the indicia indicative of the ketone concentration includes a numerical value of the ketone concentration if the ketone concentration is between a lower threshold and an upper threshold.

[0500] Section 135 The instructions cause the device to: displaying a number of additional flags in response to the pressure movement along the graph. Item 129. The apparatus of item 128, further comprising:

[0501] Section 136 each of the plurality of additional flags includes an indication of ketone concentrations at a plurality of different times; 136. An apparatus as described in clause 135, wherein each of the different times corresponds to a time on the graph that coincides with or is close to the location of the press on the display.

[0502] Section 137 The instructions cause the device to: ceasing display of the flag in response to an end of the pressing of the display for the minimum period of time. Item 129. The apparatus of item 128, further comprising:

[0503] Section 138 1. An apparatus for displaying metrics related to a subject, the apparatus comprising: an input configured to receive ketone measurement data; a display configured to visually present information; one or more processors coupled to the input, the display, and a memory storing instructions; Equipped with The instructions, when executed by the one or more processors, cause the device to: displaying a graph on a first graphical user interface, the graph including a ketone profile representative of the ketone measurement data received over a period of time and at least one fasting icon; displaying a second graphical user interface including graphical elements indicative of an elapsed fasting time, a target time, and an amount of time the subject has fasted; A device that performs the above.

[0504] Section 139 139. The apparatus of claim 138, wherein the second graphical user interface is configured to be displayed in response to selection of the at least one fasting icon on the graph.

[0505] Section 140 139. The apparatus of clause 138, wherein the second graphical user interface is a pop-up screen.

[0506] Section 141 139. The apparatus of claim 138, wherein the second graphical user interface further includes a start time and an end time for the target time.

[0507] Section 142 139. The apparatus of claim 138, wherein the graph of the first graphical user interface further includes a target threshold and a ketosis threshold.

[0508] Section 143 139. The device of claim 138, wherein the first graphical user interface further includes an indication of an average ketone level over the period of time, an indication of a total length of time spent in ketosis over the period of time, and an indication of a total length of time above the target threshold over the period of time.

[0509] Section 144 1. An apparatus for displaying metrics related to a subject, the apparatus comprising: an input configured to receive ketone measurement data; a display configured to visually present information; one or more processors coupled to the input, the display, and a memory storing instructions; Equipped with The instructions, when executed by the one or more processors, cause the device to: Displaying a graph on the graphical user interface including a ketone profile representative of the received ketone measurement data over a period of time and at least one exercise icon. Run the command, the at least one exercise icon corresponds to a logged exercise entry, the exercise entry including an exercise duration having a start time and an end time; The device wherein the shading of the area below the ketone profile from the start time to the end time of the exercise duration is a shade that is distinguishable from the shading of the area below the ketone profile before the start time and the area below the ketone profile after the end time of the exercise duration.

[0510] Section 145 145. The apparatus of clause 144, wherein the logged exercise entry includes a description of the exercise and the intensity of the exercise.

[0511] Section 146 The instructions cause the one or more processors to: displaying a first vertical line at the start time and a second vertical line at the end time. Then, 145. The apparatus of claim 144, wherein the first vertical line is configured to be moved to change the start time and the second vertical line is configured to be moved to change the end time.

[0512] Section 147 1. A method for logging fasting periods, comprising: selecting a length of said fasting period from a plurality of predetermined fasting period lengths; inputting a start time of said fasting period; Including, A method wherein an end time of the fasting period is automatically determined based on the start time of the fasting period and the selected predetermined fasting period length.

[0513] Section 148 148. The method of claim 147, wherein the plurality of predetermined fasting period lengths comprises at least one of: none, 13 hours, 16 hours, 18 hours, 20 hours, and 36 hours.

[0514] Section 149 148. The method of claim 147, wherein the start time of the fasting period is selected with a wheel.

[0515] Section 150 148. The method of claim 147, wherein the start time of the fasting period is entered into a text field.

[0516] Section 151 1. A method for logging a workout period, comprising: setting a start time and start date for the exercise period; setting a length of the exercise period; inputting a description of the exercise performed during the exercise period; inputting the intensity of the exercise performed during the exercise period; The method includes:

[0517] Section 152 152. The method of claim 151, wherein the intensity of the exercise performed during the exercise period is input by adjusting a slide bar to indicate an intensity ranging from low to high.

[0518] Section 153 152. The method of claim 151, wherein the step of entering a description of the exercise performed includes the step of typing the description of the exercise into a text field.

[0519] Section 154 152. The method of claim 151, wherein the step of inputting a description of the exercise performed includes the step of selecting an exercise from a list of suggested exercise candidates.

[0520] Section 155 155. The method of claim 154, wherein the list of suggested exercises includes a list of exercises previously entered by the user.

[0521] Section 156 155. The method of claim 154, wherein the list of suggested exercises includes a list of the last five exercises previously entered by the user.

[0522] Section 157 1. A method for logging moods, comprising: setting a time and date for a mood entry; selecting a mood from a plurality of mood candidates; inputting a description of a mood to be associated with the time and date of the mood entry; The method includes:

[0523] Section 158 158. The method of clause 157, wherein the plurality of mood candidates includes a plurality of emojis depicting different facial expressions.

[0524] Section 159 158. The method of claim 157, wherein the step of entering the description of the feeling includes the step of typing the description of the feeling into a text field.

[0525] Section 160 158. The method of claim 157, wherein the step of inputting the description of the feeling includes the step of selecting a feeling from a list of suggested feeling candidates.

[0526] Section 161 161. The method of claim 160, wherein the list of suggested feelings includes a list of feelings previously entered by the user.

[0527] Section 162 162. The method of claim 161, wherein the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0528] Section 163 1. A method for logging vitality levels, comprising: setting a time and date for a vitality entry; A step of inputting a vitality level; inputting a description of a feeling associated with the time and date of the vitality entry; The method includes:

[0529] Section 164 164. The method of claim 163, wherein the vitality level is input by adjusting a slide bar to indicate a range of vitality levels from low through medium to high.

[0530] Section 165 164. The method of claim 163, wherein the step of entering the description of the feeling includes the step of typing the description of the feeling into a text field.

[0531] Section 166 164. The method of claim 163, wherein the step of inputting the description of the feeling includes the step of selecting a feeling from a list of suggested feeling candidates.

[0532] Section 167 167. The method of claim 166, wherein the list of suggested feelings includes a list of feelings previously entered by the user.

[0533] Section 168 168. The method of claim 167, wherein the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0534] Section 169 1. A method for logging appetite levels, comprising: setting a time and date for appetite level entry; inputting an appetite level; inputting a description of the feeling associated with the time and date of the appetite level entry; The method includes:

[0535] Section 170 169. The method of claim 169, wherein the appetite level is input by adjusting a slide bar to indicate an appetite level ranging from low through medium to high.

[0536] Section 171 169. The method of claim 169, wherein the step of entering the description of the feeling includes the step of typing the description of the feeling into a text field.

[0537] Section 172 170. The method of claim 169, wherein the step of inputting the description of the feeling includes the step of selecting a feeling from a list of suggested feeling candidates.

[0538] Section 173 173. The method of claim 172, wherein the list of suggested feelings includes a list of feelings previously entered by the user.

[0539] Section 174 174. The method of claim 173, wherein the list of suggested feelings includes a list of the last five feelings previously entered by the user.

[0540] Section 175 1. An apparatus for analyzing metrics associated with a subject, the apparatus comprising: an input configured to receive ketone measurement data; a display configured to visually present information; one or more processors coupled to the input, the display, and a memory storing instructions; Equipped with The instructions, when executed by the one or more processors, cause the device to: determining whether the ketone level is above a threshold ketone concentration; in response to determining that the ketone level is above the threshold ketone concentration, outputting a notification; A device that performs the above.

[0541] Section 176 176. The apparatus of claim 175, wherein the threshold ketone concentration is preset.

[0542] Section 177 176. The device of claim 175, wherein the threshold ketone concentration is set by the subject.

[0543] Section 178 176. The device of claim 175, wherein the threshold ketone concentration is about 0.5 mmol / L.

[0544] Section 179 176. The device of claim 175, wherein the notification output in response to the determination that the ketone level is above the threshold ketone concentration includes a tactile component.

[0545] Section 180 179. The device of claim 179, wherein the tactile component is vibration.

[0546] Section 181 184. The device of claim 183, wherein the notification output in response to the determination that the ketone level is above the threshold ketone concentration includes a sound.

[0547] Section 182 176. The device of claim 175, wherein the notification output in response to the determination that the ketone level is above the threshold ketone concentration includes a message indicating that the subject has entered a state of ketosis.

[0548] Section 183 The instructions cause the device to: after a determination is made that the ketone level is above the threshold ketone level, determining whether the ketone level falls below the threshold ketone level; in response to determining that the ketone level is below the threshold ketone concentration, outputting a notification; 176. The apparatus of claim 175, further comprising:

[0549] Section 184 184. The device of claim 183, wherein the notification output in response to the determination that the ketone level has fallen below the threshold ketone concentration includes a tactile component.

[0550] Section 185 185. The device of claim 184, wherein the tactile component is vibration.

[0551] Section 186 184. The device of claim 183, wherein the notification output in response to the determination that the ketone level has fallen below the threshold ketone concentration includes a sound.

[0552] Section 187 184. The device of claim 183, wherein the notification output in response to the determination that the ketone level has fallen below the threshold ketone concentration includes a message indicating that the subject has fallen out of ketosis. [Explanation of symbols]

[0553] 100 Systems 102, 710 Communication Links 104 Sensor control module message transmission / reception channel 106 Remote management module message transmission channel 200 receiving devices 202 Display 204 Input Component 206 Receiving Device Processor 208 Memory of the receiving device 210 Receiving device communication circuit 212 Receiving device antenna 214 Power supply for receiving device 300 Sensor Assembly 302 Sensor 304 Sensor Electronics 306 ASIC 308 Analog Front End 310 Power management (control) circuit 312 Sensor Assembly Processor 314 Sensor Assembly Communication Circuit 316 Sensor Assembly Memory 318 Sensor Assembly Power Supply 320 Sensor Assembly Antenna 400 Software Library 420, 422, 424, 426 Applications 428 Third Party Applications 450 Module Interface 500 Sensor Control Module 510 Sensor Control Module User Interface 520 Sensor Control Module Interface 530 Database 532 Database Manager 540 Communication Control Module 600 Remote Management Module 610 Remote Management Module User Interface 620 Remote Management Module Interface 630 Remote Control Module 640 Remote Server 700 Remote Cloud

Claims

1. 1. A system (200) for monitoring metrics associated with a subject, the system comprising: a wireless communication circuit (210) configured to receive ketone measurement data; a display (202) configured to visually present information; one or more processors (206) coupled to the wireless communication circuitry, the display, and a memory (208) storing instructions; Equipped with When the instructions are executed by the one or more processors, the instructions cause the one or more processors to: displaying a graph including a ketone profile representing the ketone measurement data received over a period of time and a ketosis threshold; displaying the average ketone levels over the period of time; displaying the total length of time spent in a ketotic state during the period; A system that executes the following.

2. The system described in claim 1, wherein the fixed period is one day.

3. The graph further includes a target threshold; Optionally, said instructions cause said one or more processors to: displaying the total length of time that the target threshold has been exceeded during the certain period of time. The system of claim 1 , further comprising:

4. The instructions are sent to the one or more processors: real-time ketone levels, and / or trend arrows relating to ketone levels, and / or a state of a biosensor configured to transmit the ketone measurement data to the wireless communication circuit; The system of claim 1 , further comprising the step of displaying:

5. The graph further comprising shading in a region below the ketone profile; Optionally, the shading is a gradient that becomes darker as it approaches the graph of the ketone profile.

6. The method of claim 1, wherein the graph further comprises at least one icon on the ketone profile corresponding to a logged entry; Optionally, said logged entries include food and drink entries, fasting entries, exercise entries, mood entries, appetite entries, or energy entries; and / or the at least one icon is a plurality of icons; The instructions to the one or more processors: displaying a subset of the plurality of icons according to a filter. The system of claim 1 , further comprising:

7. The graph further includes at least one fasting icon on the ketone profile corresponding to a logged fasting entry, the fasting entry including a fasting duration having a start time and an end time; the shading of the region under the ketone profile from the start time to the end time of the fasting duration is distinguishable from the shading of the region under the ketone profile before the start time and the region under the ketone profile after the end time of the fasting duration; and / or the graph further includes at least one exercise icon on the ketone profile corresponding to a logged exercise entry, the exercise entry including an exercise duration having a start time and an end time; 2. The system of claim 1, wherein the shading of the lower region of the ketone profile from the start time to the end time of the exercise duration is a shading that is distinguishable from the shading of the lower region of the ketone profile before the start time and the lower region of the ketone profile after the end time of the exercise duration.

8. The method of claim 7, wherein the instructions are sent to the one or more processors: Displaying a pill in response to multiple entries being logged having log times within a predetermined short period of time. Then run Optionally, the predetermined short period of time is about 1 hour; and / or the pill includes an indication of the number of logged entries having the logging time within the predetermined short period of time; and / or The instructions to the one or more processors: Displaying a tooltip in response to selecting or pressing the pill. Then run Optionally, said tooltip comprises a listing of said plurality of logged entries; 2. The system of claim 1, wherein optionally each of the plurality of logged entries in the list includes an icon, a logging time, and a brief description.

9. The method of claim 8, wherein the instructions are sent to the one or more processors: displaying a flag in response to pressing the display for at least a period of time. Then run Optionally, the flag includes an indication of the ketone concentration at a first time; the first time corresponds to a time on the graph that coincides with or is close to a location of the press on the display; Optionally, if the ketone concentration at the first time is below a lower concentration threshold, the indication of the ketone concentration is a statement that the ketone concentration is below the lower concentration threshold; and / or if the ketone concentration is below the lower concentration threshold, the indication of the ketone concentration does not include a numerical value for the ketone concentration; and / or if the ketone concentration at the first time is above an upper concentration threshold, the indication of the ketone concentration is a statement that the ketone concentration is above the upper concentration threshold; and / or If the ketone concentration is above the upper concentration threshold, the indication of the ketone concentration does not include a numerical value for the ketone concentration; and / or 2. The system of claim 1, wherein if the ketone concentration is between the lower concentration threshold and the upper concentration threshold, the indication of the ketone concentration includes a numerical value of the ketone concentration.

10. The instructions to the one or more processors: Displaying a plurality of additional flags in response to the pressure movement along the graph. Then run Optionally, each of the plurality of additional flags includes an indication of ketone concentrations at different times; 10. The system of claim 9, wherein each of the different times corresponds to a time on the graph that coincides with or is close to a location of the press on the display.

11. The instructions to the one or more processors: ceasing display of the flag in response to an end of the pressing of the display for the minimum period of time. The system of claim 9 , further comprising:

12. The instructions to the one or more processors: Displaying a display indicative of the ketone concentration. Then run 10. The system of claim 1, wherein the indication of the ketone concentration is a numeric value if the ketone concentration is equal to or greater than a lower concentration threshold.

13. The system of claim 12, wherein when the ketone concentration is below the lower concentration threshold, the display indicating the ketone concentration does not include a numerical value for the ketone concentration.

14. If the ketone concentration is between the lower concentration threshold and the upper concentration threshold, the indication of the ketone concentration is the numerical value; if the ketone concentration is above the upper concentration threshold, the indication of the ketone concentration does not include the numerical value; Optionally, if the ketone concentration is above the upper concentration threshold, the indication of the ketone concentration is displayed in the form of ">" the upper concentration threshold.

15. The system described in claim 1, wherein if the ketone concentration is below the lower concentration threshold, the indication of the ketone concentration is displayed in the form of "<" the lower concentration threshold.