US20220039756A1 - Machine learning-based system for estimating glucose values - Google Patents
Machine learning-based system for estimating glucose values Download PDFInfo
- Publication number
- US20220039756A1 US20220039756A1 US17/178,087 US202117178087A US2022039756A1 US 20220039756 A1 US20220039756 A1 US 20220039756A1 US 202117178087 A US202117178087 A US 202117178087A US 2022039756 A1 US2022039756 A1 US 2022039756A1
- Authority
- US
- United States
- Prior art keywords
- user
- model
- blood glucose
- data
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 0 *CC1CCCC1 Chemical compound *CC1CCCC1 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1118—Determining activity level
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/145—Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
- A61B5/14532—Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue for measuring glucose, e.g. by tissue impedance measurement
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
- A61B5/7267—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
- A61B5/7275—Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7271—Specific aspects of physiological measurement analysis
- A61B5/7278—Artificial waveform generation or derivation, e.g. synthesising signals from measured signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/40—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for data related to laboratory analysis, e.g. patient specimen analysis
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H20/00—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H20/10—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
- G16H20/17—ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients delivered via infusion or injection
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/11—Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
- A61B5/1112—Global tracking of patients, e.g. by using GPS
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/4836—Diagnosis combined with treatment in closed-loop systems or methods
- A61B5/4839—Diagnosis combined with treatment in closed-loop systems or methods combined with drug delivery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/48—Other medical applications
- A61B5/4866—Evaluating metabolism
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7221—Determining signal validity, reliability or quality
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7239—Details of waveform analysis using differentiation including higher order derivatives
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7242—Details of waveform analysis using integration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Pathology (AREA)
- Animal Behavior & Ethology (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Biophysics (AREA)
- Veterinary Medicine (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Signal Processing (AREA)
- Psychiatry (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Optics & Photonics (AREA)
- Emergency Medicine (AREA)
- Fuzzy Systems (AREA)
- Data Mining & Analysis (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Obesity (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medicinal Chemistry (AREA)
- Databases & Information Systems (AREA)
Abstract
Data for a particular user can be received from a number of different input channels over a time period. The received data can include discrete blood glucose measurement data, user activity data and other contextual data for the user. The received data can be processed to generate an input data set, which can then be processed along with information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data to a sequence of estimated blood glucose values for the user. Parameters of the supervised machine learning model can be adjusted to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data to the sequence of estimated blood glucose values for the user.
Description
- This application is a continuation of U.S. patent application Ser. No. 16/987,330, filed Aug. 6, 2020, the contents of which are hereby incorporated by reference.
- The present technology is generally related to insulin delivery systems and, more specifically, to a machine learning-based system for estimating glucose values based on, for example, blood glucose measurements and contextual activity data.
- Portable medical devices are useful for patients that have conditions that must be monitored on a continuous or frequent basis. For example, diabetics are usually required to modify and monitor their daily lifestyle to keep their blood glucose (BG) in balance. Individuals with
Type 1 diabetes and some individuals withType 2 diabetes use insulin (and other blood sugar lowering medications) to control their BG levels. To maintain glucose levels within a recommended range, patients with diabetes are advised to routinely keep strict schedules, including ingesting timely nutritious meals, partaking in exercise, monitoring BG levels daily, and adjusting and administering insulin dosages accordingly. - Infusion pump devices and insulin pump systems are relatively well known in the medical arts. Infusion pump devices and insulin systems are designed to deliver accurate and measured doses of insulin via infusion sets. An infusion set delivers the insulin to a patient through a small diameter tube that terminates at, e.g., a cannula inserted under the patient's skin. Use of infusion pump therapy has been increasing, especially for delivering insulin for diabetics.
- In one type of system, the infusion pump can be programmed to inject insulin on a set schedule. For instance, a doctor or other healthcare administrator can program an insulin pump according to a set schedule so that it delivers insulin into the patient's bloodstream according to that schedule throughout the day. In addition, the patient can also simply activate the insulin pump to administer an insulin bolus as needed, for example, in response to the patient's high BG level. One drawback to this approach is that the user's lack knowledge of their blood glucose levels in any given point, and it is difficult for patients to determine when it may be necessary to administer insulin outside their scheduled administrations.
- To address this problem, a patient can monitor BG levels using a BG meter or measurement device. For instance, a patient can utilize a blood glucose meter to intermittently measure their instantaneous blood sugar levels at any given time via a “finger prick test.” Information from that measurement can be processed and used to determine whether insulin should be administered to regulate the patient's blood sugar level. A problem with this approach is that monitoring of blood glucose levels and the administration of insulin is done by the user on an ad hoc basis based on when they think insulin should be administered. This can be problematic in certain situations, such as with patients who experience hypoglycemia unawareness, which is a condition that can occur where a patient cannot perceive symptoms that might be indicators that their blood sugar is low.
- To address this issue, continuous glucose monitoring (CGM) systems can be used to help diabetic patients continuously monitor their blood glucose levels. Continuous glucose monitoring systems employ a continuous glucose sensor to monitor a patient's blood glucose level in a substantially continuous and autonomous manner. In many cases, a continuous glucose monitoring sensor is utilized in conjunction with an insulin infusion device or insulin pump as parts of a digital diabetes management system. The digital diabetes management system can determine the amount of glucose in the patient's blood at any given time so that an appropriate amount of insulin can be automatically administered to help regulate the amount of glucose in the patient's blood. This way insulin can be automatically administered depending on the patient's specific needs such that their blood sugar levels do not go too high or too low at any particular time. This way, an equilibrium or balance can be achieved between entry of glucose into the body (e.g., the amount of glucose that is being introduced into the patient's blood stream via meals) and how much glucose is being consumed or utilized by the patient.
- While existing continuous glucose monitoring systems that employ a continuous glucose sensor work well, such continuous glucose monitoring systems are often too expensive for potential users to afford. In some cases, a patient's insurance does not cover such therapy or the patient's insurance may refuse to pay for the patient to use such a solution if the patient does not fall within a high enough risk category to be covered for such therapy. In addition, some patients may simply choose not to utilize continuous glucose monitoring systems for lifestyle reasons. For instance, a particular user may choose not to wear a continuous glucose monitor or sensor arrangement because it could be uncomfortable, or they choose not to wear it all the time for other reasons. This can prevent a large group of users from using a digital diabetes management solution.
- Today, a large segment of the diabetes market does not utilize CGM-type therapy devices. A substantial proportion of these users include, for example, users who rely on discrete blood glucose measurements several times a day to monitor glycemia (e.g., those using blood glucose meters), or users who intermittently wear a CGM under supervision of a health care provider (HCP). Without using a CGM device on a regular basis, these approaches can make it difficult for users to manage glycemia without actively making meaningful behavioral adjustments to improve their individual management.
- Accordingly, it is desirable to provide digital diabetes management solutions that are less expensive and can thus be an option for users who are unable to afford more expensive continuous glucose monitoring systems. It would be desirable to provide users with alternative solutions that can achieve the same or similar benefits of full CGM-type therapy solutions without requiring users to wear a CGM device on a regular basis and without requiring users to absorb the costs associated with wearing a CGM device on a regular basis. Furthermore, other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
- A method, system and computer-readable medium are provided. Data for a particular user can be received from a number of different input channels over a time period. In some aspects, each input channel comprises a different data type being measured for the user over a time period. The received data can include discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user. In some aspects, the discrete blood glucose measurement data for the user is measured using a sensor arrangement that provides discrete blood glucose measurements for the user, the user activity data for the user is provided from a source of user activity data that correlates to activity of the user, and the other contextual data for the user is provided from at least one other source associated with the user and provides other information about the user
- The received data can be processed to generate an input data set, which can then be processed along with information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period. The supervised machine learning model has parameters that are estimated to generate the transfer function for the population model. A parameter optimization process can be performed by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
- In some aspects, the supervised machine learning model is the population model, and in this case, the input data set can be processed, via the particular population model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user. In this case, processing the input data set can include learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
- In some aspects, the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model. In this case, processing the input data set, via the supervised machine learning model, to learn the transfer function for the personal model, comprises: processing the input data set and at least some of the information from the population model, via the supervised machine learning model, to adapt a population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
- In some aspects, the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model. In this case, processing the input data set, via the supervised machine learning model, to learn the transfer function for the personal model, comprises: processing the input data set and at least some of the information from the population model, via the population model and the supervised machine learning model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
- In some aspects, performing the parameter optimization process comprises: iteratively adjusting one or more parameters of the supervised machine learning model; continuously evaluating an objective function that measures a level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and actual measured blood glucose levels; and generating the optimized personal model for the user when the level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and the actual measured blood glucose levels reaches a desired threshold, wherein the optimized personal model for the user has the parameters of the transfer function set to values that were being evaluated when the mathematical agreement reached the desired threshold.
- In some aspects, the optimized personal model is an optimized window personal model, and the method further comprises: applying a window filter to the received data, prior to processing the received data for the user, to split the received data into a series of different time windows each having a period that is less than the time period that the received data was received over, wherein each time window includes a discrete time segment of the received data; and processing the received data for the user to generate the input data set, comprises: processing each discrete time segment of the received data to generate a corresponding input data set based on the received data received over a particular time window; and processing the input data set, comprises: processing each corresponding input data set, via the supervised machine learning model, to learn a corresponding transfer function for a corresponding personal model that estimates blood glucose values for the user by mapping the received data for the user over the particular time window to the sequence of estimated blood glucose values for the user over the particular time window, wherein the supervised machine learning model has parameters that are estimated to generate each corresponding transfer function for each corresponding personal model.
- In some aspects, the method further comprises selecting the corresponding personal model having the lowest error as the optimized personal model.
- In some aspects, the optimized window personal model is an optimized extended window personal model, and the method further comprises: sequentially joining each of the sequences of estimated blood glucose values for the user for each particular time window to generate a joined set of estimated blood glucose values over a number of the particular time windows to generate the optimized extended window personal model that estimates the blood glucose values for the user.
- In some aspects, the system can include one or more hardware-based processors configured by machine-readable instructions to: receive data for a particular user from a number of different input channels over a time period, the received data comprising: discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user; process the received data to generate an input data set; process the input data set and information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period, wherein the supervised machine learning model has parameters that are estimated to generate the transfer function for the population model; and perform a parameter optimization process by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
- In some aspects, at least one non-transient computer-readable medium is provided having instructions stored thereon that are configurable to cause at least one processor to perform a method, the method comprising: receiving data for a particular user from a number of different input channels over a time period, the received data comprising: discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user; processing the received data to generate an input data set; processing the input data set and information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period, wherein the supervised machine learning model has parameters that are estimated to generate the transfer function for the population model; and performing a parameter optimization process by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
- This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The details of one or more aspects of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the techniques described in this disclosure will be apparent from the description and drawings, and from the claims.
-
FIG. 1 is an exemplary embodiment of an infusion system; -
FIG. 2 is a plan view of an exemplary embodiment of a fluid infusion device suitable for use in the infusion system ofFIG. 1 ; -
FIG. 3 is an exploded perspective view of the fluid infusion device ofFIG. 2 ; -
FIG. 4 is a cross-sectional view of the fluid infusion device ofFIGS. 2-3 as viewed along line 4-4 inFIG. 3 when assembled with a reservoir inserted in the infusion device; -
FIG. 5 is a block diagram of an exemplary infusion system suitable for use with a fluid infusion device in one or more embodiments; -
FIG. 6 is a block diagram of an exemplary pump control system suitable for use in the infusion device in the infusion system ofFIG. 5 in one or more embodiments; -
FIG. 7 is a block diagram of a closed-loop control system that may be implemented or otherwise supported by the pump control system in the fluid infusion device ofFIGS. 5-6 in one or more exemplary embodiments; -
FIG. 8 is a block diagram of an exemplary patient monitoring system; -
FIG. 9 is a simplified block diagram representation of an exemplary embodiment of a computer-based or processor-based device suitable for deployment in the system shown inFIG. 1 ; -
FIG. 10 is a block diagram of a system for estimating glucose values for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 11 is a flowchart that illustrates a method for generating an estimation model for a particular patient in accordance with the disclosed embodiments; -
FIG. 12 is a flowchart of a method in accordance with the disclosed embodiments; -
FIG. 13 is a block diagram of a workflow process for generating a personalized model that is optimized for estimating glucose values for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 14 is a block diagram of a machine learning system for generating an optimized population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 15 is a block diagram of a windowed machine learning system for generating an optimized window population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 16 is a block diagram of another windowed machine learning system for generating an optimized window population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 17 is a block diagram of another windowed machine learning system for generating an optimized window population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 18 is a block diagram of another windowed machine learning system for generating an optimized window population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 19 is a block diagram of another windowed machine learning system for generating an optimized window population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 20 is a block diagram of a model explainability analysis processor for selecting an optimized population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments; -
FIG. 21 is a block diagram of a calibration optimization processor for selecting an optimized calibration model in accordance with the disclosed embodiments; -
FIG. 22 is a block diagram of a calibration optimization processor for selecting optimal type(s) of inputs to be used for developing an optimized calibration model in accordance with the disclosed embodiments; -
FIG. 23 is a block diagram of a machine learning system for generating an optimized personal model for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 24 is a block diagram of a windowed machine learning system for generating an optimized personal model for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 25 is a block diagram of another windowed machine learning system for generating an optimized personal model for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 26 is a block diagram of another windowed machine learning system for generating an optimized personal model for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments; -
FIG. 27 is a block diagram of another windowed machine learning system for generating an optimized personal model for estimating glucose values for a personalized a particular user or patient in accordance with the disclosed embodiments; -
FIG. 28 is a block diagram that illustrates an intermittent CGM system in accordance with the disclosed embodiments; and -
FIG. 29 is a block diagram that illustrates another intermittent CGM system in accordance with the disclosed embodiments. - The following detailed description is merely illustrative in nature and is not intended to limit the embodiments of the subject matter or the application and uses of such embodiments. As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
- It should be understood that various aspects disclosed herein may be combined in different combinations than the combinations specifically presented in the description and accompanying drawings. It should also be understood that, depending on the example, certain acts or events of any of the processes or methods described herein may be performed in a different sequence, may be added, merged, or left out altogether (e.g., all described acts or events may not be necessary to carry out the techniques). In addition, while certain aspects of this disclosure are described as being performed by a single module or unit for purposes of clarity, it should be understood that the techniques of this disclosure may be performed by a combination of units or modules associated with, for example, a medical device.
- In one or more examples, the described techniques may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include non-transitory computer-readable media, which corresponds to a tangible medium such as data storage media (e.g., RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer).
- Instructions may be configurable to be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor” as used herein may refer to any of the foregoing structure or any other physical structure suitable for implementation of the described techniques. Also, the techniques could be fully implemented in one or more circuits or logic elements.
- Exemplary embodiments of the subject matter described herein are implemented in conjunction with medical devices, such as portable electronic medical devices. Although many different applications are possible, the following description focuses on embodiments that incorporate an insulin infusion device (or insulin pump) as part of an infusion system deployment. For the sake of brevity, conventional techniques related to infusion system operation, insulin pump and/or infusion set operation, and other functional aspects of the systems (and the individual operating components of the systems) may not be described in detail here. Examples of infusion pumps may be of the type described in, but not limited to, U.S. Pat. Nos. 4,562,751; 4,685,903; 5,080,653; 5,505,709; 5,097,122; 6,485,465; 6,554,798; 6,558,320; 6,558,351; 6,641,533; 6,659,980; 6,752,787; 6,817,990; 6,932,584; and 7,621,893; each of which are herein incorporated by reference.
- Generally, a fluid infusion device includes a motor or other actuation arrangement that is operable to linearly displace a plunger (or stopper) of a fluid reservoir provided within the fluid infusion device to deliver a dosage of fluid, such as insulin, to the body of a user. Dosage commands that govern operation of the motor may be generated in an automated manner in accordance with the delivery control scheme associated with a particular operating mode, and the dosage commands may be generated in a manner that is influenced by a current (or most recent) measurement of a physiological condition in the body of the user. For example, in a closed-loop or automatic operating mode, dosage commands may be generated based on a difference between a current (or most recent) measurement of the interstitial fluid glucose level in the body of the user and a target (or reference) glucose setpoint value. In this regard, the rate of infusion may vary as the difference between a current measurement value and the target measurement value fluctuates. For purposes of explanation, the subject matter is described herein in the context of the infused fluid being insulin for regulating a glucose level of a user (or patient); however, it should be appreciated that many other fluids may be administered through infusion, and the subject matter described herein is not necessarily limited to use with insulin.
- In one non-limiting embodiment, a method and system are provided for estimating glucose values based, for example, on data from a BG meter and an activity tracker. In other embodiments, other contextual information, such as food (including carbohydrate and macronutrient intake) can also be used to estimate glucose values (e.g., to reconstruct continuous glucose data). Machine learning-based estimation/prediction models can be developed off-line for each patient, or updated online for continuous learning, particularly during retraining periods of continuous glucose monitor (CGM) taking in current contextual data. Generic estimation/predication models can be built using patterns/instances from data collected from a similar cohort as the patient which provides a bigger data pool and hence larger scope for patient characterization. Because every person is different the estimation/prediction models are uniquely trained for each patient.
- For example, a customized machine learning-based estimation/prediction model can be built for each patient during a training process using CGM data. The customized machine learning-based estimation/prediction model can then be invoked at run time based on finger-stick measurements entered by the user via a blood glucose meter in addition to other contextual information such as steps, heart rate, exercise, metabolic equivalents and other parameters collected from an activity tracker, and insulin and meal information from insulin pumps (or insulin pens) or user entries, while also taking into account their medical history and demographic information so that the predictions are not only personalized based on the individual's diabetes profile and behavior, but also equipped to account for deviations from a patient's regular routine. The customized machine learning-based estimation/prediction model can thus provide continuous current and predictive estimates of glucose levels in real-time using finger-stick measurements entered by the user via a blood glucose meter and including any of the other contextual information mentioned above. Also, because the contextual data for a patient can change over time, the estimation/prediction models can be updated on a regular basis. In other words, because a patient's condition can change over time, a patient can wear a continuous glucose sensor periodically (e.g., once or twice a month) to acquire data that can be used to retrain the estimation model so that it can generate more accurate estimates for that particular patient.
- The functionality can reside, for example, both within a web-based application as well as a mobile application. The estimation models can be implemented/deployed at either a backend server that runs the estimation model as part of a web-based application and communicates information back to the user's phone, insulin pump or other end device, and/or can also implemented as part of a mobile application that runs on the user's phone or other end device and communicates information back to the insulin pump or other end device. The estimation models can also be implemented/deployed at an insulin pump. Regardless of the implementation, the applications can send push notifications to the patient to alert them in case of an estimated low or high excursion event, can receive requests from user and deliver precise, coherent answers, and can also provide a pathway for entering data which can be used to keep track of the user history as well as improve the prediction estimates.
- The estimation model can be trained using a continuous glucose sensor device, and once it is trained and then personalized/tuned for a particular user/patient, the continuous glucose sensor does not need to be used on a regular basis. This can allow users/patients to rely less on a continuous glucose sensor. They only need to use a CGM periodically instead of on a regular basis.
- Instead, a blood glucose meter can be used in conjunction with an activity tracker to generate inputs to the estimation model, and the estimation model can then generate estimated glucose values that approximate measured glucose values that would be measured by a continuous glucose sensor. In essence, the disclosed embodiments can allow a patient to use an activity tracker and intermittent measurements from a blood glucose meter without needing a continuous glucose sensor on a regular basis (e.g., the patient can use a continuous glucose sensor periodically for calibration, but then only use a blood glucose meter and an activity tracker in conjunction with an estimation model the remainder of the time).
- In some embodiments, additional types of data can be processed by the estimation model, which can improve the accuracy of the estimates. For example, a patient can estimate their glucose values using meal data that describes what the patient has recently eaten, intermittent blood glucose measurements from a blood glucose meter (that are taken by a user, for example, via finger stick measurements), and other contextual activity data that is received on a continuous basis from an activity tracker or other source of activity information about the patient. This other contextual activity data can include data such as physical activity data (e.g., heart rate, number of steps, or metabolic equivalents, etc.), metabolic data (e.g., calories burned), etc. This information can be used via an estimation or predication module to estimate glucose values in a way that approximates, with high accuracy, blood glucose measurements that would be measured by a continuous glucose sensor without having to incur the cost of, or permanently attach, a continuous glucose sensor. When the estimated glucose values are accurate enough, they can be used, for example, to drive an insulin infusion device so that it administers insulin to a patient, or to provide notifications to a patient or health care partner to manually inject a bolus of insulin on an as needed basis depending on their estimated glucose values and other information such as activity data, meal information, etc., or alternatively to provide health care providers with information to adjust basal rate settings of an inulin infusion device so that they are appropriate for a particular patient to meet their needs. It may also be used as a medication titration advisor for individuals on other types of blood sugar lowering medications. When the estimated glucose values are not accurate enough, then this condition can be used to trigger a notification, warning, alarm or alert, for example, at another device such as at the insulin pump, the user's smartphone or other smart device, etc. to inform the user that they should not trust the system and to recommend that the user to wear another sensor (e.g., CGM) to retrain the estimation model.
- Thus, the proposed method and system can provide a new digital diabetes management solution that is cheaper and more affordable; more likely to be used by users who are unable to afford digital diabetes management systems; more likely to be approved by insurance, etc. The proposed method and system can also help users start using a digital diabetes management solution until they transition to a CGM-based system for diabetes management.
- Turning now to
FIG. 1 , one exemplary embodiment of aninfusion system 100 includes, without limitation, a fluid infusion device (or infusion pump) 102, asensing arrangement 104, a command control device (CCD) 106, and acomputer 108. The components of aninfusion system 100 may be realized using different platforms, designs, and configurations, and the embodiment shown inFIG. 1 is not exhaustive or limiting. In practice, theinfusion device 102 and thesensing arrangement 104 are secured at desired locations on the body of a user (or patient), as illustrated inFIG. 1 . In this regard, the locations at which theinfusion device 102 and thesensing arrangement 104 are secured to the body of the user inFIG. 1 are provided only as a representative, non-limiting, example. The elements of theinfusion system 100 may be similar to those described in U.S. Pat. No. 8,674,288, the subject matter of which is hereby incorporated by reference in its entirety. - In the illustrated embodiment of
FIG. 1 , theinfusion device 102 is designed as a portable medical device suitable for infusing a fluid, a liquid, a gel, or other medicament into the body of a user. In exemplary embodiments, the infused fluid is insulin, although many other fluids may be administered through infusion such as, but not limited to, HIV drugs, drugs to treat pulmonary hypertension, iron chelation drugs, pain medications, anti-cancer treatments, medications, vitamins, hormones, or the like. In some embodiments, the fluid may include a nutritional supplement, a dye, a tracing medium, a saline medium, a hydration medium, or the like. - The
sensing arrangement 104 generally represents the components of theinfusion system 100 configured to sense, detect, measure or otherwise quantify a condition of the user, and may include a sensor, a monitor, or the like, for providing data indicative of the condition that is sensed, detected, measured or otherwise monitored by the sensing arrangement. In this regard, thesensing arrangement 104 may include electronics and enzymes reactive to a biological condition, such as a blood glucose level, or the like, of the user, and provide data indicative of the blood glucose level to theinfusion device 102, theCCD 106 and/or thecomputer 108. For example, theinfusion device 102, theCCD 106 and/or thecomputer 108 may include a display for presenting information or data to the user based on the sensor data received from thesensing arrangement 104, such as, for example, a current glucose level of the user, a graph or chart of the user's glucose level versus time, device status indicators, alert messages, or the like. In other embodiments, theinfusion device 102, theCCD 106 and/or thecomputer 108 may include electronics and software that are configured to analyze sensor data and operate theinfusion device 102 to deliver fluid to the body of the user based on the sensor data and/or preprogrammed delivery routines. Thus, in exemplary embodiments, one or more of theinfusion device 102, thesensing arrangement 104, theCCD 106, and/or thecomputer 108 includes a transmitter, a receiver, and/or other transceiver electronics that allow for communication with other components of theinfusion system 100, so that thesensing arrangement 104 may transmit sensor data or monitor data to one or more of theinfusion device 102, theCCD 106 and/or thecomputer 108. - Still referring to
FIG. 1 , in various embodiments, thesensing arrangement 104 may be secured to the body of the user or embedded in the body of the user at a location that is remote from the location at which theinfusion device 102 is secured to the body of the user. In various other embodiments, thesensing arrangement 104 may be incorporated within theinfusion device 102. In other embodiments, thesensing arrangement 104 may be separate and apart from theinfusion device 102, and may be, for example, part of theCCD 106. In such embodiments, thesensing arrangement 104 may be configured to receive a biological sample, analyte, or the like, to measure a condition of the user. - In some embodiments, the
CCD 106 and/or thecomputer 108 may include electronics and other components configured to perform processing, delivery routine storage, and to control theinfusion device 102 in a manner that is influenced by sensor data measured by and/or received from thesensing arrangement 104. By including control functions in theCCD 106 and/or thecomputer 108, theinfusion device 102 may be made with more simplified electronics. However, in other embodiments, theinfusion device 102 may include all control functions, and may operate without theCCD 106 and/or thecomputer 108. In various embodiments, theCCD 106 may be a portable electronic device. In addition, in various embodiments, theinfusion device 102 and/or thesensing arrangement 104 may be configured to transmit data to theCCD 106 and/or thecomputer 108 for display or processing of the data by theCCD 106 and/or thecomputer 108. - In some embodiments, the
CCD 106 and/or thecomputer 108 may provide information to the user that facilitates the user's subsequent use of theinfusion device 102. For example, theCCD 106 may provide information to the user to allow the user to determine the rate or dose of medication to be administered into the user's body. In other embodiments, theCCD 106 may provide information to theinfusion device 102 to autonomously control the rate or dose of medication administered into the body of the user. In some embodiments, thesensing arrangement 104 may be integrated into theCCD 106. Such embodiments may allow the user to monitor a condition by providing, for example, a sample of his or her blood to thesensing arrangement 104 to assess his or her condition. In some embodiments, thesensing arrangement 104 and theCCD 106 may be used for determining glucose levels in the blood and/or body fluids of the user without the use of, or necessity of, a wire or cable connection between theinfusion device 102 and thesensing arrangement 104 and/or theCCD 106. - In some embodiments, the
sensing arrangement 104 and/or theinfusion device 102 are cooperatively configured to utilize a closed-loop system for delivering fluid to the user. Examples of sensing devices and/or infusion pumps utilizing closed-loop systems may be found at, but are not limited to, the following U.S. Pat. Nos. 6,088,608, 6,119,028, 6,589,229, 6,740,072, 6,827,702, 7,323,142, and 7,402,153 or United States Patent Application Publication No. 2014/0066889, all of which are incorporated herein by reference in their entirety. In such embodiments, thesensing arrangement 104 is configured to sense or measure a condition of the user, such as, blood glucose level or the like. Theinfusion device 102 is configured to deliver fluid in response to the condition sensed by thesensing arrangement 104. In turn, thesensing arrangement 104 continues to sense or otherwise quantify a current condition of the user, thereby allowing theinfusion device 102 to deliver fluid continuously in response to the condition currently (or most recently) sensed by thesensing arrangement 104 indefinitely. In some embodiments, thesensing arrangement 104 and/or theinfusion device 102 may be configured to utilize the closed-loop system only for a portion of the day, for example only when the user is asleep or awake. -
FIGS. 2-4 depict one exemplary embodiment of a fluid infusion device 200 (or alternatively, infusion pump) suitable for use in an infusion system, such as, for example, asinfusion device 102 in theinfusion system 100 ofFIG. 1 . Thefluid infusion device 200 is a portable medical device designed to be carried or worn by a patient (or user), and thefluid infusion device 200 may leverage any number of conventional features, components, elements, and characteristics of existing fluid infusion devices, such as, for example, some of the features, components, elements, and/or characteristics described in U.S. Pat. Nos. 6,485,465 and 7,621,893. It should be appreciated thatFIGS. 2-4 depict some aspects of theinfusion device 200 in a simplified manner; in practice, theinfusion device 200 could include additional elements, features, or components that are not shown or described in detail herein. - As best illustrated in
FIGS. 2-3 , the illustrated embodiment of thefluid infusion device 200 includes ahousing 202 adapted to receive a fluid-containingreservoir 205. Anopening 220 in thehousing 202 accommodates a fitting 223 (or cap) for thereservoir 205, with the fitting 223 being configured to mate or otherwise interface withtubing 221 of an infusion set 225 that provides a fluid path to/from the body of the user. In this manner, fluid communication from the interior of thereservoir 205 to the user is established via thetubing 221. The illustratedfluid infusion device 200 includes a human-machine interface (HMI) 230 (or user interface) that includeselements display element 226, such as a liquid crystal display (LCD) or another suitable display element, that can be used to present various types of information or data to the user, such as, without limitation: the current glucose level of the patient; the time; a graph or chart of the patient's glucose level versus time; device status indicators; etc. - The
housing 202 is formed from a substantially rigid material having ahollow interior 214 adapted to allow anelectronics assembly 204, a sliding member (or slide) 206, adrive system 208, asensor assembly 210, and a drivesystem capping member 212 to be disposed therein in addition to thereservoir 205, with the contents of thehousing 202 being enclosed by ahousing capping member 216. Theopening 220, theslide 206, and thedrive system 208 are coaxially aligned in an axial direction (indicated by arrow 218), whereby thedrive system 208 facilitates linear displacement of theslide 206 in theaxial direction 218 to dispense fluid from the reservoir 205 (after thereservoir 205 has been inserted into opening 220), with thesensor assembly 210 being configured to measure axial forces (e.g., forces aligned with the axial direction 218) exerted on thesensor assembly 210 responsive to operating thedrive system 208 to displace theslide 206. In various embodiments, thesensor assembly 210 may be utilized to detect one or more of the following: an occlusion in a fluid path that slows, prevents, or otherwise degrades fluid delivery from thereservoir 205 to a user's body; when thereservoir 205 is empty; when theslide 206 is properly seated with thereservoir 205; when a fluid dose has been delivered; when theinfusion device 200 is subjected to shock or vibration; when theinfusion device 200 requires maintenance. - Depending on the embodiment, the fluid-containing
reservoir 205 may be realized as a syringe, a vial, a cartridge, a bag, or the like. In certain embodiments, the infused fluid is insulin, although many other fluids may be administered through infusion such as, but not limited to, HIV drugs, drugs to treat pulmonary hypertension, iron chelation drugs, pain medications, anti-cancer treatments, medications, vitamins, hormones, or the like. As best illustrated inFIGS. 3-4 , thereservoir 205 typically includes areservoir barrel 219 that contains the fluid and is concentrically and/or coaxially aligned with the slide 206 (e.g., in the axial direction 218) when thereservoir 205 is inserted into theinfusion device 200. The end of thereservoir 205 proximate theopening 220 may include or otherwise mate with the fitting 223, which secures thereservoir 205 in thehousing 202 and prevents displacement of thereservoir 205 in theaxial direction 218 with respect to thehousing 202 after thereservoir 205 is inserted into thehousing 202. As described above, the fitting 223 extends from (or through) theopening 220 of thehousing 202 and mates withtubing 221 to establish fluid communication from the interior of the reservoir 205 (e.g., reservoir barrel 219) to the user via thetubing 221 and infusion set 225. The opposing end of thereservoir 205 proximate theslide 206 includes a plunger 217 (or stopper) positioned to push fluid from inside thebarrel 219 of thereservoir 205 along a fluid path throughtubing 221 to a user. Theslide 206 is configured to mechanically couple or otherwise engage with theplunger 217, thereby becoming seated with theplunger 217 and/orreservoir 205. Fluid is forced from thereservoir 205 viatubing 221 as thedrive system 208 is operated to displace theslide 206 in theaxial direction 218 toward theopening 220 in thehousing 202. - In the illustrated embodiment of
FIGS. 3-4 , thedrive system 208 includes amotor assembly 207 and adrive screw 209. Themotor assembly 207 includes a motor that is coupled to drive train components of thedrive system 208 that are configured to convert rotational motor motion to a translational displacement of theslide 206 in theaxial direction 218, and thereby engaging and displacing theplunger 217 of thereservoir 205 in theaxial direction 218. In some embodiments, themotor assembly 207 may also be powered to translate theslide 206 in the opposing direction (e.g., the direction opposite direction 218) to retract and/or detach from thereservoir 205 to allow thereservoir 205 to be replaced. In exemplary embodiments, themotor assembly 207 includes a brushless DC (BLDC) motor having one or more permanent magnets mounted, affixed, or otherwise disposed on its rotor. However, the subject matter described herein is not necessarily limited to use with BLDC motors, and in alternative embodiments, the motor may be realized as a solenoid motor, an AC motor, a stepper motor, a piezoelectric caterpillar drive, a shape memory actuator drive, an electrochemical gas cell, a thermally driven gas cell, a bimetallic actuator, or the like. The drive train components may comprise one or more lead screws, cams, ratchets, jacks, pulleys, pawls, clamps, gears, nuts, slides, bearings, levers, beams, stoppers, plungers, sliders, brackets, guides, bearings, supports, bellows, caps, diaphragms, bags, heaters, or the like. In this regard, although the illustrated embodiment of the infusion pump utilizes a coaxially aligned drive train, the motor could be arranged in an offset or otherwise non-coaxial manner, relative to the longitudinal axis of thereservoir 205. - As best shown in
FIG. 4 , thedrive screw 209 mates withthreads 402 internal to theslide 206. When themotor assembly 207 is powered and operated, thedrive screw 209 rotates, and theslide 206 is forced to translate in theaxial direction 218. In an exemplary embodiment, theinfusion device 200 includes asleeve 211 to prevent theslide 206 from rotating when thedrive screw 209 of thedrive system 208 rotates. Thus, rotation of thedrive screw 209 causes theslide 206 to extend or retract relative to thedrive motor assembly 207. When the fluid infusion device is assembled and operational, theslide 206 contacts theplunger 217 to engage thereservoir 205 and control delivery of fluid from theinfusion device 200. In an exemplary embodiment, theshoulder portion 215 of theslide 206 contacts or otherwise engages theplunger 217 to displace theplunger 217 in theaxial direction 218. In alternative embodiments, theslide 206 may include a threadedtip 213 capable of being detachably engaged withinternal threads 404 on theplunger 217 of thereservoir 205, as described in detail in U.S. Pat. Nos. 6,248,093 and 6,485,465, which are incorporated by reference herein. - As illustrated in
FIG. 3 , theelectronics assembly 204 includescontrol electronics 224 coupled to thedisplay element 226, with thehousing 202 including atransparent window portion 228 that is aligned with thedisplay element 226 to allow thedisplay element 226 to be viewed by the user when theelectronics assembly 204 is disposed within theinterior 214 of thehousing 202. Thecontrol electronics 224 generally represent the hardware, firmware, processing logic and/or software (or combinations thereof) configured to control operation of themotor assembly 207 and/ordrive system 208, as described in greater detail below in the context ofFIG. 5 . Thecontrol electronics 224 is also suitably configured and designed to support various user interface, input/output, and display features of thefluid infusion device 200. Whether such functionality is implemented as hardware, firmware, a state machine, or software depends upon the particular application and design constraints imposed on the embodiment. Those familiar with the concepts described here may implement such functionality in a suitable manner for each particular application, but such implementation decisions should not be interpreted as being restrictive or limiting. In an exemplary embodiment, thecontrol electronics 224 includes one or more programmable controllers that may be programmed to control operation of theinfusion device 200. - The
motor assembly 207 includes one or moreelectrical leads 236 adapted to be electrically coupled to theelectronics assembly 204 to establish communication between thecontrol electronics 224 and themotor assembly 207. In response to command signals from thecontrol electronics 224 that operate a motor driver (e.g., a power converter) to regulate the amount of power supplied to the motor from a power supply, the motor actuates the drive train components of thedrive system 208 to displace theslide 206 in theaxial direction 218 to force fluid from thereservoir 205 along a fluid path (includingtubing 221 and an infusion set), thereby administering doses of the fluid contained in thereservoir 205 into the user's body. Preferably, the power supply is realized one or more batteries contained within thehousing 202. Alternatively, the power supply may be a solar panel, capacitor, AC or DC power supplied through a power cord, or the like. In some embodiments, thecontrol electronics 224 may operate the motor of themotor assembly 207 and/ordrive system 208 in a stepwise manner, typically on an intermittent basis; to administer discrete precise doses of the fluid to the user according to programmed delivery profiles. - Referring to
FIGS. 2-4 , as described above, theuser interface 230 includes HMI elements, such asbuttons 232 and adirectional pad 234, that are formed on agraphic keypad overlay 231 that overlies akeypad assembly 233, which includes features corresponding to thebuttons 232,directional pad 234 or other user interface items indicated by thegraphic keypad overlay 231. When assembled, thekeypad assembly 233 is coupled to thecontrol electronics 224, thereby allowing theHMI elements control electronics 224 and control operation of theinfusion device 200, for example, to administer a bolus of insulin, to change therapy settings, to change user preferences, to select display features, to set or disable alarms and reminders, and the like. In this regard, thecontrol electronics 224 maintains and/or provides information to thedisplay element 226 regarding program parameters, delivery profiles, pump operation, alarms, warnings, statuses, or the like, which may be adjusted using theHMI elements HMI elements display element 226 may be realized as a touch screen or touch-sensitive display, and in such embodiments, the features and/or functionality of theHMI elements display element 226 and theHMI 230 may not be present. In some embodiments, theelectronics assembly 204 may also include alert generating elements coupled to thecontrol electronics 224 and suitably configured to generate one or more types of feedback, such as, without limitation: audible feedback; visual feedback; haptic (physical) feedback; or the like. - Referring to
FIGS. 3-4 , in accordance with one or more embodiments, thesensor assembly 210 includes aback plate structure 250 and aloading element 260. Theloading element 260 is disposed between the cappingmember 212 and abeam structure 270 that includes one or more beams having sensing elements disposed thereon that are influenced by compressive force applied to thesensor assembly 210 that deflects the one or more beams, as described in greater detail in U.S. Pat. No. 8,474,332, which is incorporated by reference herein. In exemplary embodiments, theback plate structure 250 is affixed, adhered, mounted, or otherwise mechanically coupled to thebottom surface 238 of thedrive system 208 such that theback plate structure 250 resides between thebottom surface 238 of thedrive system 208 and thehousing capping member 216. The drivesystem capping member 212 is contoured to accommodate and conform to the bottom of thesensor assembly 210 and thedrive system 208. The drivesystem capping member 212 may be affixed to the interior of thehousing 202 to prevent displacement of thesensor assembly 210 in the direction opposite the direction of force provided by the drive system 208 (e.g., the direction opposite direction 218). Thus, thesensor assembly 210 is positioned between themotor assembly 207 and secured by the cappingmember 212, which prevents displacement of thesensor assembly 210 in a downward direction opposite the direction of the arrow that represents theaxial direction 218, such that thesensor assembly 210 is subjected to a reactionary compressive force when thedrive system 208 and/ormotor assembly 207 is operated to displace theslide 206 in theaxial direction 218 in opposition to the fluid pressure in thereservoir 205. Under normal operating conditions, the compressive force applied to thesensor assembly 210 is correlated with the fluid pressure in thereservoir 205. As shown,electrical leads 240 are adapted to electrically couple the sensing elements of thesensor assembly 210 to theelectronics assembly 204 to establish communication to thecontrol electronics 224, wherein thecontrol electronics 224 are configured to measure, receive, or otherwise obtain electrical signals from the sensing elements of thesensor assembly 210 that are indicative of the force applied by thedrive system 208 in theaxial direction 218. -
FIG. 5 depicts an exemplary embodiment of aninfusion system 500 suitable for use with aninfusion device 502, such as any one of theinfusion devices infusion system 500 is capable of controlling or otherwise regulating a physiological condition in thebody 501 of a patient to a desired (or target) value or otherwise maintain the condition within a range of acceptable values in an automated or autonomous manner. In one or more exemplary embodiments, the condition being regulated is sensed, detected, measured or otherwise quantified by a sensing arrangement 504 (e.g., a blood glucose sensing arrangement 504) communicatively coupled to theinfusion device 502. However, it should be noted that in alternative embodiments, the condition being regulated by theinfusion system 500 may be correlative to the measured values obtained by thesensing arrangement 504. That said, for clarity and purposes of explanation, the subject matter may be described herein in the context of thesensing arrangement 504 being realized as a glucose sensing arrangement that senses, detects, measures or otherwise quantifies the patient's glucose level, which is being regulated in thebody 501 of the patient by theinfusion system 500. - In exemplary embodiments, the
sensing arrangement 504 includes one or more interstitial glucose sensing elements that generate or otherwise output electrical signals (alternatively referred to herein as measurement signals) having a signal characteristic that is correlative to, influenced by, or otherwise indicative of the relative interstitial fluid glucose level in thebody 501 of the patient. The output electrical signals are filtered or otherwise processed to obtain a measurement value indicative of the patient's interstitial fluid glucose level. For example, in one implementation, a sensor of the continuous glucose monitor (CGM) measures glucose indirectly via interstitial fluid using, e.g., a subcutaneous sensor. Interstitial fluid is the fluid that surrounds the cells of the patient's tissue below their skin, and usually glucose moves from their blood vessels and capillaries first and then into their interstitial fluid. Thus, sensor glucose readings are taken by thesensing arrangement 504 from the patient's interstitial fluid, and not from their blood, like finger stick measurements. For purposes of explanation, the calibrated blood glucose values that are calculated based on the electrical signals output by the sensing element(s) of thesensing arrangement 504 may alternatively be referred to herein as the sensor glucose (SG) value, the sensed glucose value, or variants thereof. There is a physiological lag between measurements of interstitial SG values versus blood glucose values. As such, in most cases thesensing arrangement 504 needs to be calibrated using ablood glucose meter 530. To explain further, theblood glucose meter 530 measures blood glucose values directly from a blood stream. As such, blood glucose values can refer to glucose values measured directly from a supply of a patient's blood. In this regard, the terms “blood glucose measurement,” “measured blood glucose,” “blood glucose concentration,” “measured blood glucose concentration,” and the like may refer to a glucose level, a blood glucose level, a blood glucose concentration, or the like, that has been obtained via any type of glucose sensor. In exemplary embodiments, ablood glucose meter 530, such as a finger stick device, is utilized to directly sense, detect, measure or otherwise quantify the blood glucose in thebody 501 of the patient. In this regard, theblood glucose meter 530 outputs or otherwise provides a measured blood glucose value that may be utilized as a reference measurement for calibrating thesensing arrangement 504 and converting a measurement value indicative of the patient's interstitial fluid glucose level into a corresponding calibrated blood glucose value. - In exemplary embodiments, the
infusion system 500 also includes one or moreadditional sensing arrangements body 501 of the patient that is indicative of a condition in thebody 501 of the patient. In this regard, in addition to theglucose sensing arrangement 504, one or more auxiliary sensing arrangements 506 (also referred to herein as a source of activity data or “activity tracker”) may be worn, carried, or otherwise associated with thebody 501 of the patient to measure characteristics or conditions of the patient (or the patient's activity) that may influence the patient's glucose levels or insulin sensitivity. For example, a heartrate sensing arrangement 506 could be worn on or otherwise associated with the patient'sbody 501 to sense, detect, measure or otherwise quantify the patient's heart rate, which, in turn, may be indicative of exercise (and the intensity thereof) that is likely to influence the patient's glucose levels or insulin response in thebody 501. In yet another embodiment, another invasive, interstitial, orsubcutaneous sensing arrangement 506 may be inserted into thebody 501 of the patient to obtain measurements of another physiological condition that may be indicative of exercise (and the intensity thereof), such as, for example, a lactate sensor, a ketone sensor, or the like. Depending on the embodiment, the auxiliary sensing arrangement(s) 506 could be realized as a standalone component worn by the patient, or alternatively, the auxiliary sensing arrangement(s) 506 may be integrated with theinfusion device 502 or theglucose sensing arrangement 504. - The illustrated
infusion system 500 also includes an acceleration sensing arrangement 508 (or accelerometer) that may be worn on or otherwise associated with the patient'sbody 501 to sense, detect, measure or otherwise quantify an acceleration of the patient'sbody 501, which, in turn, may be indicative of exercise or some other condition in thebody 501 that is likely to influence the patient's insulin response. While theacceleration sensing arrangement 508 is depicted as being integrated into theinfusion device 502 inFIG. 5 , in alternative embodiments, theacceleration sensing arrangement 508 may be integrated with anothersensing arrangement body 501 of the patient, or theacceleration sensing arrangement 508 may be realized as a separate standalone component that is worn by the patient. - In the illustrated embodiment, the
pump control system 520 generally represents the electronics and other components of theinfusion device 502 that control operation of thefluid infusion device 502 according to a desired infusion delivery program in a manner that is influenced by the sensed glucose value indicating the current glucose level in thebody 501 of the patient. For example, to support a closed-loop operating mode, thepump control system 520 maintains, receives, or otherwise obtains a target or commanded glucose value, and automatically generates or otherwise determines dosage commands for operating an actuation arrangement, such as amotor 532, to displace theplunger 517 and deliver insulin to thebody 501 of the patient based on the difference between the sensed glucose value and the target glucose value. In other operating modes, thepump control system 520 may generate or otherwise determine dosage commands configured to maintain the sensed glucose value below an upper glucose limit, above a lower glucose limit, or otherwise within a desired range of glucose values. In practice, theinfusion device 502 may store or otherwise maintain the target value, upper and/or lower glucose limit(s), insulin delivery limit(s), and/or other glucose threshold value(s) in a data storage element accessible to thepump control system 520. As described in greater detail, in one or more exemplary embodiments, thepump control system 520 automatically adjusts or adapts one or more parameters or other control information used to generate commands for operating themotor 532 in a manner that accounts for a likely change in the patient's glucose level or insulin response resulting from a meal, exercise, or other activity. - Still referring to
FIG. 5 , the target glucose value and other threshold glucose values utilized by thepump control system 520 may be received from an external component (e.g.,CCD 106 and/or computing device 108) or be input by a patient via auser interface element 540 associated with theinfusion device 502. In practice, the one or more user interface element(s) 540 associated with theinfusion device 502 typically include at least one input user interface element, such as, for example, a button, a keypad, a keyboard, a knob, a joystick, a mouse, a touch panel, a touchscreen, a microphone or another audio input device, and/or the like. Additionally, the one or more user interface element(s) 540 include at least one output user interface element, such as, for example, a display element (e.g., a light-emitting diode or the like), a display device (e.g., a liquid crystal display or the like), a speaker or another audio output device, a haptic feedback device, or the like, for providing notifications or other information to the patient. It should be noted that althoughFIG. 5 depicts the user interface element(s) 540 as being separate from theinfusion device 502, in practice, one or more of the user interface element(s) 540 may be integrated with theinfusion device 502. Furthermore, in some embodiments, one or more user interface element(s) 540 are integrated with thesensing arrangement 504 in addition to and/or in alternative to the user interface element(s) 540 integrated with theinfusion device 502. The user interface element(s) 540 may be manipulated by the patient to operate theinfusion device 502 to deliver correction boluses, adjust target and/or threshold values, modify the delivery control scheme or operating mode, and the like, as desired. - Still referring to
FIG. 5 , in the illustrated embodiment, theinfusion device 502 includes amotor control module 512 coupled to a motor 532 (e.g., motor assembly 207) that is operable to displace a plunger 517 (e.g., plunger 217) in a reservoir (e.g., reservoir 205) and provide a desired amount of fluid to thebody 501 of a patient. In this regard, displacement of theplunger 517 results in the delivery of a fluid, such as insulin, that is capable of influencing the patient's physiological condition to thebody 501 of the patient via a fluid delivery path (e.g., viatubing 221 of an infusion set 225). Amotor driver module 514 is coupled between anenergy source 518 and themotor 532. Themotor control module 512 is coupled to themotor driver module 514, and themotor control module 512 generates or otherwise provides command signals that operate themotor driver module 514 to provide current (or power) from theenergy source 518 to themotor 532 to displace theplunger 517 in response to receiving, from apump control system 520, a dosage command indicative of the desired amount of fluid to be delivered. - In exemplary embodiments, the
energy source 518 is realized as a battery housed within the infusion device 502 (e.g., within housing 202) that provides direct current (DC) power. In this regard, themotor driver module 514 generally represents the combination of circuitry, hardware and/or other electrical components configured to convert or otherwise transfer DC power provided by theenergy source 518 into alternating electrical signals applied to respective phases of the stator windings of themotor 532 that result in current flowing through the stator windings that generates a stator magnetic field and causes the rotor of themotor 532 to rotate. Themotor control module 512 is configured to receive or otherwise obtain a commanded dosage from thepump control system 520, convert the commanded dosage to a commanded translational displacement of theplunger 517, and command, signal, or otherwise operate themotor driver module 514 to cause the rotor of themotor 532 to rotate by an amount that produces the commanded translational displacement of theplunger 517. For example, themotor control module 512 may determine an amount of rotation of the rotor required to produce translational displacement of theplunger 517 that achieves the commanded dosage received from thepump control system 520. Based on the current rotational position (or orientation) of the rotor with respect to the stator that is indicated by the output of therotor sensing arrangement 516, themotor control module 512 determines the appropriate sequence of alternating electrical signals to be applied to the respective phases of the stator windings that should rotate the rotor by the determined amount of rotation from its current position (or orientation). In embodiments where themotor 532 is realized as a BLDC motor, the alternating electrical signals commutate the respective phases of the stator windings at the appropriate orientation of the rotor magnetic poles with respect to the stator and in the appropriate order to provide a rotating stator magnetic field that rotates the rotor in the desired direction. Thereafter, themotor control module 512 operates themotor driver module 514 to apply the determined alternating electrical signals (e.g., the command signals) to the stator windings of themotor 532 to achieve the desired delivery of fluid to the patient. - When the
motor control module 512 is operating themotor driver module 514, current flows from theenergy source 518 through the stator windings of themotor 532 to produce a stator magnetic field that interacts with the rotor magnetic field. In some embodiments, after themotor control module 512 operates themotor driver module 514 and/ormotor 532 to achieve the commanded dosage, themotor control module 512 ceases operating themotor driver module 514 and/ormotor 532 until a subsequent dosage command is received. In this regard, themotor driver module 514 and themotor 532 enter an idle state during which themotor driver module 514 effectively disconnects or isolates the stator windings of themotor 532 from theenergy source 518. In other words, current does not flow from theenergy source 518 through the stator windings of themotor 532 when themotor 532 is idle, and thus, themotor 532 does not consume power from theenergy source 518 in the idle state, thereby improving efficiency. - Depending on the embodiment, the
motor control module 512 may be implemented or realized with a general purpose processor, a microprocessor, a controller, a microcontroller, a state machine, a content addressable memory, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In exemplary embodiments, themotor control module 512 includes or otherwise accesses a data storage element or memory, including any sort of random access memory (RAM), read only memory (ROM), flash memory, registers, hard disks, removable disks, magnetic or optical mass storage, or any other short or long term storage media or other non-transitory computer-readable medium, which is capable of storing programming instructions for execution by themotor control module 512. The computer-executable programming instructions, when read and executed by themotor control module 512, cause themotor control module 512 to perform or otherwise support the tasks, operations, functions, and processes described herein. - It should be appreciated that
FIG. 5 is a simplified representation of theinfusion device 502 for purposes of explanation and is not intended to limit the subject matter described herein in any way. In this regard, depending on the embodiment, some features and/or functionality of thesensing arrangement 504 may implemented by or otherwise integrated into thepump control system 520, or vice versa. Similarly, in practice, the features and/or functionality of themotor control module 512 may implemented by or otherwise integrated into thepump control system 520, or vice versa. Furthermore, the features and/or functionality of thepump control system 520 may be implemented bycontrol electronics 224 located in thefluid infusion device 502, while in alternative embodiments, thepump control system 520 may be implemented by a remote computing device that is physically distinct and/or separate from theinfusion device 502, such as, for example, theCCD 106 or thecomputing device 108. -
FIG. 6 depicts an exemplary embodiment of apump control system 600 suitable for use as thepump control system 520 inFIG. 5 in accordance with one or more embodiments. The illustratedpump control system 600 includes, without limitation, apump control module 602, acommunications interface 604, and a data storage element (or memory) 606. Thepump control module 602 is coupled to thecommunications interface 604 and thememory 606, and thepump control module 602 is suitably configured to support the operations, tasks, and/or processes described herein. In various embodiments, thepump control module 602 is also coupled to one or more user interface elements (e.g.,user interface 230, 540) for receiving user inputs (e.g., target glucose values or other glucose thresholds) and providing notifications, alerts, or other therapy information to the patient. - The
communications interface 604 generally represents the hardware, circuitry, logic, firmware and/or other components of thepump control system 600 that are coupled to thepump control module 602 and configured to support communications between thepump control system 600 and thevarious sensing arrangements communications interface 604 may include or otherwise be coupled to one or more transceiver modules capable of supporting wireless communications between thepump control system sensing arrangement communications interface 604 may be utilized to receive sensor measurement values or other measurement data from eachsensing arrangement infusion system 500. In other embodiments, thecommunications interface 604 may be configured to support wired communications to/from the sensing arrangement(s) 504, 506, 508. In various embodiments, thecommunications interface 604 may also support communications with another electronic device (e.g.,CCD 106 and/or computer 108) in an infusion system (e.g., to upload sensor measurement values to a server or other computing device, receive control information from a server or other computing device, and the like). - The
pump control module 602 generally represents the hardware, circuitry, logic, firmware and/or other component of thepump control system 600 that is coupled to thecommunications interface 604 and configured to determine dosage commands for operating themotor 532 to deliver fluid to thebody 501 based on measurement data received from thesensing arrangements pump control module 602 implements or otherwise executes acommand generation application 610 that supports one or more autonomous operating modes and calculates or otherwise determines dosage commands for operating themotor 532 of theinfusion device 502 in an autonomous operating mode based at least in part on a current measurement value for a condition in thebody 501 of the patient. For example, in a closed-loop operating mode, thecommand generation application 610 may determine a dosage command for operating themotor 532 to deliver insulin to thebody 501 of the patient based at least in part on the current glucose measurement value most recently received from thesensing arrangement 504 to regulate the patient's blood glucose level to a target reference glucose value. Additionally, thecommand generation application 610 may generate dosage commands for boluses that are manually-initiated or otherwise instructed by a patient via a user interface element. - In exemplary embodiments, the
pump control module 602 also implements or otherwise executes apersonalization application 608 that is cooperatively configured to interact with thecommand generation application 610 to support adjusting dosage commands or control information dictating the manner in which dosage commands are generated in a personalized, patient-specific manner. In this regard, in some embodiments, based on correlations between current or recent measurement data and the current operational context relative to historical data associated with the patient, thepersonalization application 608 may adjust or otherwise modify values for one or more parameters utilized by thecommand generation application 610 when determining dosage commands, for example, by modifying a parameter value at a register or location inmemory 606 referenced by thecommand generation application 610. In yet other embodiments, thepersonalization application 608 may predict meals or other events or activities that are likely to be engaged in by the patient and output or otherwise provide an indication of the predicted patient behavior for confirmation or modification by the patient, which, in turn, may then be utilized to adjust the manner in which dosage commands are generated to regulate glucose in a manner that accounts for the patient's behavior in a personalized manner. - Still referring to
FIG. 6 , depending on the embodiment, thepump control module 602 may be implemented or realized with at least one general purpose processor device, a microprocessor, a controller, a microcontroller, a state machine, a content addressable memory, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In this regard, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in firmware, in a software module executed by thepump control module 602, or in any practical combination thereof. In exemplary embodiments, thepump control module 602 includes or otherwise accesses the data storage element ormemory 606, which may be realized using any sort of non-transitory computer-readable medium capable of storing programming instructions for execution by thepump control module 602. The computer-executable programming instructions, when read and executed by thepump control module 602, cause thepump control module 602 to implement or otherwise generate theapplications - It should be understood that
FIG. 6 is a simplified representation of apump control system 600 for purposes of explanation and is not intended to limit the subject matter described herein in any way. For example, in some embodiments, the features and/or functionality of themotor control module 512 may be implemented by or otherwise integrated into thepump control system 600 and/or thepump control module 602, for example, by thecommand generation application 610 converting the dosage command into a corresponding motor command, in which case, the separatemotor control module 512 may be absent from an embodiment of theinfusion device 502. -
FIG. 7 depicts an exemplary closed-loop control system 700 that may be implemented by apump control system control system 700 can be utilized to regulate the delivery of insulin to the patient during an automatic basal insulin delivery operation. It should be appreciated that FIG. 7 is a simplified representation of thecontrol system 700 for purposes of explanation and is not intended to limit the subject matter described herein in any way. - In exemplary embodiments, the
control system 700 receives or otherwise obtains a target glucose value atinput 702. In some embodiments, the target glucose value may be stored or otherwise maintained by the infusion device 502 (e.g., in memory 606), however, in some alternative embodiments, the target value may be received from an external component (e.g.,CCD 106 and/or computer 108). In one or more embodiments, the target glucose value may be calculated or otherwise determined prior to entering the closed-loop operating mode based on one or more patient-specific control parameters. For example, the target blood glucose value may be calculated based at least in part on a patient-specific reference basal rate and a patient-specific daily insulin requirement, which are determined based on historical delivery information over a preceding interval of time (e.g., the amount of insulin delivered over the preceding 24 hours). Thecontrol system 700 also receives or otherwise obtains a current glucose measurement value (e.g., the most recently obtained sensor glucose value) from thesensing arrangement 504 atinput 704. The illustratedcontrol system 700 implements or otherwise provides proportional-integral-derivative (PID) control to determine or otherwise generate delivery commands for operating themotor 532 based at least in part on the difference between the target glucose value and the current glucose measurement value. In this regard, the PID control attempts to minimize the difference between the measured value and the target value, and thereby regulates the measured value to the desired value. PID control parameters are applied to the difference between the target glucose level atinput 702 and the measured glucose level atinput 704 to generate or otherwise determine a dosage (or delivery) command provided atoutput 730. Based on that delivery command, themotor control module 512 operates themotor 532 to deliver insulin to the body of the patient to influence the patient's glucose level, and thereby reduce the difference between a subsequently measured glucose level and the target glucose level. - The illustrated
control system 700 includes or otherwise implements asummation block 706 configured to determine a difference between the target value obtained atinput 702 and the measured value obtained from thesensing arrangement 504 atinput 704, for example, by subtracting the target value from the measured value. The output of the summation block 706 represents the difference between the measured and target values, which is then provided to each of a proportional term path, an integral term path, and a derivative term path. The proportional term path includes again block 720 that multiplies the difference by a proportional gain coefficient, KP, to obtain the proportional term. The integral term path includes anintegration block 708 that integrates the difference and again block 722 that multiplies the integrated difference by an integral gain coefficient, KI, to obtain the integral term. The derivative term path includes aderivative block 710 that determines the derivative of the difference and again block 724 that multiplies the derivative of the difference by a derivative gain coefficient, KD, to obtain the derivative term. The proportional term, the integral term, and the derivative term are then added or otherwise combined to obtain a delivery command that is utilized to operate the motor atoutput 730. Various implementation details pertaining to closed-loop PID control and determining gain coefficients are described in greater detail in U.S. Pat. No. 7,402,153, which is incorporated by reference. - In one or more exemplary embodiments, the PID gain coefficients are patient-specific and dynamically calculated or otherwise determined prior to entering the closed-loop operating mode based on historical insulin delivery information (e.g., amounts and/or timings of previous dosages, historical correction bolus information, or the like), historical sensor measurement values, historical reference blood glucose measurement values, user-reported or user-input events (e.g., meals, exercise, and the like), and the like. In this regard, one or more patient-specific control parameters (e.g., an insulin sensitivity factor, a daily insulin requirement, an insulin limit, a reference basal rate, a reference fasting glucose, an active insulin action duration, pharmodynamical time constants, or the like) may be utilized to compensate, correct, or otherwise adjust the PID gain coefficients to account for various operating conditions experienced and/or exhibited by the
infusion device 502. The PID gain coefficients may be maintained by thememory 606 accessible to thepump control module 602. In this regard, thememory 606 may include a plurality of registers associated with the control parameters for the PID control. For example, a first parameter register may store the target glucose value and be accessed by or otherwise coupled to the summation block 706 atinput 702, and similarly, a second parameter register accessed by theproportional gain block 720 may store the proportional gain coefficient, a third parameter register accessed by theintegration gain block 722 may store the integration gain coefficient, and a fourth parameter register accessed by thederivative gain block 724 may store the derivative gain coefficient. - In one or more exemplary embodiments, one or more parameters of the closed-
loop control system 700 are automatically adjusted or adapted in a personalized manner to account for potential changes in the patient's glucose level or insulin sensitivity resulting from meals, exercise, or other events or activities. For example, in one or more embodiments, the target glucose value may be decreased in advance of a predicted meal event to achieve an increase in the insulin infusion rate to effectively pre-bolus a meal, and thereby reduce the likelihood of postprandial hyperglycemia. Additionally, or alternatively, the time constant or gain coefficient associated with one or more paths of the closed-loop control system 700 may be adjusted to tune the responsiveness to deviations between the measured glucose value and the target glucose value. For example, based on the particular type of meal being consumed or the particular time of day during which the meal is consumed, the time constant associated with thederivative block 710 or derivative term path may be adjusted to make the closed-loop control more or less aggressive in response to an increase in the patient's glucose level based on the patient's historical glycemic response to the particular type of meal. -
FIG. 8 depicts an exemplary embodiment of apatient monitoring system 800. Thepatient monitoring system 800 includes amedical device 802 that is communicatively coupled to asensing element 804 that is inserted into the body of a patient or otherwise worn by the patient to obtain measurement data indicative of a physiological condition in the body of the patient, such as a sensed glucose level. Themedical device 802 is communicatively coupled to aclient device 806 via acommunications network 810, with theclient device 806 being communicatively coupled to aremote device 814 via anothercommunications network 812. In this regard, theclient device 806 may function as an intermediary for uploading or otherwise providing measurement data from themedical device 802 to theremote device 814. It should be appreciated thatFIG. 8 depicts a simplified representation of apatient monitoring system 800 for purposes of explanation and is not intended to limit the subject matter described herein in any way. - In exemplary embodiments, the
client device 806 is realized as a mobile phone, a smartphone, a tablet computer, or other similar mobile electronic device; however, in other embodiments, theclient device 806 may be realized as any sort of electronic device capable of communicating with themedical device 802 vianetwork 810, such as a laptop or notebook computer, a desktop computer, or the like. In exemplary embodiments, thenetwork 810 is realized as a Bluetooth network, a ZigBee network, or another suitable personal area network. That said, in other embodiments, thenetwork 810 could be realized as a wireless ad hoc network, a wireless local area network (WLAN), or local area network (LAN). Theclient device 806 includes or is coupled to a display device, such as a monitor, screen, or another conventional electronic display, capable of graphically presenting data and/or information pertaining to the physiological condition of the patient. Theclient device 806 also includes or is otherwise associated with a user input device, such as a keyboard, a mouse, a touchscreen, or the like, capable of receiving input data and/or other information from the user of theclient device 806. - In exemplary embodiments, a user, such as the patient, the patient's doctor or another healthcare provider, or the like, manipulates the
client device 806 to execute aclient application 808 that supports communicating with themedical device 802 via thenetwork 810. In this regard, theclient application 808 supports establishing a communications session with themedical device 802 on thenetwork 810 and receiving data and/or information from themedical device 802 via the communications session. Themedical device 802 may similarly execute or otherwise implement a corresponding application or process that supports establishing the communications session with theclient application 808. Theclient application 808 generally represents a software module or another feature that is generated or otherwise implemented by theclient device 806 to support the processes described herein. Accordingly, theclient device 806 generally includes a processing system and a data storage element (or memory) capable of storing programming instructions for execution by the processing system, that, when read and executed, cause processing system to create, generate, or otherwise facilitate theclient application 808 and perform or otherwise support the processes, tasks, operations, and/or functions described herein. Depending on the embodiment, the processing system may be implemented using any suitable processing system and/or device, such as, for example, one or more processor devices, central processing units (CPUs), controllers, microprocessors, microcontrollers, processing cores and/or other hardware computing resources configured to support the operation of the processing system described herein. Similarly, the data storage element or memory may be realized as a random-access memory (RAM), read only memory (ROM), flash memory, magnetic or optical mass storage, or any other suitable non-transitory short or long-term data storage or other computer-readable media, and/or any suitable combination thereof. - In one or more embodiments, the
client device 806 and themedical device 802 establish an association (or pairing) with one another over thenetwork 810 to support subsequently establishing a point-to-point or peer-to-peer communications session between themedical device 802 and theclient device 806 via thenetwork 810. For example, in accordance with some embodiments, thenetwork 810 is realized as a Bluetooth network, wherein themedical device 802 and theclient device 806 are paired with one another (e.g., by obtaining and storing network identification information for one another) by performing a discovery procedure or another suitable pairing procedure. The pairing information obtained during the discovery procedure allows either of themedical device 802 or theclient device 806 to initiate the establishment of a secure communications session via thenetwork 810. - In one or more exemplary embodiments, the
client application 808 is also configured to store or otherwise maintain an address and/or other identification information for theremote device 814 on thesecond network 812. In this regard, thesecond network 812 may be physically and/or logically distinct from thenetwork 810, such as, for example, the Internet, a cellular network, a wide area network (WAN), or the like. Theremote device 814 generally represents a server or other computing device configured to receive and analyze or otherwise monitor measurement data, event log data, and potentially other information obtained for the patient associated with themedical device 802. In exemplary embodiments, theremote device 814 is coupled to adatabase 816 configured to store or otherwise maintain data associated with individual patients. In practice, theremote device 814 may reside at a location that is physically distinct and/or separate from themedical device 802 and theclient device 806, such as, for example, at a facility that is owned and/or operated by or otherwise affiliated with a manufacturer of themedical device 802. For purposes of explanation, but without limitation, theremote device 814 may alternatively be referred to herein as a server. - Still referring to
FIG. 8 , thesensing element 804 generally represents the component of thepatient monitoring system 800 that is configured to generate, produce, or otherwise output one or more electrical signals indicative of a physiological condition that is sensed, measured, or otherwise quantified by thesensing element 804. In this regard, the physiological condition of a patient influences a characteristic of the electrical signal output by thesensing element 804, such that the characteristic of the output signal corresponds to or is otherwise correlative to the physiological condition that thesensing element 804 is sensitive to. In exemplary embodiments, thesensing element 804 is realized as an interstitial glucose sensing element inserted at a location on the body of the patient that generates an output electrical signal having a current (or voltage) associated therewith that is correlative to the interstitial fluid glucose level that is sensed or otherwise measured in the body of the patient by thesensing element 804. - The
medical device 802 generally represents the component of thepatient monitoring system 800 that is communicatively coupled to the output of thesensing element 804 to receive or otherwise obtain the measurement data samples from the sensing element 804 (e.g., the measured glucose and characteristic impedance values), store or otherwise maintain the measurement data samples, and upload or otherwise transmit the measurement data to theremote device 814 or server via theclient device 806. In one or more embodiments, themedical device 802 is realized as aninfusion device medical device 802 could be a standalone sensing or monitoring device separate and independent from an infusion device (e.g., sensingarrangement 104, 504). It should be noted that althoughFIG. 8 depicts themedical device 802 and thesensing element 804 as separate components, in practice, themedical device 802 and thesensing element 804 may be integrated or otherwise combined to provide a unitary device that can be worn by the patient. - In exemplary embodiments, the
medical device 802 includes acontrol module 822, a data storage element 824 (or memory), and acommunications interface 826. Thecontrol module 822 generally represents the hardware, circuitry, logic, firmware and/or other component(s) of themedical device 802 that is coupled to thesensing element 804 to receive the electrical signals output by thesensing element 804 and perform or otherwise support various additional tasks, operations, functions and/or processes described herein. Depending on the embodiment, thecontrol module 822 may be implemented or realized with a general purpose processor device, a microprocessor device, a controller, a microcontroller, a state machine, a content addressable memory, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In some embodiments, thecontrol module 822 includes an analog-to-digital converter (ADC) or another similar sampling arrangement that samples or otherwise converts an output electrical signal received from thesensing element 804 into corresponding digital measurement data value. In other embodiments, thesensing element 804 may incorporate an ADC and output a digital measurement value. - The
communications interface 826 generally represents the hardware, circuitry, logic, firmware and/or other components of themedical device 802 that are coupled to thecontrol module 822 for outputting data and/or information from/to themedical device 802 to/from theclient device 806. For example, thecommunications interface 826 may include or otherwise be coupled to one or more transceiver modules capable of supporting wireless communications between themedical device 802 and theclient device 806. In exemplary embodiments, thecommunications interface 826 is realized as a Bluetooth transceiver or adapter configured to support Bluetooth Low Energy (BLE) communications. - In exemplary embodiments, the
remote device 814 receives, from theclient device 806, measurement data values associated with a particular patient (e.g., sensor glucose measurements, acceleration measurements, and the like) that were obtained using thesensing element 804, and theremote device 814 stores or otherwise maintains the historical measurement data in thedatabase 816 in association with the patient (e.g., using one or more unique patient identifiers). Additionally, theremote device 814 may also receive, from or via theclient device 806, meal data or other event log data that may be input or otherwise provided by the patient (e.g., via client application 808) and store or otherwise maintain historical meal data and other historical event or activity data associated with the patient in thedatabase 816. In this regard, the meal data include, for example, a time or timestamp associated with a particular meal event, a meal type or other information indicative of the content or nutritional characteristics of the meal, and an indication of the size associated with the meal. In exemplary embodiments, theremote device 814 also receives historical fluid delivery data corresponding to basal or bolus dosages of fluid delivered to the patient by aninfusion device client application 808 may communicate with aninfusion device infusion device remote device 814 for storage in association with the particular patient. Theremote device 814 may also receive geolocation data and potentially other contextual data associated with adevice client device 806 and/orclient application 808, and store or otherwise maintain the historical operational context data in association with the particular patient. In this regard, one or more of thedevices respective device - The historical patient data may be analyzed by one or more of the
remote device 814, theclient device 806, and/or themedical device 802 to alter or adjust operation of aninfusion device infusion device - In one or more exemplary embodiments, the
remote device 814 utilizes machine learning to determine which combination of historical sensor glucose measurement data, historical delivery data, historical auxiliary measurement data (e.g., historical acceleration measurement data, historical heart rate measurement data, and/or the like), historical event log data, historical geolocation data, and other historical or contextual data are correlated to or predictive of the occurrence of a particular event, activity, or metric for a particular patient, and then determines a corresponding equation, function, or model for calculating the value of the parameter of interest based on that set of input variables. Thus, the model is capable of characterizing or mapping a particular combination of one or more of the current (or recent) sensor glucose measurement data, auxiliary measurement data, delivery data, geographic location, patient behavior or activities, and the like to a value representative of the current probability or likelihood of a particular event or activity or a current value for a parameter of interest. It should be noted that since each patient's physiological response may vary from the rest of the population, the subset of input variables that are predictive of or correlative for a particular patient may vary from other patients. Additionally, the relative weightings applied to the respective variables of that predictive subset may also vary from other patients who may have common predictive subsets, based on differing correlations between a particular input variable and the historical data for that particular patient. It should be noted that any number of different machine learning techniques may be utilized by theremote device 814 to determine what input variables are predictive for a current patient of interest, such as, for example, artificial neural networks, genetic programming, support vector machines, Bayesian networks, probabilistic machine learning models, or other Bayesian techniques, fuzzy logic, heuristically derived combinations, or the like. - The insulin infusion device may incorporate or leverage the control algorithms, processing schemes, and operating methodologies (or suitably modified, updated, or customized versions thereof) of the type described in U.S. Pat. No. 9,526,834 and International (PCT) patent publication number WO 2014/035570; the content of these published documents is incorporated herein by reference.
- Each of the devices or components that are described above with reference to
FIGS. 1-8 can be realized as a computer-based or processor-based component. As such, an exemplary embodiment of a computer-based or processor-baseddevice 900 will be described with reference toFIG. 9 , which is a simplified block diagram representation of an exemplary embodiment of the computer-based or processor-baseddevice 900 that is suitable for deployment in the systems shown inFIGS. 1-8 . In addition, the computer-based or processor-baseddevice 900 that will be described with reference toFIG. 9 can also be used to implement asystem 1000 that includes anestimation model 1040 for estimating glucose values, as will be described below with reference toFIGS. 10-12 . - The illustrated embodiment of the
device 900 is intended to be a high-level and generic representation of one suitable platform. In this regard, any of the computer-based or processor-based components of thesystem 100 can utilize the architecture of thedevice 900. The illustrated embodiment of thedevice 900 generally includes, without limitation: at least oneprocessor 902; a suitable amount ofmemory 904; device-specific hardware, software, firmware, and/or features 906; auser interface 908; acommunication module 910; and adisplay element 912. Of course, an implementation of thedevice 900 may include additional elements, components, modules, and functionality configured to support various features that are unrelated to the subject matter described here. For example, thedevice 900 may include certain features and elements to support conventional functions that might be related to the particular implementation and deployment of thedevice 900. In practice, the elements of thedevice 900 may be coupled together via a bus or anysuitable interconnection architecture 914. - The
processor 902 may be implemented or performed with a general purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination designed to perform the functions described here. Moreover, theprocessor 902 may be implemented as a combination of computing devices, e.g., a combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a digital signal processor core, or any other such configuration. - The
memory 904 may be realized as RAM memory, flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. In this regard, thememory 904 can be coupled to theprocessor 902 such that theprocessor 902 can read information from, and write information to, thememory 904. In the alternative, thememory 904 may be integral to theprocessor 902. As an example, theprocessor 902 and thememory 904 may reside in an ASIC. At least a portion of thememory 904 can be realized as a computer storage medium, e.g., a tangible computer-readable medium having computer-executable instructions stored thereon. The computer-executable instructions, when read and executed by theprocessor 902, cause thedevice 900 to perform certain tasks, operations, functions, and processes that are specific to the particular embodiment. In this regard, thememory 904 may represent one suitable implementation of such computer-readable media. Alternatively, or additionally, thedevice 900 could receive and cooperate with computer-readable media (not separately shown) that is realized as a portable or mobile component or platform, e.g., a portable hard drive, a USB flash drive, an optical disc, or the like. - The device-specific hardware, software, firmware, and features 906 may vary from some embodiments of the
device 900 to another. For example, the device-specific hardware, software, firmware, and features 906 will support: smartphone functions and features when thedevice 900 is realized as a mobile telephone; conventional personal computer functions and features if thedevice 900 is realized as a laptop or tablet computer; insulin pump operations when thedevice 900 is realized as an insulin infusion device; etc. In practice, certain portions or aspects of the device-specific hardware, software, firmware, and features 906 may be implemented in one or more of the other blocks depicted inFIG. 9 . - The
user interface 908 may include or cooperate with various features to allow a user to interact with thedevice 900. Accordingly, theuser interface 908 may include various human-to-machine interfaces, e.g., a keypad, keys, a keyboard, buttons, switches, knobs, a touchpad, a joystick, a pointing device, a virtual writing tablet, a touch screen, a microphone, or any device, component, or function that enables the user to select options, input information, or otherwise control the operation of thedevice 900. Theuser interface 908 may include one or more graphical user interface (GUI) control elements that enable a user to manipulate or otherwise interact with an application via thedisplay element 912. - The
communication module 910 facilitates data communication between thedevice 900 and other components as needed during the operation of thedevice 900. In the context of this description, thecommunication module 910 can be employed to transmit or stream device-related control data, patient-related data, device-related status or operational data, glycemic insight messages and notifications, and the like. It should be appreciated that the particular configuration and functionality of thecommunication module 910 can vary depending on the hardware platform and specific implementation of thedevice 900. In practice, an embodiment of thedevice 900 may support wireless data communication and/or wired data communication, using various data communication protocols. For example, thecommunication module 910 could support one or more wireless data communication protocols, techniques, or methodologies, including, without limitation: RF; IrDA (infrared); Bluetooth; ZigBee (and other variants of the IEEE 802.15 protocol); IEEE 802.11 (any variation); IEEE 802.16 (WiMAX or any other variation); Direct Sequence Spread Spectrum; Frequency Hopping Spread Spectrum; cellular/wireless/cordless telecommunication protocols; wireless home network communication protocols; paging network protocols; magnetic induction; satellite data communication protocols; wireless hospital or health care facility network protocols such as those operating in the WMTS bands; GPRS; and proprietary wireless data communication protocols such as variants of Wireless USB. Moreover, thecommunication module 910 could support one or more wired/cabled data communication protocols, including, without limitation: Ethernet; powerline; home network communication protocols; USB; IEEE 1394 (Firewire); hospital network communication protocols; and proprietary data communication protocols. - The
display element 912 is suitably configured to enable thedevice 900 to render and display various screens, insight messages, notifications, GUIs, GUI control elements, drop down menus, auto-fill fields, text entry fields, message fields, or the like. Of course, thedisplay element 912 may also be utilized for the display of other information during the operation of thedevice 900, as is well understood. Notably, the specific configuration, operating characteristics, size, resolution, and functionality of thedisplay element 910 can vary depending upon the practical implementation of thedevice 900. For example, if thedevice 900 is a laptop computer, then thedisplay element 912 may be a relatively large monitor. Alternatively, if thedevice 900 is a cellular telephone device, then thedisplay element 912 may be a relatively small integrated display screen, such as a touch-sensitive screen. -
FIG. 10 is a block diagram of asystem 1000 for estimating glucose values for a particular user or patient in accordance with the disclosed embodiments. Thesystem 1000 includes anestimation model 1040 that is configured to receivevarious inputs estimation model 1040 can be executed at a processing system. The processing system can be implemented at any of the devices described herein including those illustrated and described above with reference toFIGS. 1 and 8 , and more generically at a computer-based or processor-baseddevice 900 such as that illustrated and described above with reference toFIG. 9 . For instance, the processing system can be implemented at a backend server system, such as, theremote device 814 ofFIG. 8 , at aclient device 806 ofFIG. 8 (e.g., patient's smartphone), at amedical device 802 ofFIG. 8 (e.g., aninsulin infusion device 502 ofFIG. 5 ) or other end device, such as the auxiliary sensing arrangement(s) 506 (or activity tracker device, ring, necklace, vest, etc.) and theblood glucose meter 530 ofFIG. 5 . Thus, in some embodiments, the processing system can be implemented at a backend server system, such as, theremote device 814 ofFIG. 8 . For example, the estimation model can be executed or run as part of a web application at the backend server system, and the backend server system can then communicate the estimated glucose values to a client device (e.g., patient's smartphone), an insulin infusion device or other end device. In another embodiment, the processing system can be implemented at a client device and the estimation model can be executed as part of a mobile application at the client device. In another embodiment, the processing system can be implemented at an insulin infusion device and the estimation model can be executed as part of an application at the insulin infusion device. - In one nonlimiting embodiment, the inputs include
discrete glucose measurements 1010 from a blood glucose meter (BGM),contextual activity data 1020 from an activity tracker or equivalent source of activity data such as a smartphone or other health related device, and optionallycontextual data 1030 from other sources. The contextual activity data 1020 collected from the activity tracker or equivalent source of activity data (e.g., smartphone or other health related device) can include, for example, one or more of: metabolic data about the patient (e.g., calories burned); physical activity data about the user (e.g., heart rate data for the patient, exercise data for the patient, activity type, duration and intensity data, data about a number of steps taken by the patient during a time period, metabolic equivalents and other parameters); data from a fitness or exercise advisor device or application that provides fitness/exercise suggestions or recommendations to users; and other raw contextual data such as accelerometer (x,y,z) data, geolocation data, iBeacon location data, skin temperature data, ambient air temperature data, bioimpedance heart rate data, sweat data (e.g., GSR-conductance), blood pressure data, shake detection data, pedometer data, barometer data, gyroscope data, meal log data, orientation (azimuth, pitch, roll (degrees)) data; health kit data (such as data from Apple® Healthkit, Google® Fit, etc.), medication/prescription information data, user gestures data, uv light detector data, magnetometer data, respiration data, muscle activity data, pulse oximeter data, blood+interstitial fluid pH data, metabolic equivalents (METS) data, sleep quality/time data, EMR and lab data, etc. Thecontextual data 1030 from other sources can include, for example, historical sensor glucose measurement data, historical delivery data, historical auxiliary measurement data such as historical acceleration measurement data, historical heart rate measurement data, skin conductance, and/or the like, historical event log data, historical geolocation data, and other historical or contextual data are correlated to or predictive of the occurrence of a particular event, activity, or metric for a particular patient. Theestimation model 1040 processes at least some of the various inputs to continuously generate estimated glucose values 1080. - In one or more exemplary embodiments, the
remote device 814 ofFIG. 8 utilizes machine learning to determine, based ondiscrete glucose measurements 1010 from a blood glucose meter (e.g. theblood glucose meter 530 ofFIG. 5 ),contextual activity data 1020 from as the auxiliary sensing arrangement(s) 506 (e.g., from “activity tracker” or equivalent source of activity data), and optionallycontextual data 1030 from other sources, to generate continuous estimated glucose values 1080. Depending on the implementation, themachine learning model 1060 can be a corresponding equation, function, or model for calculating the estimatedglucose values 1080 based on the set of input variables. Thus, themachine learning model 1060 is capable of characterizing or mapping a particular combination of inputs to a value representative of the estimated glucose values 1080. - Artificial intelligence is an area of computer science emphasizes the creation of intelligent machines that work and react like humans. Some of the activities computers with artificial intelligence are designed for include learning. Examples of artificial intelligence algorithms include, but are not limited to, key learning, actor critic methods, reinforce, deep deterministic policy gradient (DDPG), multi-agent deep deterministic policy gradient (MADDPG), etc. Machine learning refers to an artificial intelligence discipline geared toward the technological development of human knowledge.
- Machine learning facilitates a continuous advancement of computing through exposure to new scenarios, testing and adaptation, while employing pattern and trend detection for improved decisions and subsequent, though not identical, situations. Machine learning (ML) algorithms and statistical models can be used by computer systems to effectively perform a specific task without using explicit instructions, relying on patterns and inference instead. Machine learning algorithms build a mathematical model based on sample data, known as “training data,” in order to make predictions or decisions without being explicitly programmed to perform the task. Machine learning algorithms can be used when it is infeasible to develop an algorithm of specific instructions for performing the task.
- For example, supervised learning algorithms build a mathematical model of a set of data that contains both the inputs and the desired outputs. The data is known as training data and consists of a set of training examples. Each training example has one or more inputs and a desired output, also known as a supervisory signal. In the case of semi-supervised learning algorithms, some of the training examples are missing the desired output. In the mathematical model, each training example is represented by an array or vector, and the training data by a matrix. Through iterative optimization of an objective function, supervised learning algorithms learn a function that can be used to predict the output associated with new inputs. An optimal function will allow the algorithm to correctly determine the output for inputs that were not a part of the training data. An algorithm that improves the accuracy of its outputs or predictions over time is said to have learned to perform that task. Supervised learning algorithms include classification and regression. Classification algorithms are used when the outputs are restricted to a limited set of values, and regression algorithms are used when the outputs may have any numerical value within a range. Similarity learning is an area of supervised machine learning closely related to regression and classification, but the goal is to learn from examples using a similarity function that measures how similar or related two objects are.
- Reinforcement learning is an area of machine learning concerned with how software agents ought to take actions in an environment so as to maximize some notion of cumulative reward. Due to its generality, the field is studied in many other disciplines, such as game theory, control theory, operations research, information theory, simulation-based optimization, multi-agent systems, swarm intelligence, statistics and genetic algorithms. In machine learning, the environment is typically represented as a Markov Decision Process (MDP). Many reinforcement learning algorithms use dynamic programming techniques. Reinforcement learning algorithms do not assume knowledge of an exact mathematical model of the MDP and are used when exact models are infeasible.
- In accordance with one non-limiting implementation, the
estimation model 1040 can be anensemble model 1050. Anensemble model 1050 includes two or more related, but different analytical models that are run or executed at the same time, where the results generated by each can then be synthesized into a single score or spread in order to improve the accuracy of predictive analytics. To explain further, in predictive modeling and other types of data analytics, a single model based on one data sample can have biases, high variability or outright inaccuracies that can affect the reliability of its analytical findings. By combining different models or analyzing multiple samples, the effects of those limitations can be reduced to provide better information. As such, ensemble methods can use multiple machine learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms alone. - An ensemble is a supervised learning algorithm because it can be trained and then used to make predictions. The trained ensemble, therefore, represents a single hypothesis that is not necessarily contained within the hypothesis space of the models from which it is built. Thus, ensembles can be shown to have more flexibility in the functions they can represent. An ensemble model can include a set of individually trained classifiers (such as neural networks or decision trees) whose predictions are combined.
- For instance, one common example of ensemble modeling is a random forest model which is a type of analytical model that leverages multiple decision trees and is designed to predict outcomes based on different variables and rules. A random forest model blends decision trees that may analyze different sample data, evaluate different factors or weight common variables differently. The results of the various decision trees are then either converted into a simple average or aggregated through further weighting. The emergence of Hadoop and other big data technologies has allowed greater volumes of data to be stored and analyzed, which can allow analytical models to be run on different data samples.
- In some embodiments, the
ensemble model 1050 can include or be built using at least onemachine learning model 1060 and aphysiological model 1070. Thephysiological model 1070 can be, for example, a population-based model of one or more equations (e.g., a set of differential equations) that are generally applicable to any patient, but has different variables or parameters that are weighted in accordance with a particular patient's individual parameters to mimic the physiology of that patient. In other words, because each patient's physiological response may vary from the rest of the population, the relative weightings applied to the respective variables of thephysiological model 1070 may also vary from other patients. Thephysiological model 1070 can be used in conjunction with the machine learning model(s) 1060 to help confine estimations or predictions within a realistic range. - Depending on the implementation, any number of machine learning models can be combined to optimize the
ensemble model 1050. Examples of machine learning algorithms or models that can be implemented at themachine learning model 1060 can include, but are not limited to: regression models such as linear regression, logistic regression, and K-means clustering; one or more decision tree models (e.g., a random forest model); one or more support vector machines; one or more artificial neural networks; one or more deep learning networks (e.g., at least one recurrent neural network, sequence to sequence mapping using deep learning, sequence encoding using deep learning, etc.); fuzzy logic based models; genetic programming models; Bayesian networks or other Bayesian techniques, probabilistic machine learning models; Gaussian processing models; Hidden Markov models; time series methods such as Autoregressive Moving Average (ARMA) models, Autoregressive Integrated Moving Average (ARIMA) models, Autoregressive conditional heteroskedasticity (ARCH) models; generalized autoregressive conditional heteroskedasticity (GARCH) models; moving-average (MA) models or other models; and heuristically derived combinations of any of the above, etc. The types of machine learning algorithms differ in their approach, the type of data they input and output, and the type of task or problem that they are intended to solve. - A Hidden Markov model (HMM) is a statistical Markov model in which the system being modeled is assumed to be a Markov process with unobserved (hidden) states. An HMI can be considered as the simplest dynamic Bayesian network. A Bayesian network, belief network or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independence with a directed acyclic graph (DAG). Bayesian networks that model sequences of variables are called dynamic Bayesian networks. Generalizations of Bayesian networks that can represent and solve decision problems under uncertainty are called influence diagrams.
- Support vector machines (SVMs), also known as support vector networks, are a set of related supervised learning methods used for classification and regression. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that predicts whether a new example falls into one category or the other. An SVM training algorithm is a non-probabilistic, binary, linear classifier. In addition to performing linear classification, SVMs can efficiently perform a non-linear classification using what is called the kernel trick, implicitly mapping their inputs into high-dimensional feature spaces.
- Decision tree learning uses a decision tree as a predictive model to go from observations about an item (represented in the branches) to conclusions about the item's target value (represented in the leaves). Tree models where the target variable can take a discrete set of values are called classification trees; in these tree structures, leaves represent class labels and branches represent conjunctions of features that lead to those class labels. Decision trees where the target variable can take continuous values (typically real numbers) are called regression trees. In decision analysis, a decision tree can be used to visually and explicitly represent decisions and decision making.
- Deep learning algorithms can refer to a collection of algorithms used in machine learning, that are used to model high-level abstractions and data through the use of model architectures, which are composed of multiple nonlinear transformations. Deep learning is a specific approach used for building and training neural networks. Deep learning consists of multiple hidden layers in an artificial neural network. Examples of deep learning algorithms can include, for example, Siamese networks, transfer learning, recurrent neural networks (RNNs), long short term memory (LSTM) networks, convolutional neural networks (CNNs), transformers, etc. For instance, deep learning approaches can make use of autoregressive Recurrent Neural Networks (RNN), such as the long short-term memory (LSTM) and the Gated Recurrent Unit (GRU). One neural network architecture for time series forecasting using RNNs (and variants) is an autoregressive seq2seq neural network architecture, which acts as an autoencoder.
- In some embodiments, the
ensemble model 1050 can include one or more deep learning algorithms. It should be noted that any number of different machine learning techniques may also be utilized. Depending on the implementation, theensemble model 1050 can be implemented as a bootstrap aggregating ensemble algorithm (also referred to as a bagging classifier method), as a boosting ensemble algorithm or classifier algorithm, as a stacking ensemble algorithm or classifier algorithm, as bucket of models ensemble algorithms, as Bayes optimal classifier algorithms, as Bayesian parameter averaging algorithms, as Bayesian model combination algorithms, etc. - Bootstrap aggregating, often abbreviated as bagging, involves having each model in the ensemble vote with equal weight. In order to promote model variance, bagging trains each model in the ensemble using a randomly drawn subset of the training set. As an example, the random forest algorithm combines random decision trees with bagging to achieve very high classification accuracy. A bagging classifier or ensemble method creates individuals for its ensemble by training each classifier on a random redistribution of the training set. Each classifier's training set can be generated by randomly drawing, with replacement, N examples—where N is the size of the original training set; many of the original examples may be repeated in the resulting training set while others may be left out. Each individual classifier in the ensemble is generated with a different random sampling of the training set. Bagging is effective on “unstable” learning algorithms (e.g., neural networks and decision trees), where small changes in the training set result in large changes in predictions.
- By contrast, boosting involves incrementally building an ensemble by training each new model instance to emphasize the training instances that previous models mis-classified. In some cases, boosting has been shown to yield better accuracy than bagging, but it also tends to be more likely to over-fit the training data. A boosting classifier can refer to a family of methods that can be used to produce a series of classifiers. The training set used for each member of the series is chosen based on the performance of the earlier classifier(s) in the series. In boosting, examples that are incorrectly predicted by previous classifiers in the series are chosen more often than examples that were correctly predicted. Thus, boosting attempts to produce new classifiers that are better able to predict examples for which the current ensemble's performance is poor. A common implementation of boosting is Adaboost, although some newer algorithms are reported to achieve better results.
- Stacking (sometimes called stacked generalization) involves training a learning algorithm to combine the predictions of several other learning algorithms. Stacking works in two phases: multiple base classifiers are used to predict the class, and then a new learner is used to combine their predictions with the aim of reducing the generalization error. First, all of the other algorithms are trained using the available data, then a combiner algorithm is trained to make a final prediction using all the predictions of the other algorithms as additional inputs. If an arbitrary combiner algorithm is used, then stacking can theoretically represent any of the ensemble techniques described in this article, although, in practice, a logistic regression model is often used as the combiner.
- A “bucket of models” is an ensemble technique in which a model selection algorithm is used to choose the best model for each problem. When tested with only one problem, a bucket of models can produce no better results than the best model in the set, but when evaluated across many problems, it will typically produce much better results, on average, than any model in the set. One common approach used for model-selection is cross-validation selection (sometimes called a “bake-off contest”). Cross-validation selection can be summed up as try them all with the training set and pick the one that works best. Gating is a generalization of Cross-Validation Selection. It involves training another learning model to decide which of the models in the bucket is best-suited to solve the problem. Often, a perceptron is used for the gating model. It can be used to pick the “best” model, or it can be used to give a linear weight to the predictions from each model in the bucket. When a bucket of models is used with a large set of problems, it may be desirable to avoid training some of the models that take a long time to train. Landmark learning is a meta-learning approach that seeks to solve this problem. It involves training only the fast (but imprecise) algorithms in the bucket, and then using the performance of these algorithms to help determine which slow (but accurate) algorithm is most likely to do best.
- The Bayes optimal classifier is a classification technique. It is an ensemble of all the hypotheses in the hypothesis space. On average, no other ensemble can outperform it. The naive Bayes optimal classifier is a version of this that assumes that the data is conditionally independent on the class and makes the computation more feasible. Each hypothesis is given a vote proportional to the likelihood that the training dataset would be sampled from a system if that hypothesis were true. To facilitate training data of finite size, the vote of each hypothesis is also multiplied by the prior probability of that hypothesis. The hypothesis represented by the Bayes optimal classifier, however, is the optimal hypothesis in ensemble space (the space of all possible ensembles.
- Bayesian parameter averaging (BPA) is an ensemble technique that seeks to approximate the Bayes optimal classifier by sampling hypotheses from the hypothesis space and combining them using Bayes' law. Unlike the Bayes optimal classifier, Bayesian model averaging (BMA) can be practically implemented. Hypotheses are typically sampled using a Monte Carlo sampling technique such as MCMC. For example, Gibbs sampling may be used to draw hypotheses that are representative of a distribution. It has been shown that under certain circumstances, when hypotheses are drawn in this manner and averaged according to Bayes' law, this technique has an expected error that is bounded to be at most twice the expected error of the Bayes optimal classifier.
- Bayesian model combination (BMC) is an algorithmic correction to Bayesian model averaging (BMA). Instead of sampling each model in the ensemble individually, it samples from the space of possible ensembles (with model weightings drawn randomly from a Dirichlet distribution having uniform parameters). This modification overcomes the tendency of BMA to converge toward giving all of the weight to a single model. Although BMC is somewhat more computationally expensive than BMA, it tends to yield dramatically better results. The results from BMC have been shown to be better on average (with statistical significance) than BMA, and bagging. The use of Bayes' law to compute model weights necessitates computing the probability of the data given each model. Typically, none of the models in the ensemble are exactly the distribution from which the training data were generated, so all of them correctly receive a value close to zero for this term. This would work well if the ensemble were big enough to sample the entire model-space, but such is rarely possible. Consequently, each pattern in the training data will cause the ensemble weight to shift toward the model in the ensemble that is closest to the distribution of the training data. It essentially reduces to an unnecessarily complex method for doing model selection. The possible weightings for an ensemble can be visualized as lying on a simplex. At each vertex of the simplex, all of the weight is given to a single model in the ensemble. BMA converges toward the vertex that is closest to the distribution of the training data. By contrast, BMC converges toward the point where this distribution projects onto the simplex. In other words, instead of selecting the one model that is closest to the generating distribution, it seeks the combination of models that is closest to the generating distribution. The results from BMA can often be approximated by using cross-validation to select the best model from a bucket of models. Likewise, the results from BMC may be approximated by using cross-validation to select the best ensemble combination from a random sampling of possible weightings.
-
FIG. 11 is a flowchart that illustrates amethod 1100 for generating an estimation model for a particular patient in accordance with the disclosed embodiments. Themethod 1100 begins at 1110 where a computing system trains multiple generic estimation models. Each generic estimation model can be modeled for a particular group of users. At 1120, the computing system tests the generic estimation models, and then at 1130, the computing system validates the generic estimation models. For example, in some embodiments, the computing system can train multiple population-base models fortype 1 andtype 2 patients using different combinations of demographic parameters such as age, gender, location and diabetes history such as diabetes onset, years on insulin, therapy type using existing BG, insulin, meal information, activity data from an activity tracker, and CGM data to train, test and validate the models. - Once all the generic estimation models have been validated, the
method 1100 proceeds to 1140, where the computing system determines, based on characteristics of a particular user or patient, an applicable generic estimation model that is the best fit for that particular patient based on characteristics of that particular patient. The particular generic estimation model that is applicable for a particular patient varies based on the characteristics of that particular patient. - At 1150, the computing system can then update the particular generic estimation model that was deployed at 1140 based on data that was collected for that particular patient to generate an estimation model for that particular patient. In other words, parameters of the generic estimation model that was selected and deployed 1140 can be updated and fine-tuned at 150 based on data that was collected for the particular patient in order to customize that generic estimation model such that it becomes an estimation model for that particular patient.
- After the estimation model for that particular patient has been generated at 1150 it can be executed and updated any time new data is received for that patient. For example, in some embodiments, the new data can come from the blood glucose meter data (e.g., new blood glucose measurements), new contextual activity data that is received for that patient from the activity tracker, and/or new contextual data that is received for that patient from other sources. In one implementation, the estimation model for that particular patient can be updated each time there is a new data from the BGM. In another embodiment, the new data can be from a continuous glucose monitor. For instance, the CGM can be used periodically to collect CGM data for the particular patient for a certain period of time (e.g., for two weeks), and this newly collected CGM data can then be used to assess performance of the estimation model and/or update or re-train the estimation model for that particular patient. In addition, the CGM data can also be used to train and update the generic estimation models that were described above with reference to step 1110. Furthermore, in some implementations, the CGM data can also be used at 1140 to select and deploy a different one of the generic estimation models for the particular patient.
- As such, at 1160, the computing system regularly determines whether new data is received, and if so, the method proceeds to 1170 where the estimation model for that particular patient is updated based on the new data to generate an updated estimation model that can be executed at a processing system (as will be described below).
- After the estimation model for that particular patient is updated based on the new data at 1170, the method loops to 1160. As the estimation model for the particular patient is updated it becomes more fine-tuned and can be used to generate better estimated glucose values for the patient. In any point the estimation model can be used to estimate glucose values for the patient. One non-limiting embodiment will now be described with respect to
FIG. 12 where an estimation model is used to estimate glucose values for a patient. -
FIG. 12 is a flowchart of amethod 1200 in accordance with the disclosed embodiments. At 1210, a processing system can receive intermittent glucose measurements from a blood glucose meter. At 1220 the processing system can also receive contextual activity data from an activity tracker. At 1230, the processing system can also optionally receive other contextual data from other sources that are described above. In some embodiments, a first set of inputs comprising a sequence of intermittent blood glucose measurements are received from the calibrated blood glucose meter, and a second set of user inputs comprising contextual activity data collected from the user by an activity tracker are received from the activity tracker. Optionally, the other contextual data from other sources can include, for example, a third set of inputs from an insulin infusion device comprising insulin dispensed by the insulin infusion device and/or a fourth set of inputs comprising user entries that describe meal information. - At 1240, a processing system can execute the machine learning-based estimation model for that patient to process the various inputs from
steps - Steps 1250-1280 are optional and relate to when and how the estimated glucose values can be used within the context of an insulin management system for diabetes management. For example, in one implementation, at 1250, the computing system can monitor the set or sequence of estimated glucose values (e.g., discrete estimates of blood glucose levels) to determine if the sequence of the estimated glucose values are within an acceptable accuracy range that allows them to be used by an insulin management system. How the computing system can determine if the sequence of the estimated glucose values are within an acceptable accuracy range can vary depending on the implementation. For example, in some embodiments, the computing system can determine if the sequence of the estimated glucose values are within an acceptable accuracy range by measuring a difference between estimated glucose value and intermittent glucose measurements from a blood glucose meter (or equivalent device) and then comparing that difference to an accuracy threshold. In another embodiment, the computing system can determine if the sequence of the estimated glucose values are within an acceptable accuracy range by measuring difference between estimated glucose value and periodic measurements that were taken by a CGM device and then comparing that difference to an accuracy threshold.
- When the estimated glucose values are determined (at 1250) to not be within an acceptable accuracy range that allows them to be used by an insulin management system, the
method 1200 proceeds to 1260, where a notification or an alert can be generated that can be perceptible to the patient or another user who is monitoring the patient. For example, in some embodiments, when the estimated glucose values are not in acceptable accuracy ranges, a notification or alert can be generated to inform the user that they should not trust the estimated glucose values being generated by the estimation model and to recommend that the user to wear another sensor (e.g., CGM) to retrain the estimation model. Any number of alerting methodologies can be employed atstep 1260, including, but not limited to, presenting (via a display device) graphical elements and text associated with notifications and alerts for the glucose control system (seereference 100,FIG. 1 ). In some embodiments, notifications and alerts can be presented by an insulin pump device associated with a computing device and/or presented via a communicatively coupled personal computing device (e.g., a laptop computer, a tablet computer, a smartphone). Such notifications and alerts may include, without limitation: audio alerts (e.g., sound effects, articulated speech alerts, alarms), visual alerts (e.g., graphical elements and text presented via user interface or display of the insulin delivery pump, text effects, flashing or otherwise activated lights, color changes), text alerts (e.g., a text-based message transmitted via Short Message Service (SMS), an email message transmitted via the internet), and/or any other type of alert generated to attract the attention of the user. In addition, in some embodiments, when it is determined (at 1250) that the estimated glucose values are not within an acceptable accuracy range (that allows them to be used by an insulin management system), one or more displays may be controlled so that the estimated glucose values are not presented to the user. Following 1260, themethod 1200 can then end at 1270. - When the estimated glucose values are determined (at 1250) to be within an acceptable accuracy range that allows them to be used by an insulin management system, the
method 1200 proceeds to 1280, where the estimated glucose values can be utilized the insulin delivery system, and estimates can continue to be generated in near real-time. The actions that can be taken at the insulin delivery system based on the estimated glucose values vary depending on the implementation. For example, actions that can be taken at the insulin delivery system based on the estimated glucose values can include controlling an insulin infusion device based on the estimated glucose values so that it administers insulin to a patient, or generating a notification or an alert, based on the estimated glucose values, that can be perceptible to the patient or another user who is monitoring the patient. As will be described below, the corrective actions and the notifications or alerts that can be generated vary depending on the implementation. - For example, in one implementation of
step 1280, the computing system operates cooperatively with an insulin delivery system and the machine learning-based estimation model to monitor estimated glucose levels of a patient, and to identify abnormalities in the estimated glucose levels. For example, the computing system can monitor the set or sequence of estimated glucose values (e.g., discrete estimates of blood glucose levels) to determine if the sequence of the estimated glucose values are within a low range, a high range, or an acceptable range. For instance, hypoglycemia is a deficiency of glucose in the bloodstream of the patient or user of the insulin delivery pump. Hypoglycemia may be generally associated with glucose values below 70 milligrams per deciliter (mg/dL), depending on certain patient-specific factors. Hyperglycemia is an excess of glucose in the bloodstream of the patient or user of the insulin delivery pump and may be generally associated with glucose values above 180 mg/dL, depending on certain patient-specific factors. Normal, healthy blood glucose levels, over every 24-hour cycle, generally range between 70 and 160 mg/dL. An abnormality in a sequence of blood glucose levels may include blood glucose levels below a predefined hypoglycemia threshold, blood glucose levels above a predefined hyperglycemia threshold, a decreasing blood glucose trend approaching or below a predefined hypoglycemia threshold, an increasing blood glucose trend approaching or above a predefined hyperglycemia threshold, or the like. - The abnormality indicates that a corrective action is required to maintain blood glucose stability at appropriate levels. Abnormalities in blood glucose levels require intervention to bring the patient's blood glucose levels into a safe and healthy range. As such, when the estimated glucose values are not within an acceptable range, the
method 1200 can proceed to 1280, where a corrective action can be taken at the insulin infusion device to deliver the patient an amount of insulin required to adequately treat the blood glucose abnormality to bring the blood glucose levels of the patient within normal limits and/or regulate their blood sugar levels. For example, in some embodiments, the estimated glucose values can be used to control and drive an insulin infusion device so that it administers insulin to a patient. - Exemplary embodiments of corrective actions are disclosed in, for example, in U.S. patent application Ser. No. 16/129,552, filed Sep. 12, 2018, entitled “SYSTEMS AND METHODS FOR ALERTING A USER TO DETECTED EFFECTS OF A RECENT THERAPY ADJUSTMENT,” and assigned to the assignee of the present invention, which is incorporated herein by reference in its entirety. Any number of corrective actions or intervention methodologies can be employed at
step 1280, such as, administration of a bolus of insulin (to decrease blood glucose levels) or administration of a quantity of carbohydrates, glucose, or other medication (to increase blood glucose levels). In other words, the corrective action may include the administration of a bolus of insulin (to decrease hyperglycemic blood glucose levels) or the administration of a dose of carbohydrates (to increase hypoglycemic blood glucose levels). - In addition, in some embodiments, at
step 1280, the computing system operates cooperatively with an insulin delivery system (e.g., insulin pump or manual insulin injection device such as an insulin pen) and the machine learning-based estimation model to monitor estimated glucose levels of a patient, and to generate a notification or an alert, based on the estimated glucose values, that can be perceptible to the patient or another user who is monitoring the patient (e.g., to inform the patient or the user of any abnormalities that are detected when the estimated glucose values are within the low range that is too low or within the high range that is too high). For instance, a notification or alert can be sent to the user to alert them that estimated glucose values are abnormal and help drive decision support for medication administration. Exemplary embodiments of alerts are disclosed, for example, in U.S. patent application Ser. No. 16/129,552, filed Sep. 12, 2018, entitled “SYSTEMS AND METHODS FOR ALERTING A USER TO DETECTED EFFECTS OF A RECENT THERAPY ADJUSTMENT,” and assigned to the assignee of the present invention, which is incorporated herein by reference in its entirety. Any number of alerting methodologies can be employed atstep 1280, including, but not limited to, presenting (via a display device) graphical elements and text associated with notifications and alerts for the glucose control system (seereference 100,FIG. 1 ). In some embodiments, notifications and alerts can be presented by an insulin pump device associated with a computing device and/or presented via a communicatively coupled personal computing device (e.g., a laptop computer, a tablet computer, a smartphone). Such notifications and alerts may include, without limitation: audio alerts (e.g., sound effects, articulated speech alerts, alarms), visual alerts (e.g., graphical elements and text presented via user interface or display of the insulin delivery pump, text effects, flashing or otherwise activated lights, color changes), text alerts (e.g., a text-based message transmitted via Short Message Service (SMS), an email message transmitted via the internet), and/or any other type of alert generated to attract the attention of the user. - For example, a presentation module can identify appropriate graphical elements for presentation via a display device that identify a current estimated blood glucose level (e.g., various icons, text, and/or graphical elements associated with estimated blood glucose levels of a patient), a detected indication of a change of direction in the sequence of blood glucose levels, timing data associated with a detected indication of a change of direction in the sequence of blood glucose levels, an indication that a corrective action should be taken by a user, confirmation of a user-input indication that a corrective action has been completed by a user, and the like.
- For example, a display device can display, render, or otherwise convey one or more graphical representations or images associated with blood glucose levels, an indication of a change of direction in a blood glucose trend, and/or notifications or alerts associated with blood glucose levels on the display device. In some embodiments, an alert can notify the patient of an over-corrected or under-corrected abnormality. For instance, in one implementation, an alert can be presented via the insulin delivery pump or a manual insulin injection device (e.g., insulin pen), such that the patient is informed that an administered corrective action has not affected the blood glucose levels of the patient in the desired manner (e.g., that the corrective action has over-corrected or under-corrected the abnormality).
- In some embodiments, an alert can be presented to prompt a user to perform a corrective action, in response to a detected abnormality (e.g., blood glucose levels that are too high or too low). For example, when the abnormality includes blood glucose levels that are too high, the user (patient or health care partner) can be prompted to input a command for the insulin delivery pump to administer a bolus of insulin, via the insulin deliver pump, to treat the high blood glucose levels. Alternatively, a notification can provide health care providers with information to adjust basal rate settings of an inulin infusion device so that they are appropriate for a particular patient to meet their needs. In another embodiment, when the abnormality includes blood glucose levels that are too high, the user (patient or health care partner) can be prompted to input a command at a manual insulin injection device (e.g., insulin pen) to administer insulin. By contrast, when the abnormality includes blood glucose levels that are too low, the alert can prompt the user to administer a dose of carbohydrates to treat the low blood glucose levels.
- Additionally, the estimated glucose values can be utilized by other downstream systems, such as a fitness or exercise advisor device or application that provides fitness/exercise suggestions or recommendations to users. For instance, the estimated glucose values can be utilized in conjunction with a predicted exercise level in the short future (using similar exercise pattern from the past few minutes) to tell patient if keeping current level of activity will reduce hyperglycemia or introduce hypoglycemia.
- After 1280, the
method 1280 can loop to the start, and then proceeds tosteps -
FIG. 13 is a block diagram of aworkflow process 1300 for generating apersonalized model 1350 that is optimized for estimating glucose values for a particular user or patient in accordance with the disclosed embodiments. Theworkflow process 1300 starts at 1310 where data for multiple users is collected. Examples of this data will be described in greater detail below. At 1320, population model learning processes can be performed to generate a set of one or more population models. In one non-limiting embodiment, a deep learning network can be used to develop a generic estimation model that is based on learned characteristics of a population of users. Nonlimiting examples of the various processes that can be performed as part of 1320 will be described below with reference toFIGS. 14 through 22 . - At 1330, at least one of the population models can be selected, and at 1340, personalized model learning processes can be performed to personalize a selected population model for each particular user. In one non-limiting embodiment, once the population model is developed, the generic, estimation model can be adapted or trained, based on learned characteristics of a particular user (e.g., patient), to generate a personalized estimation model that is optimized for estimating blood glucose of that particular user. The personalized model learning processes 1340 can be performed for any number of users to personalize a
population model 1330 selected for each user to generate apersonalized model 1350 that is personalized for each user. Nonlimiting examples of the various processes that can be performed as part of 1330 will be described below with reference toFIGS. 23 through 29 . - Once the personalized model is generated it can be used for a variety of purposes including to provide insulin therapy to a particular user without the need for a glucose sensor such as a continuous glucose monitor.
- Various embodiments of population model learning processes that can be performed will now be described below with reference to
FIGS. 14 through 22 . In those descriptions, like reference numbers refer to similar elements throughout the figures. -
FIG. 14 is a block diagram of amachine learning system 1400 for generating an optimizedpopulation model 1470 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. - During this part of the workflow process data for multiple users is collected for processing. In this example, the data that is collected can include, but is not limited to, discrete
glucose measurement data 1410 from the blood glucose meter or other sensor arrangement that provides discrete glucose measurements,contextual data 1420 from the source of user activity data (e.g., from an activity tracker, electrodermal activity sensor, temperature sensor, oxygen monitor, etc.), andcontextual data 1430 from the other sources such as nutritional information about meals consumed by a user, insulin delivered to the user by an insulin infusion device of the user. - Data for each of the inputs can be collected for any number of users for a time period. Stated differently, for each user within a population, data can be collected for different input channels. Each of the different input channels can represent a different variable being measured for each user. In some embodiments, the different input channels can include (1) time of day, (2) a blood glucose level, (3) a blood glucose (BG) measurement from a sensor such as a blood glucose meter, activity data including (4) heart rate (beats per minute), (5) METS and (6) number of steps, (7) active insulin, (8) carbohydrates on board, etc. Active insulin can refer to bolus insulin that has already been delivered to a user's body, but that has not yet been used. An active insulin setting can be considered in determining any active insulin still in a user's body from their prior boluses and that could continue to lower their blood glucose.
- In some embodiments, the discrete
glucose measurement data 1410,contextual data 1420 from the source of user activity data andcontextual data 1430 from the other sources can then be processed at apopulation learning processor 1440 to generate the optimizedpopulation model 1470. In this example, as part of the learning process, thepopulation learning processor 1440 can perform various processing tasks with respect to the discreteglucose measurement data 1410 from the blood glucose meter,contextual data 1420 from the source of user activity data andcontextual data 1430 from the other sources to generate the optimizedpopulation model 1470. For example, thepopulation learning processor 1440 can apply various machine learning models 1450 including any described herein, such as deep learning models including but not limited to CNNs and RNNs, to the discreteglucose measurement data 1410 from the blood glucose meter,contextual data 1420 from the source of user activity data andcontextual data 1430 from the other sources. For instance, in some embodiments, a deep learning network can perform a deep learning process to process a feature matrix to generate a sequence of estimated blood glucose values. - The
population learning processor 1440 can also perform various parameter optimizations based on the discreteglucose measurement data 1410 from the blood glucose meter,contextual data 1420 from the source of user activity data andcontextual data 1430 from the other sources. For example, one or more machine learning or deep learning model(s) can learn the transfer function or mapping from a series of inputs (e.g., discreteglucose measurement data 1410 from the blood glucose meter,contextual data 1420 from the source of user activity data andcontextual data 1430 from the other sources) to a glucose measurement from a glucose sensor. This mapping can be on any time interval such that the model estimates anywhere from a single glucose value to a series of glucose values continuous in time. Each machine learning or deep learning model may have one or more parameters that need to be identified to specify the mathematical transfer function. Parameter optimization generally includes an objective function that is minimized. The objective function measures the mathematical agreement between the estimated output of the model with the actual measured data. Parameters are typically interactively adjusted until the objective function is optimized. The optimization process terminates once the level of agreement reaches a desired threshold or no longer improves. -
FIG. 15 is a block diagram of a windowedmachine learning system 1500 for generating an optimizedwindow population model 1570 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 1500 is similar to the structure of themachine learning system 1400 described above with reference toFIG. 14 . As such, components or blocks shown inFIG. 14 will not be described in detail again in conjunction withFIG. 15 . - As in
FIG. 14 , data for multiple users is collected for processing that can include, but is not limited to, discreteglucose measurement data 1510 from the blood glucose meter,contextual data 1520 from the source of user activity data, andcontextual data 1530 from the other sources. However, in this embodiment, prior to providing the data to thepopulation learning processor 1540 for processing, the data is provided to awindow filter 1535. Thewindow filter 1535 can split the data into different time windows. In other words, the collected data can be sequentially split or divided into a series of time windows. Each time window can have a period that is less than the overall period that the data was collected over. Each time window includes data that was collected for the different input channels or variables (for each user of the population). - In this embodiment, each time window can include a discrete segment of the discrete
glucose measurement data 1510,contextual data 1520 from the source of user activity data andcontextual data 1530. Each time window can then be processed at thepopulation learning processor 1540 to generate the optimizedwindow population model 1570 corresponding to a particular time window. As part of the learning process, thepopulation learning processor 1540 can perform various processing tasks described above with reference toFIG. 14 except that the tasks are performed on data taken over a particular time window to generate the optimizedwindow population model 1570. Each instance of the optimizedwindow population model 1570 performs inference on a discrete specified time segment of the input data. For example, in some embodiments, if a window period of two hours is considered, the optimized window population model would be the model that performs best (e.g. lowest error) for input data segmented to two hour periods. -
FIG. 16 is a block diagram of another windowedmachine learning system 1600 for generating an optimizedwindow population model 1670 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 1600 is similar to the structure of the windowedmachine learning systems FIGS. 14 and 15 . As such, components or blocks shown inFIGS. 14 and 15 will not be described in detail again in conjunction withFIG. 16 . - As in
FIGS. 14 and 15 , data for multiple users is collected that can include, but is not limited to, discreteglucose measurement data 1610 from the blood glucose meter,contextual data 1620 from the source of user activity data, andcontextual data 1630 from the other sources. Prior to providing the data to thepopulation learning processor 1640 for processing, the data is provided to awindow filter 1635 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 1610,contextual data 1620 from the source of user activity data andcontextual data 1630. Data from each time window can then be processed at thepopulation learning processor 1640 to generate an output (e.g., set of estimated glucose values) corresponding to a particular time window, as described above with reference toFIG. 15 . As part of the learning process, thepopulation learning processor 1640 can perform various processing tasks described above with reference toFIG. 14 except that the tasks are performed on data taken over a particular time window to generate the optimizedwindow population model 1570. - In this embodiment, a
window joining processor 1665 is provided that can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and when building the model, the stored outputs corresponding to each of the time windows can then be sequentially linked together (e.g., assembled/concatenated) to create the estimation model for the population of users. For example, in some embodiments, if a two hour window filter is considered, the output of the population model (estimated glucose values) would be limited to two hours, as such to generate a longer period output, multiple outputs from multiple windows may be joined. For instance, three two-hour outputs may be joined to generate a six hour model output. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. -
FIG. 17 is a block diagram of another windowedmachine learning system 1700 for generating an optimizedwindow population model 1770 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 1700 is similar to the structure of the windowedmachine learning system FIGS. 14-16 . As such, components or blocks shown inFIGS. 14-16 will not be described in detail again in conjunction withFIG. 17 . - As in
FIG. 14-16 , data for multiple users is collected that can include, but is not limited to, discreteglucose measurement data 1710 from the blood glucose meter,contextual data 1720 from the source of user activity data, andcontextual data 1730 from the other sources. Prior to providing the data to thepopulation learning processor 1740 for processing, the data is provided to awindow filter 1735 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 1710,contextual data 1720 from the source of user activity data andcontextual data 1730. Data from each time window can then be processed at thepopulation learning processor 1740 to generate an optimizedwindow population model 1570 corresponding to a particular time window, as described above with reference toFIG. 15 . As part of the learning process, thepopulation learning processor 1740 can perform various processing tasks described above with reference toFIG. 14 except that the tasks are performed on data taken over a particular time window to generate an output (e.g., set of estimated glucose values) as described with reference toFIG. 15 . As described with reference toFIG. 16 , awindow joining processor 1765 can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later timeoutputs. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. - In this non-limiting embodiment, the optimized window population model 1670 (generated in
FIG. 16 ) can be processed further by acalibration optimization processor 1766 using the discreteglucose measurement data 1710 to generate an optimizedwindow population model 1770 that has optimized calibration intervals and/or calibration error (e.g., longer intervals between calibration and/or reduced calibration error). Thecalibration optimization processor 1766 can optimize calibration characteristics such as calibration interval and calibration error by determining which calibration population model will give the provide the best compromise between low calibration error and long calibration interval. In general, the longer the interval the better because it is undesirable to calibrate frequently. The calibration intervals of the optimizedwindow population model 1770 can be optimized by using the discreteglucose measurement data 1710 to adjust the population model output to yield a more accurate estimated glucose. For instance, the adjustment may be made on an interval of minutes, hours, weeks or months. The specific adjustment interval needs may be determined by testing each calibration interval and selecting the population and calibration interval that provides the most accurate glucose estimate. In some embodiments, the calibration interval processor need not rely exclusively on blood glucose meter data, but may in substitute, or in addition, include data from other sources. Processing performed by thecalibration optimization processor 1766 will be described in greater detail below with reference toFIGS. 21 and 22 . -
FIG. 18 is a block diagram of another windowedmachine learning system 1800 for generating an optimizedwindow population model 1870 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 1800 is similar to the structure of the windowedmachine learning systems FIG. 14-17 . As such, components or blocks shown inFIGS. 14-17 will not be described in detail again in conjunction withFIG. 18 . - As in
FIG. 14-17 , data for multiple users is collected that can include, but is not limited to, discreteglucose measurement data 1810 from the blood glucose meter,contextual data 1820 from the source of user activity data, and othercontextual data 1830 from the other sources. Prior to providing the data to thepopulation learning processor 1840 for processing, the data can be provided to awindow filter 1835 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 1810,contextual data 1820 from the source of user activity data and othercontextual data 1830. Data from each time window can then be processed at thepopulation learning processor 1840 to generate an an output (e.g., set of estimated glucose values) corresponding to a particular time window, as described above with reference toFIG. 15 . As part of the learning process, thepopulation learning processor 1840 can perform various processing tasks described above with reference toFIG. 14 except that the tasks are performed on data taken over a particular time window to generate an output (e.g., set of estimated glucose values). As described with reference toFIG. 16 , awindow joining processor 1865 can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. - In this embodiment, the optimized window population model 1670 (generated in
FIG. 16 ) can be processed further by acalibration optimization processor 1866 using the discreteglucose measurement data 1810 and/orother data 1867 to generate an optimized window population model 1770 (FIG. 17 ) that has optimized calibration intervals and/or calibration error (e.g., longer intervals between calibration and/or reduced calibration error). - In this embodiment, the
other data 1867 can include, for example, one or more past blood glucose meter readings, past glucose sensor data, time and blood glucose value that has the least daily, weekly or monthly variance, past data from any one of the model inputs, etc. Utilizing theother data 1867 in alone or in conjunction with the discreteglucose measurement data 1810 can improve the accuracy and/or calibration interval of the accuracy of the calibration interval of the optimized window population model that is output by thecalibration optimization processor 1866. As described above with respect to thecalibration optimization processor 1766,other data 1867 from other sources may be used in conjunction with or in place of discreteglucose measurement data 1810. For instance,other data 1867 may provide enough information to provide an accurate calibration method, without the need for invasive blood glucose meter readings. In another instance, to reduce the frequency (lengthen the interval) of blood glucose meter readings,other data 1867 may be used to assist the calibration model to maintain satisfactory performance of the population model accuracy. Processing performed by thecalibration optimization processor 1866, and the variety of inputs or data it can use in place of historical and blood glucose meter data, will be described in greater detail below with reference toFIGS. 21 and 22 . -
FIG. 19 is a block diagram of another windowedmachine learning system 1900 for generating an optimizedwindow population model 1970 for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 1900 is similar to the structure of the windowedmachine learning systems FIGS. 14-18 . As such, components or blocks shown inFIGS. 14-18 will not be described in detail again in conjunction withFIG. 19 . - As in
FIG. 14-18 , data for multiple users is collected that can include, but is not limited to, discreteglucose measurement data 1910 from the blood glucose meter,contextual data 1920 from the source of user activity data, andcontextual data 1930 from the other sources. Prior to providing the data to thepopulation learning processor 1940 for processing, the data can be provided to awindow filter 1935 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 1910,contextual data 1920 from the source of user activity data andcontextual data 1930. Data from each time window can then be processed at thepopulation learning processor 1940 to generate an optimizedwindow population model 1570 corresponding to a particular time window, as described above with reference toFIG. 15 . As part of the learning process, thepopulation learning processor 1940 can perform various processing tasks described above with reference toFIG. 14 except that the tasks are performed on data taken over a particular time window to generate an output (e.g., set of estimated glucose values) as described with reference toFIG. 15 . As described with reference toFIG. 16 , awindow joining processor 1965 can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. As explained with reference toFIGS. 17 and 18 , the optimized window population model 1670 (generated inFIG. 16 ) can be processed further by acalibration optimization processor 1966 using discreteglucose measurement data 1910 and/orother data 1967 to generate an optimized window population model 1770 (FIG. 17 ) that has optimized calibration intervals and/or calibration error (e.g., longer intervals between calibration and/or reduced calibration error). - In this embodiment, the optimized window population model 1870 (
FIG. 18 ) that is output by thecalibration optimization processor 1966 can be processed further by a modelexplainability analysis processor 1968 to generate an optimizedwindow population model 1970 that provides a physiologically consistent response to one or more of the model inputs. For example, the typical human physiological response to food intake is a rise in blood glucose levels. Therefore, each candidate population model may be tested to ensure the response is at least directionally similar, or similar in magnitude, to what is observed clinically, medically, or physiologically. As will be described in greater detail below, the modelexplainability analysis processor 1968 can modulate or simulate the inputs and compare the observed population model output (or response) to a reference or standard. This comparison may indicate the plausibility and explainability of the model response. This process may remove from consideration all models that fail to respond in an understandable manner. The model explainability analysis processor 1868 can select and output or generate an optimizedwindow population model 1970. The processing performed by the modelexplainability analysis processor 1968 will now be described in greater detail below with reference toFIG. 20 . -
FIG. 20 is a block diagram of a modelexplainability analysis processor 2000 for selecting an optimized population model for estimating glucose values for a population of users or patients in accordance with the disclosed embodiments. The modelexplainability analysis processor 2000 can select an optimized population model from apool 2080 of candidate population models. The selected optimized population model can then be used as the basis for further training and personalized to generate a personalized model for estimating glucose values for a particular user or patient. - During this part of the workflow process data for multiple users can be collected for processing. In this example, the data that is collected can include, but is not limited to, discrete
glucose measurement data 2010 from the blood glucose meter,contextual data 2020 from the source of user activity data, andcontextual data 2030 from the other sources. - The discrete
glucose measurement data 2010 from the blood glucose meter,contextual data 2020 from the source of user activity data andcontextual data 2030 from the other sources can then be processed at a data modulation processor 2040 to generate a modulated form of the data. For example, in some embodiments, the input data can be modulated (modified) or simulated to generate a change in the content of one or more inputs. The modulated data is executed by a population model to generate the estimated glucose output. In the model response testing step, the output estimated glucose output is compared to a reference or standard that represents the typical directionality or magnitude of a human physiological response to a similar input data modulation. The reference or standard can be, not limited to, documented or general know how of what is typically observed clinically, medically, or physiologically. For example, the typical human physiological response to insulin is a drop in blood glucose levels. Modulation of an insulin input by reduction of the magnitude of the insulin level, in a physiologically accurate model, should result in a lower estimated glucose output. - At 2050 through 2060, the model
explainability analysis processor 2000 can then perform processing to evaluate each population model of a number of population models to determine which of those population models should be added to apool 2080 of candidate population models, and then select (at 2090) an optimized population model from thepool 2080 of candidate population models as an optimized population model (e.g., an optimized window population model, an optimized window population model, etc.). At 2050, the modelexplainability analysis processor 2000 selects a population model to execute and applies the modulated form of the data to the selected population model to generate a response to the modulated form of the data. At 2055, the modelexplainability analysis processor 2000 can perform various tests that help assess or evaluate whether the response (that was generated at 2050) is physiologically plausible. At 2060, the modelexplainability analysis processor 2000 can then analyze or evaluate the test results generated at 2055 to determine whether the selected population model's response is a plausible physiological response. When the modelexplainability analysis processor 2000 determines (at 2060) that the test results generated at 2055 indicate that the selected population model's response is not a plausible physiological response, the modelexplainability analysis processor 2000 drops the selected population model from further consideration. - By contrast, when the model
explainability analysis processor 2000 determines (at 2060) that the test results generated at 2055 indicate that the selected population model's response is a plausible physiological response, the modelexplainability analysis processor 2000 adds the selected population model to apool 2080 of candidate population models at 2070. At 2090, the modelexplainability analysis processor 2000 can select an optimized population model from thepool 2080 of candidate population models. The selected optimized population model can then be used as the basis for further training and personalized to generate a personalized model for estimating glucose values for a particular user or patient. - Referring again to
FIGS. 17 through 19 , thecalibration optimization processor calibration optimization processor FIGS. 21 and 22 . -
FIG. 21 is a block diagram of acalibration optimization processor 2100 for selecting an optimizedcalibration model 2170 in accordance with the disclosed embodiments. Thecalibration optimization processor 2100 can select an optimizedcalibration model 2170 to be used as the basis for calibrating a population model used for estimating glucose values for a population of users. - During this part of the workflow process data can be collected from different
potential calibration sources glucose measurement data 2010 collected from a blood glucose meter, historical or sensorglucose trend data 2120, statistical or heuristic calibrationpoint prediction data 2130, andglucose value data 2140 from blood glucose reading stability analysis. Historical or sensor glucose trends can include, but not limited to, glucose values from the past, several days of glucose sensor data, time of day point(s) where glucose is less or least variables. Statistical or heuristic calibration point prediction can include, but not limited to, a statistical, empirical, or rule-based method that estimates or predicts the glucose value at a given point in time, which may be used to calibrate the population model. Glucose value from blood glucose reading stability analysis, can include, but not limited to, an analysis of variability of glucose on an hourly, daily, weekly, or monthly basis. The glucose value that is most stable, less or least variable compared to other periods of time, may be selected to calibrate the population model. Each source ofdata population model processor 2150 to generate a calibration model that is applied to the population model generating a corresponding calibrated population model response. In other words, whileFIG. 21 illustrates a single arrow between each source ofdata population model processor 2150, it should be appreciated that in other implementations, each source ofdata population model processor 2150. - An error and
interval analysis processor 2160 can receive each calibrated population model response. For each calibrated population model response, the error andinterval analysis processor 2160 can (1) perform an error analysis and generate an error result that indicates the performance of the calibrated population model response compared to the measured glucose values, and (2) perform an interval analysis to generate an interval result that indicates how often the population model would need to be calibrated with the given input. For each response, the error andinterval analysis processor 2160 can then evaluate, the corresponding error result and the corresponding interval result. - At 2170, based on the evaluation of all of the error result/interval result combinations for each type of calibration model, the
calibration optimization processor 2100 can compare performance of any given population model for each type of calibration model to determine an optimized calibration model for that given population model. The optimized calibration model can be selected, for example, to minimize error, maximize time between calibrations, and/or reduce user or patient burden. For example, a blood glucose meter reading every few minutes may minimize error but would be burdensome on the user, and as such would have a calibration interval that is too frequent. A blood glucose meter is considered an invasive measurement and thus burdensome to the patient, thus one of the other calibration models based on the alternate input sources that are less invasive or non-invasive may be preferred. The tradeoff between error, calibration interval, and patient burden, may be based on an objective function, clinical criteria, or product, regulatory or business requirements. -
FIG. 22 is a block diagram of acalibration optimization processor 2200 for selecting optimal type(s) of inputs to be used for developing an optimized calibration model in accordance with the disclosed embodiments. Thecalibration optimization processor 2200 can select one or more inputs to use with an optimized calibration model when calibrating any given population model used for estimating glucose values for a population of users. - During this part of the workflow process data can be collected from different
potential calibration sources glucose measurement data 2010 collected from a blood glucose meter, historical or sensorglucose trend data 2220, statistical or heuristic calibrationpoint prediction data 2230,glucose value data 2240 from blood glucose reading stability analysis, andcontextual data 2245 from the source of user activity data (e.g., an activity tracker), and/orcontextual data 2245 from the other sources such as nutritional information about meals consumed by a user, insulin delivered to the user by an insulin infusion device of the user, etc. Historical or sensor glucose trends can include, but not limited to, glucose values from the past, several days of glucose sensor data, time of day point(s) where glucose is less or least variables. Statistical or heuristic calibration point prediction can include, but not limited to, a statistical, empirical, or rule-based method that estimates or predicts the glucose value at a given point in time, which may be used to calibrate the population model. Glucose value from blood glucose reading stability analysis, can include, but not limited to, an analysis of variability of glucose on an hourly, daily, weekly, or monthly basis. The glucose value that is most stable, less or least variable compared to other periods of time, may be selected to calibrate the population model. Each source ofdata population model processor 2250 to generate a calibration model that is applied to the population model generating a corresponding calibrated population model response. In other words, whileFIG. 22 illustrates a single arrow between each source ofdata population model processor 2250, it should be appreciated that in other implementations, each source ofdata population model processor 2250. - An error and
interval analysis processor 2260 can receive each calibrated population model response. For each calibrated population model response, the error andinterval analysis processor 2260 can (1) perform an error analysis and generate an error result that indicates the performance of the calibrated population model response compared to the measured glucose values, and (2) perform an interval analysis to generate an interval result that indicates how often the population model would need to be calibrated with the given input. For each response, the error andinterval analysis processor 2260 can then evaluate, the corresponding error result and the corresponding interval result. - At 2270, based on the evaluation of all of the error result/interval result combinations for each type of calibration model, the
calibration optimization processor 2200 can compare performance of any given population model for each type of calibration model to determine an optimized calibration model for that given population model. The optimized calibration model can be selected, for example, to minimize error, maximize time between calibrations, and/or reduce user or patient burden. For example, a blood glucose meter reading every few minutes may minimize error but would be burdensome on the user, and as such would have a calibration interval that is too frequent. A blood glucose meter is considered an invasive measurement and thus burdensome to the patient, thus one of the other calibration models based on the alternate input sources that are less invasive or non-invasive may be preferred. The tradeoff between error, calibration interval, and patient burden, may be based on an objective function, clinical criteria, or product, regulatory or business requirements. - In this embodiment, once the optimized calibration model is determined (at 2270), the
calibration optimization processor 2200 can determine or select at 2280, based on the evaluation of all of the error result/interval result combinations for each type of input, optimal type(s) of inputs to be used with that optimized calibration model (from 2270) when it is used for calibrating any given population model. As such, once an optimized calibration model has been determined (at 2270), thecalibration optimization processor 2200 can select (at 2280) one or more types of theinputs - As described above, at least one of the population models can be selected, and personalized model learning processes can be performed to personalize a selected population model for each particular user. Various embodiments of personalized model learning processes that can be performed will now be described below with reference to
FIGS. 23 through 29 . In those descriptions, like reference numbers refer to similar elements throughout the figures. -
FIG. 23 is a block diagram of amachine learning system 2300 for generating an optimizedpersonal model 2370 for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments. During this part of the workflow process data for a particular user is collected for processing. In this example, the data that is collected can include, but is not limited to, discreteglucose measurement data 2310 from the blood glucose meter or other sensor arrangement that provides discrete glucose measurements from the user,contextual data 2320 about the user from the source of user activity data (e.g., an activity tracker), andcontextual data 2330 about the user from the other sources such as nutritional information about meals consumed by a user, insulin delivered to the user by an insulin infusion device of the user. - Data for each of the inputs can be collected for the particular user over a time period. Stated differently, data for the particular user can be collected for different input channels. Each of the different input channels can represent a different variable being measured for that user. In some embodiments, the different input channels can include (1) time of day, (2) a blood glucose level, (3) a blood glucose (BG) measurement from a sensor such as a CGM device, activity data including (4) heart rate (beats per minute), (5) METs and (6) number of steps, (7) active insulin, (8) carbohydrates on board, etc.
- In some embodiments, the discrete
glucose measurement data 2310,contextual data 2320 from the source of user activity data andcontextual data 2330 from the other sources can then be processed at apersonalized learning processor 2340 along with aparticular population model 2305 to train or adapt theparticular population model 2305 and thus generate the optimizedpersonal model 2370 that is tailored to the particular user or patient. In some embodiments, theparticular population model 2305 serves as themachine learning model 2350 and learns based on theinputs particular population model 2305 is transformed (e.g., re-trained and optimized/personalized to the user) to become the optimizedpersonal model 2370 for estimating glucose values that are personalized for a particular user or patient. In other embodiments, theparticular population model 2305 is one model of an ensemble of themachine learning models 2350, and the ensemble ofmachine learning models 2350 learns based on theinputs personal model 2370 for estimating glucose values that are personalized for a particular user or patient. In this example, as part of the personalized learning process, thepersonalized learning processor 2340 can perform various processing tasks with respect to the discreteglucose measurement data 2310 from the blood glucose meter,contextual data 2320 from the source of user activity data andcontextual data 2330 from the other sources to train or adapt theparticular population model 2305 to generate the optimizedpersonal model 2370. For example, thepersonalized learning processor 2340 can apply variousmachine learning models 2350 including theparticular population model 2305, to the discreteglucose measurement data 2310,contextual data 2320 from the source of user activity data and the othercontextual data 2330 from the other sources to train or adapt theparticular population model 2305. In another embodiment, theparticular population model 2305 is combined with a separate personalized model to create an ensemble of population and personalized models that constitute a single optimized personal model. In another embodiment, theparticular population model 2305 maybe disregarded and skipped over (e.g., given a zero or near zero weight), in which case thepersonalized learning processor 2340 can apply other variousmachine learning models 2350 to generate the optimizedpersonal model 2370 that is tailored to the particular user or patient. - The
personalized learning processor 2340 can also perform various parameter optimizations based on the discreteglucose measurement data 2310 from the blood glucose meter,contextual data 2320 from the source of user activity data andcontextual data 2330 from the other sources to further train theparticular population model 2305. For example, one or more machine learning or deep learning model(s) can learn the transfer function or mapping from a series of inputs to a glucose measurement from a glucose sensor. This mapping can be on any time interval such that the model estimates anywhere from a single glucose value to a series of glucose values continuous in time. Each machine learning or deep learning model may have one or more parameters that need to be identified to specify the mathematical transfer function. Parameter optimization generally includes an objective function that must be minimized. The objective function measures the mathematical agreement between the estimated output of the model with the actual measured glucose values. Parameters are typically interactively adjusted until the objective function is optimized. The optimization process terminates once the level of agreement reaches a desired threshold or no longer improves. -
FIG. 24 is a block diagram of a windowedmachine learning system 2400 for generating an optimizedpersonal model 2470 for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 2400 is similar to the structure of themachine learning system 2300 described above with reference toFIG. 23 . As such, components or blocks shown inFIG. 23 will not be described in detail again in conjunction withFIG. 24 . - As described above with reference to
FIG. 23 , data for the particular user is collected for processing that can include, but is not limited to, discreteglucose measurement data 2410 from the blood glucose meter,contextual data 2420 from the source of user activity data, andcontextual data 2430 from the other sources. However, in this embodiment, prior to providing the data to thepersonalized learning processor 2440 for processing, the data is provided to awindow filter 2435. Thewindow filter 2435 can split the data into different time windows. In other words, the collected data can be sequentially split or divided into a series of time windows. Each time window can have a period that is less than the overall period that the data was collected over. Each time window includes data that was collected for the different input channels or variables (for each user of the personalized). - In this embodiment, each time window can include a discrete segment of the discrete
glucose measurement data 2410,contextual data 2420 from the source of user activity data andcontextual data 2430 for the particular user. Each time window can then be processed at thepersonalized learning processor 2440 to generate the optimizedpersonal model 2470 corresponding to a particular time window. As part of the learning process, thepersonalized learning processor 2440 can perform various processing tasks described above with reference toFIG. 23 except that the tasks are performed on data taken over a particular time window to generate the optimizedpersonal model 2470. Each instance of the optimizedpersonal model 2470 performs inference on a discrete specified time segment of the input data. For example, in some embodiments, if a window period of two hours is considered, the optimal personalized model can be the model that performs best (e.g. lowest error) for input data segmented to two hour periods. -
FIG. 25 is a block diagram of another windowedmachine learning system 2500 for generating an optimizedpersonal model 2570 for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 2500 is similar to the structure of the windowedmachine learning system 2400 described above with reference toFIGS. 23 and 24 . As such, components or blocks shown inFIGS. 23 and 24 will not be described in detail again in conjunction withFIG. 25 . - As in
FIGS. 23 and 24 , data for the particular user is collected that can include, but is not limited to, discreteglucose measurement data 2510 from the blood glucose meter,contextual data 2520 from the source of user activity data, andcontextual data 2530 from the other sources. Prior to providing the data to thepersonalized learning processor 2540 for processing, the data is provided to awindow filter 2535 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 2510,contextual data 2520 from the source of user activity data andcontextual data 2530. Data from each time window can then be processed at thepersonalized learning processor 2540 to generate an output (e.g., set of estimated glucose values) corresponding to a particular time window, as described above with reference toFIG. 24 . As part of the learning process, thepersonalized learning processor 2540 can perform various processing tasks described above with reference toFIG. 23 except that the tasks are performed on data taken over a particular time window to generate the optimizedpersonal model 2470. - In this embodiment, a
window joining processor 2565 is provided that can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and the stored outputs corresponding to each of the time windows can then be sequentially linked together (e.g., assembled/concatenated). In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one or more of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. -
FIG. 26 is a block diagram of another windowedmachine learning system 2600 for generating an optimizedpersonal model 2670 for estimating glucose values that are personalized for a particular user or patient in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 2600 is similar to the structure of the windowedmachine learning system 2500 described above with reference toFIGS. 23-25 . As such, components or blocks shown inFIGS. 23-25 will not be described in detail again in conjunction withFIG. 26 unless they perform differently in the embodiment ofFIG. 26 . - As in
FIG. 23-25 , data for the particular user is collected that can include, but is not limited to, discreteglucose measurement data 2610 from the blood glucose meter,contextual data 2620 from the source of user activity data, andcontextual data 2630 from the other sources. Prior to providing the data to thepersonalized learning processor 2640 for processing, the data is provided to awindow filter 2635 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 2610,contextual data 2620 from the source of user activity data andcontextual data 2630. Data from each time window can then be processed at thepersonalized learning processor 2640 to generate an optimizedpersonal model 2470 corresponding to a particular time window, as described above with reference toFIG. 24 . As part of the learning process, thepersonalized learning processor 2640 can perform various processing tasks described above with reference toFIG. 23 except that the tasks are performed on data taken over a particular time window to generate an output (e.g., set of estimated glucose values) as described with reference toFIG. 24 . As described with reference toFIG. 25 , awindow joining processor 2665 can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. - In this embodiment, the optimized personal model 2570 (generated in
FIG. 25 ) can be processed further by acalibration optimization processor 2666 using the discreteglucose measurement data 2610 and/orother data 2667 to generate an optimizedpersonal model 2670 that has calibration intervals optimized. The calibration intervals of the optimizedpersonal model 2670 can be optimized by using the discreteglucose measurement data 2610. In some embodiments, the optimized personal model 2570 (generated inFIG. 25 ) can be processed further by thecalibration optimization processor 2666 using discreteglucose measurement data 2610 to generate the optimizedpersonal model 2670. In other embodiments,calibration optimization processor 2666 can also process other data, such asother data 2667 with or without the discreteglucose measurement data 2610 to generate an optimizedpersonal model 2670. In some embodiments, theother data 2767 can include at least one or more of, for example, one or more past blood glucose meter readings, past glucose sensor data, time and blood glucose value that has the least daily, weekly or monthly variance, past data from any one of the model inputs, etc. Utilizing theother data 2667 in conjunction with the discreteglucose measurement data 2610 can improve the accuracy of the calibration interval of the optimized personal model that is output by thecalibration optimization processor 2666. Processing performed by thecalibration optimization processor 2666 can be performed as described above with reference toFIGS. 21 and 22 . -
FIG. 27 is a block diagram of another windowedmachine learning system 2700 for generating an optimizedpersonal model 2770 for estimating glucose values for a personalized a particular user or patient in accordance with the disclosed embodiments. The structure of the windowedmachine learning system 2700 is similar to the structure of the windowedmachine learning system 2600 described above with reference toFIGS. 23-26 . As such, components or blocks shown inFIGS. 23-26 will not be described in detail again in conjunction withFIG. 27 unless they perform differently in the embodiment ofFIG. 27 . - As in
FIG. 23-26 , data for the particular user is collected that can include, but is not limited to, discreteglucose measurement data 2710 from the blood glucose meter,contextual data 2720 from the source of user activity data, andcontextual data 2730 from the other sources. Prior to providing the data to thepersonalized learning processor 2740 for processing, the data can be provided to awindow filter 2735 that can split the data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 2710,contextual data 2720 from the source of user activity data andcontextual data 2730. Data from each time window can then be processed at thepersonalized learning processor 2740 to generate an optimized personal model 2470 (FIG. 24 ) corresponding to a particular time window, as described above with reference toFIG. 24 . As part of the learning process, thepersonalized learning processor 2740 can perform various processing tasks described above with reference toFIG. 23 except that the tasks are performed on data taken over a particular time window to generate the output (e.g., set of estimated glucose values) as described with reference toFIG. 24 . As described with reference toFIG. 25 , awindow joining processor 2765 can join sets of the estimated glucose values corresponding to any number of time windows to generate a joined set of estimated glucose values over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. - As explained with reference to
FIG. 26 , in some embodiments, the optimized personal model 2570 (generated inFIG. 25 ) can be processed further by acalibration optimization processor 2766 to generate an optimized personal model 2670 (FIG. 26 ). - In this embodiment, the optimized personal model that is output by the
calibration optimization processor 2766 can then be processed further by the modelexplainability analysis processor 2768 to generate an optimizedpersonal model 2770 that provides a physiologically consistent response to one or more of the model inputs. For example, the typical human physiological response to food intake is a rise in blood glucose levels. Therefore, each candidate population model may be tested to ensure the response is at least directionally similar, or similar in magnitude, to what is observed clinically, medically, or physiologically. As described with reference toFIGS. 19 and 20 , the modelexplainability analysis processor 2768 can modulate or simulate the inputs and compare the observed personal model output (or response) to a reference or standard. This comparison may indicate the plausibility and explainability of the model response. This process may remove from consideration all models that fail to respond in an understandable manner. The modelexplainability analysis processor 2768 can select and output or generate an optimizedwindow population model 1970. -
FIG. 28 is a block diagram that illustrates anintermittent CGM system 2800 in accordance with the disclosed embodiments. Thesystem 2800 includes apersonalized model 2840 and acalibration model 2850. Thepersonalized model 2840 can refer to any type of personalized model including the optimized and windowed personal models described above. Once thepersonalized model 2840 and thecalibration model 2850 have been properly trained they can be deployed and utilized by a particular user or patient. Once deployed, input data for the particular user can be received continuously. In this embodiment, this input data can include, but is not limited to, discreteglucose measurement data 2810 from the blood glucose meter for that particular user or patient,contextual data 2820 from the source of user activity data for that particular user or patient, andcontextual data 2830 from the other sources for that particular user or patient. Thepersonalized model 2840 can receive and process the input data to generate a continuous time-series of estimated glucose values 2870. The estimatedglucose values 2870 can then be used for a variety of purposes. For instance, as one non-limiting example, the estimatedglucose values 2870 can be used in conjunction with an insulin infusion system to provide CGM-like therapy to the particular user or patient without the need for glucose sensor. Thecalibration model 2850 can be used to calibratepersonalized model 2840 to help improve the performance of the model and ensure that it is performing accurately. -
FIG. 29 is a block diagram that illustrates anotherintermittent CGM system 2900 in accordance with the disclosed embodiments. The structure of theintermittent CGM system 2900 is similar to the structure of theintermittent CGM system 2800 described above with reference toFIG. 28 . As such, components or blocks shown inFIG. 28 will not be described in detail again in conjunction withFIG. 29 unless they perform differently in the embodiment ofFIG. 28 . In this embodiment, prior to providing the input data to thepersonalized model 2940 for processing, the data is provided to awindow filter 2935 that can split the input data into different time windows. Each time window can include a discrete segment of the discreteglucose measurement data 2910 for that particular user or patient,contextual data 2920 from the source of user activity data for that particular user or patient, andcontextual data 2930 for that particular user or patient. Data from each time window can then be processed at thepersonalized model 2940 to generate a time-series of estimatedglucose values 2970 corresponding to a particular time window. In some embodiments, awindow joining processor 2965 is provided that can join sets of the estimatedglucose values 2970 corresponding to any number of time windows to generate a joined set of estimatedglucose values 2970 over any number of time windows. For example, in some embodiments, estimated blood glucose sequences over each time window can be stored, and then be sequentially linked together (e.g., assembled/concatenated) at a later time. In some embodiments, the window joining step takes output of the previous window's estimated glucose response to initialize the subsequent window. This may be done by replacing or modifying one of the inputs to contain a segment of, or the entire, estimated glucose response output personalized learning step applied to the previous window. - While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or embodiments described herein are not intended to limit the scope, applicability, or configuration of the claimed subject matter in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the described embodiment or embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope defined by the claims, which includes known equivalents and foreseeable equivalents at the time of filing this patent application.
Claims (20)
1. A method, comprising:
receiving data for a particular user from a number of different input channels over a time period, the received data comprising: discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user;
processing the received data to generate an input data set;
processing the input data set and information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period, wherein the supervised machine learning model has parameters that are estimated to generate the transfer function for the population model; and
performing a parameter optimization process by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
2. The method of claim 1 , and wherein the supervised machine learning model is the population model, and wherein processing the input data set, comprises:
processing the input data set, via the particular population model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
3. The method of claim 1 , wherein the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model, and wherein processing the input data set, via the supervised machine learning model, to learn the transfer function for the personal model, comprises:
processing the input data set and at least some of the information from the population model, via the supervised machine learning model, to adapt a population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
4. The method of claim 1 , wherein the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model, and wherein processing the input data set, via the supervised machine learning model, to learn the transfer function for the personal model, comprises:
processing the input data set and at least some of the information from the population model, via the population model and the supervised machine learning model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
5. The method of claim 1 , wherein performing the parameter optimization process comprises:
iteratively adjusting one or more parameters of the supervised machine learning model; and
continuously evaluating an objective function that measures a level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and actual measured blood glucose levels; and
generating the optimized personal model for the user when the level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and the actual measured blood glucose levels reaches a desired threshold, wherein the optimized personal model for the user has the parameters of the transfer function set to values that were being evaluated when the mathematical agreement reached the desired threshold.
6. The method of claim 5 , wherein the optimized personal model is an optimized window personal model, the method further comprising:
applying a window filter to the received data, prior to processing the received data for the user, to split the received data into a series of different time windows each having a period that is less than the time period that the received data was received over, wherein each time window includes a discrete time segment of the received data; and
wherein processing the received data for the user to generate the input data set, comprises:
processing each discrete time segment of the received data to generate a corresponding input data set based on the received data received over a particular time window; and
wherein processing the input data set, comprises:
processing each corresponding input data set, via the supervised machine learning model, to learn a corresponding transfer function for a corresponding personal model that estimates blood glucose values for the user by mapping the received data for the user over the particular time window to the sequence of estimated blood glucose values for the user over the particular time window, wherein the supervised machine learning model has parameters that are estimated to generate each corresponding transfer function for each corresponding personal model.
7. The method of claim 6 , further comprising:
selecting the corresponding personal model having the lowest error as the optimized personal model.
8. The method of claim 6 , wherein the optimized window personal model is an optimized extended window personal model, the method further comprising:
sequentially joining each of the sequences of estimated blood glucose values for the user for each particular time window to generate a joined set of estimated blood glucose values over a number of the particular time windows to generate the optimized extended window personal model that estimates the blood glucose values for the user.
9. The method of claim 1 , wherein the discrete blood glucose measurement data for the user is measured using a sensor arrangement that provides discrete blood glucose measurements for the user,
wherein the user activity data for the user is provided from a source of user activity data that correlates to activity of the user, and
wherein the other contextual data for the user is provided from at least one other source associated with the user and provides other information about the user.
10. The method of claim 1 , wherein each input channel comprises a different data type being measured for the user over a time period.
11. A system, comprising:
one or more hardware-based processors configured by machine-readable instructions to:
receive data for a particular user from a number of different input channels over a time period, the received data comprising: discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user;
process the received data to generate an input data set;
process the input data set and information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period, wherein the supervised machine learning model has parameters that are estimated to generate the transfer function for the population model; and
perform a parameter optimization process by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
12. The system of claim 11 , and wherein the supervised machine learning model is the population model, and wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
process the input data set, via the particular population model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
13. The system of claim 11 , wherein the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model, and wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
process the input data set and at least some of the information from the population model, via the supervised machine learning model, to adapt a population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
14. The system of claim 11 , wherein the information from the population model comprises either: other parameters that are estimated to generate a transfer function for the population model or another sequence of estimated blood glucose values for a population of users that is estimated by the transfer function for the population model, and wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
process the input data set and at least some of the information from the population model, via the population model and the supervised machine learning model, to adapt the population model such that the population model is re-trained and transformed into the personal model that is personalized to the user, wherein processing the input data set comprises: learning the transfer function for the personal model of the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period.
15. The system of claim 11 , wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
iteratively adjust one or more parameters of the supervised machine learning model; and
continuously evaluate an objective function that measures a level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and actual measured blood glucose levels; and
generate the optimized personal model for the user when the level of mathematical agreement between the estimated blood glucose values output by the supervised machine learning model and the actual measured blood glucose levels reaches a desired threshold, wherein the optimized personal model for the user has the parameters of the transfer function set to values that were being evaluated when the mathematical agreement reached the desired threshold.
16. The system of claim 15 , wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
apply a window filter to the received data, prior to processing the received data for the user, to split the received data into a series of different time windows each having a period that is less than the time period that the received data was received over, wherein each time window includes a discrete time segment of the received data;
process each discrete time segment of the received data to generate a corresponding input data set based on the received data received over a particular time window; and
process each corresponding input data set, via the supervised machine learning model, to learn a corresponding transfer function for a corresponding personal model that estimates blood glucose values for the user by mapping the received data for the user over the particular time window to the sequence of estimated blood glucose values for the user over the particular time window, wherein the supervised machine learning model has parameters that are estimated to generate each corresponding transfer function for each corresponding personal model.
17. The system of claim 16 , wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
select the corresponding personal model having the lowest error as the optimized personal model.
18. The system of claim 16 , wherein the optimized window personal model is an optimized extended window personal model, and wherein the one or more hardware-based processors are further configured by machine-readable instructions to:
sequentially join each of the sequences of estimated blood glucose values for the user for each particular time window to generate a joined set of estimated blood glucose values over a number of the particular time windows to generate the optimized extended window personal model that estimates the blood glucose values for the user.
19. The system of claim 11 , wherein the discrete blood glucose measurement data for the user is measured using a sensor arrangement that provides discrete blood glucose measurements for the user,
wherein the user activity data for the user is provided from a source of user activity data that correlates to activity of the user, and
wherein the other contextual data for the user is provided from at least one other source associated with the user and provides other information about the user.
20. At least one non-transient computer-readable medium having instructions stored thereon that are configurable to cause at least one processor to perform a method, the method comprising:
receiving data for a particular user from a number of different input channels over a time period, the received data comprising: discrete blood glucose measurement data for the user; user activity data for the user; and other contextual data for the user;
processing the received data to generate an input data set;
processing the input data set and information from a population model, via a supervised machine learning model, to learn a transfer function for a personal model for the user that estimates blood glucose values for the user by mapping the received data for the over user over the time period to a sequence of estimated blood glucose values for the user over the time period, wherein the supervised machine learning model has parameters that are estimated to generate the transfer function for the population model; and
performing a parameter optimization process by adjusting one or more parameters of the supervised machine learning model to generate an optimized personal model of the user that estimates blood glucose values for the user by mapping the received data for the user over the time period to the sequence of estimated blood glucose values for the user over the time period.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/178,087 US20220039756A1 (en) | 2020-08-06 | 2021-02-17 | Machine learning-based system for estimating glucose values |
US18/150,493 US11974863B2 (en) | 2020-08-06 | 2023-01-05 | Glucose estimation without continuous glucose monitoring |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/987,330 US20220039755A1 (en) | 2020-08-06 | 2020-08-06 | Machine learning-based system for estimating glucose values |
US17/178,087 US20220039756A1 (en) | 2020-08-06 | 2021-02-17 | Machine learning-based system for estimating glucose values |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/987,330 Continuation US20220039755A1 (en) | 2019-08-06 | 2020-08-06 | Machine learning-based system for estimating glucose values |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/150,493 Continuation US11974863B2 (en) | 2020-08-06 | 2023-01-05 | Glucose estimation without continuous glucose monitoring |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220039756A1 true US20220039756A1 (en) | 2022-02-10 |
Family
ID=80115571
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/987,330 Abandoned US20220039755A1 (en) | 2019-08-06 | 2020-08-06 | Machine learning-based system for estimating glucose values |
US17/178,087 Abandoned US20220039756A1 (en) | 2020-08-06 | 2021-02-17 | Machine learning-based system for estimating glucose values |
US18/150,493 Active US11974863B2 (en) | 2020-08-06 | 2023-01-05 | Glucose estimation without continuous glucose monitoring |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/987,330 Abandoned US20220039755A1 (en) | 2019-08-06 | 2020-08-06 | Machine learning-based system for estimating glucose values |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/150,493 Active US11974863B2 (en) | 2020-08-06 | 2023-01-05 | Glucose estimation without continuous glucose monitoring |
Country Status (1)
Country | Link |
---|---|
US (3) | US20220039755A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220012643A1 (en) * | 2020-07-13 | 2022-01-13 | Intuit Inc. | Account prediction using machine learning |
US11883208B2 (en) | 2019-08-06 | 2024-01-30 | Medtronic Minimed, Inc. | Machine learning-based system for estimating glucose values based on blood glucose measurements and contextual activity data |
US11974863B2 (en) | 2020-08-06 | 2024-05-07 | Medtronic Minimed, Inc. | Glucose estimation without continuous glucose monitoring |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3138292A1 (en) * | 2022-07-29 | 2024-02-02 | L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude | Remote monitoring equipment for a diabetic patient |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304204A1 (en) * | 2008-08-14 | 2014-10-09 | The University Of Toledo | Neural Network System and Uses Thereof |
US20170249445A1 (en) * | 2014-09-12 | 2017-08-31 | Blacktree Fitness Technologies Inc. | Portable devices and methods for measuring nutritional intake |
US20220039755A1 (en) * | 2020-08-06 | 2022-02-10 | Medtronic Minimed, Inc. | Machine learning-based system for estimating glucose values |
Family Cites Families (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5338157B1 (en) | 1992-09-09 | 1999-11-02 | Sims Deltec Inc | Systems and methods for communicating with ambulat |
US4562751A (en) | 1984-01-06 | 1986-01-07 | Nason Clyde K | Solenoid drive apparatus for an external infusion pump |
US4685903A (en) | 1984-01-06 | 1987-08-11 | Pacesetter Infusion, Ltd. | External infusion pump apparatus |
US4755173A (en) | 1986-02-25 | 1988-07-05 | Pacesetter Infusion, Ltd. | Soft cannula subcutaneous injection set |
US5097122A (en) | 1990-04-16 | 1992-03-17 | Pacesetter Infusion, Ltd. | Medication infusion system having optical motion sensor to detect drive mechanism malfunction |
US5080653A (en) | 1990-04-16 | 1992-01-14 | Pacesetter Infusion, Ltd. | Infusion pump with dual position syringe locator |
US5832448A (en) | 1996-10-16 | 1998-11-03 | Health Hero Network | Multiple patient monitoring system for proactive health management |
US5956501A (en) | 1997-01-10 | 1999-09-21 | Health Hero Network, Inc. | Disease simulation system and method |
US5307263A (en) | 1992-11-17 | 1994-04-26 | Raya Systems, Inc. | Modular microprocessor-based health monitoring system |
US5545143A (en) | 1993-01-21 | 1996-08-13 | T. S. I. Medical | Device for subcutaneous medication delivery |
DK25793A (en) | 1993-03-09 | 1994-09-10 | Pharma Plast Int As | Infusion set for intermittent or continuous administration of a therapeutic agent |
US5536249A (en) | 1994-03-09 | 1996-07-16 | Visionary Medical Products, Inc. | Pen-type injector with a microprocessor and blood characteristic monitor |
US5391250A (en) | 1994-03-15 | 1995-02-21 | Minimed Inc. | Method of fabricating thin film sensors |
US5505709A (en) | 1994-09-15 | 1996-04-09 | Minimed, Inc., A Delaware Corporation | Mated infusion pump and syringe |
IE72524B1 (en) | 1994-11-04 | 1997-04-23 | Elan Med Tech | Analyte-controlled liquid delivery device and analyte monitor |
US5665065A (en) | 1995-05-26 | 1997-09-09 | Minimed Inc. | Medication infusion device with blood glucose data input |
US6766183B2 (en) | 1995-11-22 | 2004-07-20 | Medtronic Minimed, Inc. | Long wave fluorophore sensor compounds and other fluorescent sensor compounds in polymers |
EP0862648B1 (en) | 1995-11-22 | 2004-10-06 | Medtronic MiniMed, Inc. | Detection of biological molecules using chemical amplification and optical sensors |
US6607509B2 (en) | 1997-12-31 | 2003-08-19 | Medtronic Minimed, Inc. | Insertion device for an insertion set and method of using the same |
DE19717107B4 (en) | 1997-04-23 | 2005-06-23 | Disetronic Licensing Ag | System of container and drive device for a piston, which is held in the container containing a drug fluid |
US6186982B1 (en) | 1998-05-05 | 2001-02-13 | Elan Corporation, Plc | Subcutaneous drug delivery device with improved filling system |
US6558351B1 (en) | 1999-06-03 | 2003-05-06 | Medtronic Minimed, Inc. | Closed loop system for controlling insulin infusion |
US5954643A (en) | 1997-06-09 | 1999-09-21 | Minimid Inc. | Insertion set for a transcutaneous sensor |
US6088608A (en) | 1997-10-20 | 2000-07-11 | Alfred E. Mann Foundation | Electrochemical sensor and integrity tests therefor |
US6119028A (en) | 1997-10-20 | 2000-09-12 | Alfred E. Mann Foundation | Implantable enzyme-based monitoring systems having improved longevity due to improved exterior surfaces |
US7647237B2 (en) | 1998-04-29 | 2010-01-12 | Minimed, Inc. | Communication station and software for interfacing with an infusion pump, analyte monitor, analyte meter, or the like |
US6175752B1 (en) | 1998-04-30 | 2001-01-16 | Therasense, Inc. | Analyte monitoring device and methods of use |
US6736797B1 (en) | 1998-06-19 | 2004-05-18 | Unomedical A/S | Subcutaneous infusion set |
US6355021B1 (en) | 1998-07-14 | 2002-03-12 | Maersk Medical A/S | Medical puncturing device |
US6558320B1 (en) | 2000-01-20 | 2003-05-06 | Medtronic Minimed, Inc. | Handheld personal data assistant (PDA) with a medical device and method of using the same |
US6554798B1 (en) | 1998-08-18 | 2003-04-29 | Medtronic Minimed, Inc. | External infusion device with remote programming, bolus estimator and/or vibration alarm capabilities |
US6248067B1 (en) | 1999-02-05 | 2001-06-19 | Minimed Inc. | Analyte sensor and holter-type monitor system and method of using the same |
JP4469504B2 (en) | 1998-10-08 | 2010-05-26 | メドトロニック ミニメド インコーポレイテッド | Remote trait monitor system |
US6248093B1 (en) | 1998-10-29 | 2001-06-19 | Minimed Inc. | Compact pump drive system |
US7193521B2 (en) | 1998-10-29 | 2007-03-20 | Medtronic Minimed, Inc. | Method and apparatus for detecting errors, fluid pressure, and occlusions in an ambulatory infusion pump |
US7621893B2 (en) | 1998-10-29 | 2009-11-24 | Medtronic Minimed, Inc. | Methods and apparatuses for detecting occlusions in an ambulatory infusion pump |
DK1716884T3 (en) | 1998-10-29 | 2014-03-10 | Medtronic Minimed Inc | reservoir Connection |
US6817990B2 (en) | 1998-10-29 | 2004-11-16 | Medtronic Minimed, Inc. | Fluid reservoir piston |
US6360888B1 (en) | 1999-02-25 | 2002-03-26 | Minimed Inc. | Glucose sensor package system |
US7806886B2 (en) | 1999-06-03 | 2010-10-05 | Medtronic Minimed, Inc. | Apparatus and method for controlling insulin infusion with state variable feedback |
US6752787B1 (en) | 1999-06-08 | 2004-06-22 | Medtronic Minimed, Inc., | Cost-sensitive application infusion device |
US6453956B2 (en) | 1999-11-05 | 2002-09-24 | Medtronic Minimed, Inc. | Needle safe transfer guard |
US7003336B2 (en) | 2000-02-10 | 2006-02-21 | Medtronic Minimed, Inc. | Analyte sensor method of making the same |
US7890295B2 (en) | 2000-02-23 | 2011-02-15 | Medtronic Minimed, Inc. | Real time self-adjusting calibration algorithm |
US6895263B2 (en) | 2000-02-23 | 2005-05-17 | Medtronic Minimed, Inc. | Real time self-adjusting calibration algorithm |
US20010041869A1 (en) | 2000-03-23 | 2001-11-15 | Causey James D. | Control tabs for infusion devices and methods of using the same |
US6485465B2 (en) | 2000-03-29 | 2002-11-26 | Medtronic Minimed, Inc. | Methods, apparatuses, and uses for infusion pump fluid pressure and force detection |
US6589229B1 (en) | 2000-07-31 | 2003-07-08 | Becton, Dickinson And Company | Wearable, self-contained drug infusion device |
US6740059B2 (en) | 2000-09-08 | 2004-05-25 | Insulet Corporation | Devices, systems and methods for patient infusion |
US6749587B2 (en) | 2001-02-22 | 2004-06-15 | Insulet Corporation | Modular infusion device and method |
EP1383560B2 (en) | 2001-04-06 | 2023-04-26 | F. Hoffmann-La Roche AG | Infusion set |
US20020071225A1 (en) | 2001-04-19 | 2002-06-13 | Minimed Inc. | Direct current motor safety circuits for fluid delivery systems |
US6544212B2 (en) | 2001-07-31 | 2003-04-08 | Roche Diagnostics Corporation | Diabetes management system |
US6827702B2 (en) | 2001-09-07 | 2004-12-07 | Medtronic Minimed, Inc. | Safety limits for closed-loop infusion pump control |
US6740072B2 (en) | 2001-09-07 | 2004-05-25 | Medtronic Minimed, Inc. | System and method for providing closed loop infusion formulation delivery |
US7323142B2 (en) | 2001-09-07 | 2008-01-29 | Medtronic Minimed, Inc. | Sensor substrate and method of fabricating same |
US7399277B2 (en) | 2001-12-27 | 2008-07-15 | Medtronic Minimed, Inc. | System for monitoring physiological characteristics |
US8010174B2 (en) | 2003-08-22 | 2011-08-30 | Dexcom, Inc. | Systems and methods for replacing signal artifacts in a glucose sensor data stream |
US7041082B2 (en) | 2002-02-28 | 2006-05-09 | Smiths Medical Md, Inc. | Syringe pump control systems and methods |
US6960192B1 (en) | 2002-04-23 | 2005-11-01 | Insulet Corporation | Transcutaneous fluid delivery system |
US20040068230A1 (en) | 2002-07-24 | 2004-04-08 | Medtronic Minimed, Inc. | System for providing blood glucose measurements to an infusion device |
US7278983B2 (en) | 2002-07-24 | 2007-10-09 | Medtronic Minimed, Inc. | Physiological monitoring device for controlling a medication infusion device |
US6932584B2 (en) | 2002-12-26 | 2005-08-23 | Medtronic Minimed, Inc. | Infusion device and driving mechanism and process for same with actuator for multiple infusion uses |
US7488601B2 (en) | 2003-06-20 | 2009-02-10 | Roche Diagnostic Operations, Inc. | System and method for determining an abused sensor during analyte measurement |
US8275437B2 (en) | 2003-08-01 | 2012-09-25 | Dexcom, Inc. | Transcutaneous analyte sensor |
US7699807B2 (en) | 2003-11-10 | 2010-04-20 | Smiths Medical Asd, Inc. | Device and method for insertion of a cannula of an infusion device |
EP1711791B1 (en) | 2003-12-09 | 2014-10-15 | DexCom, Inc. | Signal processing for continuous analyte sensor |
GB0329161D0 (en) | 2003-12-16 | 2004-01-21 | Precisense As | Reagant for detecting an analyte |
GB0329849D0 (en) | 2003-12-23 | 2004-01-28 | Precisense As | Fluorometers |
US7344500B2 (en) | 2004-07-27 | 2008-03-18 | Medtronic Minimed, Inc. | Sensing system with auxiliary display |
US8313433B2 (en) | 2004-08-06 | 2012-11-20 | Medtronic Minimed, Inc. | Medical data management system and process |
US7468033B2 (en) | 2004-09-08 | 2008-12-23 | Medtronic Minimed, Inc. | Blood contacting sensor |
BRPI0609511A2 (en) | 2005-03-21 | 2010-04-13 | Abbott Diabetes Care Inc | system including an infusion device and an analyte monitoring unit, method for integrating analyte monitoring and fluid infusion, apparatus including an analyte sensor and a fluid supply channel, and a fluid supply method and analyte monitoring |
EP1877116A1 (en) | 2005-04-13 | 2008-01-16 | Novo Nordisk A/S | Medical skin mountable device and system |
US7641649B2 (en) | 2005-05-06 | 2010-01-05 | Medtronic Minimed, Inc. | Reservoir support and method for infusion device |
US20080097291A1 (en) | 2006-08-23 | 2008-04-24 | Hanson Ian B | Infusion pumps and methods and delivery devices and methods with same |
US8277415B2 (en) | 2006-08-23 | 2012-10-02 | Medtronic Minimed, Inc. | Infusion medium delivery device and method with drive device for driving plunger in reservoir |
US8137314B2 (en) | 2006-08-23 | 2012-03-20 | Medtronic Minimed, Inc. | Infusion medium delivery device and method with compressible or curved reservoir or conduit |
US7713240B2 (en) | 2005-09-13 | 2010-05-11 | Medtronic Minimed, Inc. | Modular external infusion device |
DK1951340T4 (en) | 2005-11-08 | 2017-05-22 | Bigfoot Biomedical Inc | infusion pump |
US7985330B2 (en) | 2005-12-30 | 2011-07-26 | Medtronic Minimed, Inc. | Method and system for detecting age, hydration, and functional states of sensors using electrochemical impedance spectroscopy |
US8114269B2 (en) | 2005-12-30 | 2012-02-14 | Medtronic Minimed, Inc. | System and method for determining the point of hydration and proper time to apply potential to a glucose sensor |
US8114268B2 (en) | 2005-12-30 | 2012-02-14 | Medtronic Minimed, Inc. | Method and system for remedying sensor malfunctions detected by electrochemical impedance spectroscopy |
US20070255125A1 (en) | 2006-04-28 | 2007-11-01 | Moberg Sheldon B | Monitor devices for networked fluid infusion systems |
US7455663B2 (en) | 2006-08-23 | 2008-11-25 | Medtronic Minimed, Inc. | Infusion medium delivery system, device and method with needle inserter and needle inserter device and method |
US7828764B2 (en) | 2006-08-23 | 2010-11-09 | Medtronic Minimed, Inc. | Systems and methods allowing for reservoir filling and infusion medium delivery |
US20080125700A1 (en) | 2006-11-29 | 2008-05-29 | Moberg Sheldon B | Methods and apparatuses for detecting medical device acceleration, temperature, and humidity conditions |
US7946985B2 (en) | 2006-12-29 | 2011-05-24 | Medtronic Minimed, Inc. | Method and system for providing sensor redundancy |
US20080269714A1 (en) | 2007-04-25 | 2008-10-30 | Medtronic Minimed, Inc. | Closed loop/semi-closed loop therapy modification system |
US8323250B2 (en) | 2007-04-30 | 2012-12-04 | Medtronic Minimed, Inc. | Adhesive patch systems and methods |
US7963954B2 (en) | 2007-04-30 | 2011-06-21 | Medtronic Minimed, Inc. | Automated filling systems and methods |
CN101801438B (en) | 2007-07-20 | 2013-08-07 | 梅丁格有限公司 | Manually operable portable infusion device |
US8207859B2 (en) | 2008-04-28 | 2012-06-26 | Medtronic Minimed, Inc. | Automobile physiological monitoring system and method for using the same |
US9295786B2 (en) | 2008-05-28 | 2016-03-29 | Medtronic Minimed, Inc. | Needle protective device for subcutaneous sensors |
US20110160555A1 (en) | 2008-07-31 | 2011-06-30 | Jacques Reifman | Universal Models for Predicting Glucose Concentration in Humans |
US8181849B2 (en) | 2008-12-30 | 2012-05-22 | Medtronic Minimed, Inc. | Color detection system for detecting reservoir presence and content in device |
US8308679B2 (en) | 2009-12-30 | 2012-11-13 | Medtronic Minimed, Inc. | Alignment systems and methods |
US20110098548A1 (en) | 2009-10-22 | 2011-04-28 | Abbott Diabetes Care Inc. | Methods for modeling insulin therapy requirements |
US8674288B2 (en) | 2010-03-24 | 2014-03-18 | Medtronic Minimed, Inc. | Motor assembly sensor capture systems and methods |
US9089292B2 (en) | 2010-03-26 | 2015-07-28 | Medtronic Minimed, Inc. | Calibration of glucose monitoring sensor and/or insulin delivery system |
US8474332B2 (en) | 2010-10-20 | 2013-07-02 | Medtronic Minimed, Inc. | Sensor assembly and medical device incorporating same |
EP2700031A2 (en) | 2011-04-20 | 2014-02-26 | Novo Nordisk A/S | Glucose predictor based on regularization networks with adaptively chosen kernels and regularization parameters |
US10130767B2 (en) | 2012-08-30 | 2018-11-20 | Medtronic Minimed, Inc. | Sensor model supervisor for a closed-loop insulin infusion system |
US9849239B2 (en) | 2012-08-30 | 2017-12-26 | Medtronic Minimed, Inc. | Generation and application of an insulin limit for a closed-loop operating mode of an insulin infusion system |
US9486578B2 (en) | 2012-12-07 | 2016-11-08 | Animas Corporation | Method and system for tuning a closed-loop controller for an artificial pancreas |
US20160038673A1 (en) | 2013-03-15 | 2016-02-11 | Animas Corporation | Insulin time-action model |
WO2017132663A1 (en) | 2016-01-29 | 2017-08-03 | Patek Stephen D | Method, system, and computer readable medium for virtualization of a continuous glucose monitoring trace |
US10478556B2 (en) * | 2016-03-04 | 2019-11-19 | Roche Diabetes Care, Inc. | Probability based controller gain |
US20170290535A1 (en) | 2016-04-08 | 2017-10-12 | Medtronic Minimed, Inc. | Analyte sensor with indicators |
US20180189636A1 (en) | 2016-12-30 | 2018-07-05 | Suggestic, Inc. | Deep Learning Ingredient and Nutrient Identification Systems and Methods |
US10687739B2 (en) | 2017-09-05 | 2020-06-23 | Cnoga Medical Ltd. | Method and apparatus for non-invasive glucose measurement |
AU2019335192A1 (en) | 2018-09-07 | 2021-04-08 | Informed Data Systems Inc. D/B/A One Drop | Forecasting blood glucose concentration |
CN113396457A (en) | 2018-11-29 | 2021-09-14 | 珍纳瑞公司 | System, method and apparatus for biophysical modeling and response prediction |
JP2022514646A (en) | 2018-12-19 | 2022-02-14 | デックスコム・インコーポレーテッド | Intermittent monitoring |
EP3977480A1 (en) | 2019-05-31 | 2022-04-06 | Informed Data Systems Inc. d/b/a One Drop | Systems for biomonitoring and blood glucose forecasting, and associated methods |
US11883208B2 (en) | 2019-08-06 | 2024-01-30 | Medtronic Minimed, Inc. | Machine learning-based system for estimating glucose values based on blood glucose measurements and contextual activity data |
US20210174960A1 (en) | 2019-12-09 | 2021-06-10 | Medtronic Minimed, Inc. | Generative modeling methods and systems for simulating sensor measurements |
US20210298648A1 (en) | 2020-03-24 | 2021-09-30 | Medtronic Minimed, Inc. | Calibration of a noninvasive physiological characteristic sensor based on data collected from a continuous analyte sensor |
-
2020
- 2020-08-06 US US16/987,330 patent/US20220039755A1/en not_active Abandoned
-
2021
- 2021-02-17 US US17/178,087 patent/US20220039756A1/en not_active Abandoned
-
2023
- 2023-01-05 US US18/150,493 patent/US11974863B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304204A1 (en) * | 2008-08-14 | 2014-10-09 | The University Of Toledo | Neural Network System and Uses Thereof |
US20170249445A1 (en) * | 2014-09-12 | 2017-08-31 | Blacktree Fitness Technologies Inc. | Portable devices and methods for measuring nutritional intake |
US20220039755A1 (en) * | 2020-08-06 | 2022-02-10 | Medtronic Minimed, Inc. | Machine learning-based system for estimating glucose values |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11883208B2 (en) | 2019-08-06 | 2024-01-30 | Medtronic Minimed, Inc. | Machine learning-based system for estimating glucose values based on blood glucose measurements and contextual activity data |
US20220012643A1 (en) * | 2020-07-13 | 2022-01-13 | Intuit Inc. | Account prediction using machine learning |
US11974863B2 (en) | 2020-08-06 | 2024-05-07 | Medtronic Minimed, Inc. | Glucose estimation without continuous glucose monitoring |
Also Published As
Publication number | Publication date |
---|---|
US20220039755A1 (en) | 2022-02-10 |
US20230145330A1 (en) | 2023-05-11 |
US11974863B2 (en) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11883208B2 (en) | Machine learning-based system for estimating glucose values based on blood glucose measurements and contextual activity data | |
CN111246899B (en) | Insulin infusion device with configurable target blood glucose value for automatic basal insulin delivery operation | |
US11974863B2 (en) | Glucose estimation without continuous glucose monitoring | |
US11826548B2 (en) | Efficient confirmation of blood glucose measurements | |
US11887712B2 (en) | Method and system for classifying detected events as labeled event combinations for processing at a client application | |
US11712520B2 (en) | Infusion devices and related meal bolus adjustment methods | |
WO2021026399A1 (en) | Machine learning-based system for estimating glucose values | |
US20200098464A1 (en) | Contextual patient activity recommendation systems and methods | |
US20210178069A1 (en) | Controlling insulin delivery to a specific user by a medical device based on detected events associated with the specific user | |
US20210298648A1 (en) | Calibration of a noninvasive physiological characteristic sensor based on data collected from a continuous analyte sensor | |
US20230009180A1 (en) | Dynamic forecasts | |
US20200098465A1 (en) | Bolus recommendation systems and methods using a cost function | |
CN114423473A (en) | Situation personalized closed loop adjustment method and system | |
CN112714936A (en) | Patient monitoring system and related recommendation method | |
US20220084649A1 (en) | Infusion systems and methods for patient predictions using association mining | |
US20230298764A1 (en) | Methods and systems for updating models used for estimating glucose values | |
CN114502215A (en) | Infusion system and related personalized bolus method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MEDTRONIC MINIMED, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MIKHNO, ARTHUR;ZHONG, YUXIANG;AGRAWAL, PRATIK;SIGNING DATES FROM 20210423 TO 20210426;REEL/FRAME:056935/0880 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |