Insulin monitoring and delivery system and method for CGM based fault detection and mitigation via metabolic state tracking

Abstract
An insulin monitoring system includes one or more processors, one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors. The program instructions include: first program instructions to track, in real time, the amount of insulin active in a patient; second program instructions to calculate the amount of insulin need of the patient by tracking the patient's metabolic states; third program instructions to compare the insulin active in the patient with the insulin need of the patient; and fourth program instructions to determine an insulin fault level based on the comparison.
Description
BACKGROUND

Insulin is commonly produced by the human body to help balance blood sugar levels. Some people's bodies, however, do not produce the right amounts of insulin. This can cause medical complications in the body of not addressed properly. Thus, some people may need to deliver insulin to their bodies in order to avoid such medical complications.


A person may choose to deliver insulin to one's body using one of several known systems and methods, including using a syringe, an injection pen, or with an insulin pump. However, existing systems and methods for delivering insulin may not be accurate in delivering the amount of insulin actually needed by a body. Or it may be tedious and time consuming to accurately deliver the actual needed amount of insulin using existing systems and methods. Delivering an inaccurate amount of insulin may result in medical complications.


SUMMARY

An example two-phase 3-tier system, method, and computer readable medium aimed at detecting and potentially remedying inappropriate insulin delivery in diabetic patients (or applicable subjects) is described herein.


In a first phase, the system (and the related method and computer readable medium) detects under-insulinization by tracking in real time the insulin that is active or to be active, in a patient (Insulin on Board or “IOB”), while frequently, but not necessarily regularly, comparing it to the insulin need of the patient (Insulin that Should be On Board or “ISOB”). ISOB is determined by tracking the patient metabolic states. For example, but not limited thereto, ISOB is determined using measures related to his/her glycemia and/or metabolic states related to glycemic response to insulin such as but not restricted to plasma and capillary insulin concentration, physical activity indicators, e.g. heart rate or movement, and insulin sensitivity modifier such as stress, fever, etc.


In a second phase, the system (and related method) determines if a detected lack of active insulin can be remedied with the current insulin delivery/monitoring system, or if a fault exists that requires external intervention on the delivery/monitoring system. In the first case, based on the previous assessment, the system (and related method) can then either (i) alert the patient for the need of additional insulin and advise on a temporary basal rate, or (ii) safely, and over a period of time, replenish the IOB by automatically increasing insulin delivery until ISOB matches IOB. It is noted that the patient's need in insulin may fluctuate during the day based on disturbances to their metabolism and/or different glycemic control goals.


In one example embodiment, the system alerts the patient of a severe fault with the delivery/monitoring system and guides the patient in identifying and remedying the detected fault.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates an example IOB based insulin delivery and monitoring system.



FIG. 2 illustrates an example Kalman filter.



FIG. 3 illustrates and example ISOB controller.



FIG. 4 illustrates a graph of an example transformation resulting from the ISOB controller of FIG. 3.



FIG. 5 illustrates example output of the example ISOB controller of FIG. 3.



FIG. 6 is a high level functional block diagram of an example glucose monitoring system.



FIG. 7 illustrates a block diagram of an example computer for implementing the example system of FIG. 1.



FIG. 8 is an example network system in which embodiments of the example system of FIG. 1 can be implemented.



FIG. 9 is a block diagram that illustrates an example computer system and an example associated Internet connection upon which an embodiment may be implemented.



FIG. 10 illustrates a system in which one or more embodiments of the invention can be implemented using a network





DETAILED DESCRIPTION

Throughout an exemplary, non-limiting embodiment, the system informs the user of the level of fault detection as follows:

    • Green: no under delivery of insulin detected
    • Yellow: Under-delivery can be remedied using the current delivery/monitoring device
    • Red: Severe under-delivery due to delivery/monitoring system malfunction.



FIG. 1 illustrates an example IOB based insulin delivery and monitoring system 100. The system 100 includes a Fault Detection and Classification module 104 for tracking in real time the insulin that is active or to be active, in a patient (“IOB”) and comparing it to the insulin need of the patient (“ISOB”). The system 100 includes an IOB Estimator module 106 for providing the Fault Detection and Classification module 104 with IOB values. The system 100 further includes a Metabolic Monitoring module 108 for providing the Fault Detection and Classification module 104 with ISOB values. The Fault Detection and Classification module 104 compares the IOB value with the ISOB value to determine and classify the level of fault (green, yellow, or red, for example). In one example, the system 100 includes a notification module 110 to notify a user or patient of the determined fault level. It should be appreciated that the notification module 110 can be any suitable hardware or software module for conveying information to the user, such as a display, an audible alert, and so on. In one example, the system 100 includes a system check module 112 for performing a System Check in the event that sever under-delivery is detected. In one example, the system 100 includes a Remediation module 114, for performing a remediation in the event that a determination is made that the under-delivery can be remedied using the current delivery/monitoring device.


INSTANTIATIONS

IOB Estimation


It should be appreciated that the IOB Estimator 106 can be configured to compute IOB using different methods. In one example, the IOB Estimator 106 is configured to compute IOB using the estimation of the amount of cleared insulin (insulin that has been degraded by the body or cleared from the central circulation). Removing this quantity from the amount of previously injected insulin one can get an estimate of how much insulin is active and/or will be active in the future. In an aspect of an embodiment of the present invention, IOB is understood as differential from a basal rate: a real (as implemented in an insulin pump) or virtual (e.g. in multiple daily injection therapeutics) insulin infusion rate that is designed to keep a diabetic patient in glycemic range, absent large perturbations (such as meals or exercise). Insulin clearance (the rate at which insulin is cleared at any point in time) can be modulated per patient or representative of a population average. In this instantiation, this is controlled by the INS_A, INS_B, CLEAR_C, and CLEAR_D matrices described below. The present inventors propose a discrete state space model representation of the IOB system. Such an implementation can be run recursively (i.e. Xk is kept in memory until the next estimation which then run from the last estimation) or on-demand (i.e. a large history, such as 6-8 h, is fed to the system that retains no initial memory—X0 is set to a predetermined initial value). Below is one example implementation of an embodiment of an IOB estimator 106, including variables illustrated in Table 1 and calculations used.









TABLE 1







Example variables used by the IOB Estimator










Name
Description
Units
type










Inputs










J
a vector of past
U
1 × 24 array of floats



insulin injection in

no empty allowed



5 min increments




Time
absolute time at
Seconds
UNIX datetime



execution time




basal_hist
a vector of past
U/hr
1 × 24 array of floats



basal rates in 5 min

no empty allowed



increments









Outputs










IOB
insulin on board
U
float







parameters











transfer matrix for




INS_A
insulin model
NA
4 × 4 array of floats fixed at




















0.9048
6.255e−6
1.98e−8
3.994e−8






0
0.4107
3.503e−3
7.104e−3






0
0
0.9048
4.524e−2






0
0
0
0.9048














input matrix for




INS_B
insulin model
NA
4 × 1 array of float fixed at








7.241e−8





0.0207





0.117





4.758






output-state





matrix for insulin




CLEAR_C
model
NA
4 × 4 array of float fixed at




















0
0
0.178
0















output-input matrix




CLEAR_D
for insulin model
NA
4 × 1 array of float fixed at








0










Computation:


J is corrected for the basal insulin infusion (basal_hist):










J_diff
k

=


J
k

-


basal_hist
k

12






Equ


(
1
)








The IOB estimator 106 computes the IOB by estimating the total (corrected) insulin that is infused so far minus the total insulin that has been cleared from the circulation. To get this estimate, the corrected infusion u1 is transformed in two ways:

    • 1. The total injected is updated every 5 minutes as:

      totalk+1=totalk+J_diffk  Equ(2)
    • 2. the total cleared insulin is updated every 5 minutes as:











cleared
k

=


Clear_C
×

X
k


+

Clear_D
×

J_diff
k








X

k
+
1


=


INS_A
×

X
k


+

INS_A
×

J_diff
k








total_cleared

k
+
1


=


total_cleared
k

+

cleared
k







Equ

(
3
)









    • 3. IOB is then computed as

      IOBk+1=totalk+1−total_clearedk  Equ(4)





Metabolic Monitoring
Metabolic State Estimation

Here the present inventors propose 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 Kalman Filter (“KF”) estimation model to the received data can enable informing the user of the validity/safety of the overall system using the KF estimation.


Referring to FIG. 2, 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. Contrary to previously proposed systems, Meal carbohydrate (“CHO”) appearance and Plasma insulin are treated as feed-forward 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 and the insulin action.


The following is a listing of reference characters for FIG. 2:

    • Meal=last meal (see Table 2)
    • Buffer=insulin buffer
    • GI Model=This is the GI track system defined below
    • Q1=M_s_outk (3) discussed below
    • Q2=M_s_outk (2) discussed below
    • Ra(t)=Rak discussed below
    • Gest=plasma glucose level estimation (see Table 2)
    • Xest=KFoutk(2) discussed below
    • Delta=see Equ(9) below
    • I(t)=Ik discussed below
    • Xmodel=the first line in the matrix operation described in Equ(6), which corresponds to the Insulin System.
    • X=Xpredk discussed below
    • Insulin model=Istatek discussed below
    • ISC1=Ioutk(4)
    • ISC2=Ioutk(3)
    • Gpred_30 min=Plasma glucose 30 min prediction
    • Gpred_1 h=Plasma glucose 1 h prediction (see Table 2)
    • Gb=Gop (see Table 2)
    • Past injections—past injections
    • Basal=amount of basal insulin
    • CGM=CGM (see Table 2)


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 the 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.


Table 2 illustrates example variables used by the Kalman filter 200 to estimate of the patient metabolic status.









TABLE 2







Example variables used by the Metabolic Monitoring Module










Name
Description
units
type










inputs










CGM
a vector of
mg/dl
1 × 24 array of floats [40-400]



the past 2 h

empty value: −1



of CGM





values





in 5 min





increments




J
a vector of
U
1 × 24 array of floats



past insulin

no empty allowed



injection





in 5 min





increments




Meal
described
NA
structure containing the following



the

fields:



last meal

time - UNIX datetime





glucose - SMBG meas. - float





CHO - float





type - int





0 (slow)





1 (medium)





2 (fast)





treated - Boolean





active - Boolean





if no meal yet set fields to





[0; 0; 0; TRUE; FALSE]


Time
absolute
seconds
UNIX datetime



time at





execution





time




EX
level of
NA
Float [0 1]



exercise




basal
basal rate
U/hr
float [0-3]



value





at execution





time




basal_hist
a vector of
U/hr
1 × 24 array of floats



past basal

no empty allowed



rates in





5 min





increments




CF
Correction
mg · dl−1 ·
float [10-100]



Factor at
U−1




execution





time




CR
Carbo-
U · g−1
float [5-50]



hydrate





ration at





execution





time




BW
patient's
Kg
float [20-200]



weight









outputs










Const
Safety
U · hr−1
float [0 3]



System





constraint




Gest
plasma
mg/dl
float [20 400]



glucose





level





estimation




Gpred_1h
Plasma
mg/dl
float [20 400]



glucose





1 h





prediction




Gpred_light
Plasma
mg/dl
float [20 400]



glucose





10 min





prediction





with no





insulin





assumption





for red light









parameters










Gop
operation
mg/dl
float fixed at 90



point





glucose for





kalman





filter in





KALMAN






transfer





matrix for





insulin




INS_A
model
NA
4 × 4 array of floats fixed at




















0.9048
6.256e−6
1.498e−6 
 3.023e−6






0   
−0.4107  
0.2651/BW
  0.5376/BW






0   
0    
0.9048  
0.0452






0   
0    
0     
0.9048














input





matrix for





insulin




INS_B
model
NA
4 × 1 array of float fixed at








    5.4793e−6/BW





  1.5661/BW





0.1170





4.7581






output-state
















matrix for








insulin















INS_C
model
NA
4 × 4 array of float fixed at




















1
0
0
0






0
1
0
0






0
0
1
0






0
0
0
1














output-input





matrix for





insulin




INS_D
model
NA
4 × 1 array of float fixed at








0





0





0





0






transfer





matrix for




MEAL_A
meal model
NA
2 × 2 array of floats fixed at


















0.9048
0.04524






0   
0.9048 














input





matrix for




MEAL_B
meal model
NA
2 × 1 array of float fixed at








0.117





4.758



output-state


















matrix for

















MEAL_C
meal model
NA
3 × 2 array of float fixed at


















0.02
0.01






1  
0  






0  
1  














output-input





matrix for




MEAL_D
meal model
NA
3 × 1 array of float fixed at








0





0





0






prediction





matrix for




CORE_pred_A
core model
NA
8 × 8 array of floats fixed at






















0.5488
−1.9972e3
−1.4818e3
0.1733/BW
0.1127/BW
−0.0148
−0.0186/BW 





0   
0.9704 
0    
0     
0     
0   
0      





0   
0    
0.5488 
0     
0     
  6.89e−6
1.75e−5/BW





0   
0    
0    
0.5488   
0.1646   
0   
0      





0   
0    
0    
0     
0.5488   
0   
0      





0   
0    
0    
0     
0     
 0.0048
0.4315/BW 





0   
0    
0    
0     
0     
0   
0.5488   





0   
0    
0    
0     
0     
0   
0.1646   















output






matrix






for core













CORE_pred_C
model
NA
1 × 8 array of floats fixed at
























1
0
0
0
0
0
0
0















prediction





matrix for




LIGHT_pred_A
red light

8 × 8 array of floats fixed at






















0.8187
−811.5
−736.85   
0.08618/BW
0.0474/BW
−4.6399e






0   
  0.99
0   
0      
0     
0   






0   
  0
0.8187
0      
0     
 8.229e−0






0   
  0
0   
0.8187   
0.08187  
0   






0   
  0
0   
0      
0.8187   
0   






0   
  0
0   
0      
0     
 0.16864






0   
  0
0   
0      
0     
0   






0   
  0
0   
0      
0     
0   














input matrix





for red




LIGHT_pred_B
light model

8 × 2 array of floats fixed at


















0.2457/BW
−42499e−3/BW






0     
0






0     
  1.8075e−05/BW






0.4381  
0






9.0635  
0






0     
2.5279/BW






0     
9.0635






0     
0.4381














output





matrix





for red




LIGHT_pred_C
light model

1 × 8 array of floats fixed at
























1
0
0
0
0
0
0
0















1 hour





prediction




1H_predA
matrix

8 × 8 array of floats fixed at





















30.119
−3034.3E
−1626.4
0.19023/BW
0.1522/BW






0  
    0.94176
0
0      
0     






0  
  0
0.3.0119
0      
0     






0  
  0
0
0.30119  
0.18072  






0  
  0
0
0      
0.30119  






0  
  0
0
0      
0     






0  
  0
0
0      
0     






0  
  0
0
0      
0     













1H_pred_C


1 × 8 array of floats fixed at
























1
0
0
0
0
0
0
0















transfer





matrix for





kalman




KF_A
filter
NA
4 × 4 array of floats fixed at


















0.006 
−407.177






0.0007
    0.9048














input matrix





for





kalman




KF_B
filter
NA
4 × 3 array of float fixed at



















−0.0021  
2.5043/BW
0.8988  






9.5163e−6
0     
−7.3045e−4














output-state





matrix for





kalman




KF_C
filter
NA
4 × 4 array of float fixed at


















0.3699  
0






8.0728e−4
1














output-input





matrix for





meal





kalman




KF_D
filter
NA
4 × 1 array of float fixed at



















0
0
0.6301  






0
0
−8.0728e−4














transfer





matrix





for meal





and insulin




BUFF_A
buffers
NA
2 × 2 array of float fixed at


















0.9512
0.04756






0   
0.9512 














transfer



















matrix











for meal











and insulin


















BUFF_B
buffers
NA
2 × 1 array of float fixed at








1.209e−3





4.877e−2




















transfer











matrix











for meal











and insulin


















BUFF_C
buffers
NA
1 × 2 array of float fixed at


























 1
0























transfer











matrix











for meal











and insulin


















BUFF_D
buffers
NA
1 × 1 array of float fixed at








0










Computation
    • 1. 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:


GI Track System


The calculation for GI track system can be defined as follows:

















If Time-Meal.time<300



 meal_amountk=1000*Meal.CHO/5



else



 meal_amountk=0;



end










Thus,










Mbuf
=


BUFF_A
×

Mbuf
k


+

BUFF_B
×

meal_amount
k










{







Mout
k

=


MEAL_C
×

Mstate
k


+

MEAL_D
×

Mbuf
k










Mstate

k
+
1


=


MEAL_A
×

Mstate
k


+

MEAL_B
×

Mbuf
k













Ra
k


=




Mout
k



(
1
)







M_s


_out
k


=

[





Mout
k



(
2
)








Mout
k



(
3
)





]








Equ


(
5
)








Insulin System


The calculation for Insulin system can be defined as follows:











Ibuf
k

=


BUFF_A
×

Ibuf
k


+

BUFF_B
×

(


J
k

-

basel_hist
k


)







{







Iout
k

=


INS_C
×

Istate
k


+

INS_D
×

Ibuf
k










Istate

k
+
1


=


INS_A
×

Istate
k


+

INS_B
×

Ibuf
k










I
k


=




Iout
k

(
2
)




Xpred
k


=




Iout
k

(
1
)



I_s


_out
k


=

[





Iout
k

(
3
)







Iout
k

(
4
)




]









Equ

(
6
)









    • 2. The Kalman Filter estimate is next computed. 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:












{





KFout
k

=


KF_C
×

KFstate
k


+

KF_D
×

[




I
k






Ra
k







CGM
k

-
Gop




]










KFstate

k
+
1


=


KF_A
×

KFstate
k


+

KF_B
×

[




I
k






Ra
k







CGM
k

-
Gop




]











Equ

(
7
)









    • 3. Output variable Gest and Delta are next created:

      Gest=KFoutk(1)+Gop  Equ(8)
      Delta=KFoutk(2)−Xpredk  Equ(9)

    • 4. The predictions are then made:
















XI
k

=

[





KFout
k

(
1
)





Delta





Xpred
k






I
k






I_s


_out
k



(
1
)







I_s


_out
k



(
2
)







M_s


_out
k



(
1
)







M_s


_out
k



(
2
)





]






Gpred
=


CORE_pred

_C
×
CORE_pred

_A
×

XI
k


+
Gop





Gpred_light
=


LIGHT_pred

_C
×

(


LIGHT_pred

_A
×

XI
k


+

LIGHT_pred

_B
×

(


-
basal

,
0

]



)


+
Gop







Gpred_

1

h

=


1

h_pred

_C
×
1

h_pred

_A
×

XI
k


+
Gop







Equ

(
10
)







Insulin that should be on Board (ISOB) Computation

The Metabolic Monitoring module 108 is further configured to compute insulin need of a patient. It should be appreciated that the Metabolic Monitoring module 108 may be configured to compute insulin need of a patient, or ISOB, in a multitude of ways: it can be estimated based on past measurements (e.g. glycemia, insulin, heart rate, accelerometry, temperature . . . ), as described herein, or it could even be directly measured (in which case this module would be inactive and it would feed directly in the Advice Rate Computation Module below).


In one example, the Metabolic Monitoring module 108 includes an ISOB controller 300, illustrated in FIG. 3, for computing ISOB. The ISOB computation in this instantiation uses an estimated (or predicted) value of plasma glucose(G) 302 and compares it to a time dependent “glucose ceiling” 304, which varies based on the time of day 306. The difference is then transformed, at module 308, in insulin space using a metric of the patient insulin sensitivity. Such metric could be the patient's own Insulin Sensitivity Factor pattern (ISF, a common insulin pump parameter) or be derived from the past total daily insulin (“1800 rule”: ISF=1800/TDI, or “1500 rule”: ISF=1500/TDI), from the patient 24 h basal dose (TDI=2*TDB), and finally the patient's body weight (TDI=a+b*BW).


In addition, ISOB can be corrected, at module 310, for slope (i.e. predicted ahead in a linear fashion) to react faster to increased need or limit the risk of overdose. These corrections do not have to necessarily be symmetric (i.e. one may choose to limit the correction in one direction more than in the other as below). Similar effect can be achieved by using a predicted glucose instead of an estimated glucose as input. Table 3 illustrates example variables used by the ISOB Controller 300.









TABLE 3







Example variables used by the ISOB Controller










Name
Description
units
Type










Inputs










Time
absolute time at
seconds
UNIX datetime



execution time




IOB
insulin on board
U
float


Gest
estimated glucose.
mg/dl
float


basal
basal rate value at
U/hr
float [0-3]



execution time




CF
Correction Factor
mg ·
float [10-100]



at execution time
dl−1 · U−1








outputs










du
Differential
U · min−1
Float [0 0.1]



correction rate










parameters











FIR filter





parameter for





short term





derivative




DER
computation
min−1
1 × 5 float array fixed at




















0.04
0.02
0
−0.02
−0.04













T2tgt
time to achieve
min
float fixed at 30



IOB target




PredH
prediction horizon
min
float fixed at 60



for IOB target





correction










Computation:
    • 1. The ISOB Controller 300 computes the time of day using:

      ToD=(Time−86400*floor(Time/86400))/60  Equ(11)
    • 2. The ISOB Controller 300 computes the glucose target using:









x
=

{





1
+
ToD

7





if


y

<
6






7
-
ToD





if


ToD



6


and


ToD

<
7





0




if


ToD



7


and


ToD

<
23







ToD
-
23

7





if


ToD

>
23










Equ

(
12
)

TagBox[RowBox[List["Equ", "(", "12", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]












gluc_tgt
=

160
-

45
×



(

x
0.5

)

3


1
+


(

x
0.5

)

3










Equ

(
13
)

TagBox[RowBox[List["Equ", "(", "13", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]







The resulting transformation is illustrated in the graph 400 of FIG. 4.


The amount of insulin required to achieve that target is computed as:










INS
Target

=


Gest
-
gluc_tgt

CF





Equ

(
14
)








and this variable is extrapolated 1 h ahead (INSTarget_predicted) using its current value and first derivative as follows: The slope of the INSTarget is computed with a digital FIR filter using the last 5 values of the (easily accessible by back computing gluc_tgt) INSTargetSlope. The parameter set for the FIR filter is provided by der










INS

TargetSlope
k


=

DER
×

[




INS

Target

k
-
4








INS

Target

k
-
3








INS

Target

k
-
2








INS

Target

k
-
2








INS

Target
k





]






Equ

(
15
)







The variables INSTarget and INSTargetSlope are saturated:












INS
TargetSat

=

{




INS
Target





if



INS
Target


<

90

ctriller
.
CF








90

ctriller
.
CF




otherwise










Equ

(
16
)

TagBox[RowBox[List["Equ", "(", "16", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]













INS
TargetSlopeSat

=

{




1
/
PredH





if



INS
TargetSlope


>

1
/
PredH








-
10

/
PredH





if



INS
TargetSlope


<


-
10

/
PredH







INS
TargetSlope



otherwise









Equ

(
17
)

TagBox[RowBox[List["Equ", "(", "17", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]








and combined to get a predicted value for INSTarget:

INSTarget_predicted=INSTargetSat+PredH*INSTargetSlopeSat  Equ(18)


Fault Detection and Classification
Mild/None Fault Detection

This condition is the default of the system. i.e. if no moderate or severe fault are detected then only mild (or no) faults are present.


Moderate Fault Detection and Advised Rate Computation

Once an insulin need is identified (IOB<ISOB), an aspect of an embodiment of the system 100 (and related method) can compute a rate of insulin needed to remedy this difference within a pre-determined amount of time (τ). It is important to note that (i) this rate is supplemental to the patient's basal rate, and (ii) the rate can (and often should) be saturated so as to limit the risk associated with an error in ISOB determination (here twice the basal rate). Finally, the computed rate can be either sent to an insulin pump for implementation either as (i) a temporary basal rate of t minutes (Open Loop mode), or as the control action of an automated closed loop system (in that case the rate will re recomputed at every controller step, and therefore is unlikely to be executed in full as ISOB will be re-estimated at each step); or (2) as a display to the patient for manual implementation.


This value is compared to the available IOB. The difference is divided by a predefined time to target (T2tgt) and further limited to be only positive, after which the units are converted:






Rate
=



INS
Target_predicted

-
IOB

τ





The output 500 of the module, if use of the IOB controller 300 has been requested, is illustrated in FIG. 5 and defined as:









du
=

{







δ
*

basal
τ






if


Rate

>

δ
*

basal
τ








Rate






if


0

<
Rate


δ
*

basal
τ







0


otherwise





τ

=
60

;

δ
=
2







Equ

(
19
)







Severe Fault Detection

Severe fault detection is handled differently than moderate fault as it uses an internal variable of the Kalman filter metabolic estimate, instead of the predicted output (glucose). This internal variable is the difference between the feed-forward insulin action (X) and the Kalman filtered insulin action ({circumflex over (X)}). This variable is an indication of how the internal model agrees with the measurements, which can be used to detect changes indicative of faults in the delivery/monitoring system 100 (e.g. drifting CGM or occluded insulin pump).


The detection is made by comparing the behavior of Δ the recent past (e.g. one hour) to normative values or its behavior over a longer time period (e.g. 3 h); taking into account that some measured disturbances (such as meals) can greatly affect t Δ. Table 4 illustrates example variables used for severe fault detection.









TABLE 4







Example variables used for severe fault detection










Name
Description
units
type










inputs










Meal Flag
a vector of the
None
1 × 72 array of integer [0 − 1]



past 6 h of the

empty value: 0



presence of an





announced meal





in 5 min increments




Delta
a vector of the
min−1
1 × 72 array of floats



past 6 h of the

no empty allowed



Delta variable from





the Meal informed





Kalman filter in





5 min increments









outputs










Deviation
Quantification of
None
float [−1 1]



model deviation




Detect
Sever fault
None
boolean



detection flag









parameters










W1
Width of the short
min
float fixed at 60



term observation





window




W2
Width of the short
min
float fixed at 60



term observation





window




ω
Controls how long
min
Float fixed at 180



a meal influences





the computation




N
Controls how
none
Float fixed at 7



sharply the effect





of a meal wanes




τ
Detection
none
Float fixed at −0.2



threshold










Computation


First, in an aspect of an embodiment, the system 100 (and associated method) averages the Delta variable over the short term and long term windows:










Delta
short

=


5

W
1






i


W
1

5



Delta
(


72
+
1
-


W
1

5


,
72

)







Equ

(
20
)













Delta
long

=


5

W
2






i


W
2

5



Delta
(


72
+
1
-


W
2

5


,
72

)







Equ

(
21
)







How close a meal is will determine how much an aspect of an embodiment of the system 100 (and associated method) trusts the short term average over the long term one to compute this parameters we construct recursively a Meal factor for each 5 minute interval (k) over the last 6 hours (k=1 . . . 72)










MealF
0

=
0





Equ

(
22
)

TagBox[RowBox[List["Equ", "(", "22", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]













MealF

k
+
1


=

{





MealF
k

+
1





if



Meal
(

k
+
1

)


=
0





0


otherwise









Equ

(
23
)

TagBox[RowBox[List["Equ", "(", "23", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]







The meal factor is then transformed in a trust factor (from 0 to 1) using a sigmoidal function:









p
=



(


MealF
72

ω

)

n


1
+


(


MealF
72

ω

)

n







Equ

(
24
)







And finally the model deviation is quantified:

Deviation=p*Deltashort+(1−p)*Deltalong  Equ(25)


Detection of a severe fault is done by comparing the deviation to a preset threshold:









Detect
=

{



FALSE




if


Deviation

>
τ





TRUE


otherwise









Equ

(
26
)

TagBox[RowBox[List["Equ", "(", "26", ")"]], Null, Rule[Editable, True], Rule[Selectable, True]]







Patient Alert Module

Regardless of the new insulin delivery rate being automatically sent to an insulin delivery device or displayed to the patient, the system 100 can also alert the patient of the current risk for hyperglycemia. The present inventors, regarding an aspect of an embodiment, propose a three tiers system of alarm (similar to a stoplight):

    • Green: no or minimal risk
    • Yellow: hyperglycemic risk is present, insulin should be increased
    • Red: Serious hyperglycemic risk, cannot be easily mitigated by increase insulin rate. Possible system failure (e.g. pump occlusion, severe sensor drift, dramatic change is patient metabolism)


Light colors can be determined by a range of algorithms


Threshold Based:






    • G: IOB<ω1

    • Y: ω1<IOB<ω2

    • R: IOB>ω2

      Glycemic Control Based:

    • G: Gest1

    • Y: ω1<Gest2

    • R: ω2<Gest

      System Action Based

    • G: no hyperglycemic mitigation needed: ISOB−IOB<ω1

    • Y: Hyperglycemic mitigation active: ISOB−IOB>ω1

    • R: Hyperglycemic mitigation saturated: ISOB−IOB>γ*basal/τ


      Red Light Based on System Fault Detection

    • G: no fault or mild fault

    • Y: moderate fault

    • R: Severe fault






FIG. 6 is a high level functional block diagram of an example glucose monitoring system. As shown in FIG. 6, a processor or controller 102 communicates with the glucose monitor or device 101, and optionally the insulin device 105. 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 105 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 105 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 105, 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.


Referring to FIG. 7, 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), non-volatile (such as ROM, flash memory, etc.) or some combination of the two.


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 non-removable 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.


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.


In addition to a stand-alone computing machine, embodiments of the invention 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, FIG. 8 illustrates a network system in which embodiments of the invention 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 and/or an insulin device. Any of the components shown or discussed with FIG. 8 may be multiple in number. The embodiments of the invention 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 invention 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 glucose monitor 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 invention. 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.



FIG. 9 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 FIG. 9. 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 insulin delivery 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 FIG. 9 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 invention. 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 FIG. 9 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.


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.


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.


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.


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 invention are not limited to any specific combination of hardware circuitry and software.


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.


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.


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, 1000BaseT (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 (June 1999), “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 (Feb. 20, 2004), which is incorporated in its entirety for all purposes as if fully set forth herein.


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 111 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.


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.


The concept of detecting and potentially remedying inappropriate insulin delivery in diabetic patients (or applicable subjects) has been developed; and may be implemented and utilized with the related processors, networks, computer systems, internet, and components and functions according to the schemes disclosed herein.



FIG. 10 illustrates a system in which one or more embodiments of the invention can be implemented using a network, or portions of a network or computers. Although the present invention glucose device may be practiced without a network.



FIG. 10 diagrammatically illustrates an exemplary system in which examples of the invention can be implemented. In an embodiment the glucose monitor may be implemented by the subject (or patient) locally at home or other desired location. However, in an alternative embodiment it may be implemented in a clinic setting or assistance setting. For instance, referring to FIG. 10, a clinic setup 158 provides a place for doctors (e.g. 164) or clinician/assistant to diagnose patients (e.g. 159) with diseases related with glucose and related diseases and conditions. A glucose monitoring device 10 can be used to monitor and/or test the glucose levels of the patient—as a standalone device. It should be appreciated that while only glucose monitor device 10 is shown in the figure, the system of the invention and any component thereof may be used in the manner depicted by FIG. 10. The system or component may be affixed to the patient or in communication with the patient as desired or required. For example the system or combination of components thereof—including a glucose monitor device 10 (or other related devices or systems such as a controller, and/or an insulin pump, or any other desired or required devices or components)—may be in contact, communication or affixed to the patient through tape or tubing (or other medical instruments or components) or may be in communication through wired or wireless connections. Such monitor and/or test can be short term (e.g. clinical visit) or long term (e.g. clinical stay or family). The glucose monitoring device outputs can be used by the doctor (clinician or assistant) for appropriate actions, such as insulin injection or food feeding for the patient, or other appropriate actions or modeling. Alternatively, the glucose monitoring device output can be delivered to computer terminal 168 for instant or future analyses. The delivery can be through cable or wireless or any other suitable medium. The glucose monitoring device output from the patient can also be delivered to a portable device, such as PDA 166. The glucose monitoring device outputs with improved accuracy can be delivered to a glucose monitoring center 172 for processing and/or analyzing. Such delivery can be accomplished in many ways, such as network connection 169, which can be wired or wireless.


In addition to the glucose monitoring device outputs, errors, parameters for accuracy improvements, and any accuracy related information can be delivered, such as to computer 168, and/or glucose monitoring center 172 for performing error analyses. This can provide a centralized accuracy monitoring, modeling and/or accuracy enhancement for glucose centers, due to the importance of the glucose sensors.


Examples of the invention can also be implemented in a standalone computing device associated with the target glucose monitoring device. An exemplary computing device (or portions thereof) in which examples of the invention can be implemented is schematically illustrated in FIG. 7.


While the present invention has been described with respect to specific embodiments, many modifications, variations, alterations, substitutions, and equivalents will be apparent to those skilled in the art. The present invention is not to be limited in scope by the specific embodiment described herein. Indeed, various modifications of the present invention, in addition to those described herein, will be apparent to those of skill in the art from the foregoing description and accompanying drawings. Accordingly, the invention is to be considered as limited only by the spirit and scope of the disclosure, including all modifications and equivalents.


Still other embodiments will become readily apparent to those skilled in this art from reading the above-recited detailed description and drawings of certain exemplary embodiments. It should be understood that numerous variations, modifications, and additional embodiments are possible, and accordingly, all such variations, modifications, and embodiments are to be regarded as being within the spirit and scope of this application. For example, regardless of the content of any portion (e.g., title, field, background, summary, abstract, drawing figure, etc.) of this application, unless clearly specified to the contrary, there is no requirement for the inclusion in any claim herein or of any application claiming priority hereto of any particular described or illustrated activity or element, any particular sequence of such activities, or any particular interrelationship of such elements. Moreover, any activity can be repeated, any activity can be performed by multiple entities, and/or any element can be duplicated. Further, any activity or element can be excluded, the sequence of activities can vary, and/or the interrelationship of elements can vary. Unless clearly specified to the contrary, there is no requirement for any particular described or illustrated activity or element, any particular sequence or such activities, any particular size, speed, material, dimension or frequency, or any particularly interrelationship of such elements. Accordingly, the descriptions and drawings are to be regarded as illustrative in nature, and not as restrictive. Moreover, when any number or range is described herein, unless clearly stated otherwise, that number or range is approximate. When any range is described herein, unless clearly stated otherwise, that range includes all values therein and all sub ranges therein. Any information in any material (e.g., a United States/foreign patent, United States/foreign patent application, book, article, etc.) that has been incorporated by reference herein, is only incorporated by reference to the extent that no conflict exists between such information and the other statements and drawings set forth herein. In the event of such conflict, including a conflict that would render invalid any claim herein or seeking priority hereto, then any such conflicting information in such incorporated by reference material is specifically not incorporated by reference herein.


REFERENCES

The following patents, applications and publications as listed below and throughout this document are hereby incorporated by reference in their entirety herein. It should be appreciated that various aspects of embodiments of the present method, system, devices, article of manufacture, computer readable medium, and compositions may be implemented with the following methods, systems, devices, article of manufacture, computer readable medium, and compositions disclosed in the following U.S. Patent Applications, U.S. Patents, and PCT International Patent Applications and are hereby incorporated by reference herein and co-owned with the assignee (and which are not admitted to be prior art with respect to the present invention by inclusion in this section):

  • A. U.S. patent application Ser. No. 14/419,375 entitled “Computer Simulation for Testing and Monitoring of Treatment Strategies for Stress Hyperglycemia”, filed Feb. 3, 2015.
  • B. International Patent Application No. PCT/US2013/053664 entitled “Computer Simulation for Testing and Monitoring of Treatment Strategies for Stress Hyperglycemia”, filed Aug. 5, 2013; International Patent Application Publication No. WO 2014/022864, Feb. 6, 2014. International Patent Application No. PCT/US2015/010167 entitled “Central Data Exchange Node For System Monitoring and Control of Blood Glucose Levels in Diabetic Patients”, filed Jan. 5, 2015.
  • C. International Patent Application No. PCT/US2014/045393 entitled “Simulation of Endogenous and Exogenous Glucose/Insulin/Glucagon Interplay in Type 1 Diabetic Patients”, filed Jul. 3, 2014; International Patent Application Publication No. WO 2015/003124, Jan. 8, 2015.
  • D. U.S. patent application Ser. No. 14/266,612 entitled “Method, System and Computer Program Product for Real-Time Detection of Sensitivity Decline in Analyte Sensors”, filed Apr. 30, 2014; U.S. Patent Application Publication No. 2014/0244216, Aug. 28, 2014.
  • E. U.S. patent application Ser. No. 13/418,305 entitled “Method, System and Computer Program Product for Real-Time Detection of Sensitivity Decline in Analyte Sensors”, filed Mar. 12, 2012; U.S. Pat. No. 8,718,958, issued May 6, 2014.
  • F. International Patent Application No. PCT/US2007/082744 entitled “Method, System and Computer Program Product for Real-Time Detection of Sensitivity Decline in Analyte Sensors”, filed Oct. 26, 2007; International Patent Application Publication No. WO/2008/052199, May 2, 2008.
  • G. U.S. patent application Ser. No. 11/925,689 entitled “Method, System and Computer Program Product for Real-Time Detection of Sensitivity Decline in Analyte Sensors”, filed Oct. 26, 2007; U.S. Pat. No. 8,135,548, issued Mar. 13, 2012.
  • H. U.S. patent application Ser. No. 14/241,383 entitled “Method, System and Computer Readable Medium for Adaptive Advisory Control of Diabetes”, filed Feb. 26, 2014.
  • I. International Patent Application No. PCT/US2012/052422 entitled “Method, System and Computer Readable Medium for Adaptive Advisory Control of Diabetes”, filed Aug. 26, 2012; International Patent Application Publication No. WO 2013/032965, Mar. 7, 2013.
  • J. International Patent Application No. PCT/US2014/017754 entitled “Method and System for Model-Based Tracking of Changes in Average Glycemia in Diabetes”, filed Feb. 21, 2014; International Patent Application Publication No. WO 2014/130841, Aug. 28, 2014.
  • K. U.S. patent application Ser. No. 14/128,922 entitled “Unified Platform For Monitoring and Control of Blood Glucose Levels in Diabetic Patients”, filed Dec. 23, 2013; U.S. Patent Application Publication No. 2015/0018633, Jan. 15, 2015.
  • L. International Patent Application No. PCT/US2012/043910 entitled “Unified Platform For Monitoring and Control of Blood Glucose Levels in Diabetic Patients”, filed Jun. 23, 2012; International Patent Application Publication No. WO 2012/178134, Dec. 27, 2012.
  • M. U.S. patent application Ser. No. 14/128,811 entitled “Methods and Apparatus for Modular Power Management and Protection of Critical Services in Ambulatory Medical Devices”, filed Dec. 23, 2013; U.S. Patent Application Publication No. 2014/0215239, Jul. 31, 2014.
  • N. International Patent Application No. PCT/US2012/043883 entitled “Methods and Apparatus for Modular Power Management and Protection of Critical Services in Ambulatory Medical Devices”, filed Jun. 22, 2012; International Patent Application Publication No. WO 2012/178113, Dec. 27, 2012.
  • O. U.S. patent application Ser. No. 14/015,831 entitled “CGM-Based Prevention of Hypoglycemia Via Hypoglycemia Risk Assessment and Smooth Reduction Insulin Delivery”, filed Aug. 30, 2013; U.S. Patent Application Publication No. 2014/0046159, Feb. 13, 2014.
  • P. U.S. patent application Ser. No. 13/203,469 entitled “CGM-Based Prevention of Hypoglycemia via Hypoglycemia Risk Assessment and Smooth Reduction Insulin Delivery”, filed Aug. 25, 2011; U.S. Pat. No. 8,562,587, issued Oct. 22, 2013.
  • Q. International Patent Application No. PCT/US2010/025405 entitled “CGM-Based Prevention of Hypoglycemia via Hypoglycemia Risk Assessment and Smooth Reduction Insulin Delivery”, filed Feb. 25, 2010; International Patent Application Publication No. WO 2010/099313, Sep. 2, 2010.
  • R. International Patent Application No. PCT/US2013/042745 entitled “Insulin-Pramlintide Compositions and Methods for Making and Using Them”, filed May 24, 2013; International Application Publication No. WO 2013/177565, Nov. 28, 2013.
  • S. U.S. patent application Ser. No. 13/637,359 entitled “Method, System, and Computer Program Product for Improving the Accuracy of Glucose Sensors Using Insulin Delivery Observation in Diabetes”, filed Sep. 25, 2012; U.S. Patent Application Publication No. 2013/0079613, Mar. 28, 2013.
  • T. International Patent Application No. PCT/US2011/029793 entitled “Method, System, and Computer Program Product for Improving the Accuracy of Glucose Sensors Using Insulin Delivery Observation in Diabetes”, filed Mar. 24, 2011; International Patent Application Publication No. WO 2011/119832, Sep. 29, 2011.
  • U. U.S. patent application Ser. No. 13/634,040 entitled “Method and System for the Safety, Analysis, and Supervision of Insulin Pump Action and Other Modes of Insulin Delivery in Diabetes”, filed Sep. 11, 2012; U.S. Patent Application Publication No. 2013/0116649, May 9, 2013.
  • V. International Patent Application No. PCT/US2011/028163 entitled “Method and System for the Safety, Analysis, and Supervision of Insulin Pump Action and Other Modes of Insulin Delivery in Diabetes”, filed Mar. 11, 2011; International Patent Application Publication No. WO 2011/112974, Sep. 15, 2011. U.S. patent application Ser. No. 13/394,091 entitled “Tracking the Probability for Imminent Hypoglycemia in Diabetes from Self-Monitoring Blood Glucose (SMBG) Data”, filed Mar. 2, 2012; U.S. Patent Application Publication No. 2012/0191361, Jul. 26, 2012.
  • W. International Patent Application No. PCT/US2010/047711 entitled “Tracking the Probability for Imminent Hypoglycemia in Diabetes from Self-Monitoring Blood Glucose (SMBG) Data”, filed Sep. 2, 2010; International Patent Application Publication No. WO 2011/028925, Mar. 10, 2011.
  • X. U.S. patent application Ser. No. 13/393,647 entitled “System, Method and Computer Program Product for Adjustment of Insulin Delivery (AID) in Diabetes Using Nominal Open-Loop Profiles”, filed Mar. 1, 2012; U.S. Patent Application Publication No. 2012/0245556, Sep. 27, 2012. International Patent Application No. PCT/US2010/047386 entitled “System, Method and Computer Program Product for Adjustment of Insulin Delivery (AID) in Diabetes Using Nominal Open-Loop Profiles”, filed Aug. 31, 2010; International Application Publication No. WO 2011/028731, Mar. 10, 2011.
  • Y. U.S. patent application Ser. No. 13/380,839 entitled “System, Method, and Computer Simulation Environment for In Silico Trials in Pre-Diabetes and Type 2 Diabetes”, filed Dec. 25, 2011; U.S. Patent Application Publication No. 2012/0130698, May 24, 2012.
  • Z. International Patent Application No. PCT/US2010/040097 entitled “System, Method, and Computer Simulation Environment for In Silico Trials in Prediabetes and Type 2 Diabetes”, filed Jun. 25, 2010; International Application Publication No. WO 2010/151834, Dec. 29, 2010.
  • AA. U.S. patent application Ser. No. 13/322,943 entitled “System Coordinator and Modular Architecture for Open-Loop and Closed-Loop Control of Diabetes”, filed Nov. 29, 2011; U.S. Patent Application Publication No. 2012/0078067, Mar. 29, 2012.
  • BB. International Patent Application No. PCT/US2010/036629 entitled “System Coordinator and Modular Architecture for Open-Loop and Closed-Loop Control of Diabetes”, filed May 28, 2010; International Patent Application Publication No. WO 2010/138848, Dec. 2, 2010.
  • CC. U.S. patent application Ser. No. 13/131,467 entitled “Method, System, and Computer Program Product for Tracking of Blood Glucose Variability in Diabetes”, filed May 26, 2011; U.S. Patent Application Publication No. 2011/0264378, Oct. 27, 2011.
  • DD. International Patent Application No. PCT/US2009/065725 entitled “Method, System, and Computer Program Product for Tracking of Blood Glucose Variability in Diabetes”, filed Nov. 24, 2009; International Patent Application Publication No. WO 2010/062898, Jun. 3, 2010.
  • EE. U.S. patent application Ser. No. 12/975,580 entitled “Method, System, and Computer Program Product for the Evaluation of Glycemic Control in Diabetes from Self-Monitoring Data”, filed Dec. 22, 2010; U.S. Patent Application Publication No. 2012/0004512, Jan. 5, 2012.
  • FF. U.S. patent application Ser. No. 11/305,946 entitled “Method, System, and Computer Program Product for the Evaluation of Glycemic Control in Diabetes from Self-Monitoring Data”, filed Dec. 19, 2005; U.S. Pat. No. 7,874,985, issued Jan. 25, 2011.
  • GG. U.S. patent application Ser. No. 10/240,228 entitled “Method, System, and Computer Program Product for the Evaluation of Glycemic Control in Diabetes from Self-Monitoring Data”, filed Sep. 26, 2002; U.S. Pat. No. 7,025,425, issued Apr. 11, 2006.
  • HH. International Patent Application No. PCT/US2001/009884 entitled “Method, System, and Computer Program Product for the Evaluation of Glycemic Control in Diabetes”, filed Mar. 29, 2001; International Application Publication No. WO 2001/72208, Oct. 4, 2001.
  • II. U.S. patent application Ser. No. 12/674,348 entitled “Method, Computer Program Product and System for Individual Assessment of Alcohol Sensitivity”, filed Feb. 19, 2010; U.S. Patent Application Publication No. 2011/0264374, Oct. 27, 2011.
  • JJ. U.S. patent application Ser. No. 12/665,149 entitled “Method, System and Computer Program Product for Evaluation of Insulin Sensitivity, Insulin/Carbohydrate Ratio, and Insulin Correction Factors in Diabetes from Self-Monitoring Data”, filed Dec. 17, 2009; U.S. Patent Application Publication No. 2010/0198520, Aug. 5, 2010.
  • KK. International Patent Application No. PCT/US2008/069416 entitled “Method, System and Computer Program Product for Evaluation of Insulin Sensitivity, Insulin/Carbohydrate Ratio, and Insulin Correction Factors in Diabetes from Self-Monitoring Data”, filed Jul. 8, 2008; International Patent Application Publication No. WO 2009/009528, Jan. 15, 2009.
  • LL. U.S. patent application Ser. No. 12/664,444 entitled “Method, System and Computer Simulation Environment for Testing of Monitoring and Control Strategies in Diabetes”, filed Dec. 14, 2009; U.S. Patent Application Publication No. 2010/0179768, Jul. 15, 2010.
  • MM. International Patent Application No. PCT/US2008/067725 entitled “Method, System and Computer Simulation Environment for Testing of Monitoring and Control Strategies in Diabetes”, filed Jun. 20, 2008; International Patent Application Publication No. WO 2008/157781, Dec. 24, 2008.
  • NN. U.S. patent application Ser. No. 12/516,044 entitled “Method, System, and Computer Program Product for the Detection of Physical Activity by Changes in Heart Rate, Assessment of Fast Changing Metabolic States, and Applications of Closed and Open Control Loop in Diabetes”, filed May 22, 2009; U.S. Pat. No. 8,585,593, issued Nov. 19, 2013.
  • OO. International Patent Application No. PCT/US2007/085588 entitled “Method, System, and Computer Program Product for the Detection of Physical Activity by Changes in Heart Rate, Assessment of Fast Changing Metabolic States, and Applications of Closed and Open Control Loop in Diabetes”, filed Nov. 27, 2007; International Patent Application Publication No. WO2008/067284, Jun. 5, 2008.
  • PP. U.S. patent application Ser. No. 12/159,891 entitled “Method, System and Computer Program Product for Evaluation of Blood Glucose Variability in Diabetes from Self-Monitoring Data”, filed Jul. 2, 2008; U.S. Patent Application Publication 2009/0171589, Jul. 2, 2009.
  • QQ. International Patent Application No. PCT/US2007/000370 entitled “Method, System and Computer Program Product for Evaluation of Blood Glucose Variability in Diabetes from Self-Monitoring Data”, filed Jan. 5, 2007; International Application Publication No. WO 2007/081853, Jul. 19, 2007.
  • RR. U.S. patent application Ser. No. 12/065,257 entitled “Accuracy of Continuous Glucose Sensors”, filed Feb. 28, 2008; U.S. Patent Application Publication No. 2008/0314395, Dec. 25, 2008.
  • SS. International Patent Application No. PCT/US2006/033724 entitled “Method for Improvising Accuracy of Continuous Glucose Sensors and a Continuous Glucose Sensor Using the Same”, filed Aug. 29, 2006; International Application Publication No. WO 2007027691, Mar. 8, 2007.
  • TT. U.S. patent application Ser. No. 11/943,226 entitled “Systems, Methods and Computer Program Codes for Recognition of Patterns of Hyperglycemia and Hypoglycemia, Increased Glucose Variability, and Ineffective Self-Monitoring in Diabetes”, filed Nov. 20, 2007; U.S. Patent Application Publication No. 2008/0154513, Jun. 26, 2008.
  • UU. U.S. patent application Ser. No. 11/578,831 entitled “Method, System and Computer Program Product for Evaluating the Accuracy of Blood Glucose Monitoring Sensors/Devices”, filed Oct. 18, 2006; U.S. Pat. No. 7,815,569, issued Oct. 19, 2010.
  • VV. International Patent Application No. US2005/013792 entitled “Method, System and Computer Program Product for Evaluating the Accuracy of Blood Glucose Monitoring Sensors/Devices”, filed Apr. 21, 2005; International Application Publication No. WO 2005/106017, Nov. 10, 2005.
  • WW. U.S. patent application Ser. No. 10/524,094 entitled “Method, System, And Computer Program Product For The Processing Of Self-Monitoring Blood Glucose (SMBG) Data To Enhance Diabetic Self-Management”, filed Feb. 9, 2005; U.S. Pat. No. 8,538,703, issued Sep. 17, 2013
  • XX. International Patent Application No. PCT/US2003/025053 entitled “Managing and Processing Self-Monitoring Blood Glucose”, filed Aug. 8, 2003; International Application Publication No. WO 2001/72208, Oct. 4, 2001.
  • YY. International Patent Application No. PCT/US2002/005676 entitled “Method and Apparatus for the Early Diagnosis of Subacute, Potentially Catastrophic Illness”, filed Feb. 27, 2002; International Application Publication No. WO 2002/67776, Sep. 6, 2002.
  • ZZ. U.S. patent application Ser. No. 10/069,674 entitled “Method and Apparatus for Predicting the Risk of Hypoglycemia”, filed Feb. 22, 2002; U.S. Pat. No. 6,923,763, issued Aug. 2, 2005.
  • AAA. International Patent Application No. PCT/US00/22886 entitled “METHOD AND APPARATUS FOR PREDICTING THE RISK OF HYPOGLYCEMIA”, filed Aug. 21, 2000; International Application Publication No. WO 2001/13786, Mar. 1, 2001.

Claims
  • 1. An insulin monitoring and delivery system, the system comprising one or more processors, one or more non-transitory computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, the program instructions comprising: first program instructions to track, via an insulin on board estimator module and in real time, insulin on board (IOB) of a patient, IOB being an amount of insulin active and/or an amount of insulin to be active in the patient;second program instructions to receive feed-forward signals and calculate, via a monitoring module and Kalman filtering, an amount of insulin need of the patient, wherein the amount of insulin need of the patient is calculated by insulin that should be on board (ISOB)-IOB, wherein the ISOB is based on an estimation or a prediction of patient glucose level;third program instructions to compare, via a fault detection and classification module, the amount of insulin active in the patient and/or the amount of insulin to be active in the patient with the amount of insulin need of the patient;fourth program instructions to determine, via the fault detection and classification module, an insulin fault level based on the comparison; andfifth program instructions for causing, via a remediation module and in response to the fourth program instructions determining the fault level, an insulin device to automatically change insulin delivery such that the amount of insulin active in the patient approaches the amount of insulin need of the patient.
  • 2. The system of claim 1, wherein the first program instructions are further configured to track the amount of insulin active in the patient by estimating a total insulin that is infused.
  • 3. The system of claim 1, wherein the second program instructions are configured to receive plasma insulin data as feed forward signals and to use Kalman filtering to determine a metabolic state for the patient by estimating an insulin action state based on received data representative of continuous glucose monitoring values, meal carbohydrate (“CHO”), and plasma insulin.
  • 4. The system of claim 1, wherein the second program instructions are configured to calculate the ISOB based on a time-dependent glucose ceiling.
  • 5. The system of claim 1, wherein the second program instructions are further configured to receive meal carbohydrate (“CHO”) data.
  • 6. The system of claim 1, wherein the fourth program instructions are configured to determine the fault level from a plurality of fault levels based on the comparison, wherein the plurality of fault levels include at least a first fault level that is indicative of little or no hyperglycemic risk, a second fault level that is indicative of moderate hyperglycemic risk, and/or a third fault level that is indicative of severe hyperglycemic risk.
  • 7. The system of claim 6, further comprising sixth program instructions for communicating, via a notification module, to the patient an alert indicative of a severe hyperglycemic risk, responsive to the fourth program instructions determining the fault level being the third fault level.
  • 8. The system of claim 7, further comprising seventh program instructions for communicating, via the notification module, to the patient instructions for identifying and remedying a fault when the fault level is determined to be the third fault level.
  • 9. The system of claim 1, further comprising sixth program instructions for communicating, via a notification module, to the patient an alert indicative of a need for additional insulin, responsive to the fourth program instructions determining the fault level.
  • 10. A computer-implemented method for monitoring and delivering insulin, comprising: tracking, by at least one insulin on board estimator processor in real time, insulin on board (IOB) of a patient, IOB being an amount of insulin active and/or an amount of insulin to be active in the patient;receiving feed-forward signals and calculating, by at least one monitoring processor and Kalman filtering, an amount of insulin need of the patient, wherein the amount of insulin need of the patient is calculated by insulin that should be on board (ISOB)-IOB, wherein the ISOB is based on an estimation or a prediction of patient glucose level;comparing, by at least one fault detection and classification processor, the amount of insulin active in the patient and/or the amount of insulin to be active in the patient with the amount of insulin need of the patient;determining, by the at least one fault detection and classification processor, an insulin fault level based on the comparison; andautomatically changing, via a remediation module and in response to determining the fault level, insulin delivery by an insulin delivery device such that the amount of insulin active in the patient approaches the amount of insulin need of the patient.
  • 11. The computer-implemented method of claim 10, wherein the tracking comprises tracking the amount of insulin active in the patient by estimating a total insulin that is infused.
  • 12. The computer-implemented method of claim 10, wherein the calculating comprises receiving plasma insulin data as feed forward signals and using Kalman filtering to determine a metabolic state for the patient by estimating an insulin action state based on received data representative of continuous glucose monitoring values, meal carbohydrate (“CHO”), and plasma insulin.
  • 13. The computer-implemented method of claim 10, wherein the calculating further comprises calculating the ISOB based on a time-dependent glucose ceiling.
  • 14. The computer-implemented method of claim 10, further comprising receiving meal carbohydrate (“CHO”) data.
  • 15. The computer-implemented method of claim 10, wherein determining the insulin fault level further comprises determining the fault level from a plurality of fault levels, wherein the plurality of fault levels include at least a first fault level that is indicative of little or no hyperglycemic risk, a second fault level that is indicative of moderate hyperglycemic risk, and/or a third fault level that is indicative of severe hyperglycemic risk.
  • 16. The computer-implemented method of claim 15, further comprising communicating to the patient, by at least one notification processor, an alert indicative of a need for additional insulin, responsive to determining the fault level being the second fault level.
  • 17. The computer-implemented method of claim 15, further comprising communicating to the patient, by at least one notification processor, an alert indicative of a severe hyperglycemic risk, responsive to determining the fault level being the third fault level.
  • 18. The computer-implemented method of claim 17, further comprising communicating to the patient, by the at least one notification processor, instructions for identifying and remedying a fault when the fault level is determined to be the third fault level.
  • 19. A non-transitory computer-readable storage medium having stored therein computer-executable instructions that when executed cause at least one processor to: track, via an insulin on board estimator module and in real time, insulin on board (IOB) of a patient, IOB being an amount of insulin active and/or an amount of insulin to be active in the patient;receive feed-forward signals and calculate, via a monitoring module and Kalman filtering, an amount of insulin need of the patient, wherein the amount of insulin need of the patient is calculated by insulin that should be on board (ISOB)-IOB, wherein the ISOB is based on an estimation or a prediction of patient glucose level;compare, via a fault detection and classification module, the amount of insulin active in the patient and/or the amount of insulin to be active in the patient with the amount of insulin need of the patient;determine, via the fault detection and classification module, an insulin fault level based on the comparison; andautomatically change, via a remediation module and in response to determining the fault level, insulin delivery by an insulin delivery device such that the amount of insulin active in the patient approaches the amount of insulin need of the patient.
  • 20. The non-transitory computer-readable medium of claim 19, wherein the instructions causing the insulin on board estimator module to track are further configured to cause said insulin on board estimator module to track the amount of insulin active in the patient by estimating a total insulin that is infused.
  • 21. The non-transitory computer-readable medium of claim 19, wherein the instructions causing the monitoring module to calculate are further configured to cause said monitoring module to receive plasma insulin data as feed forward signals and to use Kalman filtering to determine a metabolic state for the patient by estimating an insulin action state based on received data representative of continuous glucose monitoring values, meal carbohydrate (“CHO”), and plasma insulin.
  • 22. The non-transitory computer-readable medium of claim 19, wherein the instructions causing the monitoring module to calculate are further configured to cause said monitoring module to calculate the ISOB based on a time-dependent glucose ceiling.
  • 23. The non-transitory computer-readable medium of claim 19, wherein the computer-executable instructions further comprise instructions for receiving meal carbohydrate (“CHO”) data.
  • 24. The non-transitory computer-readable medium of claim 19, wherein the instructions causing the fault detection and classification module to determine the insulin fault level are further configured to cause said fault detection and classification module to determine the fault level from a plurality of fault levels, wherein the plurality of fault levels include at least a first fault level that is indicative of little or no hyperglycemic risk, a second fault level that is indicative of moderate hyperglycemic risk, and/or a third fault level that is indicative of severe hyperglycemic risk.
  • 25. The non-transitory computer-readable medium of claim 24, wherein the computer-executable instructions further comprise instructions for causing a notification module to communicate to the patient an alert indicative of a need for additional insulin, responsive to the instructions determining the fault level being the second fault level.
  • 26. The non-transitory computer-readable medium of claim 24, wherein the computer-executable instructions further comprise instructions for causing a notification module to communicate to the patient an alert indicative of a severe hyperglycemic risk, responsive to the instructions determining the fault level being the third fault level.
  • 27. The non-transitory computer-readable medium of claim 26, wherein the computer-executable instructions further comprise instructions for causing the notification module to communicate to the patient instructions for identifying and remedying a fault when the fault level is determined to be the third fault level.
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Application Ser. No. 62/173,080, filed Jun. 9, 2015 entitled “CGM BASED FAULT DETECTION AND MITIGATION OF INSULIN DELIVERY/MONITORING SYSTEMS VIA METABOLIC STATE TRACKING,” the disclosure of which is incorporated by reference herein in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under Grant No. DK085623, awarded by the National Institutes of Health. The government has certain rights in the invention.

US Referenced Citations (69)
Number Name Date Kind
6923763 Kovatchev et al. Aug 2005 B1
7025425 Kovatchev et al. Apr 2006 B2
7204823 Estes et al. Apr 2007 B2
7651489 Estes et al. Jan 2010 B2
7815569 Kovatchev et al. Oct 2010 B2
7837647 Estes et al. Nov 2010 B2
7874985 Kovatchev et al. Jan 2011 B2
8012119 Estes et al. Sep 2011 B2
8135548 Breton et al. Mar 2012 B2
8500702 Estes et al. Aug 2013 B2
8538703 Kovatchev et al. Sep 2013 B2
8562587 Kovatchev et al. Oct 2013 B2
8585593 Kovatchev et al. Nov 2013 B2
8718943 Moerman May 2014 B2
8718958 Breton et al. May 2014 B2
8924160 Moerman Dec 2014 B2
8924161 Moerman Dec 2014 B2
8924180 Nishikawa et al. Dec 2014 B2
20030028089 Galley Feb 2003 A1
20030114836 Estes et al. Jun 2003 A1
20030114838 Oneill et al. Jun 2003 A1
20040248204 Moerman Dec 2004 A1
20050245904 Estes et al. Nov 2005 A1
20070083335 Moerman Apr 2007 A1
20070083336 Huang et al. Apr 2007 A1
20070287985 Estes et al. Dec 2007 A1
20080154101 Jain et al. Jun 2008 A1
20080154513 Kovatchev et al. Jun 2008 A1
20080269714 Mastrototaro Oct 2008 A1
20080314385 Brunner et al. Dec 2008 A1
20080314395 Kovatchev et al. Dec 2008 A1
20090171589 Kovatchev Jul 2009 A1
20090209938 Aalto-Setaelae Aug 2009 A1
20100179768 Kovatchev et al. Jul 2010 A1
20100198520 Breton et al. Aug 2010 A1
20100295686 Sloan Nov 2010 A1
20110028901 Estes et al. Feb 2011 A1
20110029269 Hayter Feb 2011 A1
20110034791 Moerman Feb 2011 A1
20110034793 Moerman Feb 2011 A1
20110046051 Moerman Feb 2011 A1
20110046468 Moerman Feb 2011 A1
20110046892 Moerman Feb 2011 A1
20110046895 Moerman Feb 2011 A1
20110264374 Johnson et al. Oct 2011 A1
20110264378 Breton et al. Oct 2011 A1
20110295341 Estes et al. Dec 2011 A1
20120004512 Kovatchev et al. Jan 2012 A1
20120035547 Estes et al. Feb 2012 A1
20120041414 Estes et al. Feb 2012 A1
20120041415 Estes et al. Feb 2012 A1
20120078067 Kovatchev et al. Mar 2012 A1
20120130698 Kovatchev et al. May 2012 A1
20120191361 Kovatchev et al. Jul 2012 A1
20120245556 Kovatchev et al. Sep 2012 A1
20130079613 Kovatchev et al. Mar 2013 A1
20130116649 Breton et al. May 2013 A1
20130165901 Ruchti et al. Jun 2013 A1
20130338629 Agrawal Dec 2013 A1
20140046159 Kovatchev et al. Feb 2014 A1
20140046169 Liu et al. Feb 2014 A1
20140215239 Kovatchev et al. Jul 2014 A1
20140244216 Breton et al. Aug 2014 A1
20140244218 Greenberg et al. Aug 2014 A1
20150018633 Kovachev et al. Jan 2015 A1
20150018833 Crandall et al. Jan 2015 A1
20150190098 Patek et al. Jul 2015 A1
20150193589 Ortiz et al. Jul 2015 A1
20190254595 Breton et al. Aug 2019 A1
Foreign Referenced Citations (26)
Number Date Country
0113786 Mar 2001 WO
02067776 Sep 2002 WO
2005106017 Nov 2005 WO
2007027691 Mar 2007 WO
2007081853 Jul 2007 WO
2008052199 May 2008 WO
2008067284 Jun 2008 WO
2008157781 Dec 2008 WO
2009009528 Jan 2009 WO
2010062898 Jun 2010 WO
2010099313 Sep 2010 WO
2010138848 Dec 2010 WO
2010151834 Dec 2010 WO
2011028731 Mar 2011 WO
2011028925 Mar 2011 WO
2011112974 Sep 2011 WO
2011119832 Sep 2011 WO
2012178113 Dec 2012 WO
2012178134 Dec 2012 WO
2013032965 Mar 2013 WO
2013177565 Nov 2013 WO
2014022864 Feb 2014 WO
2014130841 Aug 2014 WO
2015003124 Jan 2015 WO
2015021441 Feb 2015 WO
2015103543 Jul 2015 WO
Non-Patent Literature Citations (2)
Entry
International Search Report (PCT/ISA/210) dated Sep. 23, 2016, by the Korean Patent Office as the International Searching Authority for International Application No. PCT/US2016/036729.
Written Opinion (PCT/ISA/237) dated Sep. 23, 2016, by the Korean Patent Office as the International Searching Authority for International Application No. PCT/US2016/036729.
Related Publications (1)
Number Date Country
20220203020 A1 Jun 2022 US
Provisional Applications (1)
Number Date Country
62173080 Jun 2015 US
Continuations (1)
Number Date Country
Parent 15580935 US
Child 17694870 US