JP2024515404A - グローバル構成サービス - Google Patents

グローバル構成サービス Download PDF

Info

Publication number
JP2024515404A
JP2024515404A JP2023534397A JP2023534397A JP2024515404A JP 2024515404 A JP2024515404 A JP 2024515404A JP 2023534397 A JP2023534397 A JP 2023534397A JP 2023534397 A JP2023534397 A JP 2023534397A JP 2024515404 A JP2024515404 A JP 2024515404A
Authority
JP
Japan
Prior art keywords
application
information
user
health intervention
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023534397A
Other languages
English (en)
Inventor
プラヴィーン・クマール・サニゲパリ
リカルド・アルヴェス
エル・モスタファ・ルフダ
ブライアン・スミス
ダニエル・スミス
Original Assignee
デックスコム・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by デックスコム・インコーポレーテッド filed Critical デックスコム・インコーポレーテッド
Publication of JP2024515404A publication Critical patent/JP2024515404A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/145Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
    • A61B5/14532Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue for measuring glucose, e.g. by tissue impedance measurement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Emergency Medicine (AREA)
  • Veterinary Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Animal Behavior & Ethology (AREA)
  • Pathology (AREA)
  • Optics & Photonics (AREA)
  • Surgery (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本開示のある特定の態様は、概して、患者の健康の監視及び改善を助けるために、医療デバイスとともに使用されるアプリケーションを構成することに関する。ある特定の態様は、コンピューティングデバイスのユーザに関連付けられたアクセス情報を含むアセットに対する要求を受信することであって、アクセス情報が、健康介入アプリケーションの機能カスタマイズ情報を含み、かつ健康介入アプリケーションのアカウント管理サービスによって発行される、受信することと、アクセス情報が正当であることを検証することと、を含む、方法を含む。方法はまた、検証することに応じて、アクセス情報に含まれる機能カスタマイズ情報に少なくとも部分的に基づいて、健康介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成することと、識別されたアセットのセットを用いて健康介入アプリケーションを構成するために、健康介入アプリケーションに構成情報を送信することと、を含み得る。

Description

関連出願の相互参照
本出願は、2021年4月15日に出願された「GLOBAL CONFIGURATION SERVICE」と題する米国仮出願第63/175,199号の利益を主張する。前述の出願は、その全体が参照により本明細書に組み込まれる。
糖尿病は、体内でのインスリンの産生又は使用に関連する代謝疾患である。インスリンは、身体がグルコースをエネルギーとして使用すること、又はグルコースを脂肪として蓄積することを可能にするホルモンである。
ヒトが炭水化物を含む食事をすると、その食物は消化器系で処理され、血液中にグルコースが産生される。血中グルコースは、エネルギーとして使用すること、又は脂肪として蓄積することができる。体は通常、身体機能をサポートするのに十分なエネルギーを供給する範囲に血中グルコース値を維持し、グルコース値が高すぎる又は低すぎることで生じ得る問題を回避する。血中グルコース値の調整は、細胞への血中グルコースの移動を調整するインスリンの産生及び使用に依存する。
身体が十分なインスリンを産生しないとき、又は、身体が存在するインスリンを効果的に使用することができないとき、血糖値が正常な範囲を超えて上昇する可能性がある。血糖値が正常値よりも高い状態は、「高血糖」と呼ばれる。慢性的な高血糖は、心血管疾患、白内障及び他の目疾患、神経障害(ニューロパシー)、腎臓障害など、多くの健康上の問題を引き起こす可能性がある。高血糖はまた、糖尿病性ケトアシドーシス(血中グルコースと、体内でグルコースを使用できなくなったときに産生されるケトン体の存在に起因して、体内が過度に酸性になる状態)などの急性の問題を引き起こす可能性がある。血中グルコース値が正常値よりも低い状態は、「低血糖」と呼ばれる。重度の低血糖は、発作又は死に至る急性の危機につながる可能性がある。
糖尿病患者は、血中グルコース値を管理するために、インスリンを受けることができる。インスリンは、例えば、針を用いた手での注射を通じて受けることができる。ウェアラブルインスリンポンプも利用可能である。食事及び運動もまた、血中グルコース値に影響を与える。
糖尿病は、「1型」及び「2型」と称されることもある。1型糖尿病患者は、典型的には、存在する場合、インスリンを使用することができるが、膵臓のインスリン産生β細胞に問題があるため、十分な量のインスリンを体内で産生することができない。2型糖尿病患者は、ある程度のインスリンを産生することができるが、インスリンに対する低減された感受性に起因して、患者は、「インスリン抵抗性」になっている。その結果、体内にインスリンが存在していても、そのインスリンが患者の体内で十分に使用されず、血糖値を効果的には調整しない。
糖尿病の管理は、多くの因子の集合が患者のグルコースレベル及びグルコーストレンドに影響を及ぼし得るため、患者、臨床医、及び介護者に複雑な課題を提示し得る。患者がこの症状をより良好に管理するのを支援するために、様々な健康又は疾患介入ソフトウェアアプリケーション(以下、「アプリケーション」)が様々な提供者によって開発されてきた。糖尿病は、様々なソフトウェアアプリケーションが開発されている症状の一例である。多くの他のアプリケーションが、他の健康関連症状のために開発されている。例えば、これらのアプリケーションは、他の疾患の治療をサポートするための介入アプリケーション、又は活動追跡アプリケーション、及び食事アプリケーションなどの患者の健康を全体的に改善することを助けるアプリケーションを含み得る。
これらの健康アプリケーションは、生物学的パラメータを測定する様々なセンサ、並びに活動及び栄養などの追跡事象と組み合わせて使用され、ユーザの健康状態及び疾患又は健康の増進に関する情報をユーザに提供する。ほとんどの事例では、アプリケーションは、具体的なユーザのセットの使用事例に関する具体的な目標を達成するために、各使用事例のために具体的に設計される。この使用事例固有のアプローチは、アプリケーションがどのように患者の健康関連情報と対話するかを判定するために、異なるルール又は考慮事項が適用されなければならないので、セーフティクリティカル情報に関して特に重要である。これらの規制は、例えば、地理的位置に依存し得るか、又は患者の具体的な人口統計若しくは健康状態に関する能力若しくは仕様に基づき得る。
この背景技術は、後に続く発明の概要及び発明を実施するための形態の簡単な文脈を紹介するために提供されている。この背景技術は、特許請求される主題の範囲を決定する助けとなることも、特許請求される主題を、上に提示された欠点又は問題のうちのいずれか又は全てを解決する実装形態に限定するものとしてみなされることも、意図されていない。
ある特定の態様は、リモートサーバを介してコンピューティングデバイス上で実行される糖尿病介入アプリケーションを構成するための方法を提供し、方法は、糖尿病介入アプリケーションから、リモートサーバによって提供されるアセットに対する要求を受信することであって、要求が、コンピューティングデバイスのユーザに関連付けられたアクセス情報を含み、アクセス情報が、糖尿病介入アプリケーションの機能カスタマイズ情報を含み、かつ糖尿病介入アプリケーションのアカウント管理サービスによって発行される、受信することと、アクセス情報が正当であることを検証することと、アクセス情報が正当であることを検証することに応じて、アクセス情報に含まれる機能カスタマイズ情報に少なくとも部分的に基づいて、糖尿病介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成することと、識別されたアセットのセットを用いて糖尿病介入アプリケーションを構成するために、糖尿病介入アプリケーションに構成情報を送信することと、を含む。
上記の方法において、機能カスタマイズ情報は、コンピューティングデバイスのユーザの地理的位置に関連付けられた位置情報を含む。上記の方法において、生成することは、機能カスタマイズ情報に基づいて、複数のユニフォームリソースロケータ(uniform resource locator、URL)から、糖尿病介入アプリケーションを構成するために使用されるべきURLのセットを識別することを含み、構成情報は、URLのセットを含む。上記の方法において、生成することは、機能カスタマイズ情報に基づいて、複数のアプリケーション機能から、糖尿病介入アプリケーションを構成するためにアクティブ化されるべきアプリケーション機能のセットを識別することを含み、構成情報は、アプリケーション機能のセットがアクティブ化されていることを示す値に設定されたアプリケーション機能のセットに関連付けられた1つ以上のフラグを含む。
上記の方法において、機能カスタマイズ情報は、コンピューティングデバイス上で実行される糖尿病介入アプリケーションのバージョン情報を含む。上記の方法において、機能カスタマイズ情報は、コンピューティングデバイス及びコンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報を含む。上記の方法において、アクセス情報は、機能カスタマイズ情報及びトークン認証情報を含むアクセストークンを含む。上記の方法において、構成情報は、アプリケーション機能に関連付けられたアプリケーションパラメータの、固有のアプリケーション機能設定に対応する値へのマッピングを含む。
ある特定の態様は、リモートサーバを介してコンピューティングデバイス上で実行される糖尿病介入アプリケーションを構成するための別の方法を提供し、方法は、糖尿病介入アプリケーションから、糖尿病介入アプリケーション上でセッションを開始するための要求を受信することであって、要求が、糖尿病介入アプリケーションのユーザに関連付けられたユーザアカウントのユーザ証明書を含む、受信することと、ユーザ証明書がユーザアカウントに対して正当であることを検証することと、ユーザ証明書が正当であることを検証することに基づいて、グローバル構成サービスから糖尿病介入アプリケーションの構成情報を取り出す際に使用するための糖尿病介入アプリケーションのアクセス情報を生成することと、アクセス情報を糖尿病介入アプリケーションに送信することと、を含む。
上記の方法は、コンピューティングデバイスから、糖尿病介入アプリケーションのユーザのユーザアカウントを作成するための登録要求を受信することと、グローバル構成サービスから、登録要求に含まれる情報に基づいて、糖尿病介入アプリケーションの複数のサポートされる領域を識別する情報を取り出すことと、糖尿病介入アプリケーションの複数のサポートされる領域のうちのある領域の識別情報を含む、糖尿病介入アプリケーションのユーザのユーザアカウントを確立することと、を更に含む。
上記の方法において、登録要求は、糖尿病介入アプリケーションのバージョン情報と、コンピューティングデバイス及びコンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報と、を含む。上記の方法において、登録要求に含まれる情報は、糖尿病介入アプリケーション内で使用する言語の識別情報を含む。上記の方法において、糖尿病介入アプリケーションのユーザのユーザアカウントを確立することは、識別された領域が登録要求に含まれるコンピューティングデバイスの現在の地理的位置と不一致であることを判定することと、識別された領域の代わりにコンピューティングデバイスの現在の地理的位置に対応する、複数のサポートされた領域のうちのある領域に基づいて、ユーザアカウントを確立することと、を含む。
上記の方法において、糖尿病介入アプリケーション上でセッションを開始するための要求は、糖尿病介入アプリケーションのバージョン情報を含む。上記の方法は、要求に含まれる糖尿病介入アプリケーションのバージョン情報とアクセス情報に含まれるバージョン情報とを比較することと、要求に含まれるバージョン情報とユーザアカウントに含まれるバージョン情報との比較が、不一致の識別をもたらしたことに基づいて、要求に含まれるバージョン情報に基づいてユーザアカウントを更新することと、を更に含む。
上記の方法において、要求に含まれるバージョン情報に基づいてユーザアカウントを更新することは、ユーザアカウントに含まれるバージョン情報に対応するアプリケーションのバージョンによってサポートされる機能が、要求に含まれるバージョン情報に対応するアプリケーションのバージョンにおいて非推奨であることを判定することと、ユーザアカウントに含まれるバージョン情報に対応するアプリケーションのバージョンに戻るための1つ以上の命令を糖尿病介入アプリケーションに送信することと、を含む。
ある特定の態様は、リモートサーバを介してコンピューティングデバイス上で実行される糖尿病介入アプリケーションを構成するために、コンピューティングデバイスによって使用される更に別の方法を提供し、方法は、認証サービスに、糖尿病介入アプリケーションの機能にアクセスするための要求を送信することであって、要求が、糖尿病介入アプリケーションのユーザについてのユーザ証明書を含む、送信することと、認証サービスから、グローバル構成サービスから糖尿病介入アプリケーションの構成情報を取り出す際に使用する糖尿病介入アプリケーションのアクセス情報を受信することであって、アクセス情報が、糖尿病介入アプリケーションの機能カスタマイズ情報を含む、受信することと、グローバル構成サービスに、構成情報に対する要求を送信することであって、要求が、アクセス情報を含む、送信することと、グローバル構成サービスから構成情報を受信することであって、構成情報が、アクセス情報に含まれる機能カスタマイズ情報に少なくとも部分的に基づいて、糖尿病介入アプリケーションがプロビジョニングされるべきアセットのセットを含む、受信することと、構成情報を用いて糖尿病介入アプリケーションを構成することと、を含む。
上記の方法は、糖尿病介入アプリケーションのユーザのユーザアカウントを作成するための登録要求を認証サービスに送信することと、認証サービスから、登録要求に含まれる情報に基づいて糖尿病介入アプリケーションの複数のサポートされる領域を識別する情報を受信することと、ユーザアカウントを確立するための要求を送信することであって、要求が、糖尿病介入アプリケーションのための複数のサポートされる領域のうちのある領域の識別情報を含む、送信することと、を更に含む。
上記の方法において、登録要求は、糖尿病介入アプリケーションのバージョン情報と、コンピューティングデバイス及びコンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報と、を含む。上記の方法において、登録要求に含まれる情報は、糖尿病介入アプリケーション内で使用する言語の識別情報を含む。上記の方法において、糖尿病介入アプリケーションの機能にアクセスするための要求は、糖尿病介入アプリケーションのバージョン情報を含む。
上記の方法において、アセットのセットは、糖尿病介入アプリケーションを構成するために使用されるべき複数のユニフォームリソースロケータ(URL)を含み、URLは、機能カスタマイズ情報に関連付けられており、構成は、糖尿病介入アプリケーションの機能を構成及び実行するために、複数のURLを使用してアセットにアクセスするように、糖尿病介入アプリケーションを構成することを含む。上記の方法において、機能カスタマイズ情報は、糖尿病介入アプリケーションのユーザの地理的位置に関連付けられた位置情報を含む。
上記の方法において、機能カスタマイズ情報は、コンピューティングデバイス上で実行される糖尿病介入アプリケーションのバージョン情報を含む。上記の方法において、機能カスタマイズ情報は、コンピューティングデバイス及びコンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報を含む。上記の方法において、アセットのセットは、1つ以上の機能フラグを含み、1つ以上の機能フラグは、1つ以上の機能フラグに関連付けられた機能が糖尿病介入アプリケーション内での使用のためにアクティブ化されることを示し、1つ以上の機能フラグは、機能カスタマイズ情報に関連付けられており、糖尿病介入アプリケーションを構成することは、1つ以上の機能フラグに関連付けられた特徴をアクティブ化することと、1つ以上の機能フラグに関連付けられていない機能を無効化することと、を含む。
別の態様は、上記の方法のいずれか1つを遂行するための2つ以上の手段を備える装置である。
別の態様は、装置であり、装置は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されると、装置に上記の方法のいずれか1つを遂行させるコードを記憶するメモリと、を備える。
別の態様は、コンピュータ実行可能コードを記憶する非一時的コンピュータ可読媒体であり、非一時的コンピュータ可読媒体は、上記の方法のうちのいずれか1つを遂行するためのコードを含む。
本明細書に開示されるいくつかの実施形態による、グローバル構成サービス(global configuration service、GCS)及び認証サービスを介して構成されるアプリケーションを含む、例示的なグルコース監視システムを例解する。 本明細書に開示されるいくつかの実施形態による、いくつかのモバイルデバイスとともに、図1Aのグルコース監視システムをより詳細に例解する。 本明細書に開示されるいくつかの実施形態による、GCS及び認証サービスが糖尿病介入アプリケーションを構成するために使用されるシステムの例を例解する。 本明細書に記載されるいくつかの実施形態による、GCSを通じて構成されるアプリケーションためのユーザ証明書を生成するために、糖尿病介入アプリケーション、認証サービス、及びGCSの間で交換されるメッセージを例解する、メッセージ流れ図である。 本明細書に記載されるいくつかの実施形態による、糖尿病介入アプリケーションを構成するために糖尿病介入アプリケーション、認証サービス、及びGCSの間で交換されるメッセージを例解するメッセージ流れ図である。 本明細書に記載されるいくつかの実施形態による、図1A、図1B、又は図2のGCSなどのGCSを通じて構成された糖尿病介入アプリケーションのユーザを認証するために遂行される動作を例解する流れ図である。 本明細書に記載されるいくつかの実施形態による、GCS及び認証サービスを通じてユーザデバイス上で実行される糖尿病介入アプリケーションを開始及び構成するために遂行される動作を例解する流れ図である。 本明細書に開示されるいくつかの実施形態による、図1A、図1B、又は図2のGCSなどのGCSを通じて糖尿病介入アプリケーションを構成するために遂行される動作を例解する流れ図である。 本明細書に開示されるある特定の実施形態による、図5~図7の動作を遂行するように構成されたコンピューティングデバイスを描写するブロック図である。
ある特定の発明的な実施形態の詳細な説明
典型的には、アプリケーション(例えば、モバイルアプリケーション)は、例えば、ユーザに関連する位置情報、コスト考慮事項、デバイス能力などに基づいて、同じアプリケーションの異なるバージョンを配信し得るアプリケーションストアを通じて、患者のデバイス(例えば、モバイルデバイス、例えば、スマートフォン、又はスマートウェアラブルデバイスなどの)上に展開される。位置情報は、ユーザがアプリケーションストアにアクセスしている位置(ユーザの恒常的な位置でない位置もある)、又はユーザの登録位置(例えば、ユーザの恒常的な位置)などを示し得る。
一例として、セーフティクリティカルアプリケーションは、1つ以上の規制当局による規制及び承認の対象となり得る。いくつかの機能は、いくつかの地理的位置での使用について承認されない場合があるので、アプリケーションの異なるバージョンが存在する場合があり、各バージョンは、アプリケーションが展開されている固有の位置について規制当局によって承認された機能のセットを含む。別の例では、コスト考慮事項は、ソフトウェアアプリケーションの複数のバージョンの展開を促し得る。ソフトウェアアプリケーションの1つのバージョンは、ソフトウェアアプリケーションの別のバージョンよりも制限された機能のセットを含み得るが、より低いコストで利用可能にされ得る。異なるエンドユーザコストでアプリケーションの異なるバージョンにおいて異なる機能のセットを実装することによって、ユーザは、異なる機能のセットに対して支払うユーザの能力及び/又は意向に従って、アプリケーションのいくつかのバージョンのうちの1つ、及び対応する機能を選択することが可能であり得る。更に別の例では、アプリケーションの異なるバージョンが、異なる使用事例に対処するために展開され得る。例えば、糖尿病管理アプリケーションでは、アプリケーションが1型糖尿病又は2型糖尿病を治療又は管理するために使用されているかどうか、及びアプリケーションが妊娠中の患者を治療するために使用されているかどうか、などに基づいて、異なる機能が実装され得る。
しかしながら、同じアプリケーションの異なるバージョンを維持及びプロビジョニングすることは、多くの異なる技術的問題及び課題を提示する。例えば、典型的には、アプリケーションは、アプリケーション提供者によって、アプリケーションストアを通じて世界中の異なる位置にいるユーザにプロビジョニングされる。しかしながら、アプリケーションが展開される異なる位置では仕様が異なるため、アプリケーション提供者は、関連する仕様に準拠又は適合するために、アプリケーションデータストア内の同じアプリケーションのための異なるアプリケーションバイナリファイル(「アプリケーションバイナリ」)を維持し、異なる位置内の対応するユーザに異なるアプリケーションバイナリをプロビジョニングし得る。様々な仕様は、位置に基づく仕様及び位置に基づかない仕様を含み得ることに留意されたい。位置に基づく仕様は、規制ガイドライン(例えば、ある位置における規制機関は、ある特定の機能の使用を禁止し得る)、ユーザ選好(例えば、調査に基づいて、ある位置におけるユーザがある特定の機能を嫌い得ることが判定され得る)、アプリケーション提供者によって行われる戦略的決定(例えば、アプリケーション提供者は、ある特定の機能がある位置において提供されるべきであるが、別の位置において提供されるべきでない、又はある位置におけるユーザが有効化するために選択することができるが、別の位置におけるユーザに利用可能ではない、任意選択的な機能として提供されるべきであることを判定し得る)、技術的制限(例えば、ある特定の位置におけるインターネットへの制限されたアクセスのため)などを含み得る。
位置に基づかない仕様は、ユーザの位置以外のユーザ固有の情報に関する仕様を含み得る。例えば、ある特定の機能は、ユーザの位置にかかわらず、サブスクリプションに基づくものであり得る。別の例では、アプリに関連付けられた使用事例又は目標に基づいて、ある特定の機能が適切であり得る。例えば、使用事例は、ユーザの健康状態に関連し得、ある特定の機能は、ある特定の疾患を治療するために適切であり得る一方で、他の機能は、他の疾患に適切であり得る。別の例では、使用事例は、アプリの目標、例えば、疾患管理、健康及びウェルネス、診断、臨床使用事例に関連し得る。更に別の例では、アプリコンテンツは、使用の長さ(例えば、制限された使用、断続的使用、長期使用)、一次ユーザ(例えば、臨床医対患者)、又はアプリを通じて提供される機能及び能力のタイプに影響を及ぼし得る他の使用情報など、アプリの使用の性質に従って変動し得る。ある特定の実装形態では、ある特定の機能は、アプリケーションコスト層、サブスクリプションなどに従って利用可能にされ得る。また更に、ある特定の機能は、ユーザの洗練、選好、入力、又は他のユーザ若しくはホストデータなどの考慮事項に基づいて利用可能にされ得る。
典型的には、各アプリケーションバイナリは、同じアプリケーションの異なる構成に対応し、各構成は、機能、機能設定、及び/又はリソースの一意のセットに対応する。機能、機能設定、及びリソースの一意のセットは、異なるアプリケーションバイナリの各々においてハードコードされる。このことを例で例解すると、アプリケーションの機能Xがユーザに好まれるか、又は位置Aにおける使用が承認されても、位置Bにおいて承認されない場合がある。このような例では、機能Xを含むアプリケーションバイナリAは、位置Aのユーザに提供され、一方、機能Xを有しないアプリケーションバイナリBを除いて、アプリケーションバイナリAと同様又は同一であり得るアプリケーションバイナリBは、位置Bにおけるユーザに提供される。したがって、アプリケーションの異なる構成に関連付けられた異なるアプリケーションバイナリは、異なる位置のユーザへのプロビジョニングのために維持され得る。ユーザのデバイス上でダウンロードされ実行されると、これらの異なるアプリケーションバイナリの各々は、アプリケーションの異なる構成を提供する。一般に、アプリケーション提供者によって維持される各アプリケーションバイナリに対して、開発者がアプリケーションの対応するバージョンを変更又は更新することを可能にするために、対応するコードベースも維持される。コードベースは、アプリケーションを作成するために開発者によって書かれたより高いレベルのコードを含む。
しかしながら、同じアプリケーションの異なる構成のために異なるアプリケーションバイナリ及び対応するコードベースを維持することは、リソース非効率性を含む、主要な技術的欠点を有し得る。第一に、これらのアプリケーションバイナリ及び対応するコードベースは、コンテンツにおいて著しく重複し得る。一例として、アプリケーションのいくつかの共通機能性に関連付けられたコードは、アプリケーションのある特定の異なる構成の全てに対して再使用され得る。結果として、同じアプリケーションの異なる構成のために異なるアプリケーションバイナリ及び対応するコードベースを記憶することは、重複、又は共通コードが複数回記憶されることを意味し、これは記憶非効率である。例えば、いくつかnの位置固有アプリケーションバイナリ(及び対応するコードベース)が与えられると、これらのアプリケーションのために記憶されたコードの総量は、n*commonCodebaseSize+locationSpecificCodebaseSizeであり得る。言い換えれば、これらのn個の位置固有アプリケーションバイナリに対して、コードベースが維持される記憶システム上の浪費された記憶空間の量は、(n-1)*commonCodebaseSizeであり得る。
位置固有バージョンが、ログイン、コア計算及び視覚化機能性、並びに共有されたグラフィックアセットなど、位置に依存しない機能性のためにかなりの量の共通コード及び他のアセットを共有するアプリケーションの場合、これは、アプリケーションを構築及び維持するためにかなりの量の記憶空間及び他の計算リソースが必要とされ得ることを意味し得る。同様に、アプリケーションストアに対して、複数のアプリケーションバイナリを配信のために利用可能にするために必要とされるリソースの量は、複数のアプリケーションバイナリにわたって実装される位置固有の機能性の全てを含むアプリケーションを記憶するために必要とされるであろうリソースの最小量よりも著しく多くなり得る。
加えて、ある特定の共通コードが更新又はデバッグされる必要がある場合、開発者は、その変更をコードベースの各々及び全てに伝搬し、コードベースの各々のアプリケーションバイナリを再コンパイル及び展開しなければならず、これは、計算効率が悪く、アプリケーションのための様々な構成を維持するために遂行される必要がある作業の量を増加させる。更に、共通コードへの変更がコードベースのうちのいくつかのみに伝搬される場合、いくつかのアプリケーションバイナリにエラーが残る可能性があり、又はいくつかのアプリケーションバイナリが古いままで残る可能性がある。アプリケーションバイナリを維持するためのいくつかの失敗は、グラフィカルユーザインターフェースにおける不整合などの軽微な問題をもたらし得る(又は解決できない)が、他の失敗は、より深刻な影響を有し得る。例えば、セキュリティ脆弱性が、いくつかのアプリケーションバイナリにおいて解決されるが、他のアプリケーションバイナリにおいて解決されない場合、セキュリティ脆弱性は、依然として、悪意のある行為者によって悪用されて、機密データを搾取し、実行のために悪意のあるコードを注入し、又は他の不正な活動を遂行する可能性がある。別の例では、外部センサと通信する問題が、いくつかのアプリケーションバイナリにおいて解決されるが、他のアプリケーションバイナリにおいて解決されない場合、アプリケーションのいくらかのユーザは、接続性問題を経験し続ける可能性があり、これは、アプリケーションに、誤ったデータ又は存在しないデータに基づいて誤ったアクションを遂行させ得る。
したがって、本明細書に記載されるある特定の実施形態は、アプリケーションの利用可能な機能、機能設定、及び/又はリソースの単一の統一されたコレクションを展開することによって、上に記載される技術的問題を解決することを対象とする。以下では、アプリケーションの機能、機能設定、及び/又はリソースは、「アセット」と称され得る。アセットの集合は、ある特定の実施形態では、統一されたアプリケーションバイナリとして提供され得る。いくつかの例では、アセットの集合に加えて、グローバル構成サービス(以下、「GCS(global configuration service)」)は、異なる仕様をアセットの集合内の異なるアセットのセットにマッピングするマッピングを維持する。様々な実施形態では、GCSは、マッピングを使用して、ユーザに関連付けられた仕様をアセットの集合内のアセットのある特定のサブセットにマッピングすることによって、ユーザデバイス上にダウンロードされるアプリケーションを構成するための構成情報を生成する。ある特定の実施形態は、構成情報は、次いで、ある特定のアセットのサブセットを用いてユーザデバイス上のアプリケーションを構成するために使用される。本明細書で使用される場合、「機能性」は、ユーザ固有の構成に基づいて有効化又は無効化され得る、アプリケーションにおいて実装される機能を指す。本明細書で使用される場合、「機能設定」は、測定単位、又はユーザインターフェース外観オプションなどを指定する設定など、アプリケーション内の所与の機能の機能性を変更する様々なオプションを指す。本明細書で使用される場合、「リソース」は、コード、グラフィックスファイル、ユニフォームリソースロケータ(URL)オーディオファイル、又はアプリケーション実行中にアプリケーションによって使用され得る他のコンテンツを指す。
例えば、本明細書で更に詳細に考察されるように、ユーザがアプリケーションストアからアプリケーションをダウンロードすることを要求するとき、ユーザに関連付けられた仕様にかかわらず、例えば、統一されたアプリケーションバイナリとして、アセットの単一の集合がユーザのデバイスにダウンロードされる。そのような仕様は、アプリケーションをダウンロード及び実行するためにユーザによって使用されているデバイスのタイプ、ユーザ又はユーザの検体監視システム(例えば、送信機、センサ、モバイルデバイス、受信機など)に関連付けられた製品パッケージ、ユーザによってサブスクライブされた機能のセット、ユーザのタイプ、ユーザ疾患タイプ又は進行、アプリ使用事例、ユーザが位置する領域、又はユーザに提供されるべき機能、機能設定、若しくはアセットを指図し得る他のユーザ特性を含み得る。一例では、アセットの集合が最初にユーザのデバイスにダウンロードされるとき、アプリケーションはまだ、ユーザ固有の仕様に基づいて構成されていない。したがって、アプリケーションは、構成要求をGCSに送信し、それに応じて、GCSは、ユーザに関連付けられたユーザ固有の仕様をアセットの集合内のアセットのセットにマッピングし、マッピングされたアセットのセットを示す構成情報をアプリケーションに送信する。構成情報を使用して、アプリケーションは、アセットの対応するセットでそれ自体を構成する。例えば、アプリケーションは、構成情報によって示されるアセットのセットをアクティブ化し、アプリケーションバイナリ内のアセットの残りを非アクティブ化又は無効化する。一例では、アプリケーションは、構成情報によって指示されるアセットのセット内の機能を用いてそれ自体を自動的に構成し得る。更に、アプリケーションは、構成の一部としてそれらの機能のある特定の設定を自動的に構成し得る。追加的に、アプリケーションは、構成情報に従ってユーザがアクセス可能であるように、リソースを自動的に構成し得る。
ユーザ固有の仕様にかかわらず、単一の統一されたアプリケーションを記憶し、維持し、異なるユーザにプロビジョニングすることは、著しいリソース効率につながる。より具体的には、コードが重複する多くの異なるものとは対照的に、単一のアプリケーションバイナリ及びコードベースが記憶及び維持される場合、大量の記憶リソースが解放され、他の目的のために使用され得る。加えて、多くのアプリケーションバイナリ及びコードベースとは対照的に、単一のアプリケーションバイナリ及び単一のコードベースを更新、コンパイル、及びデバッグするときに、著しく少ないコンピューティングリソースが費やされ得る。更に、単一のコードベースを維持することは、コード更新中にコードにエラーをもたらす可能性、又はアプリケーションの全てではないがいくつかのバージョンにおいて現存するエラーを解決する可能性を低減する。
更に、上で考察されるように、いくつかのアプリケーションは、(例えば、新しい機能がソフトウェアアプリケーションを使用する患者に害を与えないこと、新しい機能がセキュリティ要件又はベストプラクティスに準拠することなどを保証するために)機能が所与の位置においてユーザに利用可能にされる前に規制当局の承認が必要とされる、セーフティクリティカルアプリケーションであり得る。セーフティクリティカルアプリケーションにおける新しい機能は、いくつかの領域において他の領域よりも早く承認され得る。したがって、セーフティクリティカルアプリケーションに新しい機能を展開する際に、開発者は、アプリケーションの異なるバージョンを展開することを選択することができ、新しい機能を含むバージョンは、規制当局の承認が得られた領域に展開され、新しい機能を除くバージョンは、規制当局の承認が得られていない領域に展開される。複数のコードベースがアプリケーションの複数のバージョンのために存在する場合、(例えば、機能が関連する規制当局によって承認されるとき)断片的に新しい機能を追加することによって、追加の複雑さがもたらされ得る。
アプリケーションの複数のバージョンの利用可能性はまた、インストール及び使用するための適切なアプリケーションのユーザ選択を同様に複雑にし得る。例えば、アプリケーションの異なるバージョンは、アプリケーションリポジトリ内の同じ(又は類似の)アプリケーションアイコン及びサムネイルを使用し得、同じ(又は類似の)パッケージ名を有し得る。これは、アプリケーションの適切なバージョンを選択する際に、ユーザの混乱、つまり、ユーザにとって不適切なアプリケーションのバージョンのユーザ選択(ユーザはアプリケーションを使用しようとするまでこれを発見できない)、及び1つ以上のユーザデバイスと互換性のないアプリケーションのバージョンのユーザ選択などにつながる可能性がある。
本明細書に記載される実施形態による、GCSによって維持、プロビジョニング、及び構成され得るアプリケーションの一例は、糖尿病介入アプリケーションである。一例では、本明細書に記載されるように、糖尿病介入アプリケーションは、糖尿病の管理において患者、介護者、健康管理提供者、又は他のユーザを支援し得るガイダンスを配信する。したがって、アプリケーションのある特定の態様は、例として糖尿病介入アプリケーションに関して本明細書に記載されるが、本明細書に記載される技法は、健康関連情報又は健康関連ガイダンスをユーザに提供するアプリケーションを含む他の好適なタイプのアプリケーションにも適用可能であることに留意すべきである。本明細書に記載されるものなどの糖尿病介入アプリケーションは、夜間グルコース制御(例えば、低血糖事象又は高血糖逸脱の発生率を低減する)、食事中及び食後のグルコース制御(例えば、履歴情報及び血糖管理を増加させるトレンドを使用する)、高血糖補正(例えば、過剰補正による低血糖事象を回避しながら、標的ゾーン内の時間を増加させる)、低血糖治療(例えば、「リバウンド」高血糖を回避しながら、低血糖に対処する)、運動、及び/又は他の健康因子などの様々な課題を満たすことによって、生活様式又は臨床/患者転帰に関するガイダンスを配信し得る。ある特定の実施形態では、アプリケーションは、患者の生理機能及び行動を学習し、基礎インスリン要件、インスリン対炭水化物比、補正因子、及び/又は運動に起因するインスリン感受性の変更などの最適な又は望ましい治療パラメータを、患者が識別することを助けるためのガイダンスを計算する、最適化ツールを伴って更に構成され得る。
ある特定の実施形態では、関連する効果的なガイダンスを提供するために、アプリケーションは、1つ以上の検体センサなどの1つ以上の生理学的センサからの入力を利用する。本明細書に記載される検体センサの例は、ユーザの体内のグルコース及び/又は別の検体の濃度又は存在を示すグルコース及び/又は物質の濃度を測定するグルコース監視センサである。いくつかの実施形態では、グルコース監視センサは、連続的血糖監視システムデバイス、例えば、皮下、経皮、経眼、及び/又は脈管内(例えば、静脈内)デバイスである。グルコース監視センサは、酵素、化学、物理、電気化学、光学、光化学、蛍光ベース、分光光度、分光(例えば、光吸収分光法、ラマン分光法など)、偏光分析、熱量測定、イオン導入、及び放射測定などを含む、グルコース測定の任意の方法を使用することができる。
グルコース監視センサは、寄主内の検体の濃度を示すデータストリームを提供するために、侵襲的、低侵襲的、及び非侵襲的検知技法を含む任意の方法を使用することができる。データストリームは、典型的には、センサを使用している可能性がある患者又は健康管理専門家(HCP、例えば、医師、内科医、看護師、介護者)などの有用な検体の値を提供するために使用される生データ信号のストリームを含む。
いくつかの実施形態では、グルコース監視センサは、米国特許第6,001,067号及び米国特許公開第US-2011-0027127-A1号を参照して説明されるような埋め込み型センサである。いくつかの実施形態では、グルコース監視センサは、米国特許出願公開第2006-0020187-A1号を参照して説明されるような経皮センサである。いくつかの実施形態では、グルコース監視センサは、米国特許公開第US-2009-0137887-A1号を参照して説明されるような二重電極検体センサである。いくつかの実施形態では、グルコース監視センサは、米国特許公開第US-2007-0027385-A1号に記載されているセンサのように、宿主血管又は体外に埋め込まれるように構成される。これらの特許及び出版物は、それらの全体が参照により本明細書に組み込まれる。
以下の説明及び実施例の多くは、糖尿病介入アプリケーションに関連して説明されるが、本明細書に記載される実施形態のシステム及び方法は、ユーザの健康を改善するためにユーザに提供される任意の健康関連アプリケーションと併せて使用され得る。例えば、健康関連アプリケーションは、ユーザがある特定の疾患を治療するのを助けるか、又は必ずしも疾患と診断されていないユーザの健康を改善するのを助けることができる。
例示的なシステム
図1Aは、アプリケーション106を維持、プロビジョニング、及び構成するための例示的なシステム100を例解し、これは、ユーザ102(以下「ユーザ」)の症状を監視し、ユーザに意思決定サポートガイダンスを提供し、及び/又はユーザのための1つ以上の治療の投与を判定又は指示する。ユーザは、ある特定の実施形態では、患者又は患者の介護者、健康管理提供者、又は患者の健康パラメータを監視する他のエンティティであり得る。本明細書に記載される実施形態では、ユーザは、単に簡略化のために患者であると仮定されるが、そのように限定されるものではない。システム100は、グルコース監視システム104と、アプリケーション106を実行するモバイルデバイス107と、意思決定サポートエンジン112と、ユーザデータベース110と、認証サービス130と、GCS140と、構成データストア150と、を含む。
ある特定の実施形態では、グルコース監視システム104は、センサ電子機器モジュールと、血中グルコースの濃度及び/又はユーザの身体内のグルコース及び/又は別の検体の濃度若しくは存在を示す物質を測定するグルコースセンサと、を含む。ある特定の実施形態では、グルコースセンサは、連続的に測定を遂行するように構成される。センサ電子機器モジュールは、アプリケーション106による使用のために、血中グルコース測定値をモバイルデバイス107に送信する。いくつかの実施形態では、センサ電子機器モジュールは、無線接続(例えば、Bluetooth接続)を通じて、グルコース測定値をモバイルデバイス107に送信する。ある特定の実施形態では、モバイルデバイス107はスマートフォンである。しかしながら、ある特定の実施形態では、モバイルデバイス107は、代わりに、ラップトップコンピュータ、スマートウォッチ、タブレット、又はアプリケーション106を実行することが可能な任意の他のコンピューティングデバイスなど、任意の他のタイプのコンピューティングデバイスであり得る。
システム100はグルコース監視システム104を例解しているが、本明細書に記載される実施形態は、例えば、患者を監視及び/又は治療するためにシステム100の一部として使用され得る任意の他のタイプの生理学的監視システムに同様に適用可能であることを認識すべきである。例示的な生理学的監視システムは、電気的又は光学的心拍数監視システム、パルス酸素濃度計、温度モニタ、血圧モニタ、水分モニタ、様々な検体センサ(例えば、乳酸センサ、ケトンセンサなど)などを含み得る。更に、グルコース監視システム104又は他の生理学的監視システムは、そのようなシステムに入力を提供する1つ以上のセンサを含み得ることを認識すべきである。
ある特定の実施形態では、意思決定サポートエンジン112は、1つ以上のソフトウェアモジュールを有するソフトウェア命令のセットを参照する。いくつかの実施形態では、意思決定サポートエンジン112は、プライベート又はパブリッククラウド内の1つ以上のコンピューティングデバイス上で完全に実行される。そのような実施形態では、アプリケーション106は、ネットワーク(例えば、インターネット)を介して意思決定サポートエンジン112と通信する。いくつかの他の実施形態では、意思決定サポートエンジン112は、モバイルデバイス107などの1つ以上のローカルデバイス上で部分的に実行され、プライベート又はパブリッククラウド内の1つ以上のコンピューティングデバイス上で部分的に実行される。いくつかの他の実施形態では、意思決定サポートエンジン112は、モバイルデバイス107などの1つ以上のローカルデバイス上で完全に実行される。
ある特定の実施形態では、意思決定サポートエンジン112は、アプリケーション106から受信された入力のセットを処理し、複数の指標128を計算するように構成され、その後、複数の指標は、ユーザプロファイル116に記憶され得る。入力127及び指標128は、リアルタイムガイダンス及び治療をユーザに提供するために、アプリケーション106の異なる機能などによって、アプリケーション106によって使用され得る。ユーザプロファイル116の様々なデータポイントは、以下で更に詳細に説明される。ある特定の実施形態では、ユーザプロファイル116を含むユーザプロファイルは、1つ以上のネットワーク(図示せず)を介してアプリケーション106並びに意思決定サポートエンジン112にアクセス可能である、ユーザデータベース110に記憶される。ユーザデータベース110は、いくつかの実施形態では、パブリック又はプライベートクラウドで動作し得る記憶サーバを指す。
ユーザに提供されるリアルタイムガイダンス及び治療は、ユーザの生理学的状態を改善するのに役立ち、及び/又はユーザがより多くの情報に基づいた意思決定を行うことを有効化する。ある特定の実施形態では、効果的で、関連性があり、時間通りのガイダンス及び治療をユーザに提供するために、アプリケーション106の機能は、ユーザプロファイル116に記憶されるユーザに関する情報、及び/又はユーザデータベース110内のそのようなユーザのユーザプロファイルに記憶される類似ユーザのプールに関する情報を入力として採用し得る。ある特定の実施形態では、アプリケーション106の機能は、テキスト、電子メール、通知(例えば、プッシュ通知)、電話、及び/又はアプリケーション106のユーザインターフェース上にコンテンツ(例えば、グラフ、トレンド、チャートなど)を表示するなどの他の形態の通信などの様々な方法を通じて、ユーザと対話し得る。
図1Aに示されるように、アプリケーション106は、論理的にアプリケーション構成108として表される、ある特定の構成で一意に構成される。アプリケーション構成108は、アクティブであり、アプリケーション106のユーザによる使用のために利用可能である機能109及びリソース111のセットに対応する。ある特定の実施形態では、機能109の各々は、ユーザ102の症状を監視し、ユーザに意思決定サポートガイダンスを提供し、かつ/又はユーザのための1つ以上の治療を判定/投与するように構成される。示されるように、機能(例えば、機能1及び2)はまた、機能の動作を定義する設定も備え得る。ある特定の実施形態では、機能の設定を変更することは、機能がガイダンスを提供し、ユーザと対話する方法など、機能が動作する方法を変更することをもたらし得る。例えば、機能の設定を変更することは、とりわけ、情報を計算し、ユーザに表示するための機能の測定単位(例えば、ポンド対キロ)を変更することをもたらし得る。リソース111はまた、リモートリソース及び他のタイプのリソースを指し示すユニフォームリソースロケータ(URL)を含み得る。
機能109及びリソース111は、アセットのより大きなセットのサブセットを表す。アセットのより大きいセットは、アプリケーション106のバイナリファイルに含まれる、及び/又はGCS140を通じてプロビジョニングされる、全ての機能、機能設定、及び/又はリソースを表す。図1Aの例では、(アセットのより大きなセットの)残りのアセットは、アプリケーション106に対して非アクティブ化される(例えば、構成されない)。言い換えれば、アプリケーション106のユーザは、アプリケーション106の残りのアセットにアクセスするか又はこれらを使用することができない。このリストに限定されないが、いくつかの例示的な機能は、客観的設定及び識別機能、報酬機能、報告機能、行動介入機能、運動管理機能、投薬リマインダ機能、血糖影響推定器機能、教育機能、オンボード機能、アプリケーションロギング機能などのうちの1つ以上を含み得る。
以下に更に詳細に記載されるように、アプリケーション106は、アプリケーション106がユーザによってモバイルデバイス107上にダウンロードされた後、GCS140から受信された(及び構成データストア150から取り出された)構成情報に基づいて、アプリケーション構成108を用いて構成される。概して、アプリケーション106は、非開始状態(例えば、ユーザがアプリケーション106のアプリケーションバイナリをダウンロードした後の最初の起動時、セッションがタイムアウトした後など)から開始し得る。この非開始状態から、アプリケーション106は、アプリケーション106のユーザにログイン画面を提示し得る。ユーザがアプリケーション106内の機能を使用し、これらにアクセスすることを可能にするアカウント証明書をユーザが有する場合、ユーザは、ユーザを認証し、アプリケーション内のアクティブセッションを開始するために、それらの証明書をログイン画面に入力し、証明書を認証サービス130に提出し得る。そうでない場合、以下で更に詳細に考察されるように、ユーザは、認証サービス130が、アプリケーション106を使用することを可能にする資格証明をユーザが作成することを要求することができる。
認証サービス130は、概して、ユーザ識別情報を使用してユーザを認証又は検証し、アプリケーション106がGCS140から構成情報を取得するために使用することができるアクセス情報をアプリケーション106に提供する。いくつかの実施例では、認証サービス130は、アプリケーション106のログイン画面を通してユーザによって提供されるユーザ証明書(例えば、ユーザID及びパスワード/パスキー)を検証し、ユーザ証明書がアクティブアカウントに属するものとして検証される場合、認証サービス130は、GCS140を通じてアプリケーション106を構成するために使用するために、アプリケーション106のためのアクセス情報を生成して返す。概して、認証サービス130によって生成されるアクセス情報は、ユーザ識別関連情報(例えば、暗号ハッシュ、又はマジックナンバーなどの、ユーザが認証サービス130によって認証されたことを示す情報)及び機能カスタマイズ情報を含む。いくつかの態様では、認証サービス130によって返されたアクセス情報は、アクセストークンを含むか、又はアクセストークンとして構造化され得る。
機能カスタマイズ情報は、ユーザ仕様を示し得、例えば、アプリケーション106のバージョン情報、ユーザの位置情報(ユーザの位置のユーザ仕様に基づいて、又はモバイルデバイス107からの位置取得情報に基づいて判定され得る)、ユーザ又はユーザ疾患のタイプ、モバイルデバイス107の動作環境情報、モバイルデバイス107のタイプ、ユーザサブスクリプション層、アプリケーション106及び/又はグルコース監視システム104に関する情報、ユーザに関連付けられた様々なデバイス及び/又はセンサコード、並びにユーザを一意に識別し、ユーザに適したアプリケーション構成108を識別するのを助けるために使用され得る他の情報を含み得る。アクセス情報がアクセストークンの形態で受信されるいくつかの態様では、アクセストークンはまた、トークンが真正である(例えば、認証サービス130によって正当に生成され、偽者サービスによって生成されていないこと)ことを検証するために使用され得る情報を含み得る。例えば、アクセストークンは、正当期間を含み得、有効期間後、アプリケーション106は、アプリケーション106、又はトークンを認証するために使用される暗号情報などを使用し続けるために、ユーザ102が認証サービス130で再認証することを要求し得る。
認証サービス130からアクセス情報を受信した後、アプリケーション106は、GCS140からアプリケーション106のユーザのためのアプリケーション構成108を要求し得る。一般に、構成情報の要求は、認証サービス130から受信されたアクセス情報(例えば、アクセストークン)を含む。GCS140は、アクセストークンが正当であるかどうかを判定することができる。アクセス情報が正当であると判定された場合、GCS140は、アプリケーション106が機能カスタマイズ情報に基づいてユーザのために有効化されるアセットを用いて構成され得るように、アプリケーション106のための構成情報を生成して送信することができる。構成情報は、例えば、アプリケーション106の様々な機能及び/若しくは機能設定に対応するフラグ、又はリソース識別子(例えば、アクティブ化された機能を実装するリモートリソースを指すユニフォームリソースロケータ(URL))などを含み得る。構成情報は、例えば、構成データストア150に記憶された構成ルール及び他の情報に基づいて、GCS140によって生成され得る。これらの構成ルールは、先にマッピングと称されたものであり、ユーザに関連付けられた機能カスタマイズ情報をアセットのセット(すなわち、アプリケーション106の様々な機能及び/又は機能設定、リソース識別子など)にマッピングする。言い換えれば、GCS140は、構成ルールを使用して、ユーザに関連付けられた機能カスタマイズ情報をアセットのセットにマッピングし、次いで、マッピングされたアセットのセットを示す構成情報を生成する。
アプリケーション106は、次いで、受信された構成情報を使用して、様々な機能及び/又は機能設定をアクティブ化し、アプリケーション構成情報内で識別されるリモートリソースを指し示すことによって、アプリケーションを構成する。次いで、アプリケーション106は、ユーザの血中グルコース測定値を監視し、ユーザの血中グルコース測定値に応じて様々なアクションを取るために、グルコース監視システム104及び/又は他のリソース(例えば、モバイルデバイス107内の又はそれに接続された加速度計又は位置情報デバイス、モバイルデバイス107からのデータ入力など)からデータを取得するために使用する準備が整われ得る。
いくつかの実施例では、ユーザがアプリケーション106を使用することを可能にする証明書をユーザが有していない場合、アプリケーション106は、認証サービス130によって提供される証明書作成ワークフローにユーザを指示する。認証サービス130は、ユーザが連絡先情報及びユーザに関連付けられた位置を識別する情報を提供することを要求し得、この情報は、手動で入力されるか、又はモバイルデバイス107に統合された、若しくは別様に接続された位置情報デバイス(例えば、NAVSTAR GPS、GLONASS、若しくはGALILEOなどの衛星測位システム、IPアドレス位置取得など)に基づいて判定され得る。認証サービス130は、次いで、ユーザの連絡先情報を認証し、認証に応じて、ユーザのためのアカウント証明書を生成するプロセスを継続し得る。
ユーザのアカウント証明書を生成する際に、認証サービス130は、GCS140(又は構成データストア150など、それに関連付けられたデータストア)からサポートされる位置のリストを取得し、サポートされる位置のリストを選択のためにユーザに表示し得る。いくつかの態様では、認証サービス130は、(上で考察されるように)ユーザに関連付けられた位置を識別するユーザ提供情報に基づいて、又は1つ以上の位置情報若しくはモバイルデバイス107内の若しくはモバイルデバイス107に接続された識別デバイス若しくはサービスに基づいて判定されたモバイルデバイス107の位置に基づいて、サポートされた位置のリストから位置を自動的に選択し得る。しかしながら、自動的に選択された位置は、サポートされている位置のうちの別の位置をユーザが選択することによって無効化され得る。いくつかの態様では、認証サービス130は、ユーザのモバイルデバイス107の判定された位置が、ユーザ提供位置情報と不一致であると判定し得る。そのような事例では、認証サービス130は、ユーザが提供した位置情報をユーザのモバイルデバイス107の判定された位置で無効化し、ユーザのモバイルデバイス107の判定された位置に基づいてユーザアカウントの確立を進めることができる。適切な証明書(例えば、ユーザ名、パスワード、位置、及び認証サービス130によって要求され得る他の情報)を作成した後、認証サービス130は、ユーザのための作成された証明書を含むアカウントを作成し、上で考察されるように、ユーザのアプリケーションを構成するためにアプリケーション106によって使用されるべきアクセストークンを生成することができる。
考察されるように、GCS140は、概して、アプリケーション106を構成するための要求を受信し、受信された要求に含まれるアクセストークンなどのアクセス情報に基づいて生成された構成情報を要求側デバイスに提供するように構成される。アプリケーション106からアクセス情報を受信すると、GCS140は、アクセス情報を検証しようと試みることができる。いくつかの態様では、アクセス情報は、認証サービス130及びGCS140に知られている暗号鍵を使用して暗号化され得る。したがって、GCS140がアクセス情報を解読することができない(例えば、トークンを解読しようと試みた後に無意味な情報を復元する)場合、GCS140は、アクセス情報が不当であると判定することができ、アプリケーション106の構成は終了され得る。別の態様では、アクセス情報は、GCS140がアクセス情報を認証するために使用することができる正当性識別子を含み得る。正当性識別子は、GCS140がアクセス情報中の他の情報から導出することができるデータであり得るか、又はGCS140が認証サービス130からアクセス情報の検証を要求するために使用することができる情報であり得る。しかしながら、アクセス情報の正当性を判定し、それに対応して、アプリケーション106がユーザのために構成され得るかどうかを判定するために、様々な技法が使用され得ることに留意されるべきである。
受信されたアクセス情報が実際に正当であるとGCS140が判定した場合、構成サービスは、受信されたアクセス情報を使用して、アプリケーション106を構成する際に使用するための構成情報を生成することができる。例えば、GCS140は、位置情報(例えば、ユーザに関連付けられた位置情報)、構成要求が受信されたアプリケーション106のバージョン情報、アプリケーション106が使用されている動作環境に関する情報(例えば、アプリケーション106によって分析されるデータを生成するために使用されているセンサに関する情報、アプリケーション106が使用されているモバイルデバイス107のオペレーティングシステム、モバイルデバイス107のタイプなど)、及び/又は他の情報など、受信されたアクセス情報に含まれる機能カスタマイズ情報の一部又は全部を使用して、ユーザのためにアクティブ化及び/又は非アクティブ化するための構成オプションを識別することができる。構成情報は、アプリケーション106内の機能及び/又は機能設定に対応するどのフラグをアクティブ化又は非アクティブ化するかを識別するフラグ設定と、アプリケーション106が使用することができるリモートリソースの位置を識別する情報と、アプリケーション106の動作を構成する他の情報と、を含み得る。
いくつかの態様では、GCS140は、アクセス情報に含まれるバージョン情報、及び構成要求が受信されたアプリケーション106のバージョン情報を使用して、ユーザのアカウントに関して様々なアクションを遂行することができる。例えば、アクセス情報に含まれるバージョン情報とアプリケーション106のバージョン情報との間に不一致があるとGCS140が判定した場合、GCS140は、ユーザがアプリケーション106の新しい(又は異なる)バージョンを使用していることを反映するようにユーザアカウントを更新することができる。別の例では、GCS140は、アクセス情報に含まれるバージョン情報及びアプリケーション106のバージョン情報を使用して、アクセストークンにおいて指定されたアプリケーション106のバージョンの機能が、構成要求が受信されたアプリケーション106のバージョンにおいて非推奨であるかどうかを判定することができる。構成要求が受信されたアプリケーション106のバージョンにおいて機能が非推奨である場合、GCS140は、アプリケーション106に、機能が非推奨でないアプリケーションの以前のバージョンに戻るための命令を送信することができる。例えば、GCS140は、アクセストークン内で識別されたアプリケーションのバージョンに戻るようにアプリケーション106に命令することができる。
上に記載されるように、ある特定の実施形態では、アプリケーション106は、ユーザに関する情報を入力として受け取り、その情報をユーザのユーザプロファイル116に記憶するように構成される。例えば、アプリケーション106は、ユーザの人口統計情報118、疾患進行情報120、及び/又は薬剤情報122を取得し、ユーザプロファイル116に記録し得る。ある特定の実施形態では、人口統計情報118は、ユーザの年齢、BMI(体格指数)、民族性、性別などのうちの1つ以上を含み得る。ある特定の実施形態では、疾患進行情報120は、ユーザが1型、2型、若しくは前糖尿病であるかどうか、又はユーザが妊娠糖尿病を有するかどうかなどのユーザの疾患に関する情報を含み得る。ある特定の実施形態では、ユーザの病気に関する情報はまた、診断からの時間の長さ、糖尿病管理のレベル、糖尿病管理療法の遵守のレベル、予測される膵機能、及び/又は他のタイプの診断(例えば、心疾患、肥満)、若しくは健康の尺度(例えば、心拍数、運動、ストレス、睡眠など)などを含み得る。ある特定の実施形態では、薬剤情報122は、ユーザによって服用されたインスリン又は非インスリン糖尿病薬剤及び/又は非糖尿病薬剤の量及びタイプに関する情報を含み得る。
ある特定の実施形態では、アプリケーション106は、人口統計情報118、疾患進行情報120、及び/又は薬剤情報122を、ユーザ入力の形態でユーザから、又は他のソースから取得し得る。ある特定の実施形態では、この情報の一部が変更されると、アプリケーション106は、ユーザ又は他のソースから更新を受信し得る。ある特定の実施形態では、ユーザプロファイル116を含むユーザプロファイルは、1つ以上のネットワーク(図示せず)を介してアプリケーション106並びに意思決定サポートエンジン112にアクセス可能である、ユーザデータベース110に記憶される。ユーザデータベース110は、いくつかの実施形態では、パブリック又はプライベートクラウドで動作し得る記憶サーバを指す。
ある特定の実施形態では、ユーザの人口統計情報118、疾患進行情報120、疾患タイプ、及び/又は薬剤情報122に加えて、アプリケーション106は、ユーザに出力を提供するために機能109によっても利用される入力127の追加のセットを取得する。ある特定の実施形態では、そのような入力127は、連続ベースで取得される。ある特定の実施形態では、アプリケーション108は、ユーザ入力、並びに/又はグルコース監視システム104、モバイルデバイス107上で実行される他のアプリケーション、及び/若しくは1つ以上の他のセンサ及びデバイスを含む複数の他のソースを通じて入力127を受信する。これらの入力は、例えば、デバイス識別情報(例えば、固有のデバイスモデルにマッピングすることができるシリアル番号)、センサ識別情報、接続されたデバイス又はセンサのファームウェアバージョン情報などを含み得る。ある特定の実施形態では、そのようなセンサ及びデバイスは、インスリンポンプ、他のタイプの検体センサ、モバイルデバイス107によって提供されるセンサ若しくはデバイス(例えば、加速度計、カメラ、全地球測位システム(global positioning system、GPS)、心拍数モニタなど)、又は他のユーザアクセサリ(例えば、スマートウォッチ)、あるいはユーザに関する関連情報を提供する任意の他のセンサ若しくはデバイスのうちの1つ以上を含むが、これらに限定されない。
ある特定の実施形態では、アプリケーション106は更に、入力127の少なくとも一部を使用して、行動指標又は転帰指標などの複数の指標128を取得する。図2に関連して更に説明されるように、いくつかの実施形態では、アプリケーション106は、入力127の少なくとも一部を処理のために意思決定サポートエンジン112に送信し、それに基づいて、意思決定サポートエンジン112は複数の指標を生成する。ある特定の実施形態では、指標128は、次いで、ユーザに出力を提供するために、機能109への入力としてアプリケーション106によって使用され得る。ある特定の実施形態では、指標128はユーザプロファイル116にも記憶され、これは将来の分析のために記憶され得、アプリケーション構成108を適合させるために使用され得、以下同様である。
ある特定の実施形態では、指標128は、アプリケーションに関するユーザの行動又は対話、疾患の治療に関するユーザの行動、健康関連行動などのうちの1つ以上など、ユーザの行動及び習慣を示し得る行動データを含み得る。行動指標は、リアルタイム指標、過去の指標、及び/又はトレンドを含み得る。結果指標は、いくつかの事例のリースでは、概して、ユーザの健康又は状態、例えば、ユーザの生理学的又は心理学的状態(例えば、ストレスレベル、幸福など)、ユーザの健康又は状態に関連付けられたトレンド、ユーザの健康又は状態に基づくユーザが自身の目的を満たすまでの距離などのうちの1つ以上を示し得る。ある特定の実施形態では、転帰指標は、行動指標と直接相関され得、転帰指標は、ユーザの行動又は行動パターンの結果であり得ることを意味する。転帰指標の例は、代謝率、グルコースレベル及びトレンド、ユーザの健康又は病気などに関連付けられた指標のうちの1つ以上を含む。ある特定の実施形態では、転帰指標は、リアルタイムの指標、過去の指標、及び/又はトレンドを含み得る。
図1Bは、グルコース監視システム104をより詳細に例解する。図1Bはまた、いくつかのモバイルデバイス107a、107b、107c、及び107dを例解する。図1Aのモバイルデバイス107は、モバイルデバイス107a、107b、107c、又は107dのうちのいずれか1つであり得ることに留意されたい。言い換えれば、モバイルデバイス107a、107b、107c、又は107dのうちのいずれか1つは、アプリケーション106を実行するように構成され得る。グルコース監視システム104は、モバイルデバイス107a、107b、107c、及び/又は107dに通信可能に結合され得る。
概要及び例として、グルコース監視システム104は、カプセル化マイクロコントローラとして実装され得、カプセル化マイクロコントローラは、センサ測定を行い、検体データを生成し(例えば、連続的血糖モニタリングシステムデータの値を計算することによって)、無線通信に関与して(例えば、Bluetooth及び/又は他の無線プロトコルを介して)、そのようなデータをモバイルデバイス107a、107b、107c、及び/又は107dなどのリモートデバイスに送信する。米国特許出願公開第2019/0336053号の段落[0137]~[0140]並びに図3A、図3B、及び図4は、ある特定の実施形態において、グルコース監視システム104に関連して使用され得る皮膚上センサアセンブリを更に記載している。米国特許出願公開第2019/0336053号の段落[0137]~[0140]並びに図3A、図3B、及び図4は、参照により本明細書に組み込まれる。
ある特定の実施形態では、グルコース監視システム104は、検体センサ電子機器モジュール138と、検体センサ電子機器モジュール138に関連付けられたグルコースセンサ139と、を含む。ある特定の実施形態では、検体センサ電子機器モジュール138は、検体センサデータ/情報の処理及び/又は較正に関連するアルゴリズムを含む、検体センサデータ又は情報の測定及び処理に関連する電子回路を含む。検体センサ電子機器モジュール138は、グルコースセンサ139に物理的/機械的に接続され得、グルコースセンサ139と一体化され得る(すなわち、解放不可能に取り付けられる)か、又は解放可能に取り付けることが可能であり得る。
検体センサ電子機器モジュール138はまた、構成要素が互いに電気機械的に結合され得るように、グルコースセンサ139に電気的に結合され得る。検体センサ電子機器モジュール138は、グルコースセンサ139(例えば、グルコースセンサであり得る/グルコースセンサを含み得る)を介して、ユーザ内の検体のレベルの測定及び/又は推定を有効化する、ハードウェア、ファームウェア、及び/又はソフトウェアを含み得る。例えば、検体センサ電子機器モジュール138は、1つ以上の定電位器と、グルコースセンサ139に電力を提供するための電源と、信号処理及びデータ記憶に有用な他の構成要素と、センサ電子機器モジュールから1つ以上の表示デバイスにデータを送信するための遠隔測定モジュールと、を含み得る。電子機器は、グルコース監視システム104内のプリント回路基板(PCB)又はプラットフォームなどに取り付けることができ、様々な形態を採ることができる。例えば、電子機器は、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)などの集積回路(integrated circuit、IC)、マイクロコントローラ、プロセッサ、及び/又はステートマシンの形態を採ることができる。
検体センサ電子機器モジュール138は、センサデータなどのセンサ情報を処理し、変換されたセンサデータ及び表示可能なセンサ情報を生成するように構成されたセンサ電子機器を含み得る。センサ検体データを処理するためのシステム及び方法の例は、本明細書において、かつ米国特許第7,310,544号及び第6,931,327号、並びに米国特許公開第2005/0043598号、同第2007/0032706号、同第2007/0016381号、同第2008/0033254号、同第2005/0203360号、同第2005/0154271号、同第2005/0192557号、同第2006/0222566号、同第2007/0203966号、及び同第2007/0208245号においてより詳細に説明されており、それらの全ては、参照することによってそれらの全体として本明細書に組み込まれる。
グルコースセンサ139は、ユーザ102内の検体の濃度又はレベルを測定するように構成されている。検体という用語は、米国特許出願公開第2019/0336053号の段落[0117]によって、更に定義される。米国特許出願公開第2019/0336053号の段落[0117]は、参照により本明細書に組み込まれる。いくつかの実施形態では、グルコースセンサ139は、皮下、経皮(例えば、経皮性)、又は血管内デバイスなどの連続グルコースセンサを含む。いくつかの実施形態では、グルコースセンサ139は、複数の断続的な生体サンプルを分析することができる。グルコースセンサ139は、酵素法、化学法、物理法、電気化学法、分光光度法、偏光測定法、熱量測定法、イオン導入法、放射測定法、免疫化学法など、任意のグルコース測定法を使用することができる。連続グルコースセンサに関する追加の詳細は、米国特許出願第13/827,577号の段落[0072]~[0076]に提供される。米国特許出願第13/827,577号の段落[0072]~[0076]は、参照により本明細書に組み込まれる。
図1Bを更に参照すると、モバイルデバイス107a、107b、107c、及び/又は107dは、センサ電子機器モジュール138によって送信され得る表示可能なセンサ情報を(例えば、それぞれの選好に基づいて表示デバイスに送信されるカスタマイズされたデータパッケージにおいて)表示する(及び/又は警告する)ように構成され得る。モバイルデバイス107a、107b、107c、及び/又は107dの各々は、ディスプレイ、例えば、センサ情報及び/若しくは検体データをユーザ102に提示し、かつ/又はユーザ102から入力を受信するためのアプリケーション106のグラフィカルユーザインターフェースを表示するための、タッチスクリーンディスプレイ109a、109b、109c、及び/又は109dをそれぞれ含み得る。ある特定の実施形態では、モバイルデバイスは、センサ情報をモバイルデバイスのユーザ102に通信するための、及び/又はユーザ入力を受信するためのタッチスクリーンディスプレイの代わりに、又はそれに加えて、音声ユーザインターフェースなどの他のタイプのユーザインターフェースを含み得る。ある特定の実施形態では、モバイルデバイス107a、107b、107c、及び/又は107dのうちの1つ、いくつか、又は全ては、センサデータの較正及び/又はリアルタイム表示のために要求される任意の追加の予期される処理を伴わずに、センサ電子機器モジュール138から通信される際に(例えば、それぞれの表示デバイスに送信されるデータパッケージ内で)、センサ情報を表示又は別様に通信するように構成され得る。
図1Bに描写される複数のモバイルデバイス107a、107b、107c、及び/又は107dは、カスタム又は独自の表示デバイス、例えば、センサ電子機器モジュール138から受信された検体データに関連付けられたある特定のタイプの表示可能なセンサ情報(例えば、特定の実施形態では、数値及び/又は矢印)を表示するために特に設計された検体表示デバイス107bを含み得る。ある特定の実施形態では、複数のモバイルデバイス107a、107b、107c、及び/又は107dのうちの1つは、スマートフォン、例えば、Android、iOS、又は連続センサデータ(例えば、現在及び/又は履歴データを含む)のグラフィカル表現を表示するように構成される別のオペレーティングシステムに基づくモバイルフォン107cを含む。
図2は、本明細書に開示されるいくつかの実施形態による、アプリケーション106(例えば、糖尿病介入アプリケーション)を構成するためにGCS140及び認証サービス130が使用されるコンピューティングシステム200の例を例解する。例解されるように、コンピューティングシステム200は、モバイルデバイス107と、認証サービス130と、GCS140と、構成データストア150と、を含む。
認証サービス130は、概して、アプリケーション106のユーザがアプリケーション106を使用するための証明書を作成し、アプリケーション106へのアクセスを要求することができるサービスを表す。例解されるように、認証サービス130は、アカウント生成器212と、証明書検査器214と、を含む。
アカウント生成器212は、アプリケーション106から受信したユーザのアカウントを作成する要求に応じて、ユーザ証明書を生成するように構成される。いくつかの態様では、要求は、ユーザに関する連絡先情報と、ユーザ及びユーザの連絡先情報を検証するために使用され得る他の情報と、を含み得る。アカウントを作成する要求を受信すると、アカウント生成器212は、ユーザのためのユーザ登録及び証明書生成を完了するためのプロセスの一部として、アプリケーション106のためのサポートされた位置に関する情報を提供することができる。証明書作成プロセスが完了すると、アカウント生成器212は、アプリケーション106のユーザを後で認証する際に使用するために、ユーザのアカウント情報をデータストア(図示せず)に保持することができる。
図3は、本明細書に記載されるいくつかの実施形態による、GCSを通じて構成されたアプリケーションのためのユーザ証明書を生成するために、アプリケーション106、認証サービス130(より具体的には、アカウント生成器212)、及びGCS140の間で交換されるメッセージの一例を例解するメッセージフロー図300である。
例解されるように、糖尿病介入アプリケーションのユーザ証明書を生成するために、アプリケーションは、アカウント作成ウィジェットをロードすることができる(302)。アカウント作成ウィジェットをロードする際に、アプリケーションは、アプリケーションのバージョンについての情報を認証サービス130に提供することができ、認証サービス130は、アプリケーションのバージョンに対してサポートされる位置(例えば、国)のリストについての要求をGCS140から送信することができる(304)。それに応じて、GCS140は、サポートされる国のリストを認証サービス130に提供し(306)、認証サービス130は、GCSから受信されたサポートされる国のリストをアカウント作成ウィジェット内の位置選択器にプロビジョニングすることができる。サポートされる国のリストを受信した後、アプリケーション106は、アカウント作成ウィジェットのロードを完了する(308)。
少なくともユーザ連絡先情報及びサポートされる国のうちの1つの選択を含むユーザ入力310を受信した後、アプリケーション106は、ユーザ入力を含むユーザアカウントを作成する要求312を認証サービス130に送信する。認証サービス130は、ユーザ連絡先情報を検証し(314)、例えば、アプリケーション内又はアプリケーション外でユーザ登録を完了するためのリンクを含むメッセージをユーザに送信する(316)。更に、検証されると、認証サービスは、ユーザ情報をユーザデータストアに保持させることができ、認証サービスは、その後、ログイン要求を処理し、本明細書で考察されるように、アプリケーションがGCSから構成情報を要求するために使用することができるアクセストークンなどのアクセス情報を生成するためにアクセスすることができる。
証明書検査器214は、概して、ユーザの証明書を検査し、GCS140から構成情報を要求する際に使用するためのアクセス情報(例えば、アクセストークン)をアプリケーション106に提供するように構成される。例解されるように、証明書検査器214は、アプリケーション106からログイン要求を受信し得、ログイン要求は、アプリケーション106のユーザを認証し、ユーザのためのアクセス情報を生成するプロセスを開始する。ログイン要求は、上で考察されるように、ユーザがアカウント生成器212を通じてユーザアカウント及び関連付けられたユーザ証明書を作成したときに生成されたユーザ名及びパスワード(又は他のアクセスコード)を含み得る。ユーザ名及びパスワード(又は他のアクセスコード)がユーザアカウントリポジトリ内のエントリと一致する場合、証明書検査器214は、ログイン要求が正当なログイン要求であったことを判定し、ユーザに関するアクセス情報を生成することができる。生成されたアクセス情報は、概して、ユーザがユーザアカウントに正当にログインし、アプリケーション106においてセッションを開始することができることを示す。いくつかの態様では、アクセス情報はタイムアウト期間を有し得、その後、ユーザは、アクセス情報の新しいセットを生成するために、又はアクセス情報のすでに発行されたセットを更新するために、ユーザの証明書を証明書検査器214に再び提供するように要求され得る。
証明書検査器214は、ユーザアカウントリポジトリに記憶され得るか、又はアプリケーション106から受信され得る(例えば、アプリケーション106から受信されたログイン要求において)様々なユーザ仕様に基づいて、ユーザのためのアクセス情報を生成し得る。例えば、証明書検査器214は、機能カスタマイズ情報を含むアクセス情報を生成することができる。この機能カスタマイズ情報は、様々なユーザ仕様、例えば、ユーザ識別情報及び属性(例えば、ユーザが居住する国を示すユーザ提供領域情報、ユーザ疾患、ユーザ選好、ユーザのタイプなど)、モバイルデバイス107及びモバイルデバイス107上で実行されるアプリケーション106のバージョンに関する情報(例えば、主要バージョン番号、ビルド番号、又はログイン要求が受信されたアプリケーション106の固有のバージョンを識別する他の情報)、アプリケーション106が実行されている動作環境に関する情報、ユーザによって使用される1つ以上のセンサ(例えば、グルコースセンサシステム104)に関する情報、並びにアプリケーション106を構成するためにGCS140によって使用され得る他の情報に基づいて生成され得る。
いくつかの態様では、証明書検査器214は、認証サービス130及びGCS140に知られている暗号鍵(又は暗号鍵のセット)を使用してアクセス情報を暗号化して、構成サービスがアクセス情報を検証することを可能にすることができる。いくつかの態様では、証明書検査器214は、アクセス情報に基づいて生成された(例えば、アクセストークン内で運ばれる)暗号ハッシュなど、アクセス情報を検査するために使用することができる他の情報を生成し、アクセス情報を検査する際に構成サービス220によって使用するために、生成された情報をアクセス情報に含めることができる。例えば、証明書検査器214は、ユーザ名、ログイン要求に関連付けられたタイムスタンプ(例えば、ログイン要求が受信された時刻、ログイン要求が受信された時刻から計算された有効期限など)、及びユーザに関連付けられた位置情報を連結し、連結されたユーザ名、タイムスタンプ、及び位置情報の暗号ハッシュに基づいて検査コードを生成し得る。しかしながら、これは、証明書検査器214がアクセス情報を検証する際に使用するために生成することができる生成された情報の一例に過ぎず、アクセス情報を検証する際に使用するデータを生成するための他の情報及び他の技法を使用することができることが認識されるべきである。
GCS140は、概して、認証サービス130によって提供されるアクセス情報に基づいてアプリケーション106が構成されるサービスを表す。例解されるように、GCS140は、アプリケーション構成器222を含む。
アプリケーション構成器222は、受信された構成要求及び受信されたアクセス情報に基づいて、アプリケーション106のための構成情報を生成する。構成要求は、例えば、アプリケーションがモバイルデバイス107において起動又は更新された後に受信され得る。アプリケーション106を構成するために、アプリケーション構成器222は、最初に、アクセス情報が正当であるかどうかに基づいて、構成要求が正当であるかどうかを判定することができる。例えば、アクセス情報がアクセストークンとして受信される場合、アプリケーション構成器222は、事前に定義された暗号鍵(又は暗号鍵のセット)を使用してアクセストークンを復号しようと試みることによって、受信されたアクセストークンが正当なアクセストークンであるかどうかを判定することができる。
正しい暗号鍵(又は暗号鍵のセット)のみが、暗号化されたデータから理解可能なデータが取り出されることを可能にするので、アプリケーション構成器222は、アクセストークンを復号しようと試み、復号されたアクセストークンが理解可能なデータを含むかどうかを判定することによって、アクセストークンが正当であるかどうかを判定することができる。復号されたアクセストークンが理解可能なデータを含むかどうかの判定は、例えば、復号されたアクセストークン内の1つ以上の定義された文字列を検索すること、又は解読されたアクセストークン内の特別な値を識別することなどを含み得る。アプリケーション構成器222が、アクセストークンの復号に成功したことを判定した場合、アプリケーション構成器222は、以下で更に詳細に考察されるように、アプリケーション106による使用のための構成情報を生成することに進むことができる。そうでない場合、アプリケーション構成器222は、アクセストークンの検証が失敗したことを示すエラーメッセージをアプリケーション106に送信することができる。
別の例では、アプリケーション構成器222は、アクセス情報に含まれる認証コードを、アクセス情報に含まれるデータから生成された認証コードのバージョンと照合することを試みることによって、アクセス情報が正当であるかどうかを判定することができる。そのような事例では、アプリケーション構成器222は、上で考察されるように、認証コードを生成するために証明書検査器214によって使用されるのと同じ技法(例えば、同じアルゴリズム)を使用して認証コードを生成するように構成され得る。受信されたアクセス情報に含まれる認証コードが、アプリケーション構成器222によって生成された認証コードのバージョンと一致する場合、アプリケーション構成器222は、アクセス情報が正当であることを判定することができ、アプリケーション106による使用のための構成情報を生成することに進むことができる。そうでない場合、アプリケーション構成器222は、アクセス情報の検証が失敗したことを示すエラーメッセージをアプリケーション106に送信することができる。
アプリケーション106のための構成情報を生成するために、アプリケーション構成器222は、構成データストア150から情報を取り出し、アクセス情報に含まれる機能カスタマイズ情報を使用して、アプリケーション106のユーザのために有効化されるべきアセットを識別することができる。例えば、機能カスタマイズ情報がユーザ位置情報を含む場合、アプリケーション構成器222は、構成要求及びアクセストークンが受信されたユーザに関連付けられた位置に位置するユーザのためにサポートされるアセットを識別する構成ルール又はマッピングについて、構成データストア150を検索することができる。これらの構成ルールは、アプリケーション106が実行中にアクセスするべきリソースを指し示すリソース情報だけでなく、どのフラグが有効化されるべきか、又は構成情報において有効化されたものとして示されるべきかを指示し得る。一例として、構成ルールは、ドイツにいるユーザに対して、機能Xはアクティブ化され得るが、機能Yは非アクティブ化され得ることを指示し得る。そのような例では、アプリケーション構成器222によってユーザのために生成された構成情報は、機能Xがユーザのためにアクティブ化されるべきであることを示すフラグを含む。
アプリケーション106内のアセットを有効化するためのフラグ又は他の情報は、機能及び機能設定を示すフラグを含み得る。例えば、フラグは、運動管理機能がユーザに対して有効化されるべきであることを示し得る。別の例では、フラグは、運動管理機能のある特定の機能設定が有効化されるべきであることを示し得る。更に別の例では、フラグは、測定単位などの機能設定がメートル法に設定されるべきか、又はヤード・ポンド法に設定されるべきかを示し得る。例えば、測定単位フラグの第1の値は、アプリケーション106又はアプリケーション106のある特定の機能がメートル法に基づいてセンサデータを解釈して測定値を生成することを示し得、測定単位フラグの第2の値は、アプリケーション106又はアプリケーション106のある特定の機能がインペリアル法に基づいてセンサデータを解釈して測定値を生成することを示し得る。
別の例では、アプリケーション106から、図1A及び図1Bに例解される意思決定サポートエンジン112又はユーザデータベース110などの他の外部システムへの送信のために、データをどのように暗号化するべきかを識別するために、フラグが使用され得る。例えば、暗号化フラグの1つの値は、データが平文で送信されるべきであることを示し得、暗号化フラグの第2の値は、データが第1の形態の暗号化(例えば、第1の地理的領域に関連付けられた第1のセットの鍵、第1の暗号化方式など)を使用して送信されるべきであることを示し得、暗号化フラグの第3の値は、データが第2の形態の暗号化(例えば、第2の地理的領域に関連付けられた第2のセットの鍵、第2の暗号化方式など)を使用して送信されるべきであることを示し得、以下同様である。更に別の例では、アプリケーション106がリモートリソースによって公開される様々な機能を呼び出す周期性を制御するために、フラグ又は他の情報が構成情報内に設定され得る。フラグの異なる値、又は異なるフラグの設定は、データが報告されるべきである、又はリモートリソースによって公開される機能がアプリケーション106によって呼び出されるべきである、異なる周期性を示し得る。
更に別の例では、フラグを使用して、オンボード命令のセットを提供するように構成されたオンボード機能の設定を識別することができる。例えば、オンボード機能は、異なるセンサ配置命令をユーザに提供するための様々なセンサ配置設定を有し得る。どの設定がアプリケーション構成器220によって選択され、構成情報内のフラグによって示されるかは、例えば、ユーザの位置又は他のタイプの機能カスタマイズ情報に基づき得る。例えば、機能カスタマイズ情報が、そのユーザが位置Xにいることを示す場合、アプリケーション構成器222は、位置Xに対応するアプリケーションのための第1の設定を示すフラグを含む構成情報を生成し得る。次いで、第1の設定は、ユーザの腕にセンサを装着する命令をユーザに提供するように、アプリケーション106を構成し得る。別の例では、ユーザが位置Yにいる場合、位置Yに対応する第2の設定は、センサを腕又は腹部のいずれかに装着する命令をユーザに提供するようにアプリケーション106を構成し得る。
別の例では、フラグを使用して、アプリケーション事象をロギングするためのアプリケーションロギング機能の設定を識別することができる。アプリケーション事象の例は、アプリケーション例外、主要事象(例えば、起動、停止、再起動、及びセキュリティ事象)、エラー事象通知、デバッグ情報、SQLログ、ディスクスペース不足に関する警告などを含む。ロギング機能は、様々なレベルのロギングに対応する様々なロギング設定を有し得る。例えば、第1の設定は、高ロギングレベルに対応し得、第2の設定は、低ロギングレベルに対応し得る。ある特定のユーザのためにアプリケーション構成器222によってどの設定が選択されるかは、ユーザの位置、アプリケーション106のアプリケーションバージョン、ユーザのモバイルデバイスのオペレーティングシステムなどを示し得る、ユーザに関連付けられた機能カスタマイズ情報に依存し得る。例として、位置Xのユーザが多くの技術的問題を報告する場合、位置Xの新しいユーザがアプリケーション106をダウンロードするとき、アプリケーション構成器222は、より多くのアプリケーション事象が、アプリケーションを維持することを担う技術チームによって取得及び分析され得るように、第1の設定を用いてそれらのユーザのためのアプリケーションを構成し得る。しかしながら、低いロギングレベルに対応する第2の設定は、より少ない数の技術的問題が報告される位置にいるユーザのために使用され得る。
フラグは、多くの異なる機能及び機能設定の有効化又は無効化を示すために使用することができる。上記で提供された例示的な機能及び機能設定に加えて、いくつかの他の例示的な機能は、アラート機能、BlueTooth(登録商標)通信機能、セキュリティ機能、時間提供者機能、セキュアネットワーキングアプリケーションプログラミングインターフェース(application programming interface、API)、バルクデータ機能(データがセンサシステム104からアプリケーション106に一括して送信される方法に関連付けられる)などを含む。
構成情報は、アプリケーション106によって解析可能な構造化ファイルとして生成され得る。例えば、構成情報は、eXtensible Markup Language(XML)ファイル、JavaScript Object Notation(JSON)メッセージ、グラフデータ構造、又はアプリケーション106においてどのアセットがアクティブ化されるべきか(例えば、アプリケーション106内でどの機能がアクティブ化されるべきか、及びアプリケーション106がどのリソースと通信するべきか)を識別するために、アプリケーション106が使用することができる他の解析可能データとして生成され得る。いくつかの態様では、構成情報は、アプリケーション構成器222からアプリケーション106への送信中の修正から暗号情報を保護するために、GCS140及び/又はアプリケーション106のユーザに関連付けられた暗号鍵を使用してアプリケーション106への送信の前に暗号化され得る。
図4は、本明細書に記載されるいくつかの実施形態による、GCSを介してアプリケーションを構成するために、アプリケーション(図1A及び図2に例解されるアプリケーション106など)、認証サービス(図1A及び図2に例解される認証サービス130など)、及びGCS(図1A及び図2に例解されるGCS140など)の間で交換されるメッセージの一例を例解するメッセージフロー図400である。
例解されるように、アプリケーション106は、ユーザが認証サービス130によって認証されるべきユーザ証明書を提供するログインウィジェットをロードすることによって開始し得る402。ユーザがユーザ証明書を提供し404、ログインウィジェットを介してログイン要求において証明書を提出した406後、認証サービス130は、ログイン要求406に含まれるユーザ証明書を検証する408。ユーザ証明書が既存のユーザアカウントに対応する場合、認証サービス130は、アプリケーション106がGCS140を介してアプリケーションの構成を要求するために使用することができるアクセストークン410(又はトークン以外の形態のアクセス情報)を生成及び発行することができる。そうでない場合、認証サービス130は、ユーザ証明書が不当であったことを示し、ユーザ証明書の別のセットの入力を要求するためにアプリケーション106が使用することができるエラーメッセージ(図示せず)を生成することができる。
認証サービス130からアクセストークンを受信した後、アプリケーション106は、URL(又はアプリケーション106がプロビジョニングされるリモートリソースの識別情報)に対する要求412をGCS140に送信することによって、GCS140から構成情報を要求することができる。概して、URLに対する要求412は、認証サービス130によって提供され、アプリケーション106に提供されるアクセストークン410を含む。それに応じて、GCS140は、トークンを検証し、トークンが正当であることを判定すると、アクセストークンに含まれる位置情報に少なくとも基づいて、糖尿病介入アプリケーションが通信することを許可されるURL(又はリモートリソースの他の識別情報)を含むURL構成情報応答414を送信する。同様に、アプリケーション106は、ユーザのために有効化されるアプリケーションアセットを識別する情報に対するアセット要求416をGCS140に送信することによって、GCS140から構成情報を要求することができる。この要求はまた、認証サービスによって提供されるアクセストークンを含む。それに応じて、GCS140は、トークンを検証し、トークンが正当であることを判定すると、ユーザに対してアクティブ化又は無効化されるアセットに対応する様々なフラグを含むアセット構成応答418を送信する。ユーザに対してアクティブ化されるアセットに対応するフラグの値は、ユーザの位置に対して有効化されるアセットを識別するマッピング情報(例えば、構成ルール)、及び/又はユーザが有効化した任意選択的なアセットを識別するマッピング情報に基づいて設定され得る。ある特定の実施形態では、(ユーザによってダウンロードされるアプリケーションに関連付けられた)機能及び機能設定のセットが、コア機能及び機能設定に対応することに留意されたい。ある特定の実施形態では、これらのコア機能及び機能設定は、ユーザ仕様及び機能カスタマイズ情報が示すものにかかわらず、全てのユーザに対して有効化され得る。したがって、そのような実施形態では、構成情報は、コア機能及び機能設定に対応する任意のフラグを含まない場合がある。
図5は、本明細書に開示されるいくつかの実施形態による、GCS(図1A及び図2に例解されるGCS140など)を介して構成された糖尿病介入アプリケーション(図1A及び図2に例解されるアプリケーション106など)のユーザを認証するために、認証サービス(図1A及び図2に例解される認証サービス130など)によって遂行され得る例示的な動作500を例解する。
例解されるように、動作500はブロック510で開始し、認証サービスは、糖尿病介入アプリケーションから、糖尿病介入アプリケーション上でセッションを開始する要求を受信する。要求は、概して、糖尿病介入アプリケーションのユーザに関連付けられたユーザアカウントのためのユーザ証明書を含む。
ブロック520において、認証サービスは、ユーザ証明書がユーザアカウントに対して正当であることを検証する。ユーザ証明書を検証することは、概して、少なくとも、提供されたユーザ名及びパスワードがユーザデータベース内の記録内の証明書と一致するかどうかを判定することを伴う。いくつかの態様では、ユーザ証明書がユーザアカウント対して正当であることを検証するために、ユーザ生体情報又はワンタイム認証コードなどの追加情報も検証される多要素認証が使用され得る。
ブロック530において、認証サービスは、GCSから糖尿病介入アプリケーションのための構成情報を取り出す際に使用するために、糖尿病介入アプリケーションのためのアクセス情報を生成する。アクセス情報は、ユーザ証明書がユーザアカウントに対して正当であることを検証することに基づいて生成される。
ブロック540において、認証サービスは、アクセス情報を糖尿病介入アプリケーションに送信する。アクセス情報は、いくつかの態様では、認証サービスと糖尿病介入アプリケーションが実行されるモバイルデバイスとの間の通過中にアクセス情報が修正から保護されるように、暗号化されたチャネルを介して送信され得る。
図6は、本明細書に記載されるいくつかの実施形態による、図1A及び図2に例解されるGCS140を介してアプリケーションを構成するために、図1A及び図2に例解される糖尿病介入アプリケーション106によって遂行され得る例示的な動作600を例解する。
例解されるように、動作600は、ブロック610で開始し、アプリケーションは、認証サービスに、糖尿病介入アプリケーションに関連付けられた、又は糖尿病介入アプリケーション内のアセットにアクセスする要求を送信する。要求は、概して、糖尿病介入アプリケーションのユーザのユーザ証明書を含む。ユーザ証明書は、概して、ユーザ名及びパスワード又はアクセスコードを含み、任意選択的に、認証サービスによって提供される生体情報コード又はワンタイムコードなど、多要素認証において使用される他の情報を含み得る。
ブロック620において、アプリケーションは、認証サービスからアクセス情報を受信する。アクセス情報は、GCSから構成情報を要求するために糖尿病介入アプリケーションによって使用され得、ユーザに関連付けられた情報を含み得る。いくつかの態様では、アクセス情報は、認証サービス及びGCSに既知である暗号鍵を使用して暗号化され得、アプリケーションは、アクセス情報を復号することなく、アクセス情報をGCSに渡すことができる。
ブロック630において、アプリケーションは、構成情報に対する要求をGCSに送信する。要求は、概して、認証サービスから受信されたアクセス情報を含み、GCSは、それを使用して、要求が真正の要求であるかどうかを判定する(上で考察されるように)。
ブロック640において、アプリケーションは、GCSから構成情報を受信する。構成情報は、概して、糖尿病介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する情報を含む。考察されるように、1つの例解的かつ非限定的な例では、アセットのセットは、アクセストークンに含まれる位置情報に少なくとも部分的に基づいて判定され得る。したがって、糖尿病介入アプリケーションは、アプリケーションのユーザに関連付けられた地理的位置に適したアセットがプロビジョニングされ得、アプリケーションのユーザに関連付けられた地理的位置においてサポートされていないアセットがプロビジョニングされない場合がある。
ブロック650において、アプリケーションは、構成アプリケーションに基づいて構成される。例えば、糖尿病介入アプリケーションは、構成情報を解析して、どの機能及び機能設定をアクティブ化又は非アクティブ化するかを識別し、糖尿病介入アプリケーションが通信することを許可されているリモートリソース(例えば、URL)を識別することができる。いったん構成されると、アクティブ化された機能及び識別されたリモートリソースに関連付けられたユーザインターフェース機能、態様、ページなどは、糖尿病介入アプリケーションによってユーザに提供及び表示され得る(例えば、ユーザ入力に応じて、自動的に、又は他の機構を通じて)。
図7は、本明細書に記載されるいくつかの実施形態による、糖尿病介入アプリケーションを構成するために、図1A及び図2に例解されるGCS140によって遂行され得る例示的な動作700を例解する。
例解されるように、動作700はブロック710から開始し得、ここでGCSは、糖尿病介入アプリケーションから構成要求を受信する。構成要求は、いくつかの態様では、ある特定の機能、機能設定、及び/又はリソースを有効化又は無効化するために、糖尿病介入アプリケーションによって使用され得る構成情報の要求であり得る。
ブロック720において、GCSは、構成要求に含まれるアクセス情報が正当であることを検証する。考察されるように、正当なアクセス情報は、GCSが既知の又は理解可能なデータに復号することができるアクセス情報、又は一致する認証コードが生成され得るアクセス情報であり得る。
ブロック730において、GCSは、アクセス情報が正当であることを検証することに基づいて、糖尿病介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成する。構成情報は、アクセス情報に含まれる機能カスタマイズ情報に少なくとも部分的に基づいて生成され得る。例えば、構成情報は、機能カスタマイズ情報に含まれる位置情報、アプリケーションバージョン情報、糖尿病介入アプリケーションが動作する環境に関する情報、デバイスハードウェア又はファームウェア情報、センサハードウェア又はファームウェア情報、ユーザ疾患情報、及び糖尿病介入アプリケーションを構成することに関連し得る他の情報に基づいて生成され得る。ある特定の実施形態では、構成情報は、有効化される糖尿病介入アプリケーションの機能を識別するフラグ、及び/又は糖尿病介入アプリケーションが実行中に使用するリモートリソースへのポインタ(又はリンク)を含む。
ブロック740において、GCSは、構成情報によって示されるアセットのセットを用いて糖尿病介入アプリケーションを構成するために、構成情報を糖尿病介入アプリケーションに送信する。考察されるように、糖尿病介入アプリケーションは、概して、GCSが構成情報を糖尿病介入アプリケーションに送信することによって構成される。糖尿病介入アプリケーションは、解析可能ファイルに含まれる構成情報を解析して、どの機能及び機能設定をアクティブ化又は非アクティブ化するかを識別し、糖尿病介入アプリケーションが通信することを許可されるリモートリソース(例えば、URL)を識別することができる。
上に記載されるある特定の実施形態では、糖尿病介入アプリケーションなどのアプリケーションは、ユーザデバイス(例えば、モバイルデバイス107)上にダウンロードされ、GCSによって生成された構成情報を使用して後で構成されることに留意されたい。しかしながら、ある特定の他の実施形態では、ユーザがアプリケーションストアにアクセスするとき、糖尿病介入アプリケーションの単一の統合されたバイナリは、その時点でユーザデバイスにダウンロードされない。そのような実施形態では、機能カスタマイズ情報がGCSに送信され、GCSに機能カスタマイズ情報をユーザのためのアセットのセットにマッピングさせる。そのような実施形態では、構成情報を生成してアプリケーションに送信する代わりに、GCSは、マッピングされたアセットのセットをユーザデバイスに(直接又は間接的に)送信し、ユーザデバイスは、アセットのセット(ユーザ仕様に基づいてカスタマイズされたアプリケーションに対応する)をダウンロードして実行する。
図8は、アプリケーションを認証及び構成するための例示的なシステム800を例解する。例えば、システム800は、図1及び図2に例解される認証サービス130及び/又はGCS140のうちの1つ以上に対応し得る。
示されるように、システム800は、中央処理装置(CPU)802と、様々なI/Oデバイス814(例えば、キーボード、ディスプレイ、マウスデバイス、ペン入力など)のシステム800への接続を可能にし得る1つ以上のI/Oデバイスインターフェース804と、システム800がネットワーク890(ローカルネットワーク、イントラネット、インターネット、又は互いに通信可能に接続されたコンピューティングデバイスの任意の他のグループであり得る)に接続されるネットワークインターフェース806と、メモリ808と、相互接続812と、を含む。
CPU802は、メモリ808に記憶されたプログラミング命令を取り出して実行することができる。同様に、CPU802は、メモリ808内に常駐するアプリケーションデータを取り出し、記憶し得る。相互接続812は、CPU802、I/Oデバイスインターフェース804、ネットワークインターフェース806、及びメモリ808の間で、プログラミング命令及びアプリケーションデータを送信する。
CPU802は、単一のCPU、複数のCPU、及び複数の処理コアを有する単一のCPUなどを表すために含まれる。
メモリ808は、ランダムアクセスメモリなどの揮発性メモリ、及び/又は不揮発性ランダムアクセスメモリ、若しくは相変化ランダムアクセスメモリなどの不揮発性メモリを表す。示されるように、メモリ808は、アカウント生成器820と、証明書検査器830と、アプリケーション構成器840と、構成データリポジトリ850と、を含む。アカウント生成器820は、概して、糖尿病介入アプリケーションのためのユーザアカウントを作成する要求を受信し、アプリケーションの各ユーザに対して、ユーザのための糖尿病介入アプリケーションの構成を判定するために使用され得る少なくともユーザ証明書及びユーザ位置情報を含む、ユーザリポジトリ内の記録を作成する。いくつかの態様では、アカウント生成器820は、アプリケーションバージョン情報、動作環境情報、及びアプリケーションの構成に関連する他の情報を含む、糖尿病介入アプリケーションの構成を判定するために使用され得る他の情報を、ユーザ記録に更に含めることができる。
証明書検査器830は、概して、モバイルデバイス上で実行されるアプリケーションからログイン要求を受信し、受信したログイン要求に含まれる証明書が、アカウント生成器820によって生成されたレコードに含まれる証明書と一致することを検査する。受信されたログイン要求に含まれるユーザ証明書が正当であると判定される場合、認証情報検査器は、アプリケーション構成器840がアプリケーションを構成するために使用することができる情報を含むアクセストークンを生成する。次に、証明書検査器830は、生成されたアクセストークンをモバイルデバイス上で実行されるアプリケーションに提供する。
アプリケーション構成器840は、アプリケーションから構成要求を受信し、構成要求に含まれるアクセストークン及び構成データリポジトリ850に記憶された情報を使用して、アプリケーションを構成する。概して、アプリケーションを構成するために、アプリケーション構成器840は、アクセストークンに含まれる位置情報に少なくとも基づいて構成データリポジトリ850から構成データを検索し、取り出された構成データに基づいて解析可能ファイルを生成することができる。構成データは、概して、アプリケーションが通信することができるリモートリソースを識別する情報と、アプリケーション内のアセットが有効化されているか無効化されているかを識別するフラグと、を含む。次いで、解析可能ファイルは、更なる処理のためにアプリケーションに送信され、その結果、アプリケーションは、アプリケーションのユーザに関連付けられた位置に適したアセットを用いて構成される。
したがって、本明細書に記載されるある特定の実施形態は、ユーザ情報(例えば、機能カスタマイズ情報)に基づいてソフトウェアアプリケーション構成をパーソナライズする技術分野における技術的問題に対する技術的解決策を提供する。例えば、ある特定の実施形態は、ユーザ固有の仕様にかかわらず、アプリケーションのために利用可能なアセット(例えば、機能、機能設定、及び/又はリソース)の単一の統一されたコレクションを展開することに関する。ユーザ固有の仕様にかかわらず、単一の統一されたアプリケーションを記憶し、維持し、異なるユーザにプロビジョニングすることは、著しいリソース効率につながる。より具体的には、コードが重複する多くの異なるものとは対照的に、単一のアプリケーションバイナリ及びコードベースが記憶及び維持される場合、大量の記憶リソースが解放され、他の目的のために使用され得る。加えて、多くのアプリケーションバイナリ及びコードベースとは対照的に、単一のアプリケーションバイナリ及び単一のコードベースを更新、コンパイル、及びデバッグするときに、著しく少ないコンピューティングリソースが費やされ得る。更に、単一のコードベースを維持することは、コード更新中にコードにエラーを導入する可能性、又はアプリケーションの全てではないがいくつかのバージョンにおけるエラーを解決する可能性を低減する。
更に、上で考察されるように、いくつかのアプリケーションは、(例えば、新しい機能がソフトウェアアプリケーションを使用する患者に害を与えないこと、新しい機能がセキュリティ要件又はベストプラクティスに準拠することなどを保証するために)機能が所与の位置においてユーザに利用可能にされる前に規制当局の承認が必要とされる、セーフティクリティカルアプリケーションであり得る。セーフティクリティカルアプリケーションにおける新しい機能は、いくつかの領域において他の領域よりも早く承認され得る。したがって、セーフティクリティカルアプリケーションに新しい機能を展開する際に、開発者は、アプリケーションの異なるバージョンを展開することを選択することができ、新しい機能を含むバージョンは、規制当局の承認が得られた領域に展開され、新しい機能を除くバージョンは、規制当局の承認が得られていない領域に展開される。複数のコードベースがアプリケーションの複数のバージョンのために存在する場合、(例えば、機能が関連する規制当局によって承認されるとき)断片的に新しい機能を追加することによって、追加の複雑さがもたらされ得る。
更に、本明細書に記載されるシステム、方法、及び技法を利用することは、ユーザの仕様に基づいて、ユーザのために糖尿病介入アプリケーションをカスタマイズすることを可能にする。ユーザの一意の選好及びニーズに合わせてカスタマイズされた機能性、機能、機能設定、及びリソースを有するアプリケーションは、よりパーソナライズされた体験を提供し、ユーザにとってはるかに有用、有益、及び魅力的であり、それによってユーザの健康を改善するのに役立つ。
これらの非限定的な例の各々は、それ自体で独立することができるか、又は他の例のうちの1つ以上との様々な順列又は組み合わせにおいて組み合わせることができる。上記の発明を実施するための形態には、発明を実施するための形態の一部を構成する添付の図面への参照が含まれている。図面は、例解として、本発明を実施することができる具体的な実施形態を示している。これらの実施形態は、本明細書では「例」とも称される。このような例は、図示又は記載される要素加えた要素を含み得る。しかしながら、本発明者らは、図示又は記載される要素のみが提供される例も企図している。更に、本発明者らは、特定の例(又はその1つ以上の態様)に関して、又は本明細書に図示又は記載される他の例(又はその1つ以上の態様)に関して、図示又は記載されるそれらの要素(又はその1つ以上の態様)の任意の組み合わせ又は順列を使用する例も企図している。
本文書と参照することにより組み込まれるいずれかの文書との間で使用法が一致しない場合、本文書の使用法が優先される。
本文書では、「a」又は「an」という用語は、特許文書で一般的であるように、「少なくとも1つ」又は「1つ以上」の他の事例又は使用法とは無関係に、1つ、又は2つ以上を含むように使用される。本文書では、「又は」という用語は、別途示されていない限り、「A又はB」には「AであるがBではない」、「BであるがAではない」、「A及びB」が含まれるように、非排他的なものを指すために使用されている。本文書では、「含む(including)」及び「ここで/式中(in which)」という用語は、それぞれの用語の平易な英語の同等語である「含む(comprising)」及び「ここで/式中(wherein)」として使用される。また、以下の請求項において、「含む(including)」及び「含む(comprising)」という用語は、オープンエンドであり、すなわち、ある請求項において、かかる用語の後に記載されたものに加えて要素を含むシステム、デバイス、物品、組成物、配合物、又はプロセスは、依然としてその請求項の範囲に含まれるものとみなされる。更に、以下の請求項において、「第1」、「第2」、及び「第3」などの用語は、単に標識として使用されており、その対象に数値的な要件を課すことを意図するものではない。
「平行」、「垂直」、「円形」、「正方形」などの幾何学的用語は、文脈が別途示していない限り、絶対的な数学的精度を要求することを意図したものではない。代わりに、このような幾何学的用語は、製造又は同等の機能に起因する変動を許容する。例えば、ある要素が「円形」又は「概ね円形」と記載されている場合、正確には丸形ではない構成要素(例えば、わずかに楕円形であるか、又は多辺形の多角形であるもの)は、依然としてこの記載に包含される。
本明細書に記載されている方法の例は、少なくとも部分的には機械又はコンピュータで実施することができる。いくつかの例は、上記の例において記載される方法を遂行するように電子デバイスを構成するように動作可能な命令でコード化されたコンピュータ可読媒体又は機械可読媒体を含むことができる。このような方法の実装形態は、マイクロコード、アセンブリ言語コード、高級言語コードなどのコードを含むことができる。そのようなコードは、様々な方法を実行するためのコンピュータ可読な命令を含むことができる。このコードは、コンピュータプログラム製品の一部を形成し得る。更に、例では、コードは、実行中又は他の時間などに、1つ以上の揮発性、非一時的、又は不揮発性の有形コンピュータ可読媒体に有形的に記憶することができる。これらの有形コンピュータ可読媒体の例としては、ハードディスク、リムーバブル磁気ディスク、リムーバブル光ディスク(例えば、コンパクトディスク及びデジタルビデオディスク)、磁気カセット、メモリカード又はスティック、ランダムアクセスメモリ(random access memorie、RAM)、読み取り専用メモリ(read only memorie、ROM)などを挙げることができるが、これらに限定されない。
上記の説明は、例解的であることを意図したものであり、制限的なものではない。例えば、上記の例(又はその1つ以上の態様)は、互いに組み合わせて使用され得る。上記の説明を検討する際の当業者によるものなど、他の実施形態を使用することができる。要約は、米国特許法施行規則第1.72条(b)に準拠し、読者が技術的開示の性質を迅速に把握することを可能にするように提供されている。これは、請求項の範囲若しくは趣旨を解釈又は限定するために使用されるものではないことを理解した上で提出されている。また、上記の「発明を実施するための形態」では、様々な特徴を一緒にグループ化して、本開示を合理化することができる。これは、請求されていない開示された特徴がいずれの請求項にも不可欠であることを意図するものとして解釈されるべきではない。むしろ、本発明の主題は、特定の開示された実施形態の全ての特徴よりも少ない特徴にあり得る。したがって、以下の請求項は、例又は実施形態として「発明を実施するための形態」に組み込まれており、各請求項は別個の実施形態として独立しており、そのような実施形態は、様々な組み合わせ又は順列で互いに組み合わせることができることが企図される。本発明の範囲は、添付の請求項を、そのような請求項が権利を有する均等物の全範囲と併せて参照して決定されるべきである。
100 システム
102 ユーザ
104 グルコースセンサシステム
106 アプリケーション
107 モバイルデバイス
108 アプリケーション構成
109 機能
110 ユーザデータベース
111 リソース
112 意思決定サポートエンジン
116 ユーザプロファイル
118 人口統計情報
120 疾患進行情報
122 薬剤情報
127 入力
128 指標
130 認証サービス
138 センサ電子機器モジュール
139 連続検体センサ
150 構成データストア
200 コンピューティングシステム
212 アカウント生成器
214 証明書検査器
222 アプリケーション構成器
300 メッセージフロー図
400 メッセージフロー図
500 動作
600 動作
700 動作
800 システム
802 中央処理装置(CPU)
804 デバイスインターフェース
806 ネットワークインターフェース
808 メモリ
812 相互接続
814 デバイス
820 アカウント生成器
830 証明書検査器
840 アプリケーション構成器
850 構成データリポジトリ
890 ネットワーク

Claims (20)

  1. リモートサーバを介してコンピューティングデバイス上で実行される健康介入アプリケーションを構成するための方法であって、
    前記健康介入アプリケーションから、前記リモートサーバによって提供されるアセットに対する要求を受信することであって、前記要求が、前記コンピューティングデバイスのユーザに関連付けられたアクセス情報を含み、前記アクセス情報が、前記健康介入アプリケーションに対する機能カスタマイズ情報を含み、かつ前記健康介入アプリケーションのアカウント管理サービスによって発行される、受信することと、
    前記アクセス情報が正当であることを検証することと、
    前記アクセス情報が正当であることを検証することに応じて、前記アクセス情報に含まれる前記機能カスタマイズ情報に少なくとも部分的に基づいて、前記健康介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成することと、
    前記識別されたアセットのセットを用いて前記健康介入アプリケーションを構成するために、前記健康介入アプリケーションに前記構成情報を送信することと、
    を含む、方法。
  2. 前記機能カスタマイズ情報が、前記コンピューティングデバイスの前記ユーザの地理的位置に関連付けられた位置情報を含む、請求項1に記載の方法。
  3. 前記生成することが、
    前記機能カスタマイズ情報に基づいて、複数のユニフォームリソースロケータ(URL)から、前記健康介入アプリケーションを構成するために使用されるべきURLのセットを識別することであって、前記構成情報が、前記URLのセットを含む、識別することを含む、請求項1に記載の方法。
  4. 前記生成することが、
    前記機能カスタマイズ情報に基づいて、複数のアプリケーション機能から、前記健康介入アプリケーションを構成するためにアクティブ化されるべきアプリケーション機能のセットを識別することであって、前記構成情報が、前記アプリケーション機能のセットがアクティブ化されていることを示す値に設定されたアプリケーション機能のセットに関連付けられた1つ以上のフラグを含む、識別することを含む、請求項1に記載の方法。
  5. 前記機能カスタマイズ情報が、前記コンピューティングデバイス上で実行される前記健康介入アプリケーションのバージョン情報を含む、請求項1に記載の方法。
  6. 前記機能カスタマイズ情報が、前記コンピューティングデバイス及び前記コンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報を含む、請求項1に記載の方法。
  7. 前記アクセス情報が、前記機能カスタマイズ情報及びトークン認証情報を含むアクセストークンを含む、請求項1に記載の方法。
  8. 前記構成情報が、アプリケーション機能に関連付けられたアプリケーションパラメータの、特定のアプリケーション機能設定に対応する値へのマッピングを含む、請求項1に記載の方法。
  9. コンピューティングシステムであって、
    実行可能命令を含む少なくとも1つのメモリと、
    少なくとも1つのプロセッサであって、前記少なくとも1つのメモリとデータ通信しており、かつ、前記命令を実行するように構成され、前記コンピューティングシステムに、
    コンピューティングデバイス上で実行される健康介入アプリケーションから、前記コンピューティングシステムによって提供されるアセットに対する要求を受信することであって、前記要求が、前記コンピューティングデバイスのユーザに関連付けられたアクセス情報を含み、前記アクセス情報が、前記健康介入アプリケーションに対する機能カスタマイズ情報を含み、かつ前記健康介入アプリケーションのアカウント管理サービスによって発行される、受信することと、
    前記アクセス情報が正当であることを検証することと、
    前記アクセス情報が正当であることを検証することに応じて、前記アクセス情報に含まれる前記機能カスタマイズ情報に少なくとも部分的に基づいて、前記健康介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成することと、
    前記識別されたアセットのセットを用いて前記健康介入アプリケーションを構成するために、前記健康介入アプリケーションに前記構成情報を送信することと、
    を行わせる、少なくとも1つのプロセッサと、
    を備える、コンピューティングシステム。
  10. 前記機能カスタマイズ情報が、前記コンピューティングデバイスの前記ユーザの地理的位置に関連付けられた位置情報を含む、請求項9に記載のコンピューティングシステム。
  11. 前記コンピューティングシステムに前記構成情報を生成させるように構成されている前記少なくとも1つのプロセッサが、前記コンピューティングシステムに、
    前記機能カスタマイズ情報に基づいて、複数のユニフォームリソースロケータ(URL)から、前記健康介入アプリケーションを構成するために使用されるべきURLのセットを識別することであって、前記構成情報が、前記URLのセットを含む、識別することを行わせるように構成されている、前記少なくとも1つのプロセッサを含む、請求項9に記載のコンピューティングシステム。
  12. 前記コンピューティングシステムに前記構成情報を生成させるように構成されている前記少なくとも1つのプロセッサが、前記コンピューティングシステムに、
    前記機能カスタマイズ情報に基づいて、複数のアプリケーション機能から、前記健康介入アプリケーションを構成するためにアクティブ化されるべきアプリケーション機能のセットを識別することであって、前記構成情報が、前記アプリケーション機能のセットがアクティブ化されていることを示す値に設定されたアプリケーション機能のセットに関連付けられた1つ以上のフラグを含む、識別することを行わせるように構成されている、前記少なくとも1つのプロセッサを含む、請求項9に記載のコンピューティングシステム。
  13. 前記機能カスタマイズ情報が、前記コンピューティングデバイス上で実行される前記健康介入アプリケーションのバージョン情報を含む、請求項9に記載のコンピューティングシステム。
  14. 前記機能カスタマイズ情報が、前記コンピューティングデバイス及び前記コンピューティングデバイスに接続されたグルコース監視デバイスの動作環境情報を含む、請求項9に記載のコンピューティングシステム。
  15. 前記アクセス情報が、前記機能カスタマイズ情報及びトークン認証情報を含むアクセストークンを含む、請求項9に記載のコンピューティングシステム。
  16. 前記構成情報が、アプリケーション機能に関連付けられたアプリケーションパラメータの、特定のアプリケーション機能設定に対応する値へのマッピングを含む、請求項9に記載のコンピューティングシステム。
  17. 内部に命令が記憶された非一時的コンピュータ可読媒体であって、前記命令が、コンピューティングシステムによって実行されると、前記コンピューティングシステムに、
    コンピューティングデバイス上で実行される健康介入アプリケーションから、前記コンピューティングシステムによって提供されるアセットに対する要求を受信することであって、前記要求が、前記コンピューティングデバイスのユーザに関連付けられたアクセス情報を含み、前記アクセス情報が、前記健康介入アプリケーションに対する機能カスタマイズ情報を含み、かつ前記健康介入アプリケーションのアカウント管理サービスによって発行される、受信することと、
    前記アクセス情報が正当であることを検証することと、
    前記アクセス情報が正当であることを検証することに応じて、前記アクセス情報に含まれる前記機能カスタマイズ情報に少なくとも部分的に基づいて、前記健康介入アプリケーションがプロビジョニングされるべきアセットのセットを識別する構成情報を生成することと、
    前記識別されたアセットのセットを用いて前記健康介入アプリケーションを構成するために、前記健康介入アプリケーションに前記構成情報を送信することと、
    を含む、方法を遂行させる、非一時的コンピュータ可読媒体。
  18. 前記機能カスタマイズ情報が、前記コンピューティングデバイスの前記ユーザの地理的位置に関連付けられた位置情報を含む、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記生成することが、
    前記機能カスタマイズ情報に基づいて、複数のユニフォームリソースロケータ(URL)から、前記健康介入アプリケーションを構成するために使用されるべきURLのセットを識別することであって、前記構成情報が、前記URLのセットを含む、識別することを含む、請求項17に記載の非一時的コンピュータ可読媒体。
  20. 前記生成することが、
    前記機能カスタマイズ情報に基づいて、複数のアプリケーション機能から、前記健康介入アプリケーションを構成するためにアクティブ化されるべきアプリケーション機能のセットを識別することであって、前記構成情報が、前記アプリケーション機能のセットがアクティブ化されていることを示す値に設定されたアプリケーション機能のセットに関連付けられた1つ以上のフラグを含む、識別することを含む、請求項17に記載の非一時的コンピュータ可読媒体。
JP2023534397A 2021-04-15 2022-04-15 グローバル構成サービス Pending JP2024515404A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163175199P 2021-04-15 2021-04-15
US63/175,199 2021-04-15
PCT/US2022/071756 WO2022221880A1 (en) 2021-04-15 2022-04-15 Global configuration service

Publications (1)

Publication Number Publication Date
JP2024515404A true JP2024515404A (ja) 2024-04-10

Family

ID=81585311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023534397A Pending JP2024515404A (ja) 2021-04-15 2022-04-15 グローバル構成サービス

Country Status (7)

Country Link
US (1) US20220336096A1 (ja)
EP (1) EP4323995A1 (ja)
JP (1) JP2024515404A (ja)
CN (1) CN117043880A (ja)
AU (1) AU2022258973A1 (ja)
CA (1) CA3199431A1 (ja)
WO (1) WO2022221880A1 (ja)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3827577A (en) 1970-11-16 1974-08-06 Moorman Mfg Co Apparatus for assembling layers of packages on a pallet
US6001067A (en) 1997-03-04 1999-12-14 Shults; Mark C. Device and method for determining analyte levels
US8260393B2 (en) 2003-07-25 2012-09-04 Dexcom, Inc. Systems and methods for replacing signal data artifacts in a glucose sensor data stream
US8010174B2 (en) 2003-08-22 2011-08-30 Dexcom, Inc. Systems and methods for replacing signal artifacts in a glucose sensor data stream
US9247901B2 (en) 2003-08-22 2016-02-02 Dexcom, Inc. Systems and methods for replacing signal artifacts in a glucose sensor data stream
US7460898B2 (en) 2003-12-05 2008-12-02 Dexcom, Inc. Dual electrode system for a continuous analyte sensor
US7591801B2 (en) 2004-02-26 2009-09-22 Dexcom, Inc. Integrated delivery device for continuous glucose sensor
US7774145B2 (en) 2003-08-01 2010-08-10 Dexcom, Inc. Transcutaneous analyte sensor
US7519408B2 (en) 2003-11-19 2009-04-14 Dexcom, Inc. Integrated receiver for continuous analyte sensor
US8060173B2 (en) 2003-08-01 2011-11-15 Dexcom, Inc. System and methods for processing analyte sensor data
US8275437B2 (en) 2003-08-01 2012-09-25 Dexcom, Inc. Transcutaneous analyte sensor
US20070208245A1 (en) 2003-08-01 2007-09-06 Brauker James H Transcutaneous analyte sensor
EP1711791B1 (en) 2003-12-09 2014-10-15 DexCom, Inc. Signal processing for continuous analyte sensor
US20060020192A1 (en) 2004-07-13 2006-01-26 Dexcom, Inc. Transcutaneous analyte sensor
EP1977317A1 (en) * 2006-01-24 2008-10-08 Citrix Systems, Inc. Methods and systems for providing access to a computing environment
EP3513708B1 (en) 2006-03-09 2022-12-28 Dexcom, Inc. Systems and methods for processing analyte sensor data
US8478377B2 (en) 2006-10-04 2013-07-02 Dexcom, Inc. Analyte sensor
US20110027458A1 (en) 2009-07-02 2011-02-03 Dexcom, Inc. Continuous analyte sensors and methods of making same
CA3094351A1 (en) 2018-05-03 2019-11-07 Dexcom, Inc. Systems and method for activating analyte sensor electronics

Also Published As

Publication number Publication date
AU2022258973A1 (en) 2023-11-09
CA3199431A1 (en) 2022-10-20
US20220336096A1 (en) 2022-10-20
WO2022221880A1 (en) 2022-10-20
EP4323995A1 (en) 2024-02-21
CN117043880A (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
AU2021202050B2 (en) Systems and methods for distributing continuous glucose data
US8687811B2 (en) Diabetes care kit that is preconfigured to establish a secure bidirectional communication link between a blood glucose meter and insulin pump
CN103733201B (zh) 用于手持医疗设备的密码数据分布和撤销
US8454554B2 (en) Use of a handheld medical device as a communications mediator between a personal computer-based configurator and another networked medical device
US20130173473A1 (en) Data sychronization systems and methods
US9218456B2 (en) Communication protocol for medical devices that supports enhanced security
EP3937013A1 (en) Software distribution to medical devices via an intermediary which enforces maintenance of a transaction log
WO2012049224A1 (en) Efficient procedure for pairing medical devices for wireless communication with limited user interaction
US20210272669A1 (en) Therapy data management system
RU2711747C2 (ru) Измерительная система для измерения концентрации аналита посредством подкожного сенсора аналита
US20220336096A1 (en) Global configuration service
Gislason et al. Introducing glucofit: An assistive technology for monitoring and managing diabetes
CA3238339A1 (en) Systems, devices, and methods for wellness monitoring with physiological sensors