(57)【特許請求の範囲】
【請求項１】
システム（１００）であって、
時間間隔（ＴNext）によって分けられた血糖測定値（ＢＧ）を測定するグルコメーター（１２４）と、
前記グルコメーター（１２４）と通信する投薬コントローラ（１６０）と、
を備え、
前記投薬コントローラ（１６０）は、データ処理デバイス（１１２）と、当該データ処理デバイス（１１２）と通信する非一時的メモリ（２４、１１４、１４４）と、を含み、  前記投薬コントローラ（１６０）は、
前記グルコメーター（１２４）から患者（１０）の血糖測定値（ＢＧ）を受信し、
患者情報（２０８ａ）を受信し、
前記血糖測定値（ＢＧ）及び前記患者情報（２０８ａ）に基づいて皮下インスリン治療（９００、１１００、１２００、１３００、１４００）の集合から皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を選択し、
前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を実行し、
当該選択される皮下インスリン治療（９００、１１００、１２００、１３００、１４００）が、皮下標準プログラム（９００）、食事ボーラスなしの皮下プログラム（１１００）、炭水化物カウントなしの食事毎皮下プログラム（１２００）、炭水化物カウントを伴う食事毎皮下プログラム（１３００）、及び非糖尿病患者のための皮下プログラム（１４００）のうちの１又は２以上を含み、
前記皮下標準プログラム（９００）中に、前記投薬コントローラ（１６０）は、
前記受信された血糖測定値（ＢＧ）の血糖タイプ（ＢＧType）を決定し、かつ、
ＢＧが、前記血糖測定値であり、ＢＧTargetが、患者（１０）のターゲット血糖値であり、ＣＦが、修正係数である場合に、
ＣＢ＝（ＢＧ−ＢＧTarget）／ＣＦ
を計算することにより、前記血糖タイプ（ＢＧType）に基づいて食事前修正ボーラス（ＣＢ）を決定する
ことを特徴とするシステム（１００）。
【請求項２】
前記投薬コントローラ（１６０）は、
支配血糖値（ＢＧgov）を受信し、かつ
前記受信した支配血糖値（ＢＧgov）に基づいて調節係数（ＡＦ）を決定する、
ことを特徴とする請求項１に記載のシステム（１００）。
【請求項３】
前記投薬コントローラ（１６０）は、
支配血糖値（ＢＧgov）を受信し、
前記支配血糖値（ＢＧgov）が値の閾値範囲内であると決定し、かつ
調節係数（ＡＦ）を前記値の閾値範囲に基づいて事前設定された調節係数（ＡＦ）に設定する、
ことを特徴とする請求項１に記載のシステム（１００）。
【請求項４】
前記投薬コントローラ（１６０）は、
支配血糖値（ＢＧgov）を受信し、
前記支配血糖値（ＢＧgov）が、値の複数の事前設定範囲のうちの１つ内であると決定し、かつ
前記支配血糖値（ＢＧgov）を含む前記事前設定された値範囲に関連付けられた事前設定された調節係数（ＡＦ）に調節係数（ＡＦ）を設定する、
ことを特徴とする請求項１に記載のシステム（１００）。
【請求項５】
前記投薬コントローラ（１６０）は、
ＣＩＲが、炭水化物対インスリン比であり、ＣＩＲPreviousが、以前に決定された炭水化物対インスリン比であり、ＡＦが、前記調節係数（ＡＦ）である場合に、
ＣＩＲ＝（ＣＩＲPrevious）／ＡＦ
を計算することにより、当該調節係数（ＡＦ）に基づいて炭水化物対インスリン比（ＣＩＲ）を決定する、
ことを特徴とする請求項２乃至４のいずれかに記載のシステム（１００）。
【請求項６】
前記血糖タイプは、前記血糖測定値（ＢＧ）を測定する時間に関連付けられた血糖時間に関連付けられ、該血糖タイプ（ＢＧType）は、朝食前血糖測定値（ＢＧBreakfast）、昼食前血糖測定値（ＢＧLunch）、夕食前血糖測定値（ＢＧDinner）、就寝時血糖測定値（ＢＧBedtime）、及び就寝中血糖測定値（ＢＧMidSleep）からなる群から選択され、
前記就寝中、朝食前、昼食前、夕食前、及び就寝時の血糖測定値（ＢＧ）は、毎日の反復交代順番でスケジュールされる、
ことを特徴とする請求項１乃至５のいずれかに記載のシステム（１００）。
【請求項７】
前記投薬コントローラ（１６０）は、
朝食前血糖測定値（ＢＧBreakfast）が前記グルコメーター（１２４）から前記データ処理デバイス（１１２）で受信されたか否かを決定し、かつ
前記朝食前血糖測定値（ＢＧBreakfast）が受信されていた時に、
支配血糖値（ＢＧGov）を以前の就寝中血糖測定値（ＢＧMidsleep）又は前記朝食前血糖測定値（ＢＧBreakfast）のうちの小さい方の値として選択し、
前記選択された支配血糖測定値（ＢＧMidsleep、ＢＧBreakfast）に基づいて当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を調節するための調節係数（ＡＦ）を決定し、
前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）を取り出し、かつ
前記調節係数（ＡＦ）を前記前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）に乗算することにより、毎日１、２、又は３回の設定可能な頻度で前記患者（１０）に投与される長時間作用型インスリンのインスリン投薬量に対応する前記当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を決定する、
ことを特徴とする請求項１乃至６のいずれかに記載のシステム（１００）。
【請求項８】
前記投薬コントローラ（１６０）は、前記朝食前血糖測定値（ＢＧBreakfast）が受信されていなかった時に、
推奨基礎投薬量（ＲｅｃＢａｓａｌ）を阻止し、かつ
前記朝食前血糖測定値（ＢＧBreakfast）が受信されていなかったこと及び前記阻止された推奨基礎投薬量（ＲｅｃＢａｓａｌ）を示す警告を前記データ処理デバイス（１１２）から前記投薬コントローラ（１６０）と通信するディスプレイ（１１６、１４６）に送信する、
ことを特徴とする請求項７に記載のシステム（１００）。
【請求項９】
前記投薬コントローラ（１６０）は、
前記グルコメーター（１２４）から朝食前血糖測定値（ＢＧBreakfast）を受信し、
支配血糖値（ＢＧGov）を以前の就寝中血糖測定値（ＢＧMidSleep）及び前記受信された朝食前血糖測定値（ＢＧBreakfast）のうちの一方として選択し、
前記選択された支配血糖測定値（ＢＧMidSleep、ＢＧBreakfast）に基づいて当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を調節するための調節係数（ＡＦ）を決定し、
前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）を取り出し、かつ
前記調節係数（ＡＦ）を前記前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）に乗算することによって、毎日１、２、又は３回の設定可能な頻度で前記患者（１０）に投与される長時間作用型インスリンのインスリン投薬量に対応する前記当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を決定し、
前記支配血糖値（ＢＧGov）は、前記以前の就寝中血糖測定値（ＢＧMidSleep）が前記朝食前血糖測定値（ＢＧBreakfast）よりも小さい時に当該以前の就寝中血糖測定値（ＢＧMidSleep）として選択され、
前記支配血糖値（ＢＧGov）は、前記以前の就寝中血糖測定値（ＢＧMidSleep）が、３単位のインスリンを超える修正インスリン投薬量（ＣＢ）を伴い、かつ該修正インスリン投薬量（ＣＢ）と前記朝食前血糖測定値（ＢＧBreakfast）の間の経過時間が３時間未満である、ということがない限り、前記朝食前血糖測定値（ＢＧBreakfast）が該以前の就寝中血糖測定値（ＢＧMidSleep）よりも小さい時に該朝食前血糖測定値（ＢＧBreakfast）として選択される、
ことを特徴とする請求項１乃至８のいずれかに記載のシステム（１００）。
【請求項１０】
前記投薬コントローラ（１６０）は、前記決定された血糖タイプ（ＢＧType）が、朝食前血糖測定値（ＢＧBreakfast）、昼食前血糖測定値（ＢＧLunch）、又は夕食前血糖測定値（ＢＧDinner）のうちの１つである時に、
次の血糖タイプ（ＢＧType）に関連付けられた次の血糖測定値（ＢＧ）が受信された後に、当該次の血糖測定値（ＢＧ）に基づいて前記決定された血糖タイプ（ＢＧType）に関連付けられた１日のある時間での次の日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を調節するための調節係数（ＡＦ）を決定し、かつ
前記決定された血糖タイプ（ＢＧType）に関連付けられた前記当日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）に前記調節係数（ＡＦ）を乗算することにより、前記決定された血糖タイプ（ＢＧType）に関連付けられた１日の前記時間での前記次の日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を決定する、
ことを特徴とする請求項１乃至９のいずれかに記載のシステム（１００）。
【請求項１１】
前記非糖尿病患者のための皮下プログラム（１４００）中に、前記投薬コントローラ（１６０）は、
前記グルコメーター（１２４）から当該投薬コントローラ（１６０）によって受信された閾値（ＬA）よりも小さいか又は等しい各血糖測定値（ＢＧ）に対して、
全ての現在推奨のインスリン投薬量を１未満の値を含む投薬量低減係数によって乗算することにより、新しい現在推奨のインスリン投薬量を決定し、かつ
全ての前記新しい現在推奨のインスリン投薬量の和としてインスリンの合計毎日投薬量（ＴＤＤ）を再計算する、
ことを特徴とする請求項１乃至１０のいずれかに記載のシステム（１００）。
【請求項１２】
前記炭水化物カウントなしの皮下食事毎プログラム（１２００）中に、前記投薬コントローラ（１６０）は、
その日を通して使用するための推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を決定し、かつ
各食事に対して、直前の推奨食事ボーラスに当該直前の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌprev）に関連付けられた直前の食事の後で受信された血糖測定値（ＢＧ）によって支配される調節係数（ＡＦ）を乗算することにより、前記食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を調節する、
ことを特徴とする請求項１乃至１１のいずれかに記載のシステム（１００）。
【請求項１３】
前記炭水化物カウントを伴う皮下食事毎プログラム（１３００）中に、前記投薬コントローラ（１６０）は、
その日を通して使用するための炭水化物対インスリン比（ＣＩＲ）を決定し、
各食事に対して、直前の食事に関連付けられた直前の炭水化物対インスリン比（ＣＩＲPrevious）を当該直前の食事の後に受信された血糖測定値（ＢＧ）によって支配される調節係数（ＡＦ）によって除算することにより、前記炭水化物対インスリン比（ＣＩＲ）を調節し、
各食事に関連付けられた炭水化物の量に対して、当該関連の炭水化物の量を当該関連の調節された炭水化物対インスリン比（ＣＩＲ）によって除算することにより、各食事に対る推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を決定する、
ことを特徴とする請求項１乃至１２のいずれかに記載のシステム（１００）。
【請求項１４】
前記投薬コントローラ（１６０）は、前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を当該投薬コントローラ（１６０）と通信する投与デバイス（１２３、１２３ａ、１２３ｂ）に送信し、
前記投与デバイス（１２３、１２３ａ、１２３ｂ）は、
投薬器（２２３ａ、２２３ｂ）と、
前記投薬器（２２３ａ、２２３ｂ）と通信し、前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を実行する時に、当該投薬器（２２３ａ、２２３ｂ）をして当該選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）によって指定されたインスリンを投与させる投与コンピュータデバイス（１１２ａ、１１２ｂ）と、
を含む、
ことを特徴とする請求項１乃至１３のいずれかに記載のシステム（１００）。
【請求項１５】
時間間隔（ＴNext）によって分けられた患者（１０）の血糖測定値（ＢＧ）をグルコメーター（１２４）からデータ処理デバイス（１１２）で受信する段階と、
前記データ処理デバイス（１１２）で患者情報（２０８ａ）を受信する段階と、
前記データ処理デバイス（１１２）を使用して、前記血糖測定値（ＢＧ）及び前記情報（２０８ａ）に基づいて皮下インスリン治療（９００、１１００、１２００、１３００、１４００）の集合から皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を選択する段階であって、当該選択される皮下インスリン治療（９００、１１００、１２００、１３００、１４００）が、皮下標準プログラム（９００）、食事ボーラスなしの皮下プログラム（１１００）、炭水化物カウントなしの食事毎皮下プログラム（１２００）、炭水化物カウントを伴う食事毎皮下プログラム（１３００）、及び非糖尿病患者のための皮下プログラム（１４００）のうちの１又は２以上を含む、という段階と、
前記データ処理デバイス（１１２）を使用して、前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を実行する段階と、
を備え、
前記皮下標準プログラム（９００）は、
前記データ処理デバイス（１１２）を使用して前記受信した血糖測定値（ＢＧ）の血糖タイプ（ＢＧType）を決定する段階、及び
ＢＧが、前記血糖測定値であり、ＢＧTargetが、患者（１０）のターゲット血糖値であり、ＣＦが、修正係数である場合に、
ＣＢ＝（ＢＧ−ＢＧTarget）／ＣＦ
を計算することにより、前記データ処理デバイス（１１２）を使用して、前記血糖タイプ（ＢＧType）に基づいて食事前修正ボーラス（ＣＢ）を決定する段階、
を含むことを特徴とする方法（１６００）。
【請求項１６】
前記データ処理デバイス（１１２）で、支配血糖値（ＢＧgov）を受信する段階と、
前記データ処理デバイス（１１２）を使用して、前記受信した支配血糖値（ＢＧgov）に基づいて調節係数（ＡＦ）を決定する段階と、
を更に含むことを特徴とする請求項１５に記載の方法（１６００）。
【請求項１７】
前記調節係数（ＡＦ）を決定する段階は、
前記支配血糖値（ＢＧgov）が値の閾値範囲内である時を決定する段階と、
前記調節係数（ＡＦ）を前記値の閾値範囲に関連付けられた事前設定された調節係数（ＡＦ）に設定する段階と、
を含むことを特徴とする請求項１６に記載の方法（１６００）。
【請求項１８】
前記調節係数（ＡＦ）を決定する段階は、
前記支配血糖値（ＢＧgov）が値の複数の事前設定範囲のうちの１つ内であると決定する段階と、
前記支配血糖値（ＢＧgov）を含む前記事前設定された値範囲に関連付けられた事前設定された調節係数（ＡＦ）に前記調節係数（ＡＦ）を設定する段階と、
を含むことを特徴とする請求項１６に記載の方法（１６００）。
【請求項１９】
前記データ処理デバイス（１１２）を使用して、ＣＩＲが、炭水化物対インスリン比であり、ＣＩＲPreviousが、以前に決定された炭水化物対インスリン比（ＣＩＲ）であり、ＡＦが、前記調節係数（ＡＦ）である場合に、
ＣＩＲ＝（ＣＩＲPrevious）／ＡＦ
を計算することにより、当該調節係数（ＡＦ）に基づいて炭水化物対インスリン比（ＣＩＲ）を決定する段階
を更に含むことを特徴とする請求項１６乃至１８のいずれかに記載の方法（１６００）。
【請求項２０】
前記血糖タイプは、前記血糖測定値（ＢＧ）を測定する時間に関連付けられた血糖時間に関連付けられ、当該血糖タイプ（ＢＧType）は、朝食前血糖測定値（ＢＧBreakfast）、昼食前血糖測定値（ＢＧLunch）、夕食前血糖測定値（ＢＧDinner）、就寝時血糖測定値（ＢＧBedtime）、就寝中血糖測定値（ＢＧMidSleep）、及びその他の血糖測定値（ＢＧMisc）からなる群から選択される
ことを特徴とする請求項１５乃至１９のいずれかに記載の方法（１６００）。
【請求項２１】
前記データ処理デバイス（１１２）を使用して、朝食前血糖測定値（ＢＧBreakfast）が前記グルコメーター（１２４）から該データ処理デバイス（１１２）で受信されたか否かを決定する段階と、
前記朝食前血糖測定値（ＢＧBreakfast）が受信されていた時に、
前記データ処理デバイス（１１２）を使用して、支配血糖値（ＢＧGov）を以前の就寝中血糖測定値（ＢＧMidsleep）又は前記朝食前血糖測定値（ＢＧBreakfast）のうちの小さい方の値として選択する段階、
前記データ処理デバイス（１１２）を使用して、前記選択された支配血糖測定値（ＢＧMidSleep、ＢＧBreakfast）に基づいて当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を調節するための調節係数（ＡＦ）を決定する段階、
前記データ処理デバイス（１１２）により、前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）を取り出す段階、及び
前記データ処理デバイス（１１２）により、前記調節係数（ＡＦ）を前記前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）に乗算することによって、毎日１、２、又は３回の設定可能な頻度で前記患者（１０）に投与される長時間作用型インスリンのインスリン投薬量に対応する当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を決定する段階と、
を更に含むことを特徴とする請求項１５乃至２０のいずれかに記載の方法（１６００）。
【請求項２２】
前記朝食前血糖測定値（ＢＧＢreakfast）が受信されていなかった時に、
前記データ処理デバイス（１１２）を使用して、推奨基礎投薬量（ＲｅｃＢａｓａｌ）を阻止する段階と、
前記阻止された推奨基礎投薬量（ＲｅｃＢａｓａｌ）を示す警告を前記データ処理デバイス（１１２）から該データ処理デバイス（１１２）と通信するディスプレイ（１１６、１４６）に送信する段階と、
を更に含むことを特徴とする請求項２１に記載の方法（１６００）。
【請求項２３】
前記データ処理デバイス（１１２）で、前記グルコメーター（１２４）から朝食前血糖測定値（ＢＧBreakfast）を受信する段階と、
前記データ処理デバイス（１１２）を使用して、支配血糖値（ＢＧGOV）を以前の就寝中血糖測定値（ＢＧMidSleep）及び前記受信した朝食前血糖測定値（ＢＧBreakfast）のうちの一方として選択する段階と、
前記データ処理デバイス（１１２）を使用して、前記選択された支配血糖測定値（ＢＧMidSleep、ＢＧBreakfast）に基づいて当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を調節するための調節係数（ＡＦ）を決定する段階と、
前記データ処理デバイス（１１２）により、前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）を取り出す段階と、
前記データ処理デバイス（１１２）により、前記調節係数（ＡＦ）を前記前日の就寝時推奨基礎投薬量（ＲｅｃＢａｓａｌprev(last)）に乗算することによって、毎日１、２、又は３回の設定可能な頻度で前記患者（１０）に投与される長時間作用型インスリンのインスリン投薬量に対応する当日の推奨基礎投薬量（ＲｅｃＢａｓａｌ）を決定する段階と、
を更に含み、
前記支配血糖値（ＢＧGOV）は、前記以前の就寝中血糖測定値（ＢＧMidSleep）が前記朝食前血糖測定値（ＢＧBreakfast）よりも小さい時に当該以前の就寝中血糖測定値（ＢＧMidSleep）として選択され、
前記支配血糖値（ＢＧGov）は、前記以前の就寝中血糖測定値（ＢＧMidSleep）が、３単位のインスリンを超える修正インスリン投薬量（ＣＢ）を伴い、かつ該修正インスリン投薬量（ＣＢ）と前記朝食前血糖測定値（ＢＧBreakfast）の間の経過時間が３時間未満である、ということがない限り、前記朝食前血糖測定値（ＢＧBreakfast）が該以前の就寝中血糖測定値（ＢＧMidsleep）よりも小さい時に該朝食前血糖測定値（ＢＧBreakfast）として選択される、
ことを特徴とする請求項１５乃至２２のいずれかに記載の方法（１６００）。
【請求項２４】
前記決定された血糖タイプ（ＢＧType）が、朝食前血糖測定値（ＢＧBreakfast）、昼食血糖測定値（ＢＧLunch）、又は夕食血糖測定値（ＢＧDinner）のうちの１つである時に、
次の血糖タイプ（ＢＧType）に関連付けられた次の血糖測定値（ＢＧ）が受信された後に、前記データ処理デバイス（１１２）を使用して、当該次の血糖測定値（ＢＧ）に基づいて前記決定された血糖タイプ（ＢＧType）に関連付けられた１日のある時間での次の日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を調節するための調節係数（ＡＦ）を決定する段階と、
前記データ処理デバイス（１１２）により、前記決定された血糖タイプ（ＢＧType）に関連付けられた前記当日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）に前記調節係数（ＡＦ）を乗算することにより、前記決定された血糖タイプ（ＢＧType）に関連付けられた１日の前記時間での前記次の日の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を決定する段階と、
を更に含むことを特徴とする請求項１５乃至２３のいずれかに記載の方法（１６００）。
【請求項２５】
前記非糖尿病患者のための皮下プログラム（１４００）は、
前記グルコメーター（１２４）から前記データ処理デバイス（１１２）によって受信された閾値（ＬA）よりも小さいか又は等しい各血糖測定値（ＢＧ）に対して、
前記データ処理デバイス（１１２）を使用して、全ての現在推奨のインスリン投薬量を１未満の値を含む投薬量低減係数によって乗算することにより、新しい現在推奨のインスリン投薬量を決定する段階と、
前記データ処理デバイス（１１２）を使用して、全ての前記新しい現在推奨のインスリン投薬量の和としてインスリンの合計毎日投薬量（ＴＤＤ）を再計算する段階と、
を含むことを特徴とする請求項２４に記載の方法（１６００）。
【請求項２６】
前記炭水化物カウントなしの皮下食事毎プログラム（１２００）は、
前記データ処理デバイス（１１２）を使用して、その日を通して使用するための推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を決定する段階と、
各食事に対して、前記データ処理デバイス（１１２）を使用して、直前の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌprev）に当該直前の推奨食事ボーラス（ＲｅｃＭｅａｌＢｏｌprev）に関連付けられた直前の食事の後に受信された血糖測定値（ＢＧ）によって支配される調節係数（ＡＦ）を乗算することにより、前記食事ボーラス（ＲｅｃＭｅａｌＢｏｌ）を調節する段階と、
を含むことを特徴とする請求項１５乃至２５のいずれかに記載の方法（１６００）。
【請求項２７】
前記炭水化物カウントを伴う皮下食事毎プログラム（１３００）は、
前記データ処理デバイス（１１２）を使用して、その日を通して使用するための炭水化物対インスリン比（ＣＩＲ）を決定する段階と、
各食事に対して、前記データ処理デバイス（１１２）を使用して、直前の食事に関連付けられた直前の炭水化物対インスリン比（ＣＩＲPrevious）を当該直前の食事の後に受信された血糖測定値（ＢＧ）によって支配される調節係数（ＡＦ）によって除算することにより、前記炭水化物対インスリン比（ＣＩＲ）を調節する段階と、
を含むことを特徴とする請求項１５乃至２６のいずれかに記載の方法（１６００）。
【請求項２８】
前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を前記データ処理デバイス（１１２）と通信する投与デバイス（１２３、１２３ａ、１２３ｂ）に送信する段階を更に含み、
前記投与デバイス（１２３、１２３ａ、１２３ｂ）は、
投薬器（２２３ａ、２２３ｂ）と、
前記投薬器（２２３ａ、２２３ｂ）と通信し、前記選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）を実行する時に、当該投薬器（２２３ａ、２２３ｂ）をして当該選択された皮下インスリン治療（９００、１１００、１２００、１３００、１４００）によって指定されたインスリンを投与させる投与コンピュータデバイス（１１２ａ、１１２ｂ）と、
を含む
ことを特徴とする請求項１５乃至２７のいずれかに記載の方法（１６００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の開示は、インスリン投与又はインスリン投薬を管理するためのシステムに関する。
【背景技術】
【０００２】
今日、米国の救急病院に受け入れられる患者の４０％近くは、高血糖症又は低血糖症のいずれかを体験しており、この両方は深刻な病状である。これらの患者の多くが糖尿病であるが、他は、外傷性障害、薬物反応、ストレス、及び他のファクタにより変動する血糖を有する。そのような患者を管理する看護師及び医師は、複雑な書面プロトコルを使用してインスリン投薬を手動で計算している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
手動計算は、人間の誤りによって正確ではない場合があり、これは、患者安全性問題をもたらす可能性がある。異なる機関が、複数のかつ時には相反するプロトコルを使用してインスリン投薬量を手動で計算している。更に、プロトコルは、看護師及び医師が管理しなければならない余分の事務処理を含む場合があり、これは、次に、ワークフローの非効率性、追加の運用コスト、及び従業員満足度問題をもたらす。ＳＣＩＰ（外科治療改善プロジェクト）スコア、入院の長さ、再入院率、及び死亡率さえも、次善の血糖管理に悪影響を与える。
【０００４】
連続的静脈内インスリン注入を管理する一般的な方法は、書面プロトコルとして公知の１組の書面指示の使用によるものである。書面プロトコルは、条件文のツリーと、与えられた血糖値が、異なる列のインスリン速度の使用を決める数字の表の何らかの使用とを伴うことが多い。これらの書面プロトコルの複雑さは、これを使用する看護師によるエラーの確率を増加させる。これらのエラーは、低血糖事象に至る可能性がある。
【課題を解決するための手段】
【０００５】
本開示の１つの態様は、インスリンを投与する方法を提供する。本方法は、患者の血糖測定値をグルコメーターからデータ処理デバイスで受信する段階を含む。血糖測定値は、時間間隔によって分けられ、かつ血糖測定値を測定する時間に関連付けられた血糖時間を含む。本方法はまた、データ処理デバイスで患者情報を受信する段階を含む。本方法は、データ処理デバイスを使用して、皮下インスリン治療の集合から経管栄養患者のための皮下インスリン治療プログラムを選択する段階を含む。この選択は、血糖測定値及び患者情報に基づいている。選択された皮下インスリン治療は、皮下標準プログラム、食事ボーラスなしの皮下プログラム、炭水化物カウントなしの食事毎皮下プログラム、炭水化物カウントを伴う食事毎皮下プログラム、及び非糖尿病患者のための皮下プログラムのうちの１又は２以上を含む。皮下標準プログラムは、データ処理デバイスを使用して受信された血糖測定値の血糖タイプを決定する段階と、データ処理デバイスを使用して血糖タイプに基づいて修正インスリン投薬量を決定する段階とを含む。本方法はまた、データ処理デバイスを使用して、選択された皮下インスリン治療を実行する段階を含む。
【０００６】
本開示の実施は、以下の任意的な特徴の１又は２以上を含むことができる。一部の実施では、本方法は、支配血糖値を受信する段階と、受信した支配血糖値に基づいて調節係数を決定する段階とを含む。調節係数を決定する段階は、支配血糖値が値の閾値範囲内である時を決定する段階と、値の閾値範囲に基づいて事前設定された調節係数に調節係数を設定する段階とを含むことができる。一部の実施では、本方法は、調節係数に基づいて炭水化物対インスリン比を決定する段階を含む。血糖タイプは、血糖測定値を測定する時間に関連付けられた血糖時間に関連付けられる。血糖タイプは、朝食前血糖測定値、昼食前血糖測定値、夕食前血糖測定値、就寝時血糖測定値、就寝中血糖測定値、及びその他の血糖測定値からなる群から選択される。
【０００７】
一部の例では、本方法は、データ処理デバイスを使用して、朝食血糖測定値がグルコメーターからデータ処理デバイスで受信されたかを決定する段階を含む。朝食血糖測定値が受信されていた時に、本方法は、データ処理デバイスを使用して、以前の就寝中血糖測定値又は朝食血糖測定値のうちの小さい方の値として支配血糖値を選択する段階を含む。本方法は、データ処理デバイスを使用して、選択された支配血糖測定値に基づいて当日の推奨基礎投薬量を調節するための調節係数を決定する段階と、データ処理デバイスにより、前日の就寝時推奨基礎投薬量を取り出す段階とを更に含む。本方法は、データ処理デバイスにより、調節係数を前日の就寝時推奨基礎投薬量に乗算することによって当日の推奨基礎投薬量を決定する段階を更に含む。当日の推奨基礎投薬量は、毎日１、２、又は３回の設定可能な頻度で患者に投与される長時間作用型インスリンのインスリン投薬量に対応する。朝食血糖測定値が受信されていなかった時に、本方法は、データ処理デバイスを使用して、基礎投薬量推奨を阻止する段階と、データ処理デバイスからの警告をデータ処理デバイスと通信するディスプレイに送信する段階とを含む。この警告は、阻止された基礎投薬量推奨を示す。
【０００８】
本方法は、データ処理デバイスで、グルコメーターから朝食血糖測定値を受信する段階と、データ処理デバイスを使用して支配血糖値を以前の就寝中血糖測定値と受信された朝食血糖測定値とのうちの一方として選択する段階とを更に含む。本方法はまた、データ処理デバイスを使用して、選択された支配血糖測定値に基づいて当日の推奨基礎投薬量を調節するための調節係数を決定する段階と、データ処理デバイスによって前日の就寝時推奨基礎投薬量を取り出す段階とを含む。本方法は、データ処理デバイスにより、調節係数を前日の就寝時推奨基礎投薬量に乗算することによって当日の推奨基礎投薬量を決定する段階を更に含む。当日の推奨基礎投薬量は、毎日１、２、又は３回の設定可能な頻度で患者に投与される長時間作用型インスリンのインスリン投薬量に対応する。以前の就寝中血糖測定値が朝食血糖測定値よりも低い時には、支配血糖値が以前の就寝中血糖測定値として選択される。以前の就寝中血糖測定値が３単位のインスリンを超える修正インスリン投薬量を伴い、かつ修正インスリン投薬量と朝食血糖測定値の間の経過時間が３時間未満でない限り、朝食血糖測定値が以前の就寝中血糖測定値よりも低い時に、支配血糖値が朝食血糖測定値として選択される。
【０００９】
決定された血糖タイプが、朝食血糖測定値、昼食血糖測定値、又は夕食血糖測定値のうちの１つである時に、本方法は、データ処理デバイスを使用して、次の血糖タイプに関連付けられた次の血糖測定値が受信された後に、次の血糖測定値に基づいて決定された血糖タイプに関連付けられた１日のある時間での次の日の推奨食事ボーラスを調節するための調節係数を決定する段階を含む。本方法はまた、データ処理デバイスにより、調節係数を決定された血糖タイプに関連付けられた当日の推奨食事ボーラスに乗算することによって決定された血糖タイプに関連付けられた１日のある時間での次の日の推奨食事ボーラスを決定する段階を含む。
【００１０】
非糖尿病患者のための皮下プログラムは、グルコメーターからデータ処理デバイスによって受信された閾値よりも低いか又は等しい各血糖測定値に対して、データ処理デバイスを使用して、１よりも小さな値を含む投薬量低減係数によって全ての現在推奨のインスリン投薬量を乗算することによって新しい現在推奨のインスリン投薬量を決定する段階を含む。本方法は、データ処理デバイスを使用して、新しい現在推奨のインスリン投薬量の全ての和としてインスリンの１日の投薬量の合計を再計算する段階を含む。炭水化物カウントなしの皮下食事毎プログラムは、データ処理デバイスを使用して、その日を通して使用する推奨ボーラスを決定する段階を含む。各食事に対して、本方法は、データ処理デバイスを使用して、直前の推奨食事ボーラスに関連付けられた直前の食事後に受信された血糖測定値によって支配される調節係数を直前の推奨食事ボーラスに乗算することによって食事ボーラスを調節する段階を含む。炭水化物カウントを伴う皮下食事毎プログラムは、データ処理デバイスを使用して、その日を通して使用するための炭水化物対インスリン比を決定する段階を含む。各食事に対して、本方法は、直前の食事に関連付けられた直前の炭水化物対インスリン比を直前の食事後に受信された血糖測定値によって支配される調節係数によって除算することにより、データ処理デバイスを使用して炭水化物対インスリン比を調節する段階を含む。
【００１１】
本方法は、データ処理デバイスと通信する投与デバイスに選択された皮下インスリン治療を送信する段階を更に含む。投与デバイスは、投薬器と投薬器と通信する投与コンピュータデバイスとを含む。投与コンピュータデバイスは、選択された皮下インスリン治療を実行する時に、選択された皮下インスリン治療によって指定されたインスリンを投薬器に投与させる。投与デバイスは、インスリン注入ペン又はインスリンポンプのうちの少なくとも一方を含む。
【００１２】
本開示の別の態様は、インスリンを投与するためのシステムを提供する。システムは、時間間隔によって分けられた血糖測定値を測定するグルコメーターと当該グルコメーターと通信する投薬コントローラとを含む。投薬コントローラは、データ処理デバイスとデータ処理デバイスと通信する非一時的メモリとを含む。投薬コントローラは、グルコメーターから患者の血糖測定値を受信し、かつ患者情報を受信する。投薬コントローラは更に、血糖測定値及び患者情報に基づいて皮下インスリン治療の集合から皮下インスリン治療を選択する。選択される皮下インスリン治療は、皮下標準プログラム、食事ボーラスなしの皮下プログラム、炭水化物カウントなしの食事毎皮下プログラム、及び非糖尿病患者のための皮下プログラムのうちの１又は２以上を含む。標準皮下プログラム中に、投薬コントローラは、受信した血糖測定値の血糖タイプを決定し、血糖タイプに基づいて修正インスリン投薬量を決定する。投薬コントローラは、選択された皮下インスリン治療を実行する段階を更に含む。
【００１３】
一部の例では、投薬コントローラは、支配血糖値を受信して、受信した支配血糖値に基づいて調節係数を決定する。投薬コントローラは、支配血糖値が値の閾値範囲内である時を決定することによって調節係数を決定し、調節係数を値の閾値範囲に基づいて事前設定された調節係数に設定する。投薬コントローラは、支配血糖値が値の複数の事前設定範囲のうちの１つ内であると決定することによって調節係数を決定し、支配血糖値を含む事前設定された値範囲に関連付けられた事前設定された調節係数に調節係数を設定する。一部の例では、投薬コントローラは、炭水化物対インスリン比を決定する。
【００１４】
血糖タイプは、血糖測定値を測定する時間に関連付けられた血糖時間に関連付けられる。血糖タイプは、朝食前血糖測定値、昼食前血糖測定値、夕食前血糖測定値、就寝時血糖測定値、就寝中血糖測定値、及びその他の血糖測定値からなる群から選択される。
【００１５】
一部の実施では、投薬コントローラは、朝食血糖測定値がグルコメーターからデータ処理デバイスで受信されたかを決定する。朝食血糖測定値が受信されていた時に、投薬コントローラは、支配血糖値を以前の就寝中血糖測定値又は朝食血糖測定値のうちの小さい方の値として選択する。投薬コントローラは、更に、選択された血糖測定値に基づいて当日の推奨基礎投薬量を調節するための調節係数を決定し、前日の就寝時推奨基礎投薬量を取り出し、調節係数を前日の就寝時推奨基礎投薬量に乗算することによって当日の推奨基礎投薬量を決定する。当日の推奨基礎投薬量は、毎日１、２、又は３回の設定可能な頻度で患者に投与される長時間作用型インスリンのインスリン投薬量に対応する。朝食血糖測定値が受信されていなかった時に、投薬コントローラは、基礎投薬量推奨を阻止して投薬コントローラと通信するディスプレイに警告を送信する。警告は、阻止された基礎投薬量推奨を示す。
【００１６】
一部の例では、投薬コントローラは、グルコメーターから朝食血糖測定値を受信し、支配血糖値を以前の就寝中血糖測定値又は受信した朝食血糖測定値のうちの一方として選択する。投薬コントローラは、選択された支配血糖測定値に基づいて当日の推奨基礎投薬量を調節するための調節係数を決定し、前日の就寝時推奨基礎投薬量を取り出す。投薬コントローラは、更に、調節係数を前日の就寝時推奨基礎投薬量に乗算することによって当日の推奨基礎投薬量を決定する。当日の推奨基礎投薬量は、毎日１、２、又は３回の設定可能な頻度で患者に投与される長時間作用型インスリンのインスリン投薬量に対応する。以前の就寝中血糖測定値が朝食血糖測定値よりも低い時には、支配血糖値が、以前の就寝中血糖測定値として選択される。以前の就寝中血糖測定値が３単位のインスリンを超える修正インスリン投薬量を伴い、かつ修正インスリン投薬量と朝食血糖測定値の間の経過時間が３時間未満でない限り、朝食血糖測定値が以前の就寝中血糖測定値よりも低い時には、支配血糖値が、朝食血糖測定値として選択される。
【００１７】
決定された血糖タイプが、朝食血糖測定値、昼食血糖測定値、又は夕食血糖測定値のうちの１つである時に、次の血糖タイプに関連付けられた次の血糖測定値が受信された後に、投薬コントローラは、次の血糖測定値に基づいて決定された血糖タイプに関連付けられた１日のある時間での次の日の推奨食事ボーラスを調節するための調節係数を決定する。投薬コントローラは、更に、調節係数を決定された血糖タイプに関連付けられた当日の推奨食事ボーラスに乗算することによって決定された血糖タイプに関連付けられた１日のある時間での次の日の推奨食事ボーラスを決定する。
【００１８】
非糖尿病患者のための皮下プログラム中に、投薬コントローラは、１よりも小さな値を含む投薬量低減係数によって全ての現在推奨されているインスリン投薬量を乗算することによって新しい現在推奨のインスリン投薬量を決定し、グルコメーターから投薬コントローラによって受信された閾値よりも小さいか又は等しい各血糖測定値に対して、新しい現在推奨のインスリン投薬量全ての和としてインスリンの合計毎日投薬量を再計算する。炭水化物カウントなしの皮下食事毎プログラム中に、投薬コントローラは、その日を通して使用する推奨食事ボーラスを決定する。各食事に対して、システムは、直前の推奨食事ボーラスを直前の推奨食事ボーラスに関連付けられた直前の食事後に受信された血糖測定値によって支配される調節係数によって乗算することによって食事ボーラスを調節する。炭水化物カウントを伴う皮下食事毎プログラム中に、投薬コントローラは、その日を通して使用するための炭水化物対インスリン比を決定する。各食事に対して、システムは、直前の食事に関連付けられた直前の炭水化物対インスリン比を直前の食事後に受信された血糖測定値によって支配される調節係数で除算することによって炭水化物対インスリン比を調節する。
【００１９】
一部の例では、投薬コントローラは、選択された皮下インスリン治療を投薬コントローラと通信する投与デバイスに送信する。投与デバイスは、投薬器と投薬器と通信する投与コンピュータデバイスとを含む。投与コンピュータデバイスは、選択された皮下インスリン治療を実行する時に、選択された皮下インスリン治療によって指定されたインスリンを投薬器に投与させる。投与デバイスは、インスリン注入ペン又はインスリンポンプのうちの少なくとも一方を含む。
【００２０】
本発明の開示の１又は２以上の実施の詳細は、以下の添付図面及び説明に示している。他の態様、特徴、及び利点は、説明及び図面から及び特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００２１】
【図１Ａ】患者の血糖レベルをモニタするための例示的システムの概略図である。
【００２２】
【図１Ｂ】患者の血糖レベルをモニタするための例示的システムの概略図である。
【００２３】
【図１Ｃ】投薬コントローラと通信する例示的投与デバイスの概略図である。
【００２４】
【図２Ａ】患者の血糖レベルをモニタするための例示的処理の概略図である。
【００２５】
【図２Ｂ】患者情報を入力するための例示的ディスプレイの概略図である。
【００２６】
【図２Ｃ】患者のリストから患者を選択するための例示的ディスプレイの概略図である。
【００２７】
【図３】図２Ａの例示的投薬量計算処理の概略図である。
【００２８】
【図４Ａ】図２Ａの静脈内時間間隔の例示的計算の概略図である。
【００２９】
【図４Ｂ】次の血糖測定が予定される時間を示す例示的ディスプレイの概略図である。
【図４Ｃ】次の血糖測定が予定される時間を示す例示的ディスプレイの概略図である。
【００３０】
【図４Ｄ】患者情報を入力するための例示的ディスプレイの概略図である。
【００３１】
【図４Ｅ】患者の次の血糖測定のための患者情報及びタイマーの例示的ディスプレイの概略図である。
【００３２】
【図５Ａ】図２Ａの例示的食事ボーラス処理の概略図である。
【図５Ｂ】図２Ａの例示的食事ボーラス処理の概略図である。
【００３３】
【図５Ｃ】患者の血糖測定値を入力するための例示的ディスプレイの概略図である。
【図５Ｄ】患者の次の血糖測定のための患者情報及びタイマーの例示的ディスプレイの概略図である。
【００３４】
【図６Ａ】図２Ａの例示的皮下移行処理の概略図である。
【図６Ｂ】図２Ａの例示的皮下移行処理の概略図である。
【００３５】
【図６Ｃ】患者に関するユーザへの例示的警告の概略図である。
【００３６】
【図６Ｄ】患者の治療を継続又は中止すべきか否かを問い合わせる例示的ディスプレイの概略図である。
【００３７】
【図６Ｅ】患者に関するユーザからの情報を要求する例示的ディスプレイの概略図である。
【００３８】
【図６Ｆ】インスリンの推奨投薬量を示す例示的ディスプレイの概略図である。
【００３９】
【図６Ｇ】患者を皮下送出に移行することに関するユーザへの例示的表示の概略図である。
【００４０】
【図７】例示的修正ボーラス処理の概略図である。
【００４１】
【図８】例示的調節係数処理の概略図である。
【００４２】
【図９Ａ】例示的皮下標準プログラムの概略図である。
【図９Ｂ】例示的皮下標準プログラムの概略図である。
【００４３】
【図９Ｃ】患者に関するユーザからの情報を要求する例示的ディスプレイの概略図である。
【図９Ｄ】患者に関するユーザからの情報を要求する例示的ディスプレイの概略図である。
【図９Ｅ】患者に関するユーザからの情報を要求する例示的ディスプレイの概略図である。
【００４４】
【図１０】経管栄養患者のための例示的皮下処理の概略図である。
【００４５】
【図１１】食事ボーラスなしの例示的皮下処理の概略図である。
【００４６】
【図１２Ａ】炭水化物カウントなしの例示的食事毎皮下処理の概略図である。
【図１２Ｂ】炭水化物カウントなしの例示的食事毎皮下処理の概略図である。
【００４７】
【図１３Ａ】炭水化物カウントを伴う例示的食事毎皮下処理の概略図である。
【図１３Ｂ】炭水化物カウントを伴う例示的食事毎皮下処理の概略図である。
【００４８】
【図１４Ａ】例示的皮下非糖尿病処理の概略図である。
【図１４Ｂ】例示的皮下非糖尿病処理の概略図である。
【００４９】
【図１５】インスリンを投与するための動作の例示的配置の概略図である。
【００５０】
【図１６】インスリンを投与するための動作の例示的配置の概略図である。
【発明を実施するための形態】
【００５１】
様々な図における同じ参照記号は同じ要素を示す。
【００５２】
食事を摂取する糖尿病入院患者は食欲が乏しいことが多く、結果的に食事ボーラスと食事の調節が困難である。食事なしの食事ボーラスは低血糖症を引き起こし、食事ボーラスなしの食事は高血糖症を引き起こす。様々なプロバイダは、投薬量を調節する様々な方法を使用する場合があり、一部は、その固有の処方を使用する場合があり、一部は、看護師が従うには複雑で困難である書面プロトコルを使用する場合があり、人的エラーの発生の確率が高まり、一部は、ヒューリスティックな方法を使用する場合がある。従って、一貫性が保証されない。更に、食事を摂取しない糖尿病患者では、患者の病態を追跡するコンピュータ化された方法が現在存在しない。非常に病状が悪いか又は外科手術中にある時の「ストレス性高血糖症」によるものを含む非糖尿病患者では、ストレスが収まりインスリンの必要性が急速に減少する時にその回復をモニタする方法が現在はない。投薬量処方が急速に減少しない場合も、低血糖症を引き起こす場合がある。従って、患者の血糖レベルをモニタする臨床サポートシステム１００（図１Ａ及び１Ｂ）を有することが望ましい。
【００５３】
図１Ａ‐１Ｃを参照すると、一部の実施では、臨床判断サポートシステム１００が、患者１０の入力された患者病態パラメータを分析して、患者の血糖レベルをターゲット範囲ＢＧTRにもたらしかつ維持するための個別化されたインスリン投薬量を計算する。更に、システム１００は、患者１０の血糖レベルをモニタして、推奨期間にわたって患者の血糖を好ましいターゲット範囲ＢＧTRに持って行くための推奨静脈内又は皮下インスリン投薬量を計算する。資格のある訓練を受けたヘルスケア専門家４０が臨床的な論理的思考と共にシステム１００を使用して患者１０に投与される適正な投与方法を決定することができる。従って、システム１００は、年齢、体重、及び身長のような患者の情報を考慮すると同時に患者の現在の及び累積の血糖値ＢＧを評価するための血糖管理ツールである。システム１００は、食事に対する炭水化物の内容、患者１０に投与されるインスリン投薬量、例えば、基礎インスリンの長時間作用型インスリン投薬量と食事ボーラス及び補正ボーラスの即効性インスリン投薬量のような他の情報を考慮することができる。これらの測定（非一時的メモリ２４、１１４、１４４に格納することができる）に基づいて、システム１００は、インスリン、ブドウ糖、又は生理食塩水の静脈内投薬量、又は皮下の基礎及びボーラスインスリン投与の推奨又は処方投薬量を推奨して、血糖レベルを設定可能な（患者の情報に基づいて）臨床医が決定した血糖ターゲット範囲ＢＧTRに調節して維持する。システム１００は、患者のインスリンの感度又は改善された血糖管理及び結果も考慮に入れる。システム１００は、人口動態及び以前の結果のような関連の患者情報を考慮に入れることができ、ヘルスケアリソースの効率的な使用をもたらす。最後に、システム１００は、ユーザ４０及び患者１０に推奨又は処方投薬量を報告するためのレポートプラットフォームを提供する。これに加えて、システム１００は、食事を摂る糖尿病患者の場合に、インスリン投与をモニタする人間よりも速く信頼できかつ効率的なインスリン投与を提供する。システム１００は、患者の血糖レベルＢＧを格納及び追跡するシステムの機能により、人間の誤りの確率を低減し、一貫した治療を保証し、これは、統計的研究に使用することができる。経管栄養又は食事を摂らない患者に関しては、システム１００は、専用サブプログラムを提供し、食事ボーラス以外の基礎インスリン及び修正ボーラスを提供する。栄養体系における炭水化物は、基礎インスリンで多くを占めるので、経管栄養又は食事を摂らない患者は、食事を摂る患者よりも高い基礎インスリンレベルを通常は有する。システム１００は、直前の食事ボーラス及びその後のＢＧに基づいて食事ボーラスを調節する専用サブプログラムを提供することにより、炭水化物カウントなしに食事ボーラスの食事毎の調節を提供する。システム１００は、直前の食事ボーラス及びそれに続くＢＧに使用されたＣＩＲに基づいて、各食事で調節される食事ボーラスに基づいて炭水化物−インスリン−比（ＣＩＲ）を調節する専用サブプログラムを提供することにより、炭水化物カウントのある食事ボーラスの食事毎の調節を提供する。
【００５４】
高血糖症は、血糖が高すぎる時に存在する病態である。高血糖症は、典型的には糖尿病に関連付けられ、この病態は、糖尿病を持たないが、外科手術からのトラウマ又はストレス及び病院の手順からの他の複雑さによって引き起こされる上昇した血糖レベルを有する多くの患者に存在する可能性がある。インスリン治療は、血糖レベルを通常範囲に戻すために使用される。
【００５５】
低血糖症は、患者の血糖レベルが好ましいターゲットよりも下になった時にいつでも発生する場合がある。病状の重い患者の血糖レベルの適切な管理は死亡率を低減し、感染率、病院入院の長さ、及び死亡の減少に関連付けられる。高血糖症の治療は、患者が、１型糖尿病、２型糖尿病、妊娠性糖尿病、又は糖尿病以外のストレス性高血糖症と診断されているか否かに応じて異なる場合がある。血糖ターゲット範囲ＢＧTRは、下限、すなわち、低ターゲットＢＧTRLと、上限、すなわち、高ターゲットＢＧTRHによって定められる。
【００５６】
ストレスに関連した高血糖症：患者の病状が悪いか又は外科手術を受けている場合に患者は「ストレス性高血糖症」になることが多い。この病態は、インスリンを必要とする。糖尿病患者では、インスリンの必要性が目に見えて増加する。糖尿病患者以外では、ストレスだけがインスリンの必要性を占め、患者が回復した時にストレスは治まり、インスリンの必要性は急速に低減する。糖尿病患者以外では、インスリンに対する必要性が投与計画よりも速く減少することが問題であり、低血糖症を招く場合がある。
【００５７】
糖尿病は、インスリンによって長年にわたって治療される。一部の反復する用語及び語句を以下に説明する。
【００５８】
注射：手動注射器又は公知の筆記用具に似ていることでラベル付けされた携帯式注射器を備えたインスリン「ペン」によるインスリンの投与。
【００５９】
注入：両方で継続した投与が可能な皮下インスリン又は静脈内装置１２３ａのインスリンポンプによる継続した方式でのインスリンの投与。
【００６０】
静脈内インスリン治療：インスリンの静脈内注入は、許容可能な使用指示として米国食品医薬品局によって承認されている。静脈内注入は、全てのインスリン投与ルート内で最も早いものであるが、病院環境でしか利用できない。例えば、集中治療室では、患者がブドウ糖静注により、完全静脈栄養（ＴＰＮ）により、又は胃へのチューブによって栄養が与えられている場合がある。患者は、インスリン注入速度ＩＩＲで静脈内注入のインスリンを与えられていることが多い。ＩＩＲは、血糖の頻繁な検査によって調節され、典型的には約２０分と２時間の間の間隔である。これは、新しいＩＩＲが各血糖検査後に計算されるプロトコルと組み合わされる。
【００６１】
基礎ボーラス治療：基礎ボーラス治療は、基礎インスリンとインスリンのボーラスを伴うあらゆるインスリン投与計画を総称して呼ぶ用語である。
【００６２】
基礎インスリン：空腹状態にある患者の肝臓によって放出されるブドウ糖を新陳代謝するように意図されるインスリン。基礎インスリンは、患者の血液内のインスリンの背景レベルを維持するような方法で投与され、一般的には安定しているがインスリンポンプ１２３ａによってプログラムされた方式で変えることができる。基礎インスリンは、昼夜間のゆっくりとした比較的継続したインスリンの供給であり、ブドウ糖の消費（ブドウ糖の摂取と酸化）及びブドウ糖の生成（グルコジェノリシス及びグルコネオジェネシス）の均衡を保つのに必要な低いが現在のインスリン濃度を提供する。患者の基礎インスリンの必要量は、通常は約１０から１５ｍＵ／ｋｇ／ｈｒであり、合計の１日のインスリン必要量の３０％から５０％を占めるが、かなりの変動が患者１０に基づいて発生する。
【００６３】
ボーラスインスリン：不連続の投薬量で投与されるインスリン。ボーラスの２つの主なタイプ、すなわち、食事ボーラスと修正ボーラスがある。
【００６４】
食事ボーラス：消化器官から直接血液に入る食事中の炭水化物の予想即効性に比例した量で食事の直前に摂取される。食事ボーラスの量は、１日の各食事、すなわち、朝食、昼食、及び夕食に対して医師４０によって決定及び処方される。代わりに、食事ボーラスは、食事に対する炭水化物のグラム数に一般的に比例した量で計算することができる。食事ボーラスの量は、炭水化物−インスリン−比（ＣＩＲ）と呼ぶ個別化された数字である比例定数を使用して計算され、以下の様に計算される。
食事インスリンボーラス＝{食事における炭水化物のグラム数} / CIR        (1)
【００６５】
修正ボーラスＣＢ：血糖測定直後に注射：修正ボーラスの量は、ＢＧのエラーに比例する（すなわち、ボーラスは、血糖測定値ＢＧと患者の個別化ターゲット血糖ＢＧTarget間の差に比例する）。比例定数は、修正率、ＣＦと呼ぶ個別化された数字であり、以下の様に計算される。
CB = (BG - BGTarget) / CF        (2)
【００６６】
修正ボーラスＣＢは、一般的に、以前に摂取された食事が消化された後の空腹状態に投与される。これは、次の食事のすぐ前の時間に一致することが多い。
【００６７】
インスリンポンプ治療及び複数の投与注射治療を含むいくつかの種類の基礎ボーラスインスリン治療が存在する。
【００６８】
インスリンポンプ治療：インスリンポンプ１２３ａは、継続した皮下インスリン注入治療としても公知の糖尿病の治療におけるインスリンの投与に使用される医療デバイスである。このデバイスは、ポンプ、インスリンのための廃棄容器、及び使い捨て注入セットを含む。ポンプ１２３ａは、インスリン注射器又はインスリンペンによる１日複数回のインスリン注射の代替であり、血糖モニタリング及び炭水化物カウントと組み合わせて使用される時に集中インスリン治療を可能にする。インスリンポンプ１２３ａは、ポケットベルの大きさぐらいの電池式のデバイスである。インスリンポンプａはインスリンのカートリッジを収容し、小さいプラスチック針又は粘着性のパッチで密着された「カニューレ」である「注入セット」を通じて患者にインスリンを送り込む。即効性のあるインスリンだけが使用される。
【００６９】
多投薬量注射（ＭＤＩ）：ＭＤＩは、注射器又はインスリンペン１２３ｂを使用した１日当たり数回のインスリンの皮下手動注射を伴う。食事インスリンは、食事に比例した量での各食事前の即効性インスリンの注射によって供給される。基礎インスリンは、毎日の１回、２回、又は３回の長時間作用型インスリン投薬量の注射として提供される。他の投与頻度も利用可能である。様々なタイプのインスリンの開発が進められており、その多くが使用され、ＭＤＩ投与計画による大きい利点となっている。
【００７０】
長時間作用型インスリンは、非ピーキングであり、１日に一度ぐらいのあまり頻繁ではなく注射することができる。これらのインスリンは基礎インスリンに広く使用される。これらは、血糖が肝臓によって補充され安定した最小血糖レベルを維持する患者の空腹状態に対して適切な投薬量で投与される。
【００７１】
即効性インスリンは自然のインスリンよりも短い時間スケールで作用する。これらはボーラスに適している。
【００７２】
一部の例では、重篤な患者は、経口食料及び液体が患者１０から控えられることを意味する絶食（ＮＰＯ）を命令される。典型的にはこれらの患者１０は意識不明であり、侵襲的な外科治療を完了しているか又は一般的には嚥下が困難である。静脈内インスリン注入は、典型的にはこれらの患者の血糖レベルを管理する最も有効な方法である。患者１０はＮＰＯであり、静脈内ブドウ糖、完全静脈栄養、経管栄養、炭水化物を含む定期的な食事の安定した注入を受けているか、又はあらゆる栄養を全く受けていない場合がある。患者１０があらゆる栄養を受けていない場合に、血糖は、典型的には肝臓による内生的生成で置換される。
【００７３】
患者の病態が改善した時に、ＮＰＯ命令が解除され、患者１０は経口カロリー摂取を始めることができる。血糖異常のある患者１０では、炭水化物の消費を覆うための追加のインスリンが必要になる場合がある。これらの患者１０は、一般的には、患者の皮下組織に１回のインスリン注射を受ける。
【００７４】
重症患者１０の食事時間インスリンの皮下投与は、インスリン注射を受けた後に、患者１０が食べないと決定するか、食事を終えることができないか、又は嘔吐を体験した場合に、患者の安全危険性を招くことがある。
【００７５】
予め決められた時間間隔にわたる食事時間インスリンの継続した静脈内注入は、患者の安全危険性を最小にしながら患者の食事時間インスリン要件の区分的な達成を可能にする。患者１０が食べることができないと決定した場合に、継続した静脈内注入を中止することができ、又は患者１０が食事を終了することができない場合に、継続した静脈内注入速度を低減してカロリー摂取の低減に対して調節することができる。
【００７６】
インスリンの薬物動態学（身体がある期間にわたって薬に行うこと、組織への吸収、分配、局在化、生体内変換、及び排出の処理を含む）及び薬力学（薬が身体に作用すること）作用は、入院患者１０への分配の一般的な方法である静脈内ルートを通じてインスリンを投与する時に大きく改善される。静脈内ルートを使用した食事インスリン要件の管理は、患者の安全、インスリンの効果、及びインスリン投与の精度を改善することができる。継続した静脈内インスリン注入投与計画を必要とする患者の大多数は、糖尿病（ＤＭ）診断にかかわらず、進行中の血糖制御のための皮下インスリン投与計画に移行する必要がある可能性もある。更に、タイミング、投与法、及びインスリン投与の継続した静脈内ルートから皮下インスリン投与計画に患者１０を移行させるための処理は複雑であり、様々な患者パラメータに基づいて個別化されなければならない。この方式の個別化が失敗すると、移行処理中の深刻な低血糖症の危険性を高めることがある。十分なインスリンが与えられない場合に、患者１０は、深刻な移行後高血糖症を体験する場合があり、継続した静脈内インスリン注入の再開始を必要とする。従って、臨床判断サポートシステム１００が、個別化されたインスリンの投薬量を計算し、患者１０の病態を考慮しながら患者の血糖レベルをターゲット範囲ＢＧTRにもたらしかつ維持する。
【００７７】
臨床判断サポートシステム１００は、血糖管理モジュール５０、統合モジュール６０、監視モジュール７０、及び報告モジュール８０を含む。各モジュール５０、６０、７０、８０は、ネットワーク２０を通じて他のモジュール５０、６０、７０、８０と通信する。一部の例では、ネットワーク２４（以下に説明）がクラウドコンピュータリソースへのアクセスを提供し、特定のモジュール５０、６０、７０、８０の代わりに遠隔デバイスでのサービスの成果を可能にする。血糖管理モジュール５０は、プロセッサ１１２、１３２、１４２で又はクラウドコンピュータリソースで処理２００（例えば、実行可能な命令セット）を実行する。統合モジュール６０は、システム１００とのユーザ４０の対話を可能にする。統合モジュール６０は、ユーザ４０によって入力された情報を受信してユーザ４０がストレージシステム（例えば、クラウドストレージリソース２４、病院の電子医療システム１４０の非一時的メモリ１４４、患者デバイス１１０の非一時的メモリ１１４、又は統合モジュール６０と通信する他の非一時的ストレージ媒体）に格納されている以前に入力された情報を取り出すことを可能にする。従って、統合モジュール６０は、ディスプレイ１１６、１４６を通じてユーザ４０とシステム１００の間の対話を可能にする。監視モジュール７０は、統合モジュール６０を通じてユーザ４０から受信した患者情報２０８ａと患者の血糖値ＢＧを測定するグルコメーター１２４から受信した情報を考慮して患者１０が閾値の血糖値ＢＧTH内であるか否かを決定する。一部の例では、監視モジュール７０は、患者の血糖値ＢＧが閾値血糖値ＢＧTH内ではない場合にユーザ４０に警告する。監視モジュール７０は、事前に構成されたパラメータ（以下に説明する）に基づいて予想値と実際の値の間の他の相違をユーザ４０に警告するように事前に構成することができる。例えば、患者の血糖値ＢＧが、閾値の血糖値の下限ＢＧTHLよりも下に下がった時である。報告モジュール８０は、少なくとも１つのディスプレイ１１６、１４６と通信することができ、血糖管理モジュール５０、統合モジュール６０、及び／又は監視モジュール７０を使用して決定された情報をユーザ４０に提供する。一部の例では、報告モジュール８０は、ディスプレイ１１６、１４６に表示することができる及び／又は印刷することができるレポートを提供する。
【００７８】
システム１００は、患者１０の血糖レベル及び栄養摂取量を評価するように構成される。システム１００は、患者１０が皮下インスリン投与計画に移行するか否かを評価する。データの評価及び分析に基づいて、システム１００は、患者１０に投与されるインスリン投薬量を計算して、患者１０の血糖レベルを血糖ターゲット範囲ＢＧTRにもたらしかつ維持する。システム１００は、以下に限定されるものではないが、静脈内インスリンポンプ１２３ａ、皮下インスリン注入ポンプ１２３ａ、グルコメーター、継続した血糖モニタリングシステム、及び血糖センサを含む様々なデバイスに適用することができる。一部の実施では、システム１００が患者の血糖値ＢＧ及び患者のインスリン摂取量をモニタする時に、システム１００は、これらの患者１０がインスリン耐性があるとシステムが考えるので、患者１０がインスリンの５００単位／時間より多くを受けるかをユーザ４０に通知する。
【００７９】
一部の例では、臨床判断サポートシステム１００は、ネットワーク２０、患者デバイス１１０、投薬コントローラ１６０、及びサービスプロバイダ１３０を含む。患者デバイス１１０は、以下に限定されるものではないが、デスクトップコンピュータ又は携帯式電子デバイス（例えば、携帯電話、スマートフォン、携帯情報端末、バーコードリーダ、パーソナルコンピュータ、又は無線パッド）又はネットワーク２０を通じて情報を送信及び受信することができるいずれかの他の電子デバイスを含むことができる。
【００８０】
患者デバイス１１０は、データプロセッサ１１２（例えば、命令を実行するコンピュータデバイス）と、データプロセッサ１１２と通信する非一時的メモリ１１４及びディスプレイ１１６（例えば、タッチディスプレイ又はタッチ以外のディスプレイ）とを含む。一部の例では、患者デバイス１１０は、キーボード１１８、スピーカ２１２、マイクロフォン、マウス、及びカメラを含む。
【００８１】
サービスプロバイダ１３０は、非一時的メモリ１３４と通信するデータプロセッサ１３２を含むことができる。サービスプロバイダ１３０は、患者１０に、投薬コントローラ１６０のプロセッサ１１２、１３２、１４２で実行可能であり、患者デバイス１１０、静脈内注入ポンプ１２３ａ、病院電子医療記録システム１４０、又は携帯式血糖測定デバイス１２４（例えば、血糖メーター又はグルコメーター）を通じてネットワーク２０を通じてアクセス可能な処理２００（図２を参照）（例えば、移動アプリケーション、ウェブサイトアプリケーション、又は命令のセットを含むダウンロード可能なプログラム）を提供する。静脈内注入ポンプは、流体、薬剤、又は栄養物を患者の循環器系に注入する。静脈内注入ポンプ１２３ａは、静脈内注入に使用することができ、一部の例では、皮下、動脈、及び硬膜外注入が使用される。静脈内注入ポンプ１２３ａは、典型的には、費用が高いか又は看護師又は医師４０によって手動で（例えば、ペン１２３ｂを使用して）投与される場合に信頼できない流体を投与する。静脈内注入ポンプ１２３ａは、１時間の注射当たり０．１ｍｌ投与することができ、注射は毎分で、患者によって望ましい反復ボーラスのある注射であり、最高１時間につき最大数まで、又は容積が１日の時間によって変化する流体である。
【００８２】
一部の実施では、電子医療記録システム１４０は病院４２（又は医師のオフィス）に位置し、データプロセッサ１４２、非一時的メモリ１４４、及びディスプレイ１４６（例えば、タッチディスプレイ又は非タッチディスプレイ）を含む。一時的メモリ１４４及びディスプレイ１４６はデータプロセッサ１４２と通信する。一部の例では、病院電子医療システム１４０は、データプロセッサ１４２と通信するキーボード１４８を含み、ユーザ４０が患者情報２０８ａのようなデータを入力することを可能にする（図２Ａ及び２Ｂ）。非一時的メモリ１４４は、検索、閲覧することができる患者記録を維持し、一部の例では、ディスプレイ１４６上で許可された病院スタッフによって修正及び更新することができる。
【００８３】
投薬コントローラ１６０はグルコメーター１２４と通信して、コンピュータデバイス１１２、１３２、１４２とコンピュータデバイス１１２、１３２、１４２と通信する非一時的メモリ１１４、１３４、１４４を含む。投薬コントローラ１６０は処理２００を実行する。投薬コントローラ１６０はグルコメーター１２４から取り出された患者に関する情報を格納して、受信した血糖測定値ＢＧに基づいてインスリン投薬速度ＩＲＲを決定する。
【００８４】
図１Ｃを参照すると、一部の実施では、インスリンデバイス１２３（例えば、投与デバイス）は、投薬コントローラ１６０と通信して、投薬コントローラ１６０によって選択された皮下インスリン治療プログラムに従ってインスリンを投与するための命令を実行することができる。投与デバイス１２３は、インスリンポンプ１２３ａ又はペン１２３ｂを含むことができる。投与デバイス１２３は、グルコメーター１２４と通信し、かつコンピュータデバイス１１２ａ、１１２ｂと、コンピュータデバイス１１２ａ、１１２ｂと通信する非一時的メモリ１１４ａ、１１４ｂとを含む。投与デバイス１２３は、患者にインスリンを投与するために投与コンピュータデバイス１１２ａ、１１２ｂと通信する投薬器２２３ａ、２２３ｂを含む。例えば、インスリンポンプ１２３ａの投薬器２２３ａは、インスリンリザーバと流体連通しているチューブと患者１０の身体に挿入されて接着パッチを通じて固定されたカヌーレとを含む注入セットを含む。ペン１２３ｂの投薬器２２３ｂは、インスリンカートリッジからインスリンを投与するために患者１０の身体に挿入するための針を含む。投与デバイス１２３は、投薬コントローラ１６０によって選択されてそこから送信される皮下インスリン治療プログラムを受信することができ、一方、投与コンピュータデバイス１１２ａ、１１２ｂは、皮下インスリン治療プログラムを実行することができる。投与コンピュータデバイス１１２ａ、１１２ｂによる皮下インスリン治療プログラムの実行は、皮下インスリン治療プログラムによって指定されたインスリンの投薬量を投薬器２２３ａ、２２３ｂに投与させる。例えば、インスリン投薬量の各単位は、投与デバイス１２３ａ、１２３ｂによって自動的に設定されるか又はダイヤルインされ、かつ投薬器２２３ａ、２２３ｂを通じて患者１０に投与することができる。
【００８５】
ネットワーク２０は、無線通信ネットワーク、携帯電話ネットワーク、時間分割多重アクセス（ＴＤＭＡ）ネットワーク、符号分割多重アクセス（ＣＤＭＡ）ネットワーク、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ）、第３世代（３Ｇ）ネットワーク、第４の世代（４Ｇ）ネットワーク、衛星通信ネットワークなどの通信ネットワークのような通信信号の送信及び受信を可能にするあらゆるタイプのネットワークを含むことができる。ネットワーク２０は、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、及びパーソナルエリアネットワーク（ＰＡＮ）の１又は２以上を含むことができる。一部の例では、ネットワーク２０は、データネットワークの組合せ、通信ネットワーク、及びデータ及び通信ネットワークの組合せを含む。患者デバイス１１０、サービスプロバイダ１３０、及び病院電子医療記録システム１４０は、ネットワーク２０を通じて信号を（有線又は無線で）送信及び受信することによって互いに通信する。一部の例では、ネットワーク２０は、ネットワーク２０を通じて利用可能なエラスティック／オンデマンドコンピュータ及び／又はストレージリソース２４とすることができるクラウドコンピュータリソースへのアクセスを提供する。「クラウド」サービスという語は、一般的に、ユーザのデバイスでローカルに実行されるのではなく、１又は２以上のネットワーク２０を通じてアクセス可能な１又は２以上の遠隔デバイスから送られるサービスを指す。
【００８６】
図１Ｂ及び２Ａ−２Ｃを参照すると、処理２００は、クライアントデバイス１１０、サービスプロバイダ１３０、及び／又は病院システム１４０を通じて入力されたパラメータ（例えば、患者病態パラメータ）を受信して、入力されたパラメータを分析し、患者の血糖レベルＢＧを好ましいターゲット範囲ＢＧTRにもたらしかつ維持するために個別化されたインスリンの投薬量を決定する。
【００８７】
一部の実施では、処理２００がパラメータの受信を開始する前に、処理２００は、ユーザ名及びパスワードを（例えば、ディスプレイ１１６、１４６に表示されたログイン画面で）受信して、資格を有して訓練を受けたヘルスケアの専門家４０が処理２００を開始して処理２００が患者１０にインスリンを正確に投与する必要があるという正しい情報を入力中であることを確認することができる。システム１００は、ログイン画面をカスタマイズすることができ、ユーザ４０がそのパスワード及び／又はユーザ名をリセットすることを可能にする。更に、システム１００は、ユーザ４０がシステム１００からログアウトすることを可能にするログアウトボタン（図示せず）を提供することができる。ログアウトボタンは、処理２００の実行中のいずれの時間にもディスプレイ１１６、１４６に表示することができる。
【００８８】
臨床判断サポートシステム１００は、患者の血糖レベルＢＧがターゲット範囲ＢＧTRの外側である時にユーザ４０に警告する警報システム１２０を含むことができる。警報システム１２０は、ビープ又はある音声のような発音機構の形態のスピーカ１２２を通じた可聴音声を生成することができる。一部の例では、警報システム１２０は、患者デバイス１１０のディスプレイ１６０に警告メッセージ又は他のタイプの指示を表示して警告メッセージを提供する。警報システム１２０は、ネットワーク１２０を通じて可聴及び／又は視覚通知を病院システム１４０（又はいずれかの他のリモートステーション）に送信して、病院システム１４０のディスプレイ１４６に表示するか又は病院システム１４０のスピーカ１５２を通じて再生することができる。
【００８９】
処理２００は、ブロック２０８で患者情報２０８ａを入力するようにユーザ４０を促す。ユーザ４０は、例えば、ユーザデバイス１１０を通じて又は病院４２（医師のオフィス）に位置した病院電子医療記録システム１４０を通じて患者情報２０８ａを入力することができる。ユーザ４０は、図２Ｂに示すように新しい患者情報２０８ａを入力し、又は図２Ｃに示すように前に格納された患者情報２０８ａを取り出すことができる。一部の実施では、ユーザ４０が患者リスト２０９から患者名の１つを選択する場合の患者リスト２０９をユーザ４０に提供し（図２Ｃ）、処理２００はその患者の情報２０８ａを取り出す。処理２００は、ユーザ４０が患者リスト２０９を例えばアルファベット順に（名前又は苗字）、位置、患者識別毎にファイラすることを可能にする。処理２００は、病院の電子医療システム１４０の非一時的メモリ１４４又は患者デバイス１１０の非一時的メモリ１１４から（例えば、患者情報２０８ａが以前に入力されて格納されている場合）患者情報２０８ａを取り出すことができる。患者情報２０８ａは、以下に限定されるものではないが、患者の名前、患者の識別番号（ＩＤ）、患者の身長、体重、生年月日、糖尿病歴、医師名、緊急連絡先、病院単位、診断、性別、病室番号、及びいずれかの他の関連の情報を含むことができる。一部の例では、診断は、以下に限定されるものではないが、火傷患者、冠動脈バイパス患者、脳卒中患者、糖尿病性ケトアシドーシス（ＤＫＡ）患者、及び外傷性障害患者を含むことができる。ユーザ４０が患者情報２０８ａの入力を完了した後に、処理２００は、ブロック２０２で患者１０が静脈内治療モジュールによって治療されるか否かを入力するようにユーザ４０を（例えば、ディスプレイ１１６、１４６で）促すことによって静脈内治療モジュールによって治療されるか否かを決定する。患者１０が静脈内治療モジュールによって治療されない場合に、処理２００は、ユーザ４０に尋ねることによって（例えば、ディスプレイ１１６、１４６上でユーザ４０を促すことにより）患者１０が皮下治療モジュールによって治療されるか否かをブロック２１０で決定する。患者１０が皮下治療で治療されることをユーザ４０が示す場合に、処理２００はブロック２１６に流れて、ユーザ４０が、ボーラスインスリンタイプ、ターゲット範囲、基礎インスリンタイプ及び分配の頻度（例えば、１日につき１投与、１日につき２投与、１日につき３投与など）、患者糖尿病ステータス、患者に命令された皮下タイプ（例えば、一貫して炭水化物ダイエット中の患者に関連する基礎／ボーラス及び修正、又はＮＰＯであるか又は継続した経腸栄養を受けている患者に関連する基礎及び修正）、患者血糖測定の頻度、又はいずれかの他の関連の情報のような患者皮下情報２１６ａを入力する。一部の実施では、患者皮下情報２１６ａは、調節又は修正することができるデフォルトパラメータが事前に投入される。ユーザ４０が患者皮下情報２１６を入力した時に、皮下プログラムがブロック２２６で始まる。処理は、一方が静脈内治療で他方が皮下治療を開始する２つのオプション（例えば、ディスプレイ１１６、１４６に表示されたボタン）で選択するようにユーザ４０を促すことにより、患者１０を静脈内治療又は皮下治療で治療するか否かを決定することができる。一部の実施では、皮下プログラムは（ブロック２２６で）、６つのサブプログラム、すなわち、皮下標準プログラム（図９Ａ−９Ｂ）、経管栄養患者のための皮下プログラム（図１０）、食事ボーラスなしの皮下プログラム（図１１）、炭水化物カウントなしの食事毎皮下プログラム（図１２）、炭水化物カウントを伴う食事毎皮下プログラム（図１３Ａ−１３Ｂ）、及び非糖尿病患者のための皮下プログラム（図１４）を含む。
【００９０】
一部の実施において及びブロック２０２に戻って参照すると、患者１０が静脈内治療モジュールで治療されることを処理２００が決定した場合に、処理２００は、静脈内治療モードに関連する患者パラメータ２０４ａのような設定データ２０４ａをブロック２０４でユーザ４０に促す。一部の例では、静脈内治療に関する患者パラメータ２０４ａに、例えば、ユーザ４０によって調節及び修正することができるデフォルト値を事前に投入することができる。これらの患者パラメータ２０４ａは、インスリン濃度（すなわち、単位／ミリリットルで測定することができる静脈内投与に使用されるインスリンの強さ）、患者に投与されるインスリンのタイプ及び速度、血糖ターゲット範囲ＢＧTR、患者の糖尿病歴、食事当たりの炭水化物の数値、又はいずれかの他の関連の情報を含むことができる。一部の実施では、インスリンのタイプ及びインスリンの速度は患者１０のＢＧに依存する。例えば、患者１０の血糖値ＢＧが２５０ｍｇｌ／ｄｌよりも高いか又はそれに等しい時に患者１０に投与されるインスリンの速度及びタイプは、患者の血糖値ＢＧが２５０ｍｌ／ｄｌよりも高い時に患者１０に投与されるインスリンの速度及びタイプとは異なる場合がある。血糖ターゲット範囲ＢＧTRは、設定可能なパラメータとすることができ、様々な患者のファクタに基づいてカスタマイズすることができる。血糖ターゲット範囲ＢＧTRは、４０ｍｇ／ｄｌ（例えば、１００−１４０ｍｇ／ｄｌ、１４０−１８０ｍｇ／ｄｌ、及び１２０−１６０ｍｇ／ｄｌ）に制限することができる。
【００９１】
ユーザ４０がブロック２０４で静脈内治療のための患者パラメータ２０４ａを入力した後に、処理２００は、ブロック２０６で患者１０の血糖値ＢＧを入力するようにユーザ４０を促す。血糖値ＢＧは、ユーザ４０によって手動で入力され、ネットワーク２０を通じてグルコメーター１２４から送信され、病院情報又はラボラトリシステム１４０から、又は他の無線デバイスから電子的に送信される。処理２００は、患者１０の血糖値ＢＧ及び投薬量計算処理３００を使用して、インスリン注入速度ＩＩＲと呼ぶ個別化されたインスリン投薬速度を決定する。
【００９２】
一部の実施では、処理２００は、以下の命令セットをプロセッサ１１２、１３２、１４２で実行する。他の命令も同様に可能である。
{
$this->load->helper(’formula’);
$PatientID         = $this->input->post("PatientID");
$CurrentBG         = $this->input->post("iv_bg_input");
$Premeal           = $this->input->post("pre_meal");
$EstCarbs          = $this->input->post("carbs");
$CancelPreMeal     = $this->input->post("CancelPreMeal");
$PatientEat        = $this->input->post("patient_eat");
$ActualCarbs       = 0;
$MealBolus         = $this->input->post("MealBolus");
$MealBolusCount    = 0;
$LastBGData        = $this->iv->GetLastIVBG($PatientID);
$PreviousBG        = $LastBGData->BGValue;
$PreviousBGRate    = $LastBGData->InsulinRate;
$iir_results       = $this->CalculateIIR($PatientID, $CurrentBG, $LastBGData, $EstCarbs);
$MealBolusDose     = 0;
$iir               = $iir_results["iir"];
$multiplier        = $iir_results["multiplier"];
$ActualCarbs       = 0;
$PostPlateCheck    = false;
$MinutesInTransition = $this->iv->GetTransitionMinutesInTransition($PatientID);
$StartingMultiplier  = $LastBGData->SensitivityFactor;
if($LastBGData->EstNumberOfCarbs == 12 && $LastBGData->ActualNumberOfCarbs == 15)
{$LastBGCarbsGiven = true;}
else
{$LastBGCarbsGiven = false;}
if($PatientEat == 0 && $EstCarbs>0 && $Premeal!= 1)
{
$MealBolusData = $this->iv->GetCurrentMealBolusInfo($PatientID);
if($MealBolusData ["NumCount"]<2)
{
$CancelPreMeal = "yes";
}
}
if($Premeal == "1")
{
$MealBolus = 1;
$ActualCarbs = 0;
$MealBolusCount = 0;
}
else if($MealBolus == 1)
{
$MealBolus = 1;
$EstCarbs = $LastBGData->EstNumberOfCarbs;
$meal_eat = $this->input->post("meal_eat");
if($meal_eat=="input")
{$ActualCarbs = $this->input->post("meal_eat_input_val");}
else
{$ActualCarbs = $meal_eat/100*$EstCarbs;}
$TimeInterval = $LastBGData->TimeInterval ;
$MealBolusCount = 1;
if($ActualCarbs ==0)
{$MealBolus = 0;}
}
else
{
$MealBolusData = $this->iv->GetCurrentMealBolusInfo($PatientID);
if ($MealBolusData["NumCount"] > 0 && $MealBolusData["NumCount"]<=2)
{
$MealBolus      = 1;
$EstCarbs       = $MealBolusData["EstNumberofCarbs"];
$ActualCarbs    = $MealBolusData["ActualNumberofCarbs"];
$MealBolusCount = $MealBolusData["NumCount"];
if($MealBolusData["NumCount"] <2)
{
$TimeInterval = $this->iv->getPostPlateCheckInterval($PatientID);
$PostPlateCheck = true;
}
else
{
$TimeInterval = $MealBolusData["TimeInterval"] ;
}
}
}
if($CancelPreMeal=="yes")
{$MealBolus =0;}
if($MealBolus ==1)
{
if($Premeal != "1")
{
$multiplier  = $LastBGData->SensitivityFactor;
}
$MB = $this->CalculateMealBolusIIR($PatientID, $CurrentBG, $EstCarbs, $ActualCarbs, $LastBGData, $multiplier, $MealBolusCount, $TimeInterval );
if ($PostPlateCheck)
{$ActualCarbs = 0;}
$iir = round($MB[0],1);
$MealBolusDose = round($MB[2],2);
if($MealBolusDose == 0.00)
{$MealBolusDose = 0.01;}
}
$iir_display = $iir;
if($this->default->InsulinUnitOfMeasure != ’units/hr’)
{
$iir_display = $iir_display/$LastBGData->InsulinConcentration;
$iir = $iir/$LastBGData->InsulinConcentration;
}
// settings
$hospital_settings = $this->patient->GetHospitalUnitInfoByHospitalUnitID($LastBGData->HospitalUnitID);
//get the value from configurable option
$HypoTreatmentValue= is_numeric($hospital_settings->HypoTreatment)−$hospital_settings->HypoTreatment:60;
$StopInsulinBGValue = $this->systemsettings->GlobalSetting("StopInsulinBGValue");
if(
(trim(strtolower($StopInsulinBGValue)) == "targetlow") || empty($StopInsulinBGValue) || !isset($StopInsulinBGValue) ||
($StopInsulinBGValue > $LastBGData->TargetLow) 
)
{$StopInsulinBGValue = $LastBGData->TargetLow;}
//if IIR gets this high, stop!!!
$StopInsulinRecommendation =
getOneField("StopInsulinRecValue","xStopInsulinRecommendation","StopInsulinRecID", $hospital_settings->StopInsulinRecomm);
$default_iir_limit = $this->options->ListData("Warning_IRGreaterThanValue","xWarning_IRGreaterThan","Warning_IRGreaterThanID = ’" . $hospital_settings->DisplayWarn . "’",true)->Warning_IRGreaterThanValue;
$ShowHighRateWarning = ($iir >= $default_iir_limit);
$HighRateLimit = $default_iir_limit;
$showInsulinResistance = false;
$showD50 = false;
$showHTF = false;
$stopInsulin = false;
$D50 = 0;
if($CurrentBG >= 250)
{
$showInsulinResistance = $this->iv->CheckIfInsulinResistance($PatientID);
}
if ( ($CurrentBG <= $HypoTreatmentValue) &&  ($CurrentBG < $LastBGData->TargetLow) )
{
$D50 = (100-$CurrentBG)*0.4;
$D50 = round($D50, 0);
//IIR for D50 is always 0
$iir = 0;
$iir_display = 0;
if ($CurrentBG <= $HypoTreatmentValue)
{
$showD50 = true;
}
else
{
if ($CurrentBG > 60)
{
$showHTF = true;
}
}
}
$stopInsulin = ($showD50 || ( $CurrentBG<=$StopInsulinBGValue && $CurrentBG < $LastBGData->TargetLow));
$showIIR = (!($showD50 || $showHTF ));
$showD50Dupe  = false;
if($showD50 && $LastBGData->BGID > 0)
{
if(
($LastBGData->MinutesFromLastBG<20) &&
($LastBGData->BGValue < $CurrentBG) 
)
{
$showD50 = false;
$showD50Dupe = true;
$iir = 0;
$D50 = 0;
}
}
if($stopInsulin)
{$iir = "0";}
$UseGTFluid = $this->UseGTFluid ($PatientID, $CurrentBG);
$BGData = array(
"ActualCarbs"=>$ActualCarbs,
"EnableFluidManage" => $hospital_settings->EnableFluidManage,
’FluidType’ => ($UseGTFluid)−$LastBGData->Over250Fluid:$LastBGData->Under250Fluid,
’FluidRate’ => ($UseGTFluid)−$LastBGData->Over250Rate:$LastBGData->Under250Rate,
’BGValue’ => $CurrentBG, 
’InsulinRate’ => $iir,
’SensitivityFactor’ => $multiplier, 
’D50W’ => $D50, 
’PatientEat’=>$PatientEat,
’MealBolusDose’ => $MealBolusDose, 
"CreateDate" => getOneField("dbo.fnGluDateTime()", "Patients", "PatientID", $PatientID)
);
if($stopInsulin)
{
$iir = 0;$iir_display = 0;
}
$ShowWarningContactPhysician= ($iir >= $StopInsulinRecommendation && $StopInsulinRecommendation!= "");
if($ShowWarningContactPhysician)
{
$ShowHighRateWarning =false;
$iir = $StopInsulinRecommendation;
$iir_display = $StopInsulinRecommendation;
$BGData["InsulinRate"] = $StopInsulinRecommendation;
$BGData["SensitivityFactor"] = $StartingMultiplier;
}
$SameIIR = false;
if($PreviousBGRate == $iir_display){
$SameIIR = true;
}
$data= array(
"iir" => $iir, 
"iir_display"=>$iir_display,
"InsulinUnitOfMeasure" => $this->default->InsulinUnitOfMeasure,
"showInsulinResistance" => $showInsulinResistance,
"showD50"=>$showD50,
"showD50Dupe"=>$showD50Dupe,
"showHTF"=>$showHTF,
"showIIR"=>$showIIR,
"stopInsulin"=>$stopInsulin,
"D50"=>$D50,
"HypoTreatmentValue"=>$HypoTreatmentValue,
’PrevD50W’ => $LastBGData->D50W,
"LastBGData" => $LastBGData,
"default" => $this->default, 
"SecondNurseVerification" => $hospital_settings->EnableSecondNurseVer,
"ShowHighRateWarning" => $ShowHighRateWarning,
"HighRateLimit" => $HighRateLimit,
"ShowWarningContactPhysician" => $ShowWarningContactPhysician,
’BGData’=>$BGData,
’SameIIR’=>$SameIIR,
’PatientEat’=>$PatientEat,
"IsDistinueIV" =>$MinutesInTransition>=240−true:false,
’EnableHypoglycemiaMessage’=>$hospital_settings->EnableHypoglycemiaMessage,
’MinutesFromLastBG’ => $LastBGData->MinutesFromLastBG,
’HypoglycemiaMessage’=>$hospital_settings->HypoglycemiaMessage,
’LastBGCarbsGiven’ =>$LastBGCarbsGiven,
’IVDiscontinueRecomm’ => $this->iv->IVDiscontinueRecomm($PatientID, $iir),
’AreLastFourInsulinRatesLow’ => $this->iv->AreLastFourInsulinRatesLow($PatientID, $iir)
);
//Loading History Data
$UserID = $this->session->userdata[’logged_in’][’UserID’];
if(($data["showIIR"]))
{
$DosageAmount = $data["iir_display"];
$DosageLabel = dealWithInsulinMeasurement($data["InsulinUnitOfMeasure"],$data["iir_display"]);
}
if($data["showD50"])
{
if($EnableHypoglycemiaMessage == 1)
{
$DosageAmount = "null";
$DosageLabel = "Stop Insulin Infusion";
}
else
{
$DosageAmount = $D50;
$DosageLabel = "D50 or 12-15 Grams of Carbs";
}
}
//if $DosageAmount is empty and $DosageLabel is empty
if(empty($DosageAmount) && empty($DosageLabel)){
$DosageAmount = 0;
$DosageLabel = null;
}
$this->load->model("patient");
$this->patient->AddDosageRecommendationHistory($PatientID, 1,1, $CurrentBG, $DosageAmount, $DosageLabel, $UserID);
$this->load->view("forms/bg/iv_bg_checkboxes", $data);
}
function UseGTFluid($PatientID, $CurrentBG)
{
//BR5.2
if($CurrentBG >= 300)
{return true;}
//BR5.1
$Last3BGs = $this->iv->Last2BGs($PatientID);
if(count($Last3BGs) == 0 && $CurrentBG >= 250)
{return true;}
//BR5.3
if($CurrentBG>=250 && $Last3BGs[0]->OverUnder == "over")
{return true;}
//BR5.4
if($CurrentBG>=250 && $Last3BGs[0]->BGValue >=250 && $Last3BGs[1]->BGValue >=250)
{return true;}
//default BR5.5
return false;
}
function CalculateMealBolusIIR($PatientID, $CurrentBG, $EstimatedCarbs, $ActualCarbs, $LastBGData, $Multiplier, $MealBolusCount, $TimeInterval)
{
$InsulinUnitsOfMeasure = GetOneField("SettingValue", "GlobalSettings", "SettingName", "InsulinUnitOfMeasure");
$r = PreMealIIR(
$PatientID, 
$CurrentBG, 
$Multiplier, 
$LastBGData->InsulinConcentration, 
$EstimatedCarbs, $ActualCarbs, 
$TimeInterval, 
$InsulinUnitsOfMeasure, 
$MealBolusCount
);
$r[0] = round($r[0], 5);
return $r;
}
function CalculateIIR($PatientID, $CurrentBG, $LastBGData, $EstCarbs)
{
/*Adjust Multiplier*/
$multiplier = $LastBGData->SensitivityFactor;
/*add the conditon $LastBGData->SensitivityFactor == $LastBGData->PreBGSensitivityFactor 
if change the Multiplier by manually ,it should not be changed.
updated by stanley on 10/30/2013
*/
if(($LastBGData->BGID!=0 || $EstCarbs > 0) && ($LastBGData->SensitivityFactor == $LastBGData->PreBGSensitivityFactor) )
{
if(
($CurrentBG > $LastBGData->TargetHigh) && 
(($CurrentBG / $LastBGData->BGValue) > 0.85)
)
{
$multiplier = $multiplier* 1.25;
}
elseif($CurrentBG < $LastBGData->TargetLow)
{
$multiplier = $multiplier * 0.8;
}
}
$multiplier = round($multiplier, 5);
//Calc IIR
$IIR = round( ($CurrentBG - 60) * $multiplier, 1);
if($IIR < 0)
{$IIR = 0;}
$return = array(
"iir"=>$IIR,
"multiplier" => $multiplier,
);
return $return;
}
【００９３】
図３は、処理２００が上述の患者情報２０８ａ（患者の血糖値ＢＧを含む）を受信した後に静脈内治療のための患者１０のインスリン注入速度ＩＩＲを計算するための投薬量計算処理３００を提供する。ブロック３０１で投薬量計算処理３００は患者の血糖ＢＧが中止閾値ＢＧTHstopよりも低いか否かを決定する。低くない場合に、ブロック３０３で投薬量計算処理３００がいずれのアクションも取ることなくブロック３０４に進む。しかし、患者の血糖ＢＧが中止閾値ＢＧＴＨｓｔｏｐよりも低い場合に、投薬量計算処理は患者の通常インスリン投薬速度ＩＲＲをブロック３０２でゼロに設定して、次に、ブロック３２２に進む。投薬量計算処理３００は、入力された血糖値ＢＧが最初に入力された血糖値であるか否かを判断ブロック３０４で決定する。
【００９４】
患者の通常インスリン投薬速度ＩＩＲは、次式に従ってブロック３２０で計算される。
IIR = (BG - K) * M                      (3A)
ここで、Ｋはオフセットターゲットとして公知の定数であり、血糖と同じ単位の尺度を有し、Ｍは単位なし乗数である。一部の例では、オフセットターゲットＫは、患者１０の血糖ターゲット範囲よりも低い。オフセットターゲットＫは、投薬量計算処理３００が血糖ターゲット範囲ＢＧTRにある血糖結果を有する非ゼロ安定インスリン投薬速度を計算することを可能にする。
【００９５】
医師４０によって決定された初期乗数Ｍ1は、インスリンに対する患者１０の反応を近似する。例えば、初期乗数は、１８歳以上の大人で０．０２に等しい。一部の例では、初期乗数Ｍ1は、血糖レベルＢＧが８０ｍｇ／ｄｌ／ｈｒより速く降下する時に発生する合併症の危機にある場合がある虚弱な高齢患者１０の０．０１に等しい。更に、医師４０は、特別な必要性を抱えた患者１０の高初期乗数Ｍ1を命令することができ、３０未満のＢＭＩ（個人の質量及び身長に基づいて人間の体型の尺度である肥満度指数）を有するＣＡＢＧ患者（すなわち、冠動脈バイパスグラフトを受けた患者）などは、一般的には０．０５の初期乗数を受け入れることができるが、３０よりも大きいＢＭＩを有する患者１０は、０．０６の初期乗数Ｍ1を受け入れることができる。これに加えて、初期乗数Ｍ1の値を決定する場合に患者の体重を考慮に入れることができ、例えば、小児科の治療では、システム１００は、以下の式を使用して患者の初期乗数Ｍ1を計算する。
MI = 0.0002 x患者の体重 (キログラムで)        (3B)
一部の実施では、Ｋは６０ｍｇ／ｄｌに等しい。投薬量計算処理３００は、ユーザ４０によって入力された２つの限界、すなわち、ターゲット範囲の下限ＢＧTRL及びターゲット範囲の上限（高）値ＢＧTRHを使用して、ターゲット血糖ターゲット範囲ＢＧTRを決定する。これらの限界は、中間点として望ましい血糖ターゲットを含有するようにユーザ４０によって選択される。これに加えて、オフセットターゲットＫは、次式に従って動的に計算することができる。
K = BGTarget−オフセット        (4)
ここで、ＢＧTargetは血糖ターゲット範囲ＢＧTRの中間点であり、オフセットは、ターゲット中心ＢＧTargetとオフセットターゲットＫの間の事前に構成された距離である。
【００９６】
一部の実施では、インスリン投薬速度ＩＲＲは、プロセッサ１１２、１３２、１４２上で以下の処理によって決定することができる。他の処理を使用することもできる。
function IIR($sf, $current_bg, $bg_default = 60, $insulin_concentration, $ins_units_of_measure = ’units/hr’) {
settype($sf,’float’);
settype($bg_default,’float’);
settype($current_bg,’float’);
settype($insulin_concentration,’float’);
/*
@param $sf = sensitivity factor from db
@param $current_bg = the current bg value being submitted
@param $db_default = the default "Stop Insulin When" value....If it isn’t passed, it defaults to 60
@param $insulin_concentration = the default insulin concentration from settings
*/
if($current_bg > 60) {
$iir = array();
$iir[0] = round(($current_bg - $bg_default) * $sf, 1);
if ($ins_units_of_measure != ’units/hr’) {
$iir[1] = round(($current_bg - $bg_default) * $sf / $insulin_concentration ,1);
}
return $iir;
} else {
return 0;
}
}
【００９７】
判断ブロック３０４を参照すると、入力された血糖値ＢＧが最初に入力された血糖値であると投薬量計算処理３００が決定した時に、投薬量計算処理３００は、ブロック３０６で初期乗数（Ｍ1）に等しい現在の乗数の値Ｍを定義する。次に、投薬量計算処理３００は、ブロック３２０で、ＩＩＲ式（式３Ａ）に従ってインスリン注入速度を計算して処理２００（図２を参照）に戻る。
【００９８】
しかし、判断ブロック３０４を再度参照すると、入力された血糖値ＢＧが最初に入力された血糖値でないと投薬量計算処理３００が決定した時に、投薬量計算処理３００は、食事ボーラスモジュールが起動されたか否かを判断ブロック３０８で決定する。食事ボーラスモジュールが起動されたと投薬量計算処理３００が決定した場合に、投薬量計算処理３００が食事ボーラス処理５００（図５を参照）を開始する。
【００９９】
判断ブロック３０８を再度参照すると、食事ボーラスモジュールが起動されていない場合に、投薬量計算処理３００は、現在の血糖値ＢＧが血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも高いか否かを判断ブロック３１０で決定する。血糖値ＢＧが血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも高い場合に、投薬量計算処理３００は、現在の血糖値ＢＧ対以前の血糖値ＢＧpの比をブロック３１４で決定し、ここでＢＧpは、現在のＢＧよりも早い時間に測定されるものとする。次に、処理２００は、血糖対以前の血糖の比ＢＧ／ＢＧpが、以下の式に示すように閾値ＬAよりも大きいか否かを決定する。
(BG / BGP) > LA            (5)
ここで、ＢＧは、患者の現在の血糖値であり、ＢＧpは、患者の以前の血糖値であり、ＬAは、血糖ターゲット範囲の上限ＢＧTRHよりも上の血糖値のＢＧ／ＢＧpの閾値比である。比ＢＧ／ＢＧpが閾値比ＬAを超える場合に、乗数Ｍが増加する。一部の例では、閾値比ＬAは０．８５に等しい。
【０１００】
血糖値ＢＧ対以前の血糖値ＢＧpの比（ＢＧ／ＢＧp）が、血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも上の血糖値ＢＧに対する閾値比ＬAよりも大きくないことを投薬量計算処理３００が決定した場合に、投薬量計算処理３００は、以前の乗数Ｍpの値に等しく現在の乗数Ｍの値を設定する。ブロック３１２を参照されたい。
M = MP                                (6)
【０１０１】
ブロック３１４を再度参照すると、血糖値ＢＧ対以前の血糖ＢＧpの比（ＢＧ／ＢＧp）が、血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも上の血糖値の閾値比ＬAよりも大きいと投薬量計算処理３００が決定した場合に、ブロック３１８で投薬量計算処理３００は、現在の乗数Ｍの値を望ましい乗数変化係数（ＭCF）で乗算する。次に、投薬量計算処理３００は、ＩＩＲ式（式３Ａ）を使用してブロック３２０でインスリン注入速度を計算して処理２００（図２を参照）に戻る。
【０１０２】
ブロック３１０を再度参照すると、現在の血糖値ＢＧが血糖ターゲット範囲ＢＧTRの上限ＢＧTRHより高くないと投薬量計算処理３００が決定した時に、投薬量計算処理３００は、次に、判断ブロック３１１で現在の血糖濃度ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも低いか否かを決定する。現在の血糖値ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも低い場合に、投薬量計算処理３００はブロック３１６で、次式：
M = MP / MCF                          (7)
に従って現在の乗数Ｍの値を乗数変化係数（ＭCF）で除算して、ブロック３２０で式３を使用して現在のインスリン注入速度ＩＩＲを計算して処理２００（図２を参照）に戻る。
【０１０３】
ブロック３１１で、血糖値ＢＧが血糖ターゲット範囲の下限ＢＧTRLより低くないと投薬量計算処理３００が決定した場合に、投薬量計算処理３００は、ブロック３１２で現在の乗数の値を以前の乗数Ｍｐの値に等しく設定する（式６を参照）。
【０１０４】
図３を再度参照すると、ブロック３１１で、現在の血糖値ＢＧがターゲット範囲の下限ＢＧTRLよりも低い場合に、論理は、判断ブロック３２２を通過し、処理３００は、現在の血糖濃度ＢＧが低血糖症閾値ＢＧHypoよりも低いか否かを決定する。現在の血糖ＢＧが低血糖症閾値ＢＧHypoよりも低い場合に、論理は、ブロック３２４を通過し、処理３００は、ブドウ糖静脈内又は経口低血糖症治療の個別化された投薬量の計算のいずれかによる低血糖症治療を推奨する。
【０１０５】
図２Ａを再度参照すると、投薬量計算処理３００がインスリン注入速度ＩＩＲを計算した後に、処理２００は、次の血糖測定までの時間間隔ＴNextを計算するための時間計算処理４００（図４Ａ）に進む。
【０１０６】
図４Ａは、現在の血糖測定値ＢＧと次の血糖測定値ＢＧnextの間の時間間隔ＴNextを計算するための処理４００を示している。血糖測定間隔ＴNextの持続時間は変更することができ、開始時間間隔は、処理２００、３００、４００の始めでユーザ４０によって入力することができ、又は予め決められた時間間隔ＴDefault（例えば、１時間）に初期設定することができる。患者１０の血糖濃度ＢＧが過度に減少する場合は時間間隔ＴNextが短くされ、又は患者１０の血糖濃度ＢＧが血糖ターゲット範囲ＢＧTR内で安定する場合は時間間隔ＴNextを長くすることができる。
【０１０７】
処理４００は、いくつかの条件に基づいて時間間隔ＴNextの値を決定する。処理４００は、いくつかの条件の適用性を検査し、各条件は、論理試験によってトリガされるＴnextの値（Ｔdefaultを除く）を有する。処理４００は、論理試験によってトリガされる値からＴnextの最低値を選択する（Ｔdefaultを数えない）。論理試験がトリガされない場合に、処理は、Ｔdefaultを選択する。これは、Ｔnextの最低値を最初に選択する論理構造によって図４Ａで達成される。しかし、他の論理構造も同様に可能である。
【０１０８】
時間計算処理４００は、現在の血糖ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRL（ターゲット範囲下限）よりも低いか否かを判断ブロック４１６で決定する。現在の血糖ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも低い場合に、時間計算処理４００は、現在の血糖ＢＧが低血糖症閾値血糖レベルＢＧHypo未満であるか否かを判断ブロック４１８で決定する。
【０１０９】
現在の血糖ＢＧが低血糖症閾値血糖レベルＢＧHypo未満である場合に、時間計算処理４００は、ブロック４２６で時間間隔ＴNextを低血糖症時間間隔ＴHypo、例えば、１５又は３０分に設定する。次に、時間計算処理４００は完了してブロック４２８で処理２００（図２）に戻る。
【０１１０】
ブロック４１８で現在の血糖ＢＧが低血糖症閾値血糖レベルＢＧHypo未満ではない（すなわち、これよりも高い）場合に、時間計算処理４００は、以下の式を使用して最新の血糖パーセント降下ＢＧ%Dropが閾値血糖パーセント降下％ＤｒｏｐLowLimit（低ＢＧ範囲に対して）よりも高いか否かをブロック４２２で決定する。
0006539290.tif 000002
以下：
0006539290.tif 000003
であるので、
0006539290.tif 000004
ここで、ＢＧpは、以前に測定された血糖である。
【０１１１】
現在の血糖パーセント降下ＢＧ%Dropが血糖パーセント降下（低ＢＧ範囲に対する）％ＤｒｏｐLowLimitよりも大きくない場合に、時間計算処理４００は、論理をブロック４１２に渡す。一部の例では、下限％ＤｒｏｐLowLimitは２５％に等しい。
【０１１２】
ブロック４２２を再度参照すると、現在の血糖パーセント降下ＢＧ%Dropが血糖パーセント降下の限界（低ＢＧ範囲に対する）％ＤｒｏｐLowLimitよりも高い場合に、時間計算処理４００は、ブロック４２４で時間間隔を短縮時間間隔ＴShort、例えば、２０分に設定し、血糖ＢＧの増加した降下速度に対して調節する。次に、時間計算処理４００は完了してブロック４２８で処理２００（図２）に戻る。
【０１１３】
判断ブロック４１６を再度参照すると、現在の血糖ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLより低くないと時間計算処理４００が決定した場合に、時間計算処理４００は、次式：
0006539290.tif 000005
を使用して、血糖ＢＧが限界％ＤｒｏｐRegular（通常範囲、すなわち、血糖値ＢＧ＞ＢＧTRLに対する）を超える以前の血糖のパーセントだけ減少したか否かをブロック４２０で決定する。
【０１１４】
血糖ＢＧが通常閾値血糖パーセント降下（通常ＢＧ範囲に対する）％ＤｒｏｐRegularを超えるパーセントだけ減少した場合に、時間計算処理４００は、ブロック４２５で時間間隔を短縮時間間隔ＴShort、例えば、２０分に設定する。多くの実施における％ＤｒｏｐRegularの適切な値は６６％である。次に、時間計算処理４００が完了してブロック４２８で処理２００（図２）に戻る。しかし、血糖が閾値血糖パーセント降下％ＤｒｏｐRegular（通常ＢＧ範囲に対する）を超えるパーセントだけ減少しなかった場合に、時間計算処理４００は、論理をブロック４１２に経路指定する。処理４００は、ブロック４１２で次式：
BGDropRate = (BGP - BG) / (TCurrent - TPrevious)      (10)
に基づいて血糖の下降速度ＢＧDropRateを決定し、ここで、ＢＧpは以前の血糖測定値であり、ＴCurrentは現在の時間及びＴPreviousは以前の時間である。更に、処理４００は、血糖の下降速度ＢＧDroprateが事前に構成された降下速度限界ＢＧdropRateLimitよりも高いか否かをブロック４１２で決定する。
【０１１５】
血糖の下降速度ＢＧDropRateが事前に構成された降下速度限界ＢＧdropRateLimitを超えたと時間計算処理４００がブロック４１２で決定した場合に、次の血糖測定までの時間間隔ＴNextは、高速降下と考えられるので、現在の時間間隔Ｔcurrentよりも相対的に短い時間間隔である血糖降下速度時間間隔ＴBGDRにブロック４１４で短縮される。事前設定された降下速度限界ＢＧdropRateLimitは約１００ｍｇ／ｄｌ／ｈｒとすることができる。血糖降下速度時間間隔ＴBGDRは３０分又はいずれかの他の予め決められた時間にすることができる。一部の例では、ＴDefaultの適切な値は１時間である。次に、時間計算処理４００が完了してブロック４２８で処理２００（図２）に戻る。
【０１１６】
血糖降下速度ＢＧDropRateが事前に構成された速度限界ＢＧdropRateLimitを超えないことを時間計算処理４００がブロック４１２で決定した場合に、時間計算処理４００は、患者の血糖濃度ＢＧが期間ＴStableにわたって望ましいターゲット範囲ＢＧTR内である（例えば、ＢＧTRL＜ＢＧ＜ＢＧTRH）か否かをブロック４０８で決定する。血糖ターゲット範囲ＢＧTRにおける安定性の基準は、ターゲット範囲ＢＧTRにおける指定された時間、又はターゲット範囲ＢＧTRにおける順番に血糖測定の指定された回数である。例えば、安定期間ＴStableは、１時間、２時間、２時間半、又は最大４時間とすることができる。安定性基準が満足された場合に、スケジュールされた血糖測定値ＢＧまでの時間間隔ＴNextを一般的にデフォルト時間間隔ＴDefaultよりも大きい延長された時間間隔ＴLong（２時間など）にブロック４１０で設定することができる。次に、時間計算処理４００が完了してブロック４２８で処理２００（図２）に戻る。患者１０が安定性の基準を満足しないと時間計算処理４００が決定した場合に、時間計算処理４００は、ブロック４０６で時間間隔ＴNextをデフォルト時間間隔ＴDefaultに設定する。次に、時間計算処理４００が完了してブロック４２８で処理２００（図２）に戻る。
【０１１７】
図４Ｂ及び４Ｃを参照すると、時間計算処理４００が推奨時間間隔ＴNextを計算した状態で、処理２００は次の血糖測定が行われる時間をユーザ４０に警報で通知するカウントダウンタイマー４３０を提供する。カウントダウンタイマー４３０は、患者デバイス１１０のディスプレイ１１６に表示するか又は病院システム１４０のディスプレイ１４６に表示することができる。タイマー４３０が完了した時に、「ＢＧデュー！」メッセージを図４Ｂに示すように表示することができる。カウントダウンタイマー４３０は、血糖値がスケジュールされたように入力されていない場合に時間の遅れを示す期限超過時間４３２を含むことができる。
【０１１８】
一部の実施では、カウントダウンタイマー４３０は、ユーザデバイス１１０の警報システム１２０に接続する。警報システム１２０は、ビープ又はある音声のような発音機構の形態のスピーカ１２２を通じて可聴音を生成することができる。可聴及び／又は視覚通知もネットワーク上で病院システム１４０（又はいずれかの他の遠隔ステーション）に送信して病院システム１４０のディスプレイ１４６に表示するか又は病院システム１４０のスピーカ１５２を通じて再生され、又はユーザの携帯電話又はポケットベルに転送することができる。一部の例では、スピーカ１２２を使用した可聴警報は、ディスプレイ１１６におけるユーザ選択４３４によって電源が切られるか又は事前に構成された時間に対して消音される。ディスプレイ１１６、１４６は、患者の静脈内治療情報２３０ａ又は患者の皮下治療情報２３０ｂを含む情報２３０を表示することができる。一部の例では、ユーザ４０は、患者１０が血糖測定を実行する時間にあることをタイマー４３０が示した時にカウントダウンタイマー４３０を選択する。ユーザ４０がタイマー４３０を選択した時に、ディスプレイ１１６、１４６は、図４Ｄに示すようにユーザ４０が現在の血糖値ＢＧを入力することを可能にする。静脈内患者１０の場合に、処理２００は、血糖が食事前血糖測定であるか否かを（ディスプレイ１１６、１４６を通じて）ユーザ４０に尋ねることができる（図４Ｄに図示）。ユーザ４０が情報２３０を入力した時（図４Ｄ）、ユーザ４０は、継続ボタンを選択して入力された情報２３０を確認し、血糖情報２３０ｃを表示するディスプレイ１１６、１４６及び次の血糖測定値ＢＧを実行する時間を表示するタイマー４３０を表示する（図４Ｅ）。これに加えて、ユーザ４０は、ユーザ４０が「ＢＧ入力」ボタン４３６を選択した場合にタイマー４３０が満了する前のいずれの時間にも患者の血糖測定値ＢＧを入力することができる。従って、ユーザ４０は、いずれかの時間に血糖値ＢＧを入力することができ、又はユーザ４０は、食事開始ボタン４３８（図４Ｅ）を選択することによる食事ボーラス処理５００（図５を参照）の開始、患者のＳｕｂＱインスリン治療６００（図６を参照）への移行、又は治療の中断２２０を選択することができる。
【０１１９】
図５Ａ−５Ｆを参照すると、一部の実施では、処理２００は、患者の血糖レベルＢＧがカロリー摂取量の消費前に測定される処理を含み、患者の食事中の血糖レベルの予想される上昇を制御するのに必要な推奨静脈内食事時間インスリン要件を計算する。ユーザ４０が食事ボーラス処理５００の開始を選択した時に（例えば、ユーザ４０が図４Ｄでこれが食事前血糖測定であると肯定的に返答した時、又はユーザ４０が図４Ｅにおける食事開始ボタン４３８を選択した時）、食事ボーラス処理５００は、判断ブロック５０４で患者１０の血糖ＢＧを要求する（図５Ｃに図示）。ユーザ４０は、５０１で血糖値ＢＧを入力するか、又はシステム１００がグルコメーター１２４から血糖ＢＧを受信する。この血糖測定は本明細書では食事前ＢＧ又はＢＧ１と呼ぶ。一部の例では、ユーザ４０が情報を入力した場合に、ユーザ４０は、継続ボタンを選択して入力された情報２３０ｃを確認する。一部の例では、食事ボーラス処理５００が、合計期間ＴMealBolusにわたって患者１０に投与される。合計期間ＴMealBolusは、複数の時間間隔ＴMealBolus1からＴMealBolusNに分割され、ここでＮはゼロよりも大きいいずれかの整数である。一部の例では、第１時間間隔ＴMealBolus1は、時間Ｔ1で測定される食事前血糖値ＢＧ１から時間Ｔ2で測定される第２の血糖値ＢＧ２まで延びる。第２の時間間隔ＴMealBolus2は、時間Ｔ2で測定される第２の血糖値ＢＧ２から時間Ｔ3で測定される第３の血糖値ＢＧ３まで延びる。第３の時間間隔ＴMealBolus3は、時間Ｔ3で測定される第３の血糖値ＢＧ３から時間Ｔ4で測定される第４の血糖値ＢＧ４まで延びる。一部の実施では、時間間隔ＴMealBolusNがＴDefaultよりも小さい場合に、ユーザ４０は、患者１０の血糖の変化を綿密にモニタかつ制御しなければならない。例えば、合計期間ＴMealBolusは２時間に等しく、ＴMealBolus1＝３０分、ＴMealBolus2＝３０分、及びＴMealBolus3＝１時間を含むことができる。この例は、第４の血糖測定で終了する。食事ボーラス処理５００が起動された時に、処理５００が進行中であることをユーザ４０に通知する指示がディスプレイ１１６、１４６に表示される。食事ボーラス処理５００は、患者のディスプレイ１１６に質問を表示することにより、入力された血糖値ＢＧが食事前の最初の血糖値であるか否かを返答するようにユーザ４０を促す。入力された血糖値ＢＧが食事前の第１血糖値（ＢＧ１）であると食事ボーラス処理５００が決定した場合に、食事ボーラス処理５００は現在の乗数Ｍの調節を凍結し、ブロック５１２で通常静脈内インスリン速度ＩＲＲを計算する。通常静脈内インスリン速度ＩＲＲは、式３Ａを使用して決定することができる。一方、ブロック５０２で、食事ボーラス処理５００は、食事時間、インスリンタイプ、食事当たりの炭水化物のデフォルト数、食事ボーラス処理の合計期間ＴMealBolus、間隔の長さ（例えば、ＴMealBolus1、ＴMealBolus1・・・ＴMealBolusN）、及び第１間隔ＴMealBolus1に送出されることになる推定食事ボーラスのパーセント「Ｃ」のような事前に構成された食事パラメータをロードする。一部の例では、システム１００が病院電子医療記録システム１４０を含む時に、栄養情報及び炭水化物のグラム数が病院電子医療記録システム１４０から自動的に取り出され���。食事ボーラス処理５００は、ユーザ４０が標準的な食事の選択肢からの炭水化物の数値（ＡｃｔｕａｌＣａｒｂｓ）を入力するか、又はカスタム入力を使用して患者１０が消費する場合がある炭水化物の推定数値（ＥｓｔｉｍａｔｅｄＣａｒｂｓ）を入力するかを選択することを可能にする。次に、食事ボーラス処理５００は、ブロック５０６に流れ、食事に対する推定食事ボーラス速度が計算される。ブロック５０６での計算処理を２つの段階で解説する。第１段階は、以下の式による食事ボーラスの計算（インスリンの単位での）である。
推定食事ボーラス= EstimatedCarbs / CIR                          (11A)
ここで、ＣＩＲは、上述の炭水化物対インスリン比である。
【０１２０】
次に、食事ボーラス処理５００が次式に基づいて推定食事ボーラス速度を決定する。
推定食事ボーラス速度=推定食事ボーラス* C / TMealBolus1          (11B)
ここで、ＴMealBolus1は、食事ボーラス合計期間TMealBolusの第１時間間隔の持続時間である。Ｃは、第１時間間隔ＴMealBolus1中に推定食事ボーラスの最適部分を注入するように調節された定数である。例えば、推定食事ボーラス＝６単位、ＴMealBolus1＝０．５時間、及びＣ＝２５％である場合に、例として式１１Ａを適用する。
推定食事ボーラス速度=(６単位)*25% / (０．５時間)=3単位/時間      (11C)
食事ボーラス処理５００は、次式のようにブロック５０８で合計インスリン速度を計算する。
合計インスリン注入速度=推定食事ボーラス速度+ 通常静脈内速度    (12)
【０１２１】
食事ボーラス処理５００はブロック５１０に流れ、第１間隔の時間間隔ＴMealBolus1を第２の食事ボーラス血糖（ＢＧ２）で終わる構成される値（例えば、通常は３０分）に設定する。
【０１２２】
第１時間間隔ＴMealBolus1が満了した後（例えば、３０分が経過した後）、食事ボーラス処理５００は、ブロック５０１で再度血糖値ＢＧを入力するようにユーザ４０を促す。入力された血糖値ＢＧがブロック５０４で入力された第１血糖値ＢＧ１（すなわち、上述のように食事前ＢＧ、ＢＧ１）ではないと食事ボーラス処理５００が決定した時に、処理５００はブロック５１４まで流れる。ブロック５１４で、食事ボーラス処理５００は、血糖値ＢＧがユーザ４０によって入力された第２の値ＢＧ２であるか否かを決定する。入力された血糖値ＢＧが入力された第２の血糖値ＢＧ２であることをユーザ４０が確認した場合に、食事ボーラス処理５００は、入力されたばかりの血糖ＢＧ２を使用してブロック５１６で静脈内インスリン速度ＩＲＲを計算してブロック５２４まで流れる。同時に、血糖が第２の血糖ＢＧ２である場合に、食事ボーラス処理５００は、ブロック５１８で患者１０が受け入れた実際の炭水化物の量を入力するようにユーザ４０を促す。次に、食事ボーラス処理５００は、患者が食べなかったか否か、すなわち、炭水化物の量がゼロであるか否かを判断ブロック５２０で及び入力された実際の炭水化物の量に基づいて決定する。患者が食べなかったと食事ボーラス処理５００が決定した場合に、食事ボーラス処理５００はブロック５４０に流れ、食事ボーラス処理５００が中断され、乗数はもはや凍結されず、時間間隔ＴNextは、処理４００によって決定されたように適切な時間間隔ＴNextに戻される。しかし、患者１０が食べた、すなわち、実際の炭水化物がゼロではないと食事ボーラス処理５００が決定した場合（図５Ｄを参照）、食事ボーラス処理５００はブロック５２２に流れて、修正食事ボーラス及び次に、インスリンの量（インスリン単位）が計算される次式に従って修正食事ボーラス速度を計算する。
修正食事ボーラス= ActualCarbs / CIR                    (13A)
【０１２３】
次に、ブロック５２２の処理は、以下のように患者１０に送出された推定食事ボーラスの量（インスリンの単位）を決定する。
送出された推定食事ボーラス=推定食事ボーラス速度* (T2 - T1)        (13B)
ここで時間Ｔ１は、第１血糖値ＢＧ１が測定される時間であり、時間Ｔ２は、第２の血糖値ＢＧ２が測定される時間である。
【０１２４】
次に、ブロック５２２の処理は、次式のように残りの送出されることになる修正食事ボーラスの部分（すなわち、患者１０に送出されなかった食事ボーラス）を計算する。
残りの修正食事ボーラス=推定食事ボーラス−送出された推定食事ボーラス        (13C)
【０１２５】
次に、ブロック５２２の処理は、次式のように修正食事ボーラス速度を計算する。
修正食事ボーラス速度=残りの修正食事ボーラス／残りの時間          (14A)
ここで残りの時間＝ＴMealBolus−ＴMealBolus1である。合計時間間隔ＴMealBolus及び第１時間間隔ＴMealBolus1が事前に構成された値であるので、残りの時間を決定することができる。
【０１２６】
食事ボーラス処理５００は、血糖値ＢＧに基づいて、修正食事ボーラス速度を通常静脈内速度（ＩＩＲ）に追加することによって合計インスリン速度をブロック５２４で計算する。
合計インスリン速度=修正食事ボーラス速度+ IIR                        (14B)
【０１２７】
食事ボーラス処理５００はブロック５２６に流れ、時間間隔ＴNextを第３の食事ボーラス血糖ＢＧ３で終わる第２の間隔ＴMealBolus2、例えば、通常は３０分に設定する。
【０１２８】
第２の間隔ＴMealBolus2が満了した（例えば、３０分）後に、食事ボーラス処理５００は、ここでもまたブロック５０１で再度血糖値ＢＧを入力するようにユーザ４０を促す。食事ボーラス処理５００は、入力された血糖値ＢＧがブロック５０４（上述）で入力された第１血糖値ではないと決定してブロック５１４まで流れる。食事ボーラス処理５００は、入力された血糖値ＢＧがブロック５１４で入力された第２の血糖値（上述）ではないと決定してブロック５２８まで流れる。ブロック５２８で、食事ボーラス処理５００は、血糖値ＢＧが入力された第３の値であるか否かを決定する。入力された血糖値ＢＧが入力された第３の血糖値ＢＧである場合に、食事ボーラス処理５００は、ブロック５３０で静脈内インスリン速度ＩＲＲを計算してブロック５３２まで流れる。
【０１２９】
ブロック５３２で、処理は、新しく決定された通常静脈内インスリン速度（ＩＩＲ）をＢＧ２で決定されて全食事ボーラス時間、Ｔmealbolusを通じて有効である修正食事ボーラス速度に追加することによって合計インスリン速度を決定する。
【０１３０】
食事ボーラス処理５００はブロック５３４に流れて、時間間隔ＴNextを第４の食事ボーラス血糖に対する第３の間隔ＴMealBolus3、例えば、通常は６０分に設定する。一部の実施では、３より多い間隔（ＴMealBolus1、ＴMealBolus2、ＴMealbolus3）を使用することができる。追加の間隔ＴMealBolusNを使用することもでき、処理は、第３の時間間隔ＴMealBolus3を扱う方法と同様に追加の間隔ＴMealBolusNを扱う。この例で説明するように、第３の間隔ＴMealBolus3は、第４の血糖測定値ＢＧ４の測定で終了する最後の時間間隔である。
【０１３１】
第３の時間間隔ＴMealBolus3が満了した（例えば、６０分）後に、食事ボーラス処理５００は、ブロック５０１で再度血糖値ＢＧを入力するようにユーザ４０を促す。食事ボーラス処理５００は、入力された血糖値ＢＧがブロック５０４で入力された第１血糖値ではないと決定して（上述）ブロック５１４まで流れる。食事ボーラス処理５００は、入力された血糖値ＢＧがブロック５１４で入力された第２の血糖値ではなく（上述）、ブロック５２８で入力された第３の血糖レベルでもないと決定し、ブロック５３６まで流れる。ブロック５３６で、食事ボーラス処理５００は、入力された血糖が第４の血糖値ＢＧ４であると決定する。この例では、第４の血糖値ＢＧ４が最後の血糖値である。次に、処理５００はブロック５３８に流れ、乗数はもはや凍結されず、時間間隔ＴNextは、処理４００（図４Ａ）によって決定されたように適切な時間間隔ＴNextに戻される。この時に、食事ボーラス処理５００は終了し、ユーザ４０は、食事ボーラス処理５００がもはや起動していないことを示すメッセージによって促される。
【０１３２】
図４Ｅに示すように、処理２００は、次の血糖測定を実行する時間をユーザ４０に警告するカウントダウンタイマー４３０を提供する。カウントダウンタイマー４３０は、患者デバイス１１０のディスプレイ１１６に設定するか又は病院システム１４０のディスプレイ１４６に表示することができる。タイマー４３０が完了した時に、「ＢＧデュー！」メッセージを図４Ｂに示すように表示することができる。更に、タイマー４３０は、カウントダウンタイマー又は食事時間間隔の順序（例えば、朝食、昼食、夕食、就寝時刻、就寝中）を示す食事タイマーとすることができる。
【０１３３】
一部の実施では、食事ボーラス処理５００は、プロセッサ１１２、１３２、１４２で以下の処理によって実施することができる。他の処理を使用することもできる。
function PreMealIIR($PatientID, $CurrentBG, $Multiplier, $InsulinConcentration, 
$EstCarbs, $ActualCarbs, $TimeInterval, $InsulinUnitsOfMeasure, $MealBolusCount) {
$iir = array();
$CarbInsulinRatio = CIR($PatientID);
$NormalInsulin = ($CurrentBG - 60) * $Multiplier;
if($MealBolusCount == 0)
{
//first run - Premeal Bolus
$MealBolus = ($EstCarbs /$CarbInsulinRatio);
if($MealBolus <0)
{$MealBolus = 0;}
$iir[0] = $NormalInsulin + ( $MealBolus *.5 );
$iir[2] = ( $MealBolus *.5 );
/*
print "Premeal: MX: " . $Multiplier . "<BR>";
print ($CurrentBG - 60) * $Multiplier;
print " + " ;
print ( $MealBolus *.5 );
*/
} else if($MealBolusCount == 1){
//second run Post Meal Bolus
//third run time interval coming in is actually the 
//difference between the premeal BG and the first Post Meal BG (second run)
$MealBolus = ($ActualCarbs / $CarbInsulinRatio);
$OldMealBolus = ($EstCarbs / $CarbInsulinRatio);
$CurrentMealBolus = ($MealBolus - ($OldMealBolus *.5 * $TimeInterval))/1.5;
if($CurrentMealBolus  <0)
{$CurrentMealBolus =0;}
$iir[0] = $NormalInsulin + $CurrentMealBolus ;          
$iir[2] = $CurrentMealBolus ;
/*
print "PlateCheck: <BR>MX: " . $Multiplier . "<BR>";
print "Est Carbs: " . $EstCarbs . "<BR>";
print "ActualCarbs: " . $ActualCarbs . "<BR>";;
print "CarbInsulinRatio: " . $CarbInsulinRatio . "<BR>";
print "TimeInterval: " . $TimeInterval . "<BR>";
print "Multiplier: " . $Multiplier;
*/
} 
else
{
$MealBolus = ($ActualCarbs / $CarbInsulinRatio);
$OldMealBolus = ($EstCarbs / $CarbInsulinRatio);
/*
print "Actual Carbs: " . $ActualCarbs . "<BR>";
print "Est Carbs: " . $EstCarbs . "<BR>";
print "CIR: " . $CarbInsulinRatio . "<BR>";
print "Multiplier: " . $Multiplier . "<BR>";
print "CurrentBG: " . $CurrentBG . "<BR>";
print "IIR: " . (($CurrentBG - 60) * $Multiplier)  . "<BR>";
print "MealBolus: " . $MealBolus . "<BR>";
print "OldMealBolus: " . $OldMealBolus . "<BR>";
print "TimeInterval: " . $TimeInterval . "<BR>";
*/
$CurrentMealBolus = ($MealBolus - ($OldMealBolus *.5 * $TimeInterval))/1.5;
if($CurrentMealBolus  <0)
{$CurrentMealBolus =0;}
$iir[0] = $NormalInsulin + $CurrentMealBolus;
$iir[2] = $CurrentMealBolus;
/*
print "Post PlateCheck: <BR>MX: " . $Multiplier . "<BR>";
print "IIR: ";
print ($CurrentBG - 60) * $Multiplier . "<BR>";
print "Est Carbs: " . $EstCarbs . "<BR>";
print "Acutal Carbs: " . $ActualCarbs . "<BR>";
print "Old Meal bolus: " . $OldMealBolus . "<BR>";
print "TimeInterval: " . $TimeInterval . "<BR>";
print "Meal bolus: " . $MealBolus . "<BR>";
print "Final Calc: " . $iir[0];
*/
if ($InsulinUnitsOfMeasure  != "units/hr")
{
$iir[0] = $iir[0]/$InsulinConcentration;
}
return $iir;
}
【０１３４】
図２Ａ及び６Ａ−６Ｂを参照すると、ユーザがＳｕｂＱ移行処理６００の開始を選択した場合に、ＳｕｂＱ移行処理６００は、現在の血糖ＢＧが、通常は規定されたターゲット範囲ＢＧTRよりも広い事前に構成された安定性ターゲット範囲ＢＧSTR、例えば、７０−１８０ｍｇ／ｄｌ内であるか否かを判断ブロック６０４で決定する。血糖ＢＧが事前に構成された安定性ターゲット範囲ＢＧSTR内（例えば、ＢＧLow＜ＢＧ＜ＢＧHigh）ではない場合に、ＳｕｂＱ移行処理６００は、ブロック６０６で患者ディスプレイ１１６に警告通知を表示する。次に、ブロック６１０で、ＳｕｂＱ移行処理６００が自動的に中断される。
【０１３５】
ブロック６０４を再度参照すると、血糖ＢＧが事前に構成された安定性ターゲット範囲ＢＧSTR内（例えば、７０−１８０ｍｇ／ｄｌ）である場合に、ＳｕｂＱ移行処理６００は、判断ブロック６０８で、患者の血糖測定値ＢＧが、推奨安定期間ＴStable、例えば、４時間に対して患者の個別化された規定ターゲット範囲ＢＧTRにあるか否かを決定する。血糖値ＢＧが、推奨安定期間ＴＳｔａｂｌｅに対して規定ターゲット範囲ＢＧSTRにないことをＳｕｂＱ移行処理６００が決定した場合に、ＳｕｂＱ移行処理６００がブロック６１４に移り、システム１００が、ユーザ４０に患者ディスプレイ１１６で警告通知を提示して、患者１０が推奨安定期間に既定のターゲット範囲にないことを説明する（図６Ｃを参照）。ＳｕｂＱ移行処理６００は判断ブロック６１８に続き、ユーザ４０が患者１０にＳｕｂＱ移行処理の継続又はＳｕｂＱ移行処理の中断を要求するか否かを決定する。ＳｕｂＱ移行処理６００は、患者デバイス１１０のディスプレイ１１６に図６Ｄに示すようなユーザ４０への質問を表示する。ユーザ４０がＳｕｂＱ移行処理の中断を選択した場合に、ＳｕｂＱ移行処理６００はブロック６２４に流れ、ＳｕｂＱ移行処理が中断される。
【０１３６】
ブロック６１８を再度参照すると、ユーザ４０が警告を無効にしてＳｕｂＱ移行処理の継続を選択した場合に、処理６００は、ＳｕｂＱ情報６１７を入力するようにユーザ４０を促す。ＳｕｂＱ移行処理６００はブロック６１６に流れ、患者のＳｕｂＱ移行投薬量が、患者の合計１日投薬量ＴＤＤとして計算される。一部の実施では、ＴＤＤは、次式に従って計算される。
TDD = QuickTransitionConstant * MTrans              (15A)
ここで、QuickTransitionConstantは、通常は１０００であり、ＭTransは、ＳｕｂＱ移行処理の開始の時間での患者の乗数である。
【０１３７】
ブロック６１６を再度参照すると、一部の実施では、ＴＤＤは、体重の関数としてＴＤＤの統計的相関関係によって計算される。以下の式は相関関係が使用される。
TDD = 0.5 * Weight (kg)                            (15B)
【０１３８】
ＳｕｂＱ移行処理６００はブロック６２０に続き、ここで推奨ＳｕｂＱ投薬量は、基礎推奨及び食事ボーラス推奨の形態でユーザ４０に（ディスプレイ１１６上に）示される（図６Ｆを参照）。
【０１３９】
判断ブロック６０８を再度参照すると、患者１０が、推奨安定期間ＴStableに対する規定ターゲット範囲ＢＧTRにあるとＳｕｂＱ移行処理６００が決定した場合に、ＳｕｂＱ移行処理６００はブロック６１２に続き、患者の合計１日投薬量ＴＤＤは、以下の式に従って計算される。
TDD = (BGTarget - K) * (MTrans) * 24                (16)
ここでＭTransは、ＳｕｂＱ移行処理の開始の時間での患者の乗数である。
【０１４０】
一部の実施では、患者の合計１日投薬量ＴＤＤは、プロセッサ１１２、１３２、１４２上で以下の処理によって決定することができる。他の処理を使用することもできる。
function getIV_TDD($PatientID)
{
//$weight = getOneField("weight", "patients", "patientID", $PatientID);
//return $weight/2;
$CI = get_instance();
$CI->load->model('options');
$d = $CI->options->GetIVTDDData($PatientID);
$TargetHigh = $d["TargetHigh"];
$TargetLow  = $d["TargetLow"];
$Multiplier = $d["Multiplier"];
$MidPoint = ($TargetHigh + $TargetLow) / 2;
$Formula = ($MidPoint - 60) * $Multiplier * 24;
return $Formula;
}
【０１４１】
患者の合計１日投薬量ＴＤＤが計算された時に、ＳｕｂＱ移行処理６００はブロック６２０に続き、推奨ＳｕｂＱ投薬量が上述のようにユーザ４０に示されている。ＳｕｂＱ移行処理６００はブロック６２２に続き、ＳｕｂＱ移行処理６００が基礎インスリンの推奨投薬量を含む情報をユーザ４０に提供する。ユーザ４０は基礎インスリンが患者１０に与えられたことを確認して、これからＴｒａｎｓｉｔｉｏｎＲｕｎＴｉｍｅNext、通常は４時間を使用して移行タイマーを開始する。この時点で、静脈内ＩＩＲタイマー（処理４００）を含むＩＩＲを管理する標準的な計算規則が実施され、上述のように時間間隔ＴNextでの血糖検査を促し続ける。ＳｕｂＱ移行処理６００は判断ブロック６２６まで通され、推奨時間間隔ＴｒａｎｓｉｔｉｏｎＲｕｎＴｉｍｅ、例えば、４時間が経過したか否かを決定し、この時間の後にＳｕｂＱ移行処理６００がブロック６３０に続き、ユーザに皮下インスリン排出命令を提供してブロック６３４でＩＶインスリン処理を出る。
【０１４２】
図２Ａを再度参照すると、一部の実施において、皮下プログラムは（ブロック２２６で）、６つのサブプログラム、すなわち、皮下標準プログラム（図９Ａ−９Ｂ）、経管栄養患者のための皮下プログラム（図１０）、食事ボーラスなしの皮下プログラム（図１１）、炭水化物カウントなしの食事毎皮下プログラム（図１２）、炭水化物カウントを伴う食事毎皮下プログラム（図１３Ａ−１３Ｂ）、及び非糖尿病患者のための皮下プログラム（図１４）を含む。一般的な及び食事前の修正を決定する段階（図７）、調節係数ＡＦを決定する段階（図８）、及び低血糖症治療などの一部の機能又は処理が、６つの皮下プログラムの中で使用される。
【０１４３】
図７を参照すると、修正ボーラスＣＢがＳｕｂＱプログラムの６つのサブプログラムで使用され（図２のブロック２２６）、このために、修正ボーラスＣＢは、患者１０の血糖測定値ＢＧ、患者の個別化されたターゲット血糖ＢＧTarget、及び修正係数ＣＦなどの変数を有する関数に組み入れることができる。従って、修正ボーラスＣＢは、血糖測定値ＢＧ、ターゲット血糖ＢＧTarget、及び修正係数ＣＦの関数として記述される（以下の式１９を参照）。処理７００は、患者１０の血糖値ＢＧが測定された直後に修正ボーラスＣＢを計算する。修正ボーラスＣＢの計算が完了した状態で、血糖値ＢＧが測定されて修正ボーラスＣＢを計算するために使用された直後に看護師４０が修正ボーラスＣＢを患者１０に投与する。
【０１４４】
一部の例では、処理７００は、１日につき一度、例えば毎晩深夜にインスリンの１日の投薬量の合計ＴＤＤを決定することができる。他の時間も利用可能である。これに加えて、１日の投薬量の合計ＴＤＤは、１日の間に頻繁に計算することができ、一部の例では、１日の投薬量の合計ＴＤＤが頻繁に計算され、過去２４時間以内の１日の投薬量の合計ＴＤＤを考慮に入れる。処理７００は、カウントダウンタイマー７０２などのタイマー７０２を提供し、タイマー７０２は、処理７００を実行する時間を決定する。タイマー７０２は、カウントアップタイマー又はあらゆる他のタイプのタイマーとすることができる。タイマー７０２がその満了期限に達するか又はある一定の時間（例えばカウントダウンタイマー７０２のゼロ）に達した時に、タイマー７０２は処理７００を実行する。処理７０４が１日の投薬量の合計ＴＤＤを計算する時間を決めるために、カウンター７０２が使用される。カウンターが例えば２４時間に設定された場合、決定ブロック７０４は、時間が２４時間に達したかを調べ、達した時に、処理７００は、１日のインスリンの投薬量の合計ＴＤＤを計算する。修正ボーラス処理７００は、以下の式に基づいてインスリンの合計毎日投薬量ＴＤＤを決定する。
ＴＤＤ＝前日の合計（全基礎＋全食事ボーラス＋全修正ボーラス）             (17)
【０１４５】
処理７００がブロック７０６でインスリンの合計毎日投薬量ＴＤＤを決定した後、処理７００は、ブロック７０６及び式7１７から計算されたインスリンの合計毎日投薬量ＴＤＤを使用してブロック７１０で迅速に修正係数ＣＦを決定する。修正係数ＣＦは次式を使用して決定される。
ＣＦ＝ＣＦＲ／ＴＤＤ      (18)
ここで、ＣＦＲは、システムの非一時的メモリ２４、１１４、１４４に格納される設定可能な定数である。ブロック７０８で、処理７００は、非一時的メモリ２４、１１４、１４４から設定可能な定数ＣＦＲ値を取り出し、ブロック７１０で修正係数ＣＦを計算する。設定可能な定数ＣＦＲは、公開された統計的相関関係から決定され、病院、看護師、及び医師によって設定可能である。修正定数ＣＦを修正する柔軟性は、新しく公開された設定可能な定数ＣＦＲが、使用されているものよりも正確である時に、システム１００に柔軟性を与える。一部の例では、設定可能な定数ＣＦＲは、１７００に設定された設定可能な定数であり、他の値も適用することができる。一部の例では、インスリンの合計毎日投薬量ＴＤＤ及びＣＦは、１日に一度（例えば、深夜に又は深夜過ぎに）決定される。
【０１４６】
修正係数ＣＦが式１８で決定された状態で、処理７００は、次式を使用してブロック７１４で修正ボーラスインスリン投薬量を決定する。
ＣＢ＝（ＢＧ−ＢＧTarget）／ＣＦ        (19)
ここでＢＧは、ブロック７１２で取り出された患者１０の血糖測定値であり、ＢＧTargetは、患者の個別化されたターゲット血糖であり、ＣＦは修正係数である。処理７００は、ブロック７１６で修正ボーラスＣＢを戻す。高血糖ＢＧに迅速に反応するので即効性アナログインスリンが現在のところ修正ボーラスに使用されている。即効性アナログインスリンは、現在のところ食事ボーラスにも使用されており、通常は食事前又は食事と共に摂取される（ポンプを通じて注入又は送出）。即効性アナログインスリンは急速に作用して、摂食に続く患者の血糖の上昇を最小にする。
【０１４７】
修正ボーラスＣＢは、処理２００中のいずれかの時間に血糖値ＢＧに対して計算される。食事前修正ボーラスＣＢは、式１９を使用して計算される。食事前修正ボーラス式（１９）では、前の食事ボーラスのほとんど全てが消化されるのに十分な時間が経過しているので残りのインスリンＩRemを考慮する必要はない。しかし、食後の修正ボーラス（食事後修正ボーラス）が、最近の食事ボーラス直後に利用され、最近の食事ボーラス後に患者の身体に残っている残存インスリンＩRemを考慮する異なる計算を使用する。即効性アナログインスリンは、一般的には、患者の身体に残っているインスリンＩRemに負の指数の時間曲線を描かせる患者の身体に残っているインスリンＩRemに比例する速度で身体の自然の機構によって取り除かれる。製造業者は、そのインスリン製剤の寿命に関するデータを提供する。データは通常、即効性アナログインスリンの半減期値又は平均寿命を含む。即効性アナログインスリンの半減期は、変換式によって即効性インスリンに対する平均寿命ｉＬｉｆｅＲａＰｉｄに変換することができる。
ｉＬｉｆｅＲａｐｉｄ＝Ｈａｌｆ−ｌｉｆｅ*Ｉｎ（２）    (20)
ここでＩｎ（２）は、２の自然対数｛底ｅ｝である。
【０１４８】
本発明は、公式（式２０）の平均寿命ｉＬｉｆｅＲａｐｉｄを使用する。インスリンの製造業者及び商標は数が少ないので、システム１００は、各インスリン製造業者の半減期又はｉＬｉｆｅＲａｐｉｄ値を最新に維持する。
【０１４９】
患者の身体に残っているインスリン、すなわち、残存インスリンＩRemは、最近のインスリンボーラス｛食事ボーラス、修正ボーラス、又は組合せボーラス｝を次式のように時間依存指数低減係数で乗算することによって決定される。
0006539290.tif 000006
(21)
ここでＴCurrentは現在の時間、ＴPreviousは、最後のボーラスが患者１０に与えられた時間である。食事後の修正ボーラスＣＢpostは、患者の身体に残っているインスリンＩRemを差し引いた普通の修正ボーラスＣＢ（式１９）と同様に計算される。
0006539290.tif 000007
(22)
【０１５０】
一部の例では、負の値の食事後修正ボーラスＣＢPostが、新しい組合せボーラスの食事ボーラス部分を低減するために使用できないことを意味する正（インスリンの単位）である場合だけ、食事後修正投薬量ＣＢPost（式２２）が考慮に入れられる。
【０１５１】
図８を参照すると、処理８００は、支配血糖ＢＧｇｏｖの入力に基づいて調節係数ＡＦを決定する関数を記述する。調節係数ＡＦは、６つの皮下サブプログラム、すなわち、皮下標準プログラム（図９Ａ−９Ｂ）、経管栄養患者のための皮下プログラム（図１０）、食事ボーラスなしの皮下プログラム（図１１）、炭水化物カウントなしの食事毎皮下プログラム（図１２）、炭水化物カウントを伴う食事毎皮下プログラム（図１３Ａ−１３Ｂ）、及び非糖尿病患者のための皮下プログラム（図１４）によって使用される。これらの６つのサブプログラムは、患者１０に投与されるインスリン投薬量を調節する。インスリン調節処理８００は、基礎投薬量及び食事ボーラスに適用されて、単位なしの調節係数ＡＦを同じ投薬量の先行する推奨ＲｅｃＢａｓａｌprev又はＲｅｃＭｅａｌＢｏｌprevに加えることによって、調節された推奨基礎投薬量ＲｅｃＢａｓａｌ又は推奨食事ボーラスＲｅｃＭｅａｌＢｏｌを決定する。全ての投薬量調節は、支配血糖値ＢＧgovによって支配される。処理における支配血糖値ＢＧgovは、インスリンの効果（又は効果の不足）がＢＧgovの値で観察及び測定できるような十分な時間量だけ調節されるべき投薬量の以前の発生に先行するという判断基準に基づいて選択される。
【０１５２】
ブロック８０２で、調節係数ＡＦが支配血糖値ＢＧgovを使用して決定されるので、調節係数処理８００は、非一時的メモリ２４、１１４、１４４から支配血糖値ＢＧgovを受信する。調節係数ＡＦを決定するために、調節係数処理８００は、下限値、すなわち、低ターゲットＢＧTRL、及び上限値、すなわち、高ターゲットＢＧTRHによって定義される血糖ターゲット範囲ＢＧTR（この範囲内で基礎投薬量と食事ボーラスが変化しない）を考慮に入れる。前述したように、ターゲット範囲ＢＧTRは、医師４０によって決定され、手動で（例えば、患者デバイス１１０又は医療記録システム１４０を使用して、例えばディスプレイ１１６、１４６に表示されたドロップダウンメニューリストを通じて）入力される。各ターゲット範囲ＢＧTRは、以下の表に示す第１定数ＢＧAFL、第２定数ＢＧAFH1、及び第３定数ＢＧAFH2を含む設定可能な定数のセットに関連付けられる。
（表１）
0006539290.tif 000008
【０１５３】
調節係数処理８００は、支配血糖値ＢＧgovが第１定数ＢＧAFLよりも小さいか又は等しいか（ＢＧgov＜＝ＢＧAFL）を決定し、ブロック８０６でそうである場合、調節係数処理８００は、調節係数ＡＦを表２に示す第１事前設定調節係数ＡＦ１に割り当てる。
【０１５４】
ブロック８０４で、支配血糖値ＢＧgovが第１定数ＢＧAFLよりも小さくない場合（すなわち、ＢＧgov≧ＢＧAFL）、ブロック８０８で、調節係数処理８００は、支配血糖値ＢＧgovが第１定数ＢＧAFLよりも大きいか又は等しく、かつターゲット範囲ＢＧTRの低ターゲットＢＧTRLよりも小さいか（ＢＧAFL≦ＢＧgov＜ＢＧTRL）を決定する。そうである場合、調節係数処理８００は、ブロック８１０で調節係数ＡＦを第２事前設定調節係数ＡＦ２に割り当てる。そうでない場合、ブロック８１２で、調節係数処理８００は、支配血糖値ＢＧgovがターゲット範囲ＢＧTRの低ターゲットＢＧTRLよりも大きいか又は等しく、かつターゲット範囲ＢＧTRの高ターゲットレベルＢＧTRHよりも小さいか（ＢＧＴＲＬ≦ＢＧｇｏｖ＜ＢＧTRH）を決定する。そうである場合、調節係数処理８００は、ブロック８１４で調節係数ＡＦを第３事前設定調節係数ＡＦ３に割り当てる。そうでない場合、ブロック８１６で、調節係数処理８００は、支配血糖値ＢＧgovがターゲット範囲ＢＧTRの高ターゲットレベルＢＧTRHよりも大きいか又は等しく、かつ第２定数ＢＧAFH1よりも小さいか（ＢＧTRH≦ＢＧgov＜ＢＧAFH1）を決定する。そうである場合、調節係数処理８００は、ブロック８１８で調節係数ＡＦを第４事前設定調節係数ＡＦ４に割り当てる。そうでない場合、ブロック８２０で、調節処理８００は、支配血糖値ＢＧgovが第２定数ＢＧAFH1よりも大きいか又は等しく、かつ第３定数ＢＧAFH2よりも小さいでか（ＢＧAFH1≦ＢＧgov＜ＢＧAFH2）を決定する。そうである場合、調節係数処理８００は、ブロック８２２で調節係数ＡＦを第５事前設定調節係数ＡＦ５に割り当てる。そうでない場合、ブロック８２４で、調節処理８００は、支配血糖値ＢＧgovが第３定数ＢＧAFH2よりも大きいか又は等しい（ＢＧgov≧ＢＧAFH2）と決定し、調節係数処理８００は、ブロック８２６で調節係数ＡＦを第６事前設定調節係数ＡＦ６に割り当てる。値をＡＦに割り当てた後に、調節係数処理８００は、ブロック８２８で調節係数ＡＦを調節係数ＡＦを要求する処理に戻す（例えば、皮下処理（図９Ａ−９Ｂ））。
（表２）
0006539290.tif 000009
【０１５５】
一部の例では、患者１０が処理２００の実行中に低血糖症に苦む場合がある。低血糖症の治療は、点滴処理３００（図３Ａ及び３Ｂ）及び４００（図４Ａ）で又はＳｕｂＱ標準処理９００（図９Ａ及び９Ｂ）で必要とされる可能性がある。処理２００は、患者１０の現在の血糖値ＢＧをモニタする部分処理を含み、かつそれが低血糖症閾値ＢＧHypo（病院又は医師によって設定可能）よりも小さいかを決定する。現在の血糖値ＢＧが低血糖症閾値ＢＧHypoよりも低い場合、患者の病状、低い現在の血糖値ＢＧの値、インスリンを止めるためのリマインダ（低血糖症事象がＩＶ処理（図２）に発生する場合）、及び看護師又は医師４０が患者１０に投与されるブドウ糖のタイプを選択できるようにするセレクタを患者１０、看護師、及び医師４０に警告する警告メッセージが、ディスプレイ１１６、１４６に表示される。選択の一部は、患者１０が点滴接続を有する場合の点滴Ｄ５０（体重による５０％ブドウ糖）、及び経口ブドウ糖（タブレット又はジェル）を含む。看護師又は医師４０が、患者デバイス１１０又は医療記録システム１４０を使用して、患者に投与されるブドウ糖のタイプを入力した状態で、処理２００は、推奨投薬量（又は処方される投薬量）を計算し、計算した投薬量をディスプレイ１１６、１４６に表示する。処理２００は、患者デバイス１１０又は病院デバイス１４０を通じて、次式に基づいて決定することができるブドウ糖のグラムによって低血糖症を治療するために患者１０に投与される投薬量Ｄhypoを看護師又は医師４０に入力するように促す。
Ｄhypo（グラム）＝ＦHypoTreatment*（ＢＧTarget−ＢＧ）    (23)
ここでＢＧTRは、血糖ターゲット範囲であり、ＦHypoTreatmentは、設定可能な定数である低血糖症治療係数である。一部の例では、低血糖症治療係数ＦHypoTreatmentは０．２に等しい（ブドウ糖ｇｍ／（ｍｇ／ｄｌ））。
【０１５６】
看護師又は医師４０が解決策（例えば経口ブドウ糖とは対照的にＤ５０）を選択した場合、処理２００は、異なる式を使用して推奨投薬量を計算し、ここで計算されたブドウ糖のグラム数は、液体におけるブドウ糖の濃度ＣHypoFluidConc（ブドウ糖のグラム数／ｍｌ）によって割り算され、解決策の容量の単位（例えばｍｌ）の推奨投薬量を取得する。式は以下の通りである。
ＤHypo（ｍｌ）＝（ＢＧTR−ＢＧ）*ＦHypoTreatment／ＣHypoFluidConc   (24)
Ｄ５０に対して、低血糖症液体濃度は、０．５グラムのブドウ糖／ｍｌである。
【０１５７】
図２Ａ及び９Ａ−９Ｂを参照すると、ユーザ４０がブロック２１０又はブロック６００で標準ＳｕｂＱプログラムとも呼ばれる皮下インスリン処理９００を開始した場合、皮下インスリン処理９００は、患者の糖尿病ステータス、患者１０に命令される皮下タイプ（例えば、一貫して炭水化物ダイエット中の患者に意図される基礎／ボーラス及び修正、又はＮＰＯ又は継続した永久栄養補給中の患者に意図される基礎及び修正）、１日の投薬量の合計（ＴＤＤ）（例えば式１５Ａ−１５Ｃのいずれかを使用して計算される）、ボーラスインスリンタイプ（例えばノボログ）、基礎インスリンタイプ（例えばランタス）及び分配の頻度（例えば、１日につき１投与、１日につき２投与、１日につき３投与など）、基礎時間、ＴＤＤの基礎パーセンテージ、ＴＤＤの食事ボーラスパーセンテージ、１日の食事ボーラス分配（例えば、朝食ボーラス、昼食ボーラス、及び夕食ボーラス）、又はあらゆる他の関連の情報などの患者１０のＳｕｂＱ情報６１７を入力するようにユーザ４０に要求する。一部の実施では、患者ＳｕｂＱ情報６１７には、調節又は修正することができるデフォルトパラメータが事前投入される。一部の例では、患者ＳｕｂＱ情報６１７の一部には、以前に入力された患者皮下情報２１６ａが事前投入される。皮下インスリン処理９００は、患者デバイス１１０のディスプレイ１１６にＳｕｂＱ情報６１７を入力するようにユーザ４０に要求を促すことができる。一部の実施では、皮下インスリン処理９００は、図９Ｃに示されるように点滴治療での治療から移行した後に新しいＳｕｂＱ患者のＳｕｂＱ情報６１７を患者デバイス１１０のディスプレイ１１６に入力するようにユーザ４０に要求を促す。例えば、ユーザ４０は、皮下インスリン処理９００で患者の治療を続けるかどうかを選択することができる。他の実施では、皮下インスリン処理９００は、図９Ｄに示された皮下インスリン処理９００で治療される新しいＳｕｂＱ患者のカスタム開始の要求をディスプレイ１１６上で促す。一部の例では、皮下インスリン処理９００は、図９Ｅに示すように皮下インスリン処理９００で治療されるＳｕｂＱ患者の体重に基づいて開始の要求をディスプレイ１１６上で促す。例えば、ユーザ４０は、患者１０の体重（例えば１０８ｋｇ）を入力することができ、一部の例では、ＴＤＤは、患者の体重に基づいて式１５Ｂを使用して計算することができる。
【０１５８】
基礎インスリンは、患者の身体の空腹時のインスリン必要量である。従って、基礎投薬量の効果の最適インジケータは、患者１０がある期間空腹であった後の血糖値ＢＧである。食事ボーラスは、炭水化物を含む食事の後の患者の身体の短期必要量である。従って、食事ボーラスの効果の最適インジケータは、食事ボーラス後の１つの平均インスリン寿命ｉＬｉｆｅＲａｐｉｄあたりで検査された血糖測定値ＢＧであり、ここで寿命は現在使用されているインスリンタイプのものである。即効性アナログインスリンでは、寿命は、食事間の時間に好都合に類似している。ＳｕｂＱ処理９００は、ブロック９０２で血糖値ＢＧの手動エントリから始まる。次にＳｕｂＱ処理９００は、血糖値ＢＧのタイプ、すなわち、血糖ＢＧが測定される時間、例えば、睡眠中、朝食、昼食、夕食、又は就寝時を決定する。一部の例では、皮下インスリン処理９００が１日当たりの３回の食事のデフォルトセットアップを含むが、就寝時の間食又は他の付加的な食事も設定可能である。
【０１５９】
ブロック９０４で、皮下インスリン処理９００は、血糖タイプＢＧTypeが就寝中であるか（患者の就寝中に測定されたか）を決定する。そうである場合、皮下インスリン処理９００は、次式（式２に基づく）を使用して、又は修正ボーラス関数、すなわち、処理７００（図７）によって、ブロック９１４でインスリンの就寝中修正投薬量ＣＢMidSleepを計算する。
ＣＢMidsleep＝（ＢＧMidsleep−ＢＧTarget）／ＣＦ      (25)
就寝中の血糖値ＢＧのＢＧMidSleep（ブロック９０２で受信）をブロック９４２に送る。
【０１６０】
入力された血糖ＢＧが就寝中に測定されていない、すなわち、ＢＧtypeがＭｉｄＳｌｅｅｐに等しくない場合、皮下インスリン処理９００は、ブロック９０６で血糖タイプＢＧtypeが朝食前に測定されたかを決定する（ＢＧtype＝ｐｒｅ−Ｂｒｅａｋｆａｓｔ（朝食前））。そうである場合、皮下インスリン処理９００は、次式（式２に基づく）を使用してブロック９１６でインスリンの朝食修正投薬量ＣＢBreakfastを計算する。
ＣＢBreakfast＝（ＢＧBreakfast−ＢＧTarget）／ＣＦ    (26)
患者１０は、可能な限り早く朝食修正投薬量ＣＢBreakfastを投与される。ブロック９０６は、朝食前の血糖値をブロック９２４及びブロック９５０に送る。ブロック９２４で、看護師４０は、患者１０に朝食ボーラスＲｅｃＢｒｅａｋＢｏｌ(current)を投与し、次に朝食前血糖ＢＧBreakfastをブロック９３６に渡す（ここで次の朝食ボーラスに対する推奨が、昼食前ＢＧｔｙｐｅが入力された後に計算される）。昼食前血糖がブロック９０２で入力され、昼食前時血糖によって支配される調節係数パラメータＡＦが決定された状態で（図８）、調節係数ＡＦもブロック９３６に送られる。ブロック９３６で、処理９００は、次式に基づいて次の推奨朝食ボーラスＲｅｃＢｒｅａｋＢｏｌ(Next)を決定する。
ＲｅｃＢｒｅａｋＢｏｌ(Next)＝（ＲｅｃＢｒｅａｋＢｏｌ(current)*ＡＦ  (27)
ブロック９５０で、皮下インスリン処理９００は、朝食前血糖ＢＧBreakfastが検査されたかを決定し、されていない場合、皮下インスリン処理９００は、基礎推奨を阻止し、ボタン９６０で「基礎投薬量を与える」入力シーケンスを阻止し、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６で警告を表示し、それは、ブロック９５４で非一時的メモリ２４、１１４、１４４に格納される。しかし、朝食前血糖ＢＧBreakfastが検査されている場合、皮下インスリン処理９００は、ブロック９４２で、２つの血糖値、すなわち、次式に示すように、就寝中血糖ＢＧMidSleep又は朝食前血糖ＢＧBreakfastのうちの小さい方として支配血糖ＢＧgov、を選択する。
ＢＧgov（基礎調節）＝ＭＩＮ（ＢＧMidSleep又はＢＧBreakfast）   (28)
【０１６１】
一部の実施では、システム１００が、就寝中血糖ＢＧMidSleepが最大値（ＭＳＣｏｒｒＭＡＸ）よりも大きな修正ボーラス投薬量ＣＢを起こしたと決定しない限り、基礎のための支配血糖ＢＧgovは、就寝中血糖ＢＧMidSleep又は朝食前血糖ＢＧBreakfastのうちの小さい値であり、次式が適用される。
（ＢＧBreakfastの時間−ＢＧMidSleepの時間修正投薬量）＜ＤＴｍｉｎ   (29)
ここでＤＴｍｉｎは、事前設定された時間ウィンドウである。換言すると、以下のようになる。
{
IF {(TbreakfastBG - TMSCorr) > DTmin} AND 
{MidSleep Correction > MSCorrMAX}  THEN 
{BGgov for Basal} = MAX{ pre-breakfastBG, MidSleepBG}
ELSE {BGgov for Basal} = MIN{pre-breakfastBG, MidSleepBG}
}
【０１６２】
支配血糖ＢＧgovを決定した後に、皮下インスリン処理９００は、ブロック９４４で調節係数ＡＦを決定する（図８を参照）。調節係数処理８００は、調節係数ＡＦを支配血糖ＢＧgovの関数として戻す。皮下インスリン処理９００は、調節係数ＡＦをブロック９４６に送り、ここで皮下インスリン処理９００は、次式によって患者のインスリン投薬量への調節を決定する。
ＲｅｃｏｍＢａｓａｌ＝（前のＲｅｃｏｍＢａｓａｌPM）*ＡＦ            (30)
看護師４０がブロック９４８で患者１０に推奨基礎投薬量ＲｅｃｏｍｓＢａｓａｌを与える。
【０１６３】
一部の実施では、患者１０が１日につき複数の基礎投薬量を受ける場合、皮下インスリン処理９００は、患者１０に各日に等しい投薬量を提供する。従って、全日に対する推奨基礎投薬量ＲｅｃｏｍＢａｓａｌは、式３０の第１の推奨基礎投薬量に等しい。これは、朝食前ＢＧが検査された直後の朝の基礎投薬量ＲｅｃｏｍＢａｓａｌの投与を可能にする。
【０１６４】
食事ボーラス調節では、調節が、前日の同じ食事の食事ボーラスに加えられる（支配食事ボーラスＭＢgovとして公知）。同等に記述は、次の日の食事ボーラスが現在の食事ボーラスに加えられる調節であるということである。調節は、支配食事ボーラスＭＢgovに続く次のスケジュールされた血糖ＢＧである支配血糖ＢＧgovに基づいている。調節値は、調節係数処理８００（図８）によって決定され、入力は支配血糖ＢＧgovであり、出力は調節係数ＡＦである。調節係数ＡＦは、支配食事ボーラスＭＢｇｏｖによって乗算され、調節された推奨食事ボーラスＲｅｃＭｅａｌＢｏｌを取得する。
【０１６５】
支配血糖ＢＧgov又は支配食事ボーラスＭＢgovのいずれかが欠けている場合、前日の推奨食事ボーラスＲｅｃＭｅａｌＢｏｌprevが保たれる。
【０１６６】
ＳｕｂＱ処理９００は、日中の３回の食事、すなわち、朝食、昼食、夕食によって設計される。食事として昼食を考える場合、血糖ＢＧがブロック９０２で手動で入力された後、ＳｕｂＱ処理９００は、ブロック９０８で、血糖タイプＢＧtype、が昼食前である、すなわち、ＢＧLunchであると決定する。ＳｕｂＱ処理９００は、ブロック９１８で、次式（式２に基づく）に基づいて修正投薬量を決定する。
ＣＢLunch＝（ＢＧLunch−ＢＧTarget）／ＣＦ                (31)
【０１６７】
ＳｕｂＱ処理９００が修正投薬量を決定した状態で、看護師４０が可能な限り早く投薬量を患者１０に投与できるように投薬量がディスプレイ１１４、１４６に表示される。
【０１６８】
現在の推奨昼食ボーラスがブロック９６２で利用可能であり、それは、前日の夕食前ＢＧから利用可能になっているものである。この現在の推奨昼食ボーラスはディスプレイに表示され、看護師がブロック９２６で昼食ボーラスＲｅｃＬｕｎｃｈＢｏｌCurrentを与える。ＳｕｂＱ処理９００は、夕食前血糖がブロック９１０で検査されるまで新しい推奨投薬量を決定しない。次に夕食前血糖ＢＧが昼食ボーラスのためのＢＧgovとして作用して、ＳｕｂＱ処理が、調節係数処理８００の入力／出力ボックスであるブロック９３２にＢＧgovを送る。調節係数処理８００は、ブロック９３８に送られる調節係数パラメータＡＦを戻す。ブロック９３８で、処理は、次式に基づいて次の推奨昼食ボーラスＲｅｃＬｕｎｃｈＢｏｌNextを決定する。
ＲｅｃＬｕｎｃｈＢｏｌNext＝ＲｅｃＬｕｎｃｈＢｏｌcurrent*ＡＦ   (32)
【０１６９】
他の食事、すなわち、朝食及び夕食は、上述した昼食セットの例と同じパターンに従う。
【０１７０】
食事として夕食を考える場合、血糖ＢＧがブロック９０２で手動で入力された後に、ＳｕｂＱ処理９００は、ブロック９１０で、血糖タイプＢＧtypeが夕食前であると決定する。ＳｕｂＱ処理９００は、ブロック９２０で次式（式２に基づく）に基づいて修正投薬量を決定する。
ＣＢDinner＝（ＢＧDinner−ＢＧTarget）／ＣＦ            (33)
【０１７１】
ＳｕｂＱ処理９００が修正投薬量を決定した状態で、看護師４０が可能な限り早く患者１０に投薬量を投与できるように投薬量がディスプレイ１１６、１４６に表示される。
【０１７２】
現在の推奨夕食ボーラスＲｅｃＤｉｎｎｅｒＢｏｌｕｓCurrentがブロック９６２で利用可能であり、それは、前日の就寝時血糖Bedtimeから利用可能になっているものである。この現在の推奨夕食ボーラスはディスプレイに表示され、看護師がブロック９２８で推奨夕食ボーラスＲｅｃＤｉｎｎｅｒＢｏｌｕｓcurrentを患者１０に与える。就寝時血糖がブロック９１２で検査されるまでＳｕｂＱ処理９００は、新しい推奨投薬量ＲｅｃｏｍＢｏｌｕｓを決定しない。次に就寝時血糖ＢＧが夕食ボーラスのためのＢＧgovとして作用し、ＳｕｂＱ処理は、調節係数処理８００の入力／出力ボックスであるブロック９３４にＢＧgovを送る。調節係数処理８００は、ブロック９４０に送られる調節係数パラメータＡＦを戻す。ブロック９４０で、処理９００は、次式に基づいて次の推奨夕食ボーラスＲｅｃＤｉｎｎｅｒＢｏｌｕｓNextを決定する。
ＲｅｃＤｉｎｎｅｒＢｏｌｕｓNext＝ＲｅｃＤｉｎｎｅｒＢｏｌｕｓcurrent*ＡＦ
(34)
【０１７３】
血糖ＢＧタイプＢＧtypeが就寝時ＢＧBedtimeである（すなわち、血糖ＢＧが就寝時に測定された）とＳｕｂＱ処理９００がブロック９１２で決定した時、ＳｕｂＱ処理９００は、ブロック９２２で修正投薬量（式２に基づく）を決定する。
ＣＢBedtime＝（ＢＧBedtime−ＢＧTarget）／ＣＦ            (35)
【０１７４】
前述したように、ＳｕｂＱ処理９００は、ブロック９５６に示すように、その他の血糖タイプＢＧtypeを有する付加的な血糖ＢＧ測定を追加するように設定可能である。ＳｕｂＱ処理９００は、ブロック９５８で修正投薬量を決定する。
ＲｅｃＭｉｓｃＢｏｌｕｓNext＝（ＲｅｃＭｉｓｃＢｏｌｕｓCurrent）*ＡＦ
(36)
【０１７５】
図１０は、経口食料及び液体が患者１０から控えられていることを意味するニル・パー・オーエス（ＮＰＯ）を命令されている重症患者のための経管栄養患者のＳｕｂＱ処理１０００を示す。この処理１０００は、胃へのチューブを通した栄養又は点滴ＴＰＮ（完全非経口栄養）を受けている患者１０専用に設計されている。ＴＰＮは、患者１０が栄養面での恩恵を点滴のみで受けている場合を言う。ＴＰＮ又は経管栄養患者は、食事を取らないのでどちらも食事ボーラスを必要としない。代わりに、これらの患者は、その継続した経管栄養供給又はＴＰＮ栄養補給の継続したインスリン必要量を満たすために２４時間体制で等間隔にスケジュールされた時間に即効性インスリンの平等なボーラスが与えられ、これらのボーラスは、等価ボーラス（ＥｑＢｏｌｕｓ）と呼ばれる。
【０１７６】
経管栄養患者のためのＳｕｂＱ処理１０００は、看護師又は医師４０がディスプレイ１１０、１４０を通じて１日を均等な間隔に分割することを可能にする。これに加えて、看護師又は医師４０は、１日当たりの間隔の数に等しい１日当たりのスケジュールされた血糖測定値ＢＧの数を選択することができる。各間隔は、スケジュールされた血糖測定値ＢＧと均等ボーラスＥｑＢｏｌｕｓを含む。スケジュールされた血糖時間は、関連付けられた血糖ＢＧ１、ＢＧ２、ＢＧ３などを有するＴＳｃｈｅｄ１、Ｔｓｃｈｅｄ２、Ｔｓｃｈｅｄ３である。経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０でディスプレイ１１０、１４０を通じて次のスケジュール血糖の時間及びＢＧ数を表示する。任意的に、経管栄養患者のためのＳｕｂＱ処理１０００は、カウントダウンタイマー１０５０を利用して適当な時間の血糖測定値ＢＧを取得することができる。
【０１７７】
ＢＧスケジュールが「時計文字板の周りを移動する」ことのないように、以下の方法が使用され、すなわち、経管栄養患者のためのＳｕｂＱ処理１０００は、血糖ＢＧが測定された時間ＢＧTimeが上記に列挙された間隔のうちの１つの中に入るかを決定する。そうである場合、カウントダウンタイマー１０５０は、次のスケジュールされた血糖時間Ｔｓｃｈｅｄ１、Ｔｓｃｈｅｄ２、Ｔｓｃｈｅｄ３などで時間切れになるように設定される。各間隔は、開始時間マージン（ＭStart）と終了時間マージン（ＭEnd）によって構成される。経管栄養患者のためのＳｕｂＱ処理１０００を以下のように要約することができる。
（Ｔsched1−ＭStart）＜ＢＧTime＜＝（Ｔsched1＋ＭEnd）である場合、カウントダウンタイマーをＴsched2に時間切れになるように設定する、
（Ｔsched2−ＭStart）＜ＢＧTime＜＝（Ｔsched2＋ＭEnd）である場合、カウントダウンタイマーをＴsched3に時間切れになるように設定する。
一部の例では、４つの間隔が構成される場合、最後の間隔の論理は、以下のようになる。
（Ｔsched4−ＭStart）＜ＢＧTime＜＝（Ｔsched4＋ＭEnd）である場合、カウントダウンタイマーをＴsched1に時間切れになるように設定する。
【０１７８】
一部の実施では、経管栄養患者のためのＳｕｂＱ処理１０００は、２つの血糖スケジュールプラン、すなわち、１日当たり６回の血糖ＢＧ検査、又は１日当たり４回の血糖ＢＧ検査を提供する。看護師又は医師４０は、特定の患者１０に使用するプランを選択することができる。１日当たり６回の血糖測定の第１血糖プランは、以下の詳細を含み、すなわち、各スケジュールされた血糖測定は、次から４時間間隔が空いており、例えば、００：００、０４：００、０８：００、１２：００、１６：００、及び２０：００であり、２時間の開始マージンＭstart及び２時間の終了マージＭendがある。血糖測定値ＢＧが｛Ｔsched(i)−２時間｝から｛Ｔsched(i）＋２時間｝の間の間隔（ｉ）に入る場合、カウントダウンタイマーは、次のスケジュール時間、Ｔsched（ｉ＋１）に満了するように設定される。
【０１７９】
１日につき４回の血糖測定の第２血糖プランが図１０に示されている。図１０は、スケジュールされていないその他の血糖測定を更に示している。血糖測定は各々、００：００、０６：００、１２：００、及び１８：００の各々が次のものから６時間空けてスケジュールされており、４時間の開始マージンＭstart及び２時間の終了マージンＭendがある。血糖測定が｛Ｔsched(i)−４時間｝から｛Ｔsched(i）＋２時間｝の間の間隔（ｉ）に入る場合、カウントダウンタイマーは、次のスケジュールＢＧＴsched（ｉ＋１）に満了するように設定される。血糖ＢＧ検査は全部で４である。
（表３）
0006539290.tif 000010
【０１８０】
経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１００２で血糖測定時間ＢＧTimeに伴う手動血糖測定値ＢＧエントリから始まる。ブロック１０８０で、対話型ポップアップは、血糖が「スケジュールＢＧ」又はスケジュールされていないその他の（「Ｍｉｓｃ」）血糖検査であるかをユーザに訊ねる。ユーザが「Ｍｉｓｃ」を選んだ場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０１２で、「Ｍｉｓｃ」の値をフィールドＢＧｙｐｅに割り当て、日付スタンプ（「Ｒｅｃｏｒｄｅｄ  ｔｉｍｅ」）を記録する。ブロック１０３０で、経管栄養のためのＳｕｂＱ処理１０００は、式２を使用して手動血糖測定のための修正投薬量ＣＢを決定する。経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０で、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６で修正投薬量ＣＢを表示して、ブロック１０４２で非一時的メモリ２４、１１４、１４４に値を格納する。
【０１８１】
ブロック１０８０に戻って、ユーザが「スケジュールＢＧ」を選択した場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１００４で、血糖時間ＢＧTimeが（Ｔsched１−ＭSTart）から（Ｔsched１＋ＭEnd）の間隔内であるかを決定する。血糖測定時間ＢＧTimeが間隔内であり、すなわち、（Ｔsched１−ＭSTart）＜ＢＧTime（Ｔsched１＋ＭEnd）である場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０１４で、値「ＢＧ１」をフィールドＢＧｔｙｐｅに割り当て、カウントダウンタイマーをＴsched２にリセットして、ブロック１０４０でディスプレイ１１６、１４６に次のＢＧ時間のリマインダを表示する。次に経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０２２で式２：
CB = (BG - BGTarget) / CF        (2)
を使用して、又は修正投薬量関数、すなわち、処理７００を使用して血糖値ＢＧ１に基づいて修正投薬量ＣＢを決定する。経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０で、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６で修正投薬量ＣＢを表示して、ブロック１０４２で非一時的メモリ２４、１１４、１４４に値を格納する。これに加えて、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４４で４つの等価ボーラス（ＥｑＢｏｌｕｓ）の値を調節するための支配ＢＧとして血糖値ＢＧ１を使用する。具体的には、ブロック１０４４で、経管栄養患者のためのＳｕｂＱ処理１０００は、ＡＦの値を決定するための調節係数（ＡＦ）関数のための入力値ＢＧgovとして血糖値ＢＧ１を使用する。経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４６で、メモリ２４、１１４、１４４から前日の推奨等価ボーラスを取り出して、ブロック１０４８でブロック１０４４からのＡＦ値をブロック１０４６からの前日の推奨等価ボーラスで乗算することによって推奨等価ボーラス（例えば全ての４つのＥｑＢｏｌｕｓ）の新しい値を決定する。経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０で、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６で推奨等価ボーラス（ＥｑＢｏｌｕｓ）を表示して、ブロック１０４２で非一時的メモリ２４、１１４、１４４に値を格納する。
【０１８２】
しかし、ブロック１００４で経管栄養患者のためのＳｕｂＱ処理１０００が、血糖測定時間ＢＧTimeが（Ｔsched１−ＭStart）から（Ｔsched１＋ＭEnd）の間の間隔内にないと決定した場合、経管栄養患者のためのＳｕｂＱ処理１０００は、血糖測定時間ＢＧTimeが第２の間隔（Ｔsched２−ＭStart）から（Ｔsched１＋ＭEnd）内であるかどうかをブロック１００６で決定し、そうである場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０１６で値「ＢＧ２」をフィールドＢＧｔｙｐｅに割り当て、カウントダウンタイマーをＴsched３にリセットしてブロック１０４０で次のＢＧ時間のリマインダをディスプレイ１１６、１４６に表示する。次に経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０２４で、式２を使用して、又は修正投薬量関数、すなわち、処理７００を使用して血糖値ＢＧ２に基づいて修正投薬量ＣＢを決定する。
【０１８３】
経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０で、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６で修正投薬量ＣＢを表示して、ブロック１０４２で非一時的メモリ２４、１１４、１４４に値を格納する。これに加えて、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０３６で基礎投薬量を調節するための支配ＢＧとして血糖値ＢＧ２を使用する。具体的には、ブロック１０３６で、経管栄養患者のためのＳｕｂＱ処理１０００は、ＡＦの値を決定するための調節係数（ＡＦ）関数の入力値ＢＧgovとして血糖値ＢＧ２を使用する。
【０１８４】
経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０５６でメモリ２４、１１４、１４４から前日の最後の基礎投薬量ＲｅｃＢａｓａｌLastを取り出して、ブロック１０５８で次式のようにＡＦ値をＲｅｃＢａｓａｌLastによって乗算することによって当日の推奨基礎投薬量ＲｅｃＢａｓａｌを決定する。
ＲｅｃＢａｓａｌ＝（ＲｅｃＢａｓａｌLast）*ＡＦ              (37)
経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０４０で、患者１０、看護師、及び医師４０にディスプレイ１１６、１４６でＲｅｃＢａｓａｌを表示して、ブロック１０４２で非一時的メモリ２４、１１４、１４４に値を格納する。
【０１８５】
しかし、血糖測定時間ＢＧTimeが（Ｔsched２−ＭStart）から（Ｔsched２＋ＭEnd）までの間隔内にないとブロック１００６で経管栄養患者のためのＳｕｂＱ処理１０００が決定した場合、経管栄養患者のためのＳｕｂＱ処理１０００は、血糖測定時間ＢＧTimeが第３間隔（Ｔsched３−ＭStart）から（Ｔsched３＋ＭEnd）内であるかどうかをブロック１００８で決定し、そうである場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０１８で値「ＢＧ３」をフィールドＢＧｔｙｐｅに割り当て、カウントダウンタイマーをＴsched４にリセットして、ブロック１０４０でディスプレイ１１６、１４６に次のＢＧ時間のリマインダを表示する。次に、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０２６で、式２を使用して、又は修正投薬量関数、すなわち、処理７００を使用して血糖値ＢＧ３に基づいて修正投薬量ＣＢを決定する。
【０１８６】
しかし、血糖測定時間ＢＧTimeが（Ｔsched３−ＭStart）から（Ｔsched３＋ＭEnd）の間隔内にないと経管栄養患者のためのＳｕｂＱ処理１０００がブロック１００８で決定した場合、経管栄養患者のためのＳｕｂＱ処理１０００は、血糖測定時間ＢＧTimeが第４間隔（Ｔsched４−ＭStart）から（Ｔsched４＋ＭEnd）内であるかどうかをブロック１０１０で決定し、そうである場合、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０２０で値「ＢＧ４」をフィールドＢＧｔｙｐｅに割り当て、カウントダウンタイマーをＴsched１にリセットして、ブロック１０４０でディスプレイ１１６、１４６に次のＢＧ時間のリマインダを表示する。次に、経管栄養患者のためのＳｕｂＱ処理１０００は、ブロック１０２８で、式２を使用して又は修正投薬量関数、すなわち、処理７００を使用して血糖値ＢＧ４に基づいて修正投薬量ＣＢを決定する。
【０１８７】
図１１は、食事ボーラスなしのＳｕｂＱ処理１１００を記述しており、血糖測定値ＢＧが食事後まで保留され、食事をカバーするためのインスリンを組み入れる大きな食事後修正ボーラスを結果として生じる。食事ボーラスなしのＳｕｂＱ処理１１００は、１日を等しい持続時間又は等しくない持続時間のいずれかとすることができる間隔に分割する。各間隔は、スケジュールされた血糖測定値ＢＧを含む。一部の例では、食事ボーラスなしのＳｕｂＱ処理１１００は、１日につき５回の血糖測定値ＢＧを含む。食事ボーラスなしのＳｕｂＱ処理１１００は、時間間隔の他の数を含むよう構成することができる。これに加えて、食事ボーラスなしのＳｕｂＱ処理１１００は、設定可能な血糖ＢＧ測定時間を含む。一部の例では、測定スケジュールが、食事後修正の適当なタイミングである通常の食事時間後の約１から３時間ごろに行われる血糖測定値ＢＧを含む。
【０１８８】
スケジュールされた血糖測定時間ＢＧ時間は、Ｔsched０、Ｔsched１、Ｔsched２などと名付けられる。時間間隔は、時間境界によってマーク付けされ、数字の添え字の付いた「Ｔbound」と名付けられる。これらの時間値は設定可能である。デフォルト時間の例を以下の表に示す。
（表４）
0006539290.tif 000011
【０１８９】
経管栄養患者のためのＳｕｂＱ処理１０００（図１０）と同様に、食事ボーラスなしのＳｕｂＱ処理１１００（図１１）は、適当な時間に血糖ＢＧ検査を取得するために使用されるカウントダウンタイマー１００１を含む。
【０１９０】
ＢＧスケジュールが「時計文字盤の周りで移動する」ことのないように、以下の方法が使用される。
【０１９１】
食事ボーラスなしのＳｕｂＱ処理１１００は、血糖ＢＧが測定される時間ＢＧTimeが、間隔のうちの１つに入るかを決定する。そうである場合、カウントダウンタイマーは、次の間隔のスケジュールされた血糖測定Ｔsched１、Ｔsched２、Ｔsched３などで時間切れになるように設定される。これは、「スナップ・ツー・ザ・スケジュール」特徴と考えることができる。各間隔は、開始時間マージン（ＭStart）と終了時間マージン（ＭEnd）によって構成される。食事ボーラスなしのＳｕｂＱ処理１１００は、以下のように要約することができる。
［Ｔbound0＜ＢＧTime≦Ｔbound1］である場合、Ｔsched2で時間切れになるようカウントダウンタイマーを設定する、
［Ｔbound1＜ＢＧTime≦Ｔbound2］である場合、Ｔsched3で時間切れになるようカウントダウンタイマーを設定する、
［Ｔbound2＜ＢＧTime≦Ｔbound3］である場合、Ｔsched4で時間切れになるようカウントダウンタイマーを設定する、
［Ｔbound3＜ＢＧTime≦Ｔbound4］である場合、Ｔsched5で時間切れになるようカウントダウンタイマーを設定する、
［Ｔbound4＜ＢＧTime≦Ｔbound0］である場合、Ｔsched1で時間切れになるようカウントダウンタイマーを設定する。
【０１９２】
食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１０２で血糖測定時間ＢＧTimeに伴う手動血糖測定値ＢＧエントリから始まる。次にブロック１１０４で、食事ボーラスなしのＳｕｂＱ処理１１００は、血糖測定時間ＢＧTimeがＴbound0からＴbound1の間隔内であるかを決定する。血糖測定時間ＢＧTimeが間隔内である場合、すなわち、Ｔbound0＜ＢＧTime≦Ｔbound1である場合、食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１１４でカウントダウンタイマーをＴsched２にリセットする。次に食事ボーラスなしのＳｕｂＱ処理１１００は、式２を使用してブロック１１２２で修正投薬量ＣＢを決定する。
【０１９３】
しかし、ブロック１１０４で食事ボーラスなしのＳｕｂＱ処理１１００が血糖測定時間ＢＧTimeがＴbound0からＴbound1の間隔内にないと決定した場合、食事ボーラスなしのＳｕｂＱ処理１１００は、血糖測定時間ＢＧTimeが第２の間隔Ｔbound1からＴbound2内であるかを決定し、そうである場合、食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１１６で、カウントダウンタイマーをＴsched3にリセットして、ブロック１１２４で式２を使用して修正投薬量ＣＢを決定する。
【０１９４】
しかし、血糖測定時間ＢＧTimeがＴbound1からＴbound2の間隔内にないとブロック１１０６で食事ボーラスなしのＳｕｂＱ処理１１００が決定した場合、食事ボーラスなしのＳｕｂＱ処理１１００は、血糖測定時間ＢＧTimeが第３間隔Ｔbound2からＴbound3内であるかどうかをブロック１１０８で決定し、そうである場合、食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１１８で、カウントダウンタイマーをＴsched4にリセットして、ブロック１１２６で式２を使用して修正投薬量ＣＢを決定する。
【０１９５】
しかし、血糖測定時間ＢＧTimeがＴbound2からＴbound3の第３間隔内にないとブロック１１０８で食事ボーラスなしのＳｕｂＱ処理１１００が決定した場合、食事ボーラスなしのＳｕｂＱ処理１１００は、血糖測定時間ＢＧTimeが第４間隔Ｔbound3からＴbound4内であるかを決定し、そうである場合、食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１２０で、カウントダウンタイマーをＴsched5にリセットして、ブロック１１２８で式２を使用して修正投薬量ＣＢを決定する。
【０１９６】
しかし、血糖測定時間ＢＧTimeがＴbound3からＴbound4の第４時間間隔内にないとブロック１１１０で食事ボーラスなしのＳｕｂＱ処理１１００が決定した場合、食事ボーラスなしのＳｕｂＱ処理１１００は、血糖測定時間ＢＧTimeが第５間隔Ｔbound4からＴbound5内であるかを決定し、そうである場合、食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１３０でカウントダウンタイマーをＴsched1にリセットして、ブロック１１３１で式２を使用して修正投薬量ＣＢを決定する。
【０１９７】
図のように、食事ボーラスなしのＳｕｂＱ処理１１００は、５つのスケジュールされた血糖測定値ＢＧが終わるまで５回処理を繰り返すが、食事ボーラスなしのＳｕｂＱ処理１１００は、より多いか又はより少ない時間間隔を含むことができる。
【０１９８】
食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１３４で最初に支配血糖ＢＧgovを決定することによって基礎インスリン投薬量を調節する。食事ボーラスなしのＳｕｂＱ処理１１００は、推奨が計算される基礎投薬量と同じ日の早朝６：００に最も近い血糖ＢＧとして支配血糖ＢＧgovを決定する。最も近い血糖ＢＧが確実に取得されるように、０６：００後の経過時間が０６００までの先行ＢＧから経過した時間に等しくなるまで基礎投与が許可されない。これは、「０６００に近い別のＢＧ」のための全ての機会が過ぎるのを確実にするためである。
【０１９９】
食事ボーラスなしのＳｕｂＱ処理１１００は、ブロック１１３４からブロック１１３６に支配血糖ＢＧgovを渡して、調節係数ＡＦ（図８を参照）を決定し、これをブロック１１３８に渡す。ブロック１１３８で、食事ボーラスなしのＳｕｂＱ処理１１００は、次式を使用して当日の推奨第１基礎投薬量を決定する。
ＲｅｃＢａｓａｌFirst＝（ＲｅｃＢａｓａｌLast(prev)）*ＡＦ    (38)
【０２００】
基礎投薬量は、１日の間に患者１０に投与される数回の内の１つとすることができるが、投薬量の全ては同じ値に保たれる。
【０２０１】
処理１１００は、ブロック１１４０で、修正投薬量ＣＢ及び推奨基礎投薬量をディスプレイ１１６、１４６上で患者１０、看護師、及び医師４０に表示して、ブロック１１４２で非一時的メモリ２４、１１４、１４４に値を格納する。
【０２０２】
図１２を参照すると、炭水化物カウントなしの食事毎ＳｕｂＱ処理１２００は、先行する食事ボーラス（いずれかのタイプ又は１日の時間の）を支配食事ボーラスＭＢgovとして利用し、支配食事ボーラスに続く次の血糖を支配血糖ＢＧgovとして利用することによって推奨食事ボーラスを計算する。これはＢＧgovが現実の時間で現在のＢＧであることが多いことを意味する。
【０２０３】
修正ボーラス及び基礎投薬量調節が、標準的なＳｕｂＱ処理９００と同様に行われる（図９Ａ及び９Ｂ）。従って、修正投薬量は、血糖タイプに基づいて、ブロック１２１４、１２１６、１２１８、１２２０、１２２２、１２５８で決定される。
【０２０４】
食事毎の炭水化物カウントなしのＳｕｂＱ処理１２００の食事ボーラス調節部分は、ブロック１２０２で手動血糖測定値ＢＧエントリから始まる。血糖測定値ＢＧが、就寝中ＢＧの血糖タイプＢＧｔｙｐｅであるとブロック１２０４によって決定された場合、処理９００は、血糖測定をブロック１２４２に送る。血糖測定値ＢＧが就寝中ＢＧの血糖タイプＢＧtypeではない場合、食事毎の炭水化物カウントなしのＳｕｂＱ処理１２００は、ＢＧが朝食前血糖ＢＧBreakfastであるかどうかをブロック１２０６で決定する。ＢＧが朝食前血糖ＢＧBreakfastであるとブロック１２０６で決定された場合、ブロック１２５０で、処理１２００は、朝食前血糖ＢＧBreakfastが検査されたかを決定し、検査されていない場合、処理１２００は、基礎推奨を阻止して、ボタン１２６０の「基礎を与える」ポップアップの初期化を阻止し、ブロック１２５４で警告を掲示して患者１０、看護師、及び医師４０にディスプレイ１１６、１４６上で表示し、それは、ブロック１２５１で非一時的メモリ２４、１１４、１４４に格納される。しかし、朝食前血糖ＢＧBreakfastが検査されている場合、処理１２００は、ブロック１２４２で、式２８（上述）に示すように、支配血糖ＢＧgovを２つの血糖値、すなわち、就寝中血糖ＢＧMidSleep又は朝食前血糖ＢＧBreakfastのうちの小さい方の値として選択する。
【０２０５】
支配血糖ＢＧgovを決定した後に、処理１３００は、ブロック１３４４で調節係数ＡＦを決定する（図８を参照）。調節係数処理８００は、調節係数ＡＦを支配血糖ＢＧgovの関数として戻す。処理１３００は、調節係数ＡＦをブロック１２４６に送り、ここで処理１３００は、次式３０によって患者のインスリン投薬量の調節を決定して、次に看護師４０がブロック１３４８で患者１０に推奨基礎投薬量ＲｅｃｏｍｓＢａｓａｌを与える。
【０２０６】
血糖測定値ＢＧが朝食前血糖測定値ＢＧBreakfastであると食事毎の炭水化物カウントなしのＳｕｂＱ処理１２００がブロック１２０６で決定した場合、それは、ブロック１２０８に渡され、血糖測定値ＢＧが昼食前血糖ＢＧLunchであるかどうかの決定が行われる。昼食前血糖ＢＧLunchである場合、ブロック１２０８は、昼食前ＢＧをブロック１２３０に経路指定し、それは、ＡＦ関数の入力（ＢＧgov）として使用される。ＡＦ関数は、調節係数（ＡＦ）の値を戻し、それは、ブロック１２３８に経路指定され、推奨昼食ボーラスが次式によって計算される。
ＲｅｃＬｕｎｃｈＢｏｌ＝ＡＦ*ＲｅｃＢｒｅａｋｆａｓｔＢｏｌPrev    (39)
【０２０７】
処理１２００は、ブロック１２５４で推奨昼食ボーラスＲｅｃＬｕｎｃｈＢｏｌｕｓを遠隔プロセッサに送り、ブロック１２５２でディスプレイ１１４、１４６に送り、かつ夕食ボーラス計算のためにブロック１２４０に送る。
【０２０８】
血糖ＢＧが昼食前血糖ＢＧLunchでないとブロック１２０８で決定された場合、それは、ブロック１２１０に経路指定される。ＢＧがブロック１２１０によって夕食前血糖ＢＧDinnerであると決定された場合、血糖ＢＧは、それが調節係数処理００のための入力（ＢＧgov）として使用されるブロック１２３２に経路指定される。ＡＦ関数は、調節係数の値ＡＦを戻し、それは、ブロック１２４０に経路指定される。先行する推奨昼食ボーラスがブロック１２４０で利用可能であり、これは以下の式によって推奨夕食ボーラスを計算するのに必要なデータの全てを有する。
ＲｅｃＤｉｎｎｅｒＢｏｌ＝ＡＦ*（ＲｅｃＬｕｎｃｈＢｏｌPrev）    (40)
【０２０９】
処理１２００は、推奨夕食ボーラスＲｅｃＤｉｎｎｅｒＢｏｌをブロック１２５４で遠隔プロセッサに、ブロック１２５２でディスプレイ１１４、１４６に、かつ次の日の朝食ボーラス計算のためにブロック１２３６に送る。
【０２１０】
血糖ＢＧが夕食前ＢＧではないと処理１２００がブロック１２１０で決定した場合、処理１２００は、血糖ＢＧをブロック１２１２に経路指定する。血糖ＢＧが就寝時ＢＧであると処理１２００がブロック１２１２で決定した場合、処理１２００は、ＢＧをそれがＡＦ関数の入力（ＢＧgov）として使用されるブロック１２３４に経路指定する。ＡＦ関数は、調節係数の値（ＡＦ）を戻し、それは、ブロック１２３６に経路指定される。先行する推奨夕食ボーラス（前の日からの）がブロック１２３６で利用可能であり、これは、次式によって推奨朝食ボーラスを計算するのに必要なデータの全てを有する。
ＲｅｃＢｒｅａｋｆａｓｔＢｏｌ＝ＡＦ*（ＲｅｃＤｉｎｎｅｒＢｏｌPrev） (41)
【０２１１】
処理１２００は、推奨朝食ボーラスをブロック１２５４で遠隔プロセッサに、ブロック１２５２でサブジェクトデータディスプレイに、かつ昼食ボーラス計算のためのブロック１２３８に送る。
【０２１２】
炭水化物カウントを伴う食事毎のＳｕｂＱプログラムは、次回の食事の炭水化物をＣＩＲ（炭水化物対インスリン比）で割り算することによって推奨食事ボーラスを計算する。炭水化物対インスリン比ＣＩＲは、各食事で再計算され次の食事に渡される単一のパラメータの形態である。支配ＣＩＲは、先行する食事から現在の食事に渡されるＣＩＲとして定義される。処理は、支配ＣＩＲに続く次の血糖ＢＧを支配ＢＧ（ＢＧgov）として利用する。これは、ＢＧgovが現実の時間の現在のＢＧであることが多いことを意味する。
【０２１３】
修正ボーラス及び基礎投薬量調節が、標準的なＳｕｂＱ処理９００と同様に行われる（図９Ａ及び９Ｂ）。従って、修正投薬量ＣＢは、血糖タイプに基づいてブロック１３１４、１３１６、１３１８、１３２０、１３２２、１２５８で決定される。
【０２１４】
図１３Ａ及び１３Ｂを参照すると、食事毎の処理１３００の食事ボーラス調節部分は、ブロック１３０２で手動ＢＧエントリから始まる。血糖値ＢＧが就寝中ＢＧでないと処理１３００がブロック１３０４で決定した場合、処理１３００は、ＢＧが朝食前ＢＧであるかどうかの決定をブロック１３０６で行う。血糖ＢＧが朝食前血糖ＢＧbreakfastであると処理１３００がブロック１３０８で決定した場合、ブロック１３５０で、処理１３００は、朝食前血糖ＢＧbreakfastが検査されたかを決定する。検査されていない場合、処理１３００は、基礎推奨を阻止して、ボタン１３６０で「基礎を与える」ダイアログの初期化を阻止し、ブロック１３５４で警告を掲示してディスプレイ１１６、１４６上で患者１０、看護師、及び医師４０に表示する。処理１３００は、ブロック１３５１で警告を非一時的メモリ２４、１１４、１４４に格納する。しかし、朝食前血糖ＢＧbreakfastが検査されている場合、処理１３００は、ブロック１３４２で、２つの血糖値、すなわち、式２８（上述）に示すように、就寝中血糖ＢＧMidSleep又は朝食前血糖ＢＧBreakfastのうちの小さい方の値として支配血糖ＢＧgovを選択する。
【０２１５】
支配血糖ＢＧgovを決定した後に、処理１３００は、ブロック１３４４で調節係数ＡＦを決定する（図８を参照）。調節係数処理８００は、調節係数ＡＦを支配血糖ＢＧgovの関数として戻す。処理１３００は、調節係数ＡＦをブロック１２４６に送り、ここで処理１３００は、次式３０によって患者のインスリン投薬量の調節を決定して、次に看護師４０がブロック１３４８で患者１０に推奨基礎投薬量ＲｅｃｏｍｓＢａｓａｌを与える。
【０２１６】
血糖ＢＧが朝食前ＢＧではないと処理１３００がブロック１３０６で決定した場合、処理１３００は、血糖ＢＧをブロック１３０８に渡し、処理１３００は、血糖ＢＧが昼食血糖ＢＧLunchであるかを決定する。血糖ＢＧが昼食血糖ＢＧLunchである場合、処理１３００は、ブロック１３０８で、昼食血糖ＢＧLunchをそれが調節係数ＡＦ関数の入力（ＢＧgov）として使用されるブロック１３３０に経路指定する。調節係数ＡＦ関数（図８）は、調節係数の値ＡＦを戻し、それは、ブロック１３３４に経路指定されて炭水化物対インスリン比（ＣＩＲ）が次式によって計算される。
ＣＩＲ＝（朝食からのＣＩＲ）／ＡＦ                    (42)
【０２１７】
炭水化物カウントを伴う食事毎の処理１３００は、炭水化物対インスリン比ＣＩＲをブロック１３３８に経路指定し、ここで推奨昼食ボーラスが次式のように計算される。
ＲｅｃＬｕｎｃｈＢｏｌｕｓ＝（昼食時の炭水化物グラム数）／ＣＩＲ  (43)
【０２１８】
炭水化物対インスリン比ＣＩＲも、ブロック１３３４から次回の夕食計算で使用するためにブロック１３３６に送られる。
【０２１９】
血糖ＢＧが昼食前血糖ＢＧlunchでないと処理１３００がブロック１３０８で決定した場合、処理１３００は、血糖ＢＧをブロック１３１０に経路指定する。血糖ＢＧが夕食前血糖ＢＧdinnerであると処理１３００がブロック１３１０で決定した場合、処理１３００は、血糖ＢＧをブロック１３３２に経路指定し、そこで調節係数ＡＦ関数の入力（ＢＧgov）として使用される。調節係数ＡＦ関数は、調節係数の値（ＡＦ）を戻し、これを処理１３００は、ブロック１３３６に経路指定して、そこで炭水化物対インスリン比ＣＩＲが次式によって計算される。
ＣＩＲ＝（昼食からのＣＩＲ）／ＡＦ                    (44)
【０２２０】
炭水化物カウントを伴う食事毎の処理１３００は、ＣＩＲをブロック１３４０に経路指定して、そこで推奨夕食ボーラスが次式のように計算される。
ＲｅｃＤｉｎｎｅｒＢｏｌ＝（夕食の炭水化物グラム数）／ＣＩＲ    (45)
【０２２１】
炭水化物対インスリン比ＣＩＲは、ブロック１３３６から次回の朝食計算に使用するためにブロック１３３２に送られる。処理１３００は、推奨夕食ボーラスＲｅｃｏｍＤｉｎｎｅｒＢｏｌをブロック１３５４で遠隔プロセッサに、かつブロック１３５２でディスプレイ１１４、１４６に送る。
【０２２２】
血糖ＢＧが夕食前ＢＧでないと処理１３００がブロック１３１０で決定した場合、処理１３００は、血糖ＢＧをブロック１３１２に経路指定する。血糖ＢＧが就寝時ＢＧであると処理１３００がブロック１３１２で決定した場合、処理１３００は、血糖ＢＧをブロック１３３０に経路指定し、そこでＡＦ関数の入力（ＢＧgov）として使用される。ＡＦ関数は、調節関数の値（ＡＦ）を戻し、それは、ブロック１３３２に経路指定され、そこで炭水化物対インスリン比（ＣＩＲ）がブロック１３３４で次式によって計算される。
ＣＩＲ＝（夕食からのＣＩＲ）／ＡＦ                    (46)
【０２２３】
炭水化物カウントを伴う食事毎の処理１３００は、ＣＩＲをブロック１３３６に経路指定し、そこで推奨朝食ボーラスが次式のように計算される。
ＲｅｃＢｒｅａｋｆａｓｔＢｏｌ＝（朝食の炭水化物グラム数）／ＣＩＲ     (47)
【０２２４】
ＣＩＲは、ブロック１３３０から次回の昼食計算に使用するためにブロック１３３４に送られる。処理１３００は、推奨朝食ボーラスをブロック１３５４で遠隔プロセッサに、かつブロック１３５２でサブジェクトデータディスプレイに送る。
【０２２５】
図１４は、糖尿病に似た症状の一時的な病状を有する非糖尿病患者１０のための皮下処理１４００を示す。典型的な例は、ストレス性高血糖症、すなわち、患者の身体が、手術、ある一定の薬物療法、又は糖尿病以外の別の病気によるストレスの影響を受けている時に遭遇する病状である。ストレスは、血糖を上昇させることによって患者の身体に反応させる。患者が回復するにつれて、この高血糖症状態は、一般的に、場合によっては急速に消失し、患者にインスリンが必要なくなる。処理の原理は、血糖測定値ＢＧが閾値よりも下に降下した場合に必ず、係数ＮｏｎＤＭｆａｃｔｏｒによって患者の全体的なインスリン投与療法を急速に低減することである。
【０２２６】
非ＤＭ処理１４００は、血糖測定値ＢＧによってブロック１４０２で始まる。処理１４００は、血糖ＢＧがインスリン低減の閾値ＮｏｎＤＭｆｌｏｏｒよりも下であるかどうかをブロック１４６０で決定する。血糖ＢＧが最後の推奨ＮｏｎＤＭｆｌｏｏｒの値よりも低い場合、処理１４００は、各値を０と１の間の値の無次元の設定可能な定数、すなわち、インスリン低減の閾値ＮｏｎＤＭｆａｃｔｏｒによって乗算することによって、ブロック１４６３での表内の最後の推奨インスリン投薬量の全ての値をブロック１４６２で低減する。ブロック１４６３のグループは、投薬量が与えられたか否かに関わらず、朝食ボーラスＢＧBreakfast、昼食ボーラスＢＧLunch、夕食ボーラスＢＧDinner、及び基礎投薬量などの最後の推奨投薬量を含む。換言すると、最後の推奨（又は処方される投薬量）は投薬量が与えられたか否かに関わらず変化する。多くの実施において、インスリン低減の閾値ＮｏｎＤＭｆａｃｔｏｒは、０．５の値に構成される。
【０２２７】
修正インスリンも低減することができる。これは、以下のように修正係数ＣＦを上昇させることによって達成される。ブロック１４６２に戻って、論理がブロック１４６４に渡され、そこで一日のインスリン投薬量の合計値ＴＤＤは投薬量が低減される度に再計算される。これは、食事ボーラス及び基礎投薬量の最後の推奨値の新しく低減された値の全てを合計することによって達成される。処理１４００は、ＴＤＤをブロック１４６６に渡し、そこで生修正係数が次式の通りに計算される。
ＣＦ＝ＣＦＲ／ＴＤＤ                    (46)
【０２２８】
ブロック１４０２に戻って、処理１４００は、血糖ＢＧをブロック１４０４に経路指定し、そこで処理１４００は、血糖タイプＢＧtypeが就寝中ＢＧMidSleepであるかを決定する。そうである場合、処理１４００は、就寝中血糖ＢＧMidSleepをブロック１４４２に経路指定する。血糖タイプＢＧtypeが就寝中でないとブロック１４０４で決定された場合、論理は、ブロック１４０６に渡され、そこで血糖タイプＢＧtypeが朝食前ＢＧBreakfastであるかを決定される。血糖タイプＢＧtypeが朝食前ＢＧBreakfastである場合、処理１４００は、ブロック１４１６で修正投薬量ＣＢを計算し、それは、可能な限り早く投与される。血糖タイプＢＧtypeが朝食前ＢＧBreakfastである場合、論理は、ボックス１４２４に渡され、そこで以前に推奨された朝食食事ボーラスが投与される。この以前に推奨された朝食前食事ボーラスの値は、ブロック１４３６に渡され、これは、次の推奨朝食ボーラスの計算のための２つの要求されるパラメータのうちの一方である。ブロック１４０６に戻って、処理１４００は、朝食前ＢＧをボックス１４５０に経路指定する。
【０２２９】
ブロック１４５０での条件は、ブロック１４０６からの朝食血糖ＢＧBreakfastの到着まで基礎の投与が推奨基礎投薬量を掲示しないことによって阻止され、朝食前血糖ＢＧBreakfastがブロック１４４２に送られるということである。ブロック１４４２で、処理１４００は、基礎調節のための支配血糖ＢＧgovを２つの血糖値、すなわち、就寝中血糖ＢＧMidSleepと朝食前血糖ＢＧBreakfastのうちの小さい方の値として決定する。ブロック１４４４で、処理１４００は、基礎のための支配血糖ＢＧgovを調節係数ＡＦ関数に入力して（図７）、それは、基礎調節のための調節係数ＡＦを戻す。処理１４００は、調節係数ＡＦをブロック１４４６に送り、ここでそれは、次式によってその日の推奨第１基礎投薬量を計算するために使用される。
推奨第１基礎投薬量＝ＡＦ*（前日の最後の基礎投薬量）        (48)
【０２３０】
空腹時血糖ＢＧが支配血糖ＢＧgovとして必要とされるので、基礎投与は、１日につき一度だけ調節され、就寝中血糖ＢＧMidSleep及び朝食前血糖ＢＧBreakfastＢＧは、１日の間の唯一の信頼できる空腹時血糖測定値ＢＧである。１よりも多い基礎投薬量が使用される場合、値は、１日の第１基礎投薬量に等しく設定される。１日の最後の基礎投薬量は、それが就寝中血糖ＢＧMidSleepと朝食前血糖ＢＧBreakfastの時間での最新の投薬量であるので支配基礎投薬量として使用される。
【０２３１】
血糖タイプＢＧtypeが朝食ではないと処理１４００がブロック１４０６で決定した場合、論理は、ブロック１４０８に渡り、ここで処理１４００は、ＢＧtypeが昼食であるかを決定する。ＢＧｔｙｐｅが昼食である場合、処理１４００は、ブロック１４１８で修正投薬量ＣＢを計算し、それは、可能な限り早く投与される。論理は、ボックス１４２６に渡り、ここで前に推奨された昼食食事ボーラスが投与される。処理１４００は、この以前に推奨された昼食食事ボーラスの値をブロック１４３８に渡し、これは、次の推奨昼食ボーラスの計算のための２つの要求されるパラメータのうちの一方である。ブロック１４０８に戻って、以下のように次の推奨朝食ボーラスの計算のための２つの要求されるパラメータの第２のものが提供された場合、処理１４００は、昼食血糖ＢＧlunchをブロック１４３０に経路指定する。
次の推奨朝食ボーラス＝ＡＦ*（現在の推奨朝食ボーラス）        (49)
【０２３２】
ＢＧtypeが昼食前ではないとブロック１４０８で決定された場合、論理は、ブロック１４１０に渡り、ここで処理１４００は、ＢＧtypeが夕食前かを決定する。ＢＧtypeが夕食前である場合、処理１４００は、ブロック１４２０で修正投薬量を計算し、それは、可能な限り早く投与される。論理は、ボックス１４２８に渡され、そこで以前に推奨された夕食食事ボーラスが投与される。この以前に推奨された夕食食事ボーラスの値は、ボックス１４４０に渡され、これは次の推奨夕食ボーラスの計算のための２つの要求されるパラメータのうちの一方である。ブロック１４１０に戻って、次式のように次の推奨昼食ボーラスの計算のための２つの要求されるパラメータの第２のものが提供された場合、処理１４００は、夕食前血糖ＢＧDinnerをブロック１４３２に経路指定する。
次の推奨昼食ボーラス＝ＡＦ*（現在の推奨昼食ボーラス）        (50)
【０２３３】
ＢＧｔｙｐｅが夕食前でないとブロック１４１０で決定された場合、論理は、ブロック１４１２に渡り、ここで処理１４００は、ＢＧtypeが就寝時かを決定する。血糖タイプＢＧtypeが就寝時である場合、処理１４００は、ブロック１４２２で修正投薬量ＣＢを計算し、それは、可能な限り早く投与される。以下のように次の推奨夕食ボーラスの計算のための２つの要求されるパラメータの第２のものが提供された場合、論理は、ボックス１４３４に渡る。
次の推奨夕食ボーラス＝ＡＦ*（現在の推奨夕食ボーラス）        (51)
【０２３４】
血糖ＢＧtypeが就寝時でないとブロック１４１２で決定された場合、論理は、ブロック１４５６に渡り、ここで処理１４００は、ＢＧtypeが就寝時であるかを決定する。ＢＧtypeが就寝時である場合、処理１４００は、ブロック１４５８で修正投薬量を計算し、それは、可能な限り早く投与される。処理１４００は、次の推奨食事ボーラスをブロック１４５４で遠隔プロセッサに、かつブロック１４５２でディスプレイ１１４、１４６に送る。
【０２３５】
図１５は、静脈内インスリンを患者１０に投与する方法１５００の作動の構成を提供する。本方法は、血糖測定デバイス１２４（例えば、血糖メーター又はグルコメーター）から投薬コントローラ１６０のコンピュータデバイス（例えば、患者デバイス１１０のプロセッサ１１２、病院電子医療記録システム１５０のプロセッサ１５２、又はサービスプロバイダ１３０のデータプロセッサ１３２）上で血糖測定値ＢＧを受信する段階１５０２を含む。血糖測定値ＢＧは、時間間隔ＴNextによって分離される。方法１５００は、コンピュータデバイス１１２、１３２、１５２を使用して血糖測定値ＢＧに基づいてインスリン投薬速度ＩＩＲを決定する段階１５０４を含む。一部の実施では、方法１５００は、現在の血糖測定値ＢＧ、定数Ｋ、及び乗数Ｍに基づいてインスリン投薬速度ＩＲＲを決定する（上述の式３Ａを参照）。定数Ｋは６０ｍｇ／ｄｌに等しくすることができる。現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも高くかつ以前の血糖値ＢＧpからの血糖パーセント降下ＢＧ%Dropが望ましいパーセント降下ＢＧ％ｄｒｏｐＭよりも高いか又はそれに等しい時に、方法１５００は、時間間隔ＴNext間で乗数Ｍを変化させないままに残す段階を含む（式５を参照）。本方法はまた、現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの上限ＢＧTRHよりも高くかつ血糖パーセント降下ＢＧ%Drop（又は血糖パーセント降下）が望ましいパーセント降下ＢＧ％ｄｒｏｐＭよりも低い時に、変化係数ＭCFで乗数Ｍを乗算する段階を含む。これに加えて又はこれに代えて、現在の血糖測定値ＢＧがターゲット範囲ＢＧTRにある時に、すなわち、ＢＧが血糖ターゲット範囲の上限ＢＧTRHよりも低くターゲット範囲ＢＧTRの下限ＢＧTRLよりも高い時に、方法１５００は、時間間隔ＴNext間で乗数Ｍを変化させないままに残す段階を含む。現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも低い時に、方法１５００は、変化係数ＭCFによって乗数Ｍを除算する段階を含む。
【０２３６】
方法１５００は、現在の血糖測定値ＢＧが低閾値血糖レベルＢＧHypoよりも下である時に、時間間隔ＴNextを約１５分と約３０分の間の低血糖症時間間隔ＴHypoに設定する段階を含むことができる。
【０２３７】
方法１５００は、血糖測定値ＢＧ及び時間間隔ＴNextに基づいて血糖降下速度ＢＧDropRateを決定する段階１５０６を含む。方法１５００は、以前の血糖測定値ＢＧpからコンピュータデバイス１１２、１３２、１４２を使用して血糖パーセント降下ＢＧ%Dropを決定する段階１５０７を含む。血糖降下速度ＢＧDropRateが閾値降下速度ＢＧDropRateLimitよりも大きい時、方法１５００は、グルコメーターによる血糖測定値判定間の時間間隔ＴNextを１５０８で短くする段階を含む。
【０２３８】
血糖ＢＧのパーセント降下ＢＧ%Dropがパーセント降下の閾値％ＤｒｏｐRegularよりも高い時に、方法１５００は、血糖測定値ＢＧ間の時間間隔ＴNextを短くする段階１５１０を含み、従って、パーセント降下の閾値％ＤｒｏｐRegularは、現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも下であるか否かに依存する。一部の実施では、方法１５００は、現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも高いか又はそれに等しく、かつ血糖パーセント降下ＢＧ%Dropが閾値パーセント降下％ＤｒｏｐRegularを超える時に時間間隔ＴNextを短くする段階を含む。一部の実施では、現在の血糖測定値ＢＧが血糖ターゲット範囲ＢＧTRの下限ＢＧTRLよりも下でありかつ低閾値血糖レベルＢＧHypoよりも上であり、かつ血糖パーセント降下ＢＧ%Dropが閾値パーセント降下％ＤｒｏｐLowLimitよりも高いか又はそれに等しい時に、方法１５００は、時間間隔ＴNextを短くする段階を含む。
【０２３９】
一部の例では、現在の血糖測定値ＢＧが食事前測定である時に、方法１５００は、少なくとも２つの次の時間間隔ＴNextに対して乗数Ｍを変化させないままに残す段階を含む。一部の例では、方法１５００は、食事に対する炭水化物の数値、並びに血糖測定をコンピュータデバイス１１２、１３２、１４２上で受信する段階と、コンピュータデバイス１１２、１３２、１４２を使用して、血糖に基づいて静脈内インスリン速度ＩＩＲ（このＩＩＲは式３Ａを使用して計算することができる）を決定する段階とを含む。これに加えて、方法１５００は、コンピュータデバイス１１２、１３２、１４２を使用して、炭水化物の数値に基づいて食事ボーラスインスリン速度ＩＩＲを決定する段階を含む。次に、方法１５００は、式１２に示すように食事ボーラス速度及び通常静脈内速度の和として合計インスリン速度を計算する。方法１５００は、時間間隔ＴNextを約３０分に設定する段階を更に含むことができる。血糖測定値ＢＧが初期食事前血糖測定値ＢＧ後の（しかし、それを含まない）第２の連続した測定である場合に、方法１５００は、時間間隔ＴNextを約３０分に設定する段階を含む。
【０２４０】
一部の実施では、方法１５００は、現在の血糖測定値ＢＧが安定性ターゲット範囲ＢＧSTRの外側である時にディスプレイ１１６、１４６上に警告を電子的に表示する段階と、インスリンの皮下投与への移行を阻止する段階とを含む。これに加えて、現在の血糖測定値ＢＧが、閾値安定期間ＴStable未満にわたって患者の個別化ターゲット範囲ＢＧTR内である時に、方法１５００は、ディスプレイ１１６、１４６上に警告を電子的に表示する段階を含む。一部の例では、現在の血糖測定値ＢＧが閾値安定期間ＴStableにわたって安定性ターゲット範囲ＢＧSTR内である時に、方法１５００は、乗数Ｍに基づいてインスリンの合計１日投薬量ＴＤＤを決定する段階を含む。
【０２４１】
図１６を参照すると、インスリンを投与する方法１６００は、グルコメーター１２４からデータ処理デバイス１１２で患者１０の血糖測定値ＢＧを受信する段階１６０２を含む。血糖測定値ＢＧは、時間間隔ＴNextによって分けられる。方法１６００は、データ処理デバイス１１２で患者情報を受信する段階１６０４を含み、一部の例では、プロセッサ１１２に関連付けられた非一時的メモリ２４、１１４、１４４に受信した患者情報を格納する段階を含む。方法１６００は、皮下インスリン治療９００、１０００、１１００、１２００、１３００、１４００の集合から皮下インスリン治療９００、１０００、１１００、１２００、１３００、１４００の選択２２６をデータ処理デバイス１１２で受信する段階１６０６を含む。選択２２６は、血糖測定値ＢＧ及び患者情報２０８ａに基づいている。方法１６００は、データ処理デバイス１１２を使用して選択された皮下インスリン治療９００、１０００、１１００、１２００、１３００、１４００を実行する段階１６０８を含む。
【０２４２】
一部の実施では、方法１６００は、設定可能な定数ＣＦＲを受信する段階と、設定可能な定数ＣＦＲをデータ処理デバイスに関連付けられた非一時的メモリに格納する段階と、修正係数を決定する段階とを含む。設定可能な定数ＣＦＲは、公開された統計的相関関係から決定することができる。方法１６００はまた、食事前修正ボーラスＣＢ、及び／又は食後修正ボーラスＣＢを決定する段階を含むことができる。方法１６００は、即効性インスリンの半減期値を受信する段階と、即効性インスリンに対する平均寿命ｉＬｉｆｅＲａｐｉｄを決定する段階とを含むことができる。
【０２４３】
一部の実施では、方法１６００は、支配血糖値ＢＧgovを受信する段階と、受信した支配血糖値ＢＧgovに基づいて調節係数ＡＦを決定する段階とを含む。調節係数ＡＦを決定する段階は、支配血糖値ＢＧgovが値の閾値範囲内である時を決定する段階と、調節係数を値の閾値範囲に基づいて事前設定された調節係数に設定する段階とを含むことができる。一部の実施では、方法１６００は、式４２、４４、及び４６のうちの１つを計算することによって調節係数ＡＦに基づいて炭水化物対インスリン比ＣＩＲを決定する段階を含む。
【０２４４】
皮下インスリン治療９００、１０００、１１００、１２００、１３００、１４００の選択は、皮下標準プログラム９００、経管栄養患者のための皮下プログラム１０００、食事ボーラスなしの皮下プログラム１１００、炭水化物カウントなしの食事毎皮下プログラム１２００、炭水化物カウントを伴う食事毎皮下プログラム１３００、及び非糖尿病患者のための皮下プログラム１４００のうちの１又は２以上を含む。一部の例では、経管栄養患者のための皮下処理１０００は、血糖測定値ＢＧの測定の時間に関連付けられた血糖時間ＢＧTimeを受信する段階と、血糖時間ＢＧTimeが閾値の時間間隔内であるかを決定する段階と、閾値の時間間隔に基づいて次の血糖測定値ＢＧのタイマー１００１、１１０１を設定する段階と、血糖タイプＢＧTypeに基づいて修正インスリン投薬量ＣＢを決定する段階とを含む。
【０２４５】
一部の例では、標準プログラム９００は、受信した血糖測定値ＢＧの血糖タイプＢＧTypeを決定する段階と、血糖タイプＢＧTypeに基づいて修正インスリン投薬量ＣＢを決定する段階とを含む。一部の例では、方法１６００は、支配血糖値ＢＧｇｏｖを受信する段階と、受信した血糖値及び血糖測定に基づいて調節係数ＡＦを決定する段階とを含む。方法１６００はまた、決定された調節係数ＡＦ及び現在の推奨食事ボーラスに基づいて次の推奨食事ボーラスを決定する段階を含むことができる。
【０２４６】
本明細書に説明するシステム及び技術の様々な実施は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウエア、ファームウエア、ソフトウエア、及び／又はその組合せに実施することができる。これらの様々な実施は、ストレージシステム、少なくとも１つの入力デバイス、及び少なくとも１つの出力デバイスとの間でデータ及び命令を受信及び送信するために結合された専用又は汎用とすることができる少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能及び／又は解釈可能な１又は２以上のコンピュータプログラムにおける実施を含むことができる。
【０２４７】
これらのコンピュータプログラム（プログラム、ソフトウエア、ソフトウエアアプリケーション又はコードとしても公知）は、プログラマブルプロセッサのための機械命令を含み、ハイレベル手続き及び／又はオブジェクト指向プログラミング言語及び／又はアセンブリ／機械言語に実施することができる。本明細書に使用する「機械可読媒体」及び「コンピュータ可読媒体」という語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに機械命令及び／又はデータを提供するのに使用されるあらゆるコンピュータプログラム製品、装置、及び／又はデバイス（例えば、磁気ディスク、光学ディスク、メモリ、プログラマブル論理デバイス（ＰＬＤ））を指す。「機械可読信号」という語は、機械命令及び／又はデータをプログラマブルプロセッサに提供するのに使用されるあらゆる信号を指す。
【０２４８】
本明細書に説明する主題及び機能的作動の実施は、デジタル電子回路、又は本明細書で開示する構造及びその構造的均等物を含むコンピュータソフトウエア、ファームウエア、又はハードウエア、又はこれらの１又は２以上の組合せに実施することができる。更に、本明細書に説明する主題は、１又は２以上のコンピュータプログラム製品、すなわち、データ処理装置の作動によって実行され又は制御されるコンピュータ可読媒体に符号化されたコンピュータプログラム命令の１又は２以上のモジュールとして実施することができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号に影響を与えるものの合成体、又はこれらの１又は２以上の組合せとすることができる。「データ処理装置」、「コンピュータデバイス」、及び「コンピュータプロセッサ」という語は、例として、プログラマブルプロセッサ、コンピュータ、又はマルチプロセッサ又はコンピュータを含むデータを処理するための全ての装置、デバイス、及び機械を包含する。装置は、ハードウエアに加えて、そのようなコンピュータプログラムのための実行環境を生成するコード、例えば、プロセッサファームウエア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はこれらの１又は２以上の組合せを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、適切な受信装置に送信する情報を符号化するために生成される機械生成の電気、光学、又は電磁信号である。
【０２４９】
コンピュータプログラム（アプリケーション、プログラム、ソフトウエア、ソフトウエアアプリケーション、スクリプト、又はコードとしても公知）は、コンパイルされた又は解釈された言語を含むプログラミング言語のあらゆる形態で書くことができ、それは、独立プログラムとして、又はモジュール、構成要素、サブルーチン、又はコンピュータ環境に使用するのに適する他のユニットとしてを含むあらゆる形態で配備することができる。コンピュータプログラムは、必ずしもファイルシステムのファイルに対応しない。プログラムは、他のプログラム又はデータを保持するファイルの一部分（例えば、マークアップ言語文書で格納された１又は２以上のスクリプト）に、そのようなプログラム専用単一ファイルに、又は複数の共同ファイル（例えば、１又は２以上のモジュール、サブプログラム、又はコードの一部分を格納するファイル）に格納することができる。コンピュータプログラムは、１つのコンピュータ上で、又は１つのサイトに位置するか又は複数のサイトにわたって分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備することができる。
【０２５０】
本明細書に説明する処理及び論理の流れは、１又は２以上のコンピュータプログラムを実行する１又は２以上のプログラマブルプロセッサによって実行することができ、入力データを操作して出力を生成することによって機能を実行する。処理及び論理の流れは、装置によって実行することができ、装置は、特定用途論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）又はＡＳＩＣ（特定用途向け集積回路）として実施することができる。
【０２５１】
コンピュータプログラムの実行に適するプロセッサは、例として、汎用及び専用マイクロプロセッサの両方、及びあらゆる種類のデジタルコンピュータのいずれか１又は２以上のプロセッサを含む。一般的に、プロセッサは、読取専用メモリ又はランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサと、命令及びデータを格納するための１又は２以上のメモリデバイスとである。一般的には、コンピュータは、データを格納するための１又は２以上の大容量ストレージデバイス、例えば、磁気、磁気光学ディスク、又は光学ディスクの両方を含むか、又はこれらとの間でデータを受信又はデータを転送するように作動させることができるように結合される。しかし、コンピュータは、そのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば２、３例を挙げると、移動電話、携帯情報端末（ＰＤＡ）、移動音声プレーヤ、全地球測位システム（ＧＰＳ）受信機に組み込むことができる。コンピュータプログラム命令及びデータを格納するのに適するコンピュータ可読媒体は、例えば、半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスク又は取外し可能ディスク、磁気光学ディスク、及びＣＤ  ＲＯＭ及びＤＶＤ−ＲＯＭディスクを含む全ての形態の不揮発性メモリ、媒体、及びメモリデバイスを含む。プロセッサ及びメモリは、専用論理回路によって補足することができ、又は専用論理回路に組み込むことができる。
【０２５２】
ユーザとの対話を提供するために、本発明の開示の１又は２以上の態様は、ディスプレイデバイス、例えば、ＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）モニタ、又はユーザに情報を表示するためのタッチスクリーン及び任意的にキーボード及びポインティングデバイス、例えば、ユーザがコンピュータに入力を提供することができるマウス又はトラックボールを有するコンピュータに実施することができる。他の種類のデバイスを使用して同様にユーザとの対話を提供することができ、例えば、ユーザに提供されるフィードバックは、あらゆる形態の感知式フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックとすることができ、ユーザからの入力は、音響、発話、又は触覚入力を含むあらゆる形態で受信することができる。これに加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信してデバイスから文書を受信することにより、例えば、ウェブブラウザから受信した要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザと対話することができる。
【０２５３】
本発明の開示の１又は２以上の態様は、例えば、データサーバとしてバックエンド構成要素を含み、又はミドルウェア構成要素、例えば、アプリケーションサーバを含み、又はフロントエンド構成要素、例えば、それを通じてユーザが本明細書に説明する主題の実施と対話することができるグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ、又は１又は２以上のこれらのバックエンド、ミドルウェア、又はフロントエンド構成要素のあらゆる組合せを含むコンピュータシステムに実施することができる。システムの構成要素は、デジタルデータ通信のあらゆる形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）及びワイドエリアネットワーク（「ＷＡＮ」）、インター−ネットワーク（例えば、インターネット）、及びピア・ツー・ピアネットワーク（例えば、アドホックピア・ツー・ピアネットワーク）を含む。
【０２５４】
コンピュータシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般的には互いから遠隔にあり、典型的には通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されて互いとのクライアント−サーバ関係を有するコンピュータプログラムによって発生する。一部の実施では、サーバは、データ（例えば、ＨＴＭＬページ）をクライアントデバイスに送信する（例えば、クライアントデバイスと対話するユーザにデータを表示してユーザからユーザ入力を受信するために）。クライアントデバイスで生成されたデータ（例えば、ユーザ対話の結果）は、サーバでクライアントデバイスから受信することができる。
【０２５５】
この明細書は多くの詳細を含有するが、これらは、本発明の開示又は主張することができる事柄の範囲を制限するものと解釈すべきではなく、本発明の開示の特定の実施に固有の特徴を説明するものとして解釈しなければならない。個別の実施の関連での本明細書に説明するある一定の特徴は、単一実施内に組み合わせて実施することもできる。逆に、単一実施の関連で説明する様々な特徴は、別々に複数の実施に又はあらゆる適切な部分組合せに実施することができる。更に、特徴は、ある一定の組合せで作用するように上述しかつ最初にそのように主張さえしたが、主張した組合せからの１又は２以上の特徴は、場合によっては組合せから除くことができ、主張した組合せは、部分組合せ又は部分組合せの変形に関する場合がある。
【０２５６】
同様に、作動は特定の順序で図面に示しているが、これは、望ましい結果を達成するためにそのような作動が示された特定の順序で又は連続的な順序で実行されること、又は全ての例示された作動が実行されることが望ましいとして理解すべきではない。ある状況では、マルチタスク及び並行処理が有利になる。更に、上述の実施形態の様々なシステム構成要素の分離は、全ての実施形態においてそのような分離が望ましいと理解すべきではなく、説明したプログラム構成要素及びシステムは、一般的には単一ソフトウエア製品に互いに統合することができること又は複数のソフトウエア製品にパッケージ化することができることを理解しなければならない。
【０２５７】
多くの実施を説明した。それにも関わらず、様々な変更を本発明の開示の精神及び範囲から逸脱することなく実行することができることが理解されるであろう。従って、他の実施は、以下の特許請求の範囲にある。例えば、特許請求の範囲に説明されるアクションは、異なる順序で実行され、かつ依然として望ましい結果を達成することができる。
【図１Ａ】
0006539290.tif 000012
【図１Ｂ】
0006539290.tif 000013
【図１Ｃ】
0006539290.tif 000014
【図２Ａ】
0006539290.tif 000015
【図２Ｂ】
0006539290.tif 000016
【図２Ｃ】
0006539290.tif 000017
【図３】
0006539290.tif 000018
【図４Ａ】
0006539290.tif 000019
【図４Ｂ】
0006539290.tif 000020
【図４Ｃ】
0006539290.tif 000021
【図４Ｄ】
0006539290.tif 000022
【図４Ｅ】
0006539290.tif 000023
【図５Ａ】
0006539290.tif 000024
【図５Ｂ】
0006539290.tif 000025
【図５Ｃ】
0006539290.tif 000026
【図５Ｄ】
0006539290.tif 000027
【図６Ａ】
0006539290.tif 000028
【図６Ｂ】
0006539290.tif 000029
【図６Ｃ】
0006539290.tif 000030
【図６Ｄ】
0006539290.tif 000031
【図６Ｅ】
0006539290.tif 000032
【図６Ｆ】
0006539290.tif 000033
【図６Ｇ】
0006539290.tif 000034
【図７】
0006539290.tif 000035
【図８】
0006539290.tif 000036
【図９Ａ】
0006539290.tif 000037
【図９Ｂ】
0006539290.tif 000038
【図９Ｃ】
0006539290.tif 000039
【図９Ｄ】
0006539290.tif 000040
【図９Ｅ】
0006539290.tif 000041
【図１０】
0006539290.tif 000042
【図１１】
0006539290.tif 000043
【図１２Ａ】
0006539290.tif 000044
【図１２Ｂ】
0006539290.tif 000045
【図１３Ａ】
0006539290.tif 000046
【図１３Ｂ】
0006539290.tif 000047
【図１４Ａ】
0006539290.tif 000048
【図１４Ｂ】
0006539290.tif 000049
【図１５】
0006539290.tif 000050
【図１６】
0006539290.tif 000051