<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A General Neural Architecture for Carbohydrate and Bolus Recommendations in Type 1 Diabetes Management</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jeremy Beauchamp</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cindy Marling</string-name>
          <email>marlingg@ohio.edu</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>People with type 1 diabetes must constantly monitor their blood glucose levels and take actions to keep them from getting either too high or too low. Having a snack will raise blood glucose levels; however, the amount of carbohydrates that should be consumed to reach a target level depends on the recent history of blood glucose levels, meals, boluses, and the basal rate of insulin. Conversely, to lower the blood glucose level, one can administer a bolus of insulin; however, determining the right amount of insulin in the bolus can be cognitively demanding, as it depends on similar contextual factors. In this paper, we show that a generic neural architecture previously used for blood glucose prediction in a what-if scenario can be converted to make either carbohydrate or bolus recommendations. Initial experimental evaluations on the task of predicting carbohydrate amounts necessary to reach a target blood glucose level demonstrate the feasibility and potential of this general approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Type 1 diabetes is a disease in which the pancreas fails to produce
insulin, which is required for blood sugar to be absorbed into cells.
Without it, that blood sugar remains in the bloodstream, leading to
high blood glucose levels (BGLs). In order to manage type 1
diabetes, insulin must be administered via an external source, such as
injections or an insulin pump. People with type 1 diabetes also need
to monitor their BGLs closely throughout the day by testing the blood
acquired through fingersticks and/or by using a continuous glucose
monitoring (CGM) system. If the BGL gets too high (hyperglycemia)
or too low (hypoglycemia), the individual responds by eating, taking
insulin, or taking some other action to help get their BGL back to
within a healthy range. An issue with this, however, is that the person
with diabetes must react to their BGL, whereas, ideally, they would
be able to proactively control their BGL. There has been much work
in the area of BGL prediction in the past ([
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for example)
with the aim of enabling preemptive actions to manage BGLs
before individuals experience the negative symptoms of hypoglycemia
or hyperglycemia. However, individuals still need to figure out how
much to eat, how much insulin to take, and what other actions they
can take to prevent hypoglycemia or hyperglycemia.
      </p>
      <p>
        The broad goal of the research presented in this paper is to
essentially reverse the blood glucose prediction problem, and instead
predict how many carbohydrates an individual should eat or how much
insulin to administer with a bolus in order to get their BGL to the
desired target. We have previously introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] an LSTM-based
neural architecture that was trained such that it could answer what-if
questions of the type “What will my BGL be in 60 minutes if I eat a
snack with 30 carbs 10 minutes from now”. We show that by using
the BGL target as a feature and the carbohydrates or insulin as labels,
a similar architecture can be trained instead to predict the number of
carbohydrates that need to be consumed or the amount of insulin that
needs to be delivered during the prediction window in order to reach
that BGL target.
      </p>
      <p>
        The work by Mougiakakou and Nikita [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] represents one of the
first attempts to use neural networks for recommending insulin
regimens and dosages. Bolus calculators were introduced as early as
2003 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], wherein a standard formula is used to calculate the
amount of bolus insulin based on parameters such as carbohydrate
intake, carbohydrate-to-insulin ratio, insulin on board, and target BGL.
Walsh et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] discuss major sources of errors and potential targets
for improvement, such as utilizing the massive quantities of
clinical data being collected by bolus advisors. As observed by
Cappon et al. in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the standard formula approach ignores potentially
useful preprandial conditions, such as the glucose rate of change.
A feed-forward fully connected neural network was then proposed
to exploit CGM information and some easily accessible patient
parameters, with experimental evaluations on simulated data showing
a small but statistically significant improvement in the blood glucose
risk index. Simulated data is also used by Sun et al. in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where a
basal-bolus advisor is trained using reinforcement learning in order
to provide personalized suggestions to people with type 1 diabetes
under multiple injections therapy.
      </p>
      <p>The data-driven architecture proposed in this paper is generic in
the sense that it can be trained to make recommendations about any
variable that can impact BG levels, in particular carbohydrates and
insulin. The task of making carbohydrate recommendations is
potentially useful in scenarios where patients want to prevent
hypoglycemia well in advance, or where a person is interested in
achieving a relatively higher target BGL in preparation for an exercise event
that is expected to lower it.</p>
      <p>As a first step, in this paper we approach the problem of making
carbohydrate recommendations. The rest of this paper is organized in
the following way: Section 2 provides a more detailed description of
the problem. Section 3 describes the model as well as the baselines
used to compare against. Section 4 describes the dataset that is used
and some of the features of the data. Section 5 discusses some of
the training techniques and methods used as well as the results of
the experiments that motivated the use of these techniques. Section 6
contains the conclusion and some plans for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Three Carbohydrate Recommendation Scenarios</title>
      <p>We assume that blood glucose levels are measured at 5 minute
intervals through a CGM system. We also assume that discrete deliveries
of insulin (boluses) and continuous infusions of insulin (basal rates)
are recorded. Subjects provide the timing of meals and estimates of
the amount of carbohydrates associated with each meal. Given the
data available up to the present time t, the problem can formally be
defined as predicting the number of grams of carbohydrates (number
of carbs) Ctm in a meal that is to be consumed at time tm 2 [t; t + )
such that the person’s BGL reaches a specified target value BGt+ at
time t+ in the future. Without loss of generality, in this paper we set
the prediction horizon = 30 and 60 minutes. We define three
carbohydrate prediction scenarios, depending on whether events such as
boluses or other meals happen inside the prediction window [t; t+ ):
1. Scenario S1 assumes that there are no events in the prediction
window [t; t + ). Training a model for this scenario can be
difficult due to the scarcity of corresponding training examples, as
meals are typically preceded by boluses. The example shown in
Figure 1 would be in this scenario if the orange and red outlined
meals and boluses were not present.
2. Scenario S2 subsumes scenario S1 by allowing events before the
meal, i.e. in the time window [t; tm]. The example that is shown
in Figure 1 would be a scenario S2 example if the bolus outlined
in red were not present, and would correspond to answering the
following what-if question: how many carbs should be consumed
at time tm to achieve the target BGt+ , if the meal were to be
preceded by another meal and a bolus.
3. Scenario S3 is the most general and allows events to happen
during the entire prediction window [t; t + ). The example in
Figure 1 is a scenario S3 example but not a scenario S1 or scenario
S2 example because of the presence of the orange and red outlined
meal and bolus.</p>
      <p>
        We train and evaluate carbohydrate recommendation models for each
scenario, using data acquired from 6 subjects with type 1 diabetes [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Given the scarcity of training examples for scenario S1, our starting
hypothesis is that models that are trained on examples from scenario
S3 will implicitly learn physiological patterns that will improve
performance for the fewer examples in scenario S1.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Baseline Models and Neural Architecture</title>
      <p>Given training data containing meals with their corresponding
timestamps and carbohydrates, we define the following baselines:
1. Global average: The average number of carbs over all of the
meals in the subject’s training data, , are computed and used
as the estimate for all future meals, irrespective of context. This
is a fairly simple baseline, as it predicts the same value for every
example.
2. ToD average: In this Time-of-Day (ToD) dependent baseline, an
average number of carbs is computed for each of the following
five time windows during a day:
12am-6am: 1 = early breakfast/late snacks.
6am-10am: 2 = breakfast.
10am-2pm: 3 = lunch.
2pm-6pm: 4 = dinner.</p>
      <p>6pm-12am: 5 = late dinner/post-dinner snacks.</p>
      <p>The average for each ToD interval is calculated over all of the
meals appearing in the corresponding time frame in the subject’s
training data. At test time, to predict the number of carbs for a
meal to be consumed at time tm, we first determine the ToD
interval that contains tm and output the corresponding ToD average.
Given sufficient historical data, the ToD baseline is expected to
perform well for individuals who tend to eat very consistently and have
regular diets. However, it is expected to perform poorly on
individuals who have a lot of variation in their diets.</p>
      <p>
        While simple to compute and use at test time, the two baselines are
likely to give suboptimal performance, as their predictions ignore the
history of BG values, insulin (boluses and basal rates), and meals, all
of which could significantly modulate the effect a future meal might
have on the BGL. To exploit this information, we propose the general
neural network architecture shown in Figure 1. The first component
in the architecture is a recurrent neural network (RNN) instantiated
using Long Short-Term Memory (LSTM) cells [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which is run over
the previous 6 hours of data, up to the present time t. At each time
step (5 minutes), this LSTM network takes as input the BGL, the
carbohydrates, and the insulin dosages recorded at that time step.
While sufficient for processing data corresponding to scenario S1,
this LSTM cannot be used to process events in the prediction window
[t; t + ) that may appear in scenarios S2 and S3, for which BGL
values are not available. Therefore, in these scenarios, the final state
computed by the first LSTM model (LSTM1) at time t is projected
and used as the initial state for a second LSTM model (LSTM2) that
is run over the time steps between (t; t + ). The final state computed
either by LSTM1 (for scenario S1) or LSTM2 (for scenarios S2 and
S3) is then used as input to a fully connected network (FCN) whose
output node computes C^tm , an estimate of the carbohydrates at time
tm. Besides the LSTM final state, the input to the FCN contains the
following additional features:
1. The target BGL at minutes into the future, i.e. BGt+ .
2. The time interval = tm t between the intended meal time and
the present.
3. The ToD average computed for Baseline 2 corresponding to the
time the meal was eaten.
      </p>
      <p>The entire architecture is trained to minimize the mean squared error
between the actual carbohydrates Ctm recorded in the training data
and the estimated value C^tm computed by the output node of the
FCN module. Each LSTM uses vectors of size 100 for the states and
gates, whereas the FCN is built with 5 hidden layers, each consisting
of 200 ReLU neurons, and one linear output node.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Dataset</title>
      <p>
        The data used for the model was collected from 6 subjects with type 1
diabetes [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Information including the basal rate of insulin, boluses,
meals, and BGL readings was collected over roughly 50 days,
although the exact amount of time varies from subject to subject. This
time series data is split into three sets, as follows: the last 10 days
of data for each subject are used as testing, the previous 10 days are
used as validation, and the remainder of the data is used for training.
4.1
      </p>
    </sec>
    <sec id="sec-5">
      <title>From Meal Events to Examples</title>
      <p>Since the total number of available examples is directly related to the
number of meals, it is useful to know how many meals each subject
had. This is shown in Table 1, together with the average number of
carbs per meal (Avg), and the corresponding standard deviation
(StdDev). Most subjects have a similar average number of carbohydrates
in their meals, with the exception of 570 who has a significantly
larger number of carbs per meal on average, and more importantly, a
much higher standard deviation than the other subjects.</p>
      <p>
        A meal event occurring at time tm may give rise to multiple
examples, depending on the position of tm in the interval [t; t + ). When
= 30 minutes, an example is created for every possible position
of tm within [t; t + ). However, when = 60 minutes, an
example is created for every position of tm within [t; t + 30], to ensure
that there are at least 30 minutes between the meal and the prediction
horizon. Table 2 below shows the resulting number of examples for
= 30 and 60 minutes, in each of the three scenarios. Note that
there are fewer examples in scenarios S1 and S2 when = 60 vs. 30
minutes, despite there being more scenario S3 examples. This can be
explained by the scenarios S1 and S2 criteria being even more
difficult to meet when = 60 minutes, i.e. there cannot be any event
within [t; t + 60) for S1, or any event within [tm; t + 60) for S2.
The Adam [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] variant of gradient descent is used for training, with
the learning rate and mini-batch size being tuned on the validation
data. In an effort to avoid overfitting, early stopping with a patience
of 5 epochs and dropout with a rate of 10% are used for both models.
Interestingly, dropout was found to help the model if it was only
applied to the LSTM networks of the model at each time step and
not the fully connected network.
      </p>
      <p>Since the overall number of examples available in the dataset is
low, the performance was improved by first pretraining a generic
model on the combined data from all 6 subjects. Then, for each
subject, a new model is initialized with the weights of the generic model,
and then fine-tuned on the subject’s training data. For each subject,
five models were trained with different seedings of the random
number generators. We also experimented with fine-tuning models on the
union of the training and validation data instead of just the training
data. When this combined data is used, the average carb values used
in the baselines are recalculated over the union of the training and
validation data for each subject.
5.1</p>
    </sec>
    <sec id="sec-6">
      <title>Results</title>
      <p>The metrics used to evaluate the performance of the models are
the root mean squared error (RMSE) and the mean absolute error
(MAE), which is less sensitive to large errors. At the end of the
training process, there are five fine-tuned models for each subject. The
average RMSE and MAE of the five models are reported, as well as
the RMSE and MAE of the best model. The model that is
considered the ”best” is the one that had the lowest MAE on the validation
data. The results of the five models for each subject are also averaged
across all subjects to obtain one overall RMSE and one overall MAE
value for the average model and the best model scores. The baselines
are treated much the same, as their RMSE and MAE values are
averaged across all subjects to give an RMSE and an MAE score for each
baseline.</p>
      <p>Table 3 compares the validation results achieved in scenario S3
by models with and without pretraining for = 30 minutes. This
experiment clearly shows the benefit of pretraining the models: both
the RMSE and MAE are noticeably lower for the pretrained models.
As a result, pretraining is always used as part of the training process
for both values of .</p>
      <p>Table 4 compares models that were fine-tuned on training and
validation data with models fine-tuned solely on the training data, in
scenario S3. The results show that the extra examples provided by
the validation data proved helpful in improving performance. It is
interesting to note that using the combined training-validation data
only slightly helped the baselines, but helped the LSTM-based
models by a noticeable margin.
Overall, the LSTM-based models (Average or Best) had the best
RMSE and MAE performance across all three scenarios, with the
exception of the RMSE scores for scenario S1. Compared to the other
two scenarios, the LSTM models and the baselines have a lower
performance in S1. The decline in performance is even more apparent
for the LSTM models, which cannot beat the time-dependent
baseline in terms of RMSE for both the 30 minute and 60 minute
prediction horizons. This can be explained by the limited number of
examples for scenario S1: since there are so few testing examples
in this scenario per subject, one bad prediction can hurt the results
significantly, more so for the RMSE than the MAE. Furthermore, the
trained models tend to make very similar predictions for all examples
stemming from a specific meal, meaning that if the model made a bad
prediction for one test example, it likely made a series of similarly
bad predictions.</p>
      <p>To alleviate the scarcity of training examples in scenario S1,
models trained on S3 examples, which are the most plentiful and subsume
S1, were evaluated separately on test examples from S1. This gives
an indication on whether any transfer learning is taking place. Table 6
shows the results of this transfer learning experiment, indicating that
training on the additional examples from scenario S3 helps improve
performance on scenario S1 to the level that now the LSTM-based
models outperform both baselines.
We introduced a generic neural architecture, composed of two
chained LSTMs and a fully connected network, with the purpose of
training data-driven models for making recommendations with
respect to any type of quantitative events that may impact BG levels,
in particular carbohydrate amounts and bolus insulin dosages.
Experimental evaluations on the task of carbohydrate recommendations
within a 30 or 60 minute prediction window demonstrate the
feasibility and potential of the proposed architecture, as well as its ability to
benefit from pre-training and transfer learning. Future plans include
evaluating carbohydrate recommendations within larger prediction
windows, as well as training the architecture for bolus
recommendations.</p>
    </sec>
    <sec id="sec-7">
      <title>ACKNOWLEDGEMENTS</title>
      <p>This work was supported by grant 1R21EB022356 from the National
Institutes of Health (NIH). Conversations with Josep Vehi helped
shape the research directions presented herein. The contributions of
physician collaborators Frank Schwartz, MD, and Amber Healy, DO,
are gratefully acknowledged. We would also like to thank the
anonymous people with type 1 diabetes who provided their blood glucose,
insulin, and meal data.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bunescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Struble</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Marling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shubrook</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Schwartz</surname>
          </string-name>
          , '
          <article-title>Blood glucose level prediction using physiological models and support vector regression'</article-title>
          ,
          <source>in Proceedings of the Twelfth International Conference on Machine Learning and Applications (ICMLA)</source>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>140</lpage>
          . IEEE Press,
          <article-title>(</article-title>
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Cappon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vettoretti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Marturano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Facchinetti</surname>
          </string-name>
          , and G. Sparacino, '
          <article-title>A neural-network-based approach to personalize insulin bolus calculation using continuous glucose monitoring'</article-title>
          ,
          <source>Journal of Diabetes Science and Technology</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ),
          <fpage>265</fpage>
          -
          <lpage>272</lpage>
          , (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Sepp</given-names>
            <surname>Hochreiter</surname>
          </string-name>
          and
          <article-title>Ju¨rgen Schmidhuber, 'Long short-term memory'</article-title>
          ,
          <source>Neural Computation</source>
          ,
          <volume>9</volume>
          ,
          <fpage>1735</fpage>
          -
          <lpage>1780</lpage>
          , (12
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Kingma</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Ba</surname>
          </string-name>
          , '
          <article-title>Adam: A method for stochastic optimization'</article-title>
          ,
          <source>in Third International Conference for Learning Representations (ICLR)</source>
          , San Diego, California, (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Marling</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Bunescu</surname>
          </string-name>
          , '
          <article-title>The OhioT1DM dataset for blood glucose level prediction'</article-title>
          ,
          <source>in The 3rd International Workshop on Knowledge Discovery in Healthcare Data</source>
          , Stockholm, Sweden, (
          <year>2018</year>
          ). Available at http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2148</volume>
          /paper09.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mirshekarian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bunescu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Marling</surname>
          </string-name>
          , '
          <article-title>LSTMs and neural attention models for blood glucose prediction: Comparative experiments on real and synthetic data'</article-title>
          ,
          <source>in Proceedings of the 41st International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC</source>
          <year>2019</year>
          ), Berlin, Germany, (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Mougiakakou and K. S. Nikita</surname>
          </string-name>
          , '
          <article-title>A neural network approach for insulin regime and dose adjustment in type 1 diabetes'</article-title>
          ,
          <source>Diabetes Technology &amp; Therapeutics</source>
          ,
          <volume>2</volume>
          (
          <issue>3</issue>
          ),
          <fpage>381</fpage>
          -
          <lpage>389</lpage>
          , (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>K.</given-names>
            <surname>Plis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bunescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Marling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shubrook</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Schwartz</surname>
          </string-name>
          ,
          <string-name>
            <surname>'</surname>
          </string-name>
          <article-title>A machine learning approach to predicting blood glucose levels for diabetes management'</article-title>
          ,
          <source>in Modern Artificial Intelligence for Health Analytics: Papers Presented at the Twenty-Eighth AAAI Conference on Artificial Intelligence</source>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>39</lpage>
          . AAAI Press, (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Jankovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Budzinski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Diem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stettler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Mougiakakou</surname>
          </string-name>
          , '
          <article-title>A dual mode adaptive basal-bolus advisor based on reinforcement learning'</article-title>
          ,
          <source>IEEE Journal of Biomedical and Health Informatics</source>
          ,
          <volume>23</volume>
          (
          <issue>6</issue>
          ),
          <fpage>2633</fpage>
          -
          <lpage>2641</lpage>
          , (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Walsh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Roberts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. S.</given-names>
            <surname>Bailey</surname>
          </string-name>
          , and L. Heinemann, '
          <article-title>Bolus advisors: Sources of error, targets for improvement'</article-title>
          ,
          <source>Journal of Diabetes Science and Technology</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ),
          <fpage>190</fpage>
          -
          <lpage>198</lpage>
          , (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H. C.</given-names>
            <surname>Zisser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. T.</given-names>
            <surname>Robinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bevier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Dassau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. L.</given-names>
            <surname>Ellingsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Doyle</surname>
          </string-name>
          , and L. Jovanovic, '
          <article-title>Bolus calculator: A review of four “smart” insulin pumps</article-title>
          .',
          <source>Diabetes Technology &amp; Therapeutics</source>
          ,
          <volume>10</volume>
          (
          <issue>6</issue>
          ),
          <fpage>441</fpage>
          -
          <lpage>444</lpage>
          , (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>