Fast and efficient retrieval of patterns and events in continuous glucose monitoring

The method transforms CGM data into symbolic representations and uses a search engine to efficiently retrieve relevant patterns, addressing the challenge of analyzing large CGM datasets and enhancing diabetes treatment.

WO2026049829A1PCT designated stage Publication Date: 2026-03-05UNIV OF VIRGINIA PATENT FOUND

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing systems struggle to efficiently search and analyze large volumes of continuous glucose monitoring (CGM) data for patterns and events, limiting their utility in clinical practice and treatment decisions.

Method used

A method and system that transforms CGM data into symbolic representations (CGM Strings and Texts) using clinical categorization, calculates distances between these representations, and employs a search engine to quickly retrieve relevant patterns, supported by visualization tools for user interaction.

Benefits of technology

Enables rapid and efficient retrieval of similar CGM patterns, facilitating advanced treatment methods like automated insulin delivery and decision support systems, and improving diabetes management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025031674_05032026_PF_FP_ABST
    Figure US2025031674_05032026_PF_FP_ABST
Patent Text Reader

Abstract

A computer implemented method matching an individual's continuous metabolite monitoring traces with another individual's continuous metabolite monitoring traces begins by identifying a concentration level of a metabolite for a subject. Dividing metabolic states into ranges of concentration levels allows for transforming a concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels. The method identifies one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed concentration levels represented by the symbols. A computer is programmed to determine a lexical distance between a first string from the one or more strings of symbols and a second string, wherein the lexical distance corresponds to a degree of similarity between the first string and the second string. The computer provides a search result for a search query based on the determined lexical distance.
Need to check novelty before this filing date? Find Prior Art

Description

Docket Number: 10885-069WO1 FAST AND EFFICIENT RETRIEVAL OF PATTERNS AND EVENTS IN CONTINUOUS GLUCOSE MONITORING CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to and incorporates by reference United States Provisional Patent Application Serial No.63 / 689,284 filed on August 30, 2024 and entitled Fast and Efficient Retrieval of Patterns and Events in Continuous Glucose Monitoring. BACKGROUND

[0002] The present invention relates generally to the field of computing, and more particularly to medical analytics and diagnostics.

[0003] Medical professionals have long understood the importance of comprehensively testing and understanding their patients’ condition. However, the advent of new hardware has enabled continuous, often portable monitoring of various metabolic data. Such data has enabled new approaches to medical analytics and diagnostics, allowing for great advancements in research, complex diagnostics, and advanced treatment methods like automated insulin delivery. SUMMARY

[0004] According to one embodiment, a method, computer system, and computer program product for searching through levels of a metabolite is provided. The embodiment may include identifying a concentration level of a metabolite for a subject. The embodiment may also include transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels. The embodiment may further include transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels. The embodiment may also include identifying one or more strings of symbols, wherein each string of symbols corresponds to a series of transformed concentration levels. The embodiment may furtherDocket Number: 10885-069WO1 include determining a distance between a first string from the one or more strings of symbols and a second string and providing a search result for a search query based on the determined distance.

[0005] It should be understood that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or an article of manufacture, such as a computer-readable storage medium.

[0006] Other systems, methods, features and / or advantages will be or may become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features and / or advantages be included within this description and be protected by the accompanying claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.

[0008] Figure 1 depicts an exemplary computing device or computer system with several components.

[0009] Figure 2 is an exemplary flowchart of an example method for searching through patterns in concentration levels of a metabolite.

[0010] Figure 3 is an exemplary table of potential alphabets representing different categories of data for continuous glucose monitoring.

[0011] Figure 4 depicts an exemplary process for Continuous Glucose Monitoring (CGM) transformation and representation for CGM search according to at least one embodiment.

[0012] Figure 5 depicts an exemplary process by which a CGM String and CGM Text may be evaluated from a CGM Trace.Docket Number: 10885-069WO1

[0013] Figure 6A depicts a potential chart-based visualization of a CGM String from a CGM Trace with transformation metrics and grade from Figure 3.

[0014] Figure 6B depicts a potential chart-based visualization of a CGM String from a CGM Trace with transformation metrics and grade from Figure 3.

[0015] Figure 7 is an exemplary comprehensive lookup table for evaluating grades between clinical metrics.

[0016] Figure 8A depicts an exemplary logical index representation of CGM Text as track and sector for a CGM Management System.

[0017] Figure 8B depicts three additional exemplary visualizations representing a sector and track indexing scheme from a CGM Text to represent a CGM Trace.

[0018] Figure 9 depicts a potential set of CGM visualization components for a CGM search system.

[0019] Figure 10 depicts an exemplary architecture for a CGM search system with a backend server and a frontend.

[0020] Figure 11 depicts an exemplary optimization process for a relevant trace retrieval.

[0021] Figure 12A depicts an exemplary interface for user authentication in a CGM search web application.

[0022] Figure 12B depicts an exemplary interface for profile creation in a CGM search web application.

[0023] Figure 13 depicts a potential search system interface for finding similar CGM Traces.

[0024] Figure 14A depicts exemplary search panels for finding similar CGM traces representing CGM value-based metrics, CGM Time-based metrics, and CGM Frequency- based metrics, respectively.Docket Number: 10885-069WO1

[0025] Figure 14B depicts exemplary search panels for finding similar CGM traces representing CGM value-based metrics, CGM Time-based metrics, and CGM Frequency- based metrics, respectively.

[0026] Figure 14C depicts exemplary search panels for finding similar CGM traces representing CGM value-based metrics, CGM Time-based metrics, and CGM Frequency- based metrics, respectively.

[0027] Figure 15A depicts an exemplary search result from CGM search system with CGM value-based method.

[0028] Figures 15B depicts additional examples of search results from a CGM search system with a CGM value-based method.

[0029] Figures 15C depicts additional examples of search results from a CGM search system with a CGM value-based method.

[0030] Figures 15D depicts additional examples of search results from a CGM search system with a CGM value-based method.

[0031] Figure 16 depicts a potential configuration setting for a CGM search system.

[0032] It should be appreciated that the logical operations described herein with respect to the various figures may be implemented (1) as a sequence of computer implemented acts or program modules (i.e., software) running on a computing device (e.g., the computing device described in Figure 1), (2) as interconnected machine logic circuits or circuit modules (i.e., hardware) within the computing device and / or (3) a combination of software and hardware of the computing device.Docket Number: 10885-069WO1 DETAILED DESCRIPTION

[0033] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. Methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure. As used in the specification, and in the appended claims, the singular forms “a,” “an,” “the” include plural referents unless the context clearly dictates otherwise. The term “comprising” and variations thereof as used herein is used synonymously with the term “including” and variations thereof and are open, non-limiting terms. The terms “optional” or “optionally” used herein mean that the subsequently described feature, event or circumstance may or may not occur, and that the description includes instances where said feature, event or circumstance occurs and instances where it does not. Ranges may be expressed herein as from "about" one particular value, and / or to "about" another particular value. When such a range is expressed, an aspect includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent "about," it will be understood that the particular value forms another aspect. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint. While implementations will be described for effectively monitoring, searching, and treating varying levels of glucose, it will become evident to those skilled in the art that the implementations are not limited thereto, but are applicable for any analysis of structured data regarding patterns of levels of any metabolite in a subject, particularly analysis that benefits from a reduced or simplified search space or efficient searches.Docket Number: 10885-069WO1

[0034] As used herein, the terms "about" or "approximately" when referring to a measurable value such as an amount, a percentage, and the like, is meant to encompass variations of ±20%, ±10%, ±5%, or ±1% from the measurable value.

[0035] “Administration” of “administering” to a subject includes any route of introducing or delivering to a subject an agent. Administration can be carried out by any suitable means for delivering the agent. Administration includes self-administration and the administration by another.

[0036] The term “subject” is defined herein to include animals such as mammals, including, but not limited to, primates (e.g., humans), cows, sheep, goats, horses, dogs, cats, rabbits, rats, mice and the like. In some embodiments, the subject is a human.

[0037] It should be appreciated that the logical operations described herein with respect to the various figures may be implemented (1) as a sequence of computer implemented acts or program modules (i.e., software) running on a computing device (e.g., the computing device described in Figure 1), (2) as interconnected machine logic circuits or circuit modules (i.e., hardware) within the computing device and / or (3) a combination of software and hardware of the computing device. Thus, the logical operations discussed herein are not limited to any specific combination of hardware and software. The implementation is a matter of choice dependent on the performance and other requirements of the computing device. Accordingly, the logical operations described herein are referred to variously as operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in a different order than those described herein.Docket Number: 10885-069WO1

[0038] Referring to Figure 1, an example computing device 100 upon which the methods described herein may be implemented is illustrated. It should be understood that the example computing device 100 is only one example of a suitable computing environment upon which the methods described herein may be implemented. Optionally, the computing device 100 can be a well-known computing system including, but not limited to, personal computers, servers, handheld or laptop devices, multiprocessor systems, microprocessor- based systems, network personal computers (PCs), minicomputers, mainframe computers, embedded systems, and / or distributed computing environments including a plurality of any of the above systems or devices. Distributed computing environments enable remote computing devices, which are connected to a communication network or other data transmission medium, to perform various tasks. In the distributed computing environment, the program modules, applications, and other data may be stored on local and / or remote computer storage media.

[0039] In its most basic configuration, computing device 100 typically includes at least one processing unit 106 and system memory 104. Depending on the exact configuration and type of computing device, system memory 104 may be volatile (such as random access memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.), or some combination of the two. This most basic configuration is illustrated in Figure 1 by box 102. The processing unit 106 may be a standard programmable processor that performs arithmetic and logic operations necessary for operation of the computing device 100. The computing device 100 may also include a bus or other communication mechanism for communicating information among various components of the computing device 100.

[0040] Computing device 100 may have additional features / functionality. For example, computing device 100 may include additional storage such as removable storage 108 and non-removable storage 110 including, but not limited to, magnetic or optical disks orDocket Number: 10885-069WO1 tapes. Computing device 100 may also contain network connection(s) 116 that allow the device to communicate with other devices. Computing device 100 may also have input device(s) 114 such as a keyboard, mouse, touch screen, etc. Output device(s) 112 such as a display, speakers, printer, etc. may also be included. The additional devices may be connected to the bus in order to facilitate communication of data among the components of the computing device 100. All these devices are well known in the art and need not be discussed at length here.

[0041] The processing unit 106 may be configured to execute program code encoded in tangible, computer-readable media. Tangible, computer-readable media refers to any media that is capable of providing data that causes the computing device 100 (i.e., a machine) to operate in a particular fashion. Various computer-readable media may be utilized to provide instructions to the processing unit 106 for execution. Example tangible, computer- readable media may include, but is not limited to, volatile media, non-volatile media, removable media and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. System memory 104, removable storage 108, and non-removable storage 110 are all examples of tangible, computer storage media. Example tangible, computer-readable recording media include, but are not limited to, an integrated circuit (e.g., field-programmable gate array or application-specific IC), a hard disk, an optical disk, a magneto-optical disk, a floppy disk, a magnetic tape, a holographic storage medium, a solid- state device, RAM, ROM, electrically erasable program read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices.Docket Number: 10885-069WO1

[0042] In an example implementation, the processing unit 106 may execute program code stored in the system memory 104. For example, the bus may carry data to the system memory 104, from which the processing unit 106 receives and executes instructions. The data received by the system memory 104 may optionally be stored on the removable storage 108 or the non-removable storage 110 before or after execution by the processing unit 106.

[0043] It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination thereof. Thus, the methods and apparatuses of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computing device, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computing device generally includes a processor, a storage medium readable by the processor (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. One or more programs may implement or utilize the processes described in connection with the presently disclosed subject matter, e.g., through the use of an application programming interface (API), reusable controls, or the like. Such programs may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language and it may be combined with hardware implementations.Docket Number: 10885-069WO1

[0044] Figure 2 is an exemplary flowchart of an example method for searching through patterns in concentration levels of a metabolite. Method steps may be performed by or on computing device 100, communicatively coupled devices including peripheral devices and devices connected by a network connection, or by a software program running on one or more computing devices, alone or in combination.

[0045] At 210, the method includes identifying a concentration level of a metabolite for a subject. A concentration level may include a blood concentration level, an interstitial concentration level, a sweat concentration level, a urine concentration level, or any other concentration level useful for identifying relevant diagnostic information in the subject. A metabolite may include glucose or any other metabolite, including any carbohydrate, fat, salt, drug, hormone, cell type, toxin, or potential toxin. In a preferred embodiment, the method includes identifying an interstitial glucose concentration level in a human subject.

[0046] Data relating to a subject may be obtained using opt-in procedures, and may be anonymized or pseudo-anonymized to remove data that is not necessary for or helpful to the effective operation of the method. Data may be collected using any device that may be used to collect or monitor such data, including hospital devices for monitoring data, personal or portable devices capable of monitoring such data, or other computer devices (which may be used to enter data obtained through any other means). Data may further be obtained from other databases. Collected data may be described as a “CGM Trace.”

[0047] Then, at 220, the method includes transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels. Transforming may include a simple mapping of a range or other category of concentration levels to particular symbols. Categories may include a range of values (with an upper and / or lower bound), a null category for invalid values or values not available, or otherDocket Number: 10885-069WO1 categories of like values. Mappings may include, for example, any of the mappings described at Figure 3.

[0048] In alternative embodiments, transforming may include a more complex transformation, including a transformation determined by a more complex imperative program, including known techniques for sorting and categorization, or any machine learning technique useful for categorizing data, particularly if such a technique can be used efficiently for real-time categorization of concentration levels.

[0049] The set of symbols may be referred to an alphabet, but the symbols need not be letters, and may include numerals or any character that may be effective for encoding a concentration level. Alphabets of various sizes may be used to balance efficiency (wherein smaller alphabets may be searched through more efficiently) and accuracy (wherein larger alphabets may provide for more accurate searches). Several exemplary embodiments include alphabet sizes of 4, 6, 7, 9, and 11.

[0050] In some embodiments, a symbol, string of symbols, or the index of a symbol in a string may be associated with further data or metadata about the concentration level or associated state, including the concentration level itself, a time at which the concentration level was measured, or information about a subject, such as a diagnostic state of whether or not the subject has diabetes. Diagnostic states may be described, for example, as a positive result, negative result, or no data, or by a most recent test result and time.

[0051] Then, at 230, the method includes identifying one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed concentration levels. For example, in an embodiment where a glucose concentration level of 90 units corresponds to an E symbol, a glucose concentration level of 68 units corresponds to an L symbol, and a glucose concentration level of 183 units corresponds to an H symbol, and a series of three successiveDocket Number: 10885-069WO1 glucose concentration readings are 90, 68, and 183 units, a corresponding string of transformed concentration levels representing that series of readings may be “ELH.” Strings may be any length of symbols, including any repeating pattern of symbols. Strings may include overlapping segments of a greater string; for example, if a string for a full day of measurements is “FGEFFEDFELDGHFHFFGDFHVFEXXEFGDE,” further strings may include “DFELD,” “LDGHFHFFGD,” and “GDFHVFEX.” Strings may further be compressed using any text compression method, particularly including a text compression method optimized to the size of the alphabet or to repetitive data. For example, a compressed text form of a string with five “F” symbols in a row, followed by 16 “P” symbols, followed by four “H” symbols, may be encoded as “F5P16H4.” Such compression is depicted in further detail at Figure 5.

[0052] Then, at 240, the method includes determining a distance between a first string from the one or more strings of symbols described at 230 and a second string. A second string may correspond to a search query, as described below, or may be another string identified at 230. Distances may be determined using any known technique for lexical analysis, text matching, language processing (including natural language processing), search, or pattern recognition, particularly including techniques commonly used for determining lexical distance or searching text.

[0053] Then, at step 250, the method includes providing a search result for a search query based on the determined distance. In some embodiments, a low distance may signify a desirable search result. A low distance may be determined by a ranking of search results where, for example, the ten lowest distances are considered low, by a predetermined threshold, or by a contextual determination where new results are assessed until a user is satisfied.Docket Number: 10885-069WO1

[0054] Search queries may be generated automatically or may be provided by a user, and may include queries based on a string of characters, queries based on a series of concentration levels or related measurements, or natural language queries, like “show me strings consistent with diabetes,” or “high blood sugar in patients matching Patient A.” Natural language queries may describe patterns of metabolic states or concentration levels, other data or metadata about a type of patient to be filtered for, or any combination thereof.

[0055] Search results may be provided in a dedicated search result user interface in a dedicated application or web browser or document file, through a notification service, through a messaging service including email, or by any other means by which search results might be communicated. In some embodiments, a search query may be modified, and search results may be updated responsively to such modifications.

[0056] Search results may be filtered, such as only including results where a lexical distance is below a predetermined threshold, or only including results in subjects with a positive diagnosis for a particular condition, such as diabetes.

[0057] Search results may be ordered, such as a ranking of search results by lexical distance, or by the length of a matched string. For example, if a search query describes a long sustained drop in blood sugar levels, the search results may be ordered to show the longest sustained drop in blood sugar levels first.

[0058] Search results may be provided in the form of a text-based or graph-based user interface, or any other visualization, displaying strings that are relevant or close to the search query. Search results may alternatively or additionally display metadata with a matched string. For example, a search result corresponding to a string “LDGHFHFFGD” may graph the original concentration values that the string represents, or may graph the original concentration values surrounding that string and highlight the concentration values that correspond to the string itself. As another example, search results may include a time viewDocket Number: 10885-069WO1 where the relevant time periods are highlighted. For example, if a query asks for periods where glucose concentration levels show a dramatic drop, a search result may include highlighting each time range where two adjacent symbols show a drop of two or more symbols at once, or every period for which a corresponding string of three or more characters shows a sustained drop of at least one symbol value per time period.

[0059] Search results may be logged or stored for future reference, or for refinement of the system’s functionality.

[0060] In further embodiments, providing search results may include providing a recommendation, such as a treatment or a suggested diagnosis. Search results may be provided to any user, including a subject or a medical professional. The user may then take an action based on the search results, such as administering a treatment or entering a diagnosis.

[0061] Figure 3 is an exemplary table of potential alphabets representing different categories of data for continuous glucose monitoring. Particularly, Figure 3 portrays potential 4-letter, 6-letter, 7-letter, 9-letter, and 11-letter alphabets; however, any size of alphabet may be used to correspond to that number of categories. Figure 3 portrays ranges that correspond to categories that are thought to be useful in continuous glucose monitoring, but any range may be used, as may correspond to measurements of any metabolite.

[0062] Examples are put forth so as to provide those of ordinary skill in the art with a complete disclosure and description of how the compounds, compositions, articles, devices and / or methods claimed herein are made and evaluated and are intended to be purely exemplary and are not intended to limit the disclosure. Efforts have been made to ensure accuracy with respect to numbers (e.g., amounts, temperature, etc.), but some errors and deviations should be accounted for. Unless indicated otherwise, parts are parts by weight, temperature is in °C or is at ambient temperature, and pressure is at or near atmospheric.Docket Number: 10885-069WO1

[0063] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

[0064] The CGM Search Engine aims to tackle the challenge of searching through a large amount of CGM Traces in an efficient manner by using four main components. (1) CGM Transformation and Representation, which utilizes an established CGM clinical categorization of glucose ranges to create a grading system with labels (or Alphabet) for each glycemic category. Each category may be represented by a unitary value with a glycemic boundary function and a cost function that transforms the original glucose range in the glucose space to a computational unitary value achieving symbolic representation. The CGM metrics are identified with a grade and Alphabet, enabling the mapping of a CGM Trace to a CGM String and the evaluation of the distance between CGM Strings. CGM Strings are then sequentially aggregated into a CGM Text, which contains the Alphabet characters from the String and numbers signifying the number of consecutive repeats of each character. (2) CGM Distance Analysis – a comprehensive lookup table is created, defining the distance between two Alphabets. The cumulative distance between two CGM Trace is evaluated with the corresponding CGM Text. This approach assigns lower distances within the same glycemic metric range and progressively higher distances between ranges. Therefore, a cumulative distance similarity score is assigned to each pair of CGM Strings (search query and result). (3) CGM Search component is responsible for searching and retrieving relevant CGM Strings based on the search query criteria. The input search query is formatted before being sent to an elastic search server, which returns the identification number (IDN) of the matched or relevant Strings. The elastic server employs a single cluster and multiple indexes to trackDocket Number: 10885-069WO1 CGM Strings and facilitate fast searching operations. The returned relevant CGM Strings are ranked using the method described in the Analysis of the Distance between CGM Strings component. (4) CGM Visualization component provides an interface between a user and the CGM search system, which includes infographic visualization of search results, CGM metric interpretation, and editing of search parameter settings. Searches can be performed using CGM value metrics, CGM time metrics, or CGM frequency metrics.

[0065] Potential applications of the CGM search system include: (1) Pattern analysis for type 1 and type 2 diabetes; (2) Adaptation of Automated Insulin Delivery Systems (AID) and Decision Support Systems (DSS), based on similar CGM patterns and their outcomes stored in a database; (3) Language modeling for creating interactive artificial intelligence (AI) glycemic-based chatbot for clinicians, insurance and biomedical companies, answering CGM related questions and issues; (4) Pattern discovery in personalized profiles and risk assessment for used for database indexing and organization; (7) Forensic analysis of missing or erroneous CGM values.

[0066] This invention generally relates to medicine, CGM devices, and management of diabetes mellitus, including but not limited to type 1 diabetes and type 2 diabetes, gestational diabetes, postprandial or reactive hyperglycemia, insulin resistance, or post-bariatric surgery hypoglycemia. In alternative embodiments, the invention encodes CGM Traces into CGM Strings (sequences of characters) based on clinical metrics, which makes it possible to perform indexing, ranking, pattern recognition, forecast, and adaptation of automated insulin delivery and decision support systems. The primary advantage of this invention is its ability to quickly search through a large volume of CGM Traces and find related traces based on a search query or a pattern. This is achieved through four modules: (1) Representation of CGM Traces as CGM Strings and their corresponding CGM Texts; (2) Distance between CGM Strings, including grading analysis and evaluation associationDocket Number: 10885-069WO1 scheme; (3) CGM Search, which defines the indexing structure, formatting, and searching to get relevant CGM String; (4) CGM visualization, which provides an interface for users to interact with the CGM Search Engine, allowing users to input a search query or pattern and navigate through the returned results.

[0067] Continuous Glucose Monitoring (CGM) Trace: The use of continuous glucose monitoring (CGM) has become a standard of care for individuals with type 1 diabetes and type 2 diabetes who are treated with insulin therapy. Recently, a trend has emerged for people without diabetes to use continuous glucose monitors (CGMs) as personal health devices to track their glucose concentrations and promote healthy habits such as increased activity, changes in nutrition, and sleep habits. CGM use among T1D patients has increased from 6% in 2011 to 38% in 2022 and continues to increase worldwide in both T1D and T2D. According to the (CDC), 37.3 million people have diabetes which is just over 11% of the population in the US, 96 million adults over 18 years old have prediabetes. A typical CGM sensor collects a data point every 5 minutes, and so a CGM time series from a single day (i.e., a daily CGM profile) contains 288 data points. A year of daily CGM data from one individual contains over one hundred thousand data points. A study by Breton and Kovatchev which used the CGM data from 9,451 users over a 1-year period, involved the analysis of over 1 billion data points. However, the CGM data is not fully utilized in common clinical practice and the day-to-day treatment of diabetes. One important aspect of CGM is the pattern representation of glucose data, which can help individuals and healthcare providers to identify trends and adjust diabetes management plans.

[0068] Analysis of CGM Patterns: CGM is a time series data that consists of successive measurements of blood glucose over a fixed time interval, which makes it possible to track changes in blood glucose over time. Time series data is usually characterized by high dimensions, high volumes, random noise, and non-linear relationships among data elements.Docket Number: 10885-069WO1 Plotting the CGM Trace describes the general glycemic pattern of a person’s blood glucose (BG) fluctuation for a day. Sometimes additional graphs are suggested to emphasize details of such patterns corresponding to some numerical measures or response to treatment, for example, to illustrate the effect of treatment observed via CGM 72-h glucose traces pre- and 4 weeks post-islet transplantation. Similarly, the percentages of time spent within, below, or above pre-set target limits would serve as an indication of the general behavior of CGM fluctuations. The aggregated process is depicted by squares that are red for hypoglycemia, green for the target range, and yellow for hyperglycemia. One approach that has been developed is the ambulatory glucose profile (AGP), which provides a standardized graphical representation of CGM data. The AGP displays the mean glucose value, the range of glucose values, and the percentage of time spent in various glucose ranges (e.g., hypoglycemic, euglycemic, hyperglycemic). This allows for easy comparison of glucose data over time and between individuals. Furthermore, a defined risk function, which is a logarithmic-type transformation that: (1) makes the transformed blood glucose scale symmetric around zero, thus defining a clinical and numerical center point, which makes 6.25 mmol / 1 the center of the blood glucose scale and the transformed blood glucose readings distribution normal; and (2) serves as a basis for defining the blood glucose risk indexes, which, given multiple self- monitoring blood glucose readings, predict the subjects' glycosylated hemoglobin levels and the likelihood of severe hypoglycemia. Representing CGM Trace with a risk function place rapidly increasing ‘penalties’ on blood levels of glucose that approach hypoglycemia and gradually increasing penalties on those that approach hyperglycemia. It was therefore noted that “In order to address the asymmetry of the control problem, future Model-Predictive Control (MPC) formulations could use output feedback in the risk domain, instead of the glucose domain, thus adding a clinical weighting to the controller cost function.”Docket Number: 10885-069WO1

[0069] Clustering CGM trace: CGM Traces have been organized into clusters with similar daily CGM profiles. Clustering is an unsupervised technique used to group data that is similar (according to some measure) into homogeneous groups. For example, a data-driven approach to determine a finite set of representative daily profiles (motifs) such that almost any daily CGM profile generated by a patient can be matched to one of the motifs. This paradigm is markedly different from traditional classification and monitoring methods based on standard glycemia metrics. The classification process reduces the multitude of possible daily CGM profiles to a finite and fixed set of 483 representative daily profiles and is the first step in several applications that leverage the smaller state space (reduced dimensionality). For example, if intra-patient variability can be captured by differences in the sequence of daily CGM profiles that a patient moves through, then the classification of each daily CGM profile is a prerequisite to modeling this phenomenon. Furthermore, Hall et al. clustered CGM patterns using spectral clustering to classify CGM patterns in CGM time series data that is 2.5 hours in length. The clustering produces 3 classes of glucose patterns (low, moderate, and high variability over the 2.5 h period). Another study clustered people with CGM using a self-organizing map to create a cluster with eight features derived from CGM data. They were able to identify 3 clusters (groups of patients) in their demographic (youth with T1D and elevated hemoglobin A1c). Aggregating similar CGM Traces is helpful to identify CGM Traces with similar characteristics and patterns; however, these clusters have to be predefined, and all traces have to be known before clustering categories can be defined. Using the CGM search system to find similar CGM Traces, overcomes the computation required to evaluate clusters, which is the first step toward developing clinical intervention and decision support systems for similar CGM Traces.

[0070] Searching and harvesting similar CGM Traces is the first step to performing intelligent analysis to drive intervention for blood glucose management. The CGM searchDocket Number: 10885-069WO1 system consists of four interlocking components: CGM Transformation & Representation, CGM Distance Analysis, CGM Search, and CGM Visualization.

[0071] CGM transformation is performed as a data preprocessing representation step; from a sequence of CGM values to an ordinal descriptive representation that preserves the inherent clinical attributes. The purpose of data representation is to reduce the original data dimension to a manageable size while retaining important characteristics that make it possible to perform further analysis. Another basis for preprocessing is to reduce processing time and computation complexity with the use of adaptive data structures and scalable algorithms. The representation and transformation of CGM as described in Figure 3 based on the CGM metrics defined for clinical care that defines time below range (TBR), time in range (TIR), and time above range (TAR). The table aims to represent clinical CGM metrics with grades, which makes it possible to transform a CGM Trace into a character CMG String. TBR is assigned low (W) and very low (L) grades for BG values between 55 mg / dl and 70 mg / dl and BG values <55 mg / dl, respectively. While TAR is ascribed high (H) and very high (V) for BG values between 180 mg / dl and 250 mg / dl and BG values>250 mg / dl, respectively. However, TIR is defined by four grades: Fair, good, excellent, and poor divided between 70 mg / dl and 180 mg / dl BG values as shown in Figure 3. A null (X) grade is assigned to missing BG values. A glycemic boundary function, ^^, transforms the clinical boundary values of the glycemic metrics space to a unitary value. The transformative shift from the original glucose range representation in the blood glucose space to a computational unitary value encompasses the broader concept for achieving symbolic representation. ^^^^^^^^^ ^^^^^ ^^ ^^^^^ ^^^^^^^^ ^^^(^^)|where ^^^^^ ^ ^and lower boundary, respectively in each glycemic metric space. ^^(^^)is the unitary value representationDocket Number: 10885-069WO1 for the blood glucose boundary. For each category (grade) of blood glucose, the unitary value is computed from the upper boundary and lower boundary, which represents the value for the symbol for the glycemic range.

[0072] Figure 4 shows the description of the CGM representation and transformation. The transformation of CGM from its original values to a discrete representation requires two steps: A) A hash function defined with the information in Figure 3 is used to translate original CGM data into intermediate representation values. For example, consider a CGM record 58, 62, 72, 75, 80, 91, 94, and 95. The hash function assigns a symbol to the values L58, L62, G72, G75, G80, E91, E94, and E95. B) An aggregation function converts the intermediate representation values into discrete values. Given the intermediate representation L58, L62, G72, G75, G80, E91, E94, and E95 the aggregation function produces L260±2.8, G375±4.0, E292±2.1. To make the transformation shorter, a description of the representation may be written as L2G3E2, this compression method may be referred to as run-length encoding.

[0073] The shorter format allows more data in main memory. Therefore, a discrete CGM transformation will have a generic form as Zvm±sd, for example, G375±4.0representing the CGM values 72, 75, and 80. . / = {1: 40 ≤ 1 ≤ 400}7 / = {^: ^ ∈ {9, ;, <, =, ^, >, ?, @, .}}where . / is a possible BG value and 7 / is a set of Alphabets (symbolic representations). ? / is a defined hash function based on glucose metrics thatDocket Number: 10885-069WO1 generates an intermediate representation that assigns a symbolic representation to a glucose value. ^ / is an aggregate function that translates the intermediate representation into a transformed description AC±EFB . J ± ^^ is the mean ± standarddeviation for AB , which represents an Alphabet (A ∈ 7 / ) and the number of times itoccurs (K).

[0074] Evaluating the CGM String and CGM Text of CGM Traces, see Figure 5, Figure 6A, and Figure 6B, in the CGM distance analysis module requires estimating a comprehensive lookup table that describes the relationships between the Alphabets and grades in the CGM metrics. CGM analysis uses algorithms and tools to analyze and manipulate CGM Text. This processing involves computing clinical significance, estimating distances between CGM Traces, pattern analysis, CGM classification, and CGM Trace summarization.

[0075] Estimating a function with a lookup table is used to evaluate the distance between two CGM Traces. This is useful to evaluate similar CGM Traces with the search query to determine which CGM Traces should be at the top of the search result. Figure 7 gives the computed score between the grades assigned to the clinical metric. The score is computed from^^^(^^)described in Figure 3. The score between successive spaces is evaluated based on the value of the subsequent grade. For example, the value of F is 0.302, while the value of E is 0.053, The score of F to E (F-E) is 0.053, and the score of E to F (E-F) is 0.302. However, the cumulative score is evaluated for multiple grades between a space. For example, the score between F to H (F-H), will be the cumulative score of F-E, E-G, G-P, and P-H, which 0.504. Similarly, the score between H to F (H-F) is the cumulative score of H-P, P-G, G-E, and E-F, which is 0.596.Docket Number: 10885-069WO1

[0076] Therefore, for example, using the information in Figure 7 to evaluate the distance between three CGM Traces Q, W, and V with a transform CGM String representation as: Q= LLGGGGXXEEE W=GGGGXXXEEEEEE V=PPGGPHPPXXG

[0077] The length of Q, W, and V are represented as n(Q)=11, n(W)=13, and n(V)=11, respectively. The CGM Text representation for Q, W, V is given as: Q= L2G4X2E3 W=G4X3E6 V=P2G2P1H1P2X2G1

[0078] In each trace, missing records are represented as by X. LM, ^M, and KMrefer to the grade at ^ record in Q, W and V, respectively. For example, LN= L, ^N= G, and KN= P.However, ^(OP) = 2, ^(9P) = 3 and ^(@P) = 2 are the number of missing records in Q, Wand V, respectively. Similarly, ^(O^) = 4, ^(9^) = 4 and ^(@^) = 3 are the number of Ggrade in Q, W and V, respectively. Therefore, to measure the percentage quality of CGM String, for example S(O) for percentage quality of Q, it is defined as: ^(O) − ^(OS O = P)× 100

[0079] S(L)is of goodmeans relevant results returned from a search query will only consider traces with good quality.Docket Number: 10885-069WO1

[0080] Furthermore, to evaluate the distance between the CGM Traces, for example Q and W, a minimum CGM distance function, minCGMdist(Q, W) between two CGM Traces is defined as: V∑_]`a X^YZ[^" (\m],$])^inCGMdist(Q, W)=b(c)where d^ef^^^^(LM, ^M) is the function that evaluate the minimum score the at ^position in Q and W with Figure 7. For example, where ^ = 1, (LM , ^M)= (L, G),d^ef^^^^(L, G) = 0.446 and d^ef^^^^(G, L) = 1.005. Therefore, the least score,0.446 is considered as the value for d^ef^^^^(LN, ^N). ^(k) is the length of theevaluated CGM Text without X in either Q or W.

[0081] Also, the quality of the compared trace, T(Q, W) is evaluated as: ()( ) ^ kS O, 9 =^ × 100where max [^(O), ^(9)] is the maximum length between Q or W. A higher percentage ofS(O, 9) indicates more evaluation is performed with less missing record for a maximumlength of CGM Trace, which indicates a better quality.

[0082] Finding relevant CGM Traces from a large database of CGM data requires organizing the traces based on time and grades representing CGM metrics to improve the performance of queries that enable faster Searching, identifying, and retrieving required traces. Organizing the transformed traces makes it possible to create an indexing scheme. A logical representation of a CGM Text can be represented as track and sector index scheme, illustrated in Figure 8A, where tracks represent the timing and sector the corresponding Alphabets.Docket Number: 10885-069WO1

[0083] This pattern of representation creates a management system for CGM Traces, which makes it possible to index a trace. An example of indexing a CGM Trace with a CGM Text with this systematic format is described in Figure 8B. As an illustration, a sample search could be to find CGM Trace with TIR at 20minute? The result will be: L2F1E2G2L1. Therefore, a search query would comprise multiple similar search questions at different times. This form of indexing and representation involving time (temporal) and location (space) is referred to as spatiotemporal. There are implementations of spatiotemporal concepts in some applications such as video clip retrieval, flood forecasting, point of interest location-based service, attention cell Search for video classification and the United States of America drought awareness.

[0084] Based on representation of the CGM Text and index scheme, a CGM search query (cgmQ) is generally defined as a 4-turple set, cgmQ={u,c,t,r}. Such that the user u initiates a search query indicating clinical boundary or relevance c and time parameters t to obtain a search result, which may be represented as r.

[0085] Formally, CGM Search is defined on the set Oq,Z = (d, S). r ∈ d and f ∈S. d = { set of CGM values, range, CGM metric }, S = {relative time, absolute time}, and^ = { ^N, ^^, … , ^b} as the return results. A user search is defined as ^(r, f) → ^ and ^(r, f) =(rN, fN) → ^N + (r^, f^) → ^^ + ⋯ + (rb, fb) → ^b. However, during a search, rM may beneighbouring clinical grade in 7 / . Therefore, rM = ^M and (rM, fM) =(^ , ^ , ^ , f ), and where r = .M^N M M^N M M , rM = 7 / .interactive interface designed to allow users to interact with the CGM search system and visualize data in a meaningful way. Figure 9 describes the interactive components of the CGM visualisation. The CGM Visualization system has three main components: constructed input, feature settings, and formatted results. The constructed input component is the interface through which users connect to the CGMDocket Number: 10885-069WO1 search system and define a search query. Users can input search queries using either actual CGM values or clinical range with time factors. This component allows for the formulation of complex search queries that can be tailored to specific needs.

[0087] The formatted results component provides users with graphical representations of the search query results from the CGM search system. The results include a line graph of CGM Traces, an infographic description of the results trace, the relationship with the search query, and clinical metrics descriptions. The graphical representation of the results allows users to interpret the data and gain insights quickly and efficiently into the CGM search results.

[0088] The feature settings component allows users to configure the search process and the returned results based on various parameters. Users can specify acceptable missing values, decide how to handle missing values in the search results, set the quality of the results based on the query criteria, and define the number of database sources to consider in the search. These parameters can be adjusted based on the specific needs of the user and the data being analyzed. The CGM Visualization system is designed to be modular, which means that users can customize the interface to suit their specific needs. The system can be configured to display only the necessary information, which can help users focus on the most relevant data and make more informed decisions.

[0089] In one embodiment, the implementation of the CGM search system comprises a frontend and a backend, with each component carrying out distinct functions. Other embodiments of the Search Engine modules are possible as well. In this case, the frontend is responsible for CGM visualization, while the backend implements CGM retrieval, transformation, representation, and computation. The backend consists of three servers: the Elastic search server, the MySQL server, and an application programming interface (API)Docket Number: 10885-069WO1 that connects the servers to the frontend. The architecture of the CGM search system is shown in Figure 10, depicting the frontend and backend components.

[0090] The process flow can be summarized as follows: (1) Frontend activity (i) define the search query request settings and result response parameters (ii) input search query either as CGM Trace or clinical target range parameters (iii) format the input search query as a GET request uniform resource locator (URL) (iv) connect to API service and send search query request. (2) Backend activity (i) API validates the received search query. (ii) query request is sent to elastic search server to retrieve identification pointers (IDs) of relevant CGM Traces. (iii) The array IDs of relevant traces are sent to the API for ranking based on proximity to the search query. CGM Traces closest to the search query are placed at the top. (iv) An intermediate fixed set of the relevant CGM Traces starting at the top of the ranked result is retrieved from the MySQL server and sent to the frontend

[0091] It is imperative to implement Elasticsearch as one of the backend server because using only a regular database server such as Mysql or Postgress becomes difficult when the size of CGM Trace becomes very large. Also, the option of implementing a service (thread application) in the API to query multiple databases becomes heavily resource-Docket Number: 10885-069WO1 demanding when the number of users becomes large. Elasticsearch is a distributed search and analytics engine based on the Lucene library. It is designed to provide near real-time search and analysis of large volumes of data. Elasticsearch is commonly used for log analytics, full- text search, business intelligence, and security analytics. Elasticsearch is built to be highly scalable, fault-tolerant, and easy to use. It uses a distributed architecture that allows it to scale horizontally across multiple nodes and handle large volumes of data. Elasticsearch also provides a RESTful API that enables developers to interact with it using a wide variety of programming languages. Elasticsearch implements BM25 algorithm, which is given as: b^(f , ^ ) × (k1 + 1)^ ^S<(fM) M Z^[qWhere ^(fM, ^Z^[q more a term matchesthe field in the search trace, the more relevant the trace. e.g. Search: EFFXXGLXXLLXXGFEEE and Result: EEFFXGGLXLLXGLGFEE, ^(=, ^^^^^f) = ^N^=0.167. ^S<(fM) is inverse trace frequency— The more CGM Traces that contain aterm, the less important the term, it is evaluated as ln (1 + (Z^[q X#^bZ^^(Z])^^.^)^(Z])^^.^ ). Forexample, given four results returned from a researchResult2: EELLXGGGX, Result3: EFFFXGGLX, and Result4: EEFFXGGEX. The ^S<(.) and ^S<(;) is evaluated as ln ^1 + (^^^^^.^)= 0.10 and ln 1 + (^^^^^.^)^^^.^ ^ ^ ^^^.^ ^ = 0.69, respectively.^" b^B / ^" bis the Field length to the average tracelength. In this case, FLR =1 since all CGM Traces are of the same length. b factor is a multiplier that amplifies the FLR, default is 0.75. k1 factor that limits how much a single search term can affect the score of a given trace, the default value is 1.2. k1 and b can beDocket Number: 10885-069WO1 tuned for optimization, Figure 11 shows the process for optimization of Elasticsearch servicer for relevant trace retrieval.

[0092] The system’s user interface (UI, described in the next section) allows users to search for similar CGM Traces based on input search query. The implementation of a CGM search system may be implemented with Python to set up the database resources on the servers, PHP to develop the API, and JQuery and extensible hypertext markup language (CSS and HTML) for creating the interactive user interface. The description of some of the implementation modules is described below.

[0093] Extract and save CGM profile: The Python code implementation for extracting, indexing, and saving CGM profile is defined as a function called savecontent()that takes in several arguments, including a file path, a SQL cursor, a limit, and Elasticsearch server connection. The purpose of this method is to load daily profiles from the specified file path using a module called cgmio(), iterate through the profiles up to the specified limit, and then insert the profile data into a SQL database and Elasticsearch server. To begin, the code loads the daily profiles from the specified file path using the load_daily_profiles() function from the cgmio() module. The resulting dps object contains a list of daily profiles, each of which is a dictionary with various keys corresponding to different attributes of the profile, such as timestamps, means, standard deviations, date, and day. Next, the code initializes a variable called refid to 0 and begins iterating through the daily profiles up to the specified limit. For each profile, the code extracts various attributes such as the timestamps, CGM values, mean, standard deviation. It then uses the CGM values attributes to create a CGM String representation of the profile data from an associative array that describes the grade corresponding to glycemic metrics representation. The code then compresses the String representation using a function called compressContentWithSeparation() and stores the result in the database. It also creates a tuple of values to be inserted into the SQL database,Docket Number: 10885-069WO1 including the mean, standard deviation, sample data, SID, day, date, compressed label, and file path. It then calls a method called formatsearchvalues() to save the CGM String representation of the profile data and its associated metadata for use in indexing and searching in the Elasticsearch server.

[0094] Traces distance score Analyses: The minimum distance evaluation between traces is implemented with PHP as a function called analysedistancescores(), which takes in four parameters: $cmgids, $starttime, $searchtext, and $missing. The input and output parameters for the trace distance score analysis are described below.

[0095] A description for input parameter $cmgids may be: An array of the identification numbers (IDNs) that are pointers to CGM Trace obtained from Elasticsearch server after searching and identifying similar CGM Traces using the search query. The pointer is a unique number that is used to identify each trace to evaluate clinical composition and distance with the search query trace.

[0096] A description for input parameter $starttime may be: The time that indicates the start of the CGM Trace in the search query, usually it is 0, which indicates 12:00 midnight. It is part of the input parameter; it is used as a reference to compare it with other traces to ensure the comparison starts at the same location. The time defined as input in the system’s user interface (UI, described in the next section).

[0097] A description for input parameter $searchtext may be: The $searchtext is one of the variables that make up the search query, it can either be a transformed CGM Trace or composite CGM metrics. It is the major criteria that is used in the search process to retrieve related trace and the bases for evaluating distance score with related traces.

[0098] A description for input parameter $missing may be: This a Boolean parameter that is used to determine if missing values should be included in the search process of to find similar CGM Traces.Docket Number: 10885-069WO1

[0099] A description for output parameter $rankedresult may be: The result of analysedistancescores()function is an ordered list of IDNs saved in $rankedresult parameter. The order is ranked with the top IDNs pointing to CGM Traces that are close to the $searchtext. The API serve fixed sizes of similar CGM Traces from the ordered list from when more similar traces are requested by the user. Where there are no related traces found in the search process, i.e., $cmgids=0, then $rankedresult=null.

[0100] The analysedistancescores() function first loads a library called Resources and then uses it to retrieve a table called minDistanceTable. It then initializes an empty array called $rankedresult, which will be used to store the results of the search. The minDistanceTable is an associative array that is defined in Figure 7. The function then checks the length of the $searchtext parameter to determine whether the search is being performed on the entire CGM Trace or a subset of it. If the length of $searchtext is equal to 288, the function queries the database for the cgmstructure field of the cmgdetails table for each value in $cmgids. For each row returned, the function computes the distance score between the cgmstructure field and the CGM Text of the $searchtext parameter using the “computemindistance()” function. It then stores the resulting distance score in $rankedresult under the corresponding IDNs.

[0101] If the length of $searchtext is not equal to 288, the function queries the database for the cgmvalues field of the cmgdetails table for each IDN in $cmgids. It then retrieves a subset of the cgmvalues array starting at index $starttime with a length equal to the length of $searchtext. It then converts this subset to CGM String using the convertTraceToRange function of the Resources library and subsequently compresses the CGM String to CGM Text. It then computes the distance score between the CGM Text of the database and the CGM Text of the $searchtext parameter using the computemindistance function. It then stores the resulting distance score in $rankedresult under the correspondingDocket Number: 10885-069WO1 ID. Finally, the function sorts the $rankedresult array in ascending order of distance score and returns it.

[0102] Browsing similar CGM Trace: The loadcontent() function is implemented with jQuery and is responsible for loading similar CGM Traces on the web page. The function starts by checking if there is a non-empty CGM String from the search result, which is a comma-separated list of values retrieved from a database query. If there is content, the function splits the String into an array of values and displays the content by looping through the selected values to extract an index value from each item. The function then sends an asynchronous JavaScript and XML (AJAX) post request to a PHP API, passing the values as a parameter. The PHP API returns JSON-encoded data, which is parsed into an array to the function rtndisplayresult(). The function then generates XHTML content for each item in the array, appending the content to a display container on the web page.

[0103] The content generated includes a header indicating the range of items being displayed and a call to the showplot() function to generate a graphical display of the item's content. If the Index in the array value is less than the total number of similar CGM Trace, a "show more" button is displayed to allow the user to load additional content. Overall, the loadcontent() function is an important part of the web application that retrieves and displays similar traces from the CGM search system. The function uses jQuery to make AJAX requests to the server, and dynamically generates HTML content to display the results. The function also provides a convenient interface for users to navigate through large sets of data, allowing them to view and interact with the content in a meaningful way.

[0104] Typically, the graphical user interface (GUI) for the CGM Search Engine would be an application that can be accessed either with a computer or mobile phone. One embodiment of the Search Engine interface is included below; but generally, the GUIDocket Number: 10885-069WO1 would have to be customized to the user’s needs to provide a seamless user experience that is both intuitive and efficient.

[0105] The interface of the system begins with the Login screen, which is the primary entry point for users. This screen, displayed in Figure 12A, is designed to prompt users to enter their valid email address as their username and password to access the system's features. Upon successful authentication, users are redirected to the CGM search application interface, which enables them to search for similar CGM Traces with ease. However, in case a user does not have an account, they can still access the system by clicking on the “create account” link on the login screen, which directs them to the profile creation interface, shown in Figure 12B. The profile creation interface is a user-friendly and intuitive screen that guides the user through the process of creating an account by collecting essential information, such as their first name, last name, institution affiliation, and a strong password. Once the user completes the profile creation process and successfully creates an account, they will be redirected back to the Login screen, where they can log in using their newly created username and password. This user-friendly interface design allows users to access the system’s features quickly and easily, even if they do not have an existing account. By guiding users through the login and account creation process, users can quickly access the system's features without any hassle.

[0106] The CGM search system application is an intuitive and user-friendly interface designed to help users find similar CGM Traces based on input search criteria. Figure 13 showcases the interface, which is divided into two main sections: the build search query and the search result. The build search query provides users with a variety of options to define their search input for the CGM search system. There are three different approaches to input search criteria, which are CGM-value based metrics, CGM Time-based metrics, andDocket Number: 10885-069WO1 CGM frequency-based metrics. Each approach offers a unique way to search for similar CGM Traces, allowing users to choose the method that best suits their needs.

[0107] In the CGM-value-based metrics search approach, users input the actual CGM values and the time at which they were recorded. This allows for a highly specific and targeted search for similar CGM Traces. The CGM Time-based metrics search approach, on the other hand, can be configured either as clinical description (TIR, TBR, or TAR) or boundary of glycemic values (e.g., 100 mg / dl to 150 mg / dl) and the time to consider. This approach offers greater flexibility in terms of search criteria, allowing users to search for similar traces based on their clinical descriptions or specific glycemic values.

[0108] Finally, the CGM Frequency-based metrics search approach allows users to set up a percentage configuration clinical parameter, which is ideal for users who want to search for similar traces based on a specific frequency. The search result section displays the summary of the search parameters and similar CGM Traces matching the search parameters. Users can easily view and compare the results to find the most relevant and useful information. Moreover, there is a "consider missing value in search result" checkbox in each of the search approaches that is meant to indicate if traces with missing values should be excluded.

[0109] The CGM value-based search method is one of the methods for finding similar CGM Traces based on input search criteria. Figures 15A-D showcase results from a search process performed in a CGM-value-based manner. To perform a search, users may enter the values of the CGM record in the values text area and select the time. They can also choose whether to include or exclude missing values in the search results by checking or unchecking the relevant checkbox.

[0110] The search result is presented in three sections. The first section provides a general description of the search query, including the number of CGM values,Docket Number: 10885-069WO1 maximum and minimum values, mean and standard deviation, and whether missing values should be considered in the search process. This information helps users better understand the parameters of their search and interpret the results. The second section displays the number of similar traces found matching the search input. This gives users an idea of the scope and range of the search results. The third section shows the search trace and the result trace, along with the clinical description of the result trace and the minimum distance between the search and result trace. This information provides users with a detailed view of the search results, allowing them to compare and analyze the data more effectively. In addition, Figures 15B-D display more results of similar traces found from the search process. The “select” checkbox attached to each search result allows users to download the result trace for further analysis, making it easy to export the data for further review or analysis.

[0111] The CGM search setting interface depicted in Figure 16 provides users with a straightforward and intuitive means of configuring the parameters of the CGM search system. With this interface, users can customize four essential settings to suit their search needs. One of the settings that can be easily adjusted is the "Result Limit," which allows users to specify the maximum number of similar traces to return from the search process. This feature enables users to narrow down their search results to a manageable number, making it easier to analyze and interpret the output.

[0112] Another key setting that users can adjust is the "Missing Value Limit." With this feature, users can define the percentage of missing values that are allowed in the search results. This is particularly useful when users need to consider missing values in their search process, as it allows them to customize the results to their specific requirements.

[0113] The "Databases" setting is another essential configuration that users can customize to specify the database that the search system should consider when searchingDocket Number: 10885-069WO1 for similar traces. This feature is particularly useful when users need to search through vast amounts of data, as it allows them to narrow down their search to specific databases.

[0114] Lastly, the "Minimum Trace Comparison" Settings enable users to define the minimum trace comparison score required for a trace to be considered relevant. This setting is especially crucial for users who need to ensure the similar trace evaluated with the search trace have little missing values. By setting a minimum trace comparison score, users can eliminate irrelevant results and focus on the most relevant and useful output.

Claims

Docket Number: 10885-069WO1 WHAT IS CLAIMED:

1. A processor-implemented method, the method comprising: identifying a concentration level of a metabolite for a subject; transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels; identifying one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed concentration levels; determining a lexical distance between a first string from the one or more strings of symbols and a second string, wherein the lexical distance corresponds to a degree of similarity between the first string and the second string; providing a search result for a search query based on the determined lexical distance.

2. The method of claim 1, wherein the second string is determined based on the search query.

3. The method of claim 1, wherein the second string is a string of symbols from the one or more strings of symbols.

4. The method of claim 1, wherein the search query is a natural language query that describes a concentration level pattern.

5. The method of claim 1, further comprising: presenting a user with a visualization of the search result.

6. The method of claim 1, wherein the metabolite is glucose, and wherein set of symbols contains 9 symbols.

7. The method of claim 1, wherein the lexical distance between the first string and the second string corresponds to a natural language search result or a pattern analysis in which a degree of error is within defined tolerance.Docket Number: 10885-069WO1 8. The method of claim 1, wherein the search is performed using text-based search techniques.

9. A processor-implemented method, the method comprising: identifying a glucose level for a subject; transforming the glucose level into a symbol from a set of symbols, wherein the symbol represents a category of glucose levels; identifying one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed glucose levels; determining one or more distances between a first string from the one or more strings of symbols and a second string; preparing a visualization of a selection of distances from the one or more distances; and providing the visualization to a user.

10. The method of claim 9, wherein the metabolite is glucose, and wherein set of symbols contains 9 symbols.

11. The method of claim 9, wherein the distance between the first string and a second string is a lexical distance determined using lexical analysis.

12. A computer system, the computer system comprising: one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more memories, wherein the computer system is capable of performing a method comprising: identifying a concentration level of a metabolite for a subject; transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels; identifying one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed concentration levels; determining a distance between a first string from the one or more strings of symbols and a second string; andDocket Number: 10885-069WO1 providing a search result for a search query based on the determined distance.

13. The computer system of claim 12, wherein the search query is a natural language query that describes a concentration level pattern.

14. The computer system of claim 12, wherein the metabolite is glucose, and wherein set of symbols contains 9 symbols.

15. The computer system of claim 12, wherein the distance between the first string and a second string is a lexical distance determined using lexical analysis.

16. The computer system of claim 12, wherein the method further comprises: presenting a user with a visualization of the search result.

17. A computer program product, the computer program product comprising: one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor capable of performing a method, the method comprising: identifying a concentration level of a metabolite for a subject; transforming the concentration level into a symbol from a set of symbols, wherein the symbol represents a category of concentration levels; identifying one or more strings of symbols, wherein each string of symbols represents a series of one or more symbols corresponding to a series of transformed concentration levels; determining a distance between a first string from the one or more strings of symbols and a second string; and providing a search result for a search query based on the determined distance.

18. The computer program product of claim 17, wherein the search query is a natural language query that describes a concentration level pattern.

19. The computer program product of claim 17, wherein the metabolite is glucose, and wherein set of symbols contains 9 symbols.Docket Number: 10885-069WO1 20. The computer program product of claim 17, wherein the method further comprises: presenting a user with a visualization of the search result.

Citation Information

Patent Citations

  • Systems and methods for processing sensor data

    US20120302854A1

  • Reader Communication with Contact Lens Sensors and Display Device

    US20150061837A1

  • System and method for providing alerts optimized for a user

    US20230013632A1

Cited By

  • Intelligent management method for medical record data of patient in head and neck surgery department

    CN121999953A

  • Intelligent management method for head and neck surgical patient medical record data

    CN121999953B