Artificial intelligence system for managing analyte concentrations
The continuous analyte monitoring system uses AI to automatically analyze user actions and behaviors from images and text to improve metabolic event management, enhancing accuracy and efficiency.
Patent Information
- Application Number
- PCT/US2025/037639
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-15
- Filing Date
- 2025-07-15
- Publication Date
- 2026-02-19
AI Technical Summary
Existing analyte monitoring systems require manual user input to log actions and behaviors, which is often incomplete or inaccurate, leading to ineffective management of metabolic events and inefficient use of computing resources.
A continuous analyte monitoring system utilizing artificial intelligence to automatically analyze images, text narratives, and meal photographs to determine user actions, link them to metabolic events, and generate accurate responses while reducing input data for the large language model.
Enhances the accuracy of metabolic event management by automating the logging and linking of user actions, reducing resource consumption, and providing timely and safe recommendations.
Smart Images

Figure US2025037639_19022026_PF_FP_ABST
Abstract
Description
Docket No.: 0936-PCT01ARTIFICIAL INTELLIGENCE SYSTEM FOR MANAGING ANALYTE CONCENTRATIONSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and benefit of U.S. Provisional Application No. 63 / 683,656, filed August 15, 2024, which is hereby expressly incorporated by reference herein in its entirety as if fully set forth below and for all applicable purposes.BACKGROUND
[0002] Diabetes mellitus is a metabolic condition relating to the production or use of insulin by the body. Insulin is a hormone that allows the body to use glucose for energy, or store glucose as fat.
[0003] When a person eats a meal that contains carbohydrates, the digestive system absorbs nutrients, ultimately depositing glucose in the person's blood. Blood glucose can be used for energy or stored as fat. The body normally maintains blood glucose levels in a range that provides sufficient energy to support bodily functions and avoids problems that can arise when glucose levels are too high, or too low. Regulation of blood glucose levels depends on the production and use of insulin, which regulates the movement of blood glucose into cells.
[0004] When the body does not produce enough insulin, or when the body is unable to effectively use insulin that is present, blood sugar levels can elevate beyond normal ranges. The state of having a higher than normal blood sugar level is called “hyperglycemia.” Chronic hyperglycemia can lead to a number of health problems, such as cardiovascular disease, cataract and other eye problems, nerve damage (neuropathy), skin ulcers, and kidney damage. Hyperglycemia can also lead to acute problems, such as diabetic ketoacidosis — a state in which the body becomes excessively acidic due to the production of excess ketones, or body acids. The state of having lower than normal blood glucose levels is called “hypoglycemia.” Severe hypoglycemia can lead to damage of the heart muscle, neurocognitive dysfunction, and in certain cases, acute crises that can result in seizures or even death.
[0005] A patient living with diabetes can receive insulin to manage blood glucose levels. Insulin can be received, for example, through a manual injection with a needle. Wearable insulin pumps are also available. Diet and exercise also affect blood glucose levels.
[0006] Diabetes conditions are sometimes referred to as “Type 1” and “Type 2”. A Type 1 diabetes patient is typically able to use insulin when it is present, but the body is unable toDocket No.: 0936-PCT01 produce sufficient amounts of insulin, because of a problem with the insulin-producing beta cells of the pancreas. A Type 2 diabetes patient may produce some insulin, but the patient has become “insulin resistant” due to a reduced sensitivity to insulin. The result is that even though insulin is present in the body, the insulin is not sufficiently used by the patient's body to effectively regulate blood sugar levels.
[0007] Patients with diabetes can benefit from real-time diabetes management guidance, as determined based on a physiological state of the patient, in order to stay within a target glucose range and avoid physical complications. In certain cases, the physiological state of the patient is determined using monitoring systems that measure glucose levels, which inform the identification and / or prediction of adverse glycemic events, such as hyperglycemia and hypoglycemia, and the type of guidance provided to the patient.
[0008] For example, such monitoring systems may utilize a continuous glucose monitor (CGM) to measure a patient’s glucose levels over time. The measured glucose levels may then be processed by the monitoring system to identify and / or predict adverse glycemic events, and / or to provide guidance to the patient for treatment and or actions to abate or prevent the occurrence of such adverse glycemic events. For example, trends, statistics, or other metrics may be derived from the glucose levels and used to identify and / or predict adverse glycemic events. Or, in certain cases, the glucose levels themselves may be used to identify and / or predict adverse glycemic events.
[0009] Even with the systems described above, however, the management of diabetes presents many challenges for patients, clinicians, and caregivers, as a confluence of various factors can impact a patient's glucose levels, thus affecting the accuracy of glycemic event prediction and the guidance provided by diagnostics systems.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only exemplary embodiments and are therefore not to be considered limiting of its scope, may admit to other equally effective embodiments.Docket No.: 0936-PCT01
[0011] Figure 1A is a diagram conceptually illustrating an example continuous analyte monitoring system including example continuous analyte sensors with sensor electronics and example display devices, in accordance with certain aspects of the present disclosure.
[0012] Figure IB illustrates an example analyte sensor system of the continuous analyte monitoring system of Figure 1A, in accordance with certain aspects of the present disclosure.
[0013] Figures 2A through 2E illustrate example operations for image analysis, in accordance with certain aspects of the present disclosure.
[0014] Figure 2F is a flowchart of an example method for image analysis, in accordance with certain aspects of the present disclosure.
[0015] Figures 3A through 3E illustrate example operations for linking actions and metabolic events, in accordance with certain aspects of the present disclosure.
[0016] Figure 3F is a flowchart of an example method for linking actions and metabolic events, in accordance with certain aspects of the present disclosure.
[0017] Figures 4A through 4C illustrate example operations for generating recommendations, in accordance with certain aspects of the present disclosure.
[0018] Figure 4D is a flowchart of an example method for generating recommendations, in accordance with certain aspects of the present disclosure.
[0019] Figures 5A through 5C illustrate example operations for predicting meal duration, in accordance with certain aspects of the present disclosure.
[0020] Figure 5D is a flowchart of an example method for predicting meal duration, in accordance with certain aspects of the present disclosure.
[0021] Figures 6A through 6C illustrate example operations for determining input data, in accordance with certain aspects of the present disclosure.
[0022] Figure 6D is a flowchart of an example method for determining input data, in accordance with certain aspects of the present disclosure.
[0023] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.Docket No.: 0936-PCT01DETAILED DESCRIPTION
[0024] In a continuous analyte monitoring system, a transcutaneous continuous analyte sensor that is inserted into the interstitial fluid is used to monitor a user’s analyte levels (e.g., glucose levels), thereby, providing analyte concentrations measurements reflective of the physiological state of the user. An analyte may be understood as any substance of interest that is to be measured or is being measured. Examples of such analytes include glucose, ketones, lactate, insulin, electrolytes, creatinine, as well as a number of other biomarkers including proteins, metabolites, and nucleic acids. The sensor electrodes of the transcutaneous continuous analyte sensor may interact with the desired analyte (e.g., through aptamers (singlestranded DNA or RNA molecules that bind to a specific analyte)). An analyte of particular interest may be referred to as a target analyte. For example, in a transcutaneous continuous glucose sensor, the target analyte may be glucose.
[0025] The concentration of the target analyte in the user may cause the continuous analyte sensor to generate an electric signal (e.g., an electric current or voltage). The continuous analyte sensor converts the electric signal into a signal that includes a time series of data points, with each data point indicating a concentration of the target analyte in the user at a particular time. The time series of data points may be presented on a display device of the continuous analyte monitoring system so the user can visualize the target analyte concentration in the user over time. When an analyte concentration (e.g., glucose concentration) changes rapidly or beyond normal levels (e.g., spikes), the continuous analyte monitoring system may determine that a metabolic event is occurring.
[0026] Existing analyte monitoring systems, however, are limited in providing additional information to the user that would help the user address or remediate a metabolic event. For example, existing systems may require the user to manually log the actions or behaviors of the user and then to manually link the logged actions or behavior to metabolic events, indicating causation. The user, however, may not be motivated or inclined to put in the effort to manually log the actions, which limits the effectiveness of the analyte monitoring systems. Additionally, these systems effectively ask the user to guess what the cause of the metabolic event is. When the user guesses incorrectly, the use may fail to properly address the metabolic event, which could lead to the metabolic event reoccurring and causes the analyte monitoring systems to waste computing resources (e.g., processor, memory, and / or network resources) tracking the incorrect causes of metabolic events.Docket No.: 0936-PCT01
[0027] The present disclosure provides technical solutions that solve the technical problems described above. For example, the present disclosure describes a continuous analyte monitoring system that implements various features using artificial intelligence to assist the user in addressing or remediating metabolic events. For example, the analyte monitoring system may use a multi-modal model to analyze images captured by the user to automatically determine actions or behaviors performed by the user. The analyte monitoring system may then automatically link some of these actions or behaviors to detected metabolic events (e.g., based on the timing of the actions or behaviors), indicating causation. In this manner, the analyte monitoring system automatically logs actions performed by the user and automatically links those actions to metabolic events. This feature will be discussed in more detail with respect to Figures 2A through 2F.
[0028] Second, the analyte monitoring system may use a large language model to analyze text narratives describing the user’ s actions. The analyte monitoring system extracts the actions from the text narrative and automatically logs the actions. The analyte monitoring system then links the actions to metabolic events if the analyte monitoring system determines that the actions caused the metabolic events. In this manner, the analyte monitoring system automatically logs actions performed by the user and automatically links those actions to metabolic events. This feature will be discussed in more detail with respect to Figures 3 A through 3F.
[0029] Third, the analyte monitoring system may use a large language model to generate responses to user prompts concerning the user’s health (e.g., concerning metabolic events). To protect against the large language model hallucinating and / or providing dangerous recommendations, the analyte monitoring system finds a response in a bank of approved responses closest to the response generated by the large language model. The analyte monitoring system then provides the response from the bank of responses. In this manner, the analyte monitoring system prevents the large language model from providing unsafe recommendations to the user. This feature will be discussed in more detail with respect to Figures 4A through 4D.
[0030] Fourth, the analyte monitoring system may use a machine learning model to analyze photographs related to a meal eaten by the user to predict a duration of the meal. For example, the machine learning model may determine information in the images that suggests the duration of the meal (e.g., food size, type of food, time of day, etc.). By predicting the duration of theDocket No.: 0936-PCT01 meal, the analyte monitoring system may more accurately determine metabolic events caused by that meal. This feature will be discussed in more detail with respect to Figures 5A through 5D.
[0031] Fifth, the analyte monitoring system may reduce the input dataset to a large language model. For example, the analyte monitoring system may group historical data for a user (e.g., analyte data, event data, photographs, etc.) using text tags. When a large language model receives a prompt, the model may compare the prompt to the text tags to determine which group of user data should be analyzed to respond to the prompt. In this manner, the analyte monitoring system reduces the amount of input data used by the large language model, which reduces computing resources (e.g., processor, memory, and / or network resources) used by the analyte monitoring system. Additionally, the large language model generates a more accurate response to the prompt because the analyte monitoring system removes irrelevant data from the input data. This feature will be discussed in more detail with respect to Figures 6A through 6D.
[0032] As used herein, the term “continuous” analyte monitoring refers to monitoring one or more analytes in a fully continuous or semi-continuous, periodic manner, which results in a data stream of analyte values over time. A data stream of analyte values over time is what allows for meaningful data and insight to be derived using the algorithms described herein. In other words, single point-in-time measurements collected as a result of a patient visiting their health care professional every few months results in sporadic data points (e.g., that are, at best, months apart in timing) that cannot form the basis of meaningful data or insight to be derived.
[0033] Further, the data stream of analyte values collected over time, with the continuous analyte monitoring system presented herein, include real-time analyte values, which allows for deriving meaningful data and insight in real-time using the systems and algorithms described herein. Real time analyte values herein refer to analyte values that become available and actionable within seconds or minutes of being produced as a result of at least one sensor electronics module of the continuous analyte monitoring system (1) converting sensor analog electrical signals (e.g., electric current or voltage) generated by the continuous analyte sensor(s) into sensor count values, (2) calibrating the count values to generate analyte concentration values using calibration techniques described herein to account for the sensitivity of the continuous analyte sensor(s), and (3) transmitting measured analyte concentration data, including analyte concentration values, to a display device via wireless connection.Docket No.: 0936-PCT01
[0034] For example, the continuous analyte monitoring system may sample the analog electrical signals at a particular sampling period (or rate), such as every 1 second (1 Hz), 5 seconds, 10 seconds, 30 seconds, 1 minute, 3 minutes, 5 minutes, etc., and transmit the measured analyte concentration data to a display device at a particular transmission period (or rate), which may be the same as (or longer than) the sampling period, such as every 1 minute (0.016 Hz), 5 minutes, 10 minutes, etc.
[0035] Because of the real-time nature of the data generated by the continuous analyte monitoring system, it is humanly impossible to continuously process a real-time data stream of analyte values over time to derive meaningful data and insight using the algorithms and systems described herein. In other words, deriving meaningful data and insight from a stream of realtime data that is continuously generated, processed, calibrated, and analyzed, using the algorithms and systems described herein, is not a task that can be mentally performed. For example, executing the algorithms described herein in real-time and on a continuous basis, which would involve using a stream of real-time data that is continuously generated by a continuous analyte monitoring system and / or significantly large amount of data is not a task that can be mentally performed, especially in real-time.Continuous Analyte Monitoring System
[0036] FIG. 1A illustrates an example of a continuous analyte monitoring system 100, in accordance with certain embodiments of the disclosure. The continuous analyte monitoring system 100 may be utilized for generating and presenting information related to user health, for example, using various user interfaces associated with the system 100. Each user of the system 100, such as a user 102, may interact with a mobile health application, such as a mobile health application (“application”) 106 (e.g., a diabetes intervention application that provides therapy management guidance), and / or a health monitoring device, such as an analyte sensor system 104 (e.g., a glucose monitoring system). The user 102, in certain embodiments, may be the patient or, in some cases, the patient’s caregiver. In the embodiments described herein, the user 102 is assumed to be the patient for simplicity only, but is not so limited. As shown, the system 100 may include an analyte sensor system 104, a display device 107 that executes the application 106, a user database 110, and a computer system 112.
[0037] The analyte sensor system 104 generates time-series data, such as analyte measurements (e.g., sensor data), for the user 102 (e.g., on a continuous basis) and transmits the analyte measurements to the display device 107 for use by the application 106. The analyteDocket No.: 0936-PCT01 sensor system 104 may transmit the analyte measurements to the display device 107 through a wireless connection (e.g., Bluetooth connection). The display device 107 may be a smart phone or any other type of computing device capable of executing the application 106, such as a laptop computer, a smartwatch, and / or a tablet.
[0038] In certain examples, the analyte sensor system 104 is assumed to be a glucose monitoring system, but the analyte sensor system 104 may operate to monitor one or more additional or alternative analytes. As discussed, the term “analyte” as used herein is a broad term, and is to be given its ordinary and customary meaning to a person of ordinary skill in the art (and is not to be limited to a special or customized meaning), and refers without limitation to a substance or chemical constituent in the body or a biological sample (e.g., bodily fluids, including, blood, serum, plasma, interstitial fluid, cerebral spinal fluid, lymph fluid, ocular fluid, saliva, oral fluid, urine, excretions, or exudates).
[0039] Analytes can include naturally occurring substances, artificial substances, metabolites, and / or reaction products. In some embodiments, the analyte measured and used by the devices and methods described herein may include albumin, alkaline phosphatase, alanine transaminase, aspartate aminotransferase, bilirubin, blood urea nitrogen, calcium, CO2, chloride, creatinine, glucose, gamma-glutamyl transpeptidase, hematocrit, lactate, lactate dehydrogenase, magnesium, oxygen, pH, phosphorus, potassium, ketones, sodium, total protein, uric acid, metabolic markers, and / or drugs.
[0040] Other analytes are contemplated as well, including but not limited to acetaminophen, dopamine, ephedrine, terbutaline, ascorbate, uric acid, oxygen, d-amino acid oxidase, plasma amine oxidase, xanthine oxidase, NADPH oxidase, alcohol oxidase, alcohol dehydrogenase, pyruvate dehydrogenase, diols, Ros, NO, bilirubin, cholesterol, triglycerides, gentisic acid, ibuprophen, L-Dopa, methyl dopa, salicylates, tetracycline, tolazamide, tolbutamide, acarboxyprothrombin; acylcarnitine; adenine phosphoribosyl transferase; adenosine deaminase; albumin; alpha-fetoprotein; amino acid profiles (arginine (Krebs cycle), histidine / urocanic acid, homocysteine, phenylalanine / tyrosine, tryptophan); andrenostenedione; antipyrine; arabinitol enantiomers; arginase; benzoylecgonine (cocaine); biotinidase; biopterin; c-reactive protein; carnitine; carnosinase; CD4; ceruloplasmin; chenodeoxycholic acid; chloroquine; cholesterol; cholinesterase; conjugated 1-P hydroxycholic acid; cortisol; creatine kinase; creatine kinase MM isoenzyme; cyclosporin A; d- penicillamine; de-ethylchloroquine; dehydroepiandrosterone sulfate; DNA (acetylatorDocket No.: 0936-PCT01 polymorphism, alcohol dehydrogenase, alpha 1 -antitrypsin, cystic fibrosis, Duchenne / Becker muscular dystrophy, glucose-6-phosphate dehydrogenase, hemoglobin A, hemoglobin S, hemoglobin C, hemoglobin D, hemoglobin E, hemoglobin F, D-Punjab, beta-thalassemia, hepatitis B virus, HCMV, HIV-1, HTLV-1, Leber hereditary optic neuropathy, MCAD, RNA, PKU, Plasmodium vivax, sexual differentiation, 21 -deoxycortisol); desbutylhalofantrine; dihydropteridine reductase; diptheria / tetanus antitoxin; erythrocyte arginase; erythrocyte protoporphyrin; esterase D; fatty acids / acylglycines; free P-human chorionic gonadotropin; free erythrocyte porphyrin; free thyroxine (FT4); free tri-iodothyronine (FT3); fumarylacetoacetase; galactose / gal-1 -phosphate; galactose- 1 -phosphate uridyltransferase; gentamicin; glucose-6-phosphate dehydrogenase; glutathione; glutathione perioxidase; glycocholic acid; glycosylated hemoglobin; halofantrine; hemoglobin variants; hexosaminidase A; human erythrocyte carbonic anhydrase I; 17-alpha-hydroxyprogesterone; hypoxanthine phosphoribosyl transferase; immunoreactive trypsin; lactate; lead; lipoproteins ((a), B / A-l, P); lysozyme; mefloquine; netilmicin; phenobarbitone; phenyloin; phytanic / pristanic acid; progesterone; prolactin; prolidase; purine nucleoside phosphorylase; quinine; reverse tri-iodothyronine (rT3); selenium; serum pancreatic lipase; sissomicin; somatomedin C; specific antibodies (adenovirus, anti-nuclear antibody, anti-zeta antibody, arbovirus, Aujeszky's disease virus, dengue virus, Dracunculus medinensis, Echinococcus granulosus, Entamoeba histolytica, enterovirus, Giardia duodenalisa, Helicobacter pylori, hepatitis B virus, herpes virus, HIV-1, IgE (atopic disease), influenza virus, Leishmania donovani, leptospira, measles / mumps / rubella, Mycobacterium leprae, Mycoplasma pneumoniae, Myoglobin, Onchocerca volvulus, parainfluenza virus, Plasmodium falciparum, poliovirus, Pseudomonas aeruginosa, respiratory syncytial virus, rickettsia (scrub typhus), Schistosoma mansoni, Toxoplasma gondii, Trepenoma pallidium, Trypanosoma cruzi / rangeli, vesicular stomatis virus, Wuchereria bancrofti, yellow fever virus); specific antigens (hepatitis B virus, HIV-1); succinylacetone; sulfadoxine; theophylline; thyrotropin (TSH); thyroxine (T4); thyroxine-binding globulin; trace elements; transferrin; UDP-galactose-4-epimerase; urea; uroporphyrinogen I synthase; vitamin A; white blood cells; and zinc protoporphyrin. Salts, sugar, protein, fat, vitamins, and hormones naturally occurring in blood or interstitial fluids can also constitute analytes in certain embodiments.
[0041] The analyte can be naturally present in the biological fluid, for example, a metabolic product, a hormone, an antigen, an antibody, and the like. Alternatively, the analyte can be introduced into the body, for example, a contrast agent for imaging, a radioisotope, a chemicalDocket No.: 0936-PCT01 agent, a fluorocarbon-based synthetic blood, or a drug or pharmaceutical composition, including but not limited to insulin; ethanol; cannabis (marijuana, tetrahydrocannabinol, hashish); inhalants (nitrous oxide, amyl nitrite, butyl nitrite, chlorohydrocarbons, hydrocarbons); cocaine (crack cocaine); stimulants (amphetamines, methamphetamines, Ritalin, Cylert, Preludin, Didrex, PreState, Voranil, Sandrex, Plegine); depressants (barbituates, methaqualone, tranquilizers such as Valium, Librium, Miltown, Serax, Equanil, Tranxene); hallucinogens (phencyclidine, lysergic acid, mescaline, peyote, psilocybin); narcotics (heroin, codeine, morphine, opium, meperidine, Percocet, Percodan, Tussionex, Fentanyl, Darvon, Tai win, Lomotil); designer drugs (analogs of fentanyl, meperidine, amphetamines, methamphetamines, and phencyclidine, for example, Ecstasy); anabolic steroids; and nicotine. The metabolic products of drugs and pharmaceutical compositions are also contemplated analytes. Analytes such as neurochemicals and other chemicals generated within the body can also be analyzed, such as ascorbic acid, uric acid, dopamine, noradrenaline, 3 -methoxy tyramine (3MT), 3,4-dihydroxyphenylacetic acid (DOPAC), homovanillic acid (HVA), 5 -hydroxy tryptamine (5HT), histamine, Advanced Glycation End Products (AGEs) and 5-hydroxyindoleacetic acid (FHIAA).
[0042] The application 106 may be a mobile health application that receives and analyzes time-series data, including analyte measurements, from the analyte sensor system 104 and / or other devices. The application 106 may transmit analyte measurements received from the analyte sensor system 104 to the user database 110 (and / or the computer system 112), and the user database 110 (and / or the computer system 112) may store the analyte measurements in a user profile 118 of the user 102 for processing and analysis, for example, by the computer system 112, based on contextual data supplied by the user 102. In some embodiments, the application 106 may store the analyte measurements in the user profile 118 of user 102 locally for processing and analysis, for example, by the computer system 112, based on contextual data supplied by the user 102.
[0043] The application 106 may provide and present various interfaces for receiving, from the user 102, contextual data of the type discussed previously. In an example, the application 106 provides a user interface that allows the user 102 to log actions that the user 102 performed. In another example, the application 106 provides a user interface that allows the user 102 to link actions to detected metabolic events. The application 106 may also provide a user interfaceDocket No.: 0936-PCT01 that presents information about detected metabolic events (e.g., the measured analyte concentrations during the events).
[0044] The application 106 may take as input information relating to the user 102 and store the information in a user profile 118 for the user 102 in the user database 110. For example, the application 106 may obtain and record the analyte concentration measurements 120 for the user 102, the metabolic events 122 detected in the user 102, and / or the actions 124 logged by the user 102 in the user profile 118. The application 106 and / or the computer system 112 may treat the information in the user profile 118 as historical data about the user 102. This historical data may provide insights about the user 102, such as the actions 124 that cause certain metabolic events 122 in the user 102 and the analyte concentrations or changes in the analyte concentrations that indicate that metabolic events 122 are occurring in the user 102.
[0045] The application 106 collects inputs through user input and / or other sources, including the analyte sensor system 104, other applications running on the display device 107, and / or one or more other sensors and devices. These sensors and devices may include one or more of, but are not limited to, an insulin pump, other types of analyte sensors, sensors or devices provided by the display device 107 (e.g., accelerometer, camera, global positioning system (GPS), heart rate monitor, etc.), other user accessories (e.g., a smartwatch), or any other sensors or devices that provide relevant information about the user 102. In certain embodiments, the user profile 118 also stores application configuration information indicating the current configuration of the application 106, including features and settings.
[0046] The user database 110 may be a storage server that operates in a public or private cloud. The user database 110 may be implemented as any type of data store, such as relational databases, non-relational databases, key-value data stores, file systems including hierarchical file systems, and the like. In some implementations, the user database 110 is distributed. For example, the user database 110 may include persistent storage devices, which are distributed. Furthermore, the user database 110 may be replicated so that the storage devices are geographically dispersed.
[0047] The user database 110 may include other user profiles 118 for other users. Similar to the operations performed with respect to the user 102, the operations performed with respect to these other users may utilize an analyte monitoring system, such as analyte sensor system 104, and also interact with the same application 106, copies of which execute on the respectiveDocket No.: 0936-PCT01 display devices of the other users. For such users, the user profiles 118 are similarly created and stored in the user database 110.
[0048] Further, in certain embodiments, the database 110 may store data for other users or people. For example, the database 110 may include information (e.g., profile(s)) related to one or more users or hosts known to be metabolically unfit. Data stored in the database 110 may be referred to herein as population data, which could include hundreds or thousands of data points for each one of thousands or millions of people in the population. In other words, data stored in the database 110 and used in certain embodiments described herein could include gigabytes, terabytes, petabytes, exabytes, etc. of data.
[0049] The computer system 112 may implement several of the features described herein. For example, the computer system 112 may determine personalized thresholds for the user 102. As another example, the computer system 112 may determines patterns of metabolic events in the user 102 and correlate logged actions to detected metabolic events. The computer system 112 may include any number of servers that communicate with the display device 107 and / or the user database 110 to implement these features.
[0050] FIG. IB illustrates an example analyte sensor system 104 including an example continuous analyte sensor(s) with sensor electronics, in accordance with certain aspects of the present disclosure. The analyte sensor system 104 may continuously monitor one or more analytes of a user.
[0051] As shown in FIG. IB, the analyte sensor system 104 includes a sensor electronics module 138 and one or more continuous analyte sensor(s) 140 (individually referred to herein as the continuous analyte sensor 140 or analyte sensor 140 and collectively referred to herein as the continuous analyte sensors 140 or analyte sensor 140). The sensor electronics module 138 may be in wireless communication (e.g., directly or indirectly) with one or more display devices 107a, 107b, 107c, and 107d.
[0052] The continuous analyte sensor 140 may include a sensor for detecting and / or measuring analyte(s). The continuous analyte sensor 140 may be a multi-analyte sensor that continuously measures two or more analytes (e.g., ketone, glucose) or a single analyte sensor that continuously measures a single analyte as a non-invasive device, a subcutaneous device, a transcutaneous device, a transdermal device, and / or an intravascular device.Docket No.: 0936-PCT01
[0053] The continuous analyte sensor 140 may continuously measure analyte levels of the user 102 using one or more measurement techniques, such as enzymatic, chemical, physical, electrochemical, spectrophotometric, polarimetric, calorimetric, iontophoretic, radiometric, immunochemical, and the like. In certain aspects, the continuous analyte sensor 140 provides a data stream indicative of the concentration of one or more analytes in the user 102. The data stream may include raw data signals, which may be converted into a calibrated and / or filtered data stream used to provide estimated analyte value(s) to the user 102.
[0054] The continuous analyte sensor 140 may be a multi-analyte sensor that continuously measures multiple analytes in the body of the user 102. For example, the continuous multianalyte sensor 140 may be a single sensor that measures glucose, ketones, and / or other blood analytes in the body.
[0055] One or more multi-analyte sensors may be used in combination with one or more single analyte sensors. As an illustrative example, a multi-analyte sensor may continuously measure ketone and glucose and may, in some cases, be used in combination with one or more other analyte sensors that measure only, for example, hydration levels or protein levels. Information from each of the multi-analyte sensor(s) and single analyte sensor(s) may be combined to provide one or more types of analyte measurement data.
[0056] The sensor electronics module 138 includes electronic circuitry for measuring and processing the continuous analyte sensor data, including prospective algorithms associated with processing and calibration of the sensor data. The sensor electronics module 138 can be physically connected to the continuous analyte sensor(s) 140 and can be integral with (non- releasably attached to) or releasably attachable to the continuous analyte sensor(s) 140. The sensor electronics module 138 may include hardware, firmware, and / or software that enables measurement of levels of analyte(s) via a continuous analyte sensor(s) 140. For example, the sensor electronics module 138 can include a potentiostat, a power source for providing power to the sensor, other components useful for signal processing and data storage, and a telemetry module for transmitting data from the sensor electronics module to one or more display devices. Electronics can be affixed to a printed circuit board (PCB), or the like, and can take a variety of forms. For example, the electronics can take the form of an integrated circuit (IC), such as an Application-Specific Integrated Circuit (ASIC), a microcontroller, and / or a processor.
[0057] Each of the display devices 107a, 107b, 107c, or 107d may include a display such as a touchscreen display 109a, 109b, 109c, and 109d for displaying sensor data to the user 102Docket No.: 0936-PCT01 and / or receiving inputs from the user 102. For example, a graphical user interface may be presented to the user 102 for such purposes. In some embodiments, the display devices 107a, 107b, 107c, and 107d may include other types of user interfaces such as a voice user interface instead of, or in addition to, a touchscreen display for communicating sensor data to the user 102 of the display device and / or receiving user inputs. The display devices 107a, 107b, 107c, and 107d may be examples of the display device 107 illustrated in FIG. 1A used to display sensor data to the user 102 and / or receive input from the user 102.
[0058] In some embodiments, a display device 107 may display or otherwise communicate the sensor data as the sensor data is communicated from the sensor electronics module 138 (e.g., in a data package that is transmitted to respective display devices), without any additional prospective processing for calibration and real-time display of the sensor data.
[0059] The display devices 107 may include a custom display device specially designed for displaying certain types of displayable sensor data associated with analyte data received from sensor electronics module 138, contextual data, a condensed timeline, and / or video feedback. In certain embodiments, the display devices 107 may provide alerts / alarms based on the displayable sensor data. The display device 107b is an example of such a custom device. In some embodiments, one of the display devices is a smartphone, such as the display device 107c, which represents a mobile phone using a commercially available operating system (OS) to display a graphical representation of the continuous sensor data (e.g., including current and historic data). Other display devices can include other hand-held devices, such as the display device 107d, which represents a tablet, and the display device 107a, which represents a smartwatch. Display device 107d and display device 107a may similarly display graphical representations of the continuous sensor data (e.g., including current and historic data).
[0060] Because different display devices provide different user interfaces, content of the data packages (e.g., amount, format, and / or type of data to be displayed, alarms, and the like) can be customized (e.g., programmed differently by the manufacture and / or by an end user) for each particular display device. Accordingly, in certain embodiments, different display devices can be in direct wireless communication with the sensor electronics module (e.g., such as an on-skin sensor electronics module 138 that is physically connected to the continuous analyte sensor(s) 140) during a sensor session to allow different types and / or levels of display and / or functionality associated with the displayable sensor data.Docket No.: 0936-PCT01
[0061] A wireless access point (WAP) may be used to couple one or more of the analyte sensor system 104 and the display devices 107 to one another. For example, the WAP may provide Wi-Fi and / or cellular connectivity among these devices. Near Field Communication (NFC) and / or Bluetooth may also be used.
[0062] In certain embodiments, the continuous analyte sensor(s) 140 may include a percutaneous wire that has a proximal portion coupled to the sensor electronics module 138 and a distal portion with several electrodes, such as a measurement electrode and a reference electrode. The measurement (or working) electrode may be coated, covered, treated, embedded, etc., with one or more chemical molecules that react with a particular analyte, and the reference electrode may provide a reference electrical voltage. The measurement electrode may generate an analog electrical signal, which is conveyed along a conductor that extends from the measurement electrode to the proximal portion of the percutaneous wire that is coupled to the sensor electronics module 138. After the continuous analyte monitoring system 104 has been applied to epidermis of a user, the continuous analyte sensor(s) 140 penetrates the epidermis, and the distal portion extends into the dermis and / or subcutaneous tissue under epidermis. Other configurations of the continuous analyte sensor(s) 140 may also be used, such as a multi-analyte sensor that includes multiple measurement electrodes, each generating an analog electrical signal that represents the concentration levels of a particular analyte.
[0063] Generally, a single-analyte sensor generates an analog electrical signal that is proportional to the concentration level of a particular analyte. Similarly, each multi-analyte sensor generates multiple analog electrical signals, and each analog electrical signal is proportional to the concentration level of a particular analyte. As an illustrative example, the continuous analyte sensor 140 may include a single-analyte sensor that measures lactate concentration levels, and another single- analyte sensor that measures glucose concentration levels. As another illustrative example, the continuous analyte sensor(s) 140 may include a single-analyte sensor that measures lactate concentration levels, and one or more multi-analyte sensors that measure glucose concentration levels, ketone concentration levels, creatinine concentration levels, etc. As yet another illustrative example, the continuous analyte sensor(s) 140 may include a multi-analyte sensor that measures lactate concentration levels, glucose concentration levels, ketone concentration levels, creatinine concentration levels, etc. Accordingly, the continuous analyte sensor(s) 140 generates at least one analog electrical signal that is proportional to the concentration level of a particular analyte, and the sensor electronicsDocket No.: 0936-PCT01 module 138 converts the analog electrical signal into an analyte sensor count values, calibrates the analyte sensor count values based on the sensitivity profile of the continuous analyte sensor(s) 140 to generate measured analyte concentration levels, and transmits the measured analyte concentration level data, including the measured analyte concentration levels, to a display device 107 via a wireless connection. For example, the sensor electronics module 138 may sample the analog electrical signal at a particular sampling period (or rate), such as every 1 second (1 Hz), 5 seconds, 10 seconds, 30 seconds, 1 minute, 3 minutes, 5 minutes, etc., and transmit the measured analyte concentration data to the display device 107 at a particular transmission period (or rate), which may be the same as (or longer than) the sampling period, such as every 1 minute (0.016 Hz), 5 minutes, 10 minutes, 30 minutes, at the conclusion of the wear period, etc. Depending on the sampling and transmission periods, the measured analyte concentration data transmitted to the display device 107 may include at least one measured analyte concentration level having an associated time tag, sequence number, etc.
[0064] The continuous analyte sensor(s) 140 may incorporate a thermocouple within, or alongside, the percutaneous wire to provide an analog temperature signal to the sensor electronics module 138, which may be used to correct the analog electrical signal or the measured analyte data for temperature. The thermocouple may be incorporated into the sensor electronics module 138 above the adhesive pad, or, alternatively, the thermocouple may contact the epidermis through openings in the adhesive pad.
[0065] In certain embodiments, the sensor electronics module 138 includes a processor 141, storage element or memory 142, wireless transmitter / receiver (transceiver) 143, one or more antennas coupled to wireless transceiver 143, analog electrical signal processing circuitry, analog to-digital (A / D) signal processing circuitry, digital signal processing circuitry, a power source for continuous analyte sensor(s) 140 (such as a potentiostat), etc.
[0066] The processor 141 may be a general-purpose or application- specific microprocessor, an application- specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., that executes instructions to perform control, computation, input / output, etc. functions for the sensor electronics module 138. The processor 141 may include a single integrated circuit, such as a micro processing device, or multiple integrated circuit devices and / or circuit boards working in cooperation to accomplish the appropriate functionality. In certain embodiments, the processor 141, the memory 142, the wireless transceiver 143, the A / DDocket No.: 0936-PCT01 signal processing circuitry, and the digital signal processing circuitry may be combined into a system-on-chip (SoC).
[0067] Generally, the processor 141 may sample the analog electrical signal using the A / D signal processing circuitry at regular intervals (such as the sampling period) to generate analyte sensor count values based on the analog electrical signals produced by the continuous analyte sensor(s) 140, calibrate the analyte sensor count values based on the sensitivity profile of the continuous analyte sensor(s) 140 to generate measured analyte concentration levels, generate measured analyte data from the measured analyte concentration levels, and generate sensor data packages that include the measured analyte concentration level data. The processor 141 may store the measured analyte concentration level data in the memory 142, and generate the sensor data packages at regular intervals (such as the transmission period) for transmission by wireless transceiver 143 to a display device 107. The processor 141 may also add additional data to the sensor data packages, such as supplemental sensor information that includes a sensor identifier, a sensor status, temperatures that correspond to the measured analyte data, etc. The sensor data packages are then wirelessly transmitted over a wireless connection to the display device 107. In certain embodiments, the wireless connection is a Bluetooth or Bluetooth Low Energy (BLE) connection. In such embodiments, the sensor data packages are transmitted in the form of Bluetooth or BLE data packets to the display device
[0068] The memory 142 may include volatile and nonvolatile medium. For example, the memory 142 may include combinations of random access memory (RAM), dynamic RAM (DRAM), static RAM (SRAM), read only memory (ROM), flash memory, cache memory, and / or any other type of non-transitory computer-readable medium. The memory 142 may store one or more analyte sensor system applications, modules, instruction sets, etc. for execution by the processor 141, such as instructions to generate measured analyte data from the analyte sensor count values, etc.
[0069] The memory 142 may also store certain sensor operating parameters 144, such as a calibration slope (or calibration sensitivity) 145, a calibration baseline 146, etc. In particular, the calibration sensitivity 145, calibration baseline 146, and other information related to the sensitivity profile for the sensor electronics module 138 may be programmed into the sensor electronics module 138 during the manufacturing process, and then used to convert the analyte sensor electrical signals into measured analyte concentration levels.Docket No.: 0936-PCT01Universal Photo Logging
[0070] Figures 2A through 2E illustrate example operations for analyzing images using artificial intelligence to determine and link actions of a user. A computer system (e.g., the computer system 112 shown in Figure 1 A) performs these operations. Generally, the computer system uses a multi-modal model to analyze images captured by a user to determine actions performed by the user and information about those actions. The computer system then links the actions to detected metabolic events using the information about those actions and information about the metabolic events.
[0071] Figure 2A shows an example operation 200 performed by the computer system. By performing the operation 200, the computer system analyzes images to determine user actions and information about the user actions. The computer system begins by receiving one or more images 202. In the example of Figure 2A, the computer system receives the images 202A, 202B, and 202C. The images 202 may have been captured by a user before, during, or after a particular user action (e.g., eating, exercising, etc.) and may relate to some aspect of the action. For example, the images 202 may show food that the user ate, nutrition labels or recipes for the food, or where or when the user ate the food. As another example, the images 202 may show exercise equipment that the user used or the user performing certain exercises. As another example, the images 202 may show medicine that the user took or dosing information for the medicine. The user may capture the images 202 (e.g., using the display device 107 shown in Figure 1A), and the images 202 may be communicated to the computer system.
[0072] The computer system uses a multi-modal model 204 to analyze the images 202. The multi-modal model 204 uses the information in the images 202 to determine a user action 206 taken by the user and information 208 about the user action 206. For example, if the images 202 included images of food, nutrition labels, and / or recipes, the multi-modal model 204 may determine that the user action 206 is eating a meal. The multi-modal model 204 may also determine the information 208 includes the food eaten during the meal. As another example, if the images 202 included images of exercise equipment, the multi-modal model 204 may determine that the user action 206 is exercising and the information 208 includes the exercises performed. As another example, if the images 202 included images of medication, the multi-modal model 204 may determine that the user action 206 is taking medication and the information 208 includes the type of medication and the dosage information.Docket No.: 0936-PCT01
[0073] The multi-modal model 204 may consider any type of information appearing in the images 202 when determining the user action 206 and the information 208. For example, the multi-modal model 204 may consider the objects appearing in the images 202 (e.g., the food, the equipment, the medication, etc.). As another example, the multi-modal model 204 may consider text that appears in the images 202 (e.g., nutrition labels, recipes, dosing instructions, etc.). As another example, the multi-modal model 204 may consider the setting or location shown in the images 202. In this manner, the multi-modal model 204 extracts any type of information 208 from the images 202.
[0074] Figure 2B shows an example operation 220 performed by the computer system. By performing the operation 220, the computer system links user actions to detected metabolic events. The computer system begins with the user action 206 and information 208 determined by the multi-modal model. In the example of Figure 2B, the computer system also determines a time 222 when the user action 206 was performed. For example, the computer system or the multi-modal model may determine or approximate, from timestamps on images, the time 222 when the user action 206 was performed.
[0075] The computer system may also have detected a metabolic event 224 that occurred in the user. For example, the computer system may analyze analyte concentration levels determined by an analyte sensor system (e.g., the analyte sensor system 104 shown in Figure 1A) to detect significant spikes, increases, or decreases in analyte concentration levels, which indicates that the metabolic event 224 is occurring. The computer system also determines a time 226 when the metabolic event 224 began or occurred.
[0076] The computer system then links the user action 206 and the images to the metabolic event 224 using the information 208 and / or the times 222 and 226. The computer system may have used the multi-modal model to analyze images and determine multiple user actions performed by the user. The computer system may analyze the information 208 to determine which of the user actions may cause the change in analyte concentration levels indicated by the metabolic event 224. The computer system may then eliminate the user actions that would not have caused that change in analyte concentration levels. The computer system may also analyze the times of the user actions to determine which of the user actions could have caused the metabolic event 224. For example, the computer system may eliminate the user actions with times that occurred too long before the metabolic event 224 or that occurred after the metabolic event 224. As another example, the computer system may identify the user actionDocket No.: 0936-PCT01206 that occurred within a specific timeframe before the metabolic event 224. After determining the user action 206 that caused the metabolic event 224, the computer system links the user action 206 with the metabolic event 224 to indicate causation. The computer system may store the user action 206, the information 208, the time 222, the metabolic event 224, the time 226, and the link between the user action 206 and the metabolic event 224 in a database (e.g., the user database 110 shown in Figure 1A).
[0077] In some embodiments, the computer system uses the analyte concentration levels measured by the analyte sensor system to verify or confirm that the user action shown by the images actually occurred. For example, an increase in analyte concentration levels may indicate that food was eaten, which may suggest that the user ate the food shown in the images. Additionally, the computer system may use the analyte concentration levels to determine other information about the user action. For example, the computer system may use the analyte concentration levels to determine a number of calories provided by the food shown in the images or a number of calories burned by a particular exercise.
[0078] Figure 2C shows an example operation 230 performed by the computer system. By performing the operation 230, the computer system determines that a user ate a meal. The computer system begins by receiving images taken by the user. In the example of Figure 2C, the images include an image of food 232, an image of a nutrition label 234, and an image of a recipe 236. The computer system analyzes these images using a multi-modal model (e.g., the multi-modal model 204 shown in Figure 2A) and determines, from these images, a user action as the user ate a meal 238. The multi-modal model may further determine that the meal 238 involved the food 232. The multi-modal model may also determine from the nutrition label 234 and / or the recipe 236 a number of calories 240 provided by the meal 238. The multi-modal model and / or the computer system may further determine (e.g., from timestamps on the images) the time 222 for the meal 238. In this manner, the computer system determines a user action and information about the user action. The computer system may then link the user action and the images with a detected metabolic event (e.g., a spike in glucose concentration resulting from eating the meal 238).
[0079] Figure 2D shows an example operation 250 performed by the computer system. By performing the operation 250, the computer system determines that a user exercised. The computer system begins by receiving images taken by the user. In the example of Figure 2D, the images include an image of exercise equipment 252. The computer system analyzes theseDocket No.: 0936-PCT01 images using a multi-modal model (e.g., the multi-modal model 204 shown in Figure 2A) and determines, from these images, a user action as the user performing an exercise 254. The multimodal model may also determine that the exercise equipment 252 was used to perform the exercise 254 and a number of calories 256 burned or expended during the exercise 254. The multi-modal model and / or the computer system may further determine (e.g., from timestamps on the images) the time 222 of the exercise 254. The computer system may then link the user action and the images with a detected metabolic event (e.g., a drop in glucose concentration resulting from eating the exercise 254).
[0080] Figure 2E shows an example operation 260 performed by the computer system. By performing the operation 260, the computer system determines that a user took medication. The computer system begins by receiving images taken by the user. In the example of Figure 2E, the images include an image of medication 262. The computer system analyzes these images using a multi-modal model (e.g., the multi-modal model 204 shown in Figure 2A) and determines, from these images, a user action as the user taking medication 264. The multimodal model may also determine that the medication 262 was taken and a dosage 266 for the medication 262 (e.g., using information on a bottle shown in the image of the medication 262). The multi-modal model and / or the computer system may further determine (e.g., from timestamps on the images) the time 222 when the medication 262 was taken. The computer system may then link the user action and the images with a detected metabolic event (e.g., a drop in glucose concentration resulting from taking the medication 262).
[0081] Figure 2F is a flowchart of an example method 270 for image analysis, in accordance with certain aspects of the present disclosure. In certain embodiments, a computer system (e.g., the computer system 112 shown in Figure 1A) performs the method 270. By performing the method 270, the computer system analyzes images to determine a user action shown by the images and links the user action to a detected metabolic event.
[0082] In block 272, the computer system receives images from a user. For example, the user may have captured the images (e.g., using the display device 107 shown in Figure 1A) as the user performed a user action (e.g., eating, exercising, taking medication, etc.). The images may show objects or items related to the user action (e.g., food eaten during a meal, exercise equipment used during exercising, medication taken, etc.).
[0083] In block 274, the computer system determines the user action from the images. The computer system may use a multi-modal model to analyze the images to determine the userDocket No.: 0936-PCT01 action shown or indicated by the images. For example, images of food, nutrition labels, and / or recipes may indicate that the user action is eating a meal. As another example, images of exercise equipment may indicate that the user action is exercising. As another example, images of medication may indicate that the user action is taking medication.
[0084] In block 276, the computer system determines information about the user action from the images. The computer system may use the multi-modal model to analyze the images to extract or determine any information about the user action. For example, the information may include the food eat during the meal or a number of calories in the food. As another example, the information may include the exercise equipment used during exercise and a number of calories burned or expended. As another example, the information may include the type of medication taken and the dosage information.
[0085] In block 278, the computer system determines that a metabolic event occurred after the user action. The computer system may detect the metabolic event by monitoring analyte concentration measurements provided by an analyte sensor system. When significant increases or decreases in the analyte concentration occurs, the computer system may detect that a metabolic event occurred. The computer system may determine the timing of the user action (e.g., using timestamps on the images) and use the timing to determine whether the user action caused the metabolic event. For example, the computer system may determine that a user action that occurred within a time window before the metabolic event caused the metabolic event. The computer system may also make this determination based on whether the user action is likely to cause an increase or decrease of the magnitude shown by the metabolic event.
[0086] In block 280, the computer system links the images to the metabolic event. By linking the images to the metabolic event, the computer system indicates that the user action indicated by the images caused the metabolic event. The computer system may store the images, the metabolic event, and the link between the images and the metabolic event. When the user requests information about the metabolic event, the computer system may retrieve the information about the metabolic event and the linked images. The computer system may then present the linked images to indicate to the user the cause of the metabolic event.
[0087] In this manner, the computer system automatically determines and logs user actions from images captured by the user and automatically links the images to a metabolic event to indicate causation. Because capturing images is typically easier than typing text, the computer system makes it easier for the user to log actions. Moreover, the computer system avoidsDocket No.: 0936-PCT01 requesting or requiring the user to guess the cause of the metabolic event and to manually link actions to the metabolic event. As a result, the computer system improves the assistance provided by the analyte monitoring system and reduces the computing resources (e.g., processor and memory resources) wasted handling incorrect guesses of causes for metabolic events.Text-to-Events
[0088] Figures 3A through 3E illustrate example operations for analyzing text narratives using artificial intelligence to determine and link actions of a user. A computer system (e.g., the computer system 112 shown in Figure 1A) performs these operations. Generally, the computer system uses a large language model to analyze text narratives provided by a user to determine actions performed by the user and information about those actions. The computer system then links the actions to detected metabolic events using the information about those actions and information about the metabolic events.
[0089] Figure 3A shows an example operation 300 performed by the computer system. By performing the operation 300, the computer system analyzes a text narrative to determine a user action and information about the user action. The computer system begins by receiving a text narrative 302 from a user. The user may provide the text narrative 302 using a display device (e.g., the display device 107 shown in Figure 1A). For example, the user may input the text narrative 302 by speaking and using a voice-to-text or transcription feature on the display device. In this manner, the user may quickly input the text narrative 302 relative to manually typing the text narrative 302.
[0090] The text narrative 302 may describe actions that the user took or performed over a period of time. For example, the text narrative 302 may function like a diary or journal in which the user describes the actions the user performed each day. As another example, the text narrative 302 may function like a planner in which the user describes actions that the user wants to perform in the future. The text narrative 302 may also provide additional information about the user action. For example, the text narrative 302 may indicate when the user action was or will be performed. As another example, the text narrative 302 may describe a food that was eaten, an exercise that was performed, a medication that was taken, etc.
[0091] The computer system uses a large language model 304 to analyze the text narrative 302. The large language model 304 may analyze the words, phrases, and sentences in the textDocket No.: 0936-PCT01 narrative 302 to determine a meaning of the text narrative 302. In this manner, the large language model interprets the text narrative 302 and extracts information from the text narrative 302. For example, the large language model 304 may determine one or more user actions 306 described by the text narrative 302 and information 308 about the user actions 306.
[0092] Figure 3B shows an example operation 320 performed by the computer system. By performing the operation 320, the computer system links user actions to a detected metabolic events. The computer system begins with the user action 306 and information 308 determined by the large language model. In the example of Figure 3B, the computer system also determines a time 322 when the user action 306 was performed. For example, the computer system or the large language model may determine or approximate the time 222 from the text narrative.
[0093] The computer system may also have detected a metabolic event 324 that occurred in the user. For example, the computer system may analyze analyte concentration levels determined by an analyte sensor system (e.g., the analyte sensor system 104 shown in Figure 1A) to detect significant spikes, increases, or decreases in analyte concentration levels, which indicates that the metabolic event 324 is occurring. The computer system also determines a time 226 when the metabolic event 324 began or occurred.
[0094] The computer system then links the user action 306 and the images to the metabolic event 324 using the information 308 and / or the times 322 and 326. The computer system may have used the multi-modal model to analyze images and determine multiple user actions performed by the user. The computer system may analyze the information 308 to determine which of the user actions may cause the change in analyte concentration levels indicated by the metabolic event 324. The computer system may then eliminate the user actions that would not have caused that change in analyte concentration levels. The computer system may also analyze the times of the user actions to determine which of the user actions could have caused the metabolic event 324. For example, the computer system may eliminate the user actions with times that occurred too long before the metabolic event 324 or that occurred after the metabolic event 324. As another example, the computer system may identify the user action 306 that occurred within a specific timeframe before the metabolic event 324. After determining the user action 306 that caused the metabolic event 324, the computer system links the user action 306 with the metabolic event 324 to indicate causation. The computer system may store the user action 306, the information 308, the time 322, the metabolic event 324, theDocket No.: 0936-PCT01 time 326, and the link between the user action 306 and the metabolic event 324 in a database (e.g., the user database 110 shown in Figure 1A).
[0095] Figure 3C illustrates an example operation 327 performed by the computer system. By performing the operation 327, the computer system interprets and / or extracts information from a text narrative to determine user actions. The computer system begins by receiving the text narrative 302. The text narrative 302 may have been provided by a user through voice dictation (e.g., using a voice-to-text feature or voice transcription feature). In the example of Figure 3C, the text narrative 302 serves as a diary or journal that describes what the user did (e.g., during a day). The text narrative 302 reads, “Today, I woke up at 9AM. I ate cereal for breakfast and went for a run. I visited my parents and ate pizza with them.”
[0096] The computer system uses a large language model to analyze the text narrative 302 to interpret and / or extract information from the text narrative 302. The large language model may analyze the words, phrases, and / or sentences in the text narrative 302 to determine user actions 306 that the user performed. In the example of Figure 3C, the computer system uses the large language model to determine the user actions 306 A, 306B, 306C, and 306D. The user action 306 A indicates that the user woke up. The user actions 306B and 306D indicate that the user ate. The user action 306C indicates that the user exercised.
[0097] Additionally, the computer system uses the large language model to determine information 308 about the user actions 306. The information 308 may provide further details about the user action actions 306. For example, the computer system may determine the information 308A about the action 306A. The information 308A indicates the time when the user woke up as 9AM. The computer system also determines the information 308B about the action 306B. The information 308B indicates the food that the user ate as cereal. The computer system also determines the information 308C about the action 306C. The information 308C indicates the type of exercise that the user performed as running. The computer system further determines the information 308D about the action 306D. The information 308D indicates the type of food that the user ate as pizza. The computer system may determines multiple types of information 308 about a user action 306 depending on the text in the text narrative 302. For example, the computer system may also determine what meal (e.g., breakfast) the user ate the cereal, when the user ran (e.g., after breakfast), and / or with whom the user ate pizza (e.g., parents).Docket No.: 0936-PCT01
[0098] In some embodiments, the computer system uses analyte concentration levels measured by an analyte sensor system to determine, verify, or confirm the user action 306 and / or the information 308. For example, the computer system may determine that an increase in analyte concentration levels confirms the user action 306 eating. As another example, the computer system may determine from the analyte concentration levels the type of food that was eaten or the number of calories in the food.
[0099] The computer system detects a metabolic event 324 occurred in the user. For example, the computer system may determine a glucose spike occurred in the user. The computer system may then analyze the detected user actions 306 and information 308 to determine which of the actions 306 caused the metabolic event 324. The computer system may determine which of the user actions 306 may cause a glucose spike. For example, the computer system may determine that eating causes glucose spikes and in response, determine that the user actions 306B and 306D may have caused the glucose spike. The computer system may also determine that the timing of the user action 306B falls outside a time window before the metabolic event 324 and that the timing of the user action 306D falls within the time window (e.g., if the text narrative 302 indicated the times of the user actions 306B and 306D). The computer system may then determine that the user action 306D caused the metabolic event 324 and link the user action 306D to the metabolic event, indicating causation. In this manner, the computer system analyzes the text narrative 302 to determine the cause of a metabolic event 324. As a result, the computer system allows the user to easily input user actions 306 (e.g., using voice-to-text), which may improve the functionality and features of the computer system (e.g., allows the computer system to determine causation of metabolic events).
[0100] Figure 3D illustrates an example operation 335 performed by the computer system. By performing the operation 335, the computer system determines planned user actions 306. The computer system begins by receiving the text narrative 302, which a user may have provided through dictation (e.g., a voice-to-text feature or voice transcription feature). In the example of Figure 3D, the text narrative 302 serves as a planner that describes what the user plans to do in the future. The text narrative 302 reads, “I plan to ride my bike tomorrow before I go to work. At work, I will eat a bagel for breakfast.”
[0101] The computer system uses the large language model to interpret and / or extract information from the text narrative 302. In the example of Figure 3D, the computer system uses the large language model to determine the user actions 306E and 306F. The user actionDocket No.: 0936-PCT01306E indicates a future action of exercising, and the user action 306F indicates a future action of eating. The computer system also uses the large language model to determine information 308 about the user actions 306E and 306F. The information 308E indicates the type of exercise as biking, and the information 308F indicates the type of food the user will eat as a bagel.
[0102] Because the determined user actions 306E and 306F are planned to occur in the future, it is unclear whether the user actions 306E and 306F will actually occur. For example, the user may change plans after generating the text narrative 302, which may cause one or more of the user actions 306E and 306F to not occur. If the user actions 306E and 306F do not occur, then the computer system avoids linking the user actions 306E and 306F to detected metabolic events. The computer system may confirm with the user whether the user actions 306E and 306F actually occurred at a later time. For example, the computer system may communicate a prompt 328 to the user to ask whether the user actions 306E and 306F occurred. The user may then provide a response 330 to the prompt 328. The response 330 indicates whether one or more of the user actions 306E and 306F occurred or not. For example, the response 330 may indicate that the user action 306E did not occur and that the user action 306F did occur.
[0103] The computer system may then use the information in the response 330 to determine a cause of a detected metabolic event 324. For example, if the computer system determines from the response 330 that the user action 306F occurred, the computer system may analyze the information 308F to determine whether the user action 306F caused the metabolic event 324. If the metabolic event 324 is an increase in glucose concentration, the computer system may determine that eating the bagel resulted in the glucose concentration increase. The computer system then links the user action 306F to the metabolic event 324, indicating causation. In this manner, the computer system can determine causes of detected metabolic events from planned future actions.
[0104] Figure 3E illustrates an example operation 340 performed by the computer system. By performing the operation 340, the computer system allows a user to edit and / or confirm determined user actions. The computer system begins by analyzing a text narrative 302 using the large language model 304 to determine a user action 306 and information 308 about the user action 306. The large language model 304 may also determine and output a confidence level 342 for the determined user action 306 and / or the information 308. The confidence level 342 may indicate a likelihood that the determined user action 306 and / or information 308 isDocket No.: 0936-PCT01 correct or accurate. The computer system may communicate or present the confidence level 342 along with the user action 306 and / or the information 308.
[0105] The confidence level 342 may alert the user to check the user action 306 and / or the information 308. For example, when the confidence level 342 is low, the large language model 304 may generate text to inform and ask the user about the low confidence user action 306 and / or information 308. The text may indicate to the user that the determined user action 306 and / or the information 308 is likely to be incorrect or inaccurate. The user may then check the user action 306 and / or the information 308 for accuracy. The user may change or edit the user action 306 and / or the information 308 using a display device (e.g., the display device 107 shown in Figure 1A). The display device may communicate the edits 344 to the computer system, and the computer system may change the user action 306 and / or the information 308 according to the edits 344. In this manner, the computer system provides a mechanism that allows the user to change or correct the determined user actions 306 and / or information 308.
[0106] Figure 3F is a flowchart of an example method 360 for linking actions and metabolic events, in accordance with certain aspects of the present disclosure. In certain embodiments, a computer system (e.g., the computer system 112 shown in Figure 1A) performs the method 360. By performing the method 360, the computer system automatically determines a user action from a text narrative and links the user action to a detected metabolic event, indicating causation.
[0107] In block 362, the computer system receives a text narrative. The text narrative may be generated by a user using a dictation feature (e.g., a voice-to-text feature or a voice transcription feature). The text narrative may serve as a diary or journal that describes the actions performed by the user. Additionally or alternatively, the text narrative may serve as a planner that describes the planned actions of the user. The text narrative may also include other details about the actions.
[0108] In block 364, the computer system determines a user action from the text narrative. The computer system may use a large language model to interpret and / or extract information from the text narrative. The large language model may analyze the words, phrases, and sentences in the text narrative to determine the user actions described in the text narrative. The large language model then outputs or provides the determined user actions (e.g., eating, exercising, taking medication, etc.) to the computer system.Docket No.: 0936-PCT01
[0109] In block 366, the computer system determines information about the user action from the text narrative. The computer system may use the large language model to determine and extract the details about the user action from the text narrative. This information may describe certain aspects of the user action (e.g., the food that was eaten, the exercise performed, the medication taken, etc.).
[0110] In block 368, the computer system determines that a metabolic event occurred after the user action. The computer system may detect the metabolic event by monitoring analyte concentration measurements provided by an analyte sensor system. When significant increases or decreases in the analyte concentration occurs, the computer system may detect that a metabolic event occurred. The computer system may determine the timing of the user action (e.g., using information from the text narrative) and use the timing to determine whether the user action caused the metabolic event. For example, the computer system may determine that a user action that occurred within a time window before the metabolic event caused the metabolic event. The computer system may also make this determination based on whether the user action is likely to cause an increase or decrease of the magnitude shown by the metabolic event.
[0111] In block 370, the computer system links the user action to the metabolic event. When the computer system determines that the user action caused the metabolic event, the computer links the user action and / or the information about the user action to the metabolic event, indicating causation. The computer system may store the text narrative, the metabolic event, and the link between the user action and the metabolic event. When the user requests information about the metabolic event, the computer system may retrieve the information about the metabolic event and the linked text narrative and user action. The computer system may then present the linked text narrative and user action to indicate to the user the cause of the metabolic event.
[0112] In this manner, the computer system automatically determines and logs user actions from text narratives and automatically links the user actions to a metabolic event to indicate causation. Because generating the text narrative using a dictation feature is typically easier than typing text, the computer system makes it easier for the user to log actions. Moreover, the computer system avoids requesting or requiring the user to guess the cause of the metabolic event and to manually link actions to the metabolic event. As a result, the computer system improves the assistance provided by the analyte monitoring system and reduces the computingDocket No.: 0936-PCT01 resources (e.g., processor and memory resources) wasted handling incorrect guesses of causes for metabolic events.Recommendation Engine
[0113] Figures 4 A through 4C illustrate example operations for providing recommendations or responses using artificial intelligence. A computer system (e.g., the computer system 112 shown in Figure 1 A) performs these operations. Generally, the computer system uses a large language model to analyze text prompts provided by a user to determine responses to those prompts. To protect against the large language model hallucinating and / or providing responses that are dangerous or unsafe, the computer system selects a response from a bank of safe responses according to the response generated by the large language model. For example, the computer system may select a response that is closest to the response generated by the large language model.
[0114] Figure 4A illustrates an example operation 400 performed by the computer system. Generally, by performing the operation 400, the computer system determines a response to a text prompt. The computer system begins by receiving a text prompt 402 from a user. The user may input the text prompt 402 using a display device (e.g., the display device 107 shown in Figure 1A). The text prompt 402 may include a question related to the health of the user. For example, the text prompt 402 may include a question asking what the user can do to address or prevent a metabolic event from occurring. As another example, the text prompt 402 may include a question asking what types of food the user should eat.
[0115] The computer system uses a large language model 404 to analyze the text prompt 402 and to generate a response 406 to the text prompt 402. The large language model 404 may be trained to determine the meaning of the text prompt 402 and to generate the response 406 based on a set of training data. The large language model 404, however, may hallucinate and / or may provide responses 406 that are unsafe for the user to implement (e.g., due to a health condition of the user). To protect against the large language model 404 providing improper or unsafe responses 406, the computer system performs further operations on the response 406.
[0116] The computer system generates a response vector 408 using the response 406. The response vector 408 may include numerical values that encapsulate or represent the words and meaning of the response 406. As a result, the response vector 408 may be a numerical representation of the response 406.Docket No.: 0936-PCT01
[0117] Figure 4B illustrates an example operation 420 performed by the computer system. Generally, by performing the operation 420, the computer system selects a response from a response bank. The computer system begins with the response vector 408 that the computer system generated for the response from the large language model to the text prompt. To protect against hallucinations and / or unsafe responses, the computer system uses the response vector 408 to determine a response from the response bank.
[0118] As seen in Figure 4C, the response vector 408 belongs to a vector space 422. The vector space 422 may include multiple vectors that have the same dimensionality (e.g., the same number of numerical values) as the response vector 408. Additionally, the numerical values in the vectors in the vectors space 422 may encapsulate or represent the same meanings as the numerical values in the response vector 408. As a result, comparing the response vector 408 to vectors in the vector space 422 may be appropriate for finding vectors representing responses with similar meanings to the response represented by the response vector 408.
[0119] The computer system compares the response vector 408 to vectors in the vector space 422 to determine a vector 424 in the vector space 422 that is most similar to the response vector 408. For example, the computer system may calculate the distance between the response vector 408 and the vectors in the vector space 422. For example, the computer system may find the difference between the response vector 408 and each vector in the vector space 422, and then the computer system may calculate the dot product or the inner product of that difference with itself to determine the distance between the response vector 408 and that vector in the vector space 422. The computer system determines the vector in the vector space 422 with the shortest distance to the response vector 408 as the vector 424.
[0120] The computer system implements a response bank 426 that includes multiple responses. Each of the responses in the response bank 426 may have been determined to be safe responses that can be provided to a user. Additionally, each of the responses is represented by a vector in the vector space 422. As a result, the vector space 422 includes vectors that encapsulate or represent the responses in the response bank 426. The vector 424 that the computer system determined to be closest to the response vector 408 encapsulates or represents a response 428 in the response bank 426. As a result, the response 428 may be the response in the response bank 426 with the most similar meaning to the response represented by the response vector 408. The computer system responds to the text prompt from the user using theDocket No.: 0936-PCT01 response 428. In this manner, the computer system ensures that the response to the text prompt is safe for the user.
[0121] Figure 4C shows an example operation 440 performed by the computer system. By performing the operation 440, the computer system provides a response to a text prompt even when there are no suitable responses in the response bank. The computer system begins by receiving a text prompt 442. The computer system analyzes the text prompt 442 using the large language model 404 to determine a response 444 to the text prompt 442. The computer system then generates a response vector 446 that encapsulates or represents the response 444. The computer system compares the response vector 446 to the vectors in a vector space 448 to determine distances between the response vector 446 and the vectors in the vector space 448. Calculating these distances may involve calculating dot products 450 for the vectors in the vector space. For example, the distances may be the dot products 450 of the differences between the response vector 446 and the vectors in the vector space 448 with themselves.
[0122] The computer system may compare the dot products 450 or the square root of the dot products 450 with a threshold 452 to determine whether any of the vectors in the vector space 448 are close enough to the response vector 446. Stated differently, the computer system uses the threshold 452 to determine if any responses in the response bank are similar enough to the response 444. If some of the dot products 450 fall below the threshold 452, then the computer system selects from the responses in the response bank represented by the vectors in the vector spaced 448 used to generate these dot products 450. If the dot products 450 exceed the threshold 452, then the computer system may determine that none of the vectors in the vector space 448 are close enough to the response vector 446. As a result, none of the responses in the response bank may be suitable to respond to the text prompt 442.
[0123] The computer system relies on a human in the loop to provide a response to the text prompt 442 when the dot products 450 exceed the threshold 452 (e.g., when none of the responses in the response bank are suitable to respond to the text prompt 442). The computer system may communicate the text prompt 442 and / or the response 444 to a human operator for review. The human operator may review the text prompt 442 and / or the response 444 and provide a response 454 to the text prompt 442. The response 454 may be different from the response 444. The human operator sends the response 454 to the computer system, and the computer system communicates the response 454 to the user as the response to the text prompt 442. In some embodiments, the computer system also generates a vector for the response 454,Docket No.: 0936-PCT01 adds that vector to the vector space 448, and adds the response 454 to the response bank. In this manner, the response 454 may be selected as a response to future text prompts.
[0124] Figure 4D is a flowchart of an example method 460 for generating recommendations, in accordance with certain aspects of the present disclosure. In certain embodiments, a computer system (e.g., the computer system 112 shown in Figure 1A) performs the method 460. By performing the method 460, the computer system provides responses to text prompts from a user.
[0125] In block 462, the computer system receives a text prompt. The text prompt may include a question from the user. The question may be related to the health of the user. The user may be requesting a response to the text prompt from the computer system. In block 464, the computer system analyzes the text prompt using a large language model to determine a response to the text prompt. The large language model analyzes the words, phrases, and sentences in the text prompt to determine the response to the text prompt. To protect against the large language model hallucinating or providing unsafe responses, the computer system performs additional analysis on the response from the large language model.
[0126] In block 466, the computer system embeds the response from the large language model into a response vector. The response vector may include numerical values that encapsulate or represent the words and meaning of the response from the large language model. In block 468, the computer system determines a vector in a vector space that is closest to the response vector. For example, the computer system may calculate distances between the response vector and the vectors in the vector space (e.g. by calculating differences between the response vector and the vectors in the vector space and then by calculating the dot products or inner products of these differences with themselves). The computer system may then select the vector in the vector space with the shortest distance to the response vector.
[0127] In block 470, the computer system determines a response from a response bank corresponding to the vector in the vector space with the shortest distance to the response vector. The response bank may include responses that have been confirmed as safe to provide to the user. The response in the response bank corresponding to the vector in the vector space may be the response that has the most similar meaning to the response from the large language model. In block 472, the computer system provides the response from the response bank to the user to respond to the text prompt. In this manner, the computer system protects against the large language model hallucinating and providing the user an unsafe response.Docket No.: 0936-PCT01Meal Duration Prediction
[0128] Figures 5A through 5C illustrate example operations for predicting meal duration. A computer system (e.g., the computer system 112 shown in Figure 1A) performs these operations. Generally, the computer system uses a machine learning model to analyze images related to a meal to predict a duration of that meal. The computer system may then generate and log an action indicating that a user ate the meal and the duration of the meal. In this manner, the computer system may improve the accuracy of meal duration predictions. Accurate meal duration predictions allow the computer system to distinguish between a metabolic event with a longer duration (e.g., caused by a longer meal) and multiple metabolic events with different causes that occur close in time.
[0129] Figure 5A illustrates an example operation 500 performed by the computer system. By performing the operation 500, the computer system predicts the duration of a meal and logs an action for the meal. The computer system begins by receiving one or more images 502 of a meal. The images 502 may have been captured by the user using the display device (e.g., the display device 107 shown in Figure 1A). The images 502 may show various aspects of the meal, such as the food eaten at the meal, the people at the meal, the setting of the meal, etc.
[0130] The computer system uses a machine learning model 504 to analyze the images 502 to determine information 506 about the meal. The machine learning model 504 may use image analysis techniques to distinguish and identify things and people that appear in the images 502. The machine learning model 504 may also compare the things and people that appear in the images 502 to determine relative sizes of the things and people. For example, the machine learning model 504 may determine information 506 such as a size 508 of the meal, the food 510 eaten at the meal, a setting 512 of the meal, people 514 present at the meal, an object 516 present at the meal, and / or a number of calories 518 provided by the meal.
[0131] The computer system and / or the machine learning model 504 may use any information or details in the images 502 to determine the information 506. For example, the machine learning model 504 may determine the size 508 of the meal by comparing the size of the food 510 in the images 502 with the sizes of other objects 516 in the images 502. For example, certain the sizes of certain objects 516 may be known (e.g., size of a person’s head, size of a sign, size of a plate, size of clothing, size of table setting, etc.). By comparing the size of the food 510 with the sizes of these objects 516, the machine learning model 504 may determine or approximate the size 508 of the meal.Docket No.: 0936-PCT01
[0132] The information 506 may help the machine learning model 504 determine the duration 520 of the meal. For example, the size 508 of the meal may be directly proportional to the duration 520 (e.g., the larger the meal, the longer the duration). As another example, the type of food 510 eaten at the meal may suggest the duration 520 (e.g., a sandwich may suggest a short duration, but an entire turkey may suggest a longer duration). As another example, the setting 512 and the people 514 may also suggest the duration 520 (e.g., meals at restaurants or with people may typically last longer than meals alone at home). The machine learning model 504 may consider the information 506 when determining the duration 520 of the meal. In some embodiments, the machine learning model 504 may also use analyte concentration levels measured by an analyte sensor system to determine the duration 520 of the meal. For example, the timing of analyte concentration increases and decreases and / or spike duration may inform the machine learning model 504 about when a meal started and ended and / or the duration 520 of the meal.
[0133] After the computer system determines the duration 520 of the meal, the computer system generates and logs an action 522 for the meal. The action 522 may indicate that the user ate the meal. Additionally, the action 522 may indicate the duration 520 of the meal, as well as the other information 506 determined about the meal. The computer system may then use the action 522 when determining the cause of a detected metabolic event. The duration 520 of the meal may indicate to the computer system the expected duration of the metabolic event. For example, a longer meal may indicate a longer metabolic event, while a shorter meal may suggest a shorter metabolic event. In some instances, the duration 520 of the meal may also suggest the magnitude of a change in analyte concentration for the metabolic event. For example, a longer duration 520 may suggest more food was eaten, which may cause a larger change in analyte concentration. As another example, a shorter duration 520 may suggest less food was eaten, which may cause a smaller change in analyte concentration.
[0134] Figure 5B shows an example operation 524 performed by the computer system. By performing the operation 524, the computer system determines the size of food in images. The computer system begins by detecting, food 510, objects 516, and people 514 in an image (e.g., by using the machine learning model). The computer system then compares the size of the food 510 with the sizes of the objects 516 and the sizes of the people 514 in the images to determine the size 508 of the food 510. For example, the sizes of certain objects 516 (e.g., plates, cutlery, signs, etc.) may be known or roughly known, and the sizes of certain body partsDocket No.: 0936-PCT01(e.g., heads, hands, etc.) on the people 514 may be known or roughly known. By comparing the size of the food 510 appearing in the images with the sizes of these objects 516 and people 514, the computer system may determine or approximate the size 508 of the food 510. By determining the size 508 of the food 510 eaten at the meal, the computer system may more accurately determine the duration of the meal.
[0135] Figure 5C shows an example operation 530 performed by the computer system. By performing the operation 530, the computer system consider user input to adjust the duration 520 of the meal. The computer system begins by receiving feedback 532 from the user. The feedback 532 may indicate a change or correction to any information about the meal, including the size of the food, the setting of the meal, the duration 520 of the meal, etc. The computer system may determine an adjustment 534 to be made according to the feedback 532. For example, if the feedback 532 indicates a correction or change to the determined duration 520, the computer system makes the adjustment 534 to the duration 520.
[0136] If the feedback 532 indicates a correction or change to other determined information about the meal (e.g., the food eaten, the setting, the people at the meal, etc.), the computer system may determine the adjustment 534 to this information. The computer system then inputs the adjusted information to the machine learning model 504 so that the machine learning model 504 may re-determine the duration 520 using the adjusted information. In this manner, the computer considers user input or feedback when determining the duration 520 of the meal.
[0137] The computer system may further train or update the machine learning model 504 using the adjustment 534. For example, the adjustment 534 may indicate an error in the prediction made by the machine learning model 504. By using the adjustment 534 to train or update the machine learning model 504, the machine learning model 504 may produce a more accurate prediction the next time the machine learning model 504 encounters similar images or information.
[0138] Figure 5D is a flowchart of an example method 540 for predicting meal duration, in accordance with certain aspects of the present disclosure. In certain embodiments, the computer system performs the method 540. By performing the method 540, the computer system uses images of a meal to predict the duration of the meal.
[0139] In block 542, the computer system receives an image of a meal. The image may be captured by a user at the meal. The image may show any aspect of the meal, including the foodDocket No.: 0936-PCT01 eaten at the meal, the setting of the meal, the people at the meal, etc. In block 544, the computer system determines information about the meal from the image. The computer system may use image analysis techniques to determine information about the meal from the image. For example, the computer system may identify and analyze the food, objects, and people in the image to determine information about the meal. The information may include the food eaten at the meal, the size of the food, the setting of the meal, the people present at the meal, etc.
[0140] In block 546, the computer system determines the duration of the meal using the information from the image. The computer system may use a machine learning model to analyze the information of the meal extracted from the image to predict or determine the duration of the meal. Certain information from the image may suggest a longer or shorter duration for the meal. For example, certain types of food, the sizes of food, or certain settings or people may suggest a longer duration for the meal.
[0141] In block 548, the computer system logs an action indicating consumption of the meal and the duration of the meal. The action may indicate that the user ate the meal and the duration of the meal. The action may also indicate the other information determined about the meal from the image. By logging the action, the computer system may subsequently use the information about the meal, including the duration of the meal, when determining whether the meal caused a detected metabolic event.Retrieval Augmented. Generation
[0142] Figures 6A through 6C illustrate example operations for reducing input data to a machine learning model. A computer system (e.g., the computer system 112 shown in Figure 1A) performs these operations. Generally, the computer system forms groups of data (e.g., historical data for a user) that share similar characteristics. The computer system then assigns a text tag to each group and generates a vector for each text tag. When a user provides a prompt, the computer system generates a prompt vector for that prompt and finds the closest vector for a text tag to the prompt vector. The computer system then sends the data in the group for that text tag to a machine learning model (e.g., a large language model) to use to respond to the prompt. In this manner, the computer system reduces the amount of information that the machine learning model analyzes to generate a response to the prompt, which reduces computing resources (e.g., processor and memory resources) used and reduces the amount of time the machine learning model takes to respond to the prompt.Docket No.: 0936-PCT01
[0143] Figure 6A shows an example operation 600 performed by the computer system. By performing the operation 600, the computer system groups data and generates text tags for the groups. The computer system begins by receiving historical data 602 for a user. The historical data 602 may include data generated by an analyte sensor system (e.g., the analyte sensor system 104 shown in Figure 1A). For example, the historical data 602 may include measured analyte concentrations of the user and detected metabolic events for the user. The computer system may analyze the historical data 602 to formulate responses to the user.
[0144] The computer system generates groups 604 of data using portions of the historical data. Each group 604 of data may include portions of the historical data 602 that share similar characteristics. For example, a group 604 may include historical data 602 that was generated in the same time period (e.g., on the same day or in the same week). As another example, a group 604 may include historical data 602 that relate to the same topic (e.g., data describing meals eaten, exercises performed, etc.). A portion of historical data 602 may be assigned to multiple groups 604. In the example of Figure 6A, the computer system generates the groups 604A, 604B, and 604C.
[0145] The computer system generates a text tag 606 for each group 604. The text tag 606 for a group 604 may describe the data in that group 604 or the similarity that the data in that group 604 shares. For example, the text tag 606 for a group 604 may describe the time period in which the data in the group 604 was generated. As another example, the text tag 606 for a group 604 may describe the topic that relates to the data in that group 604. In the example of Figure 6A, the computer system generates the text tag 606A for the group 604A, the text tag 606B for the group 604B, and the text tag 606C for the group 604C.
[0146] The computer system embeds the text tags 606 into vectors 608. The vectors 608 may include numerical values that encapsulate or represent the meanings of the text tags 606. In the example of Figure 6A, the computer system generates the vector 608A for the text tag 606A, the vector 608B for the text tag 606B, and the vector 608C for the text tag 606C. In this manner, the computer system groups the historical data 602 and represents the groups 604 using the vectors 608.
[0147] Figure 6B illustrates an example operation 610 performed by the computer system. By performing the operation 610, the computer system determines what data to use to respond to user prompts. The computer system begins by receiving a user prompt 612. The user prompt 612 may be provided by a user using a display device (e.g., the display device 107 shown inDocket No.: 0936-PCT01Figure 1 A). The user prompt 612 may include a question related to the health of the user. The computer system may use a machine learning model (e.g., a large language model) to interpret the user prompt 612 and to generate a response to the user prompt 612. Existing system may provide the machine learning model the historical data so that the machine learning model can use the historical data when formulating the response to the user prompt 612. The historical data, however, may be a large dataset and not all of the historical data may be relevant to the user prompt 612. As a result, the machine learning model may waste computing resources and time analyzing all of the historical data. The computer system may send a group of data instead of the historical data to the machine learning model.
[0148] The computer system embeds the user prompt 612 into a prompt vector 614. The prompt vector 614 may include numerical values that encapsulate or represent the meaning of the user prompt 612. The prompt vector 614 may be in the same vector space 616 as the vectors 608. For example, the prompt vector 614 may include the same number of numerical values as the vectors 608, and the numerical values in the prompt vector 614 may encapsulate or represent the same meanings as the numerical values in the vectors 608.
[0149] The computer system determines the vector 608 in the vector space 616 that is closest to the prompt vector 614. For example, the computer system may calculate the distances between the prompt vector 614 and the vectors 608 in the vector space 616. The computer system may determine differences between the prompt vector 614 and the vectors 608 in the vector space 616, and the computer system may determine the dot products or inner products of these differences with themselves. The computer system selects the vector 608 in the vector space 616 that results in the smallest dot product. In the example of Figure 6B, the computer system selects the vector 608A. The computer system then selects the group 604 assigned to the text tag represented by the selected vector. In the example of Figure 6B, the computer system selects the group 604A. In this manner, the computer system selects the group 604 of data from the historical data that is most similar or relevant to the user prompt 612.
[0150] Figure 6C shows an example operation 620 performed by the computer system. By performing the operation 620, the computer system uses the selected group of data to respond to the user prompt. The computer system begins by sending the selected group 604 of data and the user prompt 612 to a machine learning model. In the example of Figure 6C, the computer system sends the group 604A and the user prompt 612 to a large language model 622. The large language model 622 uses the data in the group 604A to formulate a response 624 to theDocket No.: 0936-PCT01 user prompt 612. The computer system then communicates the response 624 to the user to respond to the user prompt 612.
[0151] Figure 6D is a flowchart of an example method 630 for determining input data, in accordance with certain aspects of the present disclosure. In certain embodiments, a computer system (e.g., the computer system 112 shown in Figure 1A) performs the method 630. By performing the method 630, the computer system reduces the input data set to a machine learning model.
[0152] In block 632, the computer system receives a user prompt. The user prompt may be provided by a user and may include a question that the user would like the computer system to answer. In block 634, the computer system embeds the user prompt into a prompt vector. The prompt vector includes numerical values that encapsulate or represent the meaning of the user prompt.
[0153] In block 636, the computer system determines a vector closest to the prompt vector in a vector space. For example, the computer system may determine distances between the prompt vector and the vectors in the vector space. The computer system may select the vector with the shortest distance to the prompt vector. In block 638, the computer system determines a group of historical data for the selected vector. The selected vector may represent a text tag describing a group of historical data. The computer system may select the group of historical data described by the text tag represented by the selected vector.
[0154] In block 640, the computer system determines a response to the user prompt using the selected group of historical data. For example, the computer system may communicate the selected group of historical data and the user prompt to a machine learning model (e.g., a large language model). The machine learning model then uses the group of historical data to formulate a response to the user prompt. In this manner, the computer system reduces the input data for the machine learning model to analyze to formulate the response, which may improve the accuracy and speed of the machine learning model.
[0155] Figure 7 is a block diagram depicting a computer system 700, which may be the computer system 112 shown in Figure 1A. Although depicted as a single physical device, in embodiments, the computer system 700 may be implemented using virtual device(s), and / or across a number of devices, such as in a cloud environment and / or via separate modules of portable or cloud devices. As illustrated, the computer system 700 includes a processor 705, aDocket No.: 0936-PCT01 memory 710, a storage 715, a network interface 725, and one or more I / O interfaces 720. In the illustrated embodiment, the processor 705 retrieves and executes programming instructions stored in the memory 710, as well as stores and retrieves application data residing in the storage 715. The processor 705 is generally representative of a single CPU and / or GPU, multiple CPUs and / or GPUs, a single CPU and / or GPU having multiple processing cores, and the like.
[0156] The processor 705 is any electronic circuitry, including, but not limited to one or a combination of microprocessors, microcontrollers, application specific integrated circuits (ASIC), application specific instruction set processor (ASIP), and / or state machines, that communicatively couples to the memory 710 and controls the operation of the computer system 700. The processor 705 may be 8-bit, 16-bit, 32-bit, 64-bit or of any other suitable architecture. The processor 705 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor registers that supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. The processor 705 may include other hardware that operates software to control and process information. The processor 705 executes software stored on the memory 710 to perform any of the functions described herein. The processor 705 controls the operation and administration of the computer system 700 by processing information (e.g., information received from the memory 710). The processor 705 is not limited to a single processing device and may encompass multiple processing devices contained in the same device or computer or distributed across multiple devices or computers. The processor 705 is considered to perform a set of functions or actions if the multiple processing devices collectively perform the set of functions or actions, even if different processing devices perform different functions or actions in the set.
[0157] The memory 710 is generally included to be representative of a random access memory (RAM). The storage 715 may be any combination of disk drives, flash-based storage devices, and the like, and may include fixed and / or removable storage devices, such as fixed disk drives, removable memory cards, caches, optical storage, network attached storage (NAS), or storage area networks (SAN). The memory 710 may store, either permanently or temporarily, data, operational software, or other information for the processor 705. The memory 710 may include any one or a combination of volatile or non-volatile local or remote devices suitable for storing information. For example, the memory 710 may include random access memory (RAM), read only memory (ROM), magnetic storage devices, optical storageDocket No.: 0936-PCT01 devices, or any other suitable information storage device or a combination of these devices. The software represents any suitable set of instructions, logic, or code embodied in a computer- readable storage medium. For example, the software may be embodied in the memory 710, a disk, a CD, or a flash drive. In particular embodiments, the software may include an application executable by the processor 705 to perform one or more of the functions described herein. The memory 710 is not limited to a single memory and may encompass multiple memories contained in the same device or computer or distributed across multiple devices or computers. The memory 710 is considered to store a set of data, operational software, or information if the multiple memories collectively store the set of data, operational software, or information, even if different memories store different portions of the data, operational software, or information in the set.
[0158] In some embodiments, the I / O devices 735 (such as keyboards, monitors, etc.) can be connected via the VO interface(s) 720. Further, via the network interface 725, the computer system 700 can be communicatively coupled with one or more other devices and components (e.g., the user database 110 shown in Figure 1 A). In certain embodiments, the computer system 700 is communicatively coupled with other devices via a network, which may include the Internet, local network(s), and the like. The network may include wired connections, wireless connections, or a combination of wired and wireless connections. As illustrated, the processor 705, memory 710, storage 715, network interface(s) 725, and the VO interface(s) 720 are communicatively coupled by one or more interconnects 730. In certain embodiments, the computer system 700 is representative of the display device associated with the user. In certain embodiments, as discussed above, the display device can include the user’s laptop, computer, smartphone, and the like. In another embodiment, the computer system 700 is a server executing in a cloud environment.
[0159] The present disclosure describes several embodiments of a continuous analyte monitoring system.
[0160] According to an embodiment, an analyte monitoring system includes an analyte sensor system, a memory, and a processor communicatively coupled to the memory. The analyte sensor system includes an analyte sensor that generates a sensor current and sensor electronics that generate analyte concentration measurements based on the sensor current. The processor analyzes, using a multi-modal model, a plurality of images to determine (i) a user action indicated by the plurality of images and (ii) information about the user action,Docket No.: 0936-PCT01 determines, based on the information about the user action, that a metabolic event occurred after the user action, and links the plurality of images to the metabolic event indicating that the user action caused the metabolic event.
[0161] The plurality of images may include (i) a first image of food eaten during a meal and (ii) a second image of a nutrition label for the food. The determined user action may be that the user ate the food in the first image during the meal. The information about the user action may include a number of calories in the meal.
[0162] The plurality of images may include an image of exercise equipment. The determined user action may be that the user used the exercise equipment in the image when exercising. The information about the user action may include a number of calories burned when exercising.
[0163] The plurality of images may include an image of medication. The determined user action may be that the user took the medication in the image. The information about the user action may include a dosage of the medication.
[0164] The plurality of images may be accompanied by timestamps . The information about the user action may include a timing of the user action based on the timestamps. Linking the plurality of images to the metabolic event may be further based on the timestamps and a time of the metabolic event.
[0165] According to another embodiment, an analyte monitoring system includes an analyte sensor system, a memory, and a processor communicatively coupled to the memory. The analyte sensor system includes an analyte sensor that generates a sensor current and sensor electronics that generate analyte concentration measurements based on the sensor current. The processor analyzes, using a large language model, a text narrative to determine (i) a user action indicated by the text narrative and (ii) information about the user action, determines, based on the information about the user action, that a metabolic event occurred after the user action, and links the user action to the metabolic event indicating that the user action caused the metabolic event.
[0166] The text narrative may describe a food that the user ate during a meal. The determined user action may be that the user ate the meal. The information about the user action may include that the user ate the food.Docket No.: 0936-PCT01
[0167] The user action may be a planned action to be performed in the future. The processor may receive an indication that the planned action was performed and determining that the metabolic event occurred may be based on the indication that the planned action was performed.
[0168] Analyzing the text narrative using the large language model may be further to determine a timing of the user action and linking the user action to the metabolic event may be based on the determined timing of the user action.
[0169] The user action may be a past action performed by the user.
[0170] The large language model may produce a confidence level for the determined user action and determining that the metabolic event occurred after the user action may be based on the confidence level.
[0171] According to another embodiment, an analyte monitoring system includes an analyte sensor system, a memory, and a processor communicatively coupled to the memory. The analyte sensor system includes an analyte sensor that generates a sensor current and sensor electronics that generate analyte concentration measurements based on the sensor current. The processor analyzes, using a large language model, a first text prompt to determine a first response to the first text prompt and embeds the first response into a first response vector in a vector space. Vectors in the vector space correspond to a plurality of responses in a response bank. The processor also determines a vector in the vector space that is closest to the first response vector and responds to the first text prompt using a second response of the plurality of responses corresponding to the determined vector.
[0172] The first response vector may include a plurality of numerical values representing the first response.
[0173] Determining the vector in the vector space may include calculating a dot product based on the vector and the first response vector.
[0174] The processor may refrain from responding to the first text prompt using the first response.
[0175] The processor may analyze, using the large language model, a second text prompt to determine a third response to the second text prompt and embed the third response into a second response vector in the vector space. The processor may, in response to determining that no vector in the vector space is within a threshold distance of the second response vector,Docket No.: 0936-PCT01 communicate the second text prompt to a human and receive, from the human, a fourth response to the second text prompt. The processor may respond to the second text prompt using the fourth response. The processor may embed the fourth response into a third response vector in the vector space and add the third response vector to the vector space.
[0176] According to another embodiment, an analyte monitoring system includes an analyte sensor system, a memory, and a processor communicatively coupled to the memory. The analyte sensor system includes an analyte sensor that generates a sensor current and sensor electronics that generate analyte concentration measurements based on the sensor current. The processor analyzes, using a machine learning model, an image of a meal to determine information about the meal. The information includes at least one of a size of the meal, a type of food consumed during the meal, or a setting of the meal. The processor also determines, using the machine learning model and based on the information about the meal, a duration of the meal and logs an action indicating consumption of the meal and the duration of the meal.
[0177] The information may include at least one of people at the meal or an object related to the meal. The processor may determine a size of the meal based on at least one of the people at the meal or the object related to the meal. The object related to the meal may include at least one of a place setting, cutlery, or signage.
[0178] The information may include at least one of a number of calories for the meal or a size of the meal. Determining the duration of the meal may be based on the size of the meal.
[0179] The processor may receive feedback about the determined duration of the meal and adjust the machine learning model using the feedback.
[0180] According to another embodiment, an analyte monitoring system includes an analyte sensor system, a memory, and a processor communicatively coupled to the memory. The analyte sensor system includes an analyte sensor that generates a sensor current and sensor electronics that generate analyte concentration measurements for a user based on the sensor current. The analyte concentration measurements include a time series of data points forming a curve. The processor embeds a user prompt into a prompt vector in a vector space. Vectors in the vector space indicate groups of historical data of a user. The processor also determines a vector in the vector space closest to the prompt vector and generates, using a large language model and based on a group of historical data of the groups of historical data corresponding to the determined vector, a response to the user prompt.Docket No.: 0936-PCT01
[0181] The groups of historical data may be generated based on times when the historical data in the groups of historical data was generated.
[0182] The groups of historical data may be generated topically.
[0183] The processor may assign a text tag to the group of historical data. The vector in the vector space may indicate the text tag.
[0184] The prompt vector may include a plurality of numerical values representing the user prompt.
[0185] Determining the vector may include calculating a dot product based on the prompt vector and the vector.
[0186] Generating the response may include providing historical data from the group of historical data to the large language model.
[0187] The methods disclosed herein include one or more steps or actions for achieving the methods. The method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0188] As used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a c c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).
[0189] The term “continuous,” as used herein, is a broad term, and is used in its ordinary sense, and can mean continuous, semi-continuous, continual, periodic, intermittent, regular, etc.
[0190] The terms “continuous analyte sensor,” “continuous multi-analyte sensor,” “continuous glucose sensor,” and “continuous lactate sensor,” as used herein, are broad terms, and are used in their ordinary sense, and refer without limitation to a device that continuously measures a concentration of an analyte or calibrates the device (e.g., by continuously adjusting or determining the sensor’s sensitivity and background), for example, at time intervals ranging from fractions of a second up to, e.g., 1, 2, or 5 minutes, or longer.Docket No.: 0936-PCT01
[0191] The terms “sensitivity” or “sensor sensitivity,” as used herein, are broad terms, and are used in their ordinary sense, and refer without limitation to an amount of signal produced by a certain concentration of a measured analyte, or a measured species (e.g., H2O2) associated with a measured analyte (e.g., glucose or lactate). For example, a sensor may have a sensitivity of from about 1 to about 300 picoAmps of current for every 1 mg / dL of glucose analyte.
[0192] The term “sensor data,” as used herein, is a broad term, and is used in its ordinary sense, and refers without limitation to any data associated with a sensor, such as a continuous analyte or continuous multi-analyte sensor. Sensor data includes a raw data stream, or simply data stream, of analog or digital signal directly related to a measured analyte from an analyte sensor (or other signal received from another sensor), as well as calibrated or filtered raw data. The terms “sensor data point” and “data point” refer generally to a digital representation of sensor data at a particular time. The terms broadly encompass a plurality of time spaced data points from a sensor, such as a continuous analyte sensor, which includes individual measurements taken at time intervals ranging from fractions of a second up to, e.g., 1, 2, or 5 minutes or longer. In another example, the sensor data includes an integrated digital value representative of one or more data points averaged over a time period. Sensor data may include calibrated data, smoothed data, filtered data, transformed data, or any other data associated with a sensor.
[0193] The term “sensor electronics,” as used herein, is a broad term, and is used in its ordinary sense, and refers without limitation to components, e.g., hardware or software, of a device configured to process sensor data.
[0194] Although certain embodiments herein are described with reference to management of diabetes, diabetes management is only an example of one application for which the present systems and methods may be utilized. The systems and methods described herein can also be used for managing one or more other diseases or conditions, which may or may not include diabetes. For example, the systems and methods described herein can be utilized for managing kidney disease, liver disease, and other types of diseases or conditions.
[0195] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language of the claims, whereinDocket No.: 0936-PCT01 reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
[0196] While various examples have been described above, it should be understood that they have been presented by way of example only, and not by way of limitation. Likewise, the various diagrams may depict an example architectural or other configuration for the disclosure, which is done to aid in understanding the features and functionality that can be included in the disclosure. The disclosure is not restricted to the illustrated example architectures or configurations, but can be implemented using a variety of alternative architectures and configurations. Additionally, although the disclosure is described above in terms of various example examples and aspects, it should be understood that the various features and functionality described in one or more of the individual examples are not limited in their applicability to the particular example with which they are described. They instead can be applied, alone or in some combination, to one or more of the other examples of the disclosure, whether or not such examples are described, and whether or not such features are presented as being a part of a described example. Thus the breadth and scope of the present disclosure should not be limited by any of the above-described example examples.
[0197] All references cited herein are incorporated herein by reference in their entirety. To the extent publications and patents or patent applications incorporated by reference contradict the disclosure contained in the specification, the specification is intended to supersede and / or take precedence over any such contradictory material.
[0198] Unless otherwise defined, all terms (including technical and scientific terms) are to be given their ordinary and customary meaning to a person of ordinary skill in the art, and are not to be limited to a special or customized meaning unless expressly so defined herein.Docket No.: 0936-PCT01
[0199] Terms and phrases used in this application, and variations thereof, especially in the appended claims, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing, the term ‘including’ should be read to mean ‘including, without limitation,’ ‘including but not limited to,’ or the like; the term ‘comprising’ as used herein is synonymous with ‘including,’ ‘containing,’ or ‘characterized by,’ and is inclusive or open-ended and does not exclude additional, unrecited elements or method steps; the term ‘having’ should be interpreted as ‘having at least;’ the term ‘includes’ should be interpreted as ‘includes but is not limited to;’ the term ‘example’ is used to provide example instances of the item in discussion, not an exhaustive or limiting list thereof; adjectives such as ‘known’, ‘normal’, ‘standard’, and terms of similar meaning should not be construed as limiting the item described to a given time period or to an item available as of a given time, but instead should be read to encompass known, normal, or standard technologies that may be available or known now or at any time in the future; and use of terms like ‘preferably,’ ‘preferred,’ ‘desired,’ or ‘desirable,’ and words of similar meaning should not be understood as implying that certain features are critical, essential, or even important to the structure or function of the embodiments, but instead as merely intended to highlight alternative or additional features that may or may not be utilized in a particular example of the embodiments. Likewise, a group of items linked with the conjunction ‘and’ should not be read as requiring that each and every one of those items be present in the grouping, but rather should be read as ‘and / or’ unless expressly stated otherwise. Similarly, a group of items linked with the conjunction ‘or’ should not be read as requiring mutual exclusivity among that group, but rather should be read as ‘and / or’ unless expressly stated otherwise.
[0200] The term “comprising as used herein is synonymous with “including,” “containing,” or “characterized by” and is inclusive or open-ended and does not exclude additional, unrecited elements or method steps.
[0201] All numbers expressing quantities of ingredients, reaction conditions, and so forth used in the specification are to be understood as being modified in all instances by the term ‘about.’ Accordingly, unless indicated to the contrary, the numerical parameters set forth herein are approximations that may vary depending upon the desired properties sought to be obtained. At the very least, and not as an attempt to limit the application of the doctrine of equivalents to the scope of any claims in any application claiming priority to the presentDocket No.: 0936-PCT01 application, each numerical parameter should be construed in light of the number of significant digits and ordinary rounding approaches.
[0202] Furthermore, although the foregoing has been described in some detail by way of illustrations and examples for purposes of clarity and understanding, it is apparent to those skilled in the art that certain changes and modifications may be practiced. Therefore, the description and examples should not be construed as limiting the scope of the disclosure to the specific examples and examples described herein, but rather to also cover all modification and alternatives coming with the true scope and spirit of the disclosure.
Claims
Docket No.: 0936-PCT01CLAIMSWhat is claimed is:
1. An analyte monitoring system comprising: an analyte sensor system comprising: an analyte sensor configured to generate a sensor current; and sensor electronics configured to generate analyte concentration measurements based on the sensor current; a memory; and a processor communicatively coupled to the memory, the processor configured to: analyze, using a large language model, a first text prompt to determine a first response to the first text prompt; embed the first response into a first response vector in a vector space, wherein vectors in the vector space correspond to a plurality of responses in a response bank; determine a vector in the vector space that is closest to the first response vector; and respond to the first text prompt using a second response of the plurality of responses corresponding to the determined vector.
2. The analyte monitoring system of Claim 1, wherein the first response vector comprises a plurality of numerical values representing the first response.
3. The analyte monitoring system of Claim 1, wherein determining the vector in the vector space comprises calculating a dot product based on the vector and the first response vector.
4. The analyte monitoring system of Claim 1, wherein the processor refrains from responding to the first text prompt using the first response.
5. The analyte monitoring system of Claim 1, wherein the processor is further configured to: analyze, using the large language model, a second text prompt to determine a third response to the second text prompt; embed the third response into a second response vector in the vector space;Docket No.: 0936-PCT01 in response to determining that no vector in the vector space is within a threshold distance of the second response vector: communicate the second text prompt to a human; and receive, from the human, a fourth response to the second text prompt; and respond to the second text prompt using the fourth response.
6. The analyte monitoring system of Claim 5, wherein the processor is further configured to: embed the fourth response into a third response vector in the vector space; and add the third response vector to the vector space.
7. The analyte monitoring system of Claim 1, wherein the vector comprises a number indicating the second response in the response bank.
8. A method comprising: generating, by an analyte sensor, a sensor current; generating, by sensor electronics, analyte concentration measurements based on the sensor current; analyzing, using a large language model, a first text prompt to determine a first response to the first text prompt; embedding the first response into a first response vector in a vector space, wherein vectors in the vector space correspond to a plurality of responses in a response bank; determining a vector in the vector space that is closest to the first response vector; and responding to the first text prompt using a second response of the plurality of responses corresponding to the determined vector.
9. The method of Claim 8, wherein the first response vector comprises a plurality of numerical values representing the first response.
10. The method of Claim 8, wherein determining the vector in the vector space comprises calculating a dot product based on the vector and the first response vector.
11. The method of Claim 8, further comprising refraining from responding to the first text prompt using the first response.
12. The method of Claim 8, further comprising:Docket No.: 0936-PCT01 analyzing, using the large language model, a second text prompt to determine a third response to the second text prompt; embedding the third response into a second response vector in the vector space; in response to determining that no vector in the vector space is within a threshold distance of the second response vector: communicating the second text prompt to a human; and receiving, from the human, a fourth response to the second text prompt; and respond to the second text prompt using the fourth response.
13. The method of Claim 12, further comprising: embedding the fourth response into a third response vector in the vector space; and adding the third response vector to the vector space.
14. The method of Claim 8, wherein the vector comprises a number indicating the second response in the response bank.
15. An analyte monitoring system comprising: an analyte sensor system comprising: an analyte sensor configured to generate a sensor current; and sensor electronics configured to generate analyte concentration measurements based on the sensor current; a memory; and a processor communicatively coupled to the memory, the processor configured to: receive a first text prompt based on the analyte concentration measurements; determine, using a large language model, a first response to the first text prompt; embed the first response into a first response vector; determine, based on the first response vector, a vector in a vector space corresponding to a plurality of responses in a response bank; and respond to the first text prompt using a second response of the plurality of responses corresponding to the determined vector.