System and Method for Automated Insulin Delivery Using Artificial Neural Network
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to and the benefit of U.S. provisional patent application No. 63/560,982, filed on March 4, 2024, and titled System and Method for Automated Insulin Delivery Using Artificial Neural Network, the disclosure of which is hereby incorporated by reference herein in its entirety.
STATEMENT OF GOVERNMENT RIGHTS
[0002] This invention was made with government support under Contract No. DK129553 awarded by the National Institutes of Health. The government has certain rights in the invention.
BACKGROUND
[0003] In some embodiments, artificial intelligence and machine learning techniques may be used in optional embodiments of this disclosure. Machine Learning (ML) and Artificial Intelligence (Al) systems are in widespread use in customer service, marketing, and other industries, including medicine and science. Machine learning is considered a subset of more general artificial intelligence operations, and Al endeavors may utilize numerous instances of machine learning to make decisions, predict outputs, and perform human-like intelligent operations. Machine learning protocols typically involve programming a model that instantiates an appropriate algorithm for a given computing environment and training the model on a particular data set or domain with known historical results. The results are generally known outputs of many combinations of parameter values that the algorithm accesses during training. The model uses numerous statistical and mathematical operations to learn how to make logical decisions and generate new outputs based on the historical training data. Machine learning (ML) includes, but is not limited to, a number of models such as neural networks, deep learning algorithms, support vector machines, data clustering, regression models, and Monte Carlo simulations. Other models may utilize linear regression, logistic regression, support vector machines, K-means clustering, classification models such as a binary classifier or a multi-class classifier, clustering models, anomaly detection, other supervised learning models, and even combinations of one or more machine language model types. Most of these take vectors of data as inputs.
[0004] The term “artificial intelligence,” therefore, includes any technique that enables one or more computing devices or comping systems (i.e., a machine) to mimic human intelligence. Artificial intelligence (Al) includes, but is not limited to, knowledge bases, machine learning, representation learning, and deep learning. The term “machine learning” is generally a subset of Al that enables a machine to acquire knowledge by extracting patterns from raw data.
[0005] The term “representation learning” may be used as a subset of machine learning that enables a machine to automatically discover representations needed for feature detection, prediction, or classification from raw data. Representation learning techniques include, but are not limited to, autoencoders.
[0006] The term “deep learning” may also be considered a subset of machine learning that enables a machine to automatically discover representations needed for feature detection, prediction, classification, etc. using layers of processing. Deep learning techniques include, but are not limited to, artificial neural network or multilayer perceptron (MLP).
[0007] Machine learning models include supervised, semi-supervised, and unsupervised learning models. In a supervised learning model, the model learns a function that maps an input (also known as feature or features) to an output (also known as target or target) during training with a labeled data set (or dataset). In an unsupervised learning model, the model learns a function that maps an input (also known as feature or features) to an output (also known as target or target) during training with an unlabeled data set. In a semi-supervised model, the model learns a function that maps an input (also known as feature or features) to an output (also known as target or target) during training with both labeled and unlabeled data.
[0008] Some machine learning models are designed for a specific data set or domain and are highly expert at handling the nuances within that narrow domain. It is with respect to these and other considerations that the various aspects of the present disclosure as described below are presented.
[0009] This disclosure combines algorithms deciphered by artificial intelligence and machine learning with currently known systems and models that gather data from a patient on a real time basis. Accordingly this disclosure can utilize sensors and medical equipment that improve a system’ s ability to diagnose and treat a patient.
[0010] Brackets with numerals therein refer to references cited in this disclosure.
SUMMARY
[0011] In an embodiment, a computer implemented method of controlling automatic insulin delivery to a subject includes using a computer comprising a processor connected to computer memory storing software to execute computer implemented instructions that implement a controller to calculate sequential insulin doses for a patient by performing steps including calculating a current core model state of insulin on board (IOB) the patient using a state estimator module; calculating a modulation factor (ae) from glycemic measurements from continuous glucose monitoring of the subject, time below range values, and time above range values for a selected number of previous days; calculating a predicted total daily insulin quantity, theta (0), needed for stable continuous glucose monitoring; adjusting theta (0) with the modulation factor (ae) to store an adjusted theta (0) in the memory of the computer setting a basal rate Ub of insulin therapy with the adjusted theta (0); calculating an aggressivity factor (Qz) for the controller on a time varying basis corresponding to values of insulin on board (IOB) and the adjusted theta (0); and utilizing a neural net artificial pancreas module to compute a new insulin dose Uk for the controller from the adjusted theta (0), the basal rate Ub and the aggressivity factor (Qz).
[0012] In an embodiment, the method further includes calculating an intermediate design parameter lambda (Xo) from continuous glucose monitoring values and rate of change of the continuous glucose monitoring values to normalize vectors input to the neural net artificial pancreas. [0013] In an embodiment, the method further includes calculating the aggressivity factor (Qz) comprises calculating Qz via a combination of piecewise linear and exponential functions based on the runtime IOB and current value of the adjusted theta (0).
[0014] In an embodiment, the method further includes transmitting the new insulin dose Uk to a safety system module (SSM) programmed as a part of the controller.
[0015] In an embodiment, the method further includes the SSM predicts a risk of hypoglycemia and reduces the new insulin dose Uk by imposing a dynamic upper bound to the new insulin dose value Uk.
[0016] In an embodiment, the method further includes the SSM predicts a risk of hypoglycemia based upon a minimum value of glucose recorded within a preceding hour (Gmin) and a current glucose concentration (Gc).
[0017] In an embodiment, the method further includes the SSM reducing the new insulin dose Uk according to calculations utilizing the adjusted theta (0) and K(BPS to max) denoting a fraction of the adjusted theta (0).
[0018] In an embodiment, the method further includes the SSM being a second neural network.
[0019] In an embodiment, the method further includes calculating a current core model state of insulin on board (IOB) the subject comprises applying a Kalman filter state model.
[0020] In an embodiment, the method further includes calculating a current core model state of insulin on board (IOB) the subject comprises calculating a rate of change from the continuous glucose monitoring (CGM), a relative insulin on board (IOB) from all injections relative to a theoretical basal rate, and another insulin on board (IOBBPS) resulting from manual and bolus doses.
[0021] In an embodiment, the method further includes transmitting the new insulin dose Uk to a safety system module (SSM) programmed as a part of the controller, wherein the SSM further receives data from a hyperglycemia mitigation system (HMS) programmed as an HMS module in the controller.
[0022] In an embodiment, the method further includes the HMS module implementing an automated correction bolus generator to correct for glucose above a threshold value.
[0023] In an embodiment, the method further includes the threshold value being at or about 180 mg/dL.
[0024] In an embodiment, the method further includes that the SSM further receives bolus directive data from a bolus priming system (BPS) that computes a probability of a meal-like event and determines a maximum appropriate meal related insulin on board (IOB).
[0025] In an embodiment, the method further includes that the maximum appropriate meal related insulin on board (IOB) is based on environmental and metabolic factors.
[0026] In an embodiment, the method further includes that the environmental factors comprise at least one of time of day, day of the week, selected profile, temporary control rate (TCR) output and the metabolic factors comprise total daily dose runtime insulin sensitivity.
[0027] In an embodiment, the method further includes adjusting theta (0) with the modulation factor to store an adjusted theta (0) in the memory of the computer comprises utilizing a performance based adaptation system (PAS), wherein the modulation factor is calculated as a function of time below range (TBR) and time above range (TAR), which is then used to adjust tuning parameters of the controller each day.
[0028] In an embodiment, the method further includes dampening insulin injections with a temporary controller rate activated by a user to allow for reducing insulin infusions for a selected period of time.
[0029] In an embodiment, the method further includes calculating sequential insulin doses comprises adding a recommendation of the artificial neural network, an HMS correction and a current basal rate.  BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale. The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
[0031] FIG. 1A is a PRIOR ART flow chart of an example method of utilizing machine learning processes to improve insulin delivery according to embodiments herein.
[0032] FIG. IB is PRIOR ART logic and software code implementing the embodiment of FIG. 1A .
[0033] FIG. 1C is PRIOR ART logic and software code implementing the embodiment of FIG. 1A .
[0034] FIG. ID is PRIOR ART logic and software code implementing the embodiment of FIG. 1A .
[0035] FIG. IE is PRIOR ART logic and software code implementing the embodiment of FIG. 1A .
[0036] FIG. 1 F is PRIOR ART logic and software code implementing the embodiment of FIG. 1A .
[0037] FIG. 2 is a PRIOR ART flow chart of a system implementing CGM based prevention of hypoglycemia.
[0038] FIG. 3A is a high level functional block diagram of an embodiment of the present disclosure, or an aspect of an embodiment of the present disclosure.
[0039] FIG. 3B is a computer architecture diagram showing a computing system capable of implementing aspects of the present disclosure in accordance with one or more embodiments.
[0040] FIG. 3C is a computer architecture diagram showing a networking environment that allows for data communication with a computing system capable of implementing aspects of the present disclosure in accordance with one or more embodiments. [0041] FIG. 4 is a block diagram that illustrates a system 130 including a computer system
140 and the associated Internet 11 connection upon which an embodiment may be implemented. [0042] FIG. 5 illustrates a system in which one or more embodiments of the disclosure can be implemented using a network, or portions of a network or computers. The present disclosure may be practiced with or without a network.
[0043] FIG. 6 illustrates an embodiment that includes, but is not limited thereto, a system, method, and computer readable medium that provides a binary classifier to determine if an image includes diseased tissue progression or treatment related necrosis.
[0044] FIG. 7 illustrates a schematic of a system of using a neural network to implement glucose control with an automated insulin delivery system as set forth herein.
[0045] FIG. 8 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0046] FIG. 9 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0047] FIG. 10 illustrates Table 1 as discussed herein.
[0048] FIG. 11 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0049] FIG. 12A illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0050] FIG. 12B illustrates Table 2 as discussed herein.
[0051] FIG. 13 illustrates Table 3 as discussed herein.
[0052] FIG. 14 illustrates Table 4 as discussed herein.
[0053] FIG. 15 illustrates a proposed architecture of a glucose state estimator according to this disclosure.
[0054] FIG. 16 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure. [0055] FIG. 17 illustrates Table 5 as discussed herein.
[0056] FIG. 18 illustrates an array of values as discussed herein.
[0057] FIG. 19 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0058] FIG. 20 illustrates time graph for controlling glucose therapies as discussed herein.
[0059] FIG. 21 logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0060] FIG. 22 shows a three dimensional data representation of control variables as disclosed herein.
[0061] FIG. 23 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0062] FIG. 24 illustrates Table 6 as discussed herein.
[0063] FIG. 25 illustrates fitting curves used in embodiments of this disclosure.
[0064] FIG. 26 illustrates fitting curves used in embodiments of this disclosure.
[0065] FIG. 27 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0066] FIG. 28 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0067] FIG. 29 illustrates an example neural network as described herein.
[0068] FIG. 30 illustrates logic and mathematical expressions implemented by computers executing software in systems and methods of this disclosure.
[0069] FIG. 31 illustrates an array of values as discussed herein.
DETAILED DESCRIPTION
[0070] In some aspects, the disclosed technology relates to systems, methods, and computer- readable medium improving insulin therapy dosing. Although example embodiments of the disclosed technology are explained in detail herein, it is to be understood that other embodiments are contemplated. Accordingly, it is not intended that the disclosed technology be limited in its scope to the details of construction and arrangement of components set forth in the following description or illustrated in the drawings. The disclosed technology is capable of other embodiments and of being practiced or carried out in various ways.
[0071] The discussion that follows speaks of the controller being “aggressive,” “more aggressive,” and “less aggressive” which is meant to convey the latitude that the software in the controller allows for the controller to change blood glucose and/or insulin doses in larger steps before a dampening effect is place on the controller’s freedom of calculations. The term “aggressive” therefore is similar to a tolerance at which an overall controller will allow modules to react with larger or smaller changes before intervening with pre-programmed limitations.
[0072] It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” or “approximately” one particular value and/or to “about” or “approximately” another particular value. When such a range is expressed, other exemplary embodiments include from the one particular value and/or to the other particular value.
[0073] By “comprising” or “containing” or “including” is meant that at least the named compound, element, particle, or method step is present in the composition or article or method, but does not exclude the presence of other compounds, materials, particles, method steps, even if the other such compounds, material, particles, method steps have the same function as what is named.
[0074] In describing example embodiments, terminology will be resorted to for the sake of clarity. It is intended that each term contemplates its broadest meaning as understood by those skilled in the art and includes all technical equivalents that operate in a similar manner to accomplish a similar purpose. It is also to be understood that the mention of one or more steps of a method does not preclude the presence of additional method steps or intervening method steps between those steps expressly identified. Steps of a method may be performed in a different order than those described herein without departing from the scope of the disclosed technology. Similarly, it is also to be understood that the mention of one or more components in a device or system does not preclude the presence of additional components or intervening components between those components expressly identified.
[0075] As discussed herein, a “subject” (or “patient”) may be any applicable human, animal, or other organism, living or dead, or other biological or molecular structure or chemical environment, and may relate to particular components of the subject, for instance specific organs, tissues, or fluids of a subject, may be in a particular location of the subject, referred to herein as an “area of interest” or a “region of interest.”
[0076] A detailed description of aspects of the disclosed technology, in accordance with various example embodiments, will now be provided with reference to the accompanying drawings. The drawings form a part hereof and show, by way of illustration, specific embodiments and examples. In referring to the drawings, like numerals represent like elements throughout the several figures.
[0077] An aspect of an embodiment of the present disclosure provides, among other things, a system, method and computer readable medium for providing deep learning methods and multimodal deep learning architectures to provide insulin therapies utilizing continuous glucose monitoring devices and the currently disclosed insulin controller used as part of an automated insulin delivery system.
[0078] Figures 3A-3C are high level functional block diagrams of an embodiment of the present disclosure, or an aspect of an embodiment of the present disclosure.
[0079] As shown in Figure 3C, a processor or controller 102 communicates with the glucose monitor or device 101, and optionally the insulin device 100. The glucose monitor or device 101 communicates with the subject 103 to monitor glucose levels of the subject 103. The processor or controller 102 is configured to perform the required calculations. Optionally, the insulin device 100 communicates with the subject 103 to deliver insulin to the subject 103. The processor or controller 102 is configured to perform the required calculations. The glucose monitor 101 and the insulin device 100 may be implemented as a separate device or as a single device. The processor 102 can be implemented locally in the glucose monitor 101, the insulin device 100, or a standalone device (or in any combination of two or more of the glucose monitor, insulin device, or a stand along device). The processor 102 or a portion of the system can be located remotely such that the device is operated as a telemedicine device. Figure 2 also illustrates sensors and detectors that can be used to gather field data measurements for a subject, in real time or from samples, from the patient’s blood. These kinds of sensors and detectors may be stand alone equipment or incorporated into an insulin delivery device or pump.
[0080] Referring to Figure 3B, in its most basic configuration, computing device 144 typically includes at least one processing unit 150 and memory 146. Depending on the exact configuration and type of computing device, memory 146 can be volatile (such as RAM), nonvolatile (such as ROM, flash memory, etc.) or some combination of the two.
[0081] Additionally, device 144 may also have other features and/or functionality. For example, the device could also include additional removable and/or non-removable storage including, but not limited to, magnetic or optical disks or tape, as well as writable electrical storage media. Such additional storage is the figure by removable storage 152 and nonremovable storage 148. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. The memory, the removable storage and the non-removable storage are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology CDROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the device. Any such computer storage media may be part of, or used in conjunction with, the device.
[0082] The device may also contain one or more communications connections 154 that allow the device to communicate with other devices (e.g. other computing devices). The communications connections carry information in a communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode, execute, or process information in the signal. By way of example, and not limitation, communication medium includes wired media such as a wired network or direct-wired connection, and wireless media such as radio, RF, infrared and other wireless media. As discussed above, the term computer readable media as used herein includes both storage media and communication media. [0083] In addition to a stand-alone computing machine, embodiments of the disclosure can also be implemented on a network system comprising a plurality of computing devices that are in communication with a networking means, such as a network with an infrastructure or an ad hoc network. The network connection can be wired connections or wireless connections. As a way of example, Figure 3B illustrates a network system in which embodiments of the disclosure can be implemented. In this example, the network system comprises computer 156 (e.g. a network server), network connection means 158 (e.g. wired and/or wireless connections), computer terminal 160, and PDA (e.g. a smart-phone) 162 (or other handheld or portable device, such as a cell phone, laptop computer, tablet computer, GPS receiver, mp3 player, handheld video player, pocket projector, etc. or handheld devices (or non portable devices) with combinations of such features). In an embodiment, it should be appreciated that the module listed as 156 may be glucose monitor device. In an embodiment, it should be appreciated that the module listed as 156 may be a glucose monitor device, artificial pancreas, and/or an insulin device (or other interventional or diagnostic device). Any of the components shown or discussed with Figure 3B may be multiple in number. The embodiments of the disclosure can be implemented in anyone of the devices of the system. For example, execution of the instructions or other desired processing can be performed on the same computing device that is anyone of 156, 160, and 162. Alternatively, an embodiment of the disclosure can be performed on different computing devices of the network system. For example, certain desired or required processing or execution can be performed on one of the computing devices of the network (e.g. server 156 and/or glucose monitor device), whereas other processing and execution of the instruction can be performed at another computing device (e.g. terminal 160) of the network system, or vice versa. In fact, certain processing or execution can be performed at one computing device (e.g. server 156 and/or insulin device, artificial pancreas, or glucose monitor device (or other interventional or diagnostic device)); and the other processing or execution of the instructions can be performed at different computing devices that may or may not be networked. For example, the certain processing can be performed at terminal 160, while the other processing or instructions are passed to device 162 where the instructions are executed. This scenario may be of particular value especially when the PDA 162 device, for example, accesses to the network through computer terminal 160 (or an access point in an ad hoc network). For another example, software to be protected can be executed, encoded or processed with one or more embodiments of the disclosure. The processed, encoded or executed software can then be distributed to customers. The distribution can be in a form of storage media (e.g. disk) or electronic copy.
[0084] Figure 4 is a block diagram that illustrates a system 130 including a computer system 140 and the associated Internet 11 connection upon which an embodiment may be implemented. Such configuration is typically used for computers (hosts) connected to the Internet 11 and executing a server or a client (or a combination) software. A source computer such as laptop, an ultimate destination computer and relay servers, for example, as well as any computer or processor described herein, may use the computer system configuration and the Internet connection shown in Figure 4. The system 140 may be used as a portable electronic device such as a notebook/laptop computer, a media player (e.g., MP3 based or video player), a cellular phone, a Personal Digital Assistant (PDA), a glucose monitor device, an artificial pancreas, an insulin delivery device (or other interventional or diagnostic device), an image processing device (e.g., a digital camera or video recorder), and/or any other handheld computing devices, or a combination of any of these devices. Note that while Figure 4 illustrates various components of a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components; as such details are not germane to the present disclosure. It will also be appreciated that network computers, handheld computers, cell phones and other data processing systems which have fewer components or perhaps more components may also be used. The computer system of Figure 4 may, for example, be an Apple Macintosh computer or Power Book, or an IBM compatible PC. Computer system 140 includes a bus 137, an interconnect, or other communication mechanism for communicating information, and a processor 138, commonly in the form of an integrated circuit, coupled with bus 137 for processing information and for executing the computer executable instructions. Computer system 140 also includes a main memory 134, such as a Random Access Memory (RAM) or other dynamic storage device, coupled to bus 137 for storing information and instructions to be executed by processor 138.
[0085] Main memory 134 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 138. Computer system 140 further includes a Read Only Memory (ROM) 136 (or other non-volatile memory) or other static storage device coupled to bus 137 for storing static information and instructions for processor 138. A storage device 135, such as a magnetic disk or optical disk, a hard disk drive for reading from and writing to a hard disk, a magnetic disk drive for reading from and writing to a magnetic disk, and/or an optical disk drive (such as DVD) for reading from and writing to a removable optical disk, is coupled to bus 137 for storing information and instructions. The hard disk drive, magnetic disk drive, and optical disk drive may be connected to the system bus by a hard disk drive interface, a magnetic disk drive interface, and an optical disk drive interface, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the general purpose computing devices. Typically computer system 140 includes an Operating System (OS) stored in a non-volatile storage for managing the computer resources and provides the applications and programs with an access to the computer resources and interfaces. An operating system commonly processes system data and user input, and responds by allocating and managing tasks and internal system resources, such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing files. Non-limiting examples of operating systems are Microsoft Windows, Mac OS X, and Linux.
[0086] The term "processor" is meant to include any integrated circuit or other electronic device (or collection of devices) capable of performing an operation on at least one instruction including, without limitation, Reduced Instruction Set Core (RISC) processors, CISC microprocessors, Microcontroller Units (MCUs), CISC-based Central Processing Units (CPUs), and Digital Signal Processors (DSPs). The hardware of such devices may be integrated onto a single substrate (e.g., silicon "die"), or distributed among two or more substrates. Furthermore, various functional aspects of the processor may be implemented solely as software or firmware associated with the processor.
[0087] FIGS. 5 and 6 illustrate a computer system 140 may be coupled via bus 137 to a display 131, such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), a flat screen monitor, a touch screen monitor or similar means for displaying text and graphical data to a user. The display may be connected via a video adapter for supporting the display. The display allows a user to view, enter, and/or edit information that is relevant to the operation of the system. An input device 132, including alphanumeric and other keys, is coupled to bus 137 for communicating information and command selections to processor 138. Another type of user input device is cursor control 133, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 138 and for controlling cursor movement on display 131. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
[0088] The computer system 140 may be used for implementing the methods and techniques described herein. According to one embodiment, those methods and techniques are performed by computer system 140 in response to processor 138 executing one or more sequences of one or more instructions contained in main memory 134. Such instructions may be read into main memory 134 from another computer-readable medium, such as storage device 135. Execution of the sequences of instructions contained in main memory 134 causes processor 138 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the arrangement. Thus, embodiments of the disclosure are not limited to any specific combination of hardware circuitry and software.
[0089] The term "computer-readable medium" (or "machine-readable medium") as used herein is an extensible term that refers to any medium or any memory, that participates in providing instructions to a processor, (such as processor 138) for execution, or any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). Such a medium may store computer-executable instructions to be executed by a processing element and/or control logic, and data which is manipulated by a processing element and/or control logic, and may take many forms, including but not limited to, non-volatile medium, volatile medium, and transmission medium. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 137. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infrared data communications, or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.). Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch-cards, paper-tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
[0090] Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to processor 138 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 140 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 137. Bus 137 carries the data to main memory 134, from which processor 138 retrieves and executes the instructions. The instructions received by main memory 134 may optionally be stored on storage device 135 either before or after execution by processor 138.
[0091] Computer system 140 also includes a communication interface 141 coupled to bus 137. Communication interface 141 provides a two-way data communication coupling to a network link 139 that is connected to a local network 111. For example, communication interface 141 may be an Integrated Services Digital Network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another non-limiting example, communication interface 141 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. For example, Ethernet based connection based on IEEE802.3 standard may be used such as 10/100BaseT, lOOOBaseT (gigabit Ethernet), 10 gigabit Ethernet (10 GE or 10 GbE or 10 GigE per IEEE Std 802.3ae-2002 as standard), 40 Gigabit Ethernet (40 GbE), or 100 Gigabit Ethernet (100 GbE as per Ethernet standard IEEE
P802.3ba), as described in Cisco Systems, Inc. Publication number 1-587005-001-3 (6/99), "Internetworking Technologies Handbook", Chapter 7: "Ethernet Technologies", pages 7-1 to 7- 38, which is incorporated in its entirety for all purposes as if fully set forth herein. In such a case, the communication interface 141 typically include a LAN transceiver or a modem, such as Standard Microsystems Corporation (SMSC) LAN91C111 10/100 Ethernet transceiver described in the Standard Microsystems Corporation (SMSC) data-sheet "LAN91C111 10/100 Non-PCI Ethernet Single Chip MAC+PHY" Data-Sheet, Rev. 15 (02-20-04), which is incorporated in its entirety for all purposes as if fully set forth herein.
[0092] Wireless links may also be implemented. In any such implementation, communication interface 141 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. Network link 139 typically provides data communication through one or more networks to other data devices. For example, network link 139 may provide a connection through local network 11 1 to a host computer or to data equipment operated by an Internet Service Provider (ISP) 142. ISP 142 in turn provides data communication services through the world wide packet data communication network Internet 11. Local network 111 and Internet 11 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link 139 and through the communication interface 141, which carry the digital data to and from computer system 140, are exemplary forms of carrier waves transporting the information.
[0093] A received code may be executed by processor 138 as it is received, and/or stored in storage device 135, or other non-volatile storage for later execution. In this manner, computer system 140 may obtain application code in the form of a carrier wave.
[0094] FIG. 6 is a block diagram illustrating an example of a machine upon which one or more aspects of embodiments of the present disclosure can be implemented. [0095] Examples of machine 400 can include logic, one or more components, circuits (e.g., modules), or mechanisms. Circuits are tangible entities configured to perform certain operations. In an example, circuits can be arranged (e.g., internally or with respect to external entities such as other circuits) in a specified manner. In an example, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware processors (processors) can be configured by software (e.g., instructions, an application portion, or an application) as a circuit that operates to perform certain operations as described herein. In an example, the software can reside (1) on a non-transitory machine readable medium or (2) in a transmission signal. In an example, the software, when executed by the underlying hardware of the circuit, causes the circuit to perform the certain operations.
[0096] An aspect of an embodiment of the present invention system, method and computer readable medium provides, among other things, the latest installment of the present inventor's second generation automated insulin delivery algorithm, process or technique. It builds on the experience and data acquired in a sequence of in-silico and in-vivo experiments conducted as shown herein. An aspect of an embodiment of the present system, method and computer readable medium is designed to, but not limited thereto, function in both Hybrid Closed Loop and Full Closed Loop modalities, and as such, key dosing modules have been developed to enable a more reactive system that avoids insulin overdosing by self-detuning following significant insulin delivery. An aspect of an embodiment of the present invention system, method and computer readable medium provides, among other things, a version of the insulin dosing system and related method which are intended to be used during a Hotel-to-Home transition clinical trial.
[0097] The system, method, and computer readable medium of this disclosure makes use of technology surrounding a Kalman filter as shown in FIG. 1A - IF. FIG. 1 A proposes to determine, among other things, the existence of faults in a meal/insulin/continuous glucose monitoring (CGM) informed system in diabetes. One of the key ideas, among others, is that careful monitoring of the capacity of a core Kaiman Filter estimation model to the received data can enable informing the user of the validity /safety of the overall system using the KF estimation. In particular, in one example, the Metabolic Monitoring module 108 is configured to compute at given intervals (every 5 minutes, for example) an estimate of the patient metabolic status using a Kalman filter 200 as depicted. Contrary to previously proposed systems, Meal CHO appearance and Plasma insulin are treated as feedforward signals (i.e. they are considered fully known and are derived respectively from the meals and past insulin injections). These two signals are fed into the Kalman filter 200 as inputs, in addition to the CGM values. The Kalman filter then estimates two states: the plasma glucose 10 and the insulin action. The estimated state is the used to forecast the metabolic state of the patient ahead, assuming no additional disturbance; a forecast that can be used in an insulin on board (ISOB) computation. In addition, the difference between the feed-forward insulin action (X) and the KF estimated insulin action (Xest) can form the basis for the severe fault detection system.
[0098] First, the construction of the feedforward model outputs is performed (green, for example ). It should be appreciated that this code is recursive and needs to be run at certain intervals (every 5 minutes, for example). If an execution during an interval is missed, then the code may be run for each interval since the last execution as shown in FIG. IB. The calculation for the insulin system is shown in FIG. 1C. The Kalman Filter estimate is next computed at FIG. ID. It should be appreciated that this code is recursive and needs to be run at certain intervals (every 5 minutes, for example). If an execution during an interval is missed, then the code may be run for each interval since the last execution. FIG. IE shows output variables Gest and Delta created next. Then predictions are made at FIG. 1 F. More details behind this technology can be found in US US2019/0254595A1, which is incorporated herein by reference.
[0099] Introduction
[00100] In this section, the disclosure provides a general description of an aspect of an embodiment of the automated insulin delivery system and related method. The system and related method utilize the historical modular architecture of the present inventor (ensuring natural flow of inputs, state estimations, and insulin doses request while ensuring safety). An aspect of an embodiment of this latest dosing algorithm is referred to as the Automated Insulin Delivery Adaptive Network, or AIDANET and so far has been implemented in the prototyping platform (Di As).
[00101] Conceptually, the dosing system runs every 5 minutes to generate insulin injections. The 5 min insulin injection is computed by adding (i) the recommendation of an artificial neural network trained to mimic a constrained model predictive controller dosing rule (NAP), (ii) the HMS correction (one dose computed as the correction down to 1 lOmg/dl based on prevailing CGM and once an hour at most, unless there is a triggering BPS and G>180 mg/dl), and (iii) the current basal rate (output of the Performance Assessment System, (PAS)); that amount is then saturated by the Safety Supervision System, SSM. Finally, a priming bolus from the Bolus Priming System, BPS, is added to the total if the conditions for large glycemic excursions are detected, also saturated by SSM.
[00102] Once a day, based on glycemic outcome metrics, the performance adaptation system, PAS, modifies the predicted total daily insulin (referred to as 0) used by Al DAN ET to modulate the controller's aggressivity, the basal rate, and the amplitude of the BPS bolus. Upon user request, a temporary control rate (TCR) can be imposed by dampening or increasing the output of PAS for a predetermined period of time (e.g up to 2h). An aspect of an embodiment of the dosing system architecture can be seen in FIG. 7 below.
[00103] Safety System Module (SSM)
[00104] Aspects of this disclosure, particularly regarding the safety system module, take advantage of technology having a background set forth in US2021/0282677 Al which is incorporated herein by reference. Insulin pump data refers either to (1) commands from the user (in conventional therapy) or controller (in open- or closed-loop control) or (2) feedback from the pump regarding delivered insulin (regardless of the type of control employed). The method described here also extends to configurations where, in addition to CGM and insulin pump data, yet other inputs are available to the CPHS, including meal information, indications of physical activity, and heart rate information. The insulin pump data or other external input data are indirect metabolic measurements. These measurements are not collected directly from the patient and are collected from other sources that can indicate information about the current patient state. For instance, insulin pump data is an indirect metabolic measurement. It should be appreciated that an embodiment of the CPHS disclosed can take as inputs both direct metabolic measurements and indirect metabolic measurements. This general situation is depicted in FIG. 2. As before, the outputs of the system 400 are: (1) an attenuation factor designed to restrict the delivery of insulin when there is significant risk of hypoglycemia and (2) a red/yellow/green light alarm 25 system to inform the user of impending hypoglycemia. FIG. 2 presents an illustration of an enhanced hypoglycemia prevention system 400 including a CPHS, which uses CGM data and insulin pump data (associated with either conventional therapy or open or closed loop control systems) to (1) compute an attenuation factor based on an assessment of the risk of hypoglycemia and/or (2) present to the user red, 30 yellow, or green lights indicating the risk of hypoglycemia. The subject or patient, 402, is a diabetic subject and the CGM 404 collects information about the patient. The CPHS 406 takes as input the blood glucose data acquired by the CGM 404. Based on this data, the CPHS 406 evaluates the risk of hypoglycemia and determines whether and what kind of action to take. These actions include taking no action, attenuating insulin delivery, and/or taking additional intervention. Depending on the risk of hypoglycemia, the visual indicator 410, displays a colored light (or other indicator as desired or required). As in the previous embodiments, if there is no risk of hypoglycemia, the CPHS 406 will take no action and the visual indicator 410 will present a green light. If the risk of hypoglycemia is low the CPHS 406 will attenuate insulin delivery, and the visual indicator 410 will present a yellow light. If the risk of hypoglycemia is high, the CPHS 406, will either (1) call for additional intervention, or (2) call for additional intervention and attenuate insulin delivery. In either case, the visual indicator 410 will present a red light. When the CPHS (and related method and computer program product) has access to other data in addition to CGM data, an embodiment ofthe invention can correct the glucose signal used in the risk calculation. Here, the focus is on the case where, in addition to CGM data and possibly other signals, the CPHS has explicit access to insulin pump data coming either in the form of (1) user inputs (i.e. commanded insulin rate at any time and insulin boluses whenever they occur) or (2) feedback from the pump regarding delivered insulin. The system is generic in that requests for insulin may come either from conventional therapy (with the patient in charge) or from open- or closed-loop control.
[00105] One aspect of this Safety System Module is to saturate an insulin injection request from other modules below a fraction of the default basal rate based on predicted risk of hypoglycemia (i.e., apply Power Brakes). In some embodiments, the saturation of risk is set at zero (0) if the predicted risk is above 90mg/dl. Some embodiments include the addition of a constraint based on the current continuous glucose monitoring (CGM) and the minimum CGM over a short time period (~ Ih). The resulting injection is the minimum between both SSM basal constraints and the controller's command (sum of the NAP command + PAS computed basal rate). The SSM supervises the insulin injections coming from the other modules and reduces them to safe values if there is a risk of hypoglycemia, by imposing a dynamic upper bound over the insulin according to the following equation:
[00106] insulin dose = min (uk + ub, hypoCons + ub, BrakeAction • ub) +
[00107] { UBC if UBC > 0 or min( hypoConsMeal,, UBPS) otherwise}.
[00108] where ub is determined by controller parameter module discussed below (currently set at 0/48), UBPS is the result of the Bolus Priming System (BPS) module and hypoCons, hypoConsMeal, and Brake Action are computed as described below.
[00109] UBC is the output of a bolus calculator for hybrid modality use (where the user would announce their meals). The dynamic variable 'hypoConst' aims to reduce or suppress insulin infusions in situations of hypoglycemia. It is computed in terms of the minimum value of glucose recorded in the last hour ( Gmin) and the current glucose concentration (Gc) as shown in
FIG. 8.
[00110] The dynamic variable 'BrakeAction' aims to reduce or suppress insulin infusions in situations of predicted risk of hypoglycemia, by suppressing insulin infusions before it is too late. It computes an estimate of the patient metabolic state, x+, using a Kalman Filter described above. Then, it uses this user state to make a 30min glucose prediction as follows: [00111] G pred,30 = A (p to 6) • xA+ + Gsp
[00112] where Gsp is the glucose set point (120 mg/dL), while Ap is the state matrix of the Kalman Filter, and, then, the 'BrakeAction' is calculated as shown in FIG. 9.
[00113] Adaptive Bolus Priming System (BPS)
[00114] BPS delivers increasingly large insulin injections as confidence on meal disturbance builds up, up to a fixed fraction of the total daily insulin. This fraction is entered as a daily profile in the system, allowing for periods on increase aggressivity (e.g. breakfast), or silence (e.g. overnight). The dose is also modulated by the BPS-related insulin on board.
[00115] BPS functions by using recent CGM values to compute a probability of meal-like event and, based on that probability, determines the maximum appropriate meal related insulin on board, based on environmental (e.g. time of day, day of the week, selected profile, TCR output) and metabolic (e.g. total daily dose, runtime insulin sensitivity) factors. For example, BPS computation can fit a polynomial curve over the past 30 minutes of CGM data and use its coefficient as features in a logistic regression computation, outputting a probability of meal-like event. Other example would include feeding short term and/or long term data (CGM, Insulin, meal information) to an ANN to produce an index between 0 and 1.
[00116] BPS can also be manually triggered (probability is set to 1). If the result is above a threshold, a bolus is commanded equal to the prevailing (based on an active daily profile and the current time of day) fixed fraction of total daily insulin (historical example) or Theta (PAS output, current example), accounting for the IOB_BPS state. The BPS is an algorithm that delivers insulin injections when it detects with high confidence that the user is having a meal. The computation of the BPS algorithm involves two steps: { i) compute a measure of probability that indicates if a meal is likely to be happening; (ii) compute an insulin bolus and send it to the SSM if the probability is higher than a threshold.
[00117] Meal Probability Calculation
[00118] We first compute the probability of a meal-like event using an artificial neural network with inputs corresponding to the last 30 minutes (7 values) of CGM. This disclosure uses a feed forward adaptive neural network (ANN) with 7 inputs two hidden layers (both with 15 neurons) and a single output. This disclosure uses a ReLU (Rectified Linear Unit) activation function because it is more computationally efficient: using simple linear operators, and avoiding costly exponentiation operations, which may be computationally intensive and resourcedemanding, especially on embedded systems with limited computational resources. This model is designed to detect meal-like disturbances using features within the past 7 CGM samples. The weights of this network are adjusted as necessary.
[00119] Insulin Bolus Calculation
[00120] The meal probability, n(t) dictates if an insulin bolus should be delivered by the BPS. A bolus will be requested when the meal probability is greater than predetermined thresholds. Examples of possible thresholds and doses are presented in as the probability increases can also be considered). FIG. 10 illustrates this process in Table 1.
[00121] To note, the insulin dosing step could be replaced by an artificial neural network that uses the meal-like event probability and historical data (e.g. 2 weeks of CGM, insulin, and meal-like event probabilities) as well as environmental (time of day, day of week, week of year) and metabolic (insulin sensitivity index, exercise planning index) data to compute the meal insulin dose.
[00122] Hyperglycemia Mitigation System (HMS) [00123] An automated correction bolus generator that provides a fraction of the needed insulin dose to correct glucose above 180mg/dl down to 110 mg/dl; HMS injections can be triggered with a frequency of 1 per hour as needed. HMS can be triggered out of cycle if BPS triggers and G>180 mg/dL. Two changes have been developed for better performance and should be noted: The current glucose state estimate is used instead of the 30 minutes prediction in the dose computation and 100% of the insulin on board (lOB)-corrected dose is injected instead of 60% .
[00124] The Hyperglycemia Mitigation System (HMS) adds a layer of safety against hyperglycemia. A timer on meal announcement (HMS meal_timer) is set to avoid HMS dose with active meal bolus from the BPS. Another timer (HMS_correction > timer) is set to avoid overdose from HMS itself. When glucose level exceeds the threshold (HMS_ threshold) and time has passed the timers (HMS_meal_timer) and HMS_correction_timer), a bolus will be requested with respect to a target (HMS_target) as shown in FIG. 1 1 and FIG 12B.
[00125] State Estimation
[00126] To compute the metabolic state of the user and inform all modules. The estimator computes: the rate of change of CGM: the relative insulin on board from all injections relative to the theoretical basal rate; the insulin on board of all manual and BPS bolus; and the Kaiman filter state of the glucose/insulin model.
[00127] The addition of an estimated disturbance state is used to account for the fact that meals are unannounced and to account for the removal of the meal feedforward subsystem (G1 Track model in earlier versions such as described above in regard to the ‘595 publication). The computation is a series of matrix multiplications and additions over the 72-element data history (6h).
[00128] The IOB computations may include the rate of change computation that is computed using a second order polynomial fitting of the last 30 minutes of CGM.
[00129] Core Model [00130] Our method and related system requires a mathematical model of the user to provide accurate glucose predictions to the control system. Typical AP implementations use a minimal model of the glucose-insulin system together with two subsystems, the subcutaneous insulin infusion system, and the oral carbohydrate consumption model. One of the major recognized hurdles in the field is to identify/personalize such models. In this case, we get rid of the oral subsystem and provide a method to estimate the meal disturbance. The uncertainty on the model parameters is now absorbed by the disturbance estimate. The Minimal Triangular Model (MTT) used is described in FIG. 12A, FIG. 13, and FIG. 14.
[00131] To keep a manageable computational burden, the controller design will remain in the linear framework, meaning that this disclosure needs to use a discrete-time linear version of Model 2 with a fixed parameter set. Bearing the above in mind, the linearization is performed around a subject-specific operating point, e.g., this disclosure sets GP = 120 mg/dL, and then lock for the steady-state solution of Model 2. Then, the discretization is performed over the linearized system using a sampling time of 5 minutes and a zero order-hold on the inputs.
[00132] Metabolic State Estimator
[00133] The controller computes insulin doses as a function of the current core model state. Since not all the states are accessible from sensors, there is a need to estimate them by using a so-called state estimator. Some embodiments of this disclosure use the well-known Kaiman Filter (KF) (Kaiman, 1960) (Simon, 2006), in which state estimations rely on a mixed feedback/feedforward strategy as discussed above in regard to 1. After model linearization, the following computation is performed every 5 min using a steady-state Kaiman filter with a buffer of 6h as set forth in FIG. 15, FIG. 16, and Table 5 of FIG. 17.
[00134] Insulin On Board Calculations
[00135] The insulin on board, IOB represents the amount (in insulin unit) of insulin action that remains to occur based on historical insulin injection (i.e. the amount of insulin whose action has not yet been observed in glycemia and therefore need to be accounted for in future dosing). IOB is in essence a weighted sum of all past injections with weights derived from a theoretical insulin Action Curve such that the further in the past the lower the weight. For example, values for the action curve could be given by the matrix of FIG. 18 that reads top to bottom, left to right). FIG. 19 illustrates the computation for the IOB calculations.
[00136] Controller Parameters
[00137] Using IOB and the CGM rate of change, this disclosure computes the basal controller (NAP) aggressivity parameters. The system and method herein function as it enables detuning (reducing the reaction to a deviation from target) during the postprandial period (as the system injects insulin, IOB increases, which reduces aggressivity). Furthermore, the NAP return to target aggressivity factor (Q) is computed via a combination of piecewise linear and exponential functions based on the runtime IOB and prevailing PAS output (0). They are only necessary if these inputs are exposed in the NAP implementation, they can be easily folded inside the ANN and removed. In addition, this module determines: The insulin sensitivity factor (ISF) as 1500/0, the system basal rate as 0 /48, and the BPS maximum IOB value. FIG. 20 illustrates and example BPS profile.
[00138] Basal Rate
[00139] To serve as an operation point for the control system this disclsoure must define a constant insulin injection rate at which the system is considered stable and at the desired target, a.k.a. the "basal rate" or ub. This disclosure proposes to set Ub = 0 / 48 Where 8 is the output of PAS.
[00140] Insulin Sensitivity Factor
[00141] The insulin sensitivity factor (ISF, the number of mg/dl that glucose is expected to decrease by following 1 unit of insulin) and is computed based on the PAS output q. For example ISF = 1800/ 0.
[00142] Maximum BPS Action [00143] The maximum BPS action K (BPS to Max) be defined by the user as a daily fixed pattern as shown in FIG. X. At this time, it is bounded by 0% and 10% of theta (the minimum and maximum values tested in prior clinical trials), but different bounds can be considered.
[00144] Weight on Error Signals
[00145] FIG. 21 illustrates the weighting calculations for an error signal of this disclosure. To avoiod oscillations and chattering on the insulin dose, Qz(IOB) was designed from a piece- wise linear definition to include an exponential decay from Qz(IOB) = 1 to Qz(IOB) = Q0 /B. That allows a smoother recover when Qz(IOB) retunes as IOB decreases. Thus, Qz(IOB) is computed as shown in FIG. 21.
[00146] Weight for changes in the control action
[00147] To allow for more aggressive reactions in high, constant BG levels, we designed a new tuning/detuning strategy for XI (lambda 1) as a function of the current CGM value and its derivative, introducing an intermediate design parameter for Z0 (lambda zero) . Overall, the redesign implies a reduction of the dead-zone as glucose increases over 180 mg/dl in two ways: 1 ) lowering the maximum value, and 2) reducing the range of values of the glucose derivative where Al takes its maximum value. FIG. 22 shows an example of the new tuning/detuning strategy defined for XI. FIGS. 23 - 24 shows more details and Table 6 for the tuning parameters. [00148] Performance based Adaptation System (FIGS. 26 - 28)
[00149] This module may be used to adjust the aggressiveness of the controller based on glycemic metrics, calculated from the last days of CGM records. A modulation factor is calculated as a function of time below range (TBR) and time above range (TAR), which is then used to adjust the tuning parameters of the controller each day. The PAS generates the predicted total daily insulin need (referred calculated from the last days of CGM to as 0). From 0 we also derive the prevailing basal rate (0/48) or ISF records. A modulation factor is calculated as a function of time below range (TBR) and time above range (TAR), which is then used to adjust the tuning parameters of the controller each day, e.g., (1800/0) for HMS action. 0 is also used in BPS to compute the fixed bolus amount and modulates the controller aggressivity computation.
0 is an update of the prior day value multiplied bv a factor depending on historical performances (for example the last 2 weeks time below range and time above range, or LBGI and HBGI indices, and/or detected hypoglycemia treatments). The initial value could be the total daily insulin entered by the user. An aspect of an embodiment of the present invention method and system provides, among other things, a novel approach to adapt the controller's aggressiveness is proposed and tested in this clinical trial. Since the tuning of the control algorithm is not personalized, the proposed adaptation strategy attempts to adjust the control parameters that allows/constraints insulin infusion in the UMPC and in the BPS, HMS, and SSM modules based on the performance of the control system for each participant. In this regard, a modulation factor (a0 ) is determined daily based on the computation of glycemic metrics, TBR (time below < 70 mg/dL) and TAR (time above > 180 mg/dl), for the previous days. Then, a0 is used to modify the tuning parameter 0 (which also controls the basal rate ub) used in the control algorithm to compute Qz and lambda 1 every five minutes, and in the BPS, HMS, and SSM modules. The general idea behind this system is to allow the controller more room to infuse insulin for subjects with higher insulin needs or to further restrict insulin infusion when a persistent high TBR is detected. FIGS. 25 and 26 illustrate the fitting curves for the PAS module.
[00150] A hypoglycemia treatment detector can be used to modify TBR and LGBI to make the system more conservative when the user takes a hypoglycemia treatment The motivation of this is as follows:
[00151] Hypoglycemia treatments hide increases in TBR or LBGI by prematurely raising glucose levels. So when a hypoglycemia treatment is detected, TBR and LBGI must be artificially increased to compensate.
[00152] The amount of TBR and LBGI to compensate for a hypoglycemia treatment was determined using the UVA/Padova simulator where virtual subjects were given a bolus to achieve a minimum glucose value of 55mg/dL. Then the average change TBR and LBGI due to a hypoglycemia treatment was computed.
[00153] TBR/treatment = 2.5%, LBGI/treatment=0.868 Because the system is full closed loop, there are no meal or treatment announcements. So a hypoglycemia treatment detector is used on the CGM trace to identify when hypoglycemic treatments are administered. The features used are the coefficients (a, b, c) of a quadratic ax2 + bx + c that is fit in the same way as in BPS. Additionally, the minimum glucose within a 30-minute window is used. These features are used in logistic regression to identify the times of treatments. Based on the detected hypoglycemia treatments. The daily values for TBR and LBGI are modified.
[00154] Finally, regardless of the method of computing alpha (TBR) and alpha (TAR), the alpha- theta is computed based on the normalized values such as:
[00155] aQ = max(min(aTBR + (aTAR - 1),1.5), 0.5) E [0.5, 1.5]
[00156] with aTAR being the normalized values of aTAR based on the maximum and minimum values of its feasible domain.
[00157] Once alpha-theta is computed, theta and ub are modified as presented and sent to other modules of the control system:
[00158] 0 day = 0 day-1 * a 0 with 0 day-1 is the value computed in the previous day.
[00159] If the control system was active less than 80% of the time or less than 80% of the CGM records are available: The previous values computed for theta and ub are kept during the current day. In case of the first day, theta and ub are kept equal to their initialization values.
[00160] Thus, by adjusting 0 and u.b, each day, the tunable parameters of the UMPC, as well as the other modules of the systems, will be updated appropriately based on the performance (given by the glycemic metrics) of the controller for each participant, allowing an adaptation and customization of the control algorithm according to the insulin needs of each participant. It should be noted that in order to avoid invalid operations (such as division by zero) inside the control system modules as well as to constraint PAS of increasing indefinitely (safety layer), 0 and ub values are saturated to [0.1 168] U and [0.06 3.5] U/h, respectively.
[00161] Temporary Control Rate (TCR)
[00162] This button will allow users to temporarily modulate the action of the controller to their choice (with zero percent meaning minimal insulin infusion) for up to two hours at a time. The purpose of this functionality is to allow users to reduce insulin infusion to minimize the risk of hypoglycemia and alerts for a short period of time when they have special needs for it. The system and related method are new to this dosing algorithm version. The TCR system is the equivalent of a temporary basal rate but for a closed loop system. It informs PAS to use only a fraction (0-100%) of its computed 0 for a period of time from 30-120 minutes; resulting in dampened insulin injections.
[00163] This clinical trial introduces and tests a new tool that allows users to manipulate the controller's insulin infusion. This tool is intended only to reduce the insulin infusion proposed by the control system when users wish to minimize the risk of hypoglycemia and avoid alerts for a maximum period of two hours. Based on this, the button in the DiAs main screen that formerly allowed temporary basal rate is repurposed when in closed loop mode. Activating this button, users can select the percentage of the controller rate. The duration is limited to 0.5, 1, 1.5 and 2 hours, while the percentage can range from 100% to maintain controller suggestion to 0% for minimal insulin infusion. This percentage can then be applied to the Predicted Total Daily Insulin (the theta parameter cited above) for the chosen duration.
[00164] Once TCR Is activated, the percentage to modulate the controller response will be applied to the values of G and ub computed by PAS and then, sent to all modules of the control system (UMPC, BPS,, HMS, and SSM) as follows:
[00165] Neural Network Architecture FIGS. 29-30. [00166] A Neural net implementation of the UMPC. This module computes a new insulin dose every 5 minutes based on the Neural Network computation from the current state (from the state estimation Kalman Filter) and the prevailing aggressivity factors (dependent on IOB).
[00167] The Neural Network replacement was also validated in-vivo and shown to match the classical control law within 0.03U/hr. for 15 adults with Type 1 diabetes. One example of such adaptive neural network (ANN) implementation is a 9 block ResNet network with the first 3 blocks of size 256, and the next 6 of size 128, with inputs the Kalman Filter states and the controller parameters. The neural network is depicted in FIG. 29. It corresponds to a conventional Residual Network (ResNET) architecture, which is composed of a stack of N = 9 ResNET blocks (orange boxes). Each block receives an input vector, Zj, and it generates an output vector, Zj+i, as follows.
[00168] The first of the four equations above represent a standard normalization layer, where the input vector is first normalized to zero mean and unit variance and then, scaled linearly through the scalars y and B. The second and third equations represent conventi onal fully connected neural network layers with Rectified Linear Unit activation functions — ReLU layers. The last equation represents a standard affine transformation (or linear map). The network has been configured with the following internal dimensionalities, which are the main degrees of freedom to adjust its structure.
[00169] The parameters of each block of FIG. 31 are the learnable parameters. The matrix Wj is set as the identity if the input-output dimensionalities are equal, or it is set J as a learnable parameter otherwise. The final output of the network is generated by an affine transformation uk = AZn+1 + b, where A and b are also adjustable parameters. The final output of the network is then saturated as follows:
[00170] uk = max {-ub, min {uk, 1000} } (mU).
[00171] In an example, a circuit can be implemented mechanically or electronically. For example, a circuit can comprise dedicated circuitry or logic that is specifically configured to perform one or more techniques such as discussed above, such as including a special-purpose processor, a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). In an example, a circuit can comprise programmable logic (e.g., circuitry, as encompassed within a general-purpose processor or other programmable processor) that can be temporarily configured (e.g., by software) to perform the certain operations. It will be appreciated that the decision to implement a circuit mechanically (e.g., in dedicated and permanently configured circuitry), or in temporarily configured circuitry (e.g., configured by software) can be driven by cost and time considerations.
[00172] In an embodiment, a system 700 and computer readable device may implement a computer implemented method of controlling automatic insulin delivery to a subject and includes using a computer comprising a processor connected to computer memory storing software to execute computer implemented instructions that implement a controller 715 to calculate sequential insulin doses for a patient by performing steps including calculating a current core model state 712 of insulin on board (IOB) the patient using a state estimator module 712; calculating a modulation factor (ae) from glycemic measurements from continuous glucose monitoring 703 of the subject, time below range values, and time above range values for a selected number of previous days; calculating a predicted total daily insulin quantity, theta (0), needed for stable continuous glucose monitoring; adjusting theta (0) with the modulation factor (ag) to store an adjusted theta (0) in the memory of the computer setting a basal rate Ub of insulin therapy with the adjusted theta (0); calculating an aggressivity factor (Qz) for the controller on a time varying basis corresponding to values of insulin on board (IOB) and the adjusted theta (0); and utilizing a neural net artificial pancreas module to compute a new insulin dose Uk for the controller from the adjusted theta (0), the basal rate Ub and the aggressivity factor (Qz).
[00173] In an embodiment, the method further includes calculating an intermediate design parameter lambda (Xo) from continuous glucose monitoring values and rate of change of the continuous glucose monitoring values to normalize vectors input to the neural net artificial pancreas.
[00174] In an embodiment, the method further includes calculating the aggressivity factor (Qz) comprises calculating Qz via a combination of piecewise linear and exponential functions based on the runtime IOB and current value of the adjusted theta (0).
[00175] In an embodiment, the method further includes transmitting the new insulin dose Ukto a safety system module (SSM) 708 programmed as a part of the controller.
[00176] In an embodiment, the method further includes the SSM predicts a risk of hypoglycemia and reduces the new insulin dose Uk by imposing a dynamic upper bound to the new insulin dose value Uk-
[00177] In an embodiment, the method further includes the SSM predicts a risk of hypoglycemia based upon a minimum value of glucose recorded within a preceding hour (Gmin) and a current glucose concentration (Gc).
[00178] In an embodiment, the method further includes the SSM reducing the new insulin dose Uk according to calculations utilizing the adjusted theta (9) and K(BPS to max) denoting a fraction of the adjusted theta (0).
[00179] In an embodiment, the method further includes the SSM being a second neural network.
[00180] In an embodiment, the method further includes calculating a current core model state of insulin on board (IOB) the subject comprises applying a Kalman filter state model.
[00181] In an embodiment, the method further includes calculating a current core model state of insulin on board (IOB) the subject comprises calculating a rate of change from the continuous glucose monitoring (CGM), a relative insulin on board (IOB) from all injections relative to a theoretical basal rate, and another insulin on board (IOBBPS) resulting from manual and bolus doses. [00182] In an embodiment, the method further includes transmitting the new insulin dose Ukto a safety system module (SSM) programmed as a part of the controller, wherein the SSM further receives data from a hyperglycemia mitigation system (HMS) 722 programmed as an HMS module in the controller.
[00183] In an embodiment, the method further includes the HMS module implementing an automated correction bolus generator to correct for glucose above a threshold value.
[00184] In an embodiment, the method further includes the threshold value being at or about 180 mg/dL.
[00185] In an embodiment, the method further includes that the SSM further receives bolus directive data from a bolus priming system (BPS) that computes a probability of a meallike event and determines a maximum appropriate meal related insulin on board (IOB).
[00186] In an embodiment, the method further includes that the maximum appropriate meal related insulin on board (IOB) is based on environmental and metabolic factors.
[00187] In an embodiment, the method further includes that the environmental factors comprise at least one of time of day, day of the week, selected profile, temporary control rate (TCR) output and the metabolic factors comprise total daily dose runtime insulin sensitivity.
[00188] In an embodiment, the method further includes adjusting theta (0) with the modulation factor to store an adjusted theta (0) in the memory of the computer comprises utilizing a performance based adaptation system (PAS) 716, wherein the modulation factor is calculated as a function of time below range (TBR) and time above range (TAR), which is then used to adjust tuning parameters of the controller each day.
[00189] In an embodiment, the method further includes dampening insulin injections with a temporary controller rate activated by a user to allow for reducing insulin infusions for a selected period of time. [00190] In an embodiment, the method further includes calculating sequential insulin doses comprises adding a recommendation of the artificial neural network, 720 an HMS correction and a current basal rate.
[00191] Accordingly, the term “circuit” is understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily (e.g., transitorily) configured (e.g., programmed) to operate in a specified manner or to perform specified operations. In an example, given a plurality of temporarily configured circuits, each of the circuits need not be configured or instantiated at any one instance in time. For example, where the circuits comprise a general-purpose processor configured via software, the general-purpose processor can be configured as respective different circuits at different times. Software can accordingly configure a processor, for example, to constitute a particular circuit at one instance of time and to constitute a different circuit at a different instance of time.
[00192] In an example, circuits can provide information to, and receive information from, other circuits. In this example, the circuits can he regarded as being communicatively coupled to one or more other circuits. Where multiple of such circuits exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the circuits. In embodiments in which multiple circuits are configured or instantiated at different times, communications between such circuits can be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple circuits have access. For example, one circuit can perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further circuit can then, at a later time, access the memory device to retrieve and process the stored output. In an example, circuits can be configured to initiate or receive communications with input or output devices and can operate on a resource (e.g., a collection of information).
[00193] The various operations of method examples described herein can be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors can constitute processor-implemented circuits that operate to perform one or more operations or functions. In an example, the circuits referred to herein can comprise processor-implemented circuits.
[00194] Similarly, the methods described herein can be at least partially processor- implemented. For example, at least some of the operations of a method can be performed by one or processors or processor-implemented circuits. The performance of certain of the operations can be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In an example, the processor or processors can be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other examples the processors can be distributed across a number of locations.
[00195] The one or more processors can also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service” (SaaS). For example, at least some of the operations can be performed by a group of computers (as examples of machines including processors), with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
[00196] Example embodiments (e.g., apparatus, systems, or methods) can be implemented in digital electronic circuitry, in computer hardware, in firmware, in software, or in any combination thereof. Example embodiments can be implemented using a computer program product (e.g., a computer program, tangibly embodied in an information carrier or in a machine readable medium, for execution by, or to control the operation of, data processing apparatus such as a programmable processor, a computer, or multiple computers).
[00197] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a software module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[00198] In an example, operations can be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Examples of method operations can also be performed by, and example apparatus can be implemented as, special purpose logic circuitry (e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)).
[00199] The computing system can include clients and servers. A client and server are generally remote from each other and generally interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware can be a design choice. Below are set out hardware (e.g., machine 400) and software architectures that can be deployed in example embodiments.
[00200] In an example, the machine 400 can operate as a standalone device or the machine 400 can be connected (e.g., networked) to other machines.
[00201] In a networked deployment, the machine 400 can operate in the capacity of either a server or a client machine in server-client network environments. In an example, machine 400 can act as a peer machine in peer-to-peer (or other distributed) network environments. The machine 400 can be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a mobile telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) specifying actions to be taken (e.g., performed) by the machine 400. Further, while only a single machine 400 is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[00202] Example machine (e.g., computer system) 400 can include a processor 402
(e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 404 and a static memory 406, some or all of which can communicate with each other via a bus 408. The machine 400 can further include a display unit 410, an alphanumeric input device 412 (e.g., a keyboard), and a user interface (UI) navigation device 411 (e.g., a mouse). In an example, the display unit410, input device 412 and UI navigation device 414 can be a touch screen display. The machine 400 can additionally include a storage device (e.g., drive unit) 416, a signal generation device 418 (e.g., a speaker), a network interface device 420, and one or more sensors 421, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor.
[00203] The storage device 416 can include a machine readable medium 422 on which is stored one or more sets of data structures or instructions 424 (e.g., software) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 424 can also reside, completely or at least partially, within the main memory 404, within static memory 406, or within the processor 402 during execution thereof by the machine 400. In an example, one or any combination of the processor 402, the main memory 404, the static memory 406, or the storage device 416 can constitute machine readable media.
[00204] While the machine readable medium 422 is illustrated as a single medium, the term "machine readable medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that configured to store the one or more instructions 424. The term “machine readable medium” can also be taken to include any tangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine readable medium” can accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine readable media can include non-volatile memory, including, by way of example, semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[00205] The instructions 424 can further be transmitted or received over a communications network 426 using a transmission medium via the network interface device 420 utilizing any one of a number of transfer protocols (e.g., frame relay, IP, TCP, UDP, HTTP, etc.). Example communication networks can include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., IEEE 802.1 1 standards family known as Wi-Fi®, IEEE 802.16 standards family known as WiMax®), peer-to- peer (P2P) networks, among others. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
[00206] Although example embodiments of the present disclosure are explained in some instances in detail herein, it is to be understood that other embodiments are contemplated. Accordingly, it is not intended that the present disclosure be limited in its scope to the details of construction and arrangement of components set forth in the following description or illustrated in the drawings. The present disclosure is capable of other embodiments and of being practiced or carried out in various ways.
[00207] It should be appreciated that any element, part, section, subsection, or component described with reference to any specific embodiment above may be incorporated with, integrated into, or otherwise adapted for use with any other embodiment described herein unless specifically noted otherwise or if it should render the embodiment device non-functional. Likewise, any step described with reference to a particular method or process may be integrated, incorporated, or otherwise combined with other methods or processes described herein unless specifically stated otherwise or if it should render the embodiment method nonfunctional. Furthermore, multiple embodiment devices or embodiment methods may be combined, incorporated, or otherwise integrated into one another to construct or develop further embodiments of the disclosure described herein.
[00208] It should be appreciated that any of the components or modules referred to with regards to any of the present disclosure embodiments discussed herein, may be integrally or separately formed with one another. Further, redundant functions or structures of the components or modules may be implemented. Moreover, the various components may be communicated locally and/or remotely with any user/clinician/patient or machine/system/computer/processor. Moreover, the various components may be in communication via wireless and/or hardwire or other desirable and available communication means, systems and hardware. Moreover, various components and modules may be substituted with other modules or components that provide similar functions.
[00209] It should be appreciated that the device and related components discussed herein may take on all shapes along the entire continual geometric spectrum of manipulation of x, y and z planes to provide and meet the anatomical, environmental, and structural demands and operational requirements. Moreover, locations and alignments of the various components may vary as desired or required. [00210] It should be appreciated that various sizes, dimensions, contours, rigidity, shapes, flexibility and materials of any of the components or portions of components in the various embodiments discussed throughout may be varied and utilized as desired or required.
[00211] It should be appreciated that while some dimensions are provided on the aforementioned figures, the device may constitute various sizes, dimensions, contours, rigidity, shapes, flexibility and materials as it pertains to the components or portions of components of the device, and therefore may be varied and utilized as desired or required.
[00212] It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from “about” or “approximately” one particular value and/or to “about” or “approximately” another particular value. When such a range is expressed, other exemplary embodiments include from the one particular value and/or to the other particular value.
[00213] By “comprising” or “containing” or “including” is meant that at least the named compound, element, particle, or method step is present in the composition or article or method, but does not exclude the presence of other compounds, materials, particles, or method steps, even if the other such compounds, material, particles, or method steps have the same function as what is named.
[00214] In describing example embodiments, terminology will be resorted to for the sake of clarity. It is intended that each term contemplates its broadest meaning as understood by those skilled in the art and includes all technical equivalents that operate in a similar manner to accomplish a similar purpose. It is also to be understood that the mention of one or more steps of a method does not preclude the presence of additional method steps or intervening method steps between those steps expressly identified. Steps of a method may be performed in a different order than those described herein without departing from the scope of the present disclosure.
Similarly, it is also to be understood that the mention of one or more components in a device or system does not preclude the presence of additional components or intervening components between those components expressly identified.
[00215] Some references, which may include various patents, patent applications, and publications, are cited in a reference list and discussed in the disclosure provided herein. The citation and/or discussion of such references is provided merely to clarify the description of the present disclosure and is not an admission that any such reference is “prior art” to any aspects of the present disclosure described herein. In terms of notation, “[n]” corresponds to the nlh reference in the list. All references cited and discussed in this specification are incorporated herein by reference in their entireties and to the same extent as if each reference was individually incorporated by reference.
[00216] It should be appreciated that as discussed herein, a subject may be a human or any animal. It should be appreciated that an animal may be a variety of any applicable type, including, but not limited thereto, mammal, veterinarian animal, livestock animal or pet type animal, etc. As an example, the animal may be a laboratory animal specifically selected to have certain characteristics similar to human (e.g. rat, dog, pig, monkey), etc. It should be appreciated that the subject may be any applicable human patient, for example.
[00217] The term “about,” as used herein, means approximately, in the region of, roughly, or around. When the term “about” is used in conjunction with a numerical range, it modifies that range by extending the boundaries above and below the numerical values set forth. In general, the term “about” is used herein to modify a numerical value above and below the stated value by a variance of 10%. In one aspect, the term “about” means plus or minus 10% of the numerical value of the number with which it is being used. Therefore, about 50% means in the range of 45%-55%. Numerical ranges recited herein by endpoints include all numbers and fractions subsumed within that range (e.g. 1 to 5 includes 1, 1.5, 2, 2.75, 3, 3.90, 4, 4.24, and 5).
Similarly, numerical ranges recited herein by endpoints include subranges subsumed within that range (e.g. 1 to 5 includes 1-1.5, 1.5-2, 2-2.75, 2.75-3, 3-3.90, 3.90-4, 4-4.24, 4.24-5, 2-5, 3-5, 1- 4, and 2-4). It is also to be understood that all numbers and fractions thereof are presumed to be modified by the term “about.”
[00218] Additional descriptions of aspects of the present disclosure will now be provided with reference to the accompanying drawings. The drawings form a part hereof and show, by way of illustration, specific embodiments or examples.