概要
本明細書では、連続血糖モニタリング(CGM)に基づく提案が記載されている。CGMシステムを着用する人の数を考えると、CGMシステムは連続的に測定値を生成するため、CGMシステムに血糖レベルを検出するためのセンサを提供し、そのようなシステムによって生成された測定値を維持するCGMプラットフォームは、膨大な量のデータ、例えば、数千万患者日分の測定値を有することがある。しかしながら、この量のデータは、実際にはそうではないにしても、血糖測定だけでなく、様々な状態、例えば健康指標を正確に予測するために血糖測定値と相関させることができる豊富な追加データに関連して、人間がパターンを確実に識別することは事実上不可能である。
これらの問題を克服するために、CGMによる予測生成が活用される。CGMプラットフォームは、ユーザ母集団におけるユーザの様々なCGMシステムおよび計算デバイスから血糖測定値を取得する。記載の技法により、CGMシステムは、人の血糖を連続的にモニタリングするように構成されている。CGMシステムは、例えば、人の皮膚に皮下挿入され、人の血糖を示す分析物を検出するCGMセンサを備えて構成されてもよい。CGMシステムは、検出された分析物に基づいて血糖測定値を連続的に生成することができる。本明細書で使用される場合、「連続的に」という用語は、ほぼ連続的にを意味し、連続的な血糖モニタリングは、CGMシステムのリソース(例えば、バッテリ寿命、処理能力、通信能力など)によって支援される時間間隔で、指を刺すなどのユーザの手動対話を必要とせずに測定値を生成するようにする。血糖レベルを連続的にモニタリングすることにより、CGMシステムは、ユーザがユーザの治療に関してより多くの情報に基づいた決定を行うことを可能にするだけではなく、手動で指を刺すことが危険である可能性のある活動、例えば車の運転に参加することを可能にしながら、血糖レベルのモニタリングも継続する。
CGMシステムは、人によって着用されるスマートウォッチ、人のスマートフォン、またはCGMシステムに関連付けられた専用デバイスなど、CGMシステムに通信可能に結合された計算デバイスに血糖測定値を送信する。CGMシステムは、リアルタイムで、設定された時間間隔で、または計算デバイスからの要求に応答して、血糖測定値を通信してもよい。次いで、計算デバイスは、ネットワークを介してCGMプラットフォームをホストするクラウドベースのサービスに血糖測定値を通信することなどによって、CGMプラットフォームに血糖測定値を提供する。
CGMプラットフォームは、様々なデバイス、センサ、アプリケーション、またはサービスに由来するユーザ母集団におけるユーザの追加データを取得してもよい。追加データは、限定ではなく例として、健康関連データ、アプリケーション対話データ、環境データ、人口統計データ、血糖測定値に加えて、デバイスデータ(例えば、センサ識別データ、インシデントレポート)、計算デバイスによって追加された補足データ、サードパーティデータなどを含んでもよい。健康関連データは、ほんの数例を挙げると、活動データ(例えば、歩数、運動頻度、睡眠データ)、生体測定データ(例えば、インスリンレベル、ケトンレベル、心拍数、温度、ストレス)、栄養データ(例えば、飲食ログ、スキャンされたレストランの領収書、炭水化物消費量、絶食)、医療記録(A1C、コレステロール、心電図の結果、および他の医療検査または病歴に関連するデータなど)を含んでもよい。アプリケーション対話データは、特定のアプリケーションとのユーザ対話を記載するアプリケーションログから抽出されたデータ、計算デバイスの入力/出力インターフェースに関連して実行されるクリック、タップ、およびプレスを記載するクリックストリームデータ、ユーザが見ている場所を記載する注視データ(例えば、計算デバイスに関連付けられたディスプレイデバイスに関連して、またはユーザがデバイスから目をそらしているとき)、ユーザまたは他のユーザの可聴コマンドおよび他の話されたフレーズを記載する音声データ(例えば、ユーザが受動的に聞くことを含む)などを含んでもよい。環境データは、例えば、ユーザの位置、ユーザの位置の温度および/または天気、ユーザの高度、気圧など、ユーザに関連付けられた様々な環境的態様を記載するデータを含んでもよい。人口統計データは、例えば、年齢、性別、身長、体重など、ユーザを説明するデータを含んでもよい。上記に説明したタイプの追加データは単なる例であり、追加データには、本明細書に記載の技法の精神または範囲から逸脱することなく、より多くの、より少ない、または異なるタイプのデータを含んでもよい。
CGMプラットフォームは、ユーザ母集団の様々なそれぞれのユーザから収集された血糖測定値および追加データを記憶および集約する。場合によっては、血糖測定値および追加データにタイムスタンプを付けることができ、これにより、それぞれのユーザの血糖測定値および追加データを、様々なデータ間の時間ベースの関係または順序を維持する方法で記憶することが可能となる。これにより、CGMプラットフォームは、従来のシステムによってこのような大規模な分析が単純に行われていなかった個別のデータセットに基づいて、様々な予測および推論を行うことが可能となる。
集約データを使用して予測および推論を生成するために、CGMプラットフォームは、CGMプラットフォームによって維持される豊富な集約データを活用して、統計モデル、ニューラルネットワークとして構成された機械学習モデル、および/または統計モデルなどの様々なモデルを構築する。例えば、システムは統計モデルを構築し、他の機械学習モデルを構築し、他の機械学習モデルを訓練し(そうでなければそのような機械学習モデルによって展開されたポリシーを学習し)、ユーザ母集団の血糖測定値および追加データを使用してこれらのモデルを更新することができる。
特に、従来のシステムとは異なり、CGMプラットフォームは、ユーザ母集団の数十万人のユーザ(例えば、500,000人以上)に対してCGMシステムを使用して取得された血糖測定値へのアクセスを有してもよい。さらに、これらの測定値は、CGMシステムのセンサによって連続的な速度で取られる。その結果、モデルの構築および訓練のためにシステムで利用できる血糖測定値は、数百万、さらには数十億になることがある。このような堅牢な量のデータで、システムはモデルを構築および訓練して、血糖レベルに対する様々な挙動の実際の影響を正確に模倣することができる。この集約データの堅牢性がなければ、従来のシステムは単にモデルを構築または訓練して、様々なユーザの挙動および行動が血糖値にどのように影響するかを好適に表す方式で状態空間をカバーすることができない。これらの状態空間を適切にカバーできないと、不正確な血糖予測または他の健康指標の予測をもたらす可能性があり、死を引き起こす可能性のある危険な行動または挙動を提案することにつながる可能性がある。不正確な予測を生成することの重要性を考えると、まれなイベントに対して堅牢な量の血糖測定値を使用してモデルを構築することが重要である。
CGMプラットフォームは、CGMシステムを着用しているユーザの様々な予測、および予測される健康状態を改善するための提案を生成するために、集約されたデータを使用して構築および/または訓練されたモデルを使用する。予測は、健康指標に対応するか、そうでなければそれを含んでもよい。本明細書で使用される場合、「健康指標」という用語は、「悪い(negative)」または「良い(positive)」であり得る予測される健康状態を指してもよい。悪い健康状態の例は、例えば、ほんの数例を挙げると、前糖尿病、I型糖尿病、II型糖尿病、ニューロパシー、アルツハイマー病、および心臓病を含む。対照的に、「良い」健康状態の例は、改善された血液検査、体組成、心臓血管能力などを含み得る。
さらに、システムによって生成される予測は、個々のユーザの特定の予測、およびユーザ母集団全体の一般化された予測または傾向を含んでもよい(例えば、ソーダを飲むと血糖値が急上昇し、長期的なニューロパシーを引き起こす、または低炭水化物の食事によりA1Cが低下する)。例えば、システムは、ユーザが将来、II型糖尿病または心臓病を発症するであろうことを予測するなどによって、ユーザの健康指標またはイベントのユーザ固有の予測を生成するために、訓練された機械学習モデルを特定の期間にわたる個々のユーザの血糖測定値および追加データに適用することができる。システムは、予測に関連付けられた精度または確率、および予測に関連付けられた期間(例えば、40か月以内にII型糖尿病を発症する可能性が75%)を生成してもよい。場合によっては、システムは、短期的な予測を生成するために、リアルタイムデータに基づいて個々のユーザの予測を生成してもよい。例えば、訓練されたモデルは、近い将来(例えば、次の30分)のユーザの予測される血糖レベルを生成するために、データが捕捉されているときにリアルタイムで血糖測定、心拍数、インスリンレベルなどに適用され得る。
これらの予測に基づいて、CGMプラットフォームは様々な提案を生成する。場合によっては、提案が、予測される悪い健康状態を、予測される悪い健康状態を緩和する(例えば、負の健康状態の発生確率を減らす)1つ以上の行動または挙動と関連付ける論理に基づいて生成される。そのため、提案は、予測される悪い健康状態を緩和することを意図する1つ以上の行動または挙動を含んでもよい。提案は、例えば、ユーザに行動を実行すること(例えば、計算デバイスにアプリケーションをダウンロードする、すぐに病院に駆け付ける、インスリンを投与する、散歩に出かける、特定の食品または飲料を消費する)、挙動を継続すること(例えば、特定の方法での食事、または特定の方法での運動を継続する)、挙動を変更すること(例えば、食習慣または運動習慣を変更する)などを指示してもよい。
例えば、ユーザの血糖値が次の30分で高血糖レベルに上昇するという予測に基づいて、CGMプラットフォームは、ユーザがインスリンを投与するか、または活発な散歩に出かけることを提案するなどにより、ユーザの血糖レベルを下げることを意図する行動を含む提案を生成してもよい。逆に、ユーザの血糖値が一晩で低血糖レベルに低下するという予測に基づいて、CGMプラットフォームは、ユーザの血糖値を低血糖レベルより上に保つために、ユーザが就寝前にバナナを食べることを提案してもよい。別の例として、ユーザが40か月以内にII型糖尿病を発症するという予測に基づいて、CGMプラットフォームは、ユーザの食事を調整するか、または活動レベルを上げたりするための提案を生成してもよい。
CGMプラットフォームによって生成された予測および提案は、ユーザに直接提供されてもよく、または、例えば、医療提供者、家族、サードパーティサービスなど、ユーザに関連付けられた他の関係者もしくはプラットフォームに提供されてもよい。そのような予測および提案は、例えば、電子通信(例えば、電子メールメッセージまたはテキストメッセージ)、通知(例えば、アプリケーション内またはデバイス上の通知)としてユーザまたは他の関係者に通信されてもよく、または資格情報を介してアクセス可能な安全なプラットフォームまたはウェブサイトにアップロードされてもよい。
様々な実装に従って、CGMプラットフォームは、1つ以上のアプリケーションプログラミングインターフェース(API)を含み、CGMプラットフォームと1つ以上のサードパーティとの間で、血糖測定および追加データの往復通信を可能にする。このようなAPIには、CGMシステムによって収集された血糖測定値を利用するアプリケーションおよびサービスを提供する様々なサードパーティに血糖測定値をCGMプラットフォームから通信できるようにする「出力」APIを含んでもよい。例えば、ユーザはそのようなサードパーティのアプリケーションをダウンロードし、これらのサードパーティのアプリケーションがユーザの血糖測定値にアクセスすることを許可してもよい。そうすることにより、サードパーティのアプリケーションが様々な方法で血糖測定値を活用して、ユーザの健康を改善することが可能となる。このようにして、サードパーティサービスプロバイダは、サードパーティサービスプロバイダが独自のCGMシステムを製造および展開しなくても、血糖測定値を使用する様々なサービスを提供し得る。
CGMプラットフォームはまた、CGMプラットフォームがサードパーティのサービスプロバイダから「サードパーティ」のデータを受信することを可能にする「入力」APIを含んでもよい。このようなサードパーティデータは、サードパーティのサービスまたはアプリケーションとのユーザ対話を記載するアプリケーション対話データを含んでもよい。CGMプラットフォームは、特定のアプリケーションとの対話がユーザの健康を改善しているかどうかを決定するために、ユーザの血糖測定値および他のデータとともに、アプリケーション対話データを集約することができる。これに基づいて、CGMプラットフォームは、ユーザ母集団の他のユーザも特定のアプリケーションを利用することを提案してもよい。
この一部として、システムは、例えば、年齢、性別、場所など、特定のユーザの人口統計データを収集してもよい。ユーザから収集された血糖測定値は、ユーザ母集団における他のユーザとの類似性スコアを生成するために、人口統計データおよび追加データと組み合わせることができる。例えば、22歳の女性で、平均血糖が162mg/dLで、夜間の低血糖測定のパターンを経験しているユーザは、その年齢、性別、平均血糖測定値、およびパターン経験の他のユーザとの類似性スコアを有することがある。このシナリオでは、特定のアプリケーションを利用するための提案は、母集団内の他のユーザとのユーザの類似性に基づいてもよい。例えば、特定のアプリケーションの使用によってユーザ母集団におけるユーザのサブセットの糖血症が改善される場合、CGMプラットフォームは、ユーザ母集団における同様のユーザに特定のアプリケーションの使用を提案することができる。
以下の説明では、最初に、本明細書に記載の技法を使用し得る例示的な環境を記載する。次いで、例示的な環境および他の環境で実行され得る例示的な実装形態の詳細および手順が記載される。例示的な手順のパフォーマンスは、例示的な環境に限定されず、例示的な環境は、例示的な手順のパフォーマンスに限定されない。
例示的な環境
図1は、本明細書に記載のような連続血糖モニタリング(CGM)に基づく提案を用いるように動作可能な例示的な実装形態における環境100の図示である。図示の環境100は、CGMシステム104、インスリン送達システム106、および計算デバイス108を着用して描かれている人102を含む。図示された環境100はまた、CGMシステムのユーザ母集団110における他のユーザ、CGMプラットフォーム112、およびモノのインターネット114(IoT114)を含む。CGMシステム104、インスリン送達システム106、計算デバイス108、ユーザ母集団110、CGMプラットフォーム112、およびIoT114は、ネットワーク116を介して互いに通信可能に結合されている。
代替的または追加的に、CGMシステム104、インスリン送達システム106、および計算デバイス108のうちの1つ以上は、1つ以上の短距離通信プロトコルまたは技法を使用するなどして、他の方法で通信可能に結合されてもよい。例えば、CGMシステム104、インスリン送達システム106、および計算デバイス108は、Bluetooth、近距離無線通信(NFC)、5Gなどのうちの1つ以上を使用して互いに通信してもよい。CGMシステム104、インスリン送達システム106、および計算デバイス108は、これらのタイプの通信を利用して、互いの間に閉ループシステムを形成してもよい。このようにして、インスリン送達システム106は、血糖測定値がCGMシステム104によって取得されるため、(例えば、計算デバイス108によって)リアルタイムで計算された血糖予測に基づいてインスリンを送達してもよい。
記載の技法により、CGMシステム104は、人102の血糖を連続的にモニタリングするように構成されている。CGMシステム104は、例えば、人102の血糖を示す分析物を連続的に検出し、血糖測定値の生成を可能にするCGMセンサを備えて構成されてもよい。図示の環境100では、これらの測定値は、血糖測定値118として表されている。この機能性は、CGMシステム104の構成のさらなる態様とともに、図2に関連してより詳細に説明されている。
1つ以上の実装形態では、CGMシステム104は、Bluetoothを介するなどして、血糖測定値118を計算デバイス108に送信する。CGMシステム104は、例えば、これらの測定値がCGMセンサを使用して生成されるため、これらの測定値をリアルタイムで通信してもよい。代替的または追加的に、CGMシステム104は、設定された時間間隔、例えば、30秒毎、1分毎、1時間毎、6時間毎、毎日などで、血糖測定値118を計算デバイス108に通信してもよい。またさらに、CGMシステム104は、例えば、計算デバイス108が、人102の血糖レベルに関する情報を有するユーザインターフェースの表示を引き起こし、そのような表示を更新し、インスリンを送達する目的で人102の次の血糖レベルを予測するなどするときに、例えば、CGMシステム104に通信される計算デバイス108からの要求に応答してこれらの測定値を通信してもよい。したがって、計算デバイス108は、例えば、計算デバイス108のコンピュータ可読記憶媒体において、人102の血糖測定値118を少なくとも一時的に維持してもよい。
ウェアラブルデバイス(例えば、スマートウォッチ)として図示されているが、計算デバイス108は、記載の技法の精神または範囲から逸脱することなく、様々な方法で構成されてもよい。限定ではなく例として、計算デバイス108は、異なるタイプのモバイルデバイス(例えば、携帯電話またはタブレットデバイス)として構成されてもよい。1つ以上の実装形態では、計算デバイス108は、CGMプラットフォーム112に関連付けられた専用デバイスとして構成されてもよく、例えば、CGMシステム104から血糖測定値118を取得し、血糖測定値118に関連する様々な計算を実行し、血糖測定値118およびCGMプラットフォーム112に関連する情報を表示し、血糖測定値118をCGMプラットフォーム112に通信するなどを行う機能性を備える。しかしながら、計算デバイス108が携帯電話として構成される実装形態とは対照的に、計算デバイス108は、電話をかける能力、カメラ機能性、ソーシャルネットワーキングアプリケーションを利用する能力など、専用のCGMデバイスとして構成されるときに、携帯電話またはウェアラブル構成で利用可能ないくつかの機能性を含まないことがある。
追加的に、計算デバイス108は、記載の技法により、複数のデバイスを代表するものであってもよい。1つ以上のシナリオでは、例えば、計算デバイス108は、ウェアラブルデバイス(例えば、スマートウォッチ)および携帯電話の両方に対応してもよい。そのようなシナリオでは、これらのデバイスの両方は、例えば、CGMシステム104から血糖測定値118を受信し、ネットワーク116を介してそれらをCGMプラットフォーム112に通信し、血糖測定値118に関連する情報を表示するなど、同じ動作の少なくとも一部を実行することが可能であってもよい。代替的または追加的に、異なるデバイスは、他のデバイスが有していないか、または特定のデバイスへの命令を計算することを通じて制限される異なる能力を有してもよい。計算デバイス108が別個のスマートウォッチおよび携帯電話に対応するシナリオでは、例えば、スマートウォッチは、様々な生理学的マーカー(例えば、心拍数、呼吸、血液速度など)および人102の活動(例えば、ステップ)を測定する様々なセンサおよび機能性を備えて構成されてもよい。このシナリオでは、携帯電話がこれらのセンサおよび機能性を備えて構成されていないか、または制限された量のその機能性を含むことがあるが、他のシナリオでは、携帯電話が同じ機能性を提供可能であってもよい。この特定のシナリオを続けると、携帯電話は、携帯電話が血糖測定値118に関連する計算をより効率的に実行することを可能にする量の計算リソース(例えば、バッテリおよび処理速度)など、スマートウォッチが有さない能力を有してもよい。スマートウォッチがそのような計算を実行可能であるシナリオでも、計算命令は、両方のデバイスに負担をかけず、利用可能なリソースを効率的に利用するために、携帯電話に対するそれらの計算のパフォーマンスを制限することがある。この範囲で、計算デバイス108は、記載の技法の精神および範囲から逸脱することなく、異なる方法で構成され、本明細書で説明されるものとは異なる数のデバイスを表してもよい。
上述のように、計算デバイス108は、血糖測定値118をCGMプラットフォーム112に通信する。図示の環境100では、血糖測定値118は、CGMデータ122の一部として、CGMプラットフォーム112の記憶デバイス120に記憶されて示されている。記憶デバイス120は、1つ以上のデータベース、およびCGMデータ122を格納することが可能な他のタイプのストレージも表すことができる。CGMデータ122はまた、ユーザプロファイル124を含む。記載の技法によれば、人102は、少なくともCGMプラットフォーム112のユーザに対応し、1つ以上の他のサードパーティサービスプロバイダのユーザであってもよい。この目的のために、人102は、ユーザ名に関連付けられ、ある時点で、ユーザ名を使用してCGMプラットフォーム112にアクセスするための認証情報(例えば、パスワード、生体認証データなど)を提供することが要求されてもよい。この情報は、ユーザプロファイル124で捕捉されてもよい。ユーザプロファイル124はまた、ユーザに関する様々な他の情報、例えば、人102を記載する人口統計情報、医療提供者に関する情報、支払い情報、処方情報、決定された健康指標、ユーザ選好、他のサービスプロバイダシステム(例えば、ウェアラブル、ソーシャルネットワーキングシステムなどに関連付けられたサービスプロバイダ)のアカウント情報などを含んでもよい。ユーザプロファイル124は、記載の技法の精神および範囲内のユーザに関する異なる情報を含んでもよい。
さらに、CGMデータ122は、人102に対応するユーザのデータを表すだけでなく、ユーザ母集団110における他のユーザのデータも表す。これを考えると、記憶デバイス120内の血糖測定値118は、人102によって着用されたCGMシステム104のCGMセンサからの血糖測定値を含み、ユーザ母集団110における他のユーザに対応する人によって着用されたCGMシステムのCGMセンサからの血糖測定値も含む。これらの他のユーザの血糖測定値118は、ネットワーク116を介してそれぞれのデバイスによってCGMプラットフォーム112に通信され、これらの他のユーザは、CGMプラットフォーム112でそれぞれのユーザプロファイル124を有することにもなる。
データ分析プラットフォーム126は、CGMデータ122を処理して、様々な機械学習モデルを使用することなどにより、様々な予測を生成する機能を表す。これらの予測に基づいて、CGMプラットフォーム112は、予測に関する提案および/または他の情報を提供してもよい。例えば、CGMプラットフォーム112は、提案または他の情報を、ユーザに直接、ユーザに関連付けられた医療専門家などに提供してもよい。特定のタイプの予測、提案、およびその他の情報については、以下で詳細に記載する。計算デバイス108とは別個に描かれているが、データ分析プラットフォーム126の一部または全体が、計算デバイス108において代替的または追加的に実装されてもよい。データ分析プラットフォーム126はまた、血糖測定値118に加えてデータ、例えばIoT114を介して取得された追加データを使用してこれらの予測を生成するように構成されてもよい。
IoT114は、人102ならびに1つ以上のサービスプロバイダのユーザとしての人102の活動および実世界での活動を説明するデータを提供することができる様々なソースを表すことを理解されたい。例として、IoT114は、例えば、カメラ、携帯電話、ラップトップなど、ユーザの様々なデバイスを含んでもよい。この目的のために、IoT114は、ユーザと様々なデバイスとの対話、例えば、ウェブベースのアプリケーションとの対話、撮影された写真、他のユーザとの通信などに関する情報を提供してもよい。IoT114はまた、例えば、歩数、地面に当たる足の力、歩幅、ユーザの体温(および他の生理学的測定値)、ユーザの周囲の温度、冷蔵庫に保管されている食品のタイプ、冷蔵庫から取り出された食品のタイプ、運転習慣など、挙動を記載する情報を提供するセンサで構成されている様々な実世界の物品(例えば、靴、衣類、スポーツ用品、電化製品、自動車など)を含んでもよい。IoT114はまた、データ分析プラットフォーム126によって活用され得る医療および製造データをそれぞれ提供することができる医療提供者(例えば、人102の医療提供者)および製造業者(例えば、CGMシステム104、インスリン送達システム106、または計算デバイス108の製造業者)などのサードパーティをCGMプラットフォーム112に含めることもできる。確かに、IoT114は、記載の技法の精神または範囲から逸脱することなく、CGMに基づく提案に関連して豊富なデータを提供できるデバイスおよびセンサが含んでもよい。血糖を、例えば、連続的に測定し、そのような測定値を記載するデータを取得するコンテキストにおいて、図2の以下の説明を検討する。
図2は、図1のCGMシステム104の例示的な実装形態200をより詳細に描いている。特に、図示の例200は、CGMシステム104の上面図および対応する側面図を含む。
CGMシステム104は、センサ202およびセンサモジュール204を含むように図示されている。図示の例200では、センサ202は、側面図で描かれており、例えば、人102の皮膚206に皮下挿入されている。センサモジュール204は、上面図において破線の長方形として描かれている。CGMシステム104はまた、図示の例200において送信機208を含む。センサモジュール204のために破線の長方形を使用して、それが送信機208のハウジング内に収容されるか、さもなければ実装され得ることを示している。この例200では、CGMシステム104は、接着パッド210および取り付け機構212をさらに含む。
動作中、センサ202、接着パッド210、および取り付け機構212は、適用アセンブリを形成するように組み立てられてもよく、適用アセンブリは、描かれているようにセンサ202が皮下挿入されるように皮膚206に適用されるように構成されている。そのようなシナリオでは、送信機208は、皮膚206に適用された後、取り付け機構212を介してアセンブリに取り付けられてもよい。追加的または代替的に、送信機208は、適用アセンブリの一部として組み込まれてもよく、センサ202、接着パッド210、取り付け機構212、および送信機208(センサモジュール204を有する)がすべて一度に皮膚206に適用されてもよい。1つ以上の実装形態では、この適用アセンブリは、別個のアプリケータ(図示せず)を使用して皮膚206に適用される。この適用アセンブリは、接着パッド210を皮膚206から剥がすことによっても取り外すことができる。図示のCGMシステム104およびその様々な構成要素は、単なる一例の形式ファクタであり、CGMシステム104およびその構成要素は、記載の技法の精神または範囲から逸脱することなく、異なる形式ファクタを有し得ることが理解されよう。
動作中、センサ202は、「無線」接続または「有線」接続であり得る少なくとも1つの通信チャネルを介してセンサモジュール204に通信可能に結合される。センサ202からセンサモジュール204への、またはセンサモジュール204からセンサ202への通信は、能動的または受動的に実装することができ、これらの通信は、連続的(例えば、アナログ)または離散的(例えば、デジタル)とすることができる。
センサ202は、センサ202から少なくとも部分的に独立している事象に応答して変化するか、または変化を引き起こすデバイス、分子、および/または化学物質であってもよい。センサモジュール204は、センサ202への変化またはセンサ202によって引き起こされた変化の表示を受信するように実装されている。例えば、センサ202は、血糖および酸素と反応して、電極を含み得るセンサモジュール204によって電気化学的に検出可能な過酸化水素を形成する血糖オキシダーゼを含むことができる。この例では、センサ202は、1つ以上の測定技術を使用して血糖レベルを示す血液または間質液中の分析物を検出するように構成されている血糖センサとして構成され得るか、または血糖センサを含んでもよい。
別の例では、センサ202(またはCGMシステム104の追加のセンサ(図示せず))は、第1および第2の導電体を含むことができ、センサモジュール204は、センサ202の第1の導電体および第2の導電体間の電位の変化を電気的に検出することができる。この例では、センサモジュール204およびセンサ202は、電位の変化が温度変化に対応するように熱電対として構成されている。いくつかの例では、センサモジュール204およびセンサ202は、単一の分析物、例えば、血糖を検出するように構成されている。他の例では、センサモジュール204およびセンサ202は、複数の分析物、例えば、ナトリウム、カリウム、二酸化炭素、および血糖を検出するように構成されている。代替的または追加的に、CGMシステム104は、1つ以上の分析物(例えば、ナトリウム、カリウム、二酸化炭素、および血糖)だけでなく、1つ以上の環境条件(例えば、温度)も検出する複数のセンサを含む。したがって、センサモジュール204およびセンサ202(および任意の追加のセンサ)は、1つ以上の分析物の存在、1つ以上の分析物の不在、および/または1つ以上の環境条件の変化を検出してもよい。
1つ以上の実装形態では、センサモジュール204は、プロセッサおよびメモリ(図示せず)を含んでもよい。センサモジュール204は、プロセッサを活用することにより、上記に説明した変化を示すセンサ202との通信に基づいて血糖測定値118を生成してもよい。センサ202からのこれらの通信に基づいて、センサモジュール204は、CGMデバイスデータ214を生成するようにさらに構成されている。CGMデバイスデータ214は、少なくとも1つの血糖測定値118を含む通信可能なデータのパッケージである。代替的または追加的に、CGMデバイスデータ214は、例えば、複数の血糖測定値118、センサ識別216、センサステータス218などの他のデータを含む。1つ以上の実装形態では、CGMデバイスデータ214は、血糖測定値118に対応する温度および他の分析物の測定値のうちの1つ以上のものなどの他の情報を含んでもよい。CGMデバイスデータ214は、記載の技法の精神または範囲から逸脱することなく、少なくとも1つの血糖測定値118に加えて、様々なデータを含んでもよいことが理解されるべきである。
動作中、送信機208は、CGMデバイスデータ214をデータのストリームとして計算デバイス108に無線で送信してもよい。代替的または追加的に、センサモジュール204は、CGMデバイスデータ214を(例えば、センサモジュール204のメモリに)バッファし、送信機208に、バッファされたCGMデバイスデータ214を様々な間隔、例えば、時間間隔(毎秒、30秒毎、1分毎、1時間毎など)、記憶間隔(バッファされたCGMデバイスデータ214がデータのしきい値量またはCGMデバイスデータ214のインスタンスの数に達したとき)などで送信させてもよい。
CGMデバイスデータ214を生成し、それを計算デバイス108に通信させることに加えて、センサモジュール204は、記載の技法による追加機能性を含んでもよい。この追加機能性は、将来の人102の血糖レベルの予測を生成することと、例えば、人102の血糖レベルが近い将来に危険なほどに低くなる可能性が高いことを予測が示すときに警告を通信することによって、予測に基づいて通知を通信することと、を含んでもよい。センサモジュール204のこの計算能力は、特にネットワーク116を介したサービスへの接続が制限されているか、または存在しない場合に有利であり得る。このようにして、例えばインターネットへの接続性に依存することなく、危険な状態について警告を受けることができる。センサモジュール204のこの追加機能性はまた、センサ202を最初にまたは継続的に較正すること、およびCGMシステム104の他の任意のセンサを較正することを含んでもよい。
CGMデバイスデータ214に関して、センサ識別216は、他のセンサ、例えば、他のCGMシステム104の他のセンサ、皮膚206に以前または後続で埋め込まれた他のセンサなどの他のセンサからセンサ202を一意に識別する情報を表す。センサ202を一意に識別することにより、センサ識別216はまた、センサ202に関する他の態様、例えば、センサ202の製造ロット、センサ202の包装の詳細、センサ202の出荷の詳細などを識別するために使用されてもよい。このようにして、センサ202と同様の方法で製造、包装、および/または出荷されたセンサについて検出された様々な問題を識別し、例えば、血糖測定値118を較正し、欠陥のあるセンサを変更するように、またはそれらを廃棄するようにユーザに通知し、機械加工の問題を製造施設に通知するなどを行うために異なる方法で使用されてもよい。
センサステータス218は、所与の時点におけるセンサ202の状態、例えば、血糖測定値118の1つが生成されるのと同じ時点におけるセンサの状態を表す。この目的のために、センサステータス218は、血糖測定値118の各々に対するエントリを含んでもよく、血糖測定値118とセンサステータス218情報に捕捉されたステータスとの間に1対1の関係があるようにする。一般的に言えば、センサステータス218は、センサ202の動作状態を記載する。1つ以上の実装形態では、センサモジュール204は、所与の血糖測定値118に対するいくつかの所定の動作状態のうちの1つを識別してもよい。識別された動作状態は、センサ202からの通信および/またはそれらの通信の特性に基づいてもよい。
例として、センサモジュール204は、ある状態を別の状態から選択するための所定の数の動作状態および基礎を有するルックアップテーブルを(例えば、メモリまたは他のストレージに)含んでもよい。例えば、所定の状態は、「通常の」動作状態を含んでもよく、この状態を選択するための基礎は、センサ202からの通信が、通常の動作を示すしきい値内、例えば、予想される時間のしきい値内、予想される信号強度のしきい値、環境温度が予想どおりに動作を継続するのに適した温度のしきい値内にあるなどに収まることであってもよい。所定の状態はまた、センサ202の通信の1つ以上の特性が通常の活動の範囲外であることを示し、血糖測定値118における潜在的なエラーをもたらす可能性がある動作状態を含んでもよい。
例えば、これらの通常ではない動作状態の基礎は、しきい値予想時間外でセンサ202からの通信を受信すること、予想信号強度のしきい値外でセンサ202の信号強度を検出すること、予想通りに動作を継続するための好適な温度外で環境温度を検出すること、人102がCGMシステム104上で転がった(例えば、ベッドにいる)ことを検出することなどを含んでもよい。センサステータス218は、記載の技法の精神または範囲から逸脱することなく、センサ202およびCGMシステム104に関する様々な態様を示してもよい。
例示的な環境および例示的なCGMシステムを検討したので、次に、1つ以上の実装形態によるデジタル媒体環境でのCGMに基づく提案のための技法のいくつかの例示的な詳細の説明を検討する。
CGMに基づく提案
図3は、血糖測定値を含むCGMデバイスデータが異なるシステムにルーティングされ、CGM関連サービスの提供を可能にする例示的な実装形態300を描いている。
図示の例300は、図1から、CGMシステム104および計算デバイス108の例を含む。図示の例300はまた、データ分析プラットフォーム126および記憶デバイス120を含み、これらは、上で論じたように、血糖測定値118を含むCGMデータ122を記憶する。この例300では、CGMシステム104は、CGMデバイスデータ214を計算デバイス108に送信するように描かれている。図2に関連して上で論じたように、CGMデバイスデータ214は、他のデータとともに血糖測定値118を含む。CGMシステム104は、様々な方法で、CGMデバイスデータ214を計算デバイス108に送信してもよい。
図示の例300はまた、CGMパッケージ302を含み、これは、CGMデバイスデータ214および補足データ304を含む。この例300では、CGMパッケージ302は、計算デバイス108からCGMプラットフォーム112の記憶デバイス120にルーティングされて描かれている。大まかに言えば、計算デバイス108は、CGMデバイスデータ214に少なくとも部分的に基づいて補足データ304を生成し、このデータをCGMパッケージ302に一緒にパッケージ化し、CGMパッケージ302を、例えばネットワーク116を介して記憶デバイス120に記憶するためにCGMプラットフォーム112に通信する機能性を含む。
補足データ304に関して、計算デバイス108は、CGMデバイスデータ214を補足するために様々な補足データを生成してもよい。記載の技法によれば、補足データ304は、ユーザのコンテキストとCGMデバイスデータ214(例えば、血糖測定値118)との対応を識別できるように、ユーザのコンテキストの1つ以上の態様を記載してもよい。例として、補足データ304は、計算デバイス108とのユーザの対話を記載してもよく、例えば、特定のアプリケーションの対話(例えば、行われた選択、実行された動作)を記載するアプリケーションログから抽出されたデータを含んでもよい。補足データ304はまた、計算デバイス108の入力/出力インターフェースに関連して実行されたクリック、タップ、およびプレスを記載するクリックストリームデータを含んでもよい。別の例として、補足データ304は、ユーザが見ている場所を記載する注視データ(例えば、計算デバイス108に関連付けられたディスプレイデバイスに関して、またはユーザがデバイスから目をそらしているとき)、ユーザまたは他のユーザの可聴コマンドおよび他の話されたフレーズを記載する音声データ(例えば、ユーザを受動的に聞くことを含む)、デバイスを記載するデバイスデータ(例えば、製造、モデル、動作システムおよびバージョン、カメラタイプ、計算デバイス108が実行しているアプリ)などを含んでもよい。補足データ304はまた、ユーザのコンテキストの他の態様、例えば、ユーザの場所、(例えば、屋外で、温度感知機能性を使用してユーザに近接する)その場所における温度、その場所における天気、ユーザの高度、気圧、IoT114(例えば、ユーザが食べている食品、ユーザがスポーツ用品を使用している方式、ユーザが着用している服)を介してユーザに関連して取得されたコンテキスト情報などの環境的態様などを記載してもよい。補足データ304はまた、例えば、歩数、心拍数、発汗、ユーザの温度(例えば、計算デバイス108によって検出される)などを含む、ユーザに関して検出された健康関連の態様を記載してもよい。計算デバイス108が、CGMシステム104と同じ態様のいくつかを検出するか、さもなければ測定する機能性を含み得る限り、これらの2つのソースからのデータは、例えば、精度、障害検出などのために比較されてもよい。上記に説明したタイプの補足データ304は例にすぎず、補足データ304は、本明細書に記載の技術の精神または範囲から逸脱することなく、より多くの、より少ない、または異なるタイプのデータを含んでもよい。
補足データ304がユーザのコンテキストをどれほどロバストに記載するかに関係なく、計算デバイス108は、様々な間隔で処理するためにCGMパッケージ302をCGMプラットフォーム112に通信してもよい。1つ以上の実装形態では、計算デバイス108は、例えば、CGMシステム104がCGMデバイスデータ214を計算デバイス108に連続的に提供するため、実質的にリアルタイムでCGMパッケージ302をCGMプラットフォーム112にストリーミングしてもよい。計算デバイス108は、代替的または追加的に、CGMパッケージ302のうちの1つ以上を、所定の間隔、例えば、毎秒、30秒毎、1時間毎などで、CGMプラットフォーム112に通信してもよい。
図示の例300には描かれていないが、CGMプラットフォーム112は、これらのCGMパッケージ302を処理し、CGMデバイスデータ214および補足データ304のうちの少なくとも一部を記憶デバイス120に記憶してもよい。以下でより詳細に記載するように、記憶デバイス120から、このデータは、例えば、様々な予測を生成し、提案を提供するために、データ分析プラットフォーム126に提供されるか、そうでなければアクセスされてもよい。代替的または追加的に、データは、サードパーティサービスプロバイダなどのサードパーティ306に提供されてもよい。このようにして、サードパーティサービスプロバイダは、独自のCGMシステムを製造および展開しなくても、血糖測定値118を使用する様々なサービスを提供することができる可能性がある。
図示の例300では、血糖測定値118が、CGMプラットフォーム112の記憶デバイス120からネットワーク116を介してサードパーティ306の記憶デバイス308(または他のタイプのストレージ)に通信されるように描かれている。特に、血糖測定値118は、CGMプラットフォームアプリケーションプログラミングインターフェース(API)310を介して通信されるように描かれている。このタイプのシナリオでは、CGMプラットフォームAPI310は、血糖測定値118などのデータの「出力」と考えられてもよい。「出力」によって、データの流れが一般にCGMプラットフォーム112からサードパーティ306への外向きであることを意味する。
1つ以上の実装形態では、CGMプラットフォーム112は、CGMプラットフォームAPI310を介して記憶デバイス120からのデータへのアクセスを提供する。データ提供のコンテキストでは、CGMプラットフォームAPI310は、1つ以上の「呼び出し」(例えば、データ要求のための特定のフォーマット)をサードパーティ306に公開してもよい。例として、CGMプラットフォームAPI310は、サードパーティ306が、例えば、CGMプラットフォーム112に対応するビジネスと合意した後、サードパーティ306への呼び出しを公開してもよく、これにより、サードパーティ306は、CGMプラットフォームAPI310を介して記憶デバイス120からデータを取得することが可能である。この合意の一部として、サードパーティ306は、CGMプラットフォーム112からデータを取得するために支払いを交換することに同意してもよい。代替的または追加的に、サードパーティ306は、CGMプラットフォーム112からデータを取得するために、例えば、関連付けられたデバイスを介して、それが生成するデータを交換することに同意してもよい。CGMプラットフォームAPI310を介してCGMプラットフォーム112からデータ(例えば、血糖測定値118)を取得するための合意をする当事者は、「データパートナー」と呼ばれることがある。
大まかに言えば、CGMプラットフォームAPI310は、サードパーティ306が特定の要求フォーマットでデータ(例えば、血糖測定値118)を要求することを可能にし、要求が特定のフォーマットで行われる場合、CGMプラットフォームAPI310は、特定の応答フォーマットで要求されたデータを提供する。言い換えれば、CGMプラットフォームAPI310は、サードパーティ306からの特定の要求フォーマットで血糖測定値118の要求を受信し、要求された血糖測定値118を記憶デバイス120から取得し、要求された血糖測定値118をフォーマットされた応答でサードパーティ306に提供するように構成されている。CGMプラットフォームAPI310は、サードパーティ306が、血糖測定値118の1つ以上の期間(例えば、過去10日間)、特定のユーザまたはユーザのセグメントの血糖測定値118、多数のユーザ(例えば、10,000ユーザ)の特定の期間(例えば、過去10日間)にわたる血糖測定値118を要求することを可能にする呼び出しを公開してもよい。CGMプラットフォーム310は、記載の技法の精神または範囲から逸脱することなく、サードパーティが様々な方法で特定の基準を満たす血糖測定値118を要求することを可能にする様々な呼び出しを公開してもよい。動作中、CGMプラットフォームAPI310は、例えば、血糖測定値118を取得できる頻度を制限すること、血糖測定値がCGMシステム104および計算デバイス108などから取得された後に血糖測定値118の提供に待ち時間を導入することなど、対応する合意の条件に応じて、異なるサードパーティがどのデータにアクセスできるかを制限してもよい。
サードパーティ306が血糖測定値118を取得すると、サードパーティ306は、取得された血糖測定値118に基づいて、1つ以上のサードパーティ提案312を生成してもよい。例として、サードパーティ306は、ユーザにライフスタイルアプリケーションを提供し、血糖測定値118を使用して、そのようなアプリケーションを介して追跡される1つ以上のライフスタイル挙動に関連するサードパーティ提案312、例えば、運動を増やすための提案、運動を減らすための提案、所定の挙動(例えば、歩数、特定の食品を食べる、睡眠)を継続するための提案、特定の挙動(例えば、特定の食品を食べる、アルコールを飲む、睡眠)を減らすまたは排除するための提案などを提供してもよい。ライフスタイルアプリケーションの例は、運動アプリケーション、健康測定アプリケーション、食品追跡アプリケーション、スポーツ固有のアプリケーションなどを含み得る。
上記のように、サードパーティ306は、サードパーティ306が、製造および/または展開するデバイス、例えば、ウェアラブルデバイスを介するなどして、独自の追加データを生成してもよい。これを考えると、サードパーティ306は、血糖測定値118だけでなく、サードパーティ306が生成する追加データにも基づいて、サードパーティ提案312を生成してもよい。例えば、サードパーティ306は、取得された血糖測定値118およびこの追加データを、過去の血糖測定値118および過去の追加データを使用して訓練された1つ以上の機械学習モデルへの入力として提供してもよい。この入力に応答して、サードパーティ306は、1つ以上のモデルによって生成された少なくとも1つの予測を出力として取得する。サードパーティ306は、そのような予測をサードパーティ提案312の基礎として使用してもよい。サードパーティ提案312は、サードパーティ306によって出力されて示されている。これは、サードパーティ306が、サードパーティ提案312を、ネットワーク116を介して計算デバイス108または他の計算デバイス、例えば、ユーザ母集団110の計算デバイスにそれを通信することによって送達してもよいことを表す。次いで、サードパーティ提案312は、例えば、提案を表示すること、提案を音声で出力することなどによって、受信側計算デバイスによって出力されてもよい。
図示の例300はまた、サードパーティからデータ分析プラットフォーム126に通信されて示されているサードパーティデータ314を含む。前述のように、サードパーティ306は、関連付けられたデバイスを製造および/または展開してもよい。追加的または代替的に、サードパーティ306は、対応するアプリケーションなどの他のソースを介してデータを取得してもよい。したがって、このデータは、対応するサードパーティアプリケーション、例えば、ソーシャルネットワーキングアプリケーション、ライフスタイルアプリケーションなどを介して入力されたユーザ入力データを含んでもよい。これを考えると、サードパーティ306によって生成されたデータは、専用データ構造、テキストファイル、ユーザのモバイルデバイスを介して取得された画像、公開フィールドまたはダイアログボックスに入力されたテキストを示すフォーマット、オプション選択を示すフォーマットなどを含む様々な方法で構成されてもよい。サードパーティデータ314は、記載の技法の精神または範囲から逸脱することなく、サードパーティによって提供される1つ以上のサービスに関連する様々な態様を記載してもよい。サードパーティデータ314は、例えば、サードパーティ306によって提供される特定のアプリケーションとのユーザによる使用または対話を記載するアプリケーション対話データを含んでもよい。一般に、アプリケーション対話データは、データ分析プラットフォーム126が、ユーザ母集団110のユーザによる特定のアプリケーションの使用または使用量を決定することを可能にする。このようなデータは、例えば、特定のアプリケーションとのユーザの対話を記載するアプリケーションログから抽出されたデータ、アプリケーションの入力/出力インターフェースに関連して実行されるクリック、タップ、およびプレスを記載するクリックストリームデータなどを含んでもよい。したがって、1つ以上の実装形態では、データ分析プラットフォーム126は、サードパーティ306によって生成されたか、そうでなければ取得されたサードパーティデータ314を受信してもよい。
図示の例300では、サードパーティデータ314が、CGMプラットフォームAPI310を介して通信されるように描かれている。このタイプのシナリオでは、CGMプラットフォームAPI310は、サードパーティデータ314の「入力(ingress)」と考えられてもよい。「入力」によって、データの流れが、一般にサードパーティ306からCGMプラットフォーム112に内向きであることを意味する。CGMプラットフォームAPI310は、出力および入力データフローの両方を支援するものとして示されているが、1つ以上の実装形態では、CGMプラットフォーム112からのデータの出力およびCGMプラットフォーム112へのデータの入力を可能にする機能性は、異なるAPIによって処理されてもよい。例えば、入力機能性は、CGMプラットフォーム112のAPIではなく、サードパーティ306に対応するAPIによって処理されてもよい。とにかく、CGMプラットフォーム112のデータ(血糖測定値118および補足データ304)に加えて、データ分析プラットフォーム126は、1つ以上のシナリオでサードパーティデータ314を利用してもよい。
データ分析プラットフォーム126は、予測システム316を備えて示されている。記載のシステムに従って、予測システム316は、少なくとも血糖測定値118に基づいて予測318を生成するように構成されている。1つ以上の実装形態では、例えば、予測システム316は、血糖測定値118および追加データの両方に基づいて予測318を生成し、追加データは、血糖測定値118に加えて、CGMデバイスデータ214、補足データ304、サードパーティデータ314、IoT114からのデータなどの1つ以上の部分を含んでもよい。以下で説明するように、予測システム316は、1つ以上の機械学習モデルを使用することによって、そのような予測318を生成してもよい。これらのモデルは、血糖測定値118およびユーザ母集団110から取得された追加データを使用して訓練されるか、そうでなければ構築されてもよい。
1つ以上の実装形態では、予測318は、健康指標に対応するか、そうでなければそれを含んでもよい。本明細書で使用される場合、「健康指標」という用語は、「悪い(negative)」または「良い(positive)」であり得る予測される健康状態を指してもよい。悪い健康状態の例は、例えば、ほんの数例を挙げると、前糖尿病、I型糖尿病、II型糖尿病、ニューロパシー、アルツハイマー病、および心臓病を含む。対照的に、「良い」健康状態の例には、悪い健康状態を発症させるリスク、または体脂肪、心臓血管能力などに関連する良い健康状態を含んでもよい。場合によっては、健康指標は、予測されるA1Cなどの予測される病状を指してもよい。特に、予測318は、特定の期間中に収集された血糖測定値118および追加データに基づく。したがって、場合によっては、予測318は、集約されたデータに基づいて、ユーザが現在予測される健康状態を有していることを予測する。代替的に、予測される健康状態は、集約されたデータが収集される特定の期間の後に発生する期間に対応してもよい(例えば、40か月以内のII型糖尿病の予測)。いくつかの追加のタイプの予測、およびこれらの予測を生成するために使用される特定のタイプの情報についても、以下でさらに詳細に説明する。
生成された予測318に基づいて、データ分析プラットフォーム126は、提案320を生成する。提案320は、例えば、ユーザに行動を実行すること(例えば、計算デバイス108にアプリケーションをダウンロードする、すぐに病院に駆け付ける、インスリンを投与する、散歩に出かける、特定の食品または飲料を消費する)、挙動を継続すること(例えば、特定の方法での食事、または特定の方法での運動を継続する)、挙動を変更すること(例えば、食習慣または運動習慣を変更する)などを指示してもよい。そのようなシナリオでは、予測318および/または提案320は、データ分析プラットフォーム126から通信され、計算デバイス108を介して出力される。図示の例300では、予測318もまた、計算デバイス108に通信されて図示されている。予測318および提案320のいずれかまたは両方が計算デバイス108に通信され得ることが理解されるべきである。追加的または代替的に、予測318および/または提案320は、例えば、予測および/または提案が計算デバイス108に送達されることが許可される前に、意思決定支援プラットフォームおよび/または検証プラットフォームにルーティングされてもよい。提案320の基礎として機能し得る1つ以上の予測を生成するコンテキストでは、図4の以下の説明を考える。
図4は、データ分析プラットフォーム126の例示的な実装形態400をより詳細に描いている。図3のように、データ分析プラットフォーム126は、予測システム316を含む。
図示の例400では、予測システム316は、統計モデル406および追加の機械学習モデル408、例えばニューラルネットワークを含むモデル404を管理するモデルマネージャ402を含む。モデル404は、複数の異なる統計モデル、ニューラルネットワークとして構成されている複数の機械学習モデル、および/または複数の他のタイプの機械学習モデルなど、記載の技法の精神または範囲から逸脱することなく、異なるモデルを含み得ることを理解されよう。これらの異なる機械学習モデルは、異なるデータを使用して、異なる統計モデリング技法に従って、異なるアーキテクチャを有して、異なるアルゴリズムに従うなどして、それぞれ構築もしくは訓練されてもよい(またはモデルは、それ以外の方法で学習される)。したがって、モデルマネージャ402の機能性の以下の説明は、様々な機械学習モデルに適用可能であることが理解されよう。しかしながら、説明の目的で、モデルマネージャ402の機能性は、統計モデル406および追加の機械学習モデル408に関連して一般的に記載される。
一般に、モデルマネージャ402は、モデル404を管理するように構成されている。このモデル管理は、例えば、統計モデル406を構築すること、機械学習モデル408を構築すること、機械学習モデル408を訓練すること、これらのモデルを更新することなどを含む。具体的には、モデルマネージャ402は、CGMプラットフォーム112の記憶デバイス120に維持されている豊富なデータを少なくとも部分的に使用して、このモデル管理を実行するように構成されている。図示のように、このデータは、ユーザ母集団110の血糖測定値118および追加データ410を含む。別の言い方をすれば、モデルマネージャ402は、統計モデル406を構築し、機械学習モデル408を構築し、機械学習モデル408を訓練し(そうでなければ、それによって展開されるポリシーを学習し)、ユーザ母集団110の血糖測定値118および追加のデータ410を使用してこれらのモデルを更新する。
一般に、CGMプラットフォーム112は、様々なデバイス、センサ、アプリケーション、またはサービスからユーザ母集団の追加データ410を取得する。したがって、追加データは、血糖測定値118が検出されるCGMシステム104とは異なる1つ以上の「ソース」から取得されてもよい。1つ以上の実装形態では、この追加データ410は、血糖測定値118(例えば、センサ識別216およびセンサステータス218データ)に加えて、CGMデバイスデータ214、補足データ304、サードパーティデータ314、IoT114からのデータなどのうちの少なくとも1つ以上の部分を含んでもよい。
追加データ410は、限定ではなく例として、健康関連データ、アプリケーション対話データ、環境データ、人口統計データ、血糖測定値に加えて、デバイスデータ(例えば、センサ識別データ、インシデントレポート)、計算デバイスによって追加された補足データ、サードパーティデータなどを含んでもよい。健康関連データは、ほんの数例を挙げると、活動データ(例えば、歩数、運動頻度、睡眠データ)、生体測定データ(例えば、インスリンレベル、ケトンレベル、心拍数、温度、ストレス、温度)、栄養データ(例えば、飲食ログ、スキャンされたレストランの領収書、炭水化物消費量、絶食)、医療記録(A1C、コレステロール、心電図の結果、他の医療検査または病歴に関連するデータなど)を含んでもよい。アプリケーション対話データは、特定のアプリケーションとのユーザ対話を記載するアプリケーションログから抽出されたデータ、計算デバイスの入力/出力インターフェースに関連して実行されるクリック、タップ、およびプレスを記載するクリックストリームデータ、ユーザが見ている場所を記載する注視データ(例えば、計算デバイスに関連付けられたディスプレイデバイスに関連して、またはユーザがデバイスから目をそらしているとき)、ユーザまたは他のユーザの可聴コマンドおよび他の話されたフレーズを記載する音声データ(例えば、ユーザが受動的に聞くことを含む)などを含んでもよい。環境データは、例えば、ユーザの位置、ユーザの位置の温度および/または天気、ユーザの高度、気圧など、ユーザに関連付けられた様々な環境的態様を記載するデータを含んでもよい。人口統計データは、例えば、年齢、性別、身長、体重など、ユーザを説明するデータを含んでもよい。上記に説明したタイプの追加データは単なる例であり、追加データには、本明細書に記載の技法の精神または範囲から逸脱することなく、より多くの、より少ない、または異なるタイプのデータを含んでもよい。
従来のシステムとは異なり、CGMプラットフォーム112は、ユーザ母集団110の数十万人のユーザ(例えば、500,000以上)についてCGMシステム104を使用して取得された血糖測定値118を(例えば、記憶デバイス120に)記憶するか、そうでなければアクセスを有する。さらに、これらの測定値は、CGMシステム104のセンサによって連続的な速度で取られる。結果として、血糖測定値118は、数百万、あるいは数十億のモデル構築および訓練数のためにモデルマネージャ402に利用可能である。このような堅牢な量のデータで、モデルマネージャ402はモデル404を構築および訓練して、血糖レベルに対する様々な挙動の実際の影響を正確に模倣することができる。CGMプラットフォーム112の血糖測定値118の堅牢性がなければ、従来のシステムは単にモデルを構築または訓練して、様々な挙動が血糖値にどのように影響するかを好適に表す方式で状態空間をカバーすることができない。これらの状態空間を適切にカバーできないと、不正確な血糖予測または他の健康指標の予測をもたらす可能性があり、死を引き起こす可能性のある危険な行動または挙動を提案することにつながる可能性がある。不正確な予測を生成することの重要性を考えると、まれなイベントに対して堅牢な量の血糖測定値118を使用してモデル404を構築することが重要である。
1つ以上の実装形態では、モデルマネージャ402は、血糖測定値118および追加データ410から少なくとも1つの属性に対応する観測値を抽出することによって統計モデル406を構築する。構築されると、統計モデル406は、この少なくとも1つの属性の値を予測し、それらを出力するように構成されており、少なくとも1つの属性の値は、モデルへの入力として機能しない。例えば、統計モデル406が回帰モデルであるシナリオでは、これらの値は、統計モデル406の1つ以上の従属変数に対応し得る。これらの属性の値(統計モデル406の従属変数に対応する)は、以下の説明では第1の値セットと呼ばれることがある。また、モデルマネージャ402は、血糖測定値118および追加データ410から少なくとも1つの他の属性に対応する観測値を抽出する。構築されると、この少なくとも1つの他の属性の値は、例えば、そのような値のベクトルとして、統計モデル406への入力として機能するものである。統計モデル406が回帰モデルであるシナリオでは、少なくとも1つの他の属性は、1つ以上の説明的(または独立)変数に対応してもよい。これらの独立変数の抽出された値は、以下の説明では第2の値セットと呼ばれることがある。
第1の値セットおよび第2の値セットを考えると、モデルマネージャ402は、これらの値を方程式に「フィッティング」させるための1つ以上の既知のアプローチを使用して、いくつかの許容範囲内で第2の値セットから第1の値セットを生成するようにする。このようなフィッティングアプローチの例は、最小二乗アプローチを使用すること、最小絶対偏差回帰を使用すること、最小二乗コスト関数のペナルティ付きバージョンを最小化すること(リッジ回帰またはラッソなど)などを含む。「フィッティング」により、モデルマネージャ402が、1つ以上のアプローチおよびこれらのデータセットを使用して、方程式のモデルパラメータを推定することを意味する。推定されるパラメータは、例えば、動作中に値が統計モデル406に入力されるときに独立変数の値に適用される重みを含む。モデルマネージャ402は、観測値から推定されたこれらのパラメータを方程式に組み込んで、統計モデル406を生成する。動作中、予測システム316は、独立変数の値を統計モデル406に(例えば、1つ以上のベクトルまたは行列として)入力し、統計モデル406は、推定された重みをこれらの入力値に適用し、次いで、1つ以上の従属変数に対する値を出力する。この出力は、予測318として表される。
1つの統計モデル構築シナリオでは、モデルマネージャ402は、特定のタイムスタンプの前のタイムスタンプを有するユーザ母集団110の血糖測定値118を使用し、また、対応する追加データ410(例えば、血糖測定値118に対応し、血糖測定値に対応するユーザに関連付けられたタイムスタンプを有する)も統計モデル406に対する独立変数の値として使用する。このシナリオでは、モデルマネージャ402は、統計モデル406の従属変数の値として、特定のタイムスタンプの後のタイムスタンプを有するユーザ母集団110の血糖測定値118を使用してもよい。ここで、モデルマネージャ402は、タイムスタンプ前後のデータに方程式をフィッティングさせるために1つ以上の既知のアプローチを使用する。そうすることで、モデルマネージャ402は、タイムスタンプ前のデータ値を入力することによって、タイムスタンプ後の血糖測定値118(またはそれらの測定値のいくらかの許容範囲内の値)が出力されるように、方程式のパラメータを推定する。
次いで、モデルマネージャ402は、推定されたパラメータを方程式に組み込み、統計モデル406が推定されたパラメータを方程式とともに保持するように、この組み込みを統計モデル406として持続させる。このようにして、モデルマネージャ402は、特定の時間前の入力血糖測定値および対応する追加データを受信するときに、特定の時間後の血糖測定値の予測318を生成することが可能な統計モデル406を構築する。したがって、動作中およびこのシナリオに継続して、予測システム316は、特定の時間(例えば、現在の時間)の前の人102の血糖測定値118のサブセットを、統計モデル406を訓練するために使用される独立変数に対応する人102の追加データ410とともに取得してもよい。次いで、予測システム316は、人102のこのデータを入力として統計モデル406に提供してもよい。継続シナリオでは、統計モデル406は、特定の時間、例えば、現在の時間の後の人102の血糖測定値として予測318を生成する。
特定の時間(例えば、現在の時間)後の血糖測定値の予測は、統計モデル406を構築および実際に使用することに関連して説明されるが、モデルマネージャ402は、観察された血糖測定値118および追加データ410におけるパターンとは異なる態様を予測する統計モデル406を構築してもよい。例として、モデルマネージャ402は、ある期間にわたって人102の健康指標を維持するなどして、人102の健康指標の上昇または下降傾向を予測する統計モデル406を構築してもよい。つまり、ユーザ母集団110の血糖測定値118および追加データ410を使用して、これらの健康指標およびユーザ母集団110間の傾向との相関を保持するモデルを構築する。
ここで、記載の技法に従って、(例えば、ニューラルネットワークとして構成されている)追加の機械学習モデル408の説明に戻る。統計モデル406と同様の方法で、モデルマネージャ402は、少なくとも1つの属性に対応する第1の観測値セットおよび少なくとも1つの他の属性に対応する第2の値セット、すなわち、ユーザ母集団110の血糖測定値118および追加データ410から抽出された両方のセットを抽出する。モデルマネージャ402は、これらの値セットを使用して、機械学習モデル408を訓練するか、またはその予測について機械学習モデル408にフィードバックを提供して、それが予測を生成するためのポリシーを学習するようにする。
また、統計モデル406と同様に、追加の機械学習モデル408が訓練されるか、または展開するための少なくとも初期ポリシーを学習すると、機械学習モデル408は、第1のセットに対応する少なくとも1つの属性の値を予測し、それらの値を出力するように構成されている。さらに、機械学習モデル408は、少なくとも初期ポリシーを展開するために訓練または使用されると、入力として、例えば、そのような値のベクトルとして、第2のセットの少なくとも1つの他の属性の値を受信するように構成されている。したがって、機械学習モデル408がニューラルネットワークであるシナリオでは、例えば、動作中の機械学習モデル408は、少なくとも1つの他の属性の値を表す1つ以上のベクトル(例えば、特徴ベクトル)を入力として受信してもよい。そのようなシナリオでは、動作中の機械学習モデル408はまた、少なくとも1つの属性の値を表す1つ以上のベクトル(例えば、特徴ベクトル)を出力してもよい。
訓練のコンテキストでは、モデルマネージャ402は、機械学習モデル408への入力として第2の値セットからのデータのインスタンスを提供することによって、機械学習モデル408を訓練してもよい。これに応答して、機械学習モデルは、予測318、例えば、第1のセットに対応する少なくとも1つの属性の値の予測を生成する。モデルマネージャ402は、出力として機械学習モデル408からこの訓練予測を取得し、訓練予測を、データ入力のインスタンスに対応する実際に抽出された第1の値セットと比較する。例として、モデルマネージャ402は、コスト関数を使用して、訓練予測を実際に抽出された値と比較する。この比較に基づいて、モデルマネージャ402は、機械学習モデル408の内部重みを調整して、データのインスタンスが将来入力として提供されるときに、機械学習モデルが実際に抽出された値を実質的に再現できるようにする。
観測データのインスタンスを機械学習モデル408に入力し、機械学習モデル408から訓練予測を受信し、(例えば、コスト関数を使用して)訓練予測を入力インスタンスに対応する期待される出力値(観測値)と比較し、これらの比較に基づいて機械学習モデル408の内部重みを調整するこのプロセスは、数百、数千、さらには数百万にわたって、すなわち反復ごとに訓練データのインスタンスを使用して反復することができる。
モデルマネージャ402は、機械学習モデル408が、期待される出力に一貫してかつ実質的に一致する、例えば、第1のデータセットの観測値に実質的に一致する予測318を生成できるまで、そのような反復を実行してもよい。期待される出力に実質的に一致する予測を一貫して生成する機械学習モデルの能力は、「収束」と呼ばれることがある。これを考えると、モデルマネージャ402は、機械学習モデル408を、解に「収束」するまで訓練すると言い得る。例えば、モデルの内部重みが、訓練の反復によって好適に調整され、モデルが期待される出力に実質的に一致する予測を生成するようにする。
これは、機械学習モデル408およびそれがどのように訓練されるかの1つの追加の例にすぎないと理解されるべきである。実際、機械学習モデルは、様々なパラダイム(例えば、教師あり学習、教師なし学習、強化学習など)に従って構成され、記載の技法の精神または範囲から逸脱することなく、様々なアプローチを使用して訓練されてもよい。例として、機械学習モデル408は、最初に、ユーザ母集団の血糖測定値118および追加データ410について訓練されてもよく、次いで、訓練は、人102の血糖測定値118および追加データ410からの訓練インスタンスを使用してさらに更新されて、例えば、機械学習モデル408の様々なパラメータをさらに調整してもよい。
とにかく、機械学習モデル408が、ユーザ母集団110の血糖測定値118および追加データ410を少なくとも部分的に使用して訓練されると、機械学習モデル408は、動作中に、人102に対応するユーザの予測318を生成するために使用されてもよい。上記に説明した統計モデル構築シナリオおよび使用と類似しているが、統計モデル406を利用する代わりに、機械学習モデル408を利用する以下の実装形態の例を考える。
この機械学習の例では、モデルマネージャ402は、特定のタイムスタンプの前のタイムスタンプを有するユーザ母集団110の血糖測定値118を使用し、また対応する追加データ410(例えば、血糖測定値118に対応し、血糖測定値に対応するユーザに関連付けられたタイムスタンプを有する)も機械学習モデル408への訓練入力として使用する。このシナリオでは、モデルマネージャ402は、機械学習モデル408の期待される出力(ターゲットまたはラベル)として特定のタイムスタンプの後のタイムスタンプを有するユーザ母集団110の血糖測定値118を使用してもよい。ここで、モデルマネージャ402は、入力としてタイムスタンプ前のデータが与えられてタイムスタンプ後のデータを予測するモデルのパラメータを調整するために1つ以上の既知のアプローチを使用する。これらのアプローチの例は、最急降下法、確率的勾配降下法などの教師あり学習アプローチを含む。もっとも、記載の技法の精神または範囲から逸脱することなく、他のアプローチが使用されてもよい。
これらのアプローチを使用することにより、モデルマネージャ402は、タイムスタンプ前のデータ値を入力することによって、タイムスタンプ後の血糖測定値118(またはそれらの測定値のいくらかの許容範囲内の値)が出力されるように、機械学習モデル408の内部重みを調整する。さらに、機械学習モデル408は、例えば、モデルの特定のノードに関連して、これらの内部重みを保持する。このようにして、モデルマネージャ402は、特定の時間前の入力血糖測定値および対応する追加データを受信するときに、特定の時間後の血糖測定値の予測318を生成することが可能な機械学習モデル408を構築する。
したがって、動作中およびこのシナリオに継続して、予測システム316は、特定の時間(例えば、現在の時間)の前の人102の血糖測定値118のサブセットを、機械学習モデル408を訓練するために使用される入力データに対応する人102の追加データ410とともに取得してもよい。次いで、予測システム316は、人102のこのデータを入力として機械学習モデル408に提供してもよい。継続シナリオでは、機械学習モデル408は、特定の時間、例えば、現在の時間の後の人102の血糖測定値として予測318を生成する。1つ以上の実装形態では、機械学習モデル408は、この予測をベクトルの形態で出力する。
特定の時間(例えば、現在の時間)後の血糖測定値の予測は、機械学習モデル408を訓練および実際に使用することに関連して説明されるが、モデルマネージャ402は、観測された血糖測定値118および追加データ410におけるパターンとは異なる態様を予測する機械学習モデル408を構築してもよい。例として、モデルマネージャ402は、ある期間にわたって人102の健康指標を維持するなどして、人102の健康指標の上昇または下降傾向を予測する機械学習モデル408を構築してもよい。つまり、ユーザ母集団110の血糖測定値118および追加データ410を使用して、これらの健康指標およびユーザ母集団110間の傾向との相関を保持するモデルを構築する。部分的には、大量の訓練データで機械学習モデル408を訓練するため、機械学習モデル408は、データ内の潜在的な特徴の捕捉が可能であり、これは、データ内の隠れた関係および偽の相関関係が含むことがあるが、人間の分析家が、関係にランダムに発生する不在を明らかにすることは事実上不可能である。
統計モデル406、追加の機械学習モデル408、または統計および/もしくは追加の機械学習モデルの何らかの組み合わせ(アンサンブル)が予測318を生成するために使用されるかどうかに関係なく、それは提案システム412によって取得され得る。提案システム412は、予測318に基づいて提案320を生成するように構成されている。提案システム412は、予測に従って提案320を構成する論理を使用して実装するか、そうでなければアクセスを有してもよい。例として、予測318が人102の良い健康傾向を示す場合(例えば、彼女のA1Cがより低い)、提案システム412は、様々な行動を継続することを提案する提案320を生成することができる。
提案320を生成する提案システム412によって使用される論理は、入力として予測318を受信することに基づいて提案を構成するための1つ以上の追加の機械学習モデルに手動でコーディングされたヒューリスティックなど、記載の技法の精神または範囲から逸脱することなく、複雑性を変えてもよい。モデル404および提案システム412によってそれぞれ生成され得る予測および提案のタイプのさらなる実装形態例が、以下でさらに詳細に説明される。ここで、記載の技法に従った検証サービスおよび意思決定支援プラットフォームに関連する図5の以下の説明を考える。
図5は、データ分析プラットフォームによって生成された予測または提案のうちの少なくとも1つが、検証サービスまたは意思決定支援プラットフォームのうちの少なくとも1つにルーティングされる実装形態の例500を描いている。
図示の例500は、計算デバイス108および予測システム316を有するデータ分析プラットフォーム126を含む。この例500では、データ分析プラットフォームは、予測318および提案320を通信するように描かれている。ここで、提案320は、計算デバイス108のユーザ、例えば、人102に関連する。例として、予測318は、人に関する情報(例えば、次の期間にわたる予測される血糖レベル、次の期間にわたる予測される健康傾向など)を含み、提案(recommendation)320は、ユーザを対象とする1つ以上の提案(suggestion)(例えば、実行または排除する1つ以上の行動、採用または排除する挙動など)を含む。
図3の図示の例300とは対照的に、図示の例500は、データ分析プラットフォーム126と計算デバイス108との間の仲介者として、検証サービス502および意思決定支援プラットフォーム504を含む。したがって、予測318および/または提案320は、検証サービス502または意思決定支援プラットフォーム504の一方または両方にルーティングされてもよい。検証サービス502および意思決定支援プラットフォーム504は図3には描かれていないが、図3に関連して説明したシナリオで生成された予測318および提案320もまた、検証サービス502および/または意思決定支援プラットフォーム504を介してルーティングされてもよいと理解するべきである。
記載の技法に従って、検証サービス502は、提案320を有効化するように構成されている。これは、提案が有効(例えば、安全)であり、意思決定支援プラットフォーム504に、および/または計算デバイス108に直接通信することができるかどうかを決定することを意味する。検証サービス502は、提案を有効化する権限を与えられたものとして検証サービス502によって許可されたユーザ、例えば、臨床医に提案320を公開してもよい。例として、検証サービス502は、提案320を臨床医に電子メールで送信し、臨床医ポータル(例えば、臨床医が複数の提案を検討し、それらを有効化できるかどうかにかかわらず)を通じて提案320を提供し、モバイルデバイスの画面上に提案320の通知を提供してもよい。すなわち、ほんの数例を挙げると、臨床医が単なるジェスチャーで追加情報を承認、拒否、または取得することを可能にする。検証サービス502は、本明細書に記載の技術の精神または範囲から逸脱することなく、様々な方法で提案を有効化することを許可されているユーザ(例えば、臨床医)に提案を表面化してもよい。
(例えば、臨床医または検証サービス502の論理によって)有効化されている提案に応答して、提案は、さらに意思決定支援プラットフォーム504に、または直接計算デバイス108にルーティングされてもよい。提案が有効化されない(すなわち、拒否される)ときに、提案は、さらに意思決定支援プラットフォーム504に、または計算デバイス108にルーティングされなくてもよい。代わりに、検証サービス502は、(例えば、臨床医の入力に従って)提案を修正し、かつ/または提案が有効化されなかったことをデータ分析プラットフォーム126に戻すように通知を提供してもよい。このシナリオでは、データ分析プラットフォーム126は、予測システムへの入力として有効化されなかった表示を追加し、異なる予測318および/または提案320の生成を開始することが可能であってもよい。
実際、モデル404は、検証サービス502から受信した有効化および有効化しないことに基づいて更新されてもよい。検証サービス502が提案320を有効化し、その結果、提案320が計算デバイス108に直接転送されることを可能にするシナリオでは、計算デバイス108は、上記および下記のように、ディスプレイデバイス、オーディオデバイス(例えば、スピーカー、ヘッドホン、イヤホン)、触覚フィードバックなどを介して、提案320を出力してもよい。提案を有効化することを許可されたユーザ(例えば、臨床医)に対して、検証サービス502によって提案がどのように表面化され得るかの例は、図10に関連して以下でより詳細に説明される。
前述のように、予測318および/または提案320は、検証サービス502によって意思決定支援プラットフォーム504に通信されてもよいし、代替的には、検証サービス502をバイパスして、データ分析プラットフォーム126から直接意思決定支援プラットフォーム504に通信されてもよい。意思決定支援プラットフォーム504は、1つ以上の健康状態、例えば、糖尿病を管理するためのCGMプラットフォーム112のユーザに支援を提供するように構成されている。提案320の受信に応答して、例えば、意思決定支援プラットフォーム504は、例えば、電子メール、支援スペシャリストポータルなどを介して、顧客支援スペシャリストに提案を提供してもよい。
提案320に基づいて、かつ対応するユーザに関してアクセス可能な他の情報に基づいて、顧客サービススペシャリストが、ユーザをどのように支援するかを決定してもよい。例として、顧客サービススペシャリストは、電話中に音声支援を提供するためにユーザに電話をかける、(例えば、支援スペシャリストポータルを介して)ユーザに送信する1つ以上の事前構成されたメッセージ(例えば、テキストメッセージ、携帯電話通知、電子メールメッセージなど)を選択する、事前構成されたメッセージ構成要素からユーザに送信する1つ以上のメッセージを構築する、単に提案320を計算デバイス108に転送する、ユーザに関連付けられた臨床医または他の医療専門家に連絡する、緊急サービスに連絡する、ユーザの介護者または他の保護者(親など)へ連絡するなどを決定してもよい。意思決定支援プラットフォーム504は、記載の技法の精神または範囲から逸脱することなく、様々な方法で、予測318および提案320に基づいて、ユーザの健康状態の管理を支援するためのツール、コンテンツ、およびサービスを提供してもよい。
CGMシステム104、ならびに様々なソースから収集されたデータが、ユーザの健康に関連する予測を生成し、提案を提供するために血糖測定でどのように使用されるかについて説明したので、CGMに基づく提案の以下の実装形態例を考える。
モデルを使用した予測および提案の生成
図6は、CGMシステムに結合された計算デバイスに表示されるCGMプラットフォームのユーザインターフェースの例600を描いている。
図示の例600は、計算デバイス108によって表示されるCGMユーザインターフェース602を含む。この例では、CGMインターフェース602は、提案606とともに予測604を表示するように描かれている。全体を通して説明されるように、予測604は、予測システム316によって生成されて、統計モデル406または追加の機械学習モデル408などの1つ以上のモデルを使用して、ユーザの血糖測定値118および追加データ410を処理することによって、ユーザの健康指標を予測する。
この例の目的のために、A1C、およびユーザが近い将来にII型糖尿病を発症するリスクを抱えている「前糖尿病」を有していることを示す空腹時血糖テスト結果を受信した後、CGMシステム104を使用して血糖レベルの測定を始めると仮定する。これを考慮して、ユーザは、血糖測定値118を予測システム316に自動的に提供するCGMシステム104の着用を始める。CGMプラットフォーム112は、ユーザのために収集された血糖測定値118を処理して、ユーザの血糖がますます「高い」範囲(例えば、>250mg/dl)にあることを決定する。
血糖測定値118とともに、予測システム316は、様々なサードパーティ306(例えば、食料品店、レストラン、酒屋)によって提供される飲食物購入データおよび/またはユーザ提供の栄養データ(例えば、食品ログ、消費された飲食物の捕捉された画像、スキャンされたレストランまたは食料品店の領収書)など、ユーザの栄養データを取得する。この栄養データは、ユーザが平均して毎週1リットルのソーダを消費し、ファーストフードレストランで週に3回食事をし、ほとんどの週末にビールを飲み、ポテトチップを食べることを示す。予測システム316はまた、ユーザによって消費されていない食品または飲料に基づいて様々な推論を行ってもよい。この場合、予測システム316は、栄養データを分析して、ユーザが果物、野菜、または肉などの「ホールフード」をめったに購入しないと決定する。さらに、予測システム316は、ユーザが1日に5,000歩を超えて歩くことはめったになく、ワークアウトをしないことを示す歩数データを含み、また、ユーザが毎晩平均5時間しか睡眠しないことを示す睡眠データを含むユーザの活動データを取得する。
予測システムは、モデル404を血糖測定値118および追加データ410に適用し、この例では、追加データは、上記に説明したユーザの栄養データおよび活動データを含む。ユーザの血糖測定値の増加、良くない食事の選択、および活動の欠如を考慮して、予測システム316は、ユーザが40か月以内にII型糖尿病を発症する可能性が76%であることを示す予測604を生成する。
予測604とともに、CGMユーザインターフェース602は、データ分析プラットフォーム126の提案システム412によって生成された提案606を表示する。提案606は、ユーザの予測される悪い健康状態を改善するためにユーザがとることができる1つ以上の行動または挙動を含む。この場合に、提案606は、カスタマイズされた食事計画の提案、カスタマイズされた運動計画の提案、ならびにユーザが提案される栄養および運動計画を軌道に乗せるのを助けることができる指導を取得するための提案を含む。図6では、提案される運動計画に関するより詳細な情報を取得するために、ユーザがカスタマイズされた運動計画の提案を選択することが示されている。
この例を続けると、例えば、ホールフードの食事に切り替え、オンライン食品ログを使用して食事を追跡し、1日に10,000歩歩き、歩数計を備えたスマートウォッチで歩数を追跡し、週に3回ワークアウトをし、各ワークアウトをオンラインワークアウトログでログに記録することによって、ユーザが予測システム316によって提案された行動および挙動に従うと仮定する。この場合に、予測システム316は、ユーザの血糖測定値118、栄養データ、および活動データを連続的に収集し、ユーザの改善された栄養選択および運動頻度が、ユーザの平均血糖測定値118の減少と相関していると決定する。
CGMセンサからのユーザの更新された血糖測定値118と、(ユーザの栄養ログによって示されるように)ユーザがより良い食品選択をしていることおよび(歩数データおよび運動ログによって示されるように)より頻繁に運動していることを示す追加データ410とに基づいて、予測システム316は、更新された予測を生成し、これは、図7に示されるように、通知702として表示するために計算デバイス108に通信される。この例では、通知702の更新された予測は、ユーザが次の40か月以内にII型糖尿病を発症する可能性が「低い」ことを示す。特に、通知702の更新された予測は、ユーザに良いフィードバックを提供し、これは、ユーザが健康的な食事および運動を継続するようにさらに動機付けすることがある。逆に、更新された予測が悪化する健康状態を示す場合に、更新された予測は、ユーザを軌道に戻すための動機付けに役立つことがある。
同様のユーザ向けのアプリケーションの提案の生成
全体を通して説明されるように、CGMプラットフォーム112は、1つ以上のCGMプラットフォームAPI310を活用して、CGMプラットフォーム112から様々なサードパーティ306への血糖測定値118の通信、およびサードパーティ306からCGMプラットフォーム112へのサードパーティデータ314の通信を可能にする。このため、血糖測定値118を活用するそのようなサードパーティ306によって提供されるアプリケーションおよびサービスは、ますます利用可能になりつつあり、しばしば「アプリストア」を介してダウンロードすることができる。計算デバイス108にダウンロードされると、ユーザは、API310を介してユーザの血糖測定値118にアクセスすることをサードパーティ306に許可することができる。そうすることにより、サードパーティ306が様々な異なる方法で血糖測定値118を活用して、ユーザの健康を改善することが可能となる。このようにして、サードパーティ306は、そのようなサードパーティ306が独自のCGMシステムを製造および展開しなくても、血糖測定値118を使用する様々なアプリケーションおよびサービスを提供することができてもよい。サードパーティの「アプリ」およびサービスの数が増えるにつれて、母集団のユーザが個々の状況に最適に動作するであろうアプリおよびサービスを見つけることがますます困難になる。
CGMプラットフォーム112は、CGMプラットフォーム112が様々なサードパーティ306から(例えば、サードパーティ306のサードパーティサーバを介して)サードパーティデータ314を受信することを可能にする「入力」API310を含んでもよい。このようなサードパーティデータ314は、サードパーティのサービスまたはアプリケーションとのユーザ対話を記載するアプリケーション対話データを含んでもよい。このようなデータは、例えば、特定のアプリケーションとのユーザの対話を記載するアプリケーションログから抽出されたデータ、計算デバイスの入力/出力インターフェースに関連して実行されるクリック、タップ、およびプレスを記載するクリックストリームデータなどを含んでもよい。
CGMプラットフォーム112は、特定のアプリケーションまたはサービスとのユーザの対話がユーザの健康の改善と相関するかどうかを決定するために、血糖測定値118および追加データとともに、アプリケーション対話データを集約することができる。例えば、血糖測定値118に基づいて、CGMプラットフォーム112は、ユーザの健康状態における改善を客観的に決定することができる。CGMプラットフォーム112は、平均血糖レベル、範囲内時間、特定の望ましくないパターンの緩和、またはそれらの任意の組み合わせにおける改善を含め、アプリケーションの使用がユーザの健康を改善するかどうかを決定するときに、血糖測定値に基づいて、様々な異なるファクタを考えることができる。さらに、CGMプラットフォーム112は、センサ利用および較正頻度などの血糖測定値118の違いを説明するための様々な制御を提供してもよい。CGMプラットフォーム112はまた、ユーザの健康の改善を決定するときに、サードパーティ306によって提供されたデータを考えてもよい。次いで、CGMプラットフォーム112は、アプリケーション対話データに基づいて、ユーザの健康の改善または低下を特定のアプリケーションの使用と相関させることができる。例えば、CGMプラットフォーム112が、特定のアプリケーションの頻繁な使用と一致するユーザの健康状態の改善を検出した場合、CGMプラットフォーム112は、特定のアプリケーションが改善と相関されると決定してもよい。CGMプラットフォーム112に利用可能なデータの量に基づいて、特定のアプリケーションと健康状態の改善との相関が、ユーザ母集団110のユーザのサブセットについて決定されてもよい。
次いで、提案システム412は、健康状態を有する同様のユーザを識別し、同様のユーザのサブセットの健康状態を改善するのに役立った特定のアプリケーションを利用するために同様のユーザへの提案を生成することができる。そうするために、提案システム412は、ユーザ母集団における他のユーザによる特定のアプリケーションの使用を通じて健康状態の同様の改善の確率を予測し、他のターゲットユーザに対する健康を改善する可能性が高いアプリケーションを提案することができる。このようなアプリケーションの提案は、特定のアプリケーションの使用に相関する改善された健康状態を有するユーザのサブセットに類似する個々のユーザをターゲットにしてもよい。例えば、特定のアプリケーションの使用がユーザ母集団におけるユーザのサブセットの糖血症の改善と相関している場合、CGMプラットフォーム112は、ユーザ母集団110における同様のユーザに特定のアプリケーションの使用を提案することができる。
類似のユーザの識別は、類似のユーザの血糖測定における人口統計または観察されたパターンのうちの少なくとも1つに基づいてもよい。例えば、類似のユーザは、ユーザによって着用されるCGMシステム104によって提供される血糖測定値118に部分的に基づいて、同じ健康状態を有すると識別されてもよい。CGMプラットフォーム112は、最初に、年齢、性別、場所、既存の医療記録などの人口統計データを含む、CGMシステム104の着用を始める新規ユーザのためのユーザプロファイルを生成してもよい。CGMプラットフォーム112は、ユーザから血糖測定値118および追加データ410を収集するので、CGMプラットフォーム112は、他のユーザとのユーザの類似性スコアを洗練する。例えば、22歳の女性で、平均血糖が162mg/dLで、夜間の低血糖測定のパターンを経験しているユーザは、その年齢、性別、平均血糖測定値、およびパターン経験の他のユーザとの類似性スコアを有することがある。
次いで、アプリケーションの提案を決定するために、類似性スコアが同様のユーザの以前のアプリケーションの成功と組み合わされる。例えば、ターゲットユーザに類似するユーザが特定のアプリケーションをダウンロードして使用し、次いで、糖血症の改善が見られた場合(例えば、平均血糖値の低減および夜間低下の低減によって証明されるように)、提案システム412は、ターゲットユーザの特定のアプリケーションに対する高い提案スコア生成するように構成され得る。逆に、他のアプリケーションでそのような改善が見られなかった場合、これらのアプリケーションは、ターゲットユーザに対してより低い提案スコアを有する。アプリケーションの提案は、出力のために計算デバイス108に通信することができる。
アプリケーションの提案を生成するコンテキストでは、CGMシステムに結合された計算デバイスに表示されるCGMプラットフォームのユーザインターフェースの追加の例800を描いている図8を考える。図示の例800は、計算デバイス108によって表示されるCGMユーザインターフェース802を含む。この例では、CGMユーザインターフェース802は、提案されるアプリケーション804を表示するものとして描かれている。全体を通して説明されるように、提案されるアプリケーション804は、ターゲットユーザの健康状態を、ユーザと、提案されるアプリケーション804のうちの少なくとも1つの使用に基づいて健康状態が改善したユーザ母集団110における他のユーザとの類似性に基づいて改善する提案システム412によって決定されてもよい。この場合、提案されるアプリケーション804は、様々なサードパーティのアプリケーションに対応する。図8では、ユーザは、このアプリケーションをユーザのスマートフォンにダウンロードするために、アプリケーション「Nutrition by Neha」を選択するように描かれている。
特に、提案システム412は、ターゲットユーザがアプリケーションをダウンロードして使用するときにアプリケーションの提案をさらに強化することができ、したがって、以前の提案を強化または否定し、将来の後続の提案の改善につなげる。例えば、提案システム412が同様の健康状態の改善を示す、同様のユーザからの血糖測定値118を取得する場合、このフィードバックは、ユーザのサブセットの健康状態の改善と特定のアプリケーションの使用との間の相関を積極的に強化する。逆に、同様のユーザからの血糖測定値118が、同様のユーザの健康状態の改善を示さない(または健康状態の悪化を示す)場合、このフィードバックは、ユーザのサブセットの健康状態の改善と特定のアプリケーションの使用との間の相関を消極的に強化する。
図8に関して、例えば、ユーザが「Nutrition by Neha」アプリケーションとの対話を始めると、アプリケーション対話データが、API310を介してCGMプラットフォーム112に通信され、ユーザの血糖測定値118および追加データと相関されてもよい。このようにして、CGMプラットフォーム112は、ユーザ母集団110によるアプリケーションの使用から受信したフィードバックに基づいて、アプリケーションを提案するために使用されるモデル404を連続的に更新してもよい。機械学習モデル408がフィードバックに基づいて更新される構成では、例えば、モデルが強化学習モデルとして構成されてもよい。次いで、更新されたモデル404を使用して、改善されたアプリケーションの提案を生成する。
さらに、CGMプラットフォーム112が、特定のアプリケーションの使用が、更新された血糖測定値118に基づいてユーザの健康状態を改善していることを検出した場合、CGMプラットフォーム112は、出力のために計算デバイス108に改善の通知を通信してもよい。図9では、例えば、通知902が、計算デバイス108によって表示され、「Nutrition by Neha」アプリケーションの使用がユーザのニューロパシーを改善させたことを示す。この良い通知は、ユーザがアプリケーションの使用を継続することを動機付けることがあると理解されるべきである。
検証サービス
図10は、許可されたユーザがCGMプラットフォームによって生成された提案を有効化するために対話することができる検証サービスのユーザインターフェースの例示的な実装形態1000を描いている。
図示の例1000では、検証サービス502のユーザインターフェース1004を表示するディスプレイデバイス1002が描かれている。大まかに言えば、ユーザインターフェース1004のインターフェース要素は、許可されたユーザがそれらの要素と対話して、データ分析プラットフォーム126によって提供され、ユーザ、例えば、人102に送達することを意図する提案を有効化または拒否することを可能にする。提案(例えば、提案320)を有効化するユーザインターフェース要素を介して入力を受信することに応答して、検証サービス502は、提案をそれぞれのユーザの計算デバイス108にルーティングしてもよい。上記に説明したように、検証サービス502はまた、提案を意思決定支援プラットフォーム504にルーティングしてもよい。提案を拒否するユーザインターフェース1004のユーザインターフェース要素を介して入力を受信することに応答して、検証サービス502は、提案を計算デバイス108に通信しない。代わりに、検証サービスは、提案が拒否されたことを示す通知をデータ分析プラットフォーム126に通信してもよい。追加的または代替的に、検証サービス502の承認されたユーザは、提案を修正し、次いで、修正された提案をユーザの計算デバイス108に送信してもよい。前述のように、データ分析プラットフォーム126によって提供された提案を有効化することを許可されたユーザは、患者に健康指導を提供する資格のある臨床医または他の医療専門家を含んでもよい。
図示の例1000では、ユーザインターフェース1004は、データ分析プラットフォーム126によって検証サービス502に提供される提案のスタブ1006を表示する。これらのスタブ1006は、ユーザが対話して、それぞれの提案に関連して検討、有効化、拒否、および/または他の何らかの行動方針を取る(例えば、修正する)ことができる対話型要素として構成されている。この例では提案スタブが描かれているが、許可されたユーザが記載の技法の精神または範囲から逸脱することなくそれぞれの提案に関連して検討、有効化、拒否、および/または他の何らかの行動方針を取る(例えば、修正する)ことを可能にする他のユーザインターフェース要素が使用されてもよい。
この例1000では、スタブ1006の各々は、ユーザ名または患者名、それぞれの提案320が基づく予測318の表示、および提案320の表示も含む。ユーザ1008が、スタブ1006の1つ(この場合、右から左へのスワイプジェスチャー)に関連してジェスチャーを実行するように描かれており、それぞれの提案320を有効化またはそれを拒否するために選択可能なさらなるインターフェース要素を公開する。それぞれの提案を有効化または拒否する要素は、スワイプジェスチャーなどの対話を必要とせずに各スタブの一部として表示されたり、スタブ上の何らかの対話(例えば、マウスで右クリック)に応答して起動されるメニューの一部として表示されるなど、他の方法で公開されることがあると理解されるべきである。図示されていないが、スタブ1006はまた、提案および他のオプションを有効化および拒否するオプションを含む提案、すなわち、予測の全体およびレビューのための提案の全体、ならびに提案を処理するための複数のオプションを出力する固有のユーザインターフェースを公開するように選択可能であってもよい。
障害検出およびシステム構成の問題
図11は、CGMプラットフォームの使用に関連して検出された障害およびシステム構成の問題に関する情報を出力するユーザインターフェースの例示的な実装形態1100を描いている。
図示の例では、障害検出およびシステム構成サービスのユーザインターフェース1104を表示するディスプレイデバイス1102が描かれている。1つ以上の実装形態では、障害検出およびシステム構成サービスは、CGMプラットフォーム112の一部として含まれるか、そうでなければアクセス可能であってもよい。また、ユーザインターフェース1102の部分は、CGMシステム104に関連して使用することができるデバイスまたはサービスをそれぞれ提供する製造業者またはサービスプロバイダなど、それぞれのポータルを介して他のエンティティに提供および表示されてもよいと理解されるべきである。これらのデバイスは、計算デバイス108、インスリン送達システム106、無数の生理学的マーカー測定デバイス、CGMシステム104の様々な構成要素などのうちの1つ以上を含んでもよい。
ユーザインターフェース1104は、複数の検出された障害およびシステム構成の問題についてのスタブ1106を表示する。様々な障害および問題がユーザインターフェース1104に表示されるが、所与のエンティティ(例えば、特定の製造業者または米国食品医薬品局(FDA)などの規制機関)に表示される障害および/または問題(例えば、特定の製造業者のデバイスに関連する障害もしくは問題、または規制機関に公開するために法律で義務付けられている情報)は制限されてもよい。対照的に、従業員または同様のユーザとしてCGMプラットフォーム112に許可するユーザ(例えば、エンジニア、品質保証、開発パートナーなど)は、CGMプラットフォーム112に関連するすべての障害および/または問題を表示するための許可を有してもよい。
この例1100では、スタブ1106は、ほんの数例を挙げると、センサ202、計算デバイス108、インスリン送達システム106、サードパーティ306に関してCGMシステム104によって報告されるような、CGMプラットフォーム112に通信可能に結合されたか、そうでなければ関連する1つ以上のデバイスによって報告されるイベント(例えば、障害)に対するスタブを含む。スタブ1106はまた、CGMシステム104を含むが、他のデバイスの異なる組み合わせ、例えば、特定の計算デバイス108(例えば、特定の製造業者)を有する構成、計算デバイス108の特定のアンサンブル(例えば、第1の製造業者に対応する携帯電話および第2の製造業者に対応するスマートウォッチ)、特定のインスリン送達システム(例えば、インスリンペン対インスリンポンプであり、異なる製造業者からのもの)、特定のファームウェアおよびソフトウェアバージョンなど特定のシステム構成に関連して生じる問題に関連するスタブを含む。
スタブ1106はまた、信頼性、例えば、様々な構成要素(例えば、センサ202の製造ロット)によって取得されるデータの信頼性、システム構成、様々な人口統計を有するユーザ関連など、1つ以上の信頼性の尺度を搬送するスタブを含む。1つ以上の実装形態では、信頼度の尺度は信頼区間である。追加的に、スタブ1106は、プラットフォームの特徴(例えば、CGMプラットフォーム112に対応するアプリケーションの機能性および/またはユーザインターフェース要素)の使用を示すスタブを含む。この情報は、システム開発者が様々な特徴に関連して開発および/または支援の提供を継続するかどうかを決定するために使用することができる。
1つ以上のデバイスによって報告されるイベントを記載するスタブに関して、CGMプラットフォーム112に対応する開発者が、展開前に、CGMシステム104に関連して使用され得るデバイスおよびCGMプラットフォーム112のアプリケーション、例えば、携帯電話およびスマートウォッチアプリケーションのすべての組み合わせをテストすることは不可能ではないにしても難しい。代わりに、それらの開発者は、使用される可能性が最も高いデバイスの組み合わせ(例えば、最も人気のあるモバイルデバイスまたはインスリン送達システム106)および/またはCGMプラットフォーム112によって、例えば、出版物、ウェブページ、パッケージング、電子メール、広告などを介して広められたコンテンツで提案される組み合わせにテストを制限してもよい。この範囲で、開発者は、テストされたデバイスの組み合わせに関する問題のサブセットのみを認識し、それらを修正していることがあるが、テストされていない組み合わせに関する問題は認識、修正していない。
膨大な量の血糖測定値118、CGMデバイスデータ214、および記憶デバイス120内の補足データ304を収集および維持することによって、データ分析プラットフォーム126は、モデル404を訓練し、次いで、ユーザ母集団110に使用されたデバイスの異なる組み合わせでの問題(例えば、障害)、例えば実世界での使用中、テストされた組み合わせおよびテストされていない組み合わせの両方で観測される問題を識別するために活用することができる。実際、デバイスのテストされた組み合わせは、実世界におけるユーザ母集団110によって実際に使用される様々な方法でテストされていないことがある。したがって、モデル404を使用してこれらの問題を識別することにより、データ分析プラットフォーム126は、開発者に問題を通知することができ、開発者は、問題の修正を開発し、次いで、それらを、例えば、ファームウェアまたはソフトウェアの更新として、モデル404への更新としてなどでそれらを展開することができる。
代替的または追加的に、データ分析プラットフォーム126は、これらの問題の識別を使用して、問題を経験している組み合わせの予測および提案を調整してもよい。例として、ユーザ母集団の小さなサブセット(例えば、1%)によって使用されるデバイスの組み合わせが、他の組み合わせによって提供される血糖測定値118よりも一貫して(かつ予測可能に)低い血糖測定値118をCGMプラットフォーム112に提供する場合、この情報を使用して、計算デバイス108を介してユーザに提示されるリアルタイムの血糖測定値118を更新することができる。
この情報はまた、モデル404が、デバイスの組み合わせを有するユーザが母集団のサブセットと同じ問題を経験するであろうことを予測するために使用することができる。特に、この情報を使用して、有効な(例えば安全な)提案が生成され、これらのユーザに提供されるようにすることができる。データ分析プラットフォーム126は、記載の技法の精神または範囲から逸脱することなく、様々な方法でデバイスの異なる組み合わせに関する障害などの問題を識別するための能力を使用してもよい。
プラットフォームの機能の使用を記載するスタブに関連して、この情報を使用して、上記のように、様々な機能に関連して、開発および/または支援の提供を継続するかどうかを決定してもよい。1つ以上の実装形態では、データ分析プラットフォーム126は、記憶デバイス120に維持されるデータを分析して、CGMプラットフォーム112の様々な機能、例えば、そのCGMシステム104およびアプリケーションによって提供される様々な機能性を支援する、CGMプラットフォーム112に対応する会社へのコストを決定することができる。この一部として、データ分析プラットフォーム126は、CGMプラットフォーム112によって展開される各機能性間の変動、共変動、および統計的依存、例えば、人102の温度を測定するCGMシステム104の機能性、夜間に低血糖の起こりそうな発生を識別するCGMプラットフォーム112の携帯電話アプリケーションの機能性、出力通知に関連して触覚フィードバック(例えば、振動)を使用するためのCGMプラットフォーム112のスマートウォッチアプリケーションの機能性などの間の変動、共変動、および統計的依存を測定するように構成されている。
1つ以上の実装形態では、データ分析プラットフォーム126は、ユーザ母集団110からサンプリングされた所定の数のユーザ(例えば、50,000人のユーザ)およびCGMプラットフォーム112によって展開されたある数の特徴(例えば、機能性)、または開発もしくは支援を潜在的に中止するために検討されているある数の特徴に対応する寸法を有する行列を生成することによって、変動および共変動を決定する。以下の説明では、所定のユーザ数は項mで表され、特徴の数は項nで表される。この目的のために、データ分析プラットフォーム126は、m×n行列を構築し、行列の各セルは、サンプリングされたユーザが対応する特徴を使用するかどうかを示す。データ分析プラットフォーム126は、ユーザが様々な方法で特徴を使用することを決定してもよく、使用は、異なる特徴に対して異なるように定義されてもよい。例えば、データ分析プラットフォーム126は、記憶デバイス120からのデータが、ユーザが特徴を使用したことがあること、その特徴を使用するかまたは機能がアクティブである状態でしきい値の時間を超えて消費したこと、しきい値の回数を超えてその特徴を使用したこと、その特徴をアクティブにするのを許容した(例えば、許容通知)ことなどを示す場合、ユーザがその特徴を使用したと決定してもよい。
m×n行列を使用して、データ分析プラットフォーム126は、サンプリングされたユーザ数mから所与の特徴iを「使用する」ユーザ数aの関数として、所与の特徴iの変動スコアを計算する。一例では、データ分析プラットフォーム126は、以下に従って変動を計算する。
ここで、項φ(i)は変動スコアを表す。データ分析プラットフォーム126はまた、サンプリングされたユーザ数mから、所与の特徴iを使用するユーザ数aの関数として、および別の所与の特徴jを使用する第2のユーザ数bの関数として、所与の特徴iおよび別の特徴jの共変動スコアを計算するように構成されている。データ分析プラットフォーム126はまた、所与の特徴iおよび他の特徴jを同時に使用する第3のユーザ数cの関数として共変動を計算する。一例では、データ分析プラットフォーム126は、以下に従って共変動スコアを計算する。
ここで、項φ(i,j)は共変動スコアを表し、項φ(j)は他の与えられた特徴jの変動スコアを表す。
データ分析プラットフォーム126は、各特徴がm-1特徴と対になり、各対に対して分割表が生成されるように、特徴の各対について分割表を構築することによって、異なる特徴間の統計的独立性を測定する。データ分析プラットフォーム126は、各テーブルに対して既知の独立性テストを実行する。1つ以上の実装形態では、既知の独立性テストは、独立性のカイ2乗検定を含み、その出力はP値、例えば、検定統計量と同じくらい極端なサンプル統計量を観測する確率である。次いで、データ分析プラットフォーム126は、各テーブルの既知の独立性テストの出力(例えば、P値)を有意レベルのしきい値と比較する。出力が有意レベルのしきい値を満たす場合、データ分析プラットフォームは特徴のペアを従属特徴として識別する。
次に、データ分析プラットフォーム126は、所与の特徴iに統計的に依存する他の特徴について、所与の特徴の変動φ(i)に加えてペアワイズスコアφ(i,j)の関数として所与の特徴iのコストを決定する。次いで、データ分析プラットフォーム126は、ユーザインターフェース1104または他の何らかのインターフェースを介した表示などによって、CGMプラットフォーム112に対応する許可されたユーザ(例えば、エンジニア、マーケティング担当者など)にこれらのスコアを提示してもよい。CGMプラットフォーム112の特徴のコストはまた、他の方法で決定され得ることが理解されるべきである。
例示的な手順
このセクションでは、連続血糖モニタリング(CGM)に基づく提案の例示的な手順を記載する。手順の態様は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。手順は、1つ以上のデバイスによって実行される動作を指定するブロックのセットとして示され、必ずしもそれぞれのブロックによって動作を実行するために示される順序に制限されない。少なくともいくつかの実装形態では、手順は、予測システム316および提案システム412を利用するCGMプラットフォーム112のデータ分析プラットフォーム126などのデータ分析プラットフォームによって実行される。
図12は、ユーザの血糖測定値および追加データの両方に基づいて予測および提案が生成される例示的な手順1200を描いている。
ユーザによって着用されるCGMシステムによって提供される血糖測定値が取得される(ブロック1202)。例として、CGMプラットフォーム112は、人102によって着用されたCGMシステム104によって検出された血糖測定値118を取得する。全体を通して説明されるように、CGMシステム104は、人102の血糖を連続的にモニタリングするように構成されている。例えば、CGMシステム104は、人102の皮膚206に皮下挿入されるセンサ202で構成されてもよく、血糖測定値を生成するために人102の血糖を示す分析物を連続的に測定する。1つ以上の実装形態では、CGMプラットフォーム112は、ユーザの携帯電話またはウェアラブルデバイスなど、CGMシステム104に通信可能に結合された計算デバイス108から血糖測定値118を取得する。
ユーザに関連付けられた追加データが取得される(ブロック1204)。例として、CGMプラットフォーム112は、様々なデバイス、センサ、アプリケーション、またはサービスから追加データ410を取得する。したがって、本明細書で説明される原理に従って、追加データは、血糖測定値118が提供されるCGMシステム104とは異なる1つ以上の「ソース」から取得されてもよい。追加データ410は、血糖測定値118に加えて、CGMデバイスデータ214、補足データ304、サードパーティデータ314、IoT114からのデータなどのうちの少なくとも1つ以上の部分を含んでもよい。
ユーザの健康指標は、1つ以上のモデルを使用して血糖測定値および追加データを処理することによって予測される(ブロック1206)。本明細書で説明される原理に従って、1つ以上のモデルは、ユーザ母集団の過去の血糖測定値および過去の追加データに基づいて生成される。例として、データ分析プラットフォーム126の予測システム316は、1つ以上のモデル404を使用して、人102の血糖測定値118および追加データ410を処理することによって、健康指標を含む予測318を生成する。1つ以上のモデル404は、ユーザ母集団110の血糖測定値118および追加データ410に基づいて生成される。1つ以上のモデル404は、限定ではなく例として、統計モデル406および/または追加の機械学習モデル408を含んでもよい。
提案は、ユーザの健康指標に基づいて生成される(ブロック1208)。例として、統計モデル406、機械学習モデル408、または統計および/または機械学習モデルの何らかの組み合わせが予測318を生成するために使用されるかどうかに関係なく、予測318は、データ分析プラットフォーム126の提案システム412によって取得される。提案システム412は、予測318に基づいて提案320を生成するように構成されている。場合によっては、健康指標は、ユーザが次の40か月以内にII型糖尿病を発症するという予測など、予測される悪い健康状態に対応する。このシナリオでは、提案システム412は、予測される悪い健康状態を、予測される悪い健康状態を緩和する1つ以上の行動または挙動に関連付ける論理に基づいて、提案320を生成することができる。そのため、提案320は、予測される悪い健康状態を緩和することを意図する1つ以上の行動または挙動を含んでもよい。
予測または提案の少なくとも1つを、ネットワークを介して出力のために1つ以上の計算デバイスに通信する(ブロック1210)。例として、データ分析プラットフォーム126は、出力のために、予測318および/または提案320を計算デバイス108に通信する。次いで、計算デバイス108は、CGMインターフェースにおいて予測318および/または提案320を表示することができる。図6に示されるように、例えば、CGMユーザインターフェース602は、提案606とともに予測604を表示する。この例では、予測604は、ユーザが40か月でII型糖尿病を発症する可能性が76%であることを示している。提案606は、ユーザの予測される悪い健康状態を改善するためにユーザがとることができる1つ以上の行動または挙動を含む。例えば、図6では、提案606は、カスタマイズされた食事計画の提案、カスタマイズされた運動計画の提案、およびユーザが提案される栄養および運動計画を軌道に乗せるのを助けることができる指導を取得するための提案を含む。
1つ以上の実装形態では、予測または提案は、ユーザの計算デバイス108に通信される前に、またはその代わりに、検証サービス502および/または意思決定支援プラットフォーム504に通信され得る。このようにして、検証サービス502および意思決定支援プラットフォーム504は、データ分析プラットフォーム126と計算デバイス108との間の仲介者として行動してもよい。予測または提案が検証サービス502に伝達されるシナリオでは、検証サービス502は、提案320を有効化することができる。これは、提案が有効(例えば、安全)であり、さらに意思決定支援プラットフォーム504に、および/または計算デバイス108に直接通信することができるかどうかを決定することを意味する。検証サービス502は、提案を有効化するために、臨床医など、サービス502によって許可されたユーザに提案320を公開してもよい。
(例えば、臨床医または検証サービス502の論理によって)有効化されている提案に応答して、提案は、さらに意思決定支援プラットフォーム504に、または直接計算デバイス108にルーティングされてもよい。提案が有効化されない(すなわち、拒否される)ときに、提案は、さらに意思決定支援プラットフォーム504に、または直接計算デバイス108にルーティングされなくてもよい。代わりに、検証サービス502は、(例えば、臨床医の入力に従って)提案を修正し、および/または提案が拒否されたことをデータ分析プラットフォーム126に戻すように通知を提供してもよい。このシナリオでは、データ分析プラットフォーム126は、予測システムへの入力として拒絶の表示を追加し、異なる予測318および/または提案320の生成を開始することが可能であってもよい。実際、モデル404は、検証サービス502から受信した有効化および拒否に基づいて更新されてもよい。検証サービス502が提案320を有効化し、その結果、提案320が計算デバイス108に直接転送されることを可能にするシナリオでは、計算デバイス108は、上記および下記に記載のように、ディスプレイ、スピーカー、触覚フィードバックなどを介して、提案320を出力してもよい。
前述のように、提案320はまた、検証サービス502によって意思決定支援プラットフォーム504に通信されてもよいし、代替的には、検証サービスをバイパスして、データ分析プラットフォーム126から直接意思決定支援プラットフォーム504に通信されてもよい。提案320に基づいて、かつ対応するユーザに関してアクセス可能な他の情報に基づいて、顧客サービススペシャリストが、ユーザをどのように支援するかを決定してもよい。例として、顧客サービススペシャリストは、電話中に音声支援を提供するためにユーザに電話をかけることを決定してもよい。
更新された健康指標は、ユーザの更新された血糖測定値および追加データを1つ以上のモデルを使用して処理することによって予測され、更新された健康指標に基づいて、通知が、ネットワークを介して、出力のために1つ以上の計算デバイスに通信される(ブロック1212)。例として、データ分析プラットフォーム126は、ユーザのために血糖測定値118および追加データ410を連続的に収集する。したがって、予測システム316は、1つ以上のモデル404を使用して、更新された血糖測定値および追加データを処理することによって、更新された健康指標を予測することができる。図7に示されるように、例えば、CGMシステム104からのユーザの更新された血糖測定値118と、(ユーザの栄養ログによって示されるように)ユーザがより良い食品選択をしていることおよび(歩数データおよび運動ログによって示されるように)より頻繁に運動していることを示す追加データ410に基づいて、予測システム316は、更新された予測を生成し、これは、通知702として表示するために計算デバイス108に通信される。
図13は、特定のアプリケーションを使用するための提案が同様のユーザの1つ以上のデバイスに通信される例示的な手順1300を描いている。
ユーザ母集団の血糖測定値およびユーザ母集団のユーザに関連付けられたアプリケーション対話データは、1つ以上の記憶デバイスに維持される(ブロック1302)。本明細書で説明される原則に従って、アプリケーション対話データは、アプリケーションの使用(例えば、ユーザ母集団の様々なユーザによる「アプリ」の使用)を記載する。例として、CGMプラットフォーム112は、人102によって着用されたCGMシステム104によって検出された血糖測定値118を取得し、血糖測定値118を記憶デバイス120に維持する。追加的に、CGMプラットフォームは、様々なアプリケーション、例えばサードパーティ306によって提供されるアプリケーションからアプリケーション対話データを取得する。
ユーザ母集団のユーザのサブセットの健康状態の改善は、少なくとも部分的に血糖測定に基づいて識別され(ブロック1304)、ユーザのサブセットの健康状態の改善は、アプリケーション対話データに基づく特定のアプリケーションの使用と相関される(ブロック1306)。例として、CGMプラットフォーム112は、特定のアプリケーションまたはサービスとのユーザの対話がユーザの健康の改善と相関するかどうかを決定するために、血糖測定値118および追加データとともに、アプリケーション対話データを集約することができる。例えば、血糖測定値118に基づいて、CGMプラットフォーム112は、ユーザの健康状態における改善を客観的に決定することができる。次いで、CGMプラットフォーム112は、アプリケーション対話データに基づいて、ユーザの健康の改善または低下を特定のアプリケーションの使用と相関させることができる。例えば、CGMプラットフォームが、特定のアプリケーションの頻繁な使用と一致するユーザの健康状態の改善を検出した場合、CGMプラットフォームは、特定のアプリケーションが改善と相関されると決定してもよい。
健康状態を有する同様のユーザが識別され(ブロック1308)、特定のアプリケーションを使用するための提案が、同様のユーザに関連付けられた1つ以上のデバイスに通信される(ブロック1310)。例として、提案システム412は、健康状態を有する同様のユーザを識別し、同様のユーザのサブセットの健康状態を改善するのに役立った特定のアプリケーションを利用するために同様のユーザへの提案を生成することができる。そうするために、提案システム412は、ユーザ母集団における他のユーザによる特定のアプリケーションの使用を通じて健康状態の同様の改善の確率を予測し、他の同様のユーザに対する健康を改善する可能性が高いアプリケーションを提案することができる。
アプリケーションの提案は、出力のために計算デバイス108に通信することができる。例として、図8に示されるように、CGMユーザインターフェース802は、提案されるアプリケーション804を表示するものとして描かれている。この場合、提案されるアプリケーション804は、様々なサードパーティのアプリケーションに対応する。図8では、ユーザは、このアプリケーションをユーザのスマートフォンにダウンロードするために、アプリケーション「Nutrition by Neha」を選択するように描かれている。
1つ以上の実装形態による例示的な手順について記載したため、本明細書に記載の様々な技術を実装するために利用することができる例示的なシステムおよびデバイスについて考える。
例示的なシステムおよびデバイス
図14は、本明細書に記載の様々な技法を実装し得る1つ以上の計算システムおよび/またはデバイスを代表する例示的な計算デバイス1402を含む、概して1400における例示的なシステムを示す。これは、CGMプラットフォーム112を含めることを通じて示されている。計算デバイス1402は、例えば、サービスプロバイダのサーバ、クライアントに関連付けられたデバイス(例えば、クライアントデバイス)、オンチップシステム、および/または任意の他の好適な計算デバイスまたは計算システムであり得る。
図示の例示的な計算デバイス1402は、処理システム1404、1つ以上のコンピュータ可読媒体1406、および互いに通信可能に結合された1つ以上のI/Oインターフェース1408を含む。図示されていないが、計算デバイス1402は、様々な構成要素を互いに結合するシステムバスまたは他のデータおよびコマンド転送システムをさらに含んでもよい。システムバスは、メモリバスもしくはメモリコントローラ、ペリフェラルバス、ユニバーサルシリアルバス、および/または様々なバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバスなどの異なるバス構造のうちの任意の1つまたは組み合わせを含むことができる。制御ラインおよびデータラインなど、様々な他の例も企図されている。
処理システム1404は、ハードウェアを使用して1つ以上の動作を実行するための機能性の代表的なものである。したがって、処理システム1404は、プロセッサ、機能ブロックなどとして構成され得るハードウェア要素1410を含むものとして図示されている。これは、1つ以上の半導体を使用して形成された特定用途向け集積回路または他の論理デバイスとしてのハードウェアでの実装を含んでもよい。ハードウェア要素1410は、それらが形成される材料またはそこで使用される処理メカニズムによって制限されない。例えば、プロセッサは、半導体および/またはトランジスタ(例えば、電子集積回路(IC))から構成されてもよい。このようなコンテキストでは、プロセッサ実行可能な命令は、電子的に実行可能な命令であってもよい。
コンピュータ可読媒体1406は、メモリ/ストレージ1412を含むものとして示されている。メモリ/ストレージ1412は、1つ以上のコンピュータ可読媒体に関連付けられたメモリ/ストレージ容量を表す。メモリ/ストレージ構成要素1412は、揮発性媒体(ランダムアクセスメモリ(RAM)など)および/または不揮発性媒体(読み出し専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスクなど)を含んでもよい。メモリ/ストレージ構成要素1412は、固定メディア(例えば、RAM、ROM、固定ハードドライブなど)ならびにリムーバブルメディア(例えば、フラッシュメモリ、リムーバブルハードドライブ、光ディスクなど)を含んでもよい。コンピュータ可読媒体1406は、以下でさらに説明するように、他の様々な方法で構成され得る。
入力/出力インターフェース1408は、ユーザが計算デバイス1402にコマンドおよび情報を入力することを可能にし、また、様々な入力/出力デバイスを使用してユーザおよび/または他の構成要素またはデバイスに情報を提示することを可能にする機能の代表のものである。入力デバイスの例は、キーボード、カーソル制御デバイス(例えば、マウス)、マイク、スキャナー、タッチ機能性(例えば、物理的なタッチを検出するように構成されている容量性または他のセンサ)、カメラ(例えば、動きをタッチを伴わないジェスチャーとして認識するために、可視または赤外線周波数などの不可視の波長を用いてもよい)などを含む。出力デバイスの例は、ディスプレイデバイス(例えば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワークカード、触覚応答デバイスなどを含む。したがって、計算デバイス1402は、ユーザの対話を支援するために、以下でさらに記載されるように、様々な方法で構成されてもよい。
本明細書では、ソフトウェア、ハードウェア要素、またはプログラムモジュールの一般的なコンテキストで様々な技法が記載されてもよい。一般に、このようなモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、構成要素、データ構造などを含む。本明細書で使用される「モジュール」、「機能性」、および「構成要素」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを表す。本明細書に記載の技術の特徴は、プラットフォームに依存しない。つまり、この技法は、様々なプロセッサを有する様々な商用計算プラットフォームに実装され得ることを意味する。
記載のモジュールおよび技法の実装形態は、何らかの形式のコンピュータ可読媒体に記憶されるか、またはそれを介して送信され得る。コンピュータ可読媒体は、計算デバイス1402によってアクセスされ得る様々な媒体を含んでもよい。限定ではなく例として、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「コンピュータ可読信号媒体」を含んでもよい。
「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波、または信号自体とは対照的に、情報の永続的および/または非一時的な記憶を可能にする媒体および/またはデバイスを指してもよい。したがって、コンピュータで可読記憶媒体は、非信号伝達媒体を指す。コンピュータ可読記憶媒体は、揮発性および非揮発性、リムーバブルおよび非リムーバブル媒体などのハードウェア、および/またはコンピュータ可読命令、データ構造、プログラムモジュール、論理要素/回路、または他のデータなどの情報の記憶に好適な方法または技術で実装された記憶デバイスを含む。コンピュータ可読記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光記憶デバイス、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶デバイス、もしくは他の記憶デバイス、有形媒体、または所望の情報を記憶するのに好適であり、コンピュータによってアクセスされ得る製品を含んでもよいが、これらに限定されない。
「コンピュータ可読信号媒体」は、ネットワークを介するなどして、計算デバイス1402のハードウェアに命令を送信するように構成されている信号伝達媒体を指してもよい。信号媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波、データ信号、もしくは他の輸送メカニズムなどの変調されたデータ信号における他のデータを具体化してもよい。信号媒体は、任意の情報送達媒体も含む。「変調されたデータ信号」という用語は、信号における情報を符号化するような方式で設定または変更されたその特性のうちの1つ以上を有する信号を意味する。限定ではないが例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。
上記のように、ハードウェア要素1410およびコンピュータ可読媒体1406は、1つ以上の命令を実行するなどのために、本明細書に記載の技術の少なくともいくつかの態様を実装するためにいくつかの実施形態で用いられ得るハードウェア形式で実装されるモジュール、プログラマブルデバイスロジックおよび/または固定デバイスロジックの代表のものである。ハードウェアは、集積回路またはオンチップシステムのコンポーネント、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複雑なプログラマブルロジックデバイス(CPLD)、およびシリコンまたは他のハードウェアにおける他の実装形態を含んでもよい。このコンテキストでは、ハードウェアは、ハードウェアによって具体化された命令および/または論理によって定義されるプログラムタスク、ならびに実行のための命令を記憶するために利用されるハードウェア、例えば、上記のコンピュータ可読記憶媒体を実行する処理デバイスとして動作してもよい。
前述の組み合わせを用いて、本明細書に記載の様々な技術を実装してもよい。したがって、ソフトウェア、ハードウェア、または実行可能モジュールは、何らかの形式のコンピュータ可読記憶媒体上に、ならびに/または1つ以上のハードウェア要素1410によって具体化される1つ以上の命令および/もしくは論理として実装されてもよい。計算デバイス1402は、ソフトウェアおよび/またはハードウェアモジュールに対応する特定の命令および/または機能を実装するように構成されてもよい。したがって、ソフトウェアとして計算デバイス1402によって実行可能であるモジュールの実装形態は、例えば、コンピュータ可読記憶媒体および/または処理システム1404のハードウェア要素1410の使用を通じて、少なくとも部分的にハードウェアで達成されてもよい。命令および/または機能は、本明細書に記載の技術、モジュール、および例を実装するために、1つ以上の製品(例えば、1つ以上の計算デバイス1402および/または処理システム1404)によって実行可能/動作可能であってもよい。
本明細書に記載の技術は、計算デバイス1402の様々な構成によって支援されてもよく、本明細書に記載の技術の特定の例に限定されない。この機能性は、以下に記載のように、プラットフォーム1416を介した「クラウド」1414上など、分散システムを使用することを通じて、全部または部分的に実装されてもよい。
クラウド1414は、リソース1418のためのプラットフォーム1416を含み、および/またはその代表のものである。プラットフォーム1416は、クラウド1414のハードウェア(例えば、サーバ)およびソフトウェアリソースの基礎となる機能性を抽象化する。リソース1418は、計算デバイス1402から離れたサーバ上でコンピュータ処理が実行されている間に利用することができるアプリケーションおよび/またはデータを含んでもよい。リソース1418はまた、インターネットを介して、および/またはセルラーまたはWi-Fiネットワークなどの加入者ネットワークを通じて提供されるサービスを含むことができる。
プラットフォーム1416は、計算デバイス1402を他の計算デバイスと接続するためにリソースおよび機能を抽象化してもよい。プラットフォーム1416はまた、リソースのスケーリングを抽象化して、プラットフォーム1416を介して実装されるリソース1418の遭遇した需要に対応するレベルのスケールを提供するのに機能してもよい。したがって、相互接続されたデバイスの実施形態では、本明細書に記載の機能の実装は、システム1400全体に分散されてもよい。例えば、機能性は、部分的に計算デバイス1402上、およびクラウド1414の機能性を抽象化するプラットフォーム1416を介して実装されてもよい。
結論
システムおよび技術は、構造的特徴および/または方法論的行為に固有の言語で記載されているが、添付の特許請求の範囲で定義されるシステムおよび技術は、必ずしも記載の特定の特徴または行為に限定されないと理解するべきである。むしろ、特定の特徴および行為は、特許請求の範囲の主題を実装するための例示的な形態として開示されている。