U.S. patent application number 17/661674 was filed with the patent office on 2022-08-18 for adaptive signal processing.
The applicant listed for this patent is Medtronic MiniMed, Inc.. Invention is credited to Pratik J. Agrawal, Brian T. Kannard, Xiaolong Li, Bradley C. Liang, Keith Nogueira, Rajiv Shah, Yuxiang Zhong.
Application Number | 20220262475 17/661674 |
Document ID | / |
Family ID | |
Filed Date | 2022-08-18 |
United States Patent
Application |
20220262475 |
Kind Code |
A1 |
Nogueira; Keith ; et
al. |
August 18, 2022 |
ADAPTIVE SIGNAL PROCESSING
Abstract
Disclosed herein are techniques related to adaptive signal
processing. The techniques may involve: obtaining a plurality of
unfiltered measurement values based on signals generated by a
sensor; determining a plurality of filtered measurement values
based on the plurality of unfiltered measurement values;
determining, based on the plurality of filtered measurements, a
first derivative metric for a current filtered measurement of the
plurality of filtered measurements and a second derivative metric
for the current filtered measurement; determining an output
filtered measurement indicative of a physiological condition of a
user based at least in part on the current filtered measurement,
the first derivative metric, the second derivative metric, and a
previous output measurement; and outputting the output filtered
measurement.
Inventors: |
Nogueira; Keith; (Mission
Hills, CA) ; Agrawal; Pratik J.; (Porter Ranch,
CA) ; Kannard; Brian T.; (Mountain View, CA) ;
Li; Xiaolong; (Porter Ranch, CA) ; Liang; Bradley
C.; (Bloomfield Hills, MI) ; Shah; Rajiv;
(Rancho Palos Verdes, CA) ; Zhong; Yuxiang;
(Arcadia, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Medtronic MiniMed, Inc. |
Northridge |
CA |
US |
|
|
Appl. No.: |
17/661674 |
Filed: |
May 2, 2022 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15979374 |
May 14, 2018 |
|
|
|
17661674 |
|
|
|
|
14281766 |
May 19, 2014 |
10007765 |
|
|
15979374 |
|
|
|
|
International
Class: |
G16H 20/17 20060101
G16H020/17; A61M 5/172 20060101 A61M005/172; G05B 15/02 20060101
G05B015/02; A61M 5/142 20060101 A61M005/142 |
Claims
1. A system for controlling insulin delivery, the system
comprising: one or more processors; and one or more
processor-readable storage media storing instructions which, when
executed by the one or more processors, cause performance of:
obtaining a plurality of unfiltered measurement values based on
signals generated by a sensor; determining a plurality of filtered
measurement values based on the plurality of unfiltered measurement
values; determining, based on the plurality of filtered
measurements, a first derivative metric for a current filtered
measurement of the plurality of filtered measurements and a second
derivative metric for the current filtered measurement; determining
an output filtered measurement indicative of a physiological
condition of a user based at least in part on the current filtered
measurement, the first derivative metric, the second derivative
metric, and a previous output measurement; and outputting the
output filtered measurement.
2. The system of claim 1, wherein outputting the output filtered
measurement comprises outputting the output filtered measurement
for transmission to an infusion device for delivery of insulin
based on the output filtered measurement.
3. The system of claim 1, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
determining a process variance metric based at least in part on the
first derivative metric and the second derivative metric, wherein
determining the output filtered measurement comprises determining
the output filtered measurement indicative of the physiological
condition of the user based at least in part on the current
filtered measurement, the process variance, and the previous output
measurement.
4. The system of claim 1, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
determining a frequency estimate associated with the current
filtered measurement based on the first derivative metric; and
determining a noise estimate associated with the current filtered
measurement based on the second derivative metric, wherein
determining the output filtered measurement comprises determining
the output filtered measurement indicative of the physiological
condition of the user based at least in part on the current
filtered measurement, the frequency estimate, the noise estimate,
and the previous output measurement.
5. The system of claim 4, wherein determining the frequency
estimate comprises scaling the first derivative metric by a
calibration factor for converting the output filtered measurement
to a second value, the first derivative metric comprising an
average of first derivative values associated with the current
filtered measurement and one or more preceding filtered
measurements, wherein determining the noise estimate comprises
scaling the second derivative metric by the calibration factor, the
second derivative metric comprising an average of second derivative
values associated with eh current filtered measurement and the one
or more preceding filtered measurements.
6. The system of claim 4, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
determining a rate of change metric associated with the current
filtered measurement based at least in part on the first derivative
metric; scaling the rate of change metric based on the noise
estimate to generate a scaled rate of change metric; and adding the
scaled rate of change metric to the current filtered measurement to
generate an adjusted filtered measurement, wherein determining the
output filtered measurement comprises determining the output
filtered measurement based at least in part on the adjusted
filtered measurement, the frequency estimate, the noise estimate,
and the previous output measurement.
7. The system of claim 1, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
identifying a dropout condition based at least in part on one or
more of the first derivative metric and the second derivative
metric associated with the current filtered measurement; and
determining an adjusted filtered measurement in response to
identifying the dropout condition, wherein determining the output
filtered measurement comprises determining the output filtered
measurement based at least in part on the adjusted filtered
measurement, the first derivative metric, the second derivative
metric, and the previous output measurement.
8. The system of claim 7, wherein identifying the dropout condition
comprises identifying the dropout condition when the first
derivative metric associated with the current filtered measurement
is greater than a first derivative dropout threshold value and the
second derivative metric associated with the current filtered
measurement is less than a second derivative dropout threshold
value.
9. The system of claim 1, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
adjusting the current filtered measurement to compensate for delay
based at least in part on one or more of the first derivative
metric and the second derivative metric associated with the current
filtered measurement, resulting in an adjusted filtered
measurement, wherein determining the output filtered measurement
comprises determining the output filtered measurement based on the
adjusted filtered measurement, the first derivative metric, the
second derivative metric, and the previous output measurement.
10. The system of claim 9, wherein the one or more
processor-readable storage media further store instructions which,
when executed by the one or more processors, cause performance of:
determining a noise estimate associated with the current filtered
measurement based on the second derivative metric associated with
the current filtered measurement, wherein adjusting the current
filtered measurement comprises: scaling a rate of change metric for
the current filtered measurement based on the noise estimate,
resulting in a scaled rate of change metric; and adding the scaled
rate of change metric to the current filtered measurement to obtain
the adjusted filtered measurement.
11. The system of claim 1, wherein determining the output filtered
measurement comprises: determining an intermediate error estimate
based on a preceding output error estimate, the first derivative
metric, and the second derivative metric; determining a filter gain
value based on the intermediate error estimate and a measurement
error value; and determining the output filtered measurement based
on the current filtered measurement, the filter gain value, and the
previous output measurement.
12. The system of claim 1, wherein determining the output filtered
measurement comprises: implementing a Kalman filter to filter the
current filtered measurement using the previous output measurement,
the first derivative metric, and the second derivative metric.
13. The system of claim 12, wherein implementing the Kalman filter
comprises: determining an intermediate error estimate based on a
preceding output error estimate, the first derivative metric, and
the second derivative metric; determining a Kalman filter gain
value based on the intermediate error estimate and a measurement
error value; and determining the output filtered measurement
according to the equation
i.sub.out=i.sub.out[n-1]+k(i.sub.sig-i.sub.out[n-1]), where
i.sub.out is the output measurement value, i.sub.out[n-1]
represents the preceding output measurement, i.sub.sig represents
the current filtered measurement, and k represents the Kalman
filter gain value.
14. A processor-implemented method for controlling insulin
delivery, the method comprising: obtaining a plurality of
unfiltered measurement values based on signals generated by a
sensor; determining a plurality of filtered measurement values
based on the plurality of unfiltered measurement values;
determining, based on the plurality of filtered measurements, a
first derivative metric for a current filtered measurement of the
plurality of filtered measurements and a second derivative metric
for the current filtered measurement; determining an output
filtered measurement indicative of a physiological condition of a
user based at least in part on the current filtered measurement,
the first derivative metric, the second derivative metric, and a
previous output measurement; and outputting the output filtered
measurement.
15. The method of claim 14, wherein outputting the output filtered
measurement comprises outputting the output filtered measurement
for transmission to an infusion device for delivery of insulin
based on the output filtered measurement.
16. The method of claim 14, further comprising: determining a
process variance metric based at least in part on the first
derivative metric and the second derivative metric, wherein
determining the output filtered measurement comprises determining
the output filtered measurement indicative of the physiological
condition of the user based at least in part on the current
filtered measurement, the process variance, and the previous output
measurement.
17. The method of claim 14, further comprising: determining a
frequency estimate associated with the current filtered measurement
based on the first derivative metric; and determining a noise
estimate associated with the current filtered measurement based on
the second derivative metric, wherein determining the output
filtered measurement comprises determining the output filtered
measurement indicative of the physiological condition of the user
based at least in part on the current filtered measurement, the
frequency estimate, the noise estimate, and the previous output
measurement.
18. The method of claim 14, further comprising: identifying a
dropout condition based at least in part on one or more of the
first derivative metric and the second derivative metric associated
with the current filtered measurement; and determining an adjusted
filtered measurement in response to identifying the dropout
condition, wherein determining the output filtered measurement
comprises determining the output filtered measurement based at
least in part on the adjusted filtered measurement, the first
derivative metric, the second derivative metric, and the previous
output measurement.
19. The method of claim 14, further comprising: adjusting the
current filtered measurement to compensate for delay based at least
in part on one or more of the first derivative metric and the
second derivative metric associated with the current filtered
measurement, resulting in an adjusted filtered measurement, wherein
determining the output filtered measurement comprises determining
the output filtered measurement based on the adjusted filtered
measurement, the first derivative metric, the second derivative
metric, and the previous output measurement.
20. One or more non-transitory processor-readable storage media
storing instructions which, when executed by one or more
processors, cause performance of: obtaining a plurality of
unfiltered measurement values based on signals generated by a
sensor; determining a plurality of filtered measurement values
based on the plurality of unfiltered measurement values;
determining, based on the plurality of filtered measurements, a
first derivative metric for a current filtered measurement of the
plurality of filtered measurements and a second derivative metric
for the current filtered measurement; determining an output
filtered measurement indicative of a physiological condition of a
user based at least in part on the current filtered measurement,
the first derivative metric, the second derivative metric, and a
previous output measurement; and outputting the output filtered
measurement.
Description
[0001] This application is a continuation of U.S. patent
application Ser. No. 15/979,374, filed May 14, 2018, which is a
division of U.S. patent application Ser. No. 14/281,766, filed May
19, 2014, and now issued as U.S. Pat. No. 10,007,765.
TECHNICAL FIELD
[0002] Embodiments of the subject matter described herein relate to
adaptive signal processing.
BACKGROUND
[0003] Infusion pump devices and systems are relatively well known
in the medical arts, for use in delivering or dispensing an agent,
such as insulin or another prescribed medication, to a patient. A
typical infusion pump includes a pump drive system which typically
includes a small motor and drive train components that convert
rotational motor motion to a translational displacement of a
plunger (or stopper) in a reservoir that delivers medication from
the reservoir to the body of a user via a fluid path created
between the reservoir and the body of a user. Use of infusion pump
therapy has been increasing, especially for delivering insulin for
diabetics.
[0004] Continuous insulin infusion provides greater control of a
diabetic's condition, and hence, control schemes are being
developed that allow insulin infusion pumps to monitor and regulate
a user's blood glucose level in a substantially continuous and
autonomous manner, for example, overnight while the user is
sleeping. Rather than continuously sampling and monitoring a user's
blood glucose level, which may compromise battery life,
intermittently sensed glucose data samples may be utilized for
determining operating commands for the infusion pump. To achieve
the desired level of accuracy and reliability and reduce the impact
of noise and other spurious signals, the sensor data is filtered
and calibrated using a known good blood glucose value (e.g., a
fingerstick measurement). However, the filtering introduces the
appearance of lag, which can degrade the user experience.
Additionally, various factors can lead to transient changes in the
sensor output, which may influence the accuracy of the calibration.
Degradation of sensor performance over time may further compound
these problems. Accordingly, it is desirable to improve accuracy
and reliability while also reducing lag and improving the overall
user experience.
BRIEF SUMMARY
[0005] Disclosed herein are techniques related to adaptive signal
processing. The techniques may be practiced with a
processor-implemented method; a system comprising one or more
processors and one or more processor-readable storage media; and/or
one or more non-transitory processor-readable storage media.
[0006] In some examples, the techniques may involve: obtaining a
plurality of unfiltered measurement values based on signals
generated by a sensor; determining a plurality of filtered
measurement values based on the plurality of unfiltered measurement
values; determining, based on the plurality of filtered
measurements, a first derivative metric for a current filtered
measurement of the plurality of filtered measurements and a second
derivative metric for the current filtered measurement; determining
an output filtered measurement indicative of a physiological
condition of a user based at least in part on the current filtered
measurement, the first derivative metric, the second derivative
metric, and a previous output measurement; and outputting the
output filtered measurement.
[0007] This summary is provided to introduce a selection of
concepts in a simplified form that are further described below in
the detailed description. This summary is not intended to identify
key features or essential features of the claimed subject matter,
nor is it intended to be used as an aid in determining the scope of
the claimed subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] A more complete understanding of the subject matter may be
derived by referring to the detailed description and claims when
considered in conjunction with the following figures, wherein like
reference numbers refer to similar elements throughout the figures,
which may be illustrated for simplicity and clarity and are not
necessarily drawn to scale.
[0009] FIG. 1 depicts an exemplary embodiment of an infusion
system;
[0010] FIG. 2 depicts a plan view of an exemplary embodiment of a
fluid infusion device suitable for use in the infusion system of
FIG. 1;
[0011] FIG. 3 is an exploded perspective view of the fluid infusion
device of FIG. 2;
[0012] FIG. 4 is a cross-sectional view of the fluid infusion
device of FIGS. 2-3 as viewed along line 4-4 in FIG. 3 when
assembled with a reservoir inserted in the infusion device;
[0013] FIG. 5 is a block diagram of an exemplary control system
suitable for use in a fluid infusion device, such as the fluid
infusion device of FIG. 1;
[0014] FIG. 6 is a block diagram of an exemplary electronic device
suitable for use as the sensing arrangement in the control system
of FIG. 5;
[0015] FIG. 7 is a block diagram of an exemplary signal processing
system suitable for implementation by the data management
application in the sensing arrangement of FIG. 6;
[0016] FIG. 8 is a flow diagram of an exemplary artifact detection
process suitable for implementation by the artifact detection
module in the signal processing system of FIG. 7;
[0017] FIG. 9 is a flow diagram of an exemplary signal analysis
process suitable for implementation by the signal analysis module
in the signal processing system of FIG. 7;
[0018] FIG. 10 is a flow diagram of an exemplary dropout detection
process suitable for implementation by the dropout detection module
in the signal processing system of FIG. 7;
[0019] FIG. 11 is a flow diagram of an exemplary adaptive filtering
process suitable for implementation by the adaptive filtering
module in the signal processing system of FIG. 7;
[0020] FIG. 12 is a flow diagram of an exemplary calibration
process suitable for implementation by the calibration application
in the sensing arrangement of FIG. 6;
[0021] FIG. 13 is a flow diagram of an exemplary calibration factor
determination process suitable for implementation in conjunction
with the calibration process of FIG. 12;
[0022] FIG. 14 is a flow diagram of an exemplary dynamic adjustment
process suitable for implementation in conjunction with the
calibration factor determination process of FIG. 13; and
[0023] FIG. 15 is a flow diagram of an exemplary sensor monitoring
process suitable for implementation by the health monitoring
application in the sensing arrangement of FIG. 6.
DETAILED DESCRIPTION
[0024] The following detailed description is merely illustrative in
nature and is not intended to limit the embodiments of the subject
matter or the application and uses of such embodiments. As used
herein, the word "exemplary" means "serving as an example,
instance, or illustration." Any implementation described herein as
exemplary is not necessarily to be construed as preferred or
advantageous over other implementations. Furthermore, there is no
intention to be bound by any expressed or implied theory presented
in the preceding technical field, background, brief summary or the
following detailed description.
[0025] While the subject matter described herein may be implemented
in any electronic device, exemplary embodiments described below are
implemented in the form of medical devices, such as portable
electronic medical devices. Although many different applications
are possible, the following description focuses on a fluid infusion
device (or infusion pump) as part of an infusion system deployment.
For the sake of brevity, conventional techniques related to
infusion system operation, insulin pump and/or infusion set
operation, and other functional aspects of the systems (and the
individual operating components of the systems) may not be
described in detail here. Examples of infusion pumps may be of the
type described in, but not limited to, U.S. Pat. Nos. 4,562,751;
4,685,903; 5,080,653; 5,505,709; 5,097,122; 6,485,465; 6,554,798;
6,558,320; 6,558,351; 6,641,533; 6,659,980; 6,752,787; 6,817,990;
6,932,584; and 7,621,893; each of which are herein incorporated by
reference.
[0026] Embodiments of the subject matter described herein generally
relate to fluid infusion devices including a motor that is operable
to linearly displace a plunger (or stopper) of a reservoir provided
within the fluid infusion device to deliver a dosage of fluid, such
as insulin, to the body of a user. As described in greater detail
below, in exemplary embodiments, the dosage commands that govern
operation of the motor are influenced by a current (or most recent)
measurement of a condition in the body of the user. For example, in
one or more embodiments, an insulin dosage (or delivery) command
may be determined based on a difference between a current glucose
measurement obtained for the user and a target glucose value for
the user, where the current glucose measurement is determined based
at least in part on one or more output signals obtained from a
sensing element configured to sense, measure, or otherwise detect
the relative amount of glucose present in the user's body. While
the subject matter may be described herein in the context of
delivering insulin to regulate a glucose level in the body of a
user for purposes of explanation, it will be appreciated that the
subject matter described herein it not limited to any particular
type of fluid being delivered or any particular physiological
condition being regulated.
[0027] As described in greater detail below in the context of FIGS.
6-11, in exemplary embodiments, the output signals from a sensing
element sensitive to a user's glucose level are filtered to obtain
filtered measurements indicative of the user's glucose level. The
filtered measurements are analyzed to determine metrics indicative
of signal characteristics of the filtered measurement signal based
at least in part on one or more derivative metrics associated with
the filtered measurements. For example, a first derivative metric
associated with a respective filtered measurement may be calculated
and utilized to determine a frequency metric indicative of an
estimated frequency of the filtered measurement signal, while a
second derivative metric may be calculated and utilized to
determine a noise metric indicative of an estimate of the amount of
noise present in the filtered measurement signal. A respective
filtered measurement is adaptively filtered in a manner that is
influenced by its associated frequency and noise metrics to obtain
an uncalibrated measurement indicative of the user's glucose level
that may be output or otherwise provided to another component of an
infusion system, which, in turn, converts the uncalibrated output
measurement into a calibrated sensor glucose value (or sensed
glucose value) using a calibration factor associated with the
sensing element. The sensed glucose value may be utilized in
determining a delivery command, which, in turn, is utilized to
operate a motor of the infusion device to deliver insulin to the
body of the user.
[0028] In one or more embodiments, the calibration factor used to
convert the uncalibrated output measurement determined by filtering
output signals from the sensing element into a calibrated sensor
glucose value is adjusted in a manner that is influenced by an
expected calibration factor, as described in greater detail below
in the context of FIGS. 12-14. A raw (or unadjusted) calibration
factor may be determined based on the relationship between
reference blood glucose measurements and corresponding uncalibrated
output measurements that are paired with the respective reference
blood glucose measurements. For example, in one embodiment, the raw
calibration factor is determined as a ratio of a first weighted sum
to a second weighted sum, where the first weighted sum is a sum of
the products of the first weighted sum comprises a sum of products
of the respective uncalibrated measurement and reference
measurement of each respective pairing and one or more weighting
factors associated with that respective pairing, while the second
weighted sum comprises a sum of products of a square of the
respective uncalibrated measurement and one or more weighting
factors associated with its respective pairing. Thereafter, an
expected calibration factor for the sensing element is utilized to
determine an adjusted calibration factor based on the raw
calibration factor. In this manner, the value of the adjusted
calibration factor is adjusted from the value of the raw
calibration factor towards the value of the expected calibration
factor. For example, in one embodiment, the adjusted calibration
factor is calculated as a weighted sum of the raw calibration
factor and the expected calibration factor. In other embodiments,
the adjusted calibration factor may be determined as a function of
the raw calibration factor and an elapsed time since the most
recent calibration attempt, where the function is configured to
dynamically adjust the value of the adjusted calibration factor
from the value of the raw calibration factor towards the expected
calibration factor as the elapsed time increases.
[0029] As described in greater detail below in the context of FIG.
15, in exemplary embodiments, the filtered measurements based on
the output signals from the sensing element are analyzed over a
monitoring period to determine signal characteristics associated
with the filtered measurement signal over the monitoring period.
The signal characteristics associated with the filtered measurement
signal over the monitoring period are, in turn, utilized to
determine a reliability metric associated with the sensing element
for the monitoring period. In exemplary embodiments, the
reliability metric is indicative of the relationship between the
noisiness of the filtered measurement signal and the magnitude of
the filtered measurement signal. For example, in one embodiment,
the reliability metric corresponds to a ratio of the average value
of the filtered measurement signal over the monitoring period to a
number of high noise measurements that occurred during that
monitoring period. In this regard, the respective values of the
subset of filtered measurements occurring during the monitoring
period are averaged to obtain the average measurement value for the
monitoring period. To determine the number of high noise
measurements, a noise metric for each respective measurement of the
subset of filtered measurements occurring during the monitoring
period may be compared to a noise threshold to classify or
otherwise identify that respective measurement as a high noise
measurement when the value of noise metric exceeds the noise
threshold value. Thereafter, the average measurement value for the
monitoring period is divided by the number of high noise
measurements to obtain a reliability metric indicative of the
relationship between the magnitude and the noisiness of the
filtered measurement signal.
[0030] When the reliability metric violates a maintenance threshold
value, an indication of a maintenance condition may be generated or
otherwise provided to a user. For example, an auditory and/or
visual user notification may be automatically generated that
indicates replacement of the sensing element should be performed,
or alternatively, that some other maintenance of the sensing
element should otherwise be performed (e.g., inspecting electrical
connectivity to/from the sensing element, ensuring the sensing
element is properly inserted and/or fitted in a housing of a
sensing device, or the like). In one or more embodiments, the
indication of a maintenance condition is automatically provided
only when the reliability metric is less than the maintenance
threshold value for at least a threshold number of consecutive
monitoring periods. For example, in one embodiment, the monitoring
periods have a duration of two hours, where a user notification is
automatically generated when the reliability metric is less than
the maintenance threshold value for at least three (or more than
two) consecutive monitoring periods, or in other words, when the
output from the sensing element indicates relatively low
reliability over the course of at least six hours. Thus, in such
embodiments, the reliability metric may fall below the maintenance
threshold for a monitoring period (e.g., as a result of
interference or some other transient condition) before recovering
to values above maintenance threshold for subsequent monitoring
periods without any user notifications being generated. As a
result, the usable lifetime of the sensing element may be extended
by avoiding prematurely indicating replacement.
[0031] Turning now to FIG. 1, one exemplary embodiment of an
infusion system 100 includes, without limitation, a fluid infusion
device (or infusion pump) 102, a sensing arrangement 104, a command
control device (CCD) 106, and a computing device 108. The
components of an infusion system 100 may be realized using
different platforms, designs, and configurations, and the
embodiment shown in FIG. 1 is not exhaustive or limiting. In
practice, the infusion device 102 and the sensing arrangement 104
are secured at desired locations on the body of a user (or
patient), as illustrated in FIG. 1. In this regard, the locations
at which the infusion device 102 and the sensing arrangement 104
are secured to the body of the user in FIG. 1 are provided only as
a representative, non-limiting, example. The elements of the
infusion system 100 may be similar to those described in U.S. Pat.
No. 8,674,288, the subject matter of which is hereby incorporated
by reference in its entirety.
[0032] In the illustrated embodiment of FIG. 1, the infusion device
102 is designed as a portable medical device suitable for infusing
a fluid, a liquid, a gel, or other agent into the body of a user.
In exemplary embodiments, the infused fluid is insulin, although
many other fluids may be administered through infusion such as, but
not limited to, HIV drugs, drugs to treat pulmonary hypertension,
iron chelation drugs, pain medications, anti-cancer treatments,
medications, vitamins, hormones, or the like. In some embodiments,
the fluid may include a nutritional supplement, a dye, a tracing
medium, a saline medium, a hydration medium, or the like.
[0033] The sensing arrangement 104 generally represents the
components of the infusion system 100 configured to sense, detect,
measure or otherwise quantify a condition of the user, and may
include a sensor, a monitor, or the like, for providing data
indicative of the condition that is sensed, detected, measured or
otherwise monitored by the sensing arrangement. In this regard, the
sensing arrangement 104 may include electronics and enzymes
reactive to a biological condition, such as a blood glucose level,
or the like, of the user, and provide data indicative of the blood
glucose level to the infusion device 102, the CCD 106 and/or the
computing device 108. For example, the infusion device 102, the CCD
106 and/or the computing device 108 may include a display for
presenting information or data to the user based on the sensor data
received from the sensing arrangement 104, such as, for example, a
current glucose level of the user, a graph or chart of the user's
glucose level versus time, device status indicators, alert
messages, or the like. In other embodiments, the infusion device
102, the CCD 106 and/or the computing device 108 may include
electronics and software that are configured to analyze sensor data
and operate the infusion device 102 to deliver fluid to the body of
the user based on the sensor data and/or preprogrammed delivery
routines. Thus, in exemplary embodiments, one or more of the
infusion device 102, the sensing arrangement 104, the CCD 106,
and/or the computing device 108 includes a transmitter, a receiver,
and/or other transceiver electronics that allow for communication
with other components of the infusion system 100, so that the
sensing arrangement 104 may transmit sensor data or monitor data to
one or more of the infusion device 102, the CCD 106 and/or the
computing device 108.
[0034] Still referring to FIG. 1, in various embodiments, the
sensing arrangement 104 may be secured to the body of the user or
embedded in the body of the user at a location that is remote from
the location at which the infusion device 102 is secured to the
body of the user. In various other embodiments, the sensing
arrangement 104 may be incorporated within the infusion device 102.
In other embodiments, the sensing arrangement 104 may be separate
and apart from the infusion device 102, and may be, for example,
part of the CCD 106. In such embodiments, the sensing arrangement
104 may be configured to receive a biological sample, analyte, or
the like, to measure a condition of the user.
[0035] As described above, in some embodiments, the CCD 106 and/or
the computing device 108 may include electronics and other
components configured to perform processing, delivery routine
storage, and to control the infusion device 102 in a manner that is
influenced by sensor data measured by and/or received from the
sensing arrangement 104. By including control functions in the CCD
106 and/or the computing device 108, the infusion device 102 may be
made with more simplified electronics. However, in other
embodiments, the infusion device 102 may include all control
functions, and may operate without the CCD 106 and/or the computing
device 108. In addition, the infusion device 102 and/or the sensing
arrangement 104 may be configured to transmit data to the CCD 106
and/or the computing device 108 for display or processing of the
data by the CCD 106 and/or the computing device 108. In various
embodiments, the CCD 106 and/or the computing device 108 may be a
portable electronic device, such as a mobile phone, a smartphone, a
tablet computer, a notebook or laptop computer, or the like. In one
embodiment, the computing device 108 is a server computer that is
accessible via a communications network, such as the Internet, a
cellular network, or the like.
[0036] In some embodiments, the CCD 106 and/or the computing device
108 may provide information to the user that facilitates the user's
subsequent use of the infusion device 102. For example, the CCD 106
may provide information to the user to allow the user to determine
the rate or dose of medication to be administered into the user's
body. In other embodiments, the CCD 106 may provide information to
the infusion device 102 to autonomously control the rate or dose of
medication administered into the body of the user. In some
embodiments, the sensing arrangement 104 may be integrated into the
CCD 106. Such embodiments may allow the user to monitor a condition
by providing, for example, a sample of his or her blood to the
sensing arrangement 104 to assess his or her condition. In some
embodiments, the sensing arrangement 104 and the CCD 106 may be
used for determining glucose levels in the blood and/or body fluids
of the user without the use of, or necessity of, a wire or cable
connection between the infusion device 102 and the sensing
arrangement 104 and/or the CCD 106.
[0037] In some embodiments, the sensing arrangement 104 and/or the
infusion device 102 are cooperatively configured to utilize a
closed-loop system for delivering fluid to the user. Examples of
sensing devices and/or infusion pumps utilizing closed-loop systems
may be found at, but are not limited to, the following U.S. Pat.
Nos. 6,088,608, 6,119,028, 6,589,229, 6,740,072, 6,827,702,
7,323,142, and 7,402,153, all of which are incorporated herein by
reference in their entirety. In such embodiments, the sensing
arrangement 104 is configured to sense or measure a condition of
the user, such as, blood glucose level or the like. The infusion
device 102 is configured to deliver fluid in response to the
condition sensed by the sensing arrangement 104. In turn, the
sensing arrangement 104 continues to sense or otherwise quantify a
current condition of the user, thereby allowing the infusion device
102 to deliver fluid continuously in response to the condition
currently (or most recently) sensed by the sensing arrangement 104
indefinitely. In some embodiments, the sensing arrangement 104
and/or the infusion device 102 may be configured to utilize the
closed-loop system only for a portion of the day, for example only
when the user is asleep or awake.
[0038] FIGS. 2-4 depict one exemplary embodiment of a fluid
infusion device 200 (or alternatively, infusion pump) suitable for
use in an infusion system, such as, for example, as infusion device
102 in the infusion system 100 of FIG. 1. The fluid infusion device
200 is a portable medical device designed to be carried or worn by
a patient (or user), and the fluid infusion device 200 may leverage
any number of conventional features, components, elements, and
characteristics of existing fluid infusion devices, such as, for
example, some of the features, components, elements, and/or
characteristics described in U.S. Pat. Nos. 6,485,465 and
7,621,893. It should be appreciated that FIGS. 2-4 depict some
aspects of the infusion device 200 in a simplified manner; in
practice, the infusion device 200 could include additional
elements, features, or components that are not shown or described
in detail herein.
[0039] As best illustrated in FIGS. 2-3, the illustrated embodiment
of the fluid infusion device 200 includes a housing 202 adapted to
receive a fluid-containing reservoir 205. An opening 220 in the
housing 202 accommodates a fitting 223 (or cap) for the reservoir
205, with the fitting 223 being configured to mate or otherwise
interface with tubing 221 of an infusion set 225 that provides a
fluid path to/from the body of the user. In this manner, fluid
communication from the interior of the reservoir 205 to the user is
established via the tubing 221. The illustrated fluid infusion
device 200 includes a human-machine interface (HMI) 230 (or user
interface) that includes elements 232, 234 that can be manipulated
by the user to administer a bolus of fluid (e.g., insulin), to
change therapy settings, to change user preferences, to select
display features, and the like. The infusion device also includes a
display element 226, such as a liquid crystal display (LCD) or
another suitable display element, that can be used to present
various types of information or data to the user, such as, without
limitation: the current glucose level of the patient; the time; a
graph or chart of the patient's glucose level versus time; device
status indicators; etc.
[0040] The housing 202 is formed from a substantially rigid
material having a hollow interior 214 adapted to allow an
electronics assembly 204, a sliding member (or slide) 206, a drive
system 208, a sensor assembly 210, and a drive system capping
member 212 to be disposed therein in addition to the reservoir 205,
with the contents of the housing 202 being enclosed by a housing
capping member 216. The opening 220, the slide 206, and the drive
system 208 are coaxially aligned in an axial direction (indicated
by arrow 218), whereby the drive system 208 facilitates linear
displacement of the slide 206 in the axial direction 218 to
dispense fluid from the reservoir 205 (after the reservoir 205 has
been inserted into opening 220), with the sensor assembly 210 being
configured to measure axial forces (e.g., forces aligned with the
axial direction 218) exerted on the sensor assembly 210 responsive
to operating the drive system 208 to displace the slide 206. In
various embodiments, the sensor assembly 210 may be utilized to
detect one or more of the following: an occlusion in a fluid path
that slows, prevents, or otherwise degrades fluid delivery from the
reservoir 205 to a user's body; when the reservoir 205 is empty;
when the slide 206 is properly seated with the reservoir 205; when
a fluid dose has been delivered; when the infusion pump 200 is
subjected to shock or vibration; when the infusion pump 200
requires maintenance.
[0041] Depending on the embodiment, the fluid-containing reservoir
205 may be realized as a syringe, a vial, a cartridge, a bag, or
the like. In certain embodiments, the infused fluid is insulin,
although many other fluids may be administered through infusion
such as, but not limited to, HIV drugs, drugs to treat pulmonary
hypertension, iron chelation drugs, pain medications, anti-cancer
treatments, medications, vitamins, hormones, or the like. As best
illustrated in FIGS. 3-4, the reservoir 205 typically includes a
reservoir barrel 219 that contains the fluid and is concentrically
and/or coaxially aligned with the slide 206 (e.g., in the axial
direction 218) when the reservoir 205 is inserted into the infusion
pump 200. The end of the reservoir 205 proximate the opening 220
may include or otherwise mate with the fitting 223, which secures
the reservoir 205 in the housing 202 and prevents displacement of
the reservoir 205 in the axial direction 218 with respect to the
housing 202 after the reservoir 205 is inserted into the housing
202. As described above, the fitting 223 extends from (or through)
the opening 220 of the housing 202 and mates with tubing 221 to
establish fluid communication from the interior of the reservoir
205 (e.g., reservoir barrel 219) to the user via the tubing 221 and
infusion set 225. The opposing end of the reservoir 205 proximate
the slide 206 includes a plunger 217 (or stopper) positioned to
push fluid from inside the barrel 219 of the reservoir 205 along a
fluid path through tubing 221 to a user. The slide 206 is
configured to mechanically couple or otherwise engage with the
plunger 217, thereby becoming seated with the plunger 217 and/or
reservoir 205. Fluid is forced from the reservoir 205 via tubing
221 as the drive system 208 is operated to displace the slide 206
in the axial direction 218 toward the opening 220 in the housing
202.
[0042] In the illustrated embodiment of FIGS. 3-4, the drive system
208 includes a motor assembly 207 and a drive screw 209. The motor
assembly 207 includes a motor that is coupled to drive train
components of the drive system 208 that are configured to convert
rotational motor motion to a translational displacement of the
slide 206 in the axial direction 218, and thereby engaging and
displacing the plunger 217 of the reservoir 205 in the axial
direction 218. In some embodiments, the motor assembly 207 may also
be powered to translate the slide 206 in the opposing direction
(e.g., the direction opposite direction 218) to retract and/or
detach from the reservoir 205 to allow the reservoir 205 to be
replaced. In exemplary embodiments, the motor assembly 207 includes
a brushless DC (BLDC) motor having one or more permanent magnets
mounted, affixed, or otherwise disposed on its rotor. However, the
subject matter described herein is not necessarily limited to use
with BLDC motors, and in alternative embodiments, the motor may be
realized as a solenoid motor, an AC motor, a stepper motor, a
piezoelectric caterpillar drive, a shape memory actuator drive, an
electrochemical gas cell, a thermally driven gas cell, a bimetallic
actuator, or the like. The drive train components may comprise one
or more lead screws, cams, ratchets, jacks, pulleys, pawls, clamps,
gears, nuts, slides, bearings, levers, beams, stoppers, plungers,
sliders, brackets, guides, bearings, supports, bellows, caps,
diaphragms, bags, heaters, or the like. In this regard, although
the illustrated embodiment of the infusion pump utilizes a
coaxially aligned drive train, the motor could be arranged in an
offset or otherwise non-coaxial manner, relative to the
longitudinal axis of the reservoir 205.
[0043] As best shown in FIG. 4, the drive screw 209 mates with
threads 402 internal to the slide 206. When the motor assembly 207
is powered and operated, the drive screw 209 rotates, and the slide
206 is forced to translate in the axial direction 218. In an
exemplary embodiment, the infusion pump 200 includes a sleeve 211
to prevent the slide 206 from rotating when the drive screw 209 of
the drive system 208 rotates. Thus, rotation of the drive screw 209
causes the slide 206 to extend or retract relative to the drive
motor assembly 207. When the fluid infusion device is assembled and
operational, the slide 206 contacts the plunger 217 to engage the
reservoir 205 and control delivery of fluid from the infusion pump
200. In an exemplary embodiment, the shoulder portion 215 of the
slide 206 contacts or otherwise engages the plunger 217 to displace
the plunger 217 in the axial direction 218. In alternative
embodiments, the slide 206 may include a threaded tip 213 capable
of being detachably engaged with internal threads 404 on the
plunger 217 of the reservoir 205, as described in detail in U.S.
Pat. Nos. 6,248,093 and 6,485,465, which are incorporated by
reference herein.
[0044] As illustrated in FIG. 3, the electronics assembly 204
includes control electronics 224 coupled to the display element
226, with the housing 202 including a transparent window portion
228 that is aligned with the display element 226 to allow the
display 226 to be viewed by the user when the electronics assembly
204 is disposed within the interior 214 of the housing 202. The
control electronics 224 generally represent the hardware, firmware,
processing logic and/or software (or combinations thereof)
configured to control operation of the motor assembly 207 and/or
drive system 208, as described in greater detail below in the
context of FIG. 5. Whether such functionality is implemented as
hardware, firmware, a state machine, or software depends upon the
particular application and design constraints imposed on the
embodiment. Those familiar with the concepts described here may
implement such functionality in a suitable manner for each
particular application, but such implementation decisions should
not be interpreted as being restrictive or limiting. In an
exemplary embodiment, the control electronics 224 includes one or
more programmable controllers that may be programmed to control
operation of the infusion pump 200.
[0045] The motor assembly 207 includes one or more electrical leads
236 adapted to be electrically coupled to the electronics assembly
204 to establish communication between the control electronics 224
and the motor assembly 207. In response to command signals from the
control electronics 224 that operate a motor driver (e.g., a power
converter) to regulate the amount of power supplied to the motor
from a power supply, the motor actuates the drive train components
of the drive system 208 to displace the slide 206 in the axial
direction 218 to force fluid from the reservoir 205 along a fluid
path (including tubing 221 and an infusion set), thereby
administering doses of the fluid contained in the reservoir 205
into the user's body. Preferably, the power supply is realized one
or more batteries contained within the housing 202. Alternatively,
the power supply may be a solar panel, capacitor, AC or DC power
supplied through a power cord, or the like. In some embodiments,
the control electronics 224 may operate the motor of the motor
assembly 207 and/or drive system 208 in a stepwise manner,
typically on an intermittent basis; to administer discrete precise
doses of the fluid to the user according to programmed delivery
profiles.
[0046] Referring to FIGS. 2-4, as described above, the user
interface 230 includes HMI elements, such as buttons 232 and a
directional pad 234, that are formed on a graphic keypad overlay
231 that overlies a keypad assembly 233, which includes features
corresponding to the buttons 232, directional pad 234 or other user
interface items indicated by the graphic keypad overlay 231. When
assembled, the keypad assembly 233 is coupled to the control
electronics 224, thereby allowing the HMI elements 232, 234 to be
manipulated by the user to interact with the control electronics
224 and control operation of the infusion pump 200, for example, to
administer a bolus of insulin, to change therapy settings, to
change user preferences, to select display features, to set or
disable alarms and reminders, and the like. In this regard, the
control electronics 224 maintains and/or provides information to
the display 226 regarding program parameters, delivery profiles,
pump operation, alarms, warnings, statuses, or the like, which may
be adjusted using the HMI elements 232, 234. In various
embodiments, the HMI elements 232, 234 may be realized as physical
objects (e.g., buttons, knobs, joysticks, and the like) or virtual
objects (e.g., using touch-sensing and/or proximity-sensing
technologies). For example, in some embodiments, the display 226
may be realized as a touch screen or touch-sensitive display, and
in such embodiments, the features and/or functionality of the HMI
elements 232, 234 may be integrated into the display 226 and the
HMI 230 may not be present. In some embodiments, the electronics
assembly 204 may also include alert generating elements coupled to
the control electronics 224 and suitably configured to generate one
or more types of feedback, such as, without limitation: audible
feedback; visual feedback; haptic (physical) feedback; or the
like.
[0047] Referring to FIGS. 3-4, in accordance with one or more
embodiments, the sensor assembly 210 includes a back plate
structure 250 and a loading element 260. The loading element 260 is
disposed between the capping member 212 and a beam structure 270
that includes one or more beams having sensing elements disposed
thereon that are influenced by compressive force applied to the
sensor assembly 210 that deflects the one or more beams, as
described in greater detail in U.S. patent application Ser. No.
12/908,807, which is incorporated by reference herein. In exemplary
embodiments, the back plate structure 250 is affixed, adhered,
mounted, or otherwise mechanically coupled to the bottom surface
238 of the drive system 208 such that the back plate structure 250
resides between the bottom surface 238 of the drive system 208 and
the housing cap 216. The drive system capping member 212 is
contoured to accommodate and conform to the bottom of the sensor
assembly 210 and the drive system 208. The drive system capping
member 212 may be affixed to the interior of the housing 202 to
prevent displacement of the sensor assembly 210 in the direction
opposite the direction of force provided by the drive system 208
(e.g., the direction opposite direction 218). Thus, the sensor
assembly 210 is positioned between the motor assembly 207 and
secured by the capping member 212, which prevents displacement of
the sensor assembly 210 in a downward direction opposite the
direction of arrow 218, such that the sensor assembly 210 is
subjected to a reactionary compressive force when the drive system
208 and/or motor assembly 207 is operated to displace the slide 206
in the axial direction 218 in opposition to the fluid pressure in
the reservoir 205. Under normal operating conditions, the
compressive force applied to the sensor assembly 210 is correlated
with the fluid pressure in the reservoir 205. As shown, electrical
leads 240 are adapted to electrically couple the sensing elements
of the sensor assembly 210 to the electronics assembly 204 to
establish communication to the control electronics 224, wherein the
control electronics 224 are configured to measure, receive, or
otherwise obtain electrical signals from the sensing elements of
the sensor assembly 210 that are indicative of the force applied by
the drive system 208 in the axial direction 218.
[0048] FIG. 5 depicts an exemplary embodiment of a control system
500 suitable for use with an infusion device 502, such as the
infusion device 102 in FIG. 1 or the infusion device 200 of FIG. 2.
The control system 500 is configured to control or otherwise
regulate a physiological condition in the body 501 of a user to a
desired (or target) value or otherwise maintain the condition
within a range of acceptable values. In one or more exemplary
embodiments, the condition being regulated is sensed, detected,
measured or otherwise quantified by a sensing arrangement 504
(e.g., sensing arrangement 104) communicatively coupled to the
infusion device 502. However, it should be noted that in
alternative embodiments, the condition being regulated by the
control system 500 may be correlative to the measured values
obtained by the sensing arrangement 504. That said, for clarity and
purposes of explanation, the subject matter may be described herein
in the context of the sensing arrangement 504 being realized as a
glucose sensing arrangement that senses, detects, measures or
otherwise quantifies the user's glucose level, which is being
regulated in the body 501 of the user by the control system
500.
[0049] As described in greater detail below in the context of FIG.
6, in exemplary embodiments, the sensing arrangement 504 includes
one or more interstitial glucose sensing elements generate or
otherwise output electrical signals having a signal characteristic
that is correlative to, influenced by, or otherwise indicative of
the relative interstitial fluid glucose level in the body 501 of
the user. The output electrical signals are filtered or otherwise
processed to obtain a filtered measurement value indicative of the
user's interstitial fluid glucose level. In exemplary embodiments,
the control system 500 includes a blood glucose meter 530, such as
a finger stick device, which is configured to directly sense,
detect, measure or otherwise quantify the blood glucose in the body
501 of the user. In this regard, the blood glucose meter 530
outputs or otherwise provides a measured blood glucose value that
may be utilized as a reference measurement for calibrating the
sensing arrangement 504 and converting an uncalibrated filtered
measurement value indicative of the user's interstitial fluid
glucose level into a corresponding calibrated blood glucose value,
as described in greater detail below. For purposes of explanation,
the calibrated blood glucose value calculated based on the
electrical signals output by the sensing element(s) of the sensing
arrangement 504 may alternatively be referred to herein as the
sensor glucose value, the sensed glucose value, or variants
thereof.
[0050] In the illustrated embodiment, the pump control system 520
generally represents the electronics and other components of the
infusion device 502 that control operation of the fluid infusion
device 502 according to a desired infusion delivery program in a
manner that is influenced by the sensed glucose value indicative of
the current blood glucose level in the body 501 of the user. To
support closed-loop control, the pump control system 520 maintains,
receives, or otherwise obtains a desired value for a condition in
the body 501 of the user to be regulated (e.g., a target or
commanded glucose value), and generates or otherwise determines
dosage commands for operating the motor 507 to displace the plunger
517 based at least in part on a difference between the sensed
glucose value and the target glucose value. In practice, the
infusion device 502 may store or otherwise maintain the target
value in a data storage element accessible to the pump control
system 520. The target value may be received from an external
component (e.g., CCD 106 and/or computing device 108) or be input
by a user via a user interface element 540 associated with the
infusion device 502. In practice, the one or more user interface
element(s) 540 associated with the infusion device 502 typically
include at least one input user interface element, such as, for
example, a button, a keypad, a keyboard, a knob, a joystick, a
mouse, a touch panel, a touchscreen, a microphone or another audio
input device, and/or the like. Additionally, the one or more user
interface element(s) 508 include at least one output user interface
element, such as, for example, a display element (e.g., a
light-emitting diode or the like), a display device (e.g., a liquid
crystal display or the like), a speaker or another audio output
device, a haptic feedback device, or the like, for providing
notifications or other information to the user. It should be noted
that although FIG. 5 depicts the user interface element(s) 540 as
being separate from the infusion device 502, in practice, one or
more of the user interface element(s) 508 may be integrated with
the infusion device 502. Furthermore, in some embodiments, one or
more user interface element(s) 540 are integrated with the sensing
arrangement 504 in addition to and/or in alternative to the user
interface element(s) 508 integrated with the infusion device
502.
[0051] Still referring to FIG. 5, in the illustrated embodiment,
the infusion device 502 includes a motor control module 512 coupled
to a motor 507 (e.g., motor assembly 207) that is operable to
displace a plunger 517 (e.g., plunger 217) in a reservoir (e.g.,
reservoir 205) and provide a desired amount of fluid to the body
501 of a user. In this regard, displacement of the plunger 517
results in the delivery of a fluid that is capable of influencing
the condition in the body 501 of the user to the body 501 of the
user via a fluid delivery path (e.g., via tubing 221 of an infusion
set 225). A motor driver module 514 is coupled between an energy
source 503 and the motor 507. The motor control module 512 is
coupled to the motor driver module 514, and the motor control
module 512 generates or otherwise provides command signals that
operate the motor driver module 514 to provide current (or power)
from the energy source 503 to the motor 507 to displace the plunger
517 in response to receiving, from a pump control system 520, a
dosage command indicative of the desired amount of fluid to be
delivered.
[0052] In exemplary embodiments, the energy source 503 is realized
as a battery housed within the infusion device 502 (e.g., within
housing 202) that provides direct current (DC) power. In this
regard, the motor driver module 514 generally represents the
combination of circuitry, hardware and/or other electrical
components configured to convert or otherwise transfer DC power
provided by the energy source 503 into alternating electrical
signals applied to respective phases of the stator windings of the
motor 507 that result in current flowing through the stator
windings that generates a stator magnetic field and causes the
rotor of the motor 507 to rotate. The motor control module 512 is
configured to receive or otherwise obtain a commanded dosage from
the pump control system 520, convert the commanded dosage to a
commanded translational displacement of the plunger 517, and
command, signal, or otherwise operate the motor driver module 514
to cause the rotor of the motor 507 to rotate by an amount that
produces the commanded translational displacement of the plunger
517. For example, the motor control module 512 may determine an
amount of rotation of the rotor required to produce translational
displacement of the plunger 517 that achieves the commanded dosage
received from the pump control system 520. Based on the current
rotational position (or orientation) of the rotor with respect to
the stator that is indicated by the output of the rotor sensing
arrangement 516, the motor control module 512 determines the
appropriate sequence of alternating electrical signals to be
applied to the respective phases of the stator windings that should
rotate the rotor by the determined amount of rotation from its
current position (or orientation). In embodiments where the motor
507 is realized as a BLDC motor, the alternating electrical signals
commutate the respective phases of the stator windings at the
appropriate orientation of the rotor magnetic poles with respect to
the stator and in the appropriate order to provide a rotating
stator magnetic field that rotates the rotor in the desired
direction. Thereafter, the motor control module 512 operates the
motor driver module 514 to apply the determined alternating
electrical signals (e.g., the command signals) to the stator
windings of the motor 507 to achieve the desired delivery of fluid
to the user.
[0053] When the motor control module 512 is operating the motor
driver module 514, current flows from the energy source 503 through
the stator windings of the motor 507 to produce a stator magnetic
field that interacts with the rotor magnetic field. In some
embodiments, after the motor control module 512 operates the motor
driver module 514 and/or motor 507 to achieve the commanded dosage,
the motor control module 512 ceases operating the motor driver
module 514 and/or motor 507 until a subsequent dosage command is
received. In this regard, the motor driver module 514 and the motor
507 enter an idle state during which the motor driver module 514
effectively disconnects or isolates the stator windings of the
motor 507 from the energy source 503. In other words, current does
not flow from the energy source 503 through the stator windings of
the motor 507 when the motor 507 is idle, and thus, the motor 507
does not consume power from the energy source 503 in the idle
state, thereby improving efficiency.
[0054] Depending on the embodiment, the motor control module 512
may be implemented or realized with a general purpose processor, a
microprocessor, a controller, a microcontroller, a state machine, a
content addressable memory, an application specific integrated
circuit, a field programmable gate array, any suitable programmable
logic device, discrete gate or transistor logic, discrete hardware
components, or any combination thereof, designed to perform the
functions described herein. Furthermore, the steps of a method or
algorithm described in connection with the embodiments disclosed
herein may be embodied directly in hardware, in firmware, in a
software module executed by the motor control module 512, or in any
practical combination thereof. In exemplary embodiments, the motor
control module 512 includes or otherwise accesses a data storage
element or memory, including any sort of random access memory
(RAM), read only memory (ROM), flash memory, registers, hard disks,
removable disks, magnetic or optical mass storage, or any other
short or long term storage media or other non-transitory
computer-readable medium, which is capable of storing programming
instructions for execution by the motor control module 512. The
computer-executable programming instructions, when read and
executed by the motor control module 512, cause the motor control
module 512 to perform the tasks, operations, functions, and
processes described herein.
[0055] It should be appreciated that FIG. 5 is a simplified
representation of the infusion device 502 for purposes of
explanation and is not intended to limit the subject matter
described herein in any way. In this regard, depending on the
embodiment, some features and/or functionality of the sensing
arrangement 504 may implemented by or otherwise integrated into the
pump control system 520, or vice versa. Similarly, in practice, the
features and/or functionality of the motor control module 512 may
implemented by or otherwise integrated into the pump control system
520, or vice versa. Furthermore, the features and/or functionality
of the pump control system 520 may be implemented by control
electronics 224 located in the fluid infusion device 200, 400,
while in alternative embodiments, the pump control system 520 may
be implemented by a remote computing device that is physically
distinct and/or separate from the infusion device 502, such as, for
example, the CCD 106 or the computing device 108.
[0056] Additionally, although FIG. 5 depicts the sensing
arrangement 504 as being physically separate and distinct from the
infusion device 502, in alternative embodiments, the sensing
arrangement 504 may be integrated into or otherwise implemented by
the infusion device 502 (e.g., by providing the sensing arrangement
504 within the housing 202). Furthermore, more complex control
schemes may be implemented by the pump control system 520 with
multiple sensing arrangements 504 being utilized in conjunction
with one another.
[0057] FIG. 6 depicts an exemplary embodiment of an electronic
device 600 suitable for use as the sensing arrangement 504 of FIG.
5 in accordance with one or more embodiments. For purposes of
explanation, but without limitation, the device 600 may
alternatively be referred to herein as a sensing device or a
sensing arrangement. The illustrated sensing device 600 includes,
without limitation, a control module 602, a sensing element 604, an
output interface 606, and a data storage element (or memory) 608.
The control module 602 is coupled to the sensing element 604, the
output interface 606, and the memory 608, and the control module
602 is suitably configured to support the operations, tasks, and/or
processes described herein.
[0058] The sensing element 604 generally represents the component
of the sensing device 600 that is configured to generate, produce,
or otherwise output one or more electrical signals indicative of a
condition that is sensed, measured, or otherwise quantified by the
sensing device 600. In this regard, the physiological condition of
a user influences a characteristic of the electrical signal output
by the sensing element 604, such that the characteristic of the
output signal corresponds to or is otherwise correlative to the
physiological condition that the sensing element 604 is sensitive
to. For example, referring to FIG. 5, the sensing element 604 may
be realized as a glucose sensing element that generates an output
electrical signal having a current (or voltage) associated
therewith that is correlative to the interstitial fluid glucose
level that is sensed or otherwise measured in the body 501 of the
user by the sensing arrangement 504, 600.
[0059] Still referring to FIG. 6, the control module 602 generally
represents the hardware, circuitry, logic, firmware and/or other
component(s) of the sensing device 600 that is coupled to the
sensing element 604 to receive the electrical signals output by the
sensing element 604 and perform various additional tasks,
operations, functions and/or processes described herein. For
example, in one or more embodiments, the control module 602
implements or otherwise executes a data management application
module 610 that filters, analyzes or otherwise processes the
electrical signals received from the sensing element 604 to obtain
a filtered measurement value indicative of the measured
interstitial fluid glucose level, as described in greater detail
below in the context of FIGS. 7-11. Additionally, in one or more
embodiments, the control module 602 also implements or otherwise
executes a calibration application module 612 that calculates or
otherwise determines a calibration factor for converting the
filtered measurement value from the data management application 610
to a sensed glucose value based at least in part on one or more
filtered measurement values from the data management application
610 and corresponding reference blood glucose measurement values
(e.g., from blood glucose meter 530) paired with those filtered
measurement values, as described in greater detail below in the
context of FIGS. 12-14. In some embodiments, the control module 602
also implements or otherwise executes a health monitoring
application module 614 that detects or otherwise identifies
replacement or other maintenance with respect to the sensing
element 604 is desirable based on signal characteristics associated
with the output electrical signals from the sensing element 604, as
described in greater detail below in the context of FIG. 15.
[0060] Depending on the embodiment, the control module 602 may be
implemented or realized with a general purpose processor, a
microprocessor, a controller, a microcontroller, a state machine, a
content addressable memory, an application specific integrated
circuit, a field programmable gate array, any suitable programmable
logic device, discrete gate or transistor logic, discrete hardware
components, or any combination thereof, designed to perform the
functions described herein. In this regard, the steps of a method
or algorithm described in connection with the embodiments disclosed
herein may be embodied directly in hardware, in firmware, in a
software module executed by the control module 602, or in any
practical combination thereof.
[0061] In some embodiments, the control module 602 includes an
analog-to-digital converter (ADC) or another similar sampling
arrangement that samples or otherwise converts the output
electrical signal received from the sensing element 604 into
corresponding digital measurement data value. In other embodiments,
the sensing element 604 may incorporate an ADC and output a digital
measurement value. For purposes of explanation, the input to the
data management application 610 from the sensing element 604 may
alternatively be referred to herein as the unfiltered measurement
value, which should be understood as referring to the digital value
correlative to the interstitial fluid glucose level sensed by the
sensing element 604. In one or more embodiments, the current of the
electrical signal output by the sensing element 604 is influenced
by the user's interstitial fluid glucose level, and the input to
the data management application 610 is realized as an unfiltered
current measurement value. As described above, depending on the
embodiment, the unfiltered measurement value may be output directly
by the sensing element 604 or converted based on an analog
electrical output signal from the sensing element 604 by an ADC of
the control module 602.
[0062] In exemplary embodiments, the control module 602 includes or
otherwise accesses the data storage element or memory 608. The
memory 608 may be realized using any sort of RAM, ROM, flash
memory, registers, hard disks, removable disks, magnetic or optical
mass storage, short or long term storage media, or any other
non-transitory computer-readable medium capable of storing
programming instructions, code, or other data for execution by the
control module 602. The computer-executable programming
instructions, when read and executed by the control module 602,
cause the control module 602 to implement or otherwise generate the
applications 610, 612, 614 and perform the tasks, operations,
functions, and processes described in greater detail below.
[0063] The output interface 606 generally represents the hardware,
circuitry, logic, firmware and/or other components of the sensing
device 600 that are coupled to the control module 602 for
outputting data and/or information from/to the sensing device 600
to/from the infusion device 502, the pump control system 520 and/or
the user. In this regard, in exemplary embodiments, the output
interface 606 is realized as a communications interface configured
to support communications to/from the sensing device 600. In such
embodiments, the communications interface 606 may include or
otherwise be coupled to one or more transceiver modules capable of
supporting wireless communications between the sensing device 600
and another electronic device (e.g., an infusion device 102, 502 or
another electronic device 106, 108 in an infusion system 100).
Alternatively, the communications interface 606 may be realized as
a port that is adapted to receive or otherwise be coupled to a
wireless adapter that includes one or more transceiver modules
and/or other components that support the operations of the sensing
device 600 described herein. In other embodiments, the
communications interface 606 may be configured to support wired
communications to/from the sensing device 600. In yet other
embodiments, the output interface 606 may include or otherwise be
realized as an output user interface element, such as a display
element (e.g., a light-emitting diode or the like), a display
device (e.g., a liquid crystal display or the like), a speaker or
another audio output device, a haptic feedback device, or the like,
for providing notifications or other information to the user. In
such embodiments, the output user interface 606 may be integrated
with the sensing arrangement 504, 600 (e.g., within a common
housing) or implemented separately (e.g., user interface element
540).
[0064] It should be understood that FIG. 6 is a simplified
representation of a sensing device 600 for purposes of explanation
and is not intended to limit the subject matter described herein in
any way. In this regard, although FIG. 6 depicts the various
elements residing within the sensing device 600, one or more
elements of the sensing device 600 may be distinct or otherwise
separate from the other elements of the sensing device 600. For
example, the sensing element 604 may be separate and/or physically
distinct from the control module 602 and/or the communications
interface 606. Furthermore, although FIG. 6 depicts the
applications 610, 612, 614 as being implemented by the sensing
device 600, in alternative embodiments, features and/or
functionality of one or more of the applications 610, 612, 614 may
be implemented by or otherwise reside on the infusion device 102,
502 or another device 106, 108 within an infusion system 100. For
example, in some embodiments, the features and/or functionality of
one or more of the applications 610, 612, 614 may be implemented by
the pump control system 520.
[0065] FIG. 7 depicts an exemplary embodiment of a signal
processing system 700 suitable for implementation by the data
management application 610 in the sensing arrangement 600 of FIG. 6
in accordance with one or more embodiments. The illustrated signal
processing system 700 includes, without limitation, an unfiltered
sample buffer 702, a first filtering module 704, an artifact
detection module 706, a filtered sample buffer 708, a signal
analysis module 710, a dropout detection module 712, and a second
filtering module 714. It should be understood that FIG. 7 is a
simplified representation of a signal processing system 700 for
purposes of explanation and is not intended to limit the subject
matter described herein in any way. In this regard, practical
embodiments of the signal processing system 700 may include
additional components and/or elements configured to perform
additional signal processing features and/or functionality which
are not described herein.
[0066] The unfiltered sample buffer 702 generally represents a data
storage element (e.g., a particular allocated portion of memory
608) that is coupled to the sensing element 604 (e.g., via an ADC)
and configured to store or otherwise maintain a plurality of
unfiltered measurement values most recently obtained from the
sensing element 604. In one or more exemplary embodiments, an
unfiltered measurement value is obtained from the sensing element
604 on a per-minute basis (e.g., by periodically sampling the
output of the sensing element 604 once every minute), with the
unfiltered sample buffer 702 storing the 8 most recent unfiltered
measurement values.
[0067] The first filtering module 704 accesses the unfiltered
sample buffer 702 to obtain the most recent unfiltered measurement
values and low-pass filters the unfiltered measurement values to
obtain a filtered measurement value corresponding to the most
recent sampling time. In exemplary embodiments, the low-pass
filtering module 704 applies asymmetric finite impulse response
(FIR) filter coefficients to the 8 most recent unfiltered
measurement values to obtain a filtered measurement value
corresponding to the most recent sampling time. In this regard, for
samples obtained on a per-minute basis, the filter coefficients may
be chosen to provide a group delay of about one minute or less. In
other words, the group delay is less than the sampling period. In
exemplary embodiments, the low-pass filtering module 704 obtains
the unfiltered measurement values from the unfiltered sample buffer
702 on a periodic basis at a frequency that is less than or equal
to the rate at which the unfiltered sample buffer 702 is updated.
For example, the unfiltered sample buffer 702 may be updated once
every minute while the low-pass filtering module 704 filters the
unfiltered measurement values once every five minutes. Accordingly,
for purposes of explanation, a filtered measurement value output by
the low-pass filtering module 704 may alternatively be referred to
herein as a five-minute filtered measurement value.
[0068] The artifact detection module 706 is coupled to the output
of the first filtering module 704 and analyzes the filtered
measurement value to determine whether or not the filtered
measurement value is indicative of an artifact in one or more of
the unfiltered measurement values before providing the filtered
measurement value to the filtered sample buffer 708. In this
regard, the artifact detection module 706 detects or otherwise
identifies when the magnitude of the change in the five-minute
filtered measurement value relative to the preceding five-minute
filtered measurement value is unlikely to be exhibited in the body
of a user, as described in greater detail below in the context of
FIG. 8. In this regard, the filtered sample buffer 708 also
maintains, in association with each respective five-minute filtered
measurement value, an indication of whether or not that filtered
measurement value is valid and usable by the second filtering
module 714, the pump control system 520 and/or other components in
the control system 500. Additionally, the artifact detection module
706 may analyze the filtered measurement value to verify or
otherwise confirm the filtered measurement value is within an
acceptable range of values, and flag or otherwise mark any filtered
measurement value outside of the acceptable range of values as
being invalid or otherwise unusable.
[0069] In exemplary embodiments, the filtered sample buffer 708
stores or otherwise maintains a plurality of filtered measurement
values. For example, in one or more embodiments, the filtered
sample buffer 708 stores the eight most recent five-minute filtered
measurement values. As described in greater detail below in the
context of FIG. 9, the signal analysis module 710 accesses the
filtered measurement values in the filtered sample buffer 708 and
analyzes the filtered measurement values to calculate or otherwise
identify one or more metrics indicative of signal characteristics
associated with the five-minute filtered measurement signal. In
exemplary embodiments, the signal analysis module 710 determines an
estimate of the signal noise (or noise metric) associated with the
filtered measurement values at the respective sampling time of a
respective filtered measurement value along with an estimate of the
signal frequency (or frequency metric) associated with the filtered
measurement values. As described in greater detail below in the
context of FIG. 11, the second filtering module 714 is coupled to
the signal analysis module 710 to obtain the signal characteristic
metrics determined by the signal analysis module 710 and adaptively
filter the most recent five-minute filtered measurement value in
the filtered sample buffer 708 based at least in part on the signal
characteristic metrics. In one embodiment, the second filtering
module 714 implements a Kalman filter that filters the filtered
measurement value input to the adaptive filtering module 714 from
the buffer 708 using the measurement value previously output by the
adaptive filtering module 714 and the signal characteristic metrics
from the signal analysis module 710. In exemplary embodiments, the
adaptive filtering module 714 is also coupled to the dropout
detection module 712, which is configured to detect or otherwise
identify dropouts in the five-minute filtered measurement signal as
described in greater detail below in the context of FIG. 10. In
this regard, in response to detecting a dropout condition, the
adaptive filtering module 714 is configured to adjust or otherwise
modify the amount of filtering to account for the dropout
condition.
[0070] FIG. 8 depicts an exemplary artifact detection process 800
suitable for implementation by the sensing arrangement 504, 600 to
detect or otherwise identify invalid or otherwise unusable
measurement values. The various tasks performed in connection with
the artifact detection process 800 may be performed by hardware,
firmware, software executed by processing circuitry, or any
combination thereof. For illustrative purposes, the following
description refers to elements mentioned above in connection with
FIGS. 1-7. In practice, portions of the artifact detection process
800 may be performed by different elements of the sensing
arrangement 504, 600 and/or control system 500. That said, in
exemplary embodiments described herein, the artifact detection
process 800 is performed by the artifact detection module 706 of
the data management application 610 implemented by the control
module 602. It should be appreciated that the artifact detection
process 800 may include any number of additional or alternative
tasks, the tasks need not be performed in the illustrated order
and/or the tasks may be performed concurrently, and/or the artifact
detection process 800 may be incorporated into a more comprehensive
procedure or process having additional functionality not described
in detail herein. Moreover, one or more of the tasks shown and
described in the context of FIG. 8 could be omitted from a
practical embodiment of the artifact detection process 800 as long
as the intended overall functionality remains intact.
[0071] In exemplary embodiments, the artifact detection process 800
initializes or otherwise begins by receiving or otherwise obtaining
a new filtered measurement value and verifying or otherwise
confirming the filtered measurement value is not invalid (task
802). In this regard, the artifact detection process 800 receives a
new filtered measurement value from the low-pass filtering module
704 and confirms that the filtered measurement value is within an
acceptable range of values. For example, in one embodiment, the
artifact detection process 800 confirms the filtered measurement
value corresponds to a current through the sensing element 604 that
is greater than a minimum acceptable threshold current threshold
value and less than a maximum acceptable threshold current value.
When it is determined that the filtered measurement value is not
within the acceptable range of values, the artifact detection
process 800 determines the filtered measurement value is invalid or
otherwise should not be utilized for subsequent calculations and
marks or otherwise indicates the filtered measurement value as
being invalid (task 818). In this regard, when the artifact
detection process 800 determines a five-minute filtered measurement
value is not within the range of acceptable values, the artifact
detection process 800 stores that five-minute filtered measurement
value in the buffer 708 in association with an indicator or flag
that designates the filtered measurement value is invalid or
otherwise unusable.
[0072] When the filtered measurement value is otherwise acceptable,
the illustrated process 800 continues by calculating or otherwise
determining one or more artifact deviation thresholds and
identifying whether a difference between the filtered measurement
value and a respective preceding filtered measurement value is
greater than an applicable artifact deviation threshold (tasks 804,
806). In this regard, an artifact deviation threshold represents a
change in the filtered measurement value over a particular amount
of time that is unlikely to be exhibited in the body 501 of the
user and is most likely attributable to an artifact in the output
signal generated by the sensing element 604. For example, in one
embodiment, the artifact detection module 706 calculates the
artifact deviation threshold between the instant filtered
measurement value and the preceding filtered measurement value by
multiplying the preceding measurement value by a percentage
indicative of a change over the time difference between successive
samples (e.g., 5 minutes) that is likely to be attributable to an
artifact. Similarly, the artifact detection module 706 may
calculate a ten minute artifact deviation threshold between the
current filtered measurement value and the second preceding
filtered measurement value (e.g., from two samples ago) by
multiplying that preceding measurement value by a larger percentage
indicative of a change between a larger time difference (e.g., 10
minutes) that is likely to be attributable to an artifact, and so
on. In this manner, one or more of the artifact deviation threshold
values may vary dynamically based on the magnitude(s) of one or
more of the preceding filtered measurement values. In some
embodiments, the artifact detection module 706 may also apply one
or more fixed artifact deviation thresholds to the difference(s)
between the current filtered measurement value and one or more
preceding filtered measurement values. For example, the artifact
detection module 706 may detect an artifact when the difference
between the current filtered measurement value and the preceding
filtered measurement value is greater than a first artifact
deviation threshold current value, or when the difference between
the current filtered measurement value and the second preceding
filtered measurement value exceeds a greater artifact deviation
threshold current value, and so on.
[0073] When the differences between the current filtered
measurement value and the preceding filtered measurement value(s)
are less than the applicable artifact deviation threshold(s), the
artifact detection process 800 marks or otherwise indicates the
current filtered measurement value is valid or otherwise usable for
subsequent calculations (task 816). In this regard, the artifact
detection module 706 may store the five-minute filtered measurement
value in the buffer 708 in association with an indicator or flag
that designates the filtered measurement value as being valid and
usable. Conversely, in response to determining a difference between
the current filtered measurement value and a particular preceding
filtered measurement value exceeds the applicable artifact
deviation value corresponding to the time difference between those
two filtered measurement values, the artifact detection process 800
continues by marking or otherwise indicating the current filtered
measurement value as being invalid (task 808). In a similar manner
as described above, the artifact detection module 706 may store the
filtered measurement value in the buffer 708 in association with an
indicator or flag that designates the filtered measurement value is
invalid or otherwise unusable. In some embodiments, the artifact
detection process 800 may exit after marking the current filtered
measurement value as invalid and reinitialize on the next
subsequent filtered measurement value. For example, in one
embodiment, when the difference between the current filtered
measurement value and the preceding filtered measurement value is
greater than first percentage of the preceding filtered measurement
value but less than a larger percentage of the preceding filtered
measurement value, the artifact detection process 800 may indicate
the current filtered measurement value is invalid and exit.
[0074] In the illustrated embodiment, the artifact detection
process 800 receives or otherwise obtains the next subsequent
filtered measurement value, calculates or otherwise determines a
recovery value based on the most recent valid filtered measurement
value and the time elapsed since the most recent valid filtered
measurement value, and verifies or otherwise confirms that
subsequently filtered measurement value is greater than the
recovery value (tasks 810, 812, 814). In this regard, the artifact
detection process 800 may persistently mark subsequent filtered
measurement values as invalid until a filtered measurement value
indicates the filtered measurement signal has recovered from the
artifact condition (task 808). In some embodiments, the recovery
value dynamically decreases as the amount of time elapsed since
detecting the artifact condition increases. For example, for the
first sample immediately following detection of an artifact, the
artifact detection module 706 may calculate or otherwise determine
the recovery value is equal to 75% of the most recent valid
filtered measurement value. If that filtered measurement value is
greater than 75% of the most recent valid filtered measurement
value, the artifact detection module 706 stores that filtered
measurement value in the buffer 708 in association with an
indication that that filtered measurement value is valid.
Otherwise, the artifact detection module 706 stores that filtered
measurement value in the buffer 708 in association with an
indicator or flag that designates it as being invalid. For the
following sample(s), the artifact detection module 706 may
calculate or otherwise determine the recovery value is equal to a
reduced percentage (e.g., 60%) of the most recent valid filtered
measurement value (or alternatively, a fraction of the preceding
recovery value), and so on, thereby dynamically and progressively
decreasing the recovery value. Once a filtered measurement value
exceeds the recovery value and indicates recovery from the artifact
condition, the artifact detection process 800 marks or otherwise
indicates that the instant filtered measurement value is valid
(task 816). In some embodiments, the artifact detection module 706
may impose a timer or limit on the duration for which the invalid
indication is persisted. For example, if more than a threshold
number of samples have occurred since the most recent valid
filtered measurement value, the artifact detection process 800 may
mark or otherwise indicate the instant five-minute filtered
measurement value as being valid (e.g., task 816) even though it
may not exceed the current recovery value.
[0075] FIG. 9 depicts an exemplary signal analysis process 900
suitable for implementation by the sensing arrangement 504, 600 to
calculate or otherwise determine metrics indicative of signal
characteristics associated with a measurement signal. The various
tasks performed in connection with the signal analysis process 900
may be performed by hardware, firmware, software executed by
processing circuitry, or any combination thereof. For illustrative
purposes, the following description refers to elements mentioned
above in connection with FIGS. 1-7. In practice, portions of the
signal analysis process 900 may be performed by different elements
of the sensing arrangement 504, 600 and/or control system 500. That
said, in exemplary embodiments described herein, the signal
analysis process 900 is performed by the signal analysis module 710
of the data management application 610 implemented by the control
module 602. It should be appreciated that the signal analysis
process 900 may include any number of additional or alternative
tasks, the tasks need not be performed in the illustrated order
and/or the tasks may be performed concurrently, and/or the signal
analysis process 900 may be incorporated into a more comprehensive
procedure or process having additional functionality not described
in detail herein. Moreover, one or more of the tasks shown and
described in the context of FIG. 9 could be omitted from a
practical embodiment of the signal analysis process 900 as long as
the intended overall functionality remains intact.
[0076] In the illustrated embodiment, the signal analysis process
900 calculates or otherwise determines a first derivative metric
associated with the instant (or most recent) filtered measurement
value (task 902). In this regard, the signal analysis module 710
determines the value of the first derivative associated with the
current filtered measurement value in the buffer 708 based on the
difference between the current filtered measurement value and the
immediately preceding filtered measurement value in the buffer 708
(e.g., by subtracting the preceding filtered measurement value from
the current filtered measurement value). In one or more
embodiments, the signal analysis module 710 stores or otherwise
maintains the first derivative value associated with each
respective filtered measurement value in the buffer 708 or
elsewhere in memory 608. In exemplary embodiments, the signal
analysis module 710 calculates the first derivative metric
associated with the current filtered measurement value by averaging
the respective first derivative values associated with each of the
five-minute filtered measurement values in the buffer 708, then
determining the absolute value (or magnitude) of the average first
derivative value. Thus, the first derivative metric associated with
the current filtered measurement value corresponds to the absolute
value of the average for the first derivative of the filtered
measurement signal over the preceding interval of time
corresponding to the measurement values in the buffer 708 (e.g.,
the preceding 40 minutes for the case of 8 samples obtained at 5
minute intervals). That said, in alternative embodiments, the first
derivative value associated with the current filtered measurement
value (e.g., the difference between the current filtered
measurement value and the immediately preceding filtered
measurement value) may be utilized as the first derivative metric
rather than averaging all of the first derivative values associated
with five-minute filtered measurement values in the buffer 708. It
should be noted that in practice, any measurement values in the
buffer 708 that are flagged as being invalid may be excluded from
the calculations when determining the first derivative metric. In
this regard, in some embodiments, the signal analysis module 710
may perform interpolation or another similar technique to account
for invalid measurements in the buffer 708.
[0077] In a similar manner, the signal analysis process 900 also
calculates or otherwise determines a second derivative metric
associated with the instant (or most recent) filtered measurement
value (task 904). In this regard, the signal analysis module 710
determines the value of the second derivative associated with the
most recent five-minute filtered measurement value in the buffer
708 based on the difference between the first derivative value
associated with the most recent filtered measurement value and the
first derivative associated with the immediately preceding filtered
measurement value in the buffer 708 (e.g., by subtracting the first
derivative value associated with the preceding filtered measurement
value from the first derivative value associated with the instant
filtered measurement value). In one or more embodiments, the signal
analysis module 710 also stores or otherwise maintains the second
derivative value associated with each respective filtered
measurement value in the buffer 708 or elsewhere in memory 608. In
exemplary embodiments, the signal analysis module 710 calculates
the second derivative metric associated with the current filtered
measurement value by determining the average magnitude of the
respective second derivative values associated with each of the
five-minute filtered measurement values in the buffer 708. Before
averaging the second derivative values, the absolute value (or
magnitude) of the second derivative values is obtained. Thus, the
second derivative metric associated with the current filtered
measurement value corresponds to the average magnitude for the
second derivative of the filtered measurement signal over the
preceding interval of time corresponding to the measurement values
in the buffer 708. That said, in some embodiments, the second
derivative value associated with the current filtered measurement
value (e.g., the difference between the first derivative values for
the most recent five-minute filtered measurement value and the
immediately preceding five-minute filtered measurement value) may
be utilized as the second derivative metric without averaging all
of the second derivative values. For example, in some embodiments,
the greater of the second derivative value associated with the
instant filtered measurement value and the average magnitude of the
second derivative values associated with all of the filtered
measurement values in the buffer 708 is used as the second
derivative metric. As described above, in practice, measurement
values in the buffer 708 that are flagged as being invalid may be
excluded from the calculations when determining the second
derivative metric, and first derivative values determined using
interpolation or another similar technique may be utilized to
account for invalid measurements in the buffer 708.
[0078] The signal analysis process 900 continues by calculating or
otherwise determining an estimate of the frequency of the filtered
measurement signal based at least in part on the first derivative
metric (task 906). For example, in accordance with one embodiment,
the signal analysis module 710 determines an estimated signal
frequency metric by multiplying or otherwise scaling the first
derivative metric by the calibration factor currently being
utilized to convert the output from the adaptive filtering module
714 into a blood glucose value, and then clips the result such that
the estimated signal frequency metric does not exceed an upper
limit (e.g., 4). In some embodiments, the signal analysis module
710 may also impose a floor so that the estimated signal frequency
does not fall below a lower limit (e.g., 0.2).
[0079] The signal analysis process 900 also calculates or otherwise
determines an estimate of the noise present in the filtered
measurement signal based at least in part on the second derivative
metric (task 908). In a similar manner as described above, the
signal analysis module 710 determines an estimated signal noise
metric by multiplying or otherwise scaling the second derivative
metric by the current calibration factor, and then clips the result
such that the estimated signal noise metric does not exceed 10. In
one or more embodiments, the signal analysis module 710 determines
the estimated signal noise metric using the larger of the second
derivative value associated with the current filtered measurement
value and the second derivative metric associated with the current
filtered measurement value. In this regard, when the second
derivative value associated with the current filtered measurement
value is greater than the average magnitude for the second
derivative of the filtered measurement signal over the preceding
interval of time corresponding to the measurement values in the
buffer 708, the signal analysis module 710 determines the estimated
signal noise metric by multiplying or otherwise scaling the second
derivative value by the current calibration factor and clipping the
result instead of using the averaged second derivative value.
[0080] FIG. 10 depicts an exemplary dropout detection process 1000
suitable for implementation by the sensing arrangement 504, 600 to
detect or otherwise identify presence of a dropout condition in the
measurement signal. The various tasks performed in connection with
the dropout detection process 1000 may be performed by hardware,
firmware, software executed by processing circuitry, or any
combination thereof. For illustrative purposes, the following
description refers to elements mentioned above in connection with
FIGS. 1-7. In practice, portions of the dropout detection process
1000 may be performed by different elements of the sensing
arrangement 504, 600 and/or control system 500. That said, in
exemplary embodiments described herein, the dropout detection
process 1000 is performed by the dropout detection module 712 of
the data management application 610 implemented by the control
module 602. It should be appreciated that the dropout detection
process 1000 may include any number of additional or alternative
tasks, the tasks need not be performed in the illustrated order
and/or the tasks may be performed concurrently, and/or the dropout
detection process 1000 may be incorporated into a more
comprehensive procedure or process having additional functionality
not described in detail herein. Moreover, one or more of the tasks
shown and described in the context of FIG. 10 could be omitted from
a practical embodiment of the dropout detection process 1000 as
long as the intended overall functionality remains intact.
[0081] In exemplary embodiments, the dropout detection process 1000
determines a first derivative metric associated with the instant
(or most recent) filtered measurement value and detects or
otherwise identifies a dropout condition when the first derivative
metric is indicative of a relatively large drop or a relatively
quick drop in the filtered measurement value (tasks 1002, 1004).
When the first derivative metric associated with the instant
filtered measurement value is indicative of a relatively large or
relatively quick drop in the filtered measurement signal, the
dropout detection process 1000 detects a dropout condition and
generates or otherwise provides indication of the dropout condition
(task 1006). In this regard, the dropout detection module 712
provides a signal or notification to the adaptive filtering module
714 identifying the likely presence of a dropout condition, and in
response, the adaptive filtering module 714 dynamically adjusts the
filtering of the filtered measurement signal in a manner that
mitigates or otherwise remediates the dropout condition, as
described in greater detail below.
[0082] In one embodiment, the dropout detection module 712
identifies a dropout condition when the first derivative metric is
greater than a first threshold value and a second derivative metric
is less than a second threshold value having magnitude of the
second threshold value is less than the first threshold value, such
that the dropout detection module 712 identifies a dropout
condition when the filtered measurement signal abruptly drops to an
abnormally low reading that is more likely to be attributable to
transient behavior in the user's body or the sensing element 604
than an artifact condition. In one or more embodiments, the dropout
detection module 712 obtains the first and second derivative
metrics determined by the signal analysis module 710 and stored in
association with the instant five-minute filtered measurement in
the buffer 708 and/or memory 608. In alternative embodiments, the
dropout detection module 712 calculates the first and second
derivative metrics independently.
[0083] In exemplary embodiments, the dropout detection module 712
calculates or otherwise determines the first derivative metric by
multiplying a difference between the instant filtered measurement
value and the preceding filtered measurement value (e.g., the first
derivative associated with the instant filtered measurement value)
by the current calibration factor. The dropout detection module 712
may also calculate or otherwise determine the second derivative
metric by multiplying the second derivative associated with the
instant filtered measurement value (e.g., a difference between the
derivative associated with the instant filtered measurement value
and the derivative associated with the immediately preceding
filtered measurement value) by the current calibration factor. In
one embodiment, the dropout detection module 712 detects a dropout
condition in response to a relatively large drop in the filtered
measurement signal when the first derivative metric associated with
the instant filtered measurement value is less than -5 mg/dL/min
while the absolute value (or magnitude) of the second metric
associated with the instant filtered measurement value is less than
1 mg/dL/min/min and the absolute value (or magnitude) first
derivative metric associated with the immediately preceding
filtered measurement value is less than 0.75 mg/dL/min. The dropout
detection module 712 may also detects a dropout condition in
response to a relatively moderate drop in the filtered measurement
signal when the first derivative metric associated with the instant
filtered measurement value is less than -0.75 mg/dL/min while the
noise metric (e.g., from task 908) associated with the filtered
measurement signal is less than 1 and the first derivative metric
associated with the immediately preceding filtered measurement
value is greater than -0.5 mg/dL/min. Additionally, the dropout
detection module 712 may also detect a dropout condition in
response to a relatively quick change in the direction of the
filtered measurement signal when the first derivative metric
associated with the instant filtered measurement value is less than
-2.5 mg/dL/min while the noise metric (e.g., from task 908)
associated with the filtered measurement signal is less than 1 and
the first derivative metric associated with the immediately
preceding filtered measurement value is greater than 0
mg/dL/min.
[0084] FIG. 11 depicts an exemplary adaptive filtering process 1100
suitable for implementation by the sensing arrangement 504, 600 to
detect or otherwise identify presence of a dropout condition in the
measurement signal. The various tasks performed in connection with
the adaptive filtering process 1100 may be performed by hardware,
firmware, software executed by processing circuitry, or any
combination thereof. For illustrative purposes, the following
description refers to elements mentioned above in connection with
FIGS. 1-7. In practice, portions of the adaptive filtering process
1100 may be performed by different elements of the sensing
arrangement 504, 600 and/or control system 500. That said, in
exemplary embodiments described herein, the adaptive filtering
process 1100 is performed by the adaptive filtering module 714 of
the data management application 610 implemented by the control
module 602. It should be appreciated that the adaptive filtering
process 1100 may include any number of additional or alternative
tasks, the tasks need not be performed in the illustrated order
and/or the tasks may be performed concurrently, and/or the adaptive
filtering process 1100 may be incorporated into a more
comprehensive procedure or process having additional functionality
not described in detail herein. Moreover, one or more of the tasks
shown and described in the context of FIG. 11 could be omitted from
a practical embodiment of the adaptive filtering process 1100 as
long as the intended overall functionality remains intact.
[0085] Referring to FIG. 11, and with continued reference to FIGS.
5-10, in exemplary embodiments, the adaptive filtering process 1100
is performed each time the buffer 708 is updated with a new
filtered measurement value (e.g., once every 5 minutes). The
illustrated process 1100 begins by verifying or otherwise
confirming the current (or most recent) filtered measurement value
is valid and usable (task 1102). In this regard, the adaptive
filtering module 714 verifies the newest filtered measurement value
in the buffer 708 is not flagged or otherwise marked as invalid
before proceeding with processing the value. When the current
filtered measurement value is invalid, the adaptive filtering
process 1100 maintains the same output measurement value and error
estimate that were output and fed back from the preceding iteration
of the adaptive filtering process 1100 (task 1120), as described in
greater detail below. In this regard, the adaptive filtering module
714 outputs the measurement value and error estimate that were fed
back from the previous iteration without performing any processing
on the invalid measurement value. Additionally, in one or more
embodiments, when the current filtered measurement value is the
initial measurement value input to the adaptive filtering module
714 (e.g., the first value after powering on and/or resetting the
sensing device 600), the adaptive filtering process 1100 outputs
the current filtered measurement value and exits without any
further processing on the current filtered measurement value. It
should be noted that in some embodiments, where the infusion device
502 and/or pump control system 520 are configured to present a
graphical representation of the user's sensed glucose value on a
display (e.g., user interface element 540), maintaining the
previously output measurement for use in determining the sensed
glucose value improves the user experience by eliminating or
otherwise reducing the visibility of rapid and/or large transient
changes in the displayed sensed glucose value that could otherwise
alarm the user or cause the user to take unnecessary action(s).
[0086] When the current filtered measurement value is valid and not
the initial measurement value input to the adaptive filtering
module 714, the adaptive filtering process 1100 continues by
calculating or otherwise determining a value for a process variance
metric based on the estimates of the signal characteristics for the
filtered measurement signal (task 1104). In this regard, the
adaptive filtering module 714 calculates the process variance
metric based on the estimates of the signal frequency and signal
noise associated with the filtered measurement signal obtained from
the signal analysis module 710. In one embodiment, the adaptive
filtering module 714 calculates a first variable (c.sub.1) based on
the signal frequency estimate (f.sub.e) using equation
c.sub.1=a.sub.1.times.f.sub.e-b.sub.1, and calculates a second
variable (c.sub.2) based on the signal frequency estimate (f.sub.e)
using equation c.sub.2=a.sub.2 ln(f.sub.e)-b.sub.2. The adaptive
filtering module 714 continues by calculating the process variance
metric (Q) based on the signal frequency estimate (f.sub.e) and the
signal noise estimate (n.sub.e) using equation
Q=c.sub.1.times.e.sup.(c.sup.2.sup..times.n.sup.e.sup.). In
exemplary embodiments, a.sub.1, a.sub.2, b.sub.1 and b.sub.2 are
scalar values chosen to reduce the difference (or error) between
the output of the adaptive filtering module 714 and a known
reference input signal (e.g., a sine wave signal).
[0087] The illustrated process 1100 continues by identifying or
otherwise determining whether a dropout condition has been
detected, and in the absence of a dropout condition, adjusting the
input filtered measurement value to compensate for the lag or delay
associated with the filtering being performed by the signal
processing system (tasks 1106, 1108). In this regard, the adaptive
filtering module 714 calculates or otherwise determines a modified
rate of change for the filtered measurement signal based at least
in part on the first derivative metric associated with the current
filtered measurement value and modifies the current filtered
measurement value using the modified rate of change when the signal
noise estimate (n.sub.e) is less than an upper noise threshold
value. For example, in one embodiment, the adaptive filtering
module 714 modifies the current filtered measurement value using
the signal noise estimate (n.sub.e) when the signal noise estimate
(n.sub.e) is less than or equal to the upper noise threshold value
of 3 and greater than 1 (e.g., when 1<n.sub.e.ltoreq.3) using
equation i.sub.adj=i.sub.sig+5(roc.times.(1.5-0.5n.sub.e)), where
roc is the modified rate of change having a value between -1 and 1,
i.sub.sig is the current filtered measurement value, and i.sub.adj
is the adjusted filtered measurement value. Alternatively, when the
signal noise estimate (n.sub.e) is less than 1, the adaptive
filtering module 714 determines the adjusted filtered measurement
value using equation i.sub.adj=i.sub.sig+5.times..times.roc. In
exemplary embodiments, when the signal noise estimate (n.sub.e) is
greater than the upper noise threshold value, the adaptive
filtering module 714 does not adjust or otherwise modify the
current filtered measurement value based on the modified rate of
change (e.g., i.sub.adj=i.sub.sub).
[0088] In exemplary embodiments, the modified rate of change is
determined as a weighted sum of the first derivative associated
with the instant filtered measurement value (e.g., the difference
between the instant filtered measurement value and the immediately
preceding filtered measurement value in buffer 708) and the first
derivative metric associated with the filtered measurement values
in the buffer 708 (e.g., the first derivative metric from the
signal analysis module 710 that was determined at 902). In
exemplary embodiments, when the magnitude of the modified rate of
change is greater than a maximum value, the modified rate of change
is set to be equal to zero, such that i.sub.adj=i.sub.sig. When the
magnitude of the modified rate of change is less than the maximum
value, the adaptive filtering module 714 clips the modified rate of
change so that its magnitude is less than or equal to a fraction
(or percentage) of the maximum value. For example, in one
embodiment, the adaptive filtering module 714 clips the modified
rate of change to values between -1 mg/dL/min and 1 mg/dL/min.
[0089] In response to detecting a dropout condition, in exemplary
embodiments, the adaptive filtering process 1100 continues by
adjusting or otherwise modifying the filtered measurement value
and/or the process variance metric (task 1110). In this regard,
when the dropout condition is detected, the adaptive filtering
module 714 adds an offset to the filtered measurement value to
mitigate or otherwise compensate for the dropout condition.
Additionally, the adaptive filtering module 714 determines an
alternative process variance metric value in response to the
dropout condition and substitutes the alternative process variance
metric value for the calculated process variance metric (Q) when
the alternative process variance metric value is less than the
calculated process variance metric. In exemplary embodiments, the
adaptive filtering module 714 implements a counter that tracks the
number of filtered measurement values since the dropout condition
to progressively decrease the offset and progressively increase the
alternative process variance metric value to phase out the dropout
modifications. For example, when the dropout condition is initially
identified by the dropout detection module 712, the adaptive
filtering module 714 may increment the counter from zero to one.
Thereafter, the adaptive filtering module 714 calculates or
otherwise determines the dropout offset and the alternative process
variance metric value based on the value of the counter, adds the
dropout offset to the filtered measurement value to obtain a
dropout compensated filtered measurement value, and substitutes the
alternative process variance metric value for the calculated
process variance metric value when the alternative process variance
metric value is less than the calculated process variance metric
value.
[0090] In exemplary embodiments, the equations for calculating the
dropout offset and the alternative process variance metric value
are configured such that the dropout offset decreases and the
alternative process variance metric value increases as the value of
the counter increases. In this manner, if the dropout condition is
still identified on subsequent samples, the added dropout offset
will be progressively reduced for each sample towards zero while
the alternative process variance metric value progressively
increases for each sample by incrementing the value of the counter.
Once a dropout condition is no longer identified, the adaptive
filtering module 714 may clear or otherwise reset the dropout
counter to zero. Additionally, in some embodiments, the adaptive
filtering module 714 may automatically stop adjusting the filtered
measurement value and/or the process variance metric when the value
of dropout counter is greater than an upper threshold number of
measurement samples. It should be noted that in some embodiments,
where the infusion device 502 and/or pump control system 520 are
configured to present a graphical representation of the user's
sensed glucose value on a display (e.g., user interface element
540), using a dropout compensated filtered measurement for
determining the output measurement (which is subsequently converted
to the sensed glucose value using a calibration factor) improves
the user experience by eliminating or otherwise reducing the
visibility of dropouts in the displayed sensed glucose value that
could otherwise alarm the user or cause the user to take
unnecessary action(s).
[0091] Still referring to FIG. 11, in exemplary embodiments, the
adaptive filtering process 1100 continues by calculating or
otherwise determining an intermediate error estimate based on the
output error estimate from the preceding iteration of the adaptive
filtering process 1100 and the process variance metric (task 1112).
In exemplary embodiments, the adaptive filtering module 714
determines the intermediate error estimate (p.sub.i) by adding the
process variance metric to the output error estimate (pow[n-1])
from the preceding iteration of the adaptive filtering process 1100
that was fed back to the adaptive filtering module 714 (e.g.,
p.sub.i=p.sub.our[n-1]+Q). The adaptive filtering process 1100
continues by calculating or otherwise determining a gain value
based on the intermediate error estimate and a measurement error
value (task 1114). In this regard, the measurement error value
represents noise attributable to electromagnetic interference,
movement of the sensing element 604, or interference caused by
other non-glucose molecules in the interstitial fluid. In exemplary
embodiments, the adaptive filtering module 714 determines a Kalman
gain value (k) using the equation k=p.sub.i/(p.sub.i+r), where r
represents the measurement error value. In one embodiment, the
measurement error value is a fixed value equal to one.
[0092] After determining the filter gain value, the adaptive
filtering process 1100 continues by calculating or otherwise
determining the output measurement value based on the current
filtered measurement value, the filter gain value, and the previous
output measurement value (task 1116). In exemplary embodiments, the
adaptive filtering module 714 determines the output measurement
value according to the equation
i.sub.out=i.sub.out[n-1]+k(i.sub.sig-i.sub.out[n-1]), where
i.sub.out is the output measurement value, i.sub.out[n-1]
represents the preceding output measurement value, and i.sub.sig
represents the current (or most recent) filtered measurement value
input to the adaptive filtering module 714 as modified pursuant to
any adjustments for filtering delay (task 1106) and/or dropout
conditions (task 1110) that were made to the input filtered
measurement value as described above. The adaptive filtering
process 1100 also calculates or otherwise determines an updated
output error estimate based on the filter gain value and the
intermediate error estimate (task 1118). In exemplary embodiments,
the adaptive filtering module 714 determines the output error
estimate (p.sub.out) according to the equation using the equation
p.sub.out=p.sub.i (1-k).
[0093] Referring again to FIGS. 5-7, the output filtered
measurement value and the output error estimate determined by the
adaptive filtering module 714 are fed back or otherwise maintained
by the adaptive filtering module 714 for use in determining the
subsequent output filtered measurement value based on the preceding
output filtered measurement value and the preceding output error
estimate. In exemplary embodiments described herein, the output
filtered measurement value is provided to the calibration
application 612 for calculating or otherwise determining a
calibration factor for converting the uncalibrated output filtered
measurement value to a sensor glucose value. Additionally, the
output filtered measurement value is also provided to the health
monitoring application 614 for determining when a maintenance
condition exists with respect to the sensing element 604. In some
embodiments, the uncalibrated output filtered measurement value is
also provided to the pump control system 520 and/or a user
interface 540 (e.g., via the output interface 606) for determining
dosage commands for operating the motor 507 of the infusion device
502, displaying or otherwise presenting a graphical representation
or other indication of the sensed glucose level in the body 501 of
the user, and/or the like.
[0094] FIG. 12 depicts an exemplary calibration process 1200 for
calibrating a sensing arrangement 504, 600 for converting the
uncalibrated measurement values determined based on electrical
signals output by the sensing element 604 into corresponding
calibrated measurement values. The various tasks performed in
connection with the calibration process 1200 may be performed by
hardware, firmware, software executed by processing circuitry, or
any combination thereof. For illustrative purposes, the following
description refers to elements mentioned above in connection with
FIGS. 1-7. In practice, portions of the calibration process 1200
may be performed by different elements of the sensing arrangement
504, 600 and/or the control system 500. That said, in exemplary
embodiments described herein, the calibration process 1200 is
performed by the calibration application 612 implemented by the
control module 602. It should be appreciated that the calibration
process 1200 may include any number of additional or alternative
tasks, the tasks need not be performed in the illustrated order
and/or the tasks may be performed concurrently, and/or the
calibration process 1200 may be incorporated into a more
comprehensive procedure or process having additional functionality
not described in detail herein. Moreover, one or more of the tasks
shown and described in the context of FIG. 12 could be omitted from
a practical embodiment of the calibration process 1200 as long as
the intended overall functionality remains intact.
[0095] In exemplary embodiments, the calibration process 1200
begins by analyzing the uncalibrated measurements during an
initialization period to detect or otherwise identify when the
uncalibrated measurements are stable and maintains the
initialization period while the uncalibrated measurements are
unstable (tasks 1202, 1204). In this regard, the initialization
period imposed by the calibration process 1200 delays calibration
of the sensing arrangement 504, 600 until the electrical signals
generated by the sensing element 604 stabilize. In exemplary
embodiments, the calibration application 612 determines the
uncalibrated measurements are stable when a number of consecutive
measurements output by the data management application 610 are
within a predetermined range of values and a difference or change
between successive measurements is less than a threshold amount.
For example, in one embodiment, the calibration application 612
determines the uncalibrated measurements are stable when three
consecutive measurements output by the data management application
610 are within a range of measurement values and the differences
between successive measurements of the three consecutive
measurements are less than a threshold percentage of the preceding
measurement of the pair. In this regard, the calibration
application 612 detects that the uncalibrated measurements are
stable when the most recent uncalibrated measurement from the data
management application 610 is within the threshold percentage of
the preceding measurement, which is within the threshold percentage
of the next preceding measurement, and each of those three most
recent uncalibrated measurements from the data management
application 610 is within a particular range of values. Once the
uncalibrated measurements are stable, the calibration application
612 may indicate to the pump control system 520 that the user may
be notified that the sensing arrangement 504, 600 is ready for
calibration. Alternatively, the calibration application 612 may
generate a user notification that the sensing arrangement 504, 600
is ready for calibration via an output user interface 606.
[0096] After confirming the uncalibrated measurements are stable,
the calibration process 1200 proceeds by receiving or otherwise
obtaining a new reference measurement value and detecting or
otherwise identifying whether an error condition exists based at
least in part on the new reference measurement value (tasks 1206,
1208, 1210). In this regard, the user may manipulate the blood
glucose meter 530 to obtain a new blood glucose measurement from
the user's body 501 and transmit or otherwise provide the new blood
glucose measurement value to the calibration application 612 and/or
sensing arrangement 504, 600. In response to identifying an error
condition, the calibration process 1200 generates or otherwise
provide a user notification that indicates a new reference
measurement value needs to be obtained for calibration (task 1212).
In this regard, the calibration application 612 generates or
otherwise provides an indication to the user via an output user
interface element 540 associated with the infusion device 502
(e.g., via pump control system 520) and/or an output interface 606
associated with the sensing arrangement 504, 600.
[0097] In exemplary embodiments, the calibration application 612
calculates or otherwise determines one or more calibration ratios
associated with the new blood glucose measurement value and detects
or otherwise identifies whether the calibration ratio(s) are
indicative of an error condition (e.g., task 1208). In this regard,
the calibration application 612 identifies an error condition when
a calibration ratio associated with the new blood glucose
measurement value is not within a range of acceptable values. For
example, the calibration application 612 may determine a first
calibration ratio, alternatively referred to herein as a current
calibration ratio, by dividing the new blood glucose measurement
value by the sum of the most recent filtered measurement value from
the data management application 610 and/or adaptive filtering
module 714 and an offset value. The offset value represents the
baseline current for the sensing element 604 (e.g., the nominal
current output by the sensing element 604 in the absence of any
measurable glucose). The calibration application 612 may also
determine one or more predicted calibration ratios by dividing the
new blood glucose measurement value by the sum of a predicted
measurement value and the offset value. In this regard, the
predicted measurement value represents the expected measurement
value from the data management application 610 and/or adaptive
filtering module 714 at some point in the future that will be
paired with the new blood glucose measurement value for determining
the calibration factor. In exemplary embodiments, if any of the
current calibration ratio or the predicted calibration ratios is
outside of the allowable range of calibration factor values, the
calibration application 612 generates or otherwise provides a
notification indicative of a need to re-obtain a new blood glucose
measurement with the blood glucose meter 530 as described
above.
[0098] In exemplary embodiments, the calibration application 612
also compares the current calibration ratio to the calibration
factor currently being utilized by the pump control system 520
and/or sensing arrangement 504, 600 and detects or otherwise
identifies an error condition when the difference between the
current calibration ratio and the current calibration factor is
greater than a threshold amount (e.g., a percentage of the current
calibration factor). Similarly, the calibration application 612
also compares the current calibration ratio to the preceding
calibration ratio (e.g., the preceding reference blood glucose
measurement value from the blood glucose meter 530 divided by its
paired uncalibrated filtered measurement value) and detects or
otherwise identifies an error condition when the difference between
the current calibration ratio and the preceding calibration ratio
is greater than a threshold amount (e.g., a percentage of the
preceding calibration ratio).
[0099] In exemplary embodiments, the calibration application 612
also calculates or otherwise determines a difference between the
new blood glucose measurement value and the most recent sensed
measurement value determined based on the most recent filtered
measurement value and the current calibration factor and detects or
otherwise identifies an error condition when the difference exceeds
a threshold value (e.g., task 1210). For example, in one
embodiment, the calibration application 612 detects an error
condition when the difference between the new blood glucose
measurement value and the most recent sensed measurement value is
greater than a threshold glucose concentration value.
[0100] After confirming an error condition does not exist, the
calibration process 1200 continues by identifying or otherwise
determining whether a corresponding unfiltered measurement value
for pairing with the new blood glucose measurement value is
available (task 1214). In this regard, in one or more exemplary
embodiments, the calibration application 612 implements a timer or
another similar feature and waits for at least a threshold duration
of time before selecting the next filtered measurement value from
the data management application 610 and/or the adaptive filtering
module 714 for pairing with a reference blood glucose measurement
value. For example, in one embodiment, the calibration application
612 waits for at least ten minutes from the time of the reference
blood glucose measurement value before selecting the next filtered
measurement value from the data management application 610 and/or
the adaptive filtering module 714 for pairing with the reference
blood glucose measurement value. After the threshold amount of time
has elapsed, the calibration process 1200 pairs the next valid
unfiltered measurement value with the reference blood glucose
measurement value and calculates or otherwise determines a new (or
updated) calibration factor for converting the uncalibrated
measurement values into calibrated values based on the new
reference blood glucose measurement value and its paired
uncalibrated measurement value (task 1216), as described in greater
detail below in the context of the calibration factor determination
process 1300 of FIG. 13.
[0101] In exemplary embodiments, when an unfiltered measurement
value is not yet available for pairing, the calibration process
1200 dynamically adjusts the calibration factor towards an expected
calibration factor indicated by the relationship between the new
reference blood glucose measurement value and the uncalibrated
measurement value(s) received after the new reference blood glucose
measurement value was obtained (task 1218). In this regard, during
the period where the calibration application 612 is waiting for an
unfiltered measurement value for pairing, the calibration
application 612 may determine an adjusted calibration factor that
is used by the sensing arrangement 504, 600 and/or the pump control
system 520 to convert any filtered measurement values output by the
data management application 610 and/or the adaptive filtering
module 714 during that period into a sensed measurement value
(e.g., for presenting the sensed glucose value on a display 540
and/or determining delivery commands during the ten minute waiting
period). In one embodiment, the calibration application 612
temporarily pairs the new reference blood glucose measurement value
with an updated filtered measurement value output by the data
management application 610 and/or the adaptive filtering module 714
and calculates an intermediate calibration factor based on the
temporary pairing and stored pairings of reference blood glucose
measurement values and filtered measurement values in a similar
manner as described in greater detail below (e.g., task 1310). In
this regard, the intermediate calibration factor represents an
expected calibration factor if the new reference blood glucose
measurement value were to be paired with an uncalibrated
measurement value equal to the current output from the data
management application 610 and/or the signal analysis module
710.
[0102] In exemplary embodiment, the calibration application 612
determines an adjusted calibration factor as a weighted sum of the
intermediate calibration factor and the calibration factor
currently being utilized by the sensing arrangement 504, 600 and/or
the pump control system 520. For example, in one embodiment, the
calibration application 612 weights the intermediate calibration
factor with the current calibration factor by multiplying the
intermediate calibration factor by 70%, multiplying the current
calibration factor by 30%, and adding the two products to obtain
the adjusted calibration factor. In exemplary embodiments, the
calibration application 612 dynamically adjusts the calibration
factor towards the expected calibration factor by substituting the
adjusted calibration factor for use in lieu of the current
calibration factor based on one or more derivative metrics
associated with filtered measurement values from the data
management application 610 and/or the adaptive filtering module
714. In this regard, if the product of the first derivative metric
associated with the current (or most recent) filtered measurement
value in the buffer 708 and the current calibration factor is
greater than one, the calibration application 612 selects the
lesser of the current calibration factor and the adjusted
calibration factor for use in determining a sensed glucose value
based on the current uncalibrated measurement value from the data
management application 610 and/or the adaptive filtering module
714. Conversely, if the product of the first derivative metric
associated with the current (or most recent) filtered measurement
value in the buffer 708 and the current calibration factor is less
than one, the calibration application 612 selects the greater of
the current calibration factor and the adjusted calibration factor
for use in determining a sensed glucose value based on the current
uncalibrated measurement value from the data management application
610 and/or the adaptive filtering module 714.
[0103] FIG. 13 depicts an exemplary calibration factor
determination process 1300 for determining a calibration factor
used to convert uncalibrated measurement values subsequently output
by a sensing arrangement 504, 600 into corresponding calibrated
measurement values. In one or more exemplary embodiments, the
calibration factor determination process 1300 is performed at task
1216 of the calibration process 1200 of FIG. 12. The various tasks
performed in connection with the calibration factor determination
process 1300 may be performed by hardware, firmware, software
executed by processing circuitry, or any combination thereof. For
illustrative purposes, the following description refers to elements
mentioned above in connection with FIGS. 1-7. In practice, portions
of the calibration factor determination process 1300 may be
performed by different elements of the sensing arrangement 504, 600
and/or the control system 500. That said, in exemplary embodiments
described herein, the calibration factor determination process 1300
is performed by the calibration application 612 implemented by the
control module 602. It should be appreciated that the calibration
factor determination process 1300 may include any number of
additional or alternative tasks, the tasks need not be performed in
the illustrated order and/or the tasks may be performed
concurrently, and/or the calibration factor determination process
1300 may be incorporated into a more comprehensive procedure or
process having additional functionality not described in detail
herein. Moreover, one or more of the tasks shown and described in
the context of FIG. 13 could be omitted from a practical embodiment
of the calibration factor determination process 1300 as long as the
intended overall functionality remains intact.
[0104] In exemplary embodiments, the calibration factor
determination process 1300 begins by obtaining paired reference
blood glucose measurement values and corresponding uncalibrated
filtered current measurement values, calculating or otherwise
determining one or more weighting factors for the respective pairs
of blood glucose and uncalibrated measurement values, and
calculating or otherwise determining a raw (or unadjusted)
calibration factor based on the relationships between the paired
measurement values and the respective weighting factors associated
therewith (tasks 1302, 1304, 1306). In this regard, in exemplary
embodiments, the calibration application 612 implements or
otherwise provides a calibration buffer (e.g., in memory 608) that
stores or otherwise maintains a number of reference blood glucose
measurement values previously received from the blood glucose meter
530 along with the respective paired uncalibrated filtered current
measurement value (i.sub.out) from the data management application
610 and/or the adaptive filtering module 714 that corresponds to
that respective blood glucose measurement value (e.g., the
i.sub.out value that was output between 10 to 15 minutes after the
respective blood glucose measurement value was obtained). In one
exemplary embodiment, the calibration application 612 updates the
calibration buffer to maintain the new reference blood glucose
measurement value and its paired uncalibrated filtered current
measurement value along with the three preceding pairs of reference
blood glucose measurement values and corresponding uncalibrated
filtered current measurement values.
[0105] In exemplary embodiments, the calibration application 612
determines the raw calibration factor as a ratio of a first
weighted sum of the respective products of each respective
measurement pair with respect to a second weighted sum of the
respective square of each respective uncalibrated measurement
value. In this regard, in one or more embodiments, the first
weighted sum is a sum of the respective products of each respective
reference measurement value, its paired uncalibrated filtered
current measurement value, and weighting factors associated with
that respective blood glucose-current measurement pair, while the
second weighted sum is a sum of the respective products of the
square of each respective uncalibrated filtered current measurement
value and the weighting factors associated with that measurement's
respective blood glucose-current measurement pair. For example, the
raw calibration factor (CF.sub.R) may be governed by the
equation:
C .times. F R = .alpha. i .times. .beta. i .times. i o .times. u
.times. t i .times. B .times. G i .alpha. i .times. .beta. i
.times. i o .times. u .times. t i 2 , ##EQU00001##
where i.sub.out, represents the uncalibrated filtered current
measurement value of a respective blood glucose-current measurement
pair, BG, represents the reference blood glucose measurement value
of that respective blood glucose-current measurement pair,
.alpha..sub.i represents a first weighting factor associated with
that respective blood glucose-current measurement pair, and p.sub.i
represents a second weighting factor associated with that
respective blood glucose-current measurement pair. The a weighting
factors generally represent FIR filter coefficients for the
calibration ratios associated with the respective blood
glucose-current measurement pairs, while the p weighting factors
compensate for the nonlinearities in the response of the sensing
element 604 (e.g., nonlinearities in the relationship between the
output signals generated by the sensing element 604 and the actual
fluid glucose level).
[0106] In one or more embodiments, the calibration application 612
determines the first weighting factor (.alpha..sub.i) as a fixed
value based on the relative age of the respective blood
glucose-current measurement pair. In alternative embodiments, the
calibration application 612 may determine the first weighting
factors using the equation .alpha..sub.i=e.sup.-.DELTA.t/7, where.
At represents the amount of time between a respective reference
blood glucose measurement value and the preceding reference blood
glucose measurement value. In such embodiments, the calibration
buffer may also store or otherwise maintain, in association with
each respective blood glucose-current measurement pair, the time
associated with the respective blood glucose-current measurement
pair. In this regard, fixed values may be utilized to emulate
exponential decay in lieu of deterministically calculating the
first weighting factor using an exponential decay function. In one
or more embodiments, the calibration application 612 determines the
second weighting factor (.beta..sub.i) as a function of the
reference blood glucose measurement value of the respective blood
glucose-current measurement pair. For example, the calibration
application 612 may calculate the second weighting factor using the
equation .beta..sub.i=g.sub.1BG.sub.i.sup.-g.sup.2-g.sub.3, where
g.sub.1 represents a linear scaling factor for the glucose response
of the sensing element 604, g.sub.2 represents an exponential
scaling factor for the glucose response of the sensing element 604,
and g.sub.3 represents an offset value for the glucose response of
the sensing element 604. After determining the weighting factors
for each of the respective blood glucose-current measurement pairs
in the calibration buffer, the calibration application 612 then
calculates the raw calibration factor (CF.sub.R) as the ratio of
the weighted sums described above.
[0107] Still referring to FIG. 13, in exemplary embodiments, the
calibration factor determination process 1300 continues by
identifying or otherwise determining whether the raw calibration
factor is within an acceptable range of values (task 1308). When
the value of the raw calibration factor is acceptable, the
calibration factor determination process 1300 continues by
obtaining or otherwise identifying an expected calibration factor
for the sensing arrangement and a weighting factor for the expected
calibration factor, and determining an adjusted calibration factor
based on the raw calibration factor, the expected calibration
factor, and the weighting for the expected calibration factor
(1310, 1312, 1314). In this manner, the calibration factor
determination process 1300 effectively normalizes the raw
calibration factor to account for potential inaccuracies in the
reference blood glucose measurement value(s) and/or the
uncalibrated filtered current measurement value(s) that could be
caused by normal variations in sensitivities or other transient
events. The expected calibration factor represents the anticipated
or likely calibration ratio between a reference blood glucose
measurement value and its corresponding uncalibrated measurement
value from the data management application 610 and/or the adaptive
filtering module 714. In one or more embodiments, the expected
calibration factor may be a fixed value that is empirically
determined by testing multiple sensing elements 604 and/or sensing
arrangements 600 and determining a nominal (or average) calibration
ratio across the tested sensing elements 604 and/or sensing
arrangements 600. For example, in one embodiment, the expected
calibration factor is a fixed value equal to 5 mg/dL/nA. In other
embodiments, the calibration application 612 may dynamically
determine the expected calibration factor as a historical average
of the raw calibration factor values determined during previous
iterations of the calibration factor determination process 1300
with preceding blood glucose-current measurement pairs. In
exemplary embodiments, the range of acceptable values is chosen to
encompass the expected calibration factor. For example, in one
embodiment, the acceptable range of values is chosen to be from the
expected calibration factor minus a threshold amount to the
expected calibration factor plus the threshold amount, such that
any raw calibration factor within that range (e.g., the expected
calibration factor value plus/minus the threshold amount) would be
adjusted.
[0108] In exemplary embodiments, the calibration application 612
determines the adjusted calibration factor (CF.sub.ADJ) as a
weighted sum of the expected calibration factor (CF.sub.EXP) and
the raw calibration factor using the equation
CF.sub.ADJ=.gamma.CF.sub.EXP+(1-.gamma.)CF.sub.R, where y
represents the weighting factor obtained for the expected
calibration factor. In one embodiment, the weighting factor for the
expected calibration factor has a fixed value between zero and one
(e.g., a fixed percentage). In other embodiments, the calibration
application 612 may dynamically determine the expected calibration
factor weighting factor based on one or more factors. For example,
if the expected calibration factor is determined based on a number
of raw calibration factor values determined during previous
iterations of the calibration factor determination process 1300,
the expected calibration factor weighting factor may increase as
the number of raw calibration factor values used to determine the
expected calibration factor, and vice versa, thereby reflecting the
relative confidence or reliability associated with the expected
calibration factor. After the calibration application 612
determines the adjusted calibration factor, the calibration
application 612 may transmit or otherwise provide the adjusted
calibration factor to the pump control system 520 via the
communications interface 606 for use by the pump control system 520
to convert filtered current measurements provided by the data
management application 610 and/or the adaptive filtering module 714
into sensed glucose measurement values (e.g.,
SG=CF.sub.ADJ.times.i.sub.out) and subsequently generating delivery
commands and/or graphical user interface displays using the sensed
glucose measurement values. Additionally, the adjusted calibration
factor may be provided to the data management application 610
and/or the signal analysis module 710 for determining the frequency
and noise metrics for the filtered measurement signal as described
above in the context of FIG. 9.
[0109] Still referring to FIG. 13, in exemplary embodiments, when
the calibration factor determination process 1300 determines that
the raw calibration factor is not within an acceptable range of
values, the calibration factor determination process 1300 proceeds
by identifying or otherwise determining whether the blood
glucose-current measurement pair was obtained during a startup
period where the sensitivity of the sensing arrangement is abnormal
or otherwise deviates from its likely long-term sensitivity (task
1316). In this regard, in some situations, the sensitivity of the
sensing element 604 may initially be abnormally high or abnormally
low upon initialization of the sensing element 604 before settling
or otherwise converging towards a sensitivity that would result in
a raw calibration factor value within the acceptable range of
values for the raw calibration factor. In exemplary embodiments,
when the calibration factor determination process 1300 determines
the calibration attempt was performed during a startup period for
the sensing arrangement, the calibration factor determination
process 1300 continues by dynamically adjusting the calibration
factor towards an expected calibration factor (task 1320). As
described in greater detail below in the context of FIG. 14, the
calibration application 612 determines an adjusted calibration
factor based at least in part on the raw calibration factor in a
manner that results in the adjusted calibration factor converging
towards an expected calibration factor value or an acceptable range
of values for the calibration factor. In this regard, as the amount
of time elapsed since the calibration attempt increases, the
difference between the adjusted calibration factor and the expected
calibration factor (or alternatively, the acceptable range of
values for the calibration factor) decreases.
[0110] Referring now to FIG. 14, in one or more embodiments, the
calibration application 612 performs a dynamic calibration factor
adjustment process 1400 to dynamically adjust the calibration
factor towards an expected calibration factor value (or a range of
values) when the calibration attempt is performed during a startup
period for the sensing element 604 of the sensing arrangement 504,
600. The dynamic adjustment process 1400 begins by calculating or
otherwise determining an adjusted calibration factor based on the
raw calibration factor and the amount of time that has elapsed
since the calibration attempt (task 1402). In one embodiment, the
calibration application 612 calculates the adjusted calibration
factor using the equation
CF.sub.ADJ=CF.sub.R+t(p.sub.1CF.sub.R+p.sub.2), where t is the
amount of time elapsed since the time associated with the raw
calibration factor and p.sub.1 and p.sub.2 are scalar values
configured to linearly adjust the adjusted calibration factor
towards the expected calibration factor.
[0111] The illustrated process 1400 continues by identifying or
otherwise determining whether the calibration factor is within an
acceptable range of values (task 1404) and automatically
terminating the dynamic adjustment process 1400 when the
calibration factor is within the acceptable range of values. In
this regard, the calibration application 612 ceases adjusting the
calibration factor once the amount of time that has elapsed since
the calibration attempt has resulted in an adjusted calibration
factor that is sufficiently close to the expected calibration
factor. In one or more embodiments, the calibration application 612
stops adjusting the calibration factor when the adjusted
calibration factor is within a range of acceptable calibration
factor values, where the range encompasses the expected calibration
factor. In some embodiments, the calibration application 612 also
confirms that the raw calibration factor does not exceed a maximum
calibration factor value or fall below a minimum calibration factor
value. For example, in one embodiment, the calibration application
612 only allows the calibration factor to be adjusted when the raw
calibration factor is within the range of the minimum calibration
factor value to the lower end of the range of acceptable
calibration factor values or within the range of the upper end of
the range of acceptable calibration factor values to the maximum
calibration factor value. The dynamic adjustment process 1400 exits
and provides indication that recalibration is required (e.g., task
1322) when the raw calibration factor is less than the minimum
calibration factor value or greater than the maximum calibration
factor value.
[0112] Still referring to FIG. 14, the dynamic adjustment process
1400 continues by verifying or otherwise confirming that the amount
of time that has elapsed since the sensing element 604 of the
sensing arrangement 504, 600 was initialized is less than the
startup period for the sensing element 604 (task 1406). In this
regard, the calibration application 612 or another component of the
control module 602 may implement a timer or another similar feature
to track or otherwise monitor the amount of time elapsed since the
sensing element 604 was installed, replaced, or otherwise
initialized, and terminate the dynamic adjustment process 1400 when
the calibration application 612 detects that the elapsed time is
greater than a threshold startup time period. For example, in one
embodiment, the threshold startup time period is set to ten hours,
such that the calibration application 612 automatically terminates
the dynamic adjustment process 1400 when ten hours have elapsed
since the sensing element 604 was first installed in the sensing
arrangement 504, 600.
[0113] The illustrated process 1400 continues by identifying or
otherwise determining whether the sensed glucose value
corresponding to the most recent uncalibrated filtered current
measurement value and the adjusted calibration factor value is less
than a threshold amount (task 1408). In this regard, the
calibration application 612 multiplies the most recently obtained
uncalibrated filtered current measurement value from the data
management application 610 and/or the adaptive filtering module 714
by the current adjusted calibration factor to determine the current
sensed glucose value (e.g., SG=CF.sub.ADJ.times.i.sub.out). The
dynamic adjustment process 1400 automatically suspends adjusting
the calibration factor when the sensed glucose value is less than a
threshold glucose concentration and maintains the calibration
factor at its current value (task 1410). For example, in one
embodiment, the monitoring application 614 automatically maintains
the current calibration factor value when the current sensed
glucose value is less than 60 mg/dL. In this regard, the dynamic
adjustment process 1400 does not adjust the calibration factor when
the sensed glucose value is indicative of a potential hypoglycemic
condition of the user. As illustrated in FIG. 14, the dynamic
adjustment process 1400 may repeat until the adjusted calibration
factor is within an acceptable range of calibration factor values
or the sensor startup period has elapsed (e.g., a threshold number
of hours from initialization of the sensing element 604).
[0114] Referring again to FIG. 13, in the illustrated embodiment,
when the calibration factor determination process 1300 determines
that the raw calibration factor is not within an acceptable range
of values and that the sensor startup period has elapsed, the
calibration factor determination process 1300 identifies or
otherwise determines whether the blood glucose-current measurement
pair was obtained at a point in time when the output from the
sensing element was abnormally low (task 1318), and if so, the
calibration factor determination process 1300 dynamically adjusts
the calibration factor towards an expected calibration factor (task
1320). In exemplary embodiments, the calibration application 612
detects that the uncalibrated filtered current measurement value
paired with the new blood glucose reference measurement value is
abnormally low when the calibration ratio for the new blood glucose
reference measurement value and its paired uncalibrated filtered
current measurement value is greater than the calibration factor
currently being utilized (e.g., the calibration factor determined
by the calibration factor determination process 1300 on the
preceding calibration attempt) by at least a threshold amount, the
uncalibrated filtered current measurement value is less than a
threshold current, and the current calibration factor is less than
a threshold calibration value. For example, in one embodiment, the
calibration application 612 detects the low current calibration
condition when the calibration ratio is more than a threshold
percentage greater than the current calibration factor, the
uncalibrated filtered current measurement value is less than
threshold current value, and the current calibration factor is less
than a threshold calibration factor. Depending on the embodiment,
after detecting the low current calibration condition, the
calibration application 612 may fail to update the calibration
buffer to include the current blood glucose-current measurement
pair (e.g., by failing to evict the oldest blood glucose-current
measurement pair from the buffer), or alternatively, the
calibration application 612 may flag the current blood
glucose-current measurement pair for eviction/replacement on the
next calibration attempt if the calibration ratio associated with
the next blood glucose-current measurement pair is less than the
calibration ratio associated with the current blood glucose-current
measurement pair.
[0115] In exemplary embodiments, after detecting the low current
calibration condition, the calibration application 612 utilizes the
raw calibration factor until identifying that the sensing element
604 has recovered from the low current condition, and thereafter,
automatically begins dynamically adjusting the raw calibration
factor for the new blood glucose-current measurement pair in
response to detecting the recovery. In one embodiment, the
calibration application 612 detects recovery from the low current
condition when the uncalibrated measurement value from the data
management application 610 and/or the adaptive filtering module 714
exceeds the uncalibrated measurement value of the blood
glucose-current measurement pair by at least a threshold percentage
of the paired uncalibrated measurement value. In a similar manner
as described above, the calibration application 612 may linearly
adjust the calibration factor towards the expected calibration
factor (e.g., 5 mg/dL/nA) as the amount of time elapsed increases
until the adjusted calibration factor is less than a threshold
amount or the adjusted calibration factor is within a threshold
percentage of the preceding calibration factor. Additionally, in
one or more embodiments, the calibration application 612 stops
adjusting the calibration factor in response to a new (or
subsequent) calibration attempt having a calibration ratio that is
not more than the threshold percentage greater than the current
calibration factor. It should be noted that in such embodiments,
the calibration factor determination process 1300 will be performed
using the subsequent blood glucose-current measurement pair to
determine a new calibration factor for use in converting subsequent
current measurements into sensed glucose values.
[0116] Referring again to FIG. 13, when the calibration factor
determination process 1300 determines that the raw calibration
factor is not within an acceptable range of values, and that that
deviation is not attributable to the sensor startup period or an
abnormally low current measurement, the calibration factor
determination process 1300 automatically generates or otherwise
provides a notification to the user that indicates recalibration is
required (task 1322). For example, the calibration application 612
may transmit or otherwise provide a notification to the pump
control system 520 that indicates the calibration was unsuccessful,
and in response, the pump control system 520 may generate or
otherwise provide one or more auditory and/or visual notifications
to the user via one or more output user interface element(s) 540
that a new blood glucose measurement value is required in a similar
manner as described above (e.g., task 1212).
[0117] FIG. 15 depicts an exemplary sensor monitoring process 1500
for identifying when a maintenance condition exists for a sensing
element. In this regard, a maintenance condition indicates that the
sensing element should be replaced or that some other maintenance
of the sensing element should otherwise be performed (e.g.,
inspecting electrical connectivity to/from the sensing element,
ensuring the sensing element is properly inserted and/or fitted in
a housing of a sensing device, or the like). The various tasks
performed in connection with the sensor monitoring process 1500 may
be performed by hardware, firmware, software executed by processing
circuitry, or any combination thereof. For illustrative purposes,
the following description refers to elements mentioned above in
connection with FIGS. 1-7. In practice, portions of the sensor
monitoring process 1500 may be performed by different elements of
the sensing arrangement 504, 600 and/or the control system 500.
That said, in exemplary embodiments described herein, the sensor
monitoring process 1500 is performed by the health monitoring
application 614 implemented by the control module 602 to detect
when the sensing element 604 should be replaced. It should be
appreciated that the sensor monitoring process 1500 may include any
number of additional or alternative tasks, the tasks need not be
performed in the illustrated order and/or the tasks may be
performed concurrently, and/or the sensor monitoring process 1500
may be incorporated into a more comprehensive procedure or process
having additional functionality not described in detail herein.
Moreover, one or more of the tasks shown and described in the
context of FIG. 15 could be omitted from a practical embodiment of
the sensor monitoring process 1500 as long as the intended overall
functionality remains intact.
[0118] The illustrated sensor monitoring process 1500 calculates or
otherwise determines an average filtered current measurement value
over the duration of a particular monitoring window (task 1502). In
this regard, the monitoring application 614 receives or otherwise
obtains the uncalibrated filtered current measurements output by
the data management application 610 and/or the adaptive filtering
module 714 and averages any filtered current measurements occurring
within a particular monitoring window of time. For example, in one
embodiment, the monitoring application 614 implements a monitoring
period of two hours, where the monitoring application 614
calculates the mean current measurement for a respective monitoring
period by averaging the filtered current measurements output by the
data management application 610 and/or the adaptive filtering
module 714 over a consecutive two hour time period (e.g., 24
consecutive samples when filtered measurements are obtained every 5
minutes).
[0119] In exemplary embodiments, the sensor monitoring process 1500
also calculates or otherwise determines a number of filtered
current measurement values during the particular monitoring window
that have an associated noise metric greater than a threshold value
(task 1504). In this regard, the monitoring application 614
implements a counter or another similar feature to track the number
of filtered current measurements having an associated noise metric
(e.g., the estimated signal noise metric determined by the signal
analysis module 710) that exceeds a threshold value. In one
embodiment where the signal analysis module 710 determines an
estimated signal noise metric by scaling the second derivative
metric by the calibration factor and clips the noise metric to an
upper limit as described above, the monitoring application 614
identifies a high noise measurement when the noise metric
associated with a filtered measurement is greater than a fraction
of the upper limit (e.g., a percentage or fraction of the upper
limit) and increments the counter associated with the high noise
measurements. For example, if the signal analysis module 710 clips
the estimated signal noise to a maximum value, the monitoring
application 614 may identify a high noise measurement when the
noise metric associated with a filtered measurement is greater than
eighty percent of the maximum value. It should be noted that in
some embodiments, an adjusted calibration factor may be used when
determining the estimated signal noise metric, that is, the dynamic
adjustment process 1400 may be performed concurrently to the sensor
monitoring process 1500.
[0120] After determining the average measurement value over a
monitoring window and a number of high noise measurements during
that monitoring window, the sensor monitoring process 1500
continues by calculating or otherwise determining a sensor
reliability metric based on relationship between the average
measurement value and the number of high noise measurements (task
1506). In exemplary embodiments, the monitoring application 614
determines a sensor reliability metric as a ratio of the average
measurement value to the number of high noise measurements, for
example, by dividing the average current measurement value for the
monitoring window by the number of high noise measurements for the
monitoring window (plus one, if desired, to prevent divide by
zero). In this regard, the sensor reliability metric calculation
accounts for the anticipated relationship between the measurement
signal level and the magnitude of the fluctuations in the
measurement signal (e.g., larger signal fluctuations at higher
signal levels are more likely to lead to more measurements
classified as high noise and vice versa).
[0121] After determining a sensor reliability metric, the sensor
monitoring process 1500 continues by determining whether the sensor
reliability metric is greater than a maintenance threshold that is
indicative of a healthy sensing element (task 1508). In this
regard, a higher value for the sensor reliability metric indicates
a lower number of high noise measurements relative to the
measurement signal level over the monitoring period, while a lower
value for the sensor reliability metric indicates a higher number
of high noise measurements relative to the measurement signal level
over the monitoring period. Thus, when the sensor reliability
metric is less than the maintenance threshold, the sensor
monitoring process 1500 identifies or otherwise classifies the
monitoring window as a high noise monitoring window and increments
or otherwise increases a count of the number of consecutive high
noise monitoring windows and determines whether the number of
consecutive high noise monitoring windows exceeds a notification
threshold amount (tasks 1510, 1512). For example, in one
embodiment, the notification threshold amount is chosen to be equal
to three, such that the monitoring application 614 determines that
the user should be notified of the maintenance condition with
respect to the sensing element 604 when the filtered measurement
values exhibit relatively high noise over at least six consecutive
hours (e.g., 3 consecutive monitoring windows with a low sensor
reliability metric). In this manner, when the filtered measurement
values exhibit relatively high noise for a consecutive duration of
time that exceeds a threshold amount of time, the sensor monitoring
process 1500 determines that the maintenance notification criteria
have been satisfied and generates or otherwise provides a user
notification that indicates maintenance condition exists with
respect to the sensing element (task 1514). For example, in one
embodiment, the monitoring application 614 may operate an output
user interface 606 to indicate replacement of the sensing element
604 should be performed. In other embodiments, the monitoring
application 614 may instruct the pump control system 520 to notify
the user of the maintenance condition via a user interface 540
associated with the infusion device 502. Alternatively, when the
sensor reliability metric for a monitoring window is greater than
the maintenance threshold and indicative of a healthy sensing
element, the sensor monitoring process 1500 resets or otherwise
reinitializes the number of consecutive high noise monitoring
windows (task 1516).
[0122] It should be noted that in one or more exemplary
embodiments, the sensor monitoring process 1500 is not performed
immediately upon initialization of a sensing element. For example,
in one or more embodiments, the monitoring application 614 may
implement a timer or another similar feature to track the amount of
time elapsed since the sensing element 604 was installed or
initialized in the sensing arrangement 600 and begin performing the
sensor monitoring process 1500 only after the elapsed time is
greater than a threshold amount of time. In this regard, the sensor
monitoring process 1500 may not performed during the initialization
period when the output signals from the sensing element 604 are
unstable (e.g., tasks 1202, 1204) or the sensor startup period
where the output signals from the sensing element 604 may otherwise
be unsettled or unreliable (e.g., task 1316). For example, in one
embodiment, the monitoring application 614 does not perform the
sensor monitoring process 1500 until at least 24 hours have elapsed
since the sensing element 604 was installed or initialized.
[0123] For the sake of brevity, conventional techniques related to
glucose sensing and/or monitoring, closed-loop glucose control,
sensor calibration and/or compensation, and other functional
aspects of the subject matter may not be described in detail
herein. In addition, certain terminology may also be used in the
herein for the purpose of reference only, and thus is not intended
to be limiting. For example, terms such as "first", "second", and
other such numerical terms referring to structures do not imply a
sequence or order unless clearly indicated by the context. The
foregoing description may also refer to elements or nodes or
features being "connected" or "coupled" together. As used herein,
unless expressly stated otherwise, "coupled" means that one
element/node/feature is directly or indirectly joined to (or
directly or indirectly communicates with) another
element/node/feature, and not necessarily mechanically.
[0124] While at least one exemplary embodiment has been presented
in the foregoing detailed description, it should be appreciated
that a vast number of variations exist. It should also be
appreciated that the exemplary embodiment or embodiments described
herein are not intended to limit the scope, applicability, or
configuration of the claimed subject matter in any way. For
example, the subject matter described herein is not limited to the
infusion devices and related systems described herein. Moreover,
the foregoing detailed description will provide those skilled in
the art with a convenient road map for implementing the described
embodiment or embodiments. It should be understood that various
changes can be made in the function and arrangement of elements
without departing from the scope defined by the claims, which
includes known equivalents and foreseeable equivalents at the time
of filing this patent application. Accordingly, details of the
exemplary embodiments or other limitations described above should
not be read into the claims absent a clear intention to the
contrary.
* * * * *