Systems and methods for detecting pressure-induced sensor attenuation (PISA) in continuous glucose monitoring (CGM)
The system uses machine learning to detect and prevent pressure-induced sensor attenuation in CGM sensors, addressing false alarms and insulin shutoffs, thus improving diabetes treatment accuracy and safety.
Patent Information
- Application Number
- JP2025525639
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-11-02
- Filing Date
- 2023-11-02
- Publication Date
- 2025-12-03
AI Technical Summary
Continuous glucose monitoring (CGM) sensors are vulnerable to compression artifacts, leading to false hypoglycemia alarms and insulin shutoffs due to the lack of reliable methods for detecting and predicting pressure-induced sensor attenuation (PISA), which adversely affect diabetes treatment.
A system utilizing machine learning models to analyze CGM sensor data in real-time, detecting the onset and occurrence of PISA by identifying time series patterns of blood glucose measurements, and generating signals to prevent adverse effects.
Accurately predicts and prevents compression artifacts in CGM sensors, enhancing diabetes treatment by reducing false alarms and insulin shutoffs, thereby improving the operation of insulin delivery systems.
Smart Images

Figure 2025538985000001_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This patent application is related to and claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 421,931, filed November 2, 2022, the contents of which are incorporated by reference in their entirety.
[0002] Aspects of the embodiments relate generally to pharmaceuticals and medical devices such as those used in monitoring blood glucose levels in the treatment of diabetes and other metabolic disorders, including, but not limited to, type 1 and type 2 diabetes (T1D, T2D), latent autoimmune diabetes in adults (LADA), postprandial or reactive hyperglycemia, or insulin resistance. Embodiments relate to systems and methods for detecting when a continuous glucose monitoring (CGM) sensor is under stress and for detecting pressure induced sensor attenuations (PISA). [Background technology]
[0003] Past advances in continuous glucose monitoring (CGM) devices have contributed to diabetes treatment and led to some modern closed-loop control systems (e.g., artificial pancreas). Despite advances in continuous glucose monitoring (CGM), CGM sensors can be vulnerable to compression artifacts (e.g., pressure-induced sensor attenuation (PISA)). Compression artifacts can appear in measurement data when a sensor is compressed (e.g., compressed) during measurement collection. For example, compression artifacts can occur when a subject with an attached sensor falls asleep with the sensor insertion area (e.g., arm) facing down. Compression artifacts can be characterized by a sudden drop in the magnitude of the sensor measurement (e.g., to a low reading) followed by an eventual recovery of the sensor measurement (e.g., to a normal reading). Such a drop in sensor measurement can lead to false hypoglycemia alarms, insulin shutoff in low glucose suspend or closed-loop systems, and other adverse effects that can affect diabetes treatment. There are no reliable methods for detecting and / or predicting compression artifacts, and no methods have been developed to date for preventing compression artifacts by predicting them. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] Cisco Systems, Publication No. 1-587005-001-3 (6 / 99), "Internetworking Technologies Handbook," Chapter 7: "Ethernet Technologies," pages 7-1 to 7-38 [Non-patent document 2] Standard Microsystems Datasheet "LAN91C111 10 / 100 Non-PCI Ethernet Single-Chip MAC+PHY" Datasheet, Revision 15 (02-20-04) Summary of the Invention
[0005] An exemplary embodiment may relate to a system for automatically detecting sensor compression in continuous glucose monitoring. The system may include at least one sensor. The system may include at least one processor in communication with the at least one sensor. The at least one processor may execute at least two machine learning models. The at least one processor may be programmed or configured to cause the processor to receive measurement data from the at least one sensor, the measurement data including at least one time series of blood glucose (BG) measurements measured by the at least one sensor. The at least one processor may be programmed or configured to cause the processor to use a first machine learning model to determine that the at least one time series of BG measurements is a candidate series including a compression artifact. The at least one processor may be programmed or configured to use a second machine learning model to cause the processor to generate a signal output indicating that the at least one time series of BG measurements was obtained while the at least one sensor was undergoing compression.
[0006] An exemplary embodiment may relate to a system for automatically detecting the onset of sensor compression in continuous glucose monitoring. The system may include at least one sensor. The system may include at least one processor in communication with the at least one sensor. The at least one processor may execute program code for at least one machine learning model. The at least one processor may be programmed or configured to cause the processor to receive measurement data from the at least one sensor, the measurement data including at least one time series of blood glucose (BG) measurements measured by the at least one sensor. The at least one processor may be programmed or configured to cause the processor to determine that the at least one time series of BG measurements is a candidate series including a BG measurement representing the onset of sensor compression. The at least one processor may be programmed or configured to cause the processor to input a time series subsequence of the at least one time series of BG measurements into at least one machine learning model. The at least one processor may be programmed or configured to cause the processor to generate a signal output, using the at least one machine learning model, indicating that at least one BG measurement was obtained while the at least one sensor was undergoing compression.
[0007] An exemplary embodiment may relate to a computer-implemented method for generating at least one machine learning model that accurately detects sensor compression in continuous glucose monitoring. The method may include receiving at least one training dataset as input to a processor. The at least one training dataset may include a plurality of time series of blood glucose (BG) measurements. The method may include determining a plurality of time series subsequences based on the training dataset. At least one time series subsequence may include at least one BG measurement below a compression estimation threshold. The method may include extracting one or more features from each of the plurality of time series subsequences. The method may include inputting the one or more features from the plurality of time series subsequences into at least one machine learning model for training. The method may include detecting sensor compression based on providing at least one time series of BG measurements as input to the at least one machine learning model.
[0008] Other features and advantages of the present disclosure will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which like numerals refer to like elements and in which: [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an exemplary system configuration of an embodiment of a system for detecting sensor compression in continuous glucose monitoring as disclosed herein. [Figure 2] FIG. 1 illustrates an exemplary method for detecting sensor compression in continuous glucose monitoring as disclosed herein. [Figure 3] FIG. 1 illustrates an exemplary system implementation for detecting sensor compression in continuous glucose monitoring as disclosed herein. [Figure 4A] FIG. 10 illustrates an exemplary plot of sensor measurements in continuous glucose monitoring with visualization of sensor measurements including pressure-induced sensor decay, as disclosed herein. [Figure 4B] 1A-1C illustrate exemplary plots of sensor measurements in continuous glucose monitoring with visualization of sensor measurements without pressure-induced sensor decay, as disclosed herein. [Figure 5] FIG. 10 illustrates an exemplary distribution of pressure-induced sensor decay periods for an exemplary training data set, as disclosed herein. [Figure 6A] FIG. 1 illustrates an exemplary candidate sequence comprising a time series of blood glucose measurements comprising a time series subsequence, as disclosed herein. [Figure 6B] FIG. 1 illustrates an exemplary time series of blood glucose measurements including multiple candidate sequences, each including a time series subsequence, as disclosed herein. [Figure 7A] FIG. 1 illustrates an exemplary plot of a time series of blood glucose measurements including multiple pressure-induced sensor decays and multiple fall time windows, as disclosed herein. [Figure 7B] FIG. 1 illustrates an exemplary plot of a time series of blood glucose measurements including multiple pressure-induced sensor decays and multiple fall time windows, as disclosed herein. [Figure 8A] FIG. 10 illustrates an exemplary plot of a time series of blood glucose measurements including multiple pressure-induced sensor decays and multiple drop time windows with predicted probabilities of onset of pressure-induced sensor decays, as disclosed herein. [Figure 8B] FIG. 10 illustrates an exemplary plot of a time series of blood glucose measurements including multiple pressure-induced sensor decays and multiple drop time windows each having a predicted probability of onset of pressure-induced sensor decay, as disclosed herein. [Figure 9] FIG. 10 illustrates an exemplary plot of the area under the receiver operating characteristic curve and precision-recall curve for a classifier model used to classify a time series of blood glucose measurements as including the onset of pressure-induced sensor decay to detect sensor compression, as disclosed herein. [Figure 10A] FIG. 1 illustrates an exemplary system configuration of an exemplary computer device disclosed herein. [Figure 10B]FIG. 1 illustrates an exemplary system environment in which the systems, methods and / or computer-readable media disclosed herein may be implemented. [Figure 11] FIG. 1 is a block diagram of an example computer system capable of implementing the systems, methods and / or computer-readable media disclosed herein. [Figure 12] FIG. 1 illustrates an exemplary environment in which the systems, methods and / or computer-readable media disclosed herein may be implemented. [Figure 13] FIG. 1 is a block diagram of an example machine capable of implementing the systems, methods and / or computer-readable media disclosed herein. DETAILED DESCRIPTION OF THE INVENTION
[0010] Various embodiments provide the ability to prevent compression low effects that adversely affect diabetes treatment by detecting compression lows (e.g., compression artifacts) in continuous glucose monitoring (CGM) sensors in real time. Such adverse effects that can be prevented by various embodiments include false hypoglycemia alarms and insulin blockage in insulin delivery systems. Various embodiments can fully identify pressure-induced sensor attenuation (PISA) in a prospective manner and provide a real-time indication that PISA is occurring or about to occur. Embodiments can increase the accuracy of CGM sensors by detecting compression artifacts inherent to CGM devices. Embodiments improve the operation of subcutaneous insulin infusion therapy and related systems such as sensor-augmented pumps (SAP), low glucose suspend (LGS), predictive low glucose suspend (PLGS), or automated insulin delivery (AID) (e.g., artificial pancreas).
[0011] Various embodiments improve the ability of a computer (e.g., a computer processor) to automatically detect PISA and improve diabetes treatment. Prior to the development of various embodiments disclosed herein, computers not programmed or configured with aspects of some embodiments were unable to automatically detect PISA in CGM sensors and diabetes treatment. According to embodiments, CGM sensors may no longer be vulnerable to compression artifacts. Compression artifacts may be automatically detected in real time in measurement data when the sensor is compressed (e.g., subjected to compression) during measurement collection. For example, embodiments may detect compression artifacts when a subject with a sensor is lying on their back in the area where the sensor was inserted (e.g., on their arm). Embodiments may detect both a sudden drop in the magnitude of a sensor measurement (e.g., a drop time-window) and an eventual recovery of the sensor measurement (e.g., a rise time-window). Embodiments may detect PISA in such sensor measurements to predict and / or prevent false hypoglycemic alarms, low glucose suspend or insulin shutoff in closed-loop systems, and other effects that may adversely affect diabetes treatment. The ability of embodiments to accurately predict compression artifacts allows for real-time intervention when compression artifacts occur to enhance diabetes treatment.
[0012] Various embodiments use machine learning models and methods to analyze large amounts of data. The data analyzed and used to build the machine learning models of various embodiments can be voluminous and complex. For example, embodiments can use one or more signals provided by a CGM sensor, which can include, but are not limited to, raw blood glucose estimates (before calibration and temperature correction), filtered blood glucose, temperature, time of day, and / or time of sensor life. Such signals and data can be fed into the machine learning models and / or methods disclosed herein. Embodiments can use additional information and / or signals from other PISA detection methods, considerations regarding glycemic events such as hypoglycemia, or data from various anticipated future sensors, such as pressure sensors included in CGM sensors. As an example, embodiments can use CGM data traces from hundreds of CGM sensors containing tens of thousands of hours of sensor data including thousands of PISA events.
[0013] Figure 1 illustrates an exemplary system configuration 100 of an embodiment of a system operable via program code (e.g., software instructions executed by a processor) for detecting sensor compression in a CGM. The various components of Figure 1 may be implemented in and / or processed by a processor (e.g., a central processing unit (CPU)) and / or any number of distributed processors (e.g., a distributed computer system) coupled to memory and connected via a communications network. Each component illustrated in Figure 1 will be described in the context of an exemplary embodiment.
[0014] 1, embodiments relate to a system configured to detect sensor compression in a CGM. In some embodiments, system configuration 100 can automatically detect sensor compression in a CGM in real time. In some embodiments, system configuration 100 can include a pressure-induced sensor attenuation (PISA) detection system 102, a computing device 104, a processor 106, a memory 108, a sensor 110, and machine learning models (MLMs) 112-1 through 112-n (individually referred to as an MLM 112 and collectively referred to as multiple MLMs 112, where appropriate).
[0015] In some embodiments, the system configuration 100 can include at least one sensor (e.g., sensor 110). The at least one sensor can measure and / or collect BG measurements associated with timestamps. The BG measurements (e.g., BG measurement data) can be in the form of a time series including multiple timestamps. For example, each BG measurement measured and / or collected by the at least one sensor can be associated with exactly one timestamp, such that a group of multiple BG measurements forms a time series of BG measurements collected by the at least one sensor over time. The at least one time series of BG measurements can span a variety of times and can be of any variety of lengths (e.g., the number of timestamps and BG measurements in the time series). For example, the at least one time series of BG measurements can include 30 minutes (e.g., in duration) of measurement data measured by the at least one sensor. The at least one sensor can measure and / or collect BG measurements over a period of time at specified time intervals (e.g., every 30 seconds and / or every minute), which can define the resolution of the time series of BG measurements. For example, the timestamps in a time series of BG measurements can be separated by any one or more of the following intervals: 30 seconds, 1 minute, 2.5 minutes, and / or 5 minutes. Other time intervals for measurement collection and / or resolution of the time series can also be used.
[0016] In some embodiments, the system configuration 100 can include at least one processor (e.g., processor 106) in communication with at least one sensor. The at least one processor can execute program code for at least two machine learning models (e.g., MLM 112). In some embodiments, the at least one processor can execute at least two machine learning models simultaneously. The at least one processor can execute program code for detecting sensor compression in the CGM.
[0017] In some embodiments, at least one processor can be programmed or configured (e.g., via software instructions) to cause the processor to receive measurement data from at least one sensor, the measurement data including at least one time series of BG measurements measured by the at least one sensor. The measurement data can be transmitted from the at least one sensor to the at least one processor in real time (e.g., relative to the sensor collecting the measurement data). Alternatively, the measurement data can be transmitted from the at least one sensor to a memory (e.g., memory 108) coupled to the at least one processor so that the measurement data can be accessed by the at least one processor at a time later than the time the at least one sensor collected the measurement data.
[0018] In some embodiments, at least one time series of BG readings can include multiple timestamps. Each timestamp can be associated with a BG reading. For example, each timestamp can represent a relative or absolute time at which the BG reading was collected by a sensor (e.g., sensor 110). In some embodiments, the multiple timestamps can be separated by any one or more of 30-second intervals, 1-minute intervals, 2.5-minute intervals, and / or 5-minute intervals.
[0019] In some embodiments, at least one processor can be programmed or configured to use a first machine learning model to determine that at least one time series of BG measurements is a candidate series that includes a compression artifact. A candidate series can include a time series of BG measurements that includes a drop time window (e.g., a series of BG measurements whose values decrease over time). A candidate series can include a time series of BG measurements that includes one or more BG measurements below a BG measurement threshold (e.g., a threshold). In some embodiments, a candidate series can include a time series of BG measurements that includes one or more attributes that can indicate that the time series of BG measurements includes a compression artifact. However, in some cases, a candidate series can include one or more attributes that indicate that the time series of BG measurements does not include a compression artifact, while the time series of BG measurements includes a compression artifact. In other cases, a candidate series includes a compression artifact. Determining that at least one time series of BG measurements is a candidate series can be a first step in finding a compression artifact in the measurement data and detecting sensor compression.
[0020] In some embodiments, at least one processor can be programmed or configured to cause the processor to determine that at least one time series of BG readings includes a change in BG readings across multiple timestamps (e.g., across two consecutive timestamps, or across multiple timestamps starting from a first timestamp). The change in BG readings can exceed a threshold (e.g., a threshold value). For example, the at least one processor can calculate the change in BG readings by determining a difference between a first BG reading and a second BG reading to determine the change in BG readings. As a result, the at least one processor can determine that the difference between the first BG reading and the second BG reading exceeds a threshold (e.g., a fall time threshold and / or a rise time threshold, etc.). In some embodiments, the first BG reading can be associated with a first timestamp and the second BG reading can be associated with a second timestamp, where the first timestamp and the second timestamp are consecutive timestamps in the at least one time series of BG readings. Alternatively, a first BG measurement can be associated with a first timestamp and a second BG measurement can be associated with a second timestamp, the first timestamp and the second timestamp being separated by one or more timestamps in at least one time series of BG measurements.
[0021] In some embodiments, at least one processor configured to determine that at least one time series of BG measurements is a candidate sequence can be programmed or configured to cause the processor to determine that the at least one time series of BG measurements includes a time series subsequence having a fall time window and a rise time window associated with the fall time window. The time series subsequence can include a series of BG measurements associated with timestamps in the form of a time series including a plurality of timestamps that is a subset of the at least one time series of BG measurements. For example, each BG measurement measured and / or collected by the at least one sensor can be associated with exactly one timestamp, and thus a group of multiple BG measurements forms a time series of BG measurements collected by the at least one sensor over time. The time series of BG measurements can include one or more time series subsequences, and these time series subsequences can span different times and can be of any different length within the time series of BG measurements (e.g., the number of timestamps and BG measurements within the time series subsequence).
[0022] In some embodiments, at least one processor can use at least one machine learning model to determine the time series subsequence (e.g., by identifying multiple timestamps in at least one time series of BG measurements). In some embodiments, the time series subsequence can include a series of timestamps corresponding to at least a portion of a fall time window (e.g., at least one timestamp of the time series subsequence falls within the fall time window) and at least a portion of an rise time window (e.g., at least one timestamp of the time series subsequence falls within the rise time window). In some embodiments, the time series subsequence can span at least 2.5 minutes in duration of the BG measurements.
[0023] In some embodiments, at least one processor configured to determine that at least one time series of BG measurements is a candidate series can be programmed or configured to cause the processor to determine a drop time window in the at least one time series based on a difference between a first BG measurement and a second BG measurement exceeding a drop time threshold. The drop time window can include a series of multiple timestamps and multiple BG measurements starting from a first timestamp associated with the first BG measurement (e.g., the BG measurement) and ending at a second timestamp associated with the second BG measurement (e.g., the BG measurement). In some embodiments, the first BG measurement and the second BG measurement can be part of the same measurement data (e.g., a time series of BG measurements).
[0024] In some embodiments, at least one processor configured to determine that at least one time series of BG measurements is a candidate series can be programmed or configured to cause the processor to determine a rise time window within the at least one time series based on a difference between a third BG measurement and a fourth BG measurement exceeding a rise time threshold. The rise time window can include a series of timestamps and BG measurements starting from a third timestamp associated with the third BG measurement (e.g., the BG measurement) and ending with a fourth timestamp associated with the fourth BG measurement (e.g., the BG measurement). The rise time window can be related to the fall time window in that only a rise time window can occur within the time series of BG measurements after at least one fall time window has occurred.
[0025] In some embodiments, the fall time threshold can be equal to 10 mg / dL (e.g., BG reading). In some embodiments, the rise time threshold can be equal to 6 mg / dL (e.g., BG reading).
[0026] In some embodiments, the at least one processor configured to determine that at least one time series of BG measurements is a candidate series can be programmed or configured to cause the processor to determine a rolling mean of the at least one time series of BG measurements, where the rolling mean can include one or more new values corresponding to the BG measurements in the time series, including a smooth BG value associated with each BG measurement and timestamp pair.
[0027] In some embodiments, the at least one processor configured to determine that at least one time series of BG measurements is a candidate series can be programmed or configured to calculate an indicator value for the smoothed BG value at each timestamp t, where the indicator value corresponds to a Boolean true of: BG t -BG t-lag >BG threshold where t is the current timestamp at which the index value is determined, and BG t is the smoothed BG value at timestamp t, and BG t-lag is the smoothed BG value at the previous timestamp, lag is a measure of time such that t-lag represents the previous timestamp, and BG threshold represents the BG threshold. In some embodiments, the difference between the first smoothed BG value associated with the first timestamp and the second smoothed BG value associated with the second timestamp is greater than 7.5 mg / dL (e.g., BG measurement).
[0028] In some embodiments, the lag can correspond to 5 minutes and the BG threshold can correspond to 10.0 mg / dL (eg, a BG reading).
[0029] In some embodiments, the at least one processor configured to determine that the at least one time series of BG measurements is a candidate sequence can be programmed or configured to identify a time series subsequence in the at least one time series of BG measurements, the time series subsequence having a set of index values starting from a first timestamp and ending at a second timestamp.
[0030] In some embodiments, at least one processor can be programmed or configured to cause the processor to use at least one machine learning model to identify, in at least one time series, a rise time window associated with a fall time window as occurring within a range of 15 minutes to 180 minutes after the fall time window. For example, the rise time window can be identified as starting from a rise start timestamp (e.g., a timestamp at the start of the rise time window) that occurs 40 minutes after a fall end timestamp (e.g., a timestamp at the end of the fall time window).
[0031] In some embodiments, at least one processor can be programmed or configured to cause the processor to input at least one time series subsequence of BG measurements into at least one machine learning model. For example, the at least one processor can be programmed or configured to cause the processor to input the time series subsequence (e.g., timestamps and / or BG measurements associated with the timestamps) into at least one machine learning model for training, testing, and / or prediction and / or generation of a signal output. Additionally or alternatively, the at least one processor can be programmed or configured to cause the processor to input one or more features of the time series subsequence (e.g., other data that can be extracted from the time series subsequence, such as the time associated with the time series subsequence and / or the type of sensor) into at least one machine learning model for training, testing, and / or prediction and / or generation of a signal output.
[0032] In some embodiments, the at least one processor can be programmed or configured to cause the processor to use the second machine learning model to generate a signal output indicating that at least one time series of BG measurements was taken while the at least one sensor was under compression. For example, the signal output can include a signal sent to an insulin delivery system to cause the insulin delivery system to perform an action, a signal sent to a display, and / or a signal sent to another processor to cause another processor to perform an action, etc.
[0033] In some embodiments, the at least one processor configured to generate the signal output can be programmed or configured to cause the processor to predict that the at least one sensor is experiencing compression while the at least one sensor is obtaining a BG measurement. The at least one processor can be programmed or configured to cause the processor to predict (e.g., generate a prediction) via at least one machine learning model executed by the processor. The processor can generate the prediction in real time (e.g., in real time relative to the sensors collecting the measurement data) via outputting instructions based on receiving measurement data from the at least one sensor as the sensor is collecting the measurement data.
[0034] In some embodiments, at least one processor configured to generate a signal output can be programmed or configured to cause the processor to predict in real time, via outputting an indication, that at least one sensor is experiencing compression while the at least one sensor is acquiring a BG measurement. For example, the at least one processor can generate the prediction based on a probability value generated by at least one machine learning model. The probability value can represent a probability that the time series subsequence includes a BG measurement acquired while the at least one sensor is experiencing compression. In this manner, the at least one machine learning model can be used to generate a probability that the time series subsequence includes a BG measurement acquired while the at least one sensor is experiencing compression, and the probability value can represent a measure of the machine learning model's confidence in predicting that at least one sensor is experiencing compression while the at least one sensor is acquiring a BG measurement (e.g., a BG measurement included in the time series subsequence analyzed by the at least one machine learning model). A higher probability can represent a higher likelihood that a BG measurement in the time series subsequence was collected by the at least one sensor while the at least one sensor was experiencing compression.
[0035] In some embodiments, at least one processor is programmed or configured to cause the processor to determine a maximum probability value among a plurality of probability values generated by the at least one machine learning model. The plurality of probability values can be associated with a plurality of timestamps in a time series subsequence that falls within a descent time window. For example, each probability value of the plurality of probability values can be associated with at least one timestamp in at least one time series of BG measurements. That is, the probability value can represent a probability that the BG measurement associated with the timestamp in the time series subsequence was taken while the at least one sensor was experiencing compression.
[0036] In some embodiments, at least one processor is programmed or configured to cause the processor to determine the probability that the time series subsequence includes a BG measurement taken while at least one sensor was under compression based on a maximum probability value. For example, the maximum probability value can be determined from multiple probability values, each associated with a timestamp and a BG measurement. In other embodiments, an average probability value or another probability and / or statistical metric can be used.
[0037] In some embodiments, at least one processor can be programmed or configured to cause the processor to identify one or more features of at least one time series of BG readings. For example, the at least one processor can identify and / or extract (e.g., via feature extraction) features of the at least one time series of BG readings for input into at least one machine learning model. The at least one processor can be programmed or configured to cause the processor to input the one or more features into the at least one machine learning model (e.g., a second machine learning model) for classification and / or generate a signal output based on the classification of the at least one time series of BG readings.
[0038] In some embodiments, the at least one processor can be coupled to an insulin delivery system in communication with the at least one processor. The at least one processor can be programmed or configured to cause the processor to send a signal output to the insulin delivery system. The signal output can indicate that the at least one sensor is under compression, and the signal output can cause the insulin delivery system to do at least one or more of: start insulin delivery (e.g., after insulin delivery has been stopped due to a compression artifact), continue insulin delivery (e.g., after determining that the at least one sensor is under compression and functioning normally), disable an alarm (e.g., after an alarm has been triggered by sensor compression), and / or any combination thereof.
[0039] 1, the PISA detection system 102 may include software instructions (e.g., program code) implemented on a computing device 104. The PISA detection system 102 may include a memory 108 that stores the software instructions. The PISA detection system 102 may include a processor 106 that executes the software instructions, causing the processor 106 to perform one or more functions. The PISA detection system 102 may include a sensor 110 (e.g., a CGM sensor).
[0040] The PISA detection system 102 may include at least two machine learning models trained using BG measurement data (e.g., MLM 112-1 through MLM 112-n). The at least one machine learning model may generate at least one signal output based on at least one time series of BG measurement data having a compression artifact provided as a runtime input to the at least one machine learning model. The signal output of the at least one machine learning model may include a prediction (e.g., a determination) of whether the at least one time series of BG measurement data was obtained while the at least one sensor was experiencing compression. The at least two machine learning models may be trained using one or more time series of BG measurements received by the computing device 104 and / or processor 106 from the memory 108 and / or the sensor 110. Additionally or alternatively, the at least one machine learning model may generate at least one signal output (e.g., a prediction) based on a training dataset, a test dataset, and / or other datasets.
[0041] In some embodiments, the PISA detection system 102 can be implemented on a single computing device. In some embodiments, the PISA detection system 102 can be implemented as a distributed system across multiple computing devices (e.g., a group of servers, such as a group of computing devices 104), such that software instructions and / or machine learning models are implemented on different computing devices. In some embodiments, the PISA detection system 102 can be associated with a computing device 104 such that the PISA detection system 102 executes on the computing device 104, or such that portions of the PISA detection system 102 execute on the computing device 104 as part of a distributed computing system where the sensor 110 is not part of the computing device 104. Alternatively, the PISA detection system 102 can include at least one computing device 104 that executes software instructions and at least one sensor 110 that detects PISA.
[0042] The sensor 110 may include a CGM sensor configured to detect and / or measure blood glucose in a subject (e.g., a patient). In some embodiments, the sensor 110 may include one or more sensors. For example, the sensor 110 may include a CGM sensor and a pressure sensor. In some embodiments, the sensor 110 may include multiple CGM sensors. The sensor 110 may be worn and / or attached to various parts of the subject's body (e.g., the arm, abdomen, etc.). The sensor 110 may be configured to collect and transmit measurements (e.g., BG measurements) to a processor (e.g., processor 106). The sensor 110 may be subjected to compression (e.g., by the subject or via other means) while collecting and / or obtaining measurements, which may affect the accuracy of the measurements obtained by the sensor 110.
[0043] The sensor 110 may include a sampling rate that may be configured to collect and / or obtain measurements over a period of time having a particular sampling resolution. For example, the sensor 110 may be configured to sample measurements at 30-second intervals, 1-minute intervals, 2.5-minute intervals, and / or 5-minute intervals, etc. The sensor 110 may transmit the sampled measurements to the processor 106 in real time as the measurements are sampled. In some embodiments, the sensor 110 may transmit at least one time series of the sampled measurements to the processor 106 and / or memory 108 at specified time intervals. The time series may include multiple BG measurements, and each BG measurement may be associated with a timestamp. The timestamp may represent an absolute or relative time at which the BG measurement was collected by the sensor 110. The sensor 110 may communicate with the computing device 104 and / or the processor 106 via wired means (e.g., a data bus and / or Ethernet, etc.) or wireless means (e.g., Wi-Fi and / or Bluetooth, etc.) and / or a communication interface.
[0044] The computing device 104 may include a processor 106 (e.g., a CPU) and a memory 108. The processor 106 may execute software instructions (e.g., compiled program code) for the PISA detection system 102, including software instructions for at least two machine learning models (e.g., trained machine learning models). In some embodiments, the sensor 110 may be separate from the computing device 104. Alternatively, the sensor 110 may be integrated with (e.g., part of) the computing device 104.
[0045] Computing device 104 may include one or more processors (e.g., processor 106) configured to execute software instructions. For example, computing device 104 may include a desktop computer, a portable computer (e.g., laptop computer, tablet computer), a workstation, a mobile device (e.g., smartphone, mobile phone, personal digital assistant, wearable device), a server, and / or other similar devices. Computing device 104 may include a computing device configured to communicate with one or more other computing devices over a network. Computing device 104 may include a group of computing devices (e.g., a group of servers) and / or other similar devices. In some embodiments, computing device 104 may include a data storage device. Alternatively, the data storage device may be separate from and in communication with computing device 104.
[0046] The processor 106 can be implemented in hardware, software, or a combination of hardware and software. For example, the processor 106 can include a general processor (e.g., a CPU, a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.) that can be programmed with software instructions that, when executed, configure the processor to perform a function. In some embodiments, the processor 106 can include multiple processors (e.g., a CPU and a GPU) implemented on a single computing device 104 or multiple processors implemented across multiple distributed computing devices 104. The processor 106 can be coupled to the memory 108 via a data bus for transferring data between the processor 106 and the memory 108. In some embodiments, the processor 106 can be coupled to the sensor 110 via wired means (e.g., a data bus and / or Ethernet, etc.) or wireless means (e.g., Wi-Fi and / or Bluetooth, etc.) and / or a communication interface.
[0047] Memory 108 may include random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or software instructions used by processor 106. Memory 108 may include computer-readable media and / or storage components. Computer-readable media (e.g., non-transitory computer-readable media) are defined herein as non-transitory memory devices. Non-transitory memory devices include memory space located within a single physical storage device or memory space distributed across multiple physical storage devices.
[0048] The software instructions may be loaded into memory 108 from another computer-readable medium or another device via a communications interface with computing device 104. The software instructions stored in memory 108 and executed by processor 106, when executed, may cause processor 106 to perform one or more functions described herein. The embodiments described herein are not limited to any specific combination of hardware circuitry and software.
[0049] The MLM 112 may include at least two machine learning models (e.g., MLM 112-1, MLM 112-2, etc.). The MLM 112 may be trained using unsupervised and / or supervised training methods. The MLM 112 may be trained using a training dataset received from a data store. At least one MLM 112 of the multiple MLMs 112 may generate a first signal output (e.g., a prediction) based on a runtime input provided to the at least one MLM 112 (e.g., the trained MLM 112). The first signal output may be provided as an input to another MLM 112 to generate a further signal output based on the first signal output. In some embodiments, at least one MLM 112 may generate a first signal output (e.g., a prediction to classify the runtime input, a classification) using the first MLM 112-1 based on the runtime input. The first signal output (e.g., classification) can then become input to the second MLM 112-2 (e.g., as a feature vector) such that the second MLM 112-2 generates a second signal output and / or a final signal output. In some embodiments, the first signal output can be provided as input to the second MLM 112-2 based on specific criteria (e.g., based on a specific classification). The MLM 112 can generate the final signal output using any number and / or arrangement of various input / output patterns for the MLMs 112. In this manner, the MLM 112 can generate signal outputs and / or predictions (e.g., classifications and / or probabilities) using various structures and / or input / output patterns of the MLMs 112. In some embodiments, the PISA detection system 102 can simultaneously execute the MLMs 112 (e.g., via the processor 106).
[0050] The number and arrangement of systems, hardware, and / or modules (e.g., software instructions) shown in FIG. 1 are provided as an example. Additional, fewer, different, or differently arranged systems, hardware, and / or modules may be present. Furthermore, two or more of the systems, hardware, and / or modules shown in FIG. 1 may be implemented within a single system, hardware, and / or module. A single system, hardware, and / or module shown in FIG. 1 may be implemented as multiple distributed systems, hardware, and / or modules. Additionally or alternatively, a set of systems, hardware, and / or modules (e.g., one or more systems, one or more hardware devices, one or more modules) in FIG. 1 may perform one or more functions described as being performed by another set of systems, another set of hardware, or another set of modules in FIG. 1.
[0051] 2 , an embodiment relates to an exemplary method 200 for detecting sensor compression in continuous glucose monitoring, as disclosed herein. Method 200 can be performed by one or more components of system configuration 100. In some embodiments, one or more of the functions described with respect to method 200 can be performed (e.g., fully, partially, etc.) by PISA detection system 102 (e.g., via processor 106). In some embodiments, one or more of the steps of method 200 can be performed (e.g., fully, partially, etc.) by another system, hardware, or module, or group of systems, hardware, or modules, separate from or including PISA detection system 102, such as a client device and / or another computing device.
[0052] In some embodiments, one or more of the steps of method 200 may be performed during a training phase of at least one MLM 112. The training phase of at least one MLM 112 may include a computing environment in which a machine learning model (e.g., MLM 112-1) is trained (e.g., a training environment and / or a model building phase, etc.). In some embodiments, one or more of the steps of method 200 may be performed during a testing phase of at least one MLM 112. The testing phase for at least one MLM 112 may include a computing environment in which a machine learning model (e.g., MLM 112-1) is tested and / or evaluated (e.g., a testing environment, model evaluation, and / or model validation, etc.). In some embodiments, one or more of the steps of method 200 may be performed during a runtime phase of at least one MLM 112. The runtime stage of at least one MLM112 may include a computing environment in which a machine learning model (e.g., MLM112-1) is active (e.g., deployed, accessible as a service to client devices, etc.) and can generate signal outputs (e.g., runtime predictions) based on runtime inputs.
[0053] 2 , in step 202, the method 200 may include receiving measurement data as at least one time series. For example, the PISA detection system 102 may receive at least one training data set from the sensor 110 (e.g., via the computing device 104 and / or the processor 106). In some embodiments, the PISA detection system 102 may receive the measurement data and provide the measurement data to at least one MLM 112 as input for generating classification and / or signal output. The measurement data may include training data for training and / or testing the at least one MLM 112. Alternatively, the measurement data may include runtime input for the at least one MLM 112. The at least one training data set may include at least one time series of BG measurements.
[0054] In some embodiments, the measurement data may include multiple time series of BG measurements. The time series of BG measurements may include multiple timestamps. Each timestamp may be associated with a BG measurement. For example, one BG measurement collected by the sensor 110 may be associated with exactly one timestamp. The timestamp may represent an absolute or relative time at which the BG measurement was collected by the sensor 110. The processor 106 may receive measurement data including the time series of BG measurements as input to the processor 106. The time series of BG measurements may span various times and may be of any various lengths (e.g., number of timestamps and BG measurements). For example, at least one time series of BG measurements may include at least 30 minutes of measurement data measured by at least one sensor. In this example, the number of timestamps and BG measurements may depend on the resolution of the BG measurements, or the sample rate at which the sensor 110 collects the BG measurements. In some embodiments, the time series subsequence may span at least 2.5 minutes within the duration of the BG measurements. In some embodiments, the time series subsequence may be longer or shorter than 2.5 minutes in duration.
[0055] In step 204, the method 200 can include determining that the measurement data includes the onset of a sensor compression. For example, the PISA detection system 102 can determine (e.g., via the computing device 104 and / or the processor 106) that the measurement data received from the sensor 110 includes at least one time series subsequence. In some embodiments, the measurement data can include multiple time series subsequences. The time series subsequences can include at least one BG measurement below a compression estimation threshold. In some embodiments, the compression estimation threshold can correspond to 85 mg / dL (e.g., a BG measurement).
[0056] In some embodiments, the PISA detection system 102 can determine that the measurement data includes the onset of sensor compression based on determining that at least one BG measurement is below the estimated compression threshold. The onset of sensor compression can appear as a compression artifact in the measurement data. For example, one or more BG measurements (e.g., within a time series of BG measurements) can form a compression artifact in the measurement data. The one or more BG measurements can indicate the onset of sensor compression (e.g., that the sensor 110 experienced compression while collecting one or more BG measurements).
[0057] In some embodiments, the PISA detection system 102 can determine that the measurement data received from the sensor 110 includes the onset of a sensor compression based on determining that the measurement data (e.g., a time series subsequence of the measurement data) includes at least one compression artifact. A compression artifact can include a time series of BG measurements in which each BG measurement in the time series is below a compression estimation threshold, such that the BG measurements are outside of a normal range (e.g., outside of a band of equilibrium BG values indicative of a normal BG level for the subject).
[0058] In some embodiments, the PISA detection system 102 can determine that the measurement data includes the onset of sensor compression based on determining that the measurement data includes at least one drop time window. The drop time window can include a time series of BG measurements in which the BG measurements drop from an initial BG measurement to a low BG measurement over the time series to exceed a threshold BG measurement between the initial BG measurement and the low BG measurement. In some embodiments, the drop time window can be defined by a time series of BG measurements in which the difference between the initial BG measurement and the low BG measurement exceeds a compression threshold. The initial BG measurement and the low BG measurement can be separated in time (e.g., within the time series) by any number of timestamps (e.g., any time), and need not be particularly separated in time.
[0059] In some embodiments, the PISA detection system 102 can determine that the measurement data includes the end of a sensor compression based on determining that the measurement data includes at least one rising time window. The rising time window can include a time series of BG measurements in which the BG measurements increase over the time series from an initial BG measurement to a higher BG measurement, causing the BG measurements to exceed a threshold BG measurement between the initial BG measurement and the higher BG measurement. In some embodiments, the rising time window can be defined by a time series of BG measurements in which the difference between the initial BG measurement and the higher BG measurement exceeds a compression threshold. The initial BG measurement and the higher BG measurement can be separated in time (e.g., within the time series) by any number of timestamps (e.g., any time), and need not be particularly separated in time.
[0060] In some embodiments, the PISA detection system 102, configured to determine (e.g., via the computing device 104 and / or the processor 106) that at least one time series of BG measurements is a candidate series, can determine a drop time window in the at least one time series based on a difference between a first BG measurement and a second BG measurement exceeding a drop time threshold. The drop time window can include a series of multiple timestamps and multiple BG measurements starting from a first timestamp associated with the first BG measurement and ending at a second timestamp associated with the second BG measurement.
[0061] In some embodiments, the PISA detection system 102, configured to determine (e.g., via the computing device 104 and / or the processor 106) at least one time series of BG measurements to be a candidate series, can determine a rise time window in the at least one time series based on a difference between a third BG measurement and a fourth BG measurement exceeding a rise time threshold. The rise time window can include a series of multiple timestamps and multiple BG measurements starting from a third timestamp associated with the third BG measurement and ending with a fourth timestamp associated with the fourth BG measurement. The rise time window can be related to the fall time window in that only a rise time window can occur in the time series of BG measurements after at least one fall time window has occurred.
[0062] In some embodiments, the fall time threshold and / or rise time threshold can be determined by the PISA detection system 102. Alternatively, the PISA detection system 102 can receive the fall time threshold and / or rise time threshold as input from a user of the PISA detection system 102, for example, via one or more input devices and / or interfaces of the computing device 104. In some embodiments, for BG measurements that can be calculated and / or determined based on BG measurements, the fall time threshold can be equal to 10 mg / dL and the rise time threshold can be equal to 6 mg / dL.
[0063] In step 206, method 200 can extract features of the measurement data. For example, the PISA detection system 102 can extract (e.g., via the computing device 104 and / or the processor 106) one or more features from at least one time series of BG readings of the measurement data based on determining that the measurement data (e.g., at least one time series of the measurement data) includes one or more BG readings indicating the onset of sensor compression. In some embodiments, the PISA detection system 102 can extract one or more features from time series subsequences of the at least one time series of BG readings. In some embodiments, the PISA detection system 102 can provide one or more features as input to at least one MLM 112 for generation of a signal output during training, testing, and / or runtime.
[0064] A time series subsequence may include a shorter time series of BG readings with associated timestamps within a time series of BG readings of the measurement data. For example, a first time series of BG readings may be identified based on a predetermined time period used for analysis (e.g., the past 30 minutes of BG readings collected by the sensor 110), while a time series subsequence may be identified as a shorter time series of BG readings within the first time series of BG readings (e.g., 2.5 minutes of BG readings within the past 30 minutes of BG readings).
[0065] In some embodiments, at least one processor configured to determine that at least one time series of BG measurements is a candidate series can be programmed or configured to cause the processor to determine a rolling average of the at least one time series of BG measurements, where the rolling average can include one or more new values corresponding to the BG measurements in the time series, including a smoothed BG value associated with each BG measurement and timestamp pair.
[0066] In some embodiments, the PISA detection system 102 configured to determine that at least one time series of BG measurements is a candidate series may calculate (e.g., via the computing device 104 and / or the processor 106) an index value for the smoothed BG value at each timestamp t, where the index value corresponds to the Boolean true of: BG t -BG t-lag >BG threshold where t is the current timestamp at which the index value is determined, and BG t is the smoothed BG value at timestamp t, and BG t-lag is the smoothed BG value at the previous timestamp, lag is a measure of time such that t-lag represents the previous timestamp, and BG threshold represents the BG threshold. In some embodiments, the PISA detection system 102 can determine a difference of greater than 7.5 mg / dL between a first smoothed BG value associated with a first timestamp and a second smoothed BG value associated with a second timestamp.
[0067] In some embodiments, the lag can correspond to 5 minutes and the BG threshold can correspond to 10.0 mg / dL (eg, a BG reading).
[0068] In some embodiments, the PISA detection system 102 configured to determine that at least one time series of BG readings is a candidate series may be programmed or configured (e.g., via the computing device 104 and / or the processor 106) to identify a time series subsequence in the at least one time series of BG readings, the time series subsequence having a set of index values starting from a first timestamp and ending at a second timestamp.
[0069] In some embodiments, the PISA detection system 102 (e.g., via the computing device 104 and / or the processor 106) can identify one or more features of at least one time series of BG readings. The PISA detection system 102 can input the one or more features into at least one machine learning model (e.g., a second machine learning model) for classification and / or generation of a signal output.
[0070] At step 208, method 200 can input features to the machine learning model. For example, the PISA detection system 102 can input (e.g., via the computing device 104 and / or the processor 106) one or more features from at least one time series of BG measurements to the at least one MLM 112 for training. In some embodiments, the PISA detection system 102 can input one or more features from at least one time series subsequence within the at least one time series of BG measurements to the at least one MLM 112 for training. In some embodiments, the PISA detection system 102 can input one or more features of the time series of BG measurements to the at least one MLM 112 for generation of a signal output during testing and / or run time.
[0071] In step 210, the method 200 can detect sensor compression. For example, the PISA detection system 102 can detect sensor compression based on providing a time series of at least one BG measurement as input to at least one machine learning model (e.g., via the computing device 104 and / or the processor 106). In some embodiments, the PISA detection system 102 can detect sensor compression based on determining, using a first machine learning model (e.g., the MLM 112-1), that at least one time series of BG measurements is a candidate sequence that includes a compression artifact. The PISA detection system 102 can then determine that the candidate sequence includes a drop time window of BG measurements. The PISA detection system 102 can provide the candidate sequence (e.g., one or more features of the candidate sequence) as input to a second machine learning model (e.g., the MLM 112-2).
[0072] The PISA detection system 102 can use a second machine learning model (e.g., MLM 112-2) to generate a signal output indicating that at least one time series of BG measurements (e.g., a candidate series) was obtained while at least one sensor (e.g., sensor 110) was undergoing compression. In some embodiments, the PISA detection system 102 can generate the signal output based on determining a probability value representing the probability that the candidate series corresponds to the onset of a sensor compression.
[0073] In some embodiments, the PISA detection system 102 configured to generate a signal output can predict in real time via output of instructions (e.g., via the computing device 104 and / or the processor 106) that at least one sensor is experiencing compression while the at least one sensor is acquiring a BG measurement. For example, the PISA detection system 102 can generate the prediction based on a probability value generated by at least one machine learning model. The probability value can represent the probability that the time series subsequence includes a BG measurement acquired while the at least one sensor is experiencing compression. In this manner, the PISA detection system 102 can use at least one machine learning model to generate a probability that the time series subsequence includes a BG measurement acquired while the at least one sensor is experiencing compression, and the probability value can represent a measure of confidence in the machine learning model predicting that at least one sensor is experiencing compression while the at least one sensor is acquiring a BG measurement (e.g., a BG measurement included in the time series subsequence analyzed by the at least one machine learning model). A higher probability can represent a higher likelihood that the BG measurement in the time series subsequence was collected by the at least one sensor while the at least one sensor was experiencing compression.
[0074] In some embodiments, when the PISA detection system 102 determines the probability value, it can generate a classification of the candidate sequence as “no sensor compression” (e.g., via MLM 112-2) when the probability value is lower than a probability threshold, or can classify the candidate sequence as “sensor compression” (e.g., via MLM 112-2) when the probability value is equal to or greater than the probability threshold. Based on classifying the candidate sequence as “sensor compression,” the PISA detection system 102 can generate a signal output indicating that at least one time series of BG measurements (e.g., candidate sequence) was obtained while at least one sensor was under compression.
[0075] In some embodiments, the PISA detection system 102 (e.g., via the computing device 104 and / or the processor 106) can determine the probability that the time series subsequence includes a BG measurement taken while at least one sensor was under compression based on a maximum probability value. For example, the maximum probability value can be determined from multiple probability values, each associated with at least one timestamp and at least one BG measurement in the time series subsequence. In other embodiments, the PISA detection system 102 can use an average probability value or another probability and / or statistical metric.
[0076] In some embodiments, the PISA detection system 102 (e.g., via the computing device 104 and / or the processor 106) can determine that at least one time series of BG readings includes a change in BG readings across multiple timestamps (e.g., across two consecutive timestamps or across multiple timestamps from a first timestamp). The change in BG readings can exceed a threshold. For example, the at least one processor can calculate the change in BG readings by determining a difference between a first BG reading and a second BG reading to determine the change in BG readings. As a result, the at least one processor can determine that the difference between the first BG reading and the second BG reading exceeds a threshold (e.g., a fall time threshold, etc.).
[0077] In some embodiments, the PISA detection system 102, configured to determine that at least one time series of BG measurements is a candidate sequence, can determine (e.g., via the computing device 104 and / or the processor 106) that the at least one time series of BG measurements includes a time series subsequence having a fall time window and a rise time window associated with the fall time window. In some embodiments, the PISA detection system 102 can determine the time series subsequence using at least one machine learning model (e.g., by identifying multiple timestamps in the at least one time series of BG measurements). In some embodiments, the time series subsequence can include a series of timestamps corresponding to at least a portion of the fall time window (e.g., at least one timestamp in the time series subsequence falls within the fall time window) and at least a portion of the rise time window (e.g., at least one timestamp in the time series subsequence falls within the rise time window). The PISA detection system 102 can determine the time series subsequence based on determining that the time series subsequence includes a fall time window and a corresponding rise time window. The existence of the drop time window and the corresponding rise time window can be determined based on inputting at least one time series of BG readings into at least one machine learning model. In some embodiments, the PISA detection system 102 can determine the drop time window and the corresponding rise time window based on determining a difference between a first BG reading and a second BG reading to determine a change in BG reading (e.g., the change in BG reading occurs over a timestamp within the drop time window and / or a timestamp within the rise time window).
[0078] In some embodiments, the PISA detection system 102 can predict (e.g., via the computing device 104 and / or the processor 106) that the sensor 110 is experiencing compression while the sensor 110 is obtaining at least one BG measurement. For example, the PISA detection system 102 can generate the prediction via the MLM 112 executed by the processor 106 based on inputting at least one time series of BG measurements (e.g., characteristics thereof) into the MLM 112. The PISA detection system 102 can generate the prediction in real time (e.g., in real time with respect to the sensor 110 collecting the measurement data and transmitting the measurement data to the processor 106 and / or memory 108) via outputting instructions based on receiving measurement data (e.g., a time series of BG measurements) from the sensor 110 as the sensor 110 is collecting the measurement data.
[0079] In some embodiments, the classification of the candidate sequence generated by the PISA detection system 102 can include a prediction generated by a trained machine learning model (e.g., MLM 112-2) based on runtime input provided to the trained machine learning model. The runtime input can include measurement data including at least one time series of BG measurements collected in real time by the sensor 110, which is provided to a first machine learning model (e.g., MLM 112-1) to determine whether the at least one time series of BG measurements includes the candidate sequence. In some embodiments, the candidate sequence can include a time series of BG measurements and / or a time series subsequence of BG measurements. As a result, the PISA detection system 102 can provide the candidate sequence to a second machine learning model (e.g., MLM 112-2) to generate a classification of the candidate sequence, such that a signal output can be generated indicating that the at least one time series of BG measurements collected in real time by the sensor 110 includes BG measurements collected by the sensor 110 while the sensor 110 was undergoing compression. In this manner, the PISA detection system 102 can collect measurement data via the sensor 110, provide the measurement data to at least two machine learning models, and generate a signal output indicative of the sensor 110 being compressed in real time relative to the time the sensor 110 collected the measurement data.
[0080] In some embodiments, real time can include a moment in time relative to the occurrence of an event (e.g., real time relative to the collection of measurement data) where a response (e.g., generation of a signal output) occurs within a specified time, which is generally a relatively short time (e.g., within a few seconds) from the occurrence of the event. For example, real time can refer to a moment in time where a signal output is generated by the PISA detection system 102 simultaneously or shortly thereafter (e.g., within a few milliseconds or seconds) with the collection of measurement data by the sensor 110. As a further example, a real-time (e.g., runtime) signal output can be generated simultaneously or shortly thereafter when the PISA detection system 102 receives a time series of BG measurements and / or simultaneously or shortly thereafter when the PISA detection system 102 inputs the time series of BG measurements into at least one machine learning model to generate a runtime prediction and / or signal output.
[0081] In some embodiments, the PISA detection system 102 (e.g., computing device 104 and / or processor 106) can be combined with an insulin delivery system. The PISA detection system 102 (e.g., via the processor 106) can be in communication with the insulin delivery system (e.g., via wired and / or wireless means). The PISA detection system 102 can send a signal output to the insulin delivery system indicating that the sensor 110 is experiencing compression while collecting BG measurements. The insulin delivery system can receive the signal output that causes the insulin delivery system to do at least one or more of: initiate insulin delivery, continue insulin delivery, disable an alarm, and / or any combination thereof.
[0082] In some embodiments, the PISA detection system 102 can label each of a plurality of time series subsequences indicating that the time series subsequence includes a compression artifact or that the time series subsequence does not include a compression artifact. The labeling can be performed for one or more time series of BG measurements in the training data set and / or the test data set.
[0083] The steps of method 200 may be performed in various orders and sequences and are not limited to being performed in the order shown in Figure 2. For example, features may be extracted from training data and provided to a machine learning model for training before the PISA detection system 102 receives measurements from the sensors 110. Similarly, in some cases, the PISA detection system 102 may receive measurement data from the sensors 110 after detecting a sensor compression. Thus, the steps of method 200 are not limited to a particular order and may be performed on various components, whether implemented on a single computing device or multiple distributed computing devices.
[0084] 3 , embodiments may relate to an exemplary system implementation 300 for detecting sensor compression in continuous glucose monitoring. System 300 may include a glucose monitoring device 302, an insulin device 304, a processor 306, and a subject 308. In some embodiments, system 300 may include glucose monitoring device 302, processor 306, and subject 308, but not insulin device 304. For example, system 300 may include glucose monitoring device 302 (e.g., along with at least one sensor included in glucose monitoring device 302) in communication with at least one processor 306 to perform embodiments disclosed herein.
[0085] In some embodiments, the glucose monitoring device 302 and / or the insulin device 304 can be the same as or similar to the sensor 110. In some embodiments, the glucose monitoring device 302 and / or the insulin device 304 can include the sensor 110. For example, the glucose monitoring device 302 can include the sensor 110 as a component of the glucose monitoring device 302, or the insulin device 304 can include the sensor 110 as a component of the insulin device 304. In some embodiments, the glucose monitoring device 302, the insulin device 304, and / or the sensor 110 can be implemented in a single system. Alternatively, the processor 306 can be implemented in a computing device separate from the glucose monitoring device 302 and / or the insulin device 304.
[0086] In some embodiments, the glucose monitoring device 302 and / or the insulin device 304 can include the processor 306. For example, the glucose monitoring device 302 can include the processor 306 as a component of the glucose monitoring device 302, or the insulin device 304 can include the processor 306 as a component of the insulin device 304. In some embodiments, the glucose monitoring device 302, the insulin device 304, the processor 306, and / or the sensor 110 can be implemented in a single system. Alternatively, the processor 306 can be implemented in a computing device separate from the glucose monitoring device 302, the insulin device 304, and / or the sensor 110. The processor 306 can be implemented locally in the glucose monitoring device 302, the insulin device 304, or a standalone device (e.g., computing device 104) (or in any combination of two or more of the glucose monitoring device 302, the insulin device 302, or the standalone device). In some embodiments, the processor 306 can be the same as or similar to the processor 106.
[0087] The glucose monitoring device 302 may include a device that can be used (e.g., as a stand-alone device) to monitor and / or test the blood glucose level of the subject 308. The glucose monitoring device 302 may be attached to and / or attached to the subject 308 to monitor the blood glucose level. The glucose monitoring device 302 may communicate with the subject 308 (e.g., via a sensor, such as sensor 110) to monitor the blood glucose level of the subject 308. In this manner, the glucose monitoring device 302 may collect measurement data (e.g., BG measurement data) that it transmits to the processor 306 to detect whether the glucose monitoring device 302 and / or sensor 110 are being compressed by the subject 308. The processor 306 may execute software instructions (e.g., PISA detection system 102) as a component of the glucose monitoring device 302 or separate from the glucose monitoring device 302. For example, the processor 306 may be implemented locally in the glucose monitoring device 302. In some embodiments, the glucose monitoring device 302 and the insulin device 304 may be implemented as separate devices, or the glucose monitoring device 302 and the insulin device 304 may be implemented as a single device.
[0088] In some embodiments, the glucose monitoring device 302 may generate output, error, accuracy improvement parameters, and / or accuracy-related information that may be sent to the processor 306 or the like to perform various analyses, such as error analysis and / or further refinement of embodiments herein.
[0089] The insulin device 304 may include an insulin delivery system, such as an insulin pump. The insulin device 304 may be in communication with the subject 308 to deliver insulin to the subject 308. In some embodiments, the processor 306 may execute software instructions (e.g., the PISA detection system 102) as a component of the insulin device 304 or separate from the insulin device 304. For example, the processor 306 may be implemented locally on the insulin device 304. In some embodiments, the insulin device 304 may be attached and / or mounted to the subject 308 so that the insulin device 304 can deliver insulin to the subject 308. The processor 306 and / or portions of the system 300 may be located remotely such that the glucose monitoring device 302 and / or the insulin device 304 can operate as telemedicine devices.
[0090] The processor 306 can be implemented in hardware, software, or a combination of hardware and software. For example, the processor 306 can include a general processor (e.g., a CPU, a graphics processing unit (GPU), an accelerated processing unit (APU), etc.), a microprocessor, a digital signal processor (DSP), and / or any processing component that can be programmed with software instructions that, when executed, configure the processor to perform a function (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.). In some embodiments, the processor 306 can include multiple processors (e.g., a CPU and a GPU) implemented in a single computing device or multiple processors implemented across multiple distributed computing devices. The processor 306 can be coupled to memory via a data bus to transfer data between the processor 306 and the memory. In some embodiments, the processor 306 can be coupled to the sensor (e.g., sensor 110), glucose monitoring device 302, and / or insulin device 304 via wired means (e.g., data bus and / or Ethernet, etc.) or wireless means (e.g., Wi-Fi and / or Bluetooth, etc.) and / or communication interfaces.
[0091] The subject 308 may include a patient present at home or another desired location. In some embodiments, the subject may include a human or any animal. It is understood that the animal may be of various applicable types, including, but not limited to, a mammal, a veterinarian animal, a livestock animal, or a pet animal. By way of example, the animal may be a laboratory animal (e.g., a rat, a dog, a pig, a monkey) specifically selected to have certain characteristics similar to humans. It is understood that the subject may be, for example, any applicable human patient.
[0092] The number and arrangement of systems, hardware, and / or devices shown in FIG. 3 are provided as an example. Additional, fewer, different, or differently arranged systems, hardware, and / or modules may be present. Furthermore, two or more of the systems, hardware, and / or modules shown in FIG. 3 may be implemented within a single system, hardware, and / or module. A single system, hardware, and / or module shown in FIG. 3 may also be implemented as multiple, distributed systems, hardware, and / or modules. Additionally or alternatively, a set of systems, hardware, and / or devices (e.g., one or more systems, one or more hardware components, one or more devices) in FIG. 3 may perform one or more functions described as being performed by another set of systems, another set of hardware, or another set of devices in FIG. 3.
[0093] FIG. 4A illustrates an exemplary plot of sensor measurements (e.g., BG measurements collected by sensor 110) in continuous glucose monitoring, along with a visualization of the sensor measurements including PISA. For example, FIG. 4A illustrates an example of a compression artifact that may be present in the sensor measurements if the sensor is subjected to compression while collecting BG measurements. FIG. 4A illustrates a time series subsequence 402 that begins at the beginning of a fall time window and ends at the end of the rise in a first rise time window. Time series subsequence 402 may represent PISA. That is, the BG measurements in time series subsequence 402 were collected by a sensor (e.g., sensor 110) that was subjected to compression.
[0094] FIG. 4B illustrates an exemplary plot of sensor measurements (e.g., BG measurements collected by sensor 110) in continuous glucose monitoring, along with a visualization of the sensor measurements without PISA. For example, FIG. 4B does not show a combination of fall and rise time windows that would represent PISA (e.g., compression artifact) for the sensor under consideration. A processor (e.g., processor 106 and / or processor 306) receives the BG measurements (e.g., any of the time series subsequences) shown in FIG. 4B and does not generate a signal output indicating that at least one time series of BG measurements was obtained while the sensor (e.g., sensor 110) that collected the BG measurements shown in FIG. 4B was subjected to compression. For example, the BG measurements shown in FIG. 4B were collected by a sensor that was not subjected to compression.
[0095] FIG. 5 is a histogram illustrating an exemplary distribution of PISA durations for an exemplary training dataset collected from one or more sensors. The left side of FIG. 5 illustrates an exemplary distribution of PISA durations for multiple PISAs annotated in the training dataset. The right side of FIG. 5 illustrates the same distribution based on the time the PISAs were collected by the sensors. FIG. 5 shows that the training data may follow an exponential distribution where the lengths of the multiple PISAs are less than 60 minutes. In some embodiments, there may be slight differences in the distribution of PISA lengths based on the start time of the PISA. Based on FIG. 5, each of the PISA durations, PISA times, and PISA durations correlated to PISA times can be extracted from the BG measurement data as features for input into at least one machine learning model (e.g., for training, testing, and / or runtime).
[0096] FIG. 6A illustrates a plot (e.g., time series) of exemplary BG measurements over a period of time, including an exemplary candidate sequence including at least one time series of BG measurements. The at least one time series of BG measurements illustrated in FIG. 6A includes at least one time series subsequence. As illustrated in FIG. 6A, the at least one time series of BG measurements may include a time series of BG measurements collected by a sensor (e.g., sensor 110) over a period of time (e.g., 30 minutes). The dashed line with a circle marker illustrated in FIG. 6A may include a rolling average calculated for the at least one BG time series. The at least one time series of BG measurements may include at least one time series subsequence used to determine whether the at least one time series of BG measurements is a candidate sequence. The at least one time series of BG measurements may be of various lengths, including various numbers of BG measurements, and is not limited by the time series illustrated in FIG. 6A.
[0097] 6B shows a plot of an exemplary time series of BG measurements that includes multiple candidate sequences, each of which includes a time series subsequence. Figure 6B shows multiple time series subsequences of the time series of BG measurements, where each time series subsequence identified in Figure 6B is identified (e.g., by the PISA detection system 102) as a candidate sequence.
[0098] 7A shows an example plot of a time series of BG measurements that includes multiple PISAs and multiple drop time windows. For example, the time series subsequence identified in FIG. 7A as a PISA may be a candidate series of BG measurements that are subsequently determined to include a drop time window. In some embodiments, some of the candidate series in the time series of BG measurements may be identified as a PISA, while some of the candidate series in the time series of BG measurements may be determined to include a drop time window but not a PISA.
[0099] Figure 7B shows an exemplary plot of a time series of BG readings including multiple PISAs and multiple drop time windows as shown in Figure 7A. Figure 7B shows a portion of the time series of BG readings shown in Figure 7A.
[0100] Figure 8A shows an exemplary plot of a time series of BG measurements including multiple PISAs and multiple candidate sequences, each with a drop-off time window. For each candidate sequence in Figure 8A, the predicted probability that the candidate sequence contains a PISA onset is shown.
[0101] FIG. 8B illustrates an exemplary plot of a time series of BG measurements including PISA and multiple candidate sequences, each with a drop time window. Each candidate sequence in FIG. 8B is shown with a predicted probability of PISA onset. As shown in FIG. 8B, a first candidate sequence is shown identified as having a low probability of containing PISA. A second candidate sequence is shown identified as having a high probability of containing PISA. For example, the second candidate sequence is determined to be a time series subsequence of BG measurements collected by a sensor subjected to compression.
[0102] 9 illustrates an exemplary plot of the area under the receiver operating characteristics (ROC) curve and precision-recall curve for a classifier model that can be trained and / or used to classify a time series of BG measurements as including the onset of PISA to detect sensor compression. FIG. 9 illustrates how embodiments can generate at least one machine learning model that can effectively (e.g., in real time) classify and / or detect PISA in BG measurement data. The classifier model (e.g., machine learning model) can include a random forest classifier, an adaptive boosting model (e.g., AdaBoost), and / or another machine learning algorithm trained using one or more training datasets.
[0103] 10A illustrates an exemplary system configuration 1000A of an exemplary computing device (e.g., computing device 104). System configuration 1000A may include a processing unit 1006, a memory 1008, removable storage 1012, non-removable storage 1014, and a communication interface 1016. Processing unit 1006 may be the same as or similar to processor 106 and / or processor 306. Memory 1008 may be the same as or similar to memory 108. System configuration 1000A of a computing device (e.g., computing device 104) may include at least one processing unit 1006 and memory 1008. In some embodiments, memory 1008 may include volatile memory (e.g., random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), flash memory), and / or any combination thereof.
[0104] System configuration 1000A may also include other features and / or functionality. For example, system configuration 1000A may also include additional removable storage 1012 and / or non-removable storage 1014, including, but not limited to, writable electrical storage media, as well as magnetic or optical disks or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, and / or other data. Memory 1008, removable storage 1012, and non-removable storage 1014 are all examples of computer storage media. Computer storage media may include, but are not limited to, RAM, ROM, erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CDROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium usable to store desired information and accessible by a computing device (e.g., computing device 104). Any such computer storage media may be part of or in combination with a computing device (e.g., computing device 104).
[0105] The exemplary computing device system configuration 1000A may include one or more communication interfaces 1016 that enable a computing device (e.g., computing device 104) to communicate with other devices (e.g., other computing devices). The communication interface 1016 may transmit and / or carry information and / or signals over a communication medium. A communication medium may embodi computer-readable instructions, data structures, program modules, and / or other data in a modulated data signal such as a carrier wave or other transport mechanism and may include any information delivery medium. The term modulated data signal may mean a signal having one or more characteristics set or changed in such a manner as to encode, execute, and / or process information therein. By way of example, and not limitation, communication media may include wired media, such as a wired network or direct-wired connection, and wireless media, such as wireless, RF, infrared, and / or other wireless media. As discussed, the term computer-readable media, as used herein, may include both storage media and / or communication media.
[0106] The number and arrangement of systems, hardware, devices, and / or modules (e.g., software instructions) shown in FIG. 10A are provided as examples. Additional, fewer, different, or differently arranged systems, hardware, devices, and / or modules may be present. Furthermore, two or more of the systems, hardware, devices, and / or modules shown in FIG. 10A may be implemented within a single system, hardware, device, and / or module. A single system, hardware, device, and / or module shown in FIG. 10A may also be implemented as multiple, distributed systems, hardware, devices, and / or modules. Additionally or alternatively, a set of systems, hardware, devices, and / or modules (e.g., one or more systems, one or more hardware devices, one or more devices, one or more modules) in FIG. 10A may perform one or more functions described as being performed by another set of systems, another set of hardware, another set of devices, or another set of modules in FIG. 10A.
[0107] 10B illustrates an exemplary system environment 1000B in which the systems, methods, devices, and / or computer-readable media may be implemented. The system environment 1000B may include at least one server 1004 (e.g., a network server), at least one client device 1018, a mobile device 1020, and a communication network 1022. In some embodiments, the server 1004 may be the same as or similar to the computing device 104. The client device 1018 may be the same as or similar to the computing device 104.
[0108] FIG. 10B may include a network system including multiple computing devices (e.g., computing device 1004, server 1004, and / or client device 1018) in communication with a network means (e.g., communication network 1022), such as a network including an infrastructure or ad-hoc network. The network connections may be wired and / or wireless connections to the multiple computing devices. As an example, FIG. 10B illustrates a system environment including a network system in which embodiments may be implemented. In this example, the network system may include a server 1004 (e.g., a network server), a communication network 1022 (e.g., wired and / or wireless connections), a client device 1018, and a mobile device (e.g., a smartphone) 1020 (or other handheld or portable device, such as a mobile phone, laptop computer, tablet computer, GPS receiver, MP3 player, handheld video player, pocket projector, or a handheld device (or non-portable device) having a combination of such features). It should be understood that in some embodiments, the server 1004, the client device 1018, and / or the mobile device 1020 can include a glucose monitoring device (e.g., glucose monitoring device 302). It should be understood that in some embodiments, the server 1004, the client device 1018, and / or the mobile device 1020 can include a glucose monitoring device (e.g., glucose monitoring device 302), an artificial pancreas, and / or an insulin device (e.g., insulin device 304), or other intervention or diagnostic device. There can be more than one of any of the components shown or described in FIG. 10B. Some embodiments can be implemented on any one of the devices in FIG. 10B. For example, execution of instructions or other desired processing can occur on the same computing device, which can be any one of the server 1004, the client device 1018, and / or the mobile device 1020. Alternatively, some embodiments can be implemented and / or executed on different computing devices in the network system shown in FIG. 10B.For example, some desired or necessary processing or execution may occur on one of the computing devices of the network (e.g., server 1004, client device 1018, mobile device 1020, and / or glucose monitoring device), while other processing and execution may occur on another computing device of the network system (e.g., server 1004, client device 1018, and / or mobile device 1020), or vice versa. In some embodiments, some processing and / or execution may occur on one computing device (e.g., server 1004, client device 1018, mobile device 1020, and / or insulin device, artificial pancreas, or glucose monitoring device (or other intervention or diagnostic device)), while other processing and / or execution (e.g., software instructions and / or PISA detection system 102) may occur on a different computing device that may or may not be part of the network system. For example, some processes may be performed on the client device 1018, while other processes and / or instructions may be passed to the server 1004 and / or the mobile device 1020, where portions of the software instructions (e.g., the PISA detection system 102) are executed. This scenario may be appropriate, for example, when the mobile device 1020 accesses the communications network 1022 through the client device 1018 (or an access point in an ad-hoc network). As another example, one or more embodiments may be used to execute, encode, and / or process the software instructions to be protected. The processed, encoded, and / or executed software may then be distributed to one or more customers (e.g., customer and / or subject client devices 1018, mobile devices 1020, and / or glucose monitoring devices 302). Distribution of the software instructions (e.g., software modules and / or software packages) may be in the form of a storage medium (e.g., disk) or an electronic copy.
[0109] The number and arrangement of systems, hardware, devices, and / or modules (e.g., software instructions) shown in FIG. 10B are provided as an example. Additional, fewer, different, or differently arranged systems, hardware, devices, and / or modules may be present. Furthermore, two or more of the systems, hardware, devices, and / or modules shown in FIG. 10B may be implemented within a single system, hardware, device, and / or module. A single system, hardware, device, and / or module shown in FIG. 10B may also be implemented as multiple, distributed systems, hardware, devices, and / or modules. Additionally or alternatively, a set of systems, hardware, devices, and / or modules (e.g., one or more systems, one or more hardware devices, one or more devices, one or more modules) in FIG. 10B may perform one or more functions described as being performed by another set of systems, another set of hardware, another set of devices, or another set of modules in FIG. 10A.
[0110] FIG. 11 is a block diagram illustrating a system 1100 including a computer system 140 and associated Internet 11 connection in which embodiments can be implemented. Typically, such a configuration is used for a computer (host) connected to the Internet 11 and running server or client (or a combination thereof) software. The computer system configuration and Internet connection shown in FIG. 11 can be used by a source computer, such as a laptop, a final destination computer, and an intermediary server, as well as any computer or processor described herein. In some embodiments, the computer system 140 can be the same as or similar to the computing device 104. The system 1100 can be used as a portable electronic device, such as a notebook / laptop computer, a media player (e.g., MP3-based or video player), a mobile phone, a personal digital assistant (PDA), a glucose monitor, an artificial pancreas, an insulin delivery device (or other interventional or diagnostic device), an imaging device (e.g., a digital camera or video recorder), and / or any other handheld computing device, or any combination of these devices. It should be noted that while Figure 11 illustrates various components of a computer system, the particular architecture or manner in which the components are interconnected is not intended to be detailed, as such details are not germane to this disclosure. It should also be understood that network computers, handheld computers, mobile phones, and other data processing systems having fewer or more components may also be used. The computer system of Figure 11 may be, for example, an Apple Macintosh computer or Power Book, or an IBM-compatible PC. Computer system 140 includes a bus 137, interconnect, or other communication mechanism for communicating information, and a processor 138, typically in the form of an integrated circuit, coupled to bus 137 for processing information and executing computer-executable instructions.Computer system 140 also includes main memory 134, such as RAM or other dynamic storage device, coupled to bus 137 for storing information and instructions executed by processor 138. In some embodiments, processor 138 can be the same as or similar to processor 106 and / or processor 306.
[0111] Main memory 134 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor 138. Computer system 140 further includes read-only memory (ROM) 136 (or other non-volatile memory) or other static storage device coupled to bus 137 for storing static information and instructions for processor 138. Also coupled to bus 137 are storage devices 135, such as magnetic or optical disks, hard disk drives that read from and write to hard disks, magnetic disk drives that read from and write to magnetic disks, and / or optical disk drives (such as DVDs) that read from and write to removable optical disks, for storing information and instructions. Hard disk drives, magnetic disk drives, and optical disk drives may be connected to the system bus by hard disk drive interfaces, magnetic disk drive interfaces, and optical disk drive interfaces, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the general-purpose computing device. Typically, computer system 140 includes an operating system (OS), stored in non-volatile storage, for managing computer resources and providing applications and programs with access to computer resources and interfaces. Generally, an operating system handles system data and user input and responds by allocating and managing tasks and internal system resources, such as controlling and allocating memory, prioritizing system requests, controlling input / output devices, facilitating networking, and managing files. Non-limiting examples of operating systems are Microsoft Windows, Mac OS X, and Linux.
[0112] The term processor is intended to include an integrated circuit or other electronic device (or group of devices) capable of performing operations based on at least one instruction, including, but not limited to, reduced instruction set core (RISC) processors, CISC microprocessors, microcontroller units (MCUs), CISC-based central processing units (CPUs), and digital signal processors (DSPs). The hardware of such devices may be integrated on a single substrate (e.g., a silicon "die") or distributed across two or more substrates. Furthermore, various functional aspects of a processor may be implemented solely as software or firmware associated with the processor.
[0113] The computer system 140 may be coupled via bus 137 to a display 131, such as a cathode ray tube (CRT), liquid crystal display (LCD), flat screen monitor, touch screen monitor, or similar means for displaying text and graphical data to a user. The display may be connected via a video adapter that supports the display. The display may allow a user to view, input, and / or edit information related to the operation of the system. Coupled to bus 137 are input devices 132, including alphanumeric and other keys, that communicate information and command selections to the processor 138. Another type of user input device includes a cursor control 133, such as a mouse, trackball, or cursor direction keys, that communicates directional information and command selections to the processor 138 to control cursor movement on the display 131. Typically, the input device has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that can specify a position in a plane.
[0114] Computer system 140 can be used to implement the methods and techniques described herein. According to one embodiment, these methods and techniques are performed by computer system 140 in response to processor 138 executing one or more sequences of one or more instructions contained in main memory 134. Such instructions may be read into main memory 134 from another computer-readable medium, such as storage device 135. Processor 138 executes the sequences of instructions contained in main memory 134 to perform the process steps described herein. In alternative embodiments, arrangements may be implemented using hardwired circuitry in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0115] The term computer-readable medium (or machine-readable medium), as used herein, is an extensible term meaning any medium or any memory that participates in providing instructions to a processor (such as processor 138) for execution, or any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). Such media can store computer-executable instructions executed by processing elements and / or control logic, as well as data operated on by processing elements and / or control logic, and can take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 137. Transmission media can also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications, or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). For example, common forms of computer-readable media include floppy disks, flexible disks, hard disks, magnetic tape or other magnetic media, CD-ROMs, other optical media, punch cards, paper tape, any other physical media with a pattern of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described below, or any other medium from which a computer can read.
[0116] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to processor 138 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 140 may receive the data on the telephone line and convert the data to an infrared signal using an infrared transmitter. An infrared detector receives the data carried in the infrared signal and appropriate circuitry may place the data on bus 137. Bus 137 carries the data to main memory 134, from which processor 138 retrieves and executes the instructions. The instructions received by main memory 134 may optionally be stored on storage device 135 either before or after execution by processor 138.
[0117] Computer system 140 also includes a communication interface 141 coupled to bus 137. Communication interface 141 provides a two-way data communication coupling to a network link 139 that is connected to local network 111. For example, communication interface 141 may be an Integrated Services Digital Network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another non-limiting example, communication interface 141 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. For example, Ethernet-based connections based on the IEEE 802.3 standard such as 10 / 100BaseT, 1000BaseT (Gigabit Ethernet), 10 Gigabit Ethernet (10GE or 10GbE or 10GigE according to IEEE Std 802.3ae-2002 as standard), 40 Gigabit Ethernet (40GbE), or 100 Gigabit Ethernet (100GbE according to Ethernet standard IEEE P802.3ba) can be used, as described in Cisco Systems, Publication No. 1-587005-001-3 (6 / 99), "Internetworking Technologies Handbook," Chapter 7: "Ethernet Technologies," pages 7-1 to 7-38. In such cases, communications interface 141 typically includes a LAN transceiver or modem, such as the Standard Microsystems (SMSC) LAN91C111 10 / 100 Ethernet transceiver described in Standard Microsystems Data Sheet "LAN91C111 10 / 100 Non-PCI Ethernet Single Chip MAC+PHY" Data Sheet, Revision 15 (02-20-04), which is incorporated herein for all purposes as if fully set forth in its entirety.
[0118] A wireless link may also be implemented. In any such implementation, communication interface 141 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0119] Network link 139 typically provides data communication through one or more networks to other data devices. For example, network link 139 may provide a connection to a host computer through local network 111 or to data equipment operated by an Internet Service Provider (ISP) 142. ISP 142, in turn, provides data communication services through the Internet 11, a global packet data communication network. Local network 111 and the Internet 11 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and through communication interface 141 on network link 139, which carry the digital data to and from computer system 140, are exemplary forms of carrier waves transporting the information.
[0120] The received code may be executed by processor 138 as it is received by processor 138, and / or stored in memory device 135, or other non-volatile storage for later execution. In this manner, computer system 140 may obtain application code in the form of a carrier wave.
[0121] Embodiments of the present disclosure include concepts of a) detecting CGM sensor PISA, b) improving the accuracy of sensing by detecting compression artifacts inherent in CGM sensors or devices such as medical and pharmaceutical devices, and / or c) improving the operation of continuous subcutaneous insulin infusion therapy and related systems such as sensor-augmented pumps (SAP), low glucose suspend (LGS), predictive low glucose suspend (PLGS), or automated insulin delivery (AID), also known as artificial pancreas. As illustrated by the embodiments described herein, the embodiments are applicable to a) devices that provide signal and / or multi-signal detection of CGM sensors PISA, b) devices that improve the accuracy of sensing by detecting compression artifacts inherent in CGM sensors or devices such as medical and pharmaceutical devices, and / or c) devices that improve the operation of continuous subcutaneous insulin infusion therapy and related systems such as sensor-augmented pumps (SAP), low glucose suspend (LGS), predictive low glucose suspend (PLGS), or automated insulin delivery (AID), also known as artificial pancreas, and can be implemented and utilized in conjunction with related processors, networks, computer systems, the Internet, and components and functionality according to the embodiments disclosed herein.
[0122] FIG. 12 illustrates an exemplary system and / or network in which embodiments can be implemented. In some embodiments, a subject (or patient) can locally implement a glucose monitor (e.g., glucose monitoring device 302), artificial pancreas, or insulin device (e.g., insulin device 304) (or other interventional or diagnostic device) at home or other desired location. However, in other embodiments, the glucose monitor can also be implemented in a clinic or assisted environment. For example, referring to FIG. 12 , a clinic environment 158 provides a location for a physician (e.g., 164) or clinician / assistant to diagnose a patient (e.g., 159) with glucose-related disorders and related diseases and conditions. A glucose monitoring device 10 can be used as a standalone device to monitor and / or test a patient's glucose level. In some embodiments, the glucose monitoring device 10 can be the same as or similar to glucose monitoring device 302. The systems or components of FIG. 12 (e.g., glucose monitoring device 10) can be attached to or in communication with the patient as desired or needed. For example, a system or combination of its components including glucose monitoring device 10 (or a controller, and / or other associated devices or systems, such as an artificial pancreas, an insulin pump (or other interventional or diagnostic device), or any other desired or necessary device or component) can contact, communicate with, or be attached to the patient via tape or tubing (or other medical implement or component), or can communicate through a wired or wireless connection. Such monitoring and / or testing can be short-term (e.g., a clinical visit) or long-term (e.g., a clinical stay or family). A physician (clinician or assistant) can use the glucose monitoring device output for appropriate action, such as insulin injection or food feeding for the patient, or other appropriate action or modeling. Alternatively, the glucose monitoring device output can be delivered to a computer terminal 168 for immediate or future analysis.Delivery can be via cable, wireless, or any other suitable medium. The glucose monitor output from the patient can also be delivered to a portable device, such as a mobile device 166. Accurate glucose monitor output can also be delivered to a glucose monitoring center 172 for processing and / or analysis. Such delivery can be achieved in many ways, such as via a network connection 170, which can be wired or wireless.
[0123] In addition to the glucose monitoring device output, errors, parameters for accuracy improvement, and any accuracy-related information may also be distributed to computer 168 and / or glucose monitoring center 172, etc., to perform error analysis. This may result in centralized accuracy monitoring, modeling, and / or accuracy enhancement of the glucose center (or other intervention or diagnostic center) due to the importance of the glucose sensor (or other intervention or diagnostic sensor or device).
[0124] 13 is a block diagram illustrating an example machine 1300 capable of implementing one or more aspects of the embodiments. The machine 1300 may include, but is not limited to, systems, methods, and computer-readable media that provide a) multi-signal detection of a CGM sensor PISA, b) improved accuracy of sensing by detecting compression artifacts inherent in CGM sensors or devices such as medical devices and drug devices, and / or c) improved operation of continuous subcutaneous insulin infusion therapy and related systems such as sensor-augmented pumps (SAPs), low glucose suspends (LGSs), predictive low glucose suspends (PLGSs), or automated insulin delivery (AIDs), also known as "artificial pancreas," which illustrate a block diagram of an example machine 1300 capable of implementing (e.g., executing) one or more aspects of the embodiments (e.g., the described methodologies).
[0125] An example of machine 1300 may include logic, one or more components, circuits (e.g., modules), or mechanisms. Circuits are tangible entities configured to perform specific operations. In some examples, circuits may be arranged in a specified manner (e.g., internally or relative to external entities such as other circuits). In some examples, software (e.g., instructions, application portions, or applications) may configure one or more computer systems (e.g., standalone, client, or server computer systems) or one or more hardware processors (processors) as circuitry that operates to perform specific operations as described herein. In some examples, software may reside (1) on a non-transitory machine-readable medium or (2) within a transmission signal. In some examples, software, when executed by hardware underlying the circuitry, causes the circuitry to perform specific operations.
[0126] In some examples, a circuit may be implemented mechanically or electronically. For example, a circuit may include dedicated circuitry or logic specifically configured to perform one or more of the techniques described above, including a dedicated processor, a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some examples, a circuit may include programmable logic (e.g., circuitry contained within a general-purpose processor or other programmable processor) that can be temporarily configured (e.g., by software) to perform particular operations. It will be appreciated that whether a circuit is implemented mechanically (e.g., in dedicated, permanently configured circuitry) or in temporarily configured circuitry (e.g., configured by software) may be determined by cost and time considerations.
[0127] Thus, the term circuit can refer to a tangible entity that is physically configured and permanently configured (e.g., hardwired) or temporarily (e.g., transiently) configured (e.g., programmed) to operate in a specified manner or to perform specified operations. In some instances, given multiple temporarily configured circuits, it is not necessary for each circuit to be configured or instantiated at any one instance in time. For example, if a circuit can include a general-purpose processor configured via software, the general-purpose processor can be configured as different circuits at different times. Thus, the software can configure the processor to configure a particular circuit at one instance in time and a different circuit at a different instance in time, for example.
[0128] In some examples, circuits can provide information to and receive information from other circuits. In these examples, circuits can be considered to be communicatively coupled to one or more other circuits. When multiple such circuits exist simultaneously, communication can be achieved through signal transmissions connecting the circuits (e.g., via appropriate circuits and buses). In embodiments in which multiple circuits are configured or instantiated at different times, communication between such circuits can be achieved, for example, through the storage and retrieval of information in a memory structure accessible to the multiple circuits. For example, one circuit can perform an operation and store the output of this operation in a communicatively coupled memory device. Further, another circuit can subsequently access the memory device and retrieve and process the stored output. In some examples, circuits can be configured to initiate or receive communication with input or output devices and can operate on resources (e.g., collections of information).
[0129] Various operations of example methods described herein may be performed at least in part by one or more processors that are temporarily or permanently configured (e.g., by software) to perform the associated operations. Such processors, whether temporarily or permanently configured, may include processor-implemented circuitry that operates to perform one or more operations or functions. In some examples, circuitry referred to herein may include processor-implemented circuitry.
[0130] Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of the methods may be performed by one or more processors or processor-implemented circuitry. Performance of certain operations may be distributed among one or more processors that reside within a single machine as well as deployed across multiple machines. In some examples, one or more processors may be located in a single location (e.g., in a home environment, in an office environment, or as a server farm), while in other examples, the processors may be distributed across multiple locations.
[0131] The one or more processors may also operate to support execution of the associated operations in a cloud computing environment or as Software as a Service (SaaS). For example, a cluster of computers (as examples of machines that include the processors) may perform at least some of the operations, which are accessible via a network (e.g., the Internet) and one or more appropriate interfaces (e.g., application program interfaces (APIs)).
[0132] Example embodiments (e.g., devices, systems, or methods) can be implemented in digital electronic circuitry, computer hardware, firmware, software, or any combination of these. Example embodiments can be implemented using a computer program product (e.g., a computer program tangibly embodied in an information carrier or machine-readable medium for execution by, or control of the operation of, a data processing apparatus such as a programmable processor, a computer, or multiple computers).
[0133] A computer program can be written in any type of programming language, including compiled or interpreted languages, and can be deployed in any form, including in the form of a stand-alone program or in the form of a software module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer, or on multiple computers at one site, or distributed across multiple sites and interconnected by a communications network.
[0134] In some examples, operations may be performed by one or more programmable processors executing computer programs that perform functions by operating on input data to generate output. Example method operations may also be performed by, and example apparatus may be implemented as, special purpose logic circuitry (e.g., a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC)).
[0135] The computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. It will be understood that embodiments deploying a programmable computing system need to consider both hardware and software architectures. In particular, it will be understood that the selection of whether to implement a particular function in permanently configured hardware (e.g., ASICs), temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware can be a design choice. The following describes hardware (e.g., machine 1300) and software architectures that may be deployed in example embodiments.
[0136] In some examples, machine 1300 may operate as a stand-alone device, or machine 1300 may be connected (eg, networked) to other machines.
[0137] In a network deployment, machine 1300 can operate in the capacity of either a server or a client machine in a server-client network environment. In some examples, machine 1300 can act as a peer machine in a peer-to-peer (or other distributed) network environment. Machine 1300 can be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a network router, switch, or bridge, or any machine capable of executing instructions (series or otherwise) that specify actions to be taken (e.g., performed) by machine 1300. Furthermore, although only a single machine 1300 is shown, the term machine can also include any group of machines, individually or collectively, that execute an instruction set (or multiple instruction sets) to perform any one or more of the methodologies described herein.
[0138] The example machine (e.g., computer system) 1300 can include a processor 1302 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 1304, and a static memory 1306, some or all of which can communicate with each other via a bus 1308. The machine 1300 can further include a display unit 1310, an alphanumeric input device 1312 (e.g., a keyboard), and a user interface (UI) navigation device 1311 (e.g., a mouse). In some examples, the display screen 1310, the input device 1312, and the UI navigation device 1314 can be touch screen displays. The machine 1300 can also include a memory device (e.g., a drive unit) 1316, a signal generating device 1318 (e.g., a speaker), a network interface device 1320, and one or more sensors 1321, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. In some embodiments, sensor 1321 can be the same as or similar to sensor 110 .
[0139] Storage device 1316 may include machine-readable medium 1322 that stores one or more sets of data structures or instructions 1324 (e.g., software) that embody or are utilized by any one or more of the methodologies or functions described herein. The instructions 1324 may reside, completely or at least partially, within main memory 1304, static memory 1306, or within processor 1302 during execution of the instructions by machine 1300. In an example, one or any combination of processor 1302, main memory 1304, static memory 1306, or storage device 1316 may constitute a machine-readable medium.
[0140] While machine-readable medium 1322 is depicted as a single medium, the term machine-readable medium can include a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) configured to store one or more instructions 1324. The term machine-readable medium can include any tangible medium that can store, encode, or carry instructions that are executed by a machine to cause the machine to perform any one or more of the methodologies of the present disclosure, or that can store, encode, or carry data structures used by or associated with such instructions. The term machine-readable medium can include, but is not limited to, solid-state memory, and optical and magnetic media. Specific examples of machine-readable media include, by way of example only, non-volatile memory, including semiconductor memory devices (e.g., electronically programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM)) and flash memory devices, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0141] The instructions 1324 may be further transmitted or received over a communications network 1326 using a transmission medium via the network interface device 1320, utilizing any one of a number of transport protocols (e.g., Frame Relay, IP, TCP, UDP, HTTP, etc.). Example communications networks may include local area networks (LANs), wide area networks (WANs), packet data networks (e.g., the Internet), mobile phone networks (e.g., cellular networks), voice (Plain Old Telephone (POTS)) networks, wireless data networks (e.g., the IEEE 802.11 family of standards known as Wi-Fi®, the IEEE 802.16 family of standards known as WiMax®), peer-to-peer (P2P) networks, etc. The term transmission medium includes any intangible medium capable of storing, encoding, or carrying machine-executable instructions, as well as digital or analog communications signals or other intangible media that facilitate the communication of such software.
[0142] Any processor disclosed herein can be part of or in communication with a machine (e.g., a computing device, logic device, circuit, operational module (hardware, software, and / or firmware), etc.). A processor can be hardware (e.g., a processor, integrated circuit, central processing unit, microprocessor, core processor, computing device, etc.), firmware, software, etc. configured to perform operations by execution of instructions embodied in computer program code, algorithms, program logic, control, logic, data processing program logic, artificial intelligence programming, machine learning programming, artificial neural network programming, automated reasoning programming, etc. A processor can receive, process, and / or store data.
[0143] Any processor disclosed herein may be a scalable processor, a parallelizable processor, a multithreaded processor, or the like. A processor may be a computer whose processing power is selected as a function of expected network traffic (e.g., data flow). A processor may include an integrated circuit or other electronic device (or group of devices) capable of performing operations based on at least one instruction, which may include a reduced instruction set core (RISC) processor, a complex instruction set computer (CISC) microprocessor, a microcontroller unit (MCU), a CISC-based central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), a field programmable gate array (FPGA), or the like. The hardware of such a device may be integrated on a single substrate (e.g., a silicon "die") or distributed across two or more substrates. Various functional aspects of a processor may be implemented solely as software or firmware associated with the processor.
[0144] The processor may include one or more processing or operating modules. The processing or operating modules may be software or firmware operating modules configured to implement any of the functions disclosed herein. The processing or operating modules may be embodied as software and stored in memory operatively associated with the processor. The processing modules may be embodied as web applications, desktop applications, console applications, etc.
[0145] The processor may include or be associated with a computer or machine-readable medium. The computer or machine-readable medium may include a memory. Any memory described herein may be a computer-readable memory configured to store data. The memory may include volatile or non-volatile memory, temporary or non-transitory memory, and may be embodied as in-memory, active memory, cloud memory, etc. Examples of memory may include flash memory, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), FLASH-EPROM, compact disc (CD)-ROM, digital optical disc (DVD), optical storage, optical media, carrier waves, magnetic cassettes, magnetic tapes, magnetic disk storage, other magnetic storage devices, or any other medium usable to store desired information and accessible by a processor.
[0146] The memory can be a non-transitory computer-readable medium. As used herein, the term computer-readable medium (or machine-readable medium) is an expansive term meaning any medium or any memory involved in providing instructions to a processor for execution, or any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). Such media can store computer-executable instructions executed by processing elements and / or control logic, as well as data operated on by processing elements and / or control logic, and can take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. The computer or machine-readable medium can be configured to store one or more instructions or computer programs. The instructions or computer programs can be in the form of an algorithm, program logic, etc., that causes a processor to perform any of the functions disclosed herein.
[0147] Embodiments of the memory may include processor modules and other circuitry that enable transfer of data to and from the memory, which may include transfer to and from other components of the communication system. This transfer may occur via wired or wireless transmission. The communication system may include transceivers that may be used in combination with switches, receivers, transmitters, routers, gateways, waveguides, etc. to facilitate communication via a communication approach or protocol for controlled, coordinated signal transmission and processing to any other component or combination of components of the communication system. The transmission may occur via a communication link. The communication link may be electronic-based, optical-based, optoelectronic-based, quantum-based, etc. The communication may occur via Bluetooth, near field communication, cellular communication, telemetry communication, internet communication, etc.
[0148] Data and signals may be transmitted over a transmission medium which may include coaxial cables, copper wire, fiber optics, etc. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications, or other forms of propagated signals (e.g., carrier waves, digital signals, etc.).
[0149] Any processor may communicate with other processors of other devices (e.g., computing devices, computer systems, laptop computers, desktop computers, etc.). For example, a processor of the system configuration 100 may communicate with a processor of another computing device 104, which in turn may communicate with a processor of a display, sensor 110, etc. Any processor may include a transceiver or other communications device / circuitry to facilitate the transmission and reception of wireless signals. Any processor may include an application programming interface (API) as a software intermediary that allows two or more applications to communicate with each other. The use of an API may allow software on one processor to communicate with software on another processor on another device(s).
[0150] Any data or communication transfer between two components can be a push and / or pull operation. For example, data transfers such as between processor 106 and memory 108 or between processor 106 and sensor 110 can be a push operation (e.g., data can be pushed from memory) and / or a pull operation (e.g., the processor can pull data from memory), data transfers between another system and computing device 104 can be a push and / or pull operation, as can other data transfers.
[0151] As the components receive data, they can process it in real time, store it in memory for later processing, or a combination of both. After processing the data, the components can use the processed data in real time, store it in memory for later use, or a combination of both. The pre-processed data and / or the processed data can be encoded, tagged, or labeled before, during, or after storage in memory.
[0152] As described herein, the system configuration 100 may include a memory 108 containing a computer program (e.g., software instructions for the PISA detection system 102) that, when executed, causes the processor 106 to perform any of the functions / operations disclosed herein.
[0153] The computer program can cause the processor to execute one or more machine learning models (e.g., a linear regression model, a tree-based model, a perceptron-based model, a Gaussian-based model, etc.) It is envisioned that at least one of the machine learning models is a random forest or an AdaBoost machine learning model. [Example]
[0154] Exemplary methods and systems developed are described below along with test results of the exemplary methods and systems.
[0155] Aspects of embodiments of the disclosed methods, systems, and computer-readable media provide, among other things, the ability to detect CGM sensor compression drops in real time, thus preventing the effects of low compression values that adversely affect diabetes treatment, such as false hypoglycemia alarms or insulin blockage by the insulin delivery system. In aspects of the embodiments, the insulin delivery system can be (i) sensor-augmented pump (SAP) therapy, (ii) a low glucose suspend (LGS) system or a predictive low glucose suspend system (PLGS), or (iii) an automated insulin delivery (AID), also known as an "artificial pancreas."
[0156] Aspects of embodiments of the disclosed methods, systems, and computer-readable media include, among other things, two algorithms that cooperate to fully identify PISA in a predictive manner. The first algorithm is a prospective single-sensor algorithm used to detect the onset of PISA. The second algorithm is a retrospective single-sensor algorithm used to detect the end of PISA. These algorithms learn from the input data using machine learning techniques, and in this embodiment, random forests and AdaBoost models are used. In another embodiment, the machine learning algorithm can be, but is not limited to, gradient boosted trees, neural networks, support vector machines, etc., or any combination thereof.
[0157] In some embodiments, the methods, systems, and computer-readable media internally use one or more signals available with the CGM sensor, including, but not limited to, raw blood glucose estimates (before calibration and temperature correction), filtered blood glucose, temperature, time of day, sensor lifetime, and / or any combination thereof. These signals are fed into machine learning methods and / or models, if available. Externally, the methods can utilize additional information from other PISA detection techniques, considerations regarding glycemic events such as hypoglycemia, or data from anticipated future sensors, such as a pressure sensor, added to the CGM sensor. In some embodiments, external updating of the methods, systems, and computer-readable media with additional information / signals occurs via an iterative Bayesian update procedure.
[0158] In one embodiment, to develop the method, system, and computer-readable medium, the algorithm in one embodiment was trained on CGM data traces from 67 individuals containing 58,403 hours of sensor data and 1,089 PISA events, and tested on an independent test dataset containing data from 44 individuals, 36,206 hours of CGM data, and 534 PISA events.
[0159] Data Overview An exemplary dataset included 407 files generated by 113 subjects. An embodiment can include two subjects with only one sensor and 111 subjects with usable data: simultaneous CGM data from two or more sensors. Embodiments can include 78 subjects with four sensors, 27 subjects with three sensors, and 6 subjects with two sensors. Data can include less than 1% sensors warming up, 93.6% reporting glucose to the user, less than 1% transient sensor signal issues, and 5.5% sensor failures.
[0160] Each subject can have two different data sets: the data in the "Display" table can be sampled every 5 minutes, and the data in the "Intermediate" table can be sampled every 30 seconds. The data in the "Display" table can contain a subset of the data in the "Intermediate" table, so data from the "Intermediate" table can be used in this work.
[0161] The data from the "intermediate" table can be arranged so that all sensor data from all subjects is placed into a single CSV file with 12,039,945 rows and 19 columns. For a given subject, two or more sensors have different start times, and therefore BG values are recorded with different timestamps. To compare BG values across multiple sensors, the Python pandas resample function can be used to resample the data into 30-second time buckets starting at midnight each day. Based on this resampling scheme, the timestamp of the BG value recorded during the 30-second time bucket is set to the start of the time bucket. For example, a BG value with a timestamp of 11:37:23 will have a timestamp of 11:37:00 after resampling. In this way, BG values at any timestamp can be directly compared across sensors.
[0162] For model building purposes, the dataset can be split into a training dataset and a test dataset. The data is split by subject, with all sensor data from a subject placed in either the training dataset or the test dataset. In one embodiment, the training dataset can include 67 subjects (60.4%) and the test dataset can include 44 subjects (39.6%).
[0163] The training dataset can be used to train and cross-validate the model (such as by setting model hyperparameters), and the test dataset can be used to test the model after it has been finalized and fixed.
[0164] An algorithm can be used to generate the visualizations, with each visualization containing enough information for an individual to (subjectively) determine whether the highlighted time series subsequence contains a PISA. The algorithm can examine the BG time series to identify potential PISA onsets and all subsequent potential PISA terminations. In some cases, the potential PISA onset and the last potential PISA termination can define a time series subsequence. The algorithm can use this time series subsequence information to generate a visualization that highlights the sensor trace under consideration and shows potential PISA onsets and all potential PISA terminations. In some embodiments, a time series subsequence starting from the start of the fall time window and ending at the rise termination of the first rise time window can be a PISA.
[0165] Using manual review of the 8,002 visualizations generated using BG time series from all sensors for 111 subjects, PISAs where the minimum BG value was less than 85 mg / dL (e.g., low PISAs (hypo-PISAs) or near-hypo-PISAs) can be annotated to each time series. This review resulted in 1,623 low or near-hypo-PISAs from 94,609.5 hours of sensor data. Of the 1,623 annotations, approximately 1,089 can be present in the training dataset (67 subjects) from 59,122 hours of sensor data. The analysis can consider only these 1,089 PISA annotations in the training dataset.
[0166] If daytime is defined as the 16-hour period from 7:00 AM to 11:00 PM and nighttime is defined as the 8-hour period from 11:00 PM to 7:00 AM, then 613 of the 1,089 PISA cases occurred during the daytime and 476 cases started during the nighttime.
[0167] Furthermore, of the 1,089 PISAs, 591 occurred with abdominal sensors and 498 occurred with arm-worn sensors. Of the 591 PISAs with abdominal sensors, 381 started during the day and 210 started at night, and of the 498 PISAs with arm-worn sensors, 232 started during the day and 266 started at night.
[0168] The distribution of PISAs appears to follow an exponential distribution, with the majority of PISAs being less than 60 minutes in length. The top three rows of Table 1 provide descriptive statistics for these distributions. There are slight differences in the distribution of PISA lengths depending on when PISA began. [Table 1]
[0169] These data seem to indicate that there are time periods during which PISA is more likely to begin. This becomes even more pronounced when sensor placement (e.g., arm or abdomen) is considered. For example, PISA appears more likely to occur during the first 12 hours of the sensor's lifespan. Many of these observations can be used to generate features (e.g., time of day, onset BG value, onset temperature, etc.) as input for machine learning models using the proposed distributions.
[0170] In one embodiment, an algorithm for identifying PISA onset outputs the probability that a 2.5 minute time interval corresponds to the onset of PISA. In this embodiment, the output of this algorithm is a time series of probability values (one every 2.5 minutes) that are the probability that the 2.5 minute time interval is part of the onset of PISA. In other embodiments, the time intervals can be different lengths (e.g., 30 seconds, 1 minute, 5 minutes) depending on the sampling resolution of the sensor.
[0171] In one embodiment, an algorithm takes a CGM time series and constructs a time series subsequence every 2.5 minutes with a start timestamp equal to 31 minutes before the most recent timestamp and an end timestamp equal to the current timestamp (e.g., the most recent available blood glucose value). In other embodiments, the start timestamp can be different. The algorithm then calculates a rolling average with a lag of approximately 1.5 minutes for the initial time series subsequence, resulting in a 30-minute time series subsequence. This lag depends on the sampling resolution of the sensor and can be different in other embodiments. In one embodiment, the resulting time series subsequence is used to generate a 25-minute time series subsequence of indicator (e.g., true / false) values indicating whether the difference in BG value between each timestamp and the timestamp 5 minutes prior is above a predetermined threshold.
[0172] A time series subsequence is a candidate for evaluation if the set of true timestamps is such that (1) the index value at the most recent timestamp is true and the set of true consecutive index values (including the index value at the most recent timestamp) spans at least 2.5 minutes, or (2) the index value at the most recent timestamp is true and the change in BG value is greater than 7.5 mg / dL (in this embodiment). In other embodiments, different pre-specified thresholds can be used. If a time series subsequence is not a candidate for evaluation, the 2.5-minute time interval is assigned a probability of 0 (e.g., a probability of 0 for PISA onset). If a time series subsequence is a candidate for evaluation, the 2.5-minute time interval is assigned a probability value from the classifier used to classify the time series subsequence.
[0173] If a time series subsequence is a candidate for evaluation (e.g., there is reason to believe it indicates the onset of PISA), a classifier is used to provide a probability of PISA onset for the time interval, which in one embodiment is 2.5 minutes. In one embodiment, for a given time series subsequence, all time series signals recorded by the CGM sensor (blood glucose levels, raw [e.g., uncorrected] blood glucose levels, and body temperature) are used to generate a set of features, which are used as input to a machine learning model. Features that can be generated for each time series subsequence that is a candidate for further evaluation are outlined below. In other embodiments, any subset of the described features can be generated and used as input to the model.
[0174] Features Start time SL_Start_Time_Idx: An index indicating the sensor life interval that the PISA start time falls into, in one embodiment {0:(2,7.5),1:(7.5,11),2:(0,2)}.
[0175] SL_Start_Time_Prob: Probability of PISA start taken from the distribution of sensor life start times.
[0176] ToD_Start_Time_Idx: An index indicating the time slot that the PISA start time falls into, in one embodiment the time slots are {0:(19,24), 1:(6,19), 2:(0,6)}.
[0177] ToD_Start_Time_Prob: Probability of PISA start taken from the distribution of time of day start times.
[0178] blood sugar BG_Start: BG value at the start of descent.
[0179] BG_End: BG value at the end of the time series subsequence.
[0180] BG_Drop_Delta: The difference in BG values at the start of the descent and at the end of the time series subsequence.
[0181] BG_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the BG values recorded between the start of the drop and the end of the time series subsequence.
[0182] BG_Drop_SD: Standard deviation of BG values recorded between the start of descent and the end of the time series subsequence.
[0183] BG_Prev5min_SD: Standard deviation of BG values recorded 5 minutes before the start of descent.
[0184] BG_Prev10min_SD: Standard deviation of BG values recorded 10 minutes before the start of descent.
[0185] raw blood sugar BGRaw_Drop_Delta: The difference between the raw BG values at the start of the descent and at the end of the time series subsequence.
[0186] BGRaw_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the raw BG values recorded between the start of the drop and the end of the time series subsequence.
[0187] BGRaw_Drop_SD: Standard deviation of raw BG values recorded between the start of descent and the end of the time series subsequence.
[0188] BGRaw_Prev5min_SD: Standard deviation of raw BG values recorded 5 minutes before the start of descent.
[0189] BGRaw_Prev10min_SD: Standard deviation of raw BG values recorded 10 minutes before the start of descent.
[0190] temperature Temp_Drop_Delta: The difference between the temperature values at the start of the drop and at the end of the time series subsequence.
[0191] Temp_Prev5min_Delta: The difference between the temperature values 5 minutes before the start of descent and at the start of descent.
[0192] Temp_Prev10min_Delta: The difference between the temperature values 10 minutes before the start of descent and at the start of descent.
[0193] Temp_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the temperature values recorded between the drop start and the end of the time series subsequence.
[0194] Temp_Drop_SD: Standard deviation of temperature values recorded between the start of the drop and the end of the time series subsequence.
[0195] Temp_Prev5min_SD: Standard deviation of the temperature values recorded 5 minutes before the start of descent.
[0196] Temp_Prev10min_SD: Standard deviation of the temperature values recorded 10 minutes before the start of descent.
[0197] Temp_Prev5min_DropEnd_Delta: The difference between the temperature values 10 minutes before the start of the descent and at the end of the time series subsequence.
[0198] Comparison of blood glucose levels and raw blood glucose levels BGComp_Drop: The value of the norm_bg_bgraw_delta function (see below) calculated using the BG values recorded between the start of the descent and the end of the time series subsequence.
[0199] BGComp_Prev5min: Value of the norm_bg_bgraw_delta function (see below) calculated using the BG values recorded 5 minutes before the start of the descent.
[0200] BGComp_Prev10min: Value of the norm_bg_bgraw_delta function (see below) calculated using BG values recorded 10 minutes before the start of the descent.
[0201] In one embodiment, sensor data from 67 subjects in the training dataset can be used to generate a training input feature dataset with 53,025 rows of data. This training input feature dataset was used to train random forest and AdaBoost learning models using the scikit-learn Python package. In another embodiment, this training input feature dataset (or a training input feature dataset consisting of a subset of the described features) can be used to train other machine learning algorithms, including but not limited to linear regression, neural networks, or support vector machines.
[0202] result An embodiment may include two different performance assessments: The first performance assessment is an assessment of a classifier model that classifies whether a 2.5 minute time interval corresponds to the start of PISA or not.
[0203] Thus, in one embodiment, a 2.5 minute time interval that overlaps in any way with the PISA descent time window is a positive event, and a 2.5 minute time interval that does not overlap in any way with the PISA descent time window is a negative event.
[0204] In other embodiments, the time intervals can have different lengths. In one embodiment, machine learning classifier models can be trained on a training input feature dataset, as well as grid search and 5-fold cross-validation to identify optimal hyperparameter settings for each model (Table 2 shows the hyperparameters and possible values in one embodiment). [Table 2]
[0205] In one embodiment, the scoring criterion used is the F1 score, which can address both the precision and recall performance of a binary classifier model. In one embodiment, the identified random forest model had n_estimators=150, max_depth=15, max_features=sqrt, class_weight={0:1,1:5}, and the identified AdaBoost model had n_estimators=450, learning_rate=0.5. In other embodiments, a training input feature dataset can be used in conjunction with cross-validation to train the model and identify improved hyperparameter settings, and the area under the ROC curve and precision-recall curves can be used to evaluate model performance using a test input feature dataset.
[0206] The second performance evaluation may include an evaluation of the entire single-sensor prospective algorithm to classify whether a descent time window was correctly classified as the start of PISA. Thus, in one embodiment, a descent time window that is a PISA descent time window is a positive event, and a descent time window that is not a PISA descent time window is a negative event.
[0207] This second evaluation considers the entire process and involves assessing how well the initial screening process was (in one embodiment, whether each 2.5-minute time interval was assigned a probability of PISA onset of 0 or whether it was sent to a classifier to determine its probability of PISA onset). Within the BG time series, each descent time window is a potential PISA onset. Thus, the set of descent time windows is a set of candidate sequences that must be classified (e.g., whether the descent time window is a PISA onset or not). There may be descent time windows that do not have a 2.5-minute time interval and whose time series subsequence requires further evaluation, or all 2.5-minute time intervals may overlap with a portion of the descent time window (e.g., at least one timestamp).
[0208] In one embodiment, for each descent time window, a series of 2.5 minute time intervals that overlap in some way with the descent time window can be used to determine the probability that the descent time window corresponds to PISA onset by taking the maximum probability of PISA onset across all time intervals.
[0209] The algorithm for identifying the end of PISA works retrospectively to identify whether the end of PISA has been reached. The algorithm examines CGM sensor time series of BG measurements to attempt to identify the most recent potential PISA onset and subsequent potential PISA end. Once time series subsequences are identified, the algorithm generates multiple features and can use these features as input to a machine learning model that assigns to each time series subsequence a probability that the particular time series is PISA. If the probability exceeds a certain threshold, τ_PISA, the time series subsequence is classified as PISA and the end of PISA is identified.
[0210] To identify potential beginnings and endings of PISA, rough estimates of two different time windows can be obtained: (1) a fall time window: a series of consecutive timestamps t such that (BG_t - BG_t - lag) < -τ_D, where τ_D = 10 mg / dL is the fall threshold in one embodiment; and (2) an ascent time window: a series of consecutive timestamps t such that (BG_t - BG_(t - lag)) > τ_R, where τ_R = 6 mg / dL is the ascent threshold in one embodiment. The variable lag represents the number of 30-second time intervals. For example, lag = 10 corresponds to going back 5 minutes. Note that both time windows have a beginning (beginning of fall and beginning of ascent) and an end (end of fall and end of ascent).
[0211] The start and end of the fall and rise time windows may require refinement. In one embodiment, this refinement is achieved in each case by first calculating a rolling average of BG values using the most recent 90 seconds of data, and then calculating a first difference of the rolling averages. In other embodiments, different amounts of recent data may be used to calculate the rolling averages.
[0212] The refined descent start can be defined as the first timestamp whose first difference is less than the descent threshold δ_D, or the first timestamp with a negative first difference if no such timestamp exists. Otherwise, the default refined descent start can be the first timestamp of the descent time window.
[0213] The refined descent end can be defined as the last timestamp whose first difference is greater than δ_D. Otherwise, the default refined descent end can be the last timestamp of the descent time window.
[0214] Similarly, the refined start of climb can be defined as the first timestamp with a first difference greater than the climb threshold δ_R, or the first timestamp with a positive first difference if no such timestamp exists. Otherwise, the default refined start of climb can be the first timestamp of the climb time window.
[0215] The refined climb end can be defined as the last timestamp for which the first difference is less than δ_R. Otherwise, the default refined climb end can be the last timestamp of the climb time window.
[0216] One defining feature of PISA can be a "sudden" drop of at least 20 mg / dL. Thus, in one embodiment, a drop time window in which the change in BG values between the start and end of the drop is at least 20 mg / dL is a potential onset of PISA.
[0217] A series of ascent time windows potentially comparable to a given descent time window are, in one embodiment, ascent time windows whose ascent ends at least 15 minutes but not more than 180 minutes after descent begins.
[0218] Given a given drop time window and potentially comparable rise time windows (e.g., PISA candidates), the minimum BG value between the drop start time and the rise end time can be calculated. In one embodiment, only PISA candidates with a minimum BG value less than 85 mg / dL are retained.
[0219] In one embodiment, for a given time series subsequence, all of the time series signals recorded by the CGM sensor (blood glucose levels, raw [e.g., uncorrected] blood glucose levels, and body temperature) are used to generate a set of features that can be used as inputs to a machine learning model. The following subsections outline the features that can be generated for each time series subsequence that is a candidate for further evaluation. In other embodiments, any subset of the described features can be generated and used as inputs to the model.
[0220] Rise_Match_Idx: The index of the rise time window (based on all rise time windows that matched the fall time window).
[0221] Start time SL_Start_Time_Idx: An index indicating the sensor life interval that the PISA start time falls into, in one embodiment {0:(2,7.5),1:(7.5,11),2:(0,2)}.
[0222] SL_Start_Time_Prob: Probability of PISA start taken from the distribution of sensor life start times.
[0223] ToD_Start_Time_Idx: An index indicating the time slot that the PISA start time falls into, in one embodiment the time slots are {0:(19,24), 1:(6,19), 2:(0,6)}.
[0224] ToD_Start_Time_Prob: Probability of PISA start taken from the distribution of time of day start times.
[0225] Duration Duration_Drop_mins: The duration of the drop time window in minutes.
[0226] Duration_Drop_Prob: The probability of a drop time window by hour of this duration taken from the distribution of drop time window durations.
[0227] Duration_Rise_mins: Duration of the rise time window in minutes.
[0228] Duration_Rise_Prob: The probability of a rise time window by time period of this duration taken from the distribution of rise time window durations.
[0229] Duration_PISA_mins: Duration of PISA in minutes.
[0230] Duration_PISA_Prob: The probability of PISA by time period for this duration taken from the distribution of PISA durations.
[0231] blood sugar BG_Start: BG value at the start of descent.
[0232] BG_Start_Prob: Probability of this starting BG value by time period.
[0233] BG_Minimum: The minimum BG value between the start of descent and the end of ascent.
[0234] BG_Drop_Delta: The difference in BG value between the start and end of descent.
[0235] BG_Rise_Delta: The difference in BG value between the start and end of the rise.
[0236] BG_PISA_Delta: The difference between the BG values at the start of descent and the end of ascent.
[0237] BG_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the BG values recorded between the start of drop and the end of drop.
[0238] BG_Rise_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the BG values recorded between the start of the rise and the end of the rise.
[0239] BG_Drop_SD: Standard deviation of BG values recorded between the start and end of descent.
[0240] BG_Rise_SD: Standard deviation of BG values recorded between the start and end of the rise.
[0241] BG_PISA_SD: Standard deviation of BG values recorded between the start of descent and the end of ascent.
[0242] BG_Prev5min_SD: Standard deviation of BG values recorded 5 minutes before the start of descent.
[0243] BG_Prev10min_SD: Standard deviation of BG values recorded 10 minutes before the start of descent.
[0244] BG_ExpRatio_2min: The value of the expectedratioBG function (see below) calculated using the BG values recorded during the 2 minutes before the start of the descent.
[0245] BG_ExpRatio_5min: The value of the expectedratioBG function (see below) calculated using the BG values recorded during the 5 minutes before the start of the descent.
[0246] BG_ExpRatio_10min: The value of the expectedratioBG function (see below) calculated using the BG values recorded during the 10 minutes before the start of the descent.
[0247] raw blood sugar BGRaw_Drop_Delta: The difference between the raw BG values at the start and end of descent.
[0248] BGRaw_Rise_Delta: The difference between the raw BG values at the start and end of the rise.
[0249] BGRaw_PISA_Delta: The difference between the raw BG values at the start of the descent and the end of the climb.
[0250] BGRaw_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the raw BG values recorded between the start of descent and the end of descent.
[0251] BGRaw_Rise_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the raw BG values recorded between the rise start and rise end.
[0252] BGRaw_Drop_SD: Standard deviation of raw BG values recorded between the start and end of descent.
[0253] BGRaw_Rise_SD: Standard deviation of raw BG values recorded between the start and end of the rise.
[0254] BG_PISA_SD: Standard deviation of raw BG values recorded between the start of descent and the end of ascent.
[0255] BGRaw_Prev5min_SD: Standard deviation of raw BG values recorded 5 minutes before the start of descent.
[0256] BGRaw_Prev10min_SD: Standard deviation of raw BG values recorded 10 minutes before the start of descent.
[0257] temperature Temp_Drop_Delta: The difference between the temperature values at the start and end of descent.
[0258] Temp_Rise_Delta: The difference between the temperature values at the start and end of the rise.
[0259] Temp_PISA_Delta: The difference between the temperature values at the start of descent and at the end of ascent.
[0260] Temp_Prev5min_Delta: The difference between the temperature values 5 minutes before the start of descent and at the start of descent.
[0261] Temp_Prev10min_Delta: The difference between the temperature values 10 minutes before the start of descent and at the start of descent.
[0262] Temp_Drop_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the temperature values recorded between the start of drop and the end of drop.
[0263] Temp_Rise_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the temperature values recorded between the start of the rise and the end of the rise.
[0264] Temp_PISA_LRSlope: The slope of the linear regression (without a fixed intercept) fitted to the temperature values recorded between the start of the descent and the end of the ascent.
[0265] Temp_Drop_SD: The standard deviation of the temperature values recorded between the start of drop and the end of drop.
[0266] Temp_Rise_SD: The standard deviation of the temperature values recorded between the start and end of the rise.
[0267] Temp_PISA_SD: The standard deviation of the temperature values recorded between the start and end of descent.
[0268] Temp_Prev5min_SD: Standard deviation of the temperature values recorded 5 minutes before the start of descent.
[0269] Temp_Prev10min_SD: Standard deviation of the temperature values recorded 10 minutes before the start of descent.
[0270] Temp_DropEnd_MinBGIdx_Delta: The difference between the temperature value at the timestamp of the end of descent and the minimum BG value during PISA.
[0271] Temp_Prev5min_DropEnd_Delta: The difference between the temperature values 5 minutes before the start of descent and 5 minutes before the end of descent.
[0272] Temp_Prev5min_RiseStart_Delta: The difference between the temperature values 5 minutes before the start of the descent and 5 minutes before the start of the ascent.
[0273] Temp_DropEnd_RiseEnd_Delta: The difference between the temperature values at the end of the drop and the end of the rise.
[0274] Comparison of blood glucose levels and raw blood glucose levels BGComp_Drop: The value of the norm_bg_bgraw_delta function (see below) calculated using the blood glucose values recorded between the start of drop and the end of drop.
[0275] BGComp_Rise: The value of the norm_bg_bgraw_delta function (see below) calculated using the BG values recorded between the start of the rise and the end of the rise.
[0276] BGComp_PISA: The value of the norm_bg_bgraw_delta function (see below) calculated using the BG values recorded between the start of the descent and the end of the ascent.
[0277] BGComp_Prev5min: Value of the norm_bg_bgraw_delta function (see below) calculated using the BG values recorded 5 minutes before the start of the descent.
[0278] BGComp_Prev10min: Value of the norm_bg_bgraw_delta function (see below) calculated using BG values recorded 10 minutes before the start of the descent.
[0279] In one embodiment, sensor data from 67 subjects in the training dataset can be used to generate a training input feature dataset with many rows of data (e.g., 18,948 rows of data). This training input feature dataset can be used to train random forest and AdaBoost learning models using the scikit-learn Python package. In another embodiment, this training input feature dataset (or a training input feature dataset containing a subset of the described features) can be used to train other machine learning algorithms, including but not limited to linear regression, neural networks, or support vector machines.
[0280] The performance evaluation of the retrospective single-sensor algorithm evaluates a classifier model that classifies whether a time series subsequence defined by a rise time window and comparable to a fall time window corresponds to a PISA. Thus, in one embodiment, a time series subsequence defined by a rise time window and comparable to a fall time window that is a PISA is a positive event, and a time series subsequence defined by a rise time window and comparable to a fall time window that is not a PISA is a negative event.
[0281] In one embodiment, machine learning classifier models can be trained on a training input feature dataset, as well as grid search and 5-fold cross-validation to identify optimal hyperparameter settings for each model (Table 2 shows the hyperparameters and their possible values in one embodiment). In one embodiment, the scoring criteria can include an F1 score, which addresses both precision and recall performance for binary classifier models. In one embodiment, the identified random forest models had n_estimators=150, max_depth=15, max_features=sqrt, class_weight={0:1,1:15}, and the identified AdaBoost models had n_estimators=100, learning_rate=1. In other embodiments, the training input feature dataset can be used in conjunction with cross-validation to train models and identify improved hyperparameter settings, and the area under the ROC curve and precision-recall curves can be used to evaluate model performance on a test input feature dataset.
[0282] Embodiments can use signals typically available from CGM sensors, such as raw blood glucose estimates, filtered blood glucose, temperature, and corrections for time of day and / or sensor age. Multiple machine learning methods can be used to search these data, and since other signals / considerations can also influence the decision to detect and / or not flag a PISA event (e.g., probability of impending hypoglycemia), embodiments can provide a scheme that utilizes the following external data and considerations:
[0283] When probabilistic outputs from multiple models are available or relevant, a Bayesian combination of this information can be used. In one embodiment, a Bayesian combination is constructed from a time series of probabilities from a random forest model and a time series of probabilities from an AdaBoost model. In another embodiment, the output of a model that utilizes other time series signals can be combined, such as data from anticipated future sensors, such as a pressure sensor added to the CGM, or considerations regarding the risk of impending hypoglycemia.
[0284] To search for disparate signals, the method, system, and computer-readable medium (1) convert / normalize the output of each model into a time series of probabilities over a common time interval (e.g., 2.5 minutes or 5 minutes), which track the probability of the event of interest, in this case PISA, with different fidelity depending on the signal's relevance to PISA. For example, the output of a random forest or AdaBoost model may be strongly related to PISA, while the output from a pressure sensor may have a weaker relevance, and the output from a model predicting hypoglycemia may be merely an additional consideration intended to focus the embodiment on detecting PISA events that are likely to trigger false hypoglycemia alerts; and (2) combine the time series using the iterative Bayesian updating procedure described.
[0285] Imposing a predetermined threshold, such as 0.75 or 0.9, on the final time series of posterior probabilities allows for the detection of events with probabilities above the predetermined threshold. The results of the predetermined threshold can be adjusted to strike a balance between true detections and false positive calls.
[0286] In other embodiments, the detection method can utilize other signals or external information. For example, another model tracking the probability of hypoglycemia can be added, making the method more responsive to PISA, which may trigger false hypoglycemia alerts. Such a model can be available from other devices, such as an insulin pump, that communicates with the glucose sensor in a closed-loop control application. Therefore, an iterative Bayesian updating procedure is proposed that combines different signals and considerations into a single output, as long as these signals and considerations are standardized into a compatible time series of probability of the event of interest. The iterative Bayesian updating procedure works as follows for each time interval:
[0287] Initialize this procedure using the output of Model 1. P 1 =P1(Model 1)
[0288] This estimate is updated with the output of Model 2. TIFF2025538985000004.tif13150
[0289] This estimate can be further updated with the output of another Model 3. TIFF2025538985000005.tif13150
[0290] This process can continue as long as there are other models with information to incorporate, until the final posterior probability is achieved when information from all models has been incorporated.
[0291] It will be understood that the embodiments disclosed herein can be modified to meet a particular set of design criteria. For example, any of the components described herein can be of any suitable number or type to meet a particular purpose. Thus, while several exemplary embodiments of the systems, and methods of making and using the same, disclosed herein have been shown and described, it is to be clearly understood that the disclosure is not limited to these embodiments, but can be variously embodied and practiced within the scope of the following claims.
[0292] Although some components, features, and / or configurations may be described in connection with only one particular embodiment, it will be understood that, unless otherwise stated, or to the extent that such components, features, and / or configurations are technically possible for use with other embodiments, these components, features, and / or configurations can also be applied or used with many other embodiments and should be considered applicable to other embodiments. Accordingly, the components, features, and / or configurations of the various embodiments can be combined in any manner, and such combinations are expressly contemplated and disclosed by this description.
[0293] Those skilled in the art will understand that the present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. Accordingly, the embodiments disclosed herein are to be considered in all respects as illustrative and not restrictive. The scope of the present disclosure is indicated by the appended claims, rather than the foregoing description, and all changes that come within the spirit, scope, and equivalents thereof are intended to be embraced therein. Furthermore, the disclosure of a range of values is a disclosure of all numerical values within that range, including the endpoints. [Explanation of symbols]
[0294] 100 System Configuration 102 PISA Detection System 104 Computer Equipment 106 processors 108 memory 110 Sensors 112-1~n MLM
Claims
1. 1. A system for automatically detecting sensor compression in continuous glucose monitoring, comprising: at least one sensor; at least one processor in communication with the at least one sensor and configured to execute at least two machine learning models; wherein the at least one processor receiving measurement data from the at least one sensor, the measurement data including at least one time series of blood glucose (BG) measurements measured by the at least one sensor; using a first machine learning model to determine that at least one time series of BG measurements is a candidate series containing a compression artifact; using a second machine learning model to generate a signal output indicating that the at least one time series of BG measurements was obtained while the at least one sensor was under compression; programmed or configured to cause the processor to A system characterized by:
2. at least one time series of BG measurements includes a plurality of timestamps, each timestamp being associated with a BG measurement; The system of claim 1 .
3. the at least one processor configured to determine that the at least one time series of BG readings is a candidate series is programmed or configured to cause the processor to determine that the at least one time series of BG readings includes changes in BG readings across a plurality of timestamps, and that the changes in BG readings are above a threshold. The system of claim 1 .
4. the at least one processor configured to determine that the at least one time series of BG measurements is a candidate series is programmed or configured to cause the processor to use a first machine learning model to determine that the at least one time series of BG measurements includes a time series subsequence having a fall time window and a rise time window associated with the fall time window, the time series subsequence including a series of timestamps corresponding to at least a portion of the fall time window and at least a portion of the rise time window. The system of claim 1 .
5. The at least one processor identifying one or more characteristics of the at least one time series of BG measurements; inputting the one or more features into the second machine learning model; The system of claim 1 , programmed or configured to cause the processor to:
6. and wherein the at least one processor configured to generate the signal output is programmed or configured to cause the processor to predict in real time via outputting an indication that the at least one sensor is experiencing compression while the at least one sensor is obtaining a BG measurement. The system of claim 1 .
7. in combination with an insulin delivery system in communication with the at least one processor; the at least one processor is programmed or configured to cause the processor to send a signal output to the insulin delivery system indicative of the at least one sensor being compressed; the signal output causes the insulin delivery system to do at least one or more of: start insulin delivery; continue insulin delivery; disable an alarm; and / or any combination thereof; The system of claim 1 .
8. The timestamps are separated by any one or more of 30 second intervals, 1 minute intervals, 2.5 minute intervals, and / or 5 minute intervals; The system of claim 2 .
9. the at least one processor is programmed or configured to cause the processor to execute the first machine learning model and the second machine learning model simultaneously. The system of claim 1 .
10. the at least one processor is programmed or configured to use the first machine learning model to cause the processor to identify the rise time window associated with the fall time window in at least one time series as occurring within a range of 15 minutes to 180 minutes after the fall time window. The system of claim 1 .
11. The at least one processor configured to determine that the at least one time series of BG measurements is a candidate series, determining a descent time window in the at least one time series starting from a first timestamp associated with the first BG measurement and ending at a second timestamp associated with the second BG measurement based on the difference between the first BG measurement and the second BG measurement exceeding a descent time threshold; determining a rise time window in the at least one time series starting from a third timestamp associated with the third BG measurement and ending at a fourth timestamp associated with the fourth BG measurement based on the difference between the third BG measurement and the fourth BG measurement exceeding a rise time threshold; The system of claim 1 , programmed or configured to cause the processor to:
12. the fall time threshold is 10 mg / dL and the rise time threshold is 6 mg / dL; The system of claim 11.
13. 1. A system for automatically detecting the onset of sensor compression in continuous glucose monitoring, comprising: at least one sensor; at least one processor in communication with the at least one sensor and executing program code for at least one machine learning model; wherein the at least one processor receiving measurement data from the at least one sensor, the measurement data including at least one time series of blood glucose (BG) measurements measured by the at least one sensor; determining that at least one time series of BG measurements is a candidate series including a BG measurement representing an onset of sensor compression; inputting time series subsequences of the at least one time series of BG measurements into at least one machine learning model; using at least one machine learning model to generate a signal output indicating that at least one BG measurement was taken while the at least one sensor was under compression; programmed or configured to cause the processor to A system characterized by:
14. at least one time series of BG measurements includes a plurality of timestamps, each timestamp being associated with a BG measurement; The system of claim 13.
15. the at least one processor configured to determine that the at least one time series of BG measurements is a candidate series is programmed or configured to cause the processor to determine that the at least one time series of BG measurements includes a descent time window, and that the time series subsequence includes a plurality of timestamps within the descent time window. The system of claim 13.
16. The at least one processor configured to generate the signal output is programmed or configured to cause the processor to predict in real time via outputting an indication that the at least one sensor is experiencing compression while the at least one sensor is acquiring a BG measurement, the prediction being based on a probability value representing a probability that a time series subsequence includes a BG measurement acquired while the at least one sensor is experiencing compression. The system of claim 13.
17. The at least one processor determining a maximum probability value among a plurality of probability values associated with a plurality of timestamps of the time series subsequence that fall within a descent time window; determining a probability that the time series subsequence includes a BG measurement taken while the at least one sensor was under compression based on the maximum probability value; 17. The system of claim 16, programmed or configured to cause the processor to:
18. in combination with an insulin delivery system in communication with the at least one processor; the at least one processor is programmed or configured to cause the processor to send a signal output to the insulin delivery system indicative of the at least one sensor being compressed; the signal output causes the insulin delivery system to do at least one or more of: start insulin delivery; continue insulin delivery; disable an alarm; and / or any combination thereof; The system of claim 13.
19. at least one time series of BG measurements spans 30 minutes of measurement data measured by at least one sensor; The system of claim 13.
20. The at least one processor configured to input a time series subsequence of the at least one time series of BG measurements into the at least one machine learning model, identifying one or more features of a time series subsequence of the at least one time series of BG measurements; inputting the one or more features into the at least one machine learning model; The system of claim 13 , programmed or configured to cause the processor to:
21. The one or more features include at least one or more of a raw BG measurement, a starting BG value at a first timestamp of the descent time window, an ending BG value at a last timestamp of the descent time window, a difference between the starting BG value and the ending BG value, a slope of the BG values in the descent time window, a standard deviation of the BG values in the descent time window, a time of day, a temperature value, a comparison value between a BG measurement and a raw BG measurement, and / or any combination thereof.
21. The system of claim 20.
22. The at least one processor configured to determine that at least one time series of BG measurements is a candidate series, determining a rolling average of at least one time series of BG measurements, the smoothed BG value being associated with each BG measurement and timestamp pair; The current timestamp for which the index value is determined is set to t, and the smoothed BG value at timestamp t is calculated as t The smoothed BG value at the previous timestamp is t-lag Let lag be a time scale such that t-lag represents the previous timestamp, and BG threshold represents the BG threshold. BG t -BG t-lag >BG threshold calculate an index value of the smoothed BG value at each timestamp t, which corresponds to the Boolean true of identifying a time series subsequence in the at least one time series of BG measurements having a set of index values beginning at a first timestamp and ending at a second timestamp; The system of claim 13 , programmed or configured to cause the processor to:
23. The lag corresponds to 5 minutes and the BG threshold corresponds to 10.0 mg / dL.
23. The system of claim 22.
24. the time series subsequence spans at least 2.5 minutes in duration of BG measurement; 23. The system of claim 22.
25. a difference between the first smoothed BG value associated with the first timestamp and the second smoothed BG value associated with the second timestamp is greater than 7.5 mg / dL; 23. The system of claim 22.
26. 1. A computer-implemented method for generating at least one machine learning model for accurately detecting sensor compression in continuous glucose monitoring, comprising: receiving as input to a processor at least one training data set comprising a plurality of time series of blood glucose (BG) measurements; determining a plurality of time series subsequences based on the training data set, at least one of which includes at least one BG measurement below a compression estimation threshold; extracting one or more features from each of the plurality of time series subsequences; inputting the one or more features from the plurality of time series subsequences into at least one machine learning model for training; Detecting sensor compression based on providing at least one time series of BG measurements as input to the at least one machine learning model; 10. A computer-implemented method comprising:
27. The estimated compression threshold corresponds to 85 mg / dL.
27. The computer-implemented method of claim 26.
28. labeling each of the plurality of time series subsequences to indicate that the time series subsequence includes a compression artifact or that the time series subsequence does not include a compression artifact.
27. The computer-implemented method of claim 26.
29. sending a signal output to an insulin delivery system indicative of the detection of sensor compression, the signal output causing the insulin delivery system to do at least one or more of: initiate insulin delivery, continue insulin delivery, disable an alarm, and / or any combination thereof; 27. The computer-implemented method of claim 26.