(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-28
(54)【発明の名称】モデル性能集約のためのシステム、方法、およびプロセス
(51)【国際特許分類】
G06F 11/34 20060101AFI20250121BHJP
【FI】
G06F11/34 109
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024540023
(86)(22)【出願日】2022-12-14
(85)【翻訳文提出日】2024-08-23
(86)【国際出願番号】 US2022052822
(87)【国際公開番号】W WO2023129378
(87)【国際公開日】2023-07-06
(32)【優先日】2021-12-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521535722
【氏名又は名称】サーナー イノベーション インコーポレイテッド
【氏名又は名称原語表記】Cerner Innovation,Inc.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ラママーシー,ウッタム
(72)【発明者】
【氏名】チェトリ,アシュウィン
(72)【発明者】
【氏名】サクセナ,パンカジ
(72)【発明者】
【氏名】ブイ,ラーフル・ジャイン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042MA13
5B042MC33
(57)【要約】
本明細書では、技術的性能および/または予測精度について、機械学習データモデルパイプラインの計算によって生成された性能レポートを集約するための同時比較ツールに対する、方法、システム、およびコンピュータ可読媒体を開示する。このツールは、モデルの技術的性能および予測精度の検証を容易にする構成ファイルに基づいて、モデルパイプラインの性能を定量的に評価する複数の性能尺度レポートを取得することができる。さらに、構成ファイルによって定義された条件が、性能尺度レポートについて満たされた場合、ツールは、予め決められたシステムに通知をブロードキャストすることができる。
【特許請求の範囲】
【請求項1】
実行可能な報告ジョブ内で、計算された性能尺度アラートを集約するためのコンピュータ化された方法であって、予測モデルに対する1つまたは複数の性能尺度を計算するために、前記実行可能な報告ジョブを、前記報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて、自動的に開始することを含み、前記報告ジョブは、前記予測モデルに基づいて前記報告ジョブによって出力される前記計算された性能尺度アラートの配信を構成する動作を含み、前記方法は、前記報告ジョブの動作の実行に応じて、前記1つまたは複数の計算された性能尺度アラートの通知を配信することなく、前記モデルに対する前記1つまたは複数の計算された性能尺度アラートをデータベースに格納することと、前記予測モデルに対する別の1つまたは複数の性能尺度を計算するために、前記実行可能な報告ジョブを自動的に開始することと、前記報告ジョブの前記動作の実行に応じて、前記別の1つまたは複数の計算された性能尺度アラートを前記データベースに格納し、前記1つまたは複数の計算された性能尺度アラートおよび前記別の1つまたは複数の計算された性能尺度アラートの両方の通知を配信することとをさらに含む、コンピュータ化された方法。
【請求項2】
前記報告ジョブは、前記予測モデルに対する1つまたは複数の性能を含む複数の性能尺度を計算する、請求項1に記載のコンピュータ化された方法。
【請求項3】
前記1つまたは複数の計算された性能尺度は、モデルメトリックの少なくとも1つの尺度を含む、請求項1に記載のコンピュータ化された方法。
【請求項4】
前記1つまたは複数の計算された性能尺度は、モデルドリフトの少なくとも1つの尺度を含む、請求項1に記載のコンピュータ化された方法。
【請求項5】
前記1つまたは複数の計算された性能尺度は、モデルバイアスの少なくとも1つの尺度を含む、請求項1に記載のコンピュータ化された方法。
【請求項6】
前記1つまたは複数の計算された性能尺度は、モデル違反の少なくとも1つの尺度を含む、請求項1に記載のコンピュータ化された方法。
【請求項7】
予測モデルの計算された性能尺度をアラート通知に集約するシステムであって、少なくとも1つのプロセッサと、コンピュータ可読命令を格納するコンピュータ記憶媒体とを備え、前記コンピュータ可読命令は、前記少なくとも1つのプロセッサによって実行されると、前記プロセッサに、予測モデルに対する1つまたは複数の性能尺度を計算するために、報告ジョブを、前記報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて、開始させ、前記報告ジョブは、前記予測モデルに基づいて前記報告ジョブによって出力される前記計算された性能尺度アラートの配信を構成する動作を含み、前記報告ジョブの動作の実行に応じて、前記1つまたは複数の計算された性能尺度アラートの通知を配信することなく、前記モデルに対する前記1つまたは複数の計算された性能尺度アラートをデータベースに格納させ、前記予測モデルに対する別の1つまたは複数の性能尺度を計算するために、前記実行可能な報告ジョブを自動的に開始させ、前記報告ジョブの前記動作の実行に応じて、前記別の1つまたは複数の計算された性能尺度アラートを前記データベースに格納させるとともに、前記1つまたは複数の計算された性能尺度アラートおよび前記別の1つまたは複数の計算された性能尺度アラートの両方の通知を配信させる、システム。
【請求項8】
前記報告ジョブは、前記予測モデルに対する1つまたは複数の性能を含む複数の性能尺度を計算する、請求項7に記載のシステム。
【請求項9】
前記性能尺度アラートは、1つまたは複数の生成された性能尺度レポートを含む、請求項7に記載のシステム。
【請求項10】
前記1つまたは複数の計算された性能尺度は、モデルメトリックの少なくとも1つの尺度を含む、請求項7に記載のシステム。
【請求項11】
前記1つまたは複数の計算された性能尺度は、モデルドリフトの少なくとも1つの尺度を含む、請求項7に記載のシステム。
【請求項12】
前記1つまたは複数の計算された性能尺度は、モデルバイアスの少なくとも1つの尺度を含む、請求項7に記載のシステム。
【請求項13】
前記1つまたは複数の計算された性能尺度は、モデル違反の少なくとも1つの尺度を含む、請求項7に記載のシステム。
【請求項14】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサにプロセスを実行させる命令を格納するコンピュータ可読媒体であって、前記プロセスは、予測モデルに対する1つまたは複数の性能尺度を計算するために実行可能な報告ジョブを、前記報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて、自動的に開始することを含み、前記報告ジョブは、前記予測モデルに基づいて前記報告ジョブによって出力される前記計算された性能尺度アラートの配信を構成する動作を含み、前記プロセスは、前記報告ジョブの動作の実行に応じて、前記1つまたは複数の計算された性能尺度アラートの通知を配信することなく、前記モデルに対する前記1つまたは複数の計算された性能尺度アラートをデータベースに格納することと、前記予測モデルに対する別の1つまたは複数の性能尺度を計算するために、前記実行可能な報告ジョブを自動的に開始することと、前記報告ジョブの前記動作の実行に応じて、前記別の1つまたは複数の計算された性能尺度アラートを前記データベースに格納し、前記1つまたは複数の計算された性能尺度アラートおよび前記別の1つまたは複数の計算された性能尺度アラートの両方の通知を配信することとを含む、コンピュータ可読媒体。
【請求項15】
前記報告ジョブは、前記予測モデルに対する1つまたは複数の性能を含む複数の性能尺度を計算する、請求項14に記載のコンピュータ可読媒体。
【請求項16】
前記性能尺度アラートは、1つまたは複数の生成された性能尺度レポートを含む、請求項14に記載のコンピュータ可読媒体。
【請求項17】
前記1つまたは複数の計算された性能尺度は、モデルメトリックの少なくとも1つの尺度を含む、請求項14に記載のコンピュータ可読媒体。
【請求項18】
前記1つまたは複数の計算された性能尺度は、モデルドリフトの少なくとも1つの尺度を含む、請求項14に記載のコンピュータ可読媒体。
【請求項19】
前記1つまたは複数の計算された性能尺度は、モデルバイアスの少なくとも1つの尺度を含む、請求項14に記載のコンピュータ可読媒体。
【請求項20】
前記1つまたは複数の計算された性能尺度は、モデル違反の少なくとも1つの尺度を含む、請求項14に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本出願は、機械学習データモデルに関する。より詳細には、機械学習データモデルの別個のバージョンの予測精度および性能尺度の比較評価に関する。
【発明の概要】
【0002】
発明の概要
本開示の実施形態は、とりわけ、技術的性能および/または予測精度について、機械学習データモデル(以下、「モデル」)パイプラインの計算によって生成された性能レポートを集約するための方法、システム、およびコンピュータ可読媒体に関する。後述するように、以下に考察する本発明の態様は、モデルパイプラインの複数のサブモデルを監視することによって、技術的性能および/または予測精度を監視し、比較評価する。
【0003】
第1の実施形態は、実行可能な報告ジョブ内で、計算された性能尺度アラートを集約するためのコンピュータ化された方法を含み得る。本方法は、予測モデルに対する1つまたは複数の性能尺度を計算するために、実行可能な報告ジョブを、報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて、自動的に開始することを含み得る。いくつかの実施形態では、報告ジョブは、予測モデルに基づいて報告ジョブによって出力される計算された性能尺度アラートの配信を構成する動作を含む。コンピュータ化された方法は、報告ジョブの動作の実行に応じて、1つまたは複数の計算された性能尺度アラートの通知を配信することなく、モデルに対する1つまたは複数の計算された性能尺度アラートをデータベースに格納するモデルに対して、1つまたは複数の計算された性能尺度アラートを格納することも含む。さらに、コンピュータ化された方法は、予測モデルに対する別の1つまたは複数の性能尺度を計算するために、実行可能な報告ジョブを自動的に開始することと、報告ジョブの動作の実行に応じて、別の1つまたは複数の計算された性能尺度アラートをデータベースに格納し、1つまたは複数の計算された性能尺度アラートおよび別の1つまたは複数の計算された性能尺度アラートの両方の通知を配信することとを含み得る。
【0004】
別の実施形態は、予測モデルの計算された性能尺度をアラート通知に集約するシステムを含み得る。本システムは、少なくとも1つのプロセッサと、コンピュータ可読命令を格納するコンピュータ記憶媒体とを含み得る。コンピュータ可読命令は、プロセッサに、予測モデルに対する1つまたは複数の性能尺度を計算するために、報告ジョブを、報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて、開始させる。いくつかの実施形態では、報告ジョブは、予測モデルに基づいて報告ジョブによって出力される計算された性能尺度アラートの配信を構成する動作を含む。命令はまた、プロセッサに、報告ジョブの動作の実行に応じて、1つまたは複数の計算された性能尺度アラートの通知を配信することなく、モデルに対する1つまたは複数の計算された性能尺度アラートをデータベースに格納させることもできる。命令はまた、プロセッサに、予測モデルに対する別の1つまたは複数の性能尺度を計算するために、実行可能な報告ジョブを自動的に開始させ、報告ジョブの動作の実行に応じて、別の1つまたは複数の計算された性能尺度アラートをデータベースに格納させるとともに、1つまたは複数の計算された性能尺度アラートおよび別の1つまたは複数の計算された性能尺度アラートの両方の通知を配信させることもできる。
【0005】
この概要は、「詳細な説明」でさらに後述する概念の一部を簡略化した形式で紹介するために提供している。この概要は、請求項に係る主題の重要な特徴または本質的な特徴を特定するように意図されるものではなく、請求項に係る主題の範囲を決定する際の助けとなるものとして使用されるように意図されるものでもない。本発明は、詳細な説明を含む本明細書によって裏付けされる特許請求の範囲によって定義される。
【0006】
コンピュータモデルの性能尺度の集約されたアラートのための本発明のシステムおよび方法について、添付図面の図を参照して以下に詳細に説明する。
【図面の簡単な説明】
【0007】
【
図1】本開示のいくつかの実施形態による、モデルパイプライン性能尺度の集約されたアラート通知のためのプロセス例を示すプロセス図である。
【
図2】本開示のいくつかの実施形態による、モデルパイプライン性能尺度の集約されたアラート通知を容易にすることができるシステム環境例を示す図である。
【
図3】本開示のいくつかの実施形態による、モデルパイプライン性能尺度の集約されたアラート通知を容易にするための構成ファイルのコードスキーマ例を示す図である。
【
図3A】本開示のいくつかの実施形態による、構成ファイルのコードスニペット例を示す図である。
【
図4】本開示のいくつかの実施形態による、モデルパイプライン性能尺度を含む集約されたアラート通知例の図である。
【
図5】本開示のいくつかの実施形態による、集約されたアラート通知の、条件ベースの配信のための方法例を示す図である。
【
図6】本開示の実施形態の態様を実施するのに好適な環境例のブロック図である。
【発明を実施するための形態】
【0008】
発明の詳細な説明
コンピュータベースのモデルは、現在入手可能なデータを使用して将来のイベントを予測するために使用されることが多い。これらのモデルの性能は、継続的な改善を容易にするために、かつ予測精度および正確さを保証するために、開発中および展開後に繰り返し評価される可能性がある。大まかには、これらの動的またはカオスシステムの予測モデリングは、初期データ条件の影響を受けやすい。たとえば、コンピュータモデルは、次の日、週、または月の天候パターンを予測することができ、または、コンピュータモデルは、患者ケア施設の入院率を予測することができる。
【0009】
このような状況では、モデルによって消費されるデータの動的なまたはカオスの変動により、予測が不安定になる可能性がある。この不安定性は、一時的なアーチファクトである場合もあれば、モデルの計算上の、トレーニング、データエンコーディング、データデコーディング、または他の技術的な欠陥を明らかにする場合もある。モデルパイプライン性能検出の従来の手法とは対照的に、本明細書に記載する態様は、技術的性能および/または予測精度について、機械学習データモデル(以下、「モデル」)パイプラインの計算によって生成された性能レポートを集約することを提供する。
【0010】
定義
本明細書で使用する場合の「観測データ」、「グランドトゥルース」、「実測値」、および「目標値」という用語は、経験的データおよび/またはデータとしてコード化された観測された現実世界の情報を指すために同義で使用される。たとえば、観測データは、発生したイベントまたは結果に対する変数を表しかつ/または定量化する、測定された、キャプチャされた、または記録された値を含む。1つの例では、観測データは、特定の医療機関の、その医療機関の履歴的な報告データに記録されているような、定義された6ヶ月の期間にわたって発生した総患者ボリュームに対する値を含む。
【0011】
本明細書で使用する場合の「予測データ」という用語は、データモデルのバージョンに入力され、そこから出力されるありとあらゆるデータを指す。たとえば、予測データは、出力を生成しトリガするために取り込まれるトレーニングデータセットなどの入力を含むことができる。さらにまたは代替的に、予測データは、データモデルバージョンから生成または作成される出力、たとえば、入力を使用してデータモデルのそのバージョンによって行われる予測を含むことができる。予測データはまた、そのデータモデルに関連するメタデータ、そのデータモデルのデータバージョンに関連するメタデータ、サブモデル入力に関連するメタデータ、および/またはサブモデル出力に関連するメタデータも含むことができる。予測データは、データモデルバージョンの他の出力を参照することができる。
【0012】
本明細書で使用する場合の「モデル」および「データモデル」という用語は、アルゴリズム決定ロジックによって定義される機械学習/人工知能タイプのデータモデルを指すように同義で使用される。データモデル(およびその任意のバージョン)は、決定ロジック、計算レイヤ、ニューラルネットワーク、マルコフ連鎖、(変数、値、レイヤ、サブモデルに固有または非固有の)重み付けアルゴリズム、および/またはランダムフォレストなどの機能を含むことができる。単数形で言及しているが、データモデル(およびその任意のバージョン)は、たとえば、予測などの出力に寄与する、特定のシーケンスでまたは並列でともに動作する複数の特定のサブモデルを含むことができることが理解されよう。
【0013】
本明細書で使用する場合の「バージョン」、「サブモデルバージョン」、および「データモデルバージョン」は、データモデルの特定の反復であって、その特定の反復に対して固有であるかまたは一意である入力、(たとえば、決定ロジックの)動作、および/または出力に対して定義された構成を有する反復を指すように、同義で使用される。
【0014】
本明細書で使用する場合の「スクリプト」および「コンピュータプログラミングスクリプト」という用語は、自動化または半自動化された方法で、コンピュータによる動作ステップのシーケンスの実行を引き起こし、管理し、容易にする命令の表現である、コンピュータ可読かつ実行可能な命令/プログラミングコードを指すように、同義で使用される。
【0015】
本明細書で使用する場合の「性能尺度」とは、モデルバージョンおよび/または他の挙動の技術的性能および予測精度(または不正確さ)の態様を表し定量化する、取得された測定値を指す。性能尺度は、たとえば、メトリック、予測精度、バイアス、データドリフト、ノイズ、分散などを含むことができる。メトリックの例としては、平均絶対誤差率(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、および/または二乗平均平方根誤差(RMSE:Root Mean Squared Error)が挙げられる。
【0016】
実施形態
図1を参照すると、
図1は、モデルパイプラインに対する計算された性能尺度アラートのルールベースの集約のためのプロセス例100を示す、データフロー図例である。大まかには、プロセス100は、モデルパイプラインの性能尺度を計算する1つまたは複数の報告ジョブを含む。報告ジョブは、とりわけ、モデルパイプラインに関連付けられた構成ファイルからアラートパラメータを使用する、1つまたは複数のプログラムモジュールを含むことができる。アラートパラメータは、報告ジョブが性能尺度レポートをブロードキャストするための条件を設定することができる。たとえば、報告ジョブのアラートモジュールは、アラート頻度パラメータを使用して、モデルパイプラインに関連付けられかつ以前にブロードキャストされていない性能尺度レポートについて、データベースをチェックすることができる。少なくとも1つの実施形態では、アラートモジュールは、複数の性能尺度レポートを、ブロードキャストされる集約されたアラートメッセージに集約する。従来の即時アラート手順とは異なり、集約アラートは、1つまたは複数の以前に生成された性能尺度レポートを用いてモデルベースラインを検証することができる。このようなレポートのブロードキャストは、とりわけ、即時アラート手順の不要なかつ/または有益でない負担を軽減するのに役立ち得る。
【0017】
プロセス100は、1つまたは複数の構成ファイルに基づいて報告ジョブを構成することを含むことができる。構成ファイル104は、報告ジョブ(たとえば、102
A、102
B、102
C、102
D)が、モデルパイプライン106の出力において特定されたデータを取得/変換/マージ/分離するために必要とされる可能性がある動作を実行することを容易にする、メタデータ情報、処理スクリプト、および出力格納場所をとりわけ含む、オブジェクトファイルであり得る。たとえば、構成ファイル104は、モデルパイプライン106によって出力されたデータからデータを抽出することを容易にする他のオブジェクトの位置を指すクエリパラメータ(たとえば、
図3Aのコード308のquery_params)を含むことができる。別の例として、構成ファイルは、抽出されたデータのフォーマットを報告フォーマットに変換することを容易にするオブジェクトを指すデータパラメータ(たとえば、
図3Aのコード314のdata_params)を含むことができる。
【0018】
いくつかの実施形態では、構成ファイル104は、アラートモジュールによって使用されるパラメータを保持する1つまたは複数のオブジェクトを指す集約アラートキー108を含む。オブジェクトは、報告ジョブのアラートモジュールの構成を容易にするデータスキーマにパラメータを保持することができる。たとえば、データスキーマは、とりわけ、変更集約の頻度(たとえば、アラート集約評価の前または間に報告ジョブのインスタンスがいくつ実行されるかを定義する値、範囲、またはアルゴリズム)、モデルパイプライン106に関連付けられた性能尺度レポートを格納する1つまたは複数のデータベース(たとえば、
図2のデータベース204)の場所、および/または性能尺度レポートに関連付けられたデータベース内の1つまたは複数のテーブルの識別に関するパラメータを含むことができる。
図3Aを簡単に参照すると、コード例3200は、アラートスキーマのいくつかの実施形態によるコードの一部を示す。たとえば、コード3200は、alert_frequencyパラメータ316を含む。図示するように、パラメータ316は、集約されたアラート計算動作をトリガする前に、報告ジョブの実行の3つのインスタンスを必要とするように定義されている。パラメータ316は、任意の数の方法で報告ジョブによってチェックすることができる。たとえば、報告ジョブ102Aは、各実行インスタンスの間にインクリメンタルに増加するカウンタを含むことができる。別の例では、報告ジョブ102Aは、databaseNameパラメータ318によって識別されるデータベースロケーションおよびalertTableNameパラメータ320によって識別されるテーブルを読み出して、データベースおよび/またはデータベーステーブルに格納された性能尺度レポート(たとえば、134、136、138)の数を計算することができる。
【0019】
さらに、データスキーマは、1つまたは複数の性能尺度に対するパラメータを含むことができる。たとえば、データスキーマは、報告ジョブ102によって計算された1つまたは複数のメトリック116、ドリフト118、違反120、および/またはバイアス122の性能尺度の各々に対するパラメータを含むことができる。性能尺度の各々について、データスキーマは、アラート集約をトリガするためのルールを定義する1つまたは複数の条件を含むことができる。
図3Aに簡単に戻ると、コード例3200は、metricパラメータ322およびconditionパラメータ324および326の性能尺度パラメータ例を含む。図示するように、metricパラメータ322は、報告ジョブによって生成された性能尺度レポートのMAEおよびMAPEに適用されたアラート集約を定義している。さらに、metricパラメータ322は、集約されたアラートの配信をトリガするために、性能レポートに少なくとも3つのアラートイベントが存在しなければならないことも定義している。コード3200に示す値およびパラメータは単に例であり、限定的なものではない。他の値、パラメータ、ルール、スキーマも含み得る。
【0020】
図示するように、プロセス100は、性能尺度レポート(たとえば、PMレポート134)を出力する1つまたは複数の報告ジョブ(たとえば、102A)も含む。PMレポート134は、報告ジョブの計算結果を含むことができる。PMレポート134の生成を容易にするために、報告ジョブは、構成ファイル104をロードし、モデルパイプライン106および/または対応する1つまたは複数のサブモデル(たとえば、サブモデルA132)からの1つまたは複数の出力を取り込むことができる。したがって、構成ファイルは、1つまたは複数の出力からデータを抽出し、性能尺度を計算し、抽出されたデータのフォーマットを報告フォーマットに変換することを容易にする、クエリパラメータ、データパラメータ、スクリプト、および性能尺度を含み得る。
【0021】
バイアス尺度122は、概して、トレーニングデータに基づくデータ要素の重みおよび/または表現を計算で定量化する性能尺度である。バイアスがかかったデータは歪んだ予測結果をもたらす可能性があるため、サブモデルレベルでバイアスを検出することによって、モデルパイプラインにおける何らかのタイプのプログラムエラーおよび/またはデータエラーの特定および/または位置確認を容易にすることができる。
【0022】
モデルまたはサブモデルのバイアスを計算する際、リアルタイムデータのインサイト機能からの予測は、トレーニングデータで作成されたバイアスベースラインで分析される。ベースラインは、特徴とその予測値とを含むトレーニングデータを使用して生成される。これは結果を生成するのに役立つ。この結果は、経時的なベースラインに対するデータの特徴レベルのバイアスの進行を記述する包括的なレポートであり得る。
【0023】
いくつかの実施形態では、(実際のラベルで特徴を評価する)トレーニング前バイアスおよび(実測値および予測ラベル値で特徴を評価する)トレーニング後バイアスがサポートされる。たとえば、モデルパイプラインデータ(実測値)が評価されると、モデルモニタリングシステムは、前処理ファイルおよびベースラインファイルをシステムにロードし、前処理アルゴリズムを実行して、モデルインサイト機能および実測値を取得する。その後、バイアスおよび構成されたメトリックを使用してベースラインファイルでデータを分析して、任意のトレーニング前バイアスを計算することができる。別の例では、モデルパイプラインデータ(実測値および予測値)が評価されると、モデルモニタリングシステムは、前処理ファイルおよびベースラインファイルをシステムにロードし、前処理アルゴリズムを実行して、モデルインサイト機能および実測値を取得する。その後、バイアスおよび構成されたメトリックを使用してベースラインファイルでデータを分析して、任意のトレーニング後バイアスを計算することができる。
【0024】
ドリフト尺度118は、概して、サブモデルによって使用されかつ/またはサブモデルによって生成されるデータの構造またはセマンティクスに対する予期されないかまたは文書化されていない変化の発生を計算によって定量化する、性能メトリックである。ドリフトイベントは予測モデルを破損させるかまたは計算動作を中断させる可能性があるため、サブモデルレベルでドリフトを検出することによって、モデルパイプラインにおける何らかのタイプのプログラム上の欠陥の特定および/または位置確認を容易にすることができる。
【0025】
ドリフト計算例では、トレーニングデータから作成されたベースラインを用いて、モデルの特徴が分析される。例示的なドリフト計算では、ベースラインデータに対するモデルデータの統計情報が取得される。そして、ドリフト計算により、モデル内の特徴に対して存在する任意のドリフトを特定することができる。さらに、ドリフト計算は、各モデルについてそれぞれのベースラインを有する複数のモデルを分析するように動作することができる。複数のモデルの場合、各モデルについてベースラインファイルが存在する可能性があり、各モデルの特徴を、各モデルのそれぞれのモデルベースラインにマッピングすることができる。
【0026】
違反は、閾値および/またはベースラインに違反した場合の尺度である。たとえば、違反が発生したモデルバージョンおよび特定の性能尺度の特徴、違反したベースラインおよび/または閾値の期待値および/または目標値、違反が判定された性能の値などである。さらに、モデルまたはサブモデル内の特徴は、トレーニングデータから作成されたベースラインで分析される。モデルの解析中に、モデルデータ内の任意の新たな特徴または欠落した特徴の発生が検出される。モデルデータ内の任意の有効な特徴について、ベースラインを用いてデータが分析されて、任意のデータ型の不一致、正、負、および非ゼロの変動または違反が検出される。
【0027】
たとえば、性能尺度として、曲線下の面積(AUC:area under the curve)、受信者動作特性(ROC:receiver operating characteristic)、精度、分散、共分散、および/または他の同様の定量的尺度を挙げることができる。同様に、性能尺度として、平均値、中央値、r2、標準偏差、パーセンタイル、および/または他の同様の定量的尺度を挙げることができる。
【0028】
概して、メトリック尺度116は、サブモデルの予測信頼性の分析比較を含む。たとえば、構成ファイルは、1つまたは複数のサブモデルについて、平均絶対誤差率(MAPE:Measured Absolute Percentage Error)、平均絶対誤差(MAE:Mean Absolute Error)、もしくは二乗平均平方根誤差(RMSE:Root Mean Squared Error)、またはそれらの組み合わせのメトリックを含み得る。MAPEは、一般に、以下の例で表現することができるが、MAPEの他の表現は、本明細書で考察する態様の範囲内であることが意図される。
【0029】
【0030】
一般に、MAEは、以下の例で表現することができるが、MAEの他の表現も本明細書で考察する態様の範囲内であることが意図される。
【0031】
【0032】
RMSEは、一般に、予測誤差の標準偏差である。したがって、RMSEは、以下の例で表現することができるが、RMSEの他の表現も本明細書で考察する態様の範囲内であることが意図される。
【0033】
【0034】
上記の表現例において、Aは観測データを指し、Fは入力データに基づく予測を指す。構成ファイル104はまた、モデルパイプライン106および/または適用可能な各サブモデル(たとえば、サブモデルA132)に対する性能尺度に関連付けられた、1つまたは複数のベースライン閾値112を含むことができる。概して、1つまたは複数のベースライン値は、指定されたかつ既知の入力に基づいて、モデルバージョンによって変数またはイベントについて予測される期待値を定義する。したがって、ベースライン「期待」値を使用して、モデルバージョンがその変数に対する予測で同じかまたは類似する値を生成したかどうかを判断することができる。したがって、ベースライン値を使用して、そのような期待値と比較して、モデルパイプライン106、モデルパイプライン106のバージョン、1つまたは複数のサブモデル(たとえば、サブモデルA132)、および/または1つまたは複数のサブモデルのバージョンの予測精度を評価することができる。ベースライン閾値112は、たとえば、メトリック(たとえば、MAPE、MAE、および/またはRMSE)などの性能尺度を測定および評価するための、カスタマイズされかつ/または先行する最小値または最大値である目標値とすることができる。ベースライン値は、たとえば、モデルパイプラインまたはサブモデルが、対応する変数のベースライン期待値の予め定義されたバッファ範囲内にある予測値を生成したかまたはそうした範囲内にない予測値を生成したかを判定するために、範囲をさらに含み得る。さらにまたは代替的に、ベースライン閾値112は、たとえば、データドリフト、モデルバイアス、および/またはノイズなどの他の性能尺度を評価するための値を定義することができる。各モデルについて、ベースライン閾値を考慮して評価された各性能尺度の比較および判定は、性能レポート134、136、および138に含まれる。
【0035】
プロセス100はまた、アラートモジュールを実行する報告ジョブ(たとえば、102
A)も含む。アラートモジュールは、上記で考察したように、アラートキー108を使用して、報告ジョブによって構成することができる。たとえば、報告ジョブ102
Aは、1つまたは複数の頻度パラメータ(たとえば、
図3のパラメータ316)を使用して、集約されたアラートの条件が満たされているか否かをチェックすることができる。報告ジョブ102
Aについて図示しているように、頻度パラメータが満たされていない場合、報告ジョブ102
Aは、上記で考察したように、性能尺度レポート134を生成することができる。代替的に、(たとえば、報告ジョブ102
Dの場合のように)頻度パラメータが満たされている場合、モジュールは、報告ジョブをトリガして、集約アラート時間頻度内で以前の性能尺度レポート書を引き出す。いくつかの実施形態では、報告ジョブは、要約された報告の以前の性能尺度レポートに含まれる性能尺度を、ベースライン112に対して検証して、集約アラートレポート130を生成する。集約アラートレポート130は、ネットワークを介して、1つまたは複数の予め定義された場所またはユーザアカウントにブロードキャストすることができる。たとえば、
図4の集約アラートレポート例400を、電子メール、通知、または他の任意の電子メッセージとして、モデルパイプライン106の保守をタスクとする人に関連付けられたユーザアカウントにブロードキャストすることができる。
【0036】
図2を参照すると、
図2は、本明細書に記載する実施形態による、システム環境例200を示す。システム環境200のブロック構成要素は、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせを含むことができるコンピューティングプロセスおよび/または構成要素を含む。たとえば、システム環境200は、
図6のコンピューティング環境600に関連して記載する1つまたは複数のデバイスを含むことができる。
【0037】
図2に示されるように、システム環境200は、データクラスタ202の1つまたは複数のデータベースを含む。データクラスタ202は、構造化データおよび非構造化データを1つまたは複数のリレーショナルデータベース(たとえば、データベース204Aまたはデータベース204B)に保持することができる。データは、任意のカオスおよび/または動的システムに関連することができる。たとえば、データは、複数の人々に対応する値、コメント、レコードなどを含むことができる。人々がデータクラスタ202を維持する1つまたは複数のエンティティとインタラクトするに従い、追加のデータがデータベースにおいて変更される(たとえば、データベースに追加され、データベースにおいて編集され、削除され、または他の任意の方法で操作される)可能性がある。たとえば、データに関連付けられた患者が、治療され、診察され、退院し、または他の方法で、データクラスタ202を維持する機関、ケアネットワーク、または地域とインタラクトするに従い、データは、連続的に、断続的に、かつ/または定期的に変更される可能性がある。データは、患者をモニタリングするセンサ(たとえば、心拍数および/または体重)、患者に関するデータ(たとえば、入院日および/または人口統計)、および/または患者に関する観察(たとえば、疾患または状態の診断)によって生成することができる。モデルパイプライン(たとえば、モデルパイプライン106)が、最初の時点におけるデータを使用して、将来の時点における結果を予測することができる。その後、データは、時間が最初の時点から将来の時点まで進むに従い、変更される可能性がある。データクラスタ202に保持されたデータを、将来の時点において使用して、先の予測された結果に対応する観測結果を決定することができる。
【0038】
システム環境200は、モデルパイプライン106および1つまたは複数のサブモデル(たとえば、サブモデルA132)を含むモデリングジョブ206も含む。モデリングジョブ206は、モデルパイプライン106を連続的に、断続的に、かつ/または定期的に実行するプログラム表現を含むことができる。モデリングジョブ206は、モデルパイプライン106に対応する1つまたは複数の出力を生成するプログラム表現も含むことができる。たとえば、モデリングジョブ206は、データベースにおいて1つまたは複数のインサイト208を出力することができる。いくつかの実施形態において、インサイト208は、モデルパイプライン106、1つまたは複数のサブモデル、および/または観測データに関連するメタデータを取得する、1つまたは複数のオブジェクトファイル(たとえば、JavaScript Object Notationファイル)である。
【0039】
システム環境200は、報告ジョブ210も含む。報告ジョブ210は、連続的に、断続的に、かつ/または定期的に性能尺度レポートを計算するプログラム表現を含むことができる。たとえば、報告ジョブ210は、とりわけ、構成モジュール212、アラートモジュール214、および構成ファイルデータベース216を含むことができる。報告ジョブ210のいくつかの実施形態は、1つまたは複数の構成ファイル104によって呼び出すことができる計算ルールおよびアルゴリズムを維持する計算ライブラリ220も含むことができる。これらのモジュールは、モデルパイプラインに対応する性能尺度の集約されたアラート通知を容易にすることができる。たとえば、報告ジョブ210は、モデルパイプライン106からの出力に応じて、構成モデル212を起動するようにプログラムすることができる。起動されると、構成モジュール212は、インサイト208にアクセスし、構成データベース216に保持されている構成ファイル104を特定することができる。データベース216は、報告ジョブ210の一部として図示されるが、いくつかの実施形態では、データクラスタ202の一部であってもよい。
【0040】
構成ファイル104は、1つまたは複数のオブジェクトファイル(たとえば、JavaScript Object Notationファイル)であってもよい。構成ファイル104は、モデルパイプライン106、1つまたは複数のサブモデル(たとえば、サブモデル102
A~102
D)、および/または1つまたは複数の性能尺度110に関連するオブジェクト指向表現を含むことができる。たとえば、構成ファイル104は、
図3に示されるようなデータスキーマ300であってもよい。データスキーマ300は、インサイト208において特定されたデータを取得/変換/マージ/分離するために必要とされる可能性がある動作を報告ジョブ210が実行するのを容易にする、メタデータ情報(たとえば、コード302)、性能測定値(たとえば、コード304)、および出力格納場所(たとえば、コード306)を含むか、またはとりわけ含むことができる。
図3Aに示されるように、データスキーマ300は、プログラム表現を含むかまたは呼び出すことができる。たとえば、MAEメトリック尺度を含むコード例などのコードを含み得るメトリック尺度。同様に、データスキーマ300は、コード例7012および/またはコード例708などのコードを含むことができる、1つまたは複数のドリフト尺度を含むことができる。データスキーマ700は、同様に、1つまたは複数の違反尺度および/または1つまたは複数のバイアス尺度を含むことができる。さらに、データスキーマ300は、1つまたは複数のアラートキーを含むことができる。たとえば、データスキーマ300は、コード例3200のようなプログラム表現を含むことができる。アラートキーは、スキーマ300の独立した表現として構成してもよく、または、1つまたは複数の性能測定値に埋め込んでもよい。これにより、性能測定値固有の集約アラートルールおよび/またはジョブ固有の集約アラートルールの組み込みを容易にすることができる。
【0041】
システム環境200は、ネットワーク218も含む。ネットワーク218は、無線および/または物理的(たとえば、ハードワイヤード)接続を含むことができる。例示的なネットワークとしては、サービスプロバイダまたは通信事業者の電気通信ネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、セルラ電気通信ネットワーク、Wi-Fiネットワーク、近距離無線ネットワーク、無線メトロポリタンエリアネットワーク(WMAN)、Bluetooth(登録商標)対応ネットワーク、光ファイバネットワーク、またはそれらの組み合わせが挙げられる。ネットワーク218は、概して、コンポーネントおよびデバイスにインターネットおよびウェブベースのアプリケーションへのアクセスを提供する。図示していないが、システム環境は、計算された性能尺度レポートのインタラクティブな提示を容易にする報告ダッシュボードを含むこともできる。
【0042】
図5を参照すると、
図5は、本明細書に記載する実施形態による、サブモデルの性能尺度を計算するための方法500を示す。本明細書に記載する方法500の各ブロックは、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせを使用して実行することができるコンピューティングプロセスを含む。たとえば、さまざまな機能は、メモリに格納された命令を実行するプロセッサによって実行することができる。方法500はまた、コンピュータ記憶媒体に格納されたコンピュータ使用可能命令として具現化することもできる。方法500は、いくつか例を挙げると、スタンドアロンアプリケーション、(スタンドアロンまたは別のホストされたサービスと組み合わせた)サービスまたはホストされたサービス、または別の製品へのプラグインによって提供することができる。加えて、方法500について、例として、
図1のプロセス100および/または
図2のシステム200に関して記載する。しかしながら、この方法は、さらにまたは代替的に、限定されないが本明細書に記載するものを含む、任意の1つのシステム、または任意のシステムの組み合わせによって実行することができる。
【0043】
方法500は、ブロック502において、予測モデルに対して1つまたは複数の性能尺度を計算するために、実行可能な報告ジョブを自動的に開始することを含む。報告ジョブは、報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて開始することができる。いくつかの実施形態では、報告ジョブは、予測モデルに基づいて報告ジョブによって出力される計算された性能尺度アラートの配信を構成する動作を含む。たとえば、報告ジョブ102Aは、モデルパイプライン106からの1つまたは複数の出力の検出に応じて開始してもよい。
【0044】
方法500は、ブロック504において、報告ジョブの動作の実行に応じて、1つまたは複数の計算された性能尺度アラートの通知を配信することなく、モデルに対する1つまたは複数の計算された性能尺度アラートをデータベースに格納することを含む。たとえば、報告ジョブ102
Aは、構成ファイル104を使用して、モデルパイプライン106からの出力に基づいて性能尺度110を取り込み、計算するように構成することができる。報告ジョブ102
Aのアラートモジュール(たとえば、
図2のアラートモジュール214)は、アラートキー108によって定義された動作を実行することができる。集約されたアラートの条件が満たされない場合、報告ジョブ102
Aは、PMレポート134の計算および保存を完了する。しかしながら、報告ジョブ102
Aは、集約されたアラートレポートを配信しない。
【0045】
方法500は、ブロック506において、予測モデルに対する別の1つまたは複数の性能尺度を計算するために、実行可能な報告ジョブを自動的に開始することを含む。ブロック502と同様に、報告ジョブは、報告ジョブを維持する1つまたは複数のアプリケーションのスクリプトにプログラムでコード化されたイベントの発生に応じて開始することができる。いくつかの実施形態では、報告ジョブは、予測モデルに基づいて報告ジョブによって出力される計算された性能尺度アラートの配信を構成する動作を含む。たとえば、報告ジョブ102Dは、モデルパイプライン106からの1つまたは複数の出力の検出に応じて開始してもよい。報告ジョブは、ブロック502で開始されたものと同じ報告ジョブであっても、異なる報告ジョブであっても、またはブロック502で開始されたのと同じ報告ジョブの別のインスタンスであってもよい。別の言い方をすれば、報告ジョブ102Dは、1)後の時点で実行される報告ジョブ102Aであっても、2)モデルパイプライン106に対する他の性能尺度を計算する別の報告ジョブであっても、または3)連続してまたは並行して実行される報告ジョブ102Aの別のインスタンスであってもよい。
【0046】
方法500は、ブロック508において、他の1つまたは複数の計算された性能尺度アラートをデータベースに格納することと、報告ジョブの動作の実行に応じて、1つまたは複数の計算された性能尺度アラートおよび他の1つまたは複数の計算された性能尺度アラートの両方の通知を配信することとを含む。たとえば、報告ジョブ102
Dは、構成ファイル104を使用して、モデルパイプライン106からの出力に基づいて性能尺度110を取り込み計算するように構成され得る。報告ジョブ102
Dのアラートモジュール(たとえば、
図2のアラートモジュール214)は、アラートキー108によって定義された動作を実行することができる。集約されたアラートの条件が満たされる場合、報告ジョブ102
Dは、モデルパイプラインの性能尺度レポートの計算を完了する。さらに、報告ジョブ102
Dは、アラートキー108の他のプログラムで定義されたルールに基づいて、集約されたアラートレポート130を配信する。
【0047】
方法500のいくつかの実施形態では、方法は、報告ジョブのアラートキーの条件が満たされるまで、ブロック502および504を繰り返すことができる。その後、方法500はブロック508に進むことができる。
【0048】
図6を参照すると、本発明の一実施形態による例示的なコンピューティング環境が描かれている。コンピューティング環境例600は、好適なコンピューティング環境の単なる一例であり、本発明の使用範囲または機能性を制限するようには意図されていないことが、当業者には理解されよう。同様に、コンピューティング環境600は、
図6に示す各コンポーネントおよびコンポーネントの組み合わせに関して、いかなる依存関係および/またはいかなる要件も負わせるものとして解釈されるべきではない。本発明の実施態様において、
図6に示すように、コンポーネント、デバイス、システム、およびエンティティ間の通信リンクを確立するための他の方法、ハードウェア、ソフトウェア、およびデバイスを利用することができるため、
図6に示す接続も例示的なものであることが、当業者には理解されよう。接続は、1つまたは複数の実線を使用して図示されているが、
図6の例示的な接続は、ハードワイヤードであっても無線であってもよく、簡略化のために
図6に省略されているかまたは含まれていない中間コンポーネントを使用してもよいことが、当業者には理解されよう。このように、
図6からコンポーネントがないことは、追加のコンポーネントおよびコンポーネントの組み合わせを排除するように本発明を限定するものとして解釈されるべきではない。さらに、
図6では、デバイスおよびコンポーネントが、単数のデバイスおよびコンポーネントとして表されているが、いくつかの実施形態は、
図6がデバイスまたはコンポーネントの数を限定するものとして考慮されるべきではないように、複数のデバイスおよびコンポーネントを含んでもよいことが理解されよう。
【0049】
引き続き、
図6のコンピューティング環境600は、構成要素とデバイスとが互いにリモートであってもよく、別個のタスクを実行してもよい、分散環境であるとして示されている。構成要素およびデバイスは、互いに通信することができ、ネットワーク602を使用して互いにリンクすることができる。ネットワーク602は、無線および/または物理的(たとえば、ハードワイヤード)接続を含むことができる。例示的なネットワークは、サービスプロバイダまたは通信事業者の電気通信ネットワーク、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、セルラ電気通信ネットワーク、Wi-Fiネットワーク、近距離無線ネットワーク、無線メトロポリタンエリアネットワーク(WMAN)、Bluetooth(登録商標)対応ネットワーク、光ファイバネットワーク、またはそれらの組み合わせを含む。ネットワーク602は、一般に、構成要素およびデバイスにインターネットおよびウェブベースのアプリケーションへのアクセスを提供する。
【0050】
コンピューティング環境600は、サーバ604の形態のコンピューティングデバイスを含む。
図6では1つの構成要素として示されているが、本発明は、コンピューティング環境600において複数のローカルサーバおよび/またはリモートサーバを利用することができる。サーバ604は、処理ユニット、内部システムメモリ、およびデータベースまたはデータベースクラスタを含むさまざまなコンポーネントに連結するための好適なシステムバスなどのコンポーネントを含むことができる。いくつかの実施形態では、データクラスタは、クラウドベースのデータストアの形態をとり、いくつかの実施形態では、クラウドベースのコンピューティングプラットフォームによってアクセス可能である。システムバスは、種々のバスアーキテクチャのうちの任意のものを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちの任意ものであり得る。限定ではなく例として、このようなアーキテクチャとしては、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、VESA(登録商標)(Video Electronics Standards Association)ローカルバス、およびメザニンバスとしても知られるペリフェラルコンポーネントインターコネクト(PCI:Peripheral Component Interconnect)バスが挙げられる。
【0051】
サーバ604は、コンピュータ可読媒体を含むことができ、またはコンピュータ可読媒体にアクセスすることができる。コンピュータ可読媒体は、サーバ604がアクセスすることができる任意の利用可能な媒体とすることができ、揮発性媒体および不揮発性媒体、ならびにリムーバブル媒体および非リムーバブル媒体を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体としては、限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装された、揮発性媒体および不揮発性媒体、ならびにリムーバブル媒体および非リムーバブル媒体を挙げることができる。これに関して、コンピュータ記憶媒体としては、限定されないが、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、サーバ604がアクセスすることができる、他の任意の媒体を挙げることができる。コンピュータ記憶媒体は、本質的に非一時的信号を含まない。
【0052】
通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調されたデータ信号で具現化するものであり、任意の情報送達媒体を含むことができる。本明細書で使用する場合の「変調されたデータ信号」という用語は、信号内に情報をコード化するような方法で、その属性のうちの1つまたは複数が設定または変更された信号を指す。限定ではなく例として、通信媒体としては、有線ネットワークまたは直接有線接続などの有線媒体と、音響、無線周波数(RF)、赤外線、および他の無線媒体などの無線媒体とがある。上記のうちの任意のもの組み合わせも、コンピュータ可読媒体の範囲に含めることができる。
【0053】
実施形態では、サーバ604は、論理接続を使用して、コンピューティング環境600内の1つまたは複数のリモートコンピュータ606と通信する。ネットワーク602が無線ネットワークを含む実施形態では、サーバ604は、インターネットとの通信を確立するためにモデムを採用することができ、サーバ604は、Wi-Fiまたは無線アクセスポイントを使用してインターネットに接続することができ、またはサーバは、インターネットにアクセスするために無線ネットワークアダプタを使用することができる。サーバ604は、ネットワーク602を使用して、
図6に示すコンポーネントおよびデバイスのうちの任意のものまたはすべてと双方向通信を行う。したがって、サーバ604は、ネットワーク602を介してリモートコンピュータ606にデータを送信し、リモートコンピュータ606からデータを受信することができる。
【0054】
単一のデバイスとして示されているが、リモートコンピュータ606は複数のコンピューティングデバイスを含むことができる。分散型ネットワークを有する実施形態では、リモートコンピュータ606は、1つまたは複数の異なる地理的な場所に配置される場合がある。リモートコンピュータ606が複数のコンピューティングデバイスである実施形態では、複数のコンピューティングデバイスの各々は、キャンパス内の建物、医療複合施設の医療および研究施設、銀行/クレジット会社のオフィスまたは「支店」などのさまざまな場所にまたがって配置される場合があり、または、たとえば、ウェアラブルであるかもしくは人員によって携帯されるか、または車両もしくは倉庫内の追跡可能な物品に取り付けられる、モバイルデバイスである場合もある。
【0055】
いくつかの実施形態では、リモートコンピュータ606は、たとえば、研究室、入院患者室、外来患者室、病院、医療車両、獣医環境、外来環境、医療請求事務オフィス、財務もしくは管理オフィス、病院管理環境、在宅医療環境、および/または医療専門家のオフィスなどの医療環境において、物理的に配置される。例として、医療従事者としては、医師、外科医、放射線医、心臓専門医、および腫瘍専門医などの医療専門家、救急救命士、医師助手、診療看護師、看護師、看護助手、薬剤師、栄養士、微生物学者、検査専門家、遺伝カウンセラー、研究者、獣医師、学生などを挙げることができる。他の実施形態では、リモートコンピュータ606は、包装および出荷施設などの非医療環境に物理的に配置されるか、配送または宅配車両のフリート内に展開される場合がある。
【0056】
引き続き、コンピューティング環境600は、データストア608を含む。データストア608は、単一のコンポーネントとして示されているが、メモリデバイスの地理的または物理的な場所とは無関係に、互いに通信可能に連結された複数のデータストアを使用して実装してもよい。例示的なデータストアは、アーチファクト、サーバリスト、サーバに関連付けられたプロパティ、環境、環境に関連付けられたプロパティ、複数の異なるコンピュータプログラミング言語でコード化されたコンピュータ命令、デプロイスクリプト、アプリケーション、アプリケーションに関連付けられたプロパティ、リリースパッケージ、リリースパッケージのバージョン情報、アプリケーションに関連付けられたビルドレベル、アプリケーションの識別子、リリースパッケージの識別子、ユーザ、ユーザに関連付けられたロール、ロールに関連付けられたパーミッション、ワークフローおよびワークフロー内のステップ、クライアント、クライアントに関連付けられたサーバ、プロパティに関連付けられた属性、監査情報、および/またはワークフローの監査証跡の形式でデータを格納することができる。例示的なデータストアは、たとえば、患者の電子医療記録、取引記録、請求記録、タスクおよびワークフロー記録、時系列イベント記録などの電子記録の形式でデータを格納することもできる。
【0057】
一般に、データストア608は、データでコード化された情報を格納するように構成された物理メモリを含む。たとえば、データストア608は、コンピュータ可読命令、コンピュータ実行可能命令、データ構造、データ配列、コンピュータプログラム、アプリケーション、および例示的な
図6に示すコンピューティング環境600およびコンポーネントを使用して着手される機能および動作をサポートする他のデータのためのストレージを提供することができる。
【0058】
ネットワーク602を介して通信可能に連結される分散コンポーネントを有するコンピューティング環境において、プログラムモジュールは、単に例としてメモリ記憶デバイスを含むローカルおよび/またはリモートコンピュータ記憶媒体に配置することができる。本発明の実施形態は、プログラムモジュールなどのコンピュータ実行可能命令がコンピューティングデバイスによって実行されるという文脈で説明することができる。プログラムモジュールは、限定されないが、特定のタスクを実行するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含むことができる。実施形態において、サーバ604は、プログラムモジュールを含むデータストア608に格納された情報にアクセスし、そうした情報を取得し、通信し、受信し、更新することができる。したがって、サーバ604は、本明細書に記載する実施形態を実行するために、プロセッサを使用して、データストア608に格納されたコンピュータ命令を実行することができる。
【0059】
サーバ604など、
図6のデバイスの内部コンポーネントは示されていないが、当業者であれば、内部コンポーネントおよびそれらの相互接続が
図6のデバイスに存在することを理解するであろう。したがって、内部構造デバイスに関するさらなる詳細は、本明細書ではこれ以上開示しない。
【0060】
本開示は、プログラムモジュールなどのコンピュータ実行可能命令を含む、コンピュータコードまたは機械使用可能命令が、コンピュータ、または携帯情報端末もしくは他のハンドヘルドデバイスなどのその他のマシンによって実行されるという、全体的な文脈で説明することができる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するコードを指す。本開示は、ハンドヘルドデバイス、消費者向け電子機器、汎用コンピュータ、より特殊なコンピューティングデバイスなどを含む、種々のシステム構成で実施することができる。本開示は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。
【0061】
本明細書において使用する場合の、2つ以上の要素に関する「および/または」という記載は、1つの要素のみ、または要素の組み合わせを意味するものと解釈されるべきである。たとえば、「要素A、要素B、および/または要素C」は、要素Aのみ、要素Bのみ、要素Cのみ、要素Aおよび要素B、要素Aおよび要素C、要素Bおよび要素C、または要素A、B、およびCを含むことができる。加えて、「要素Aまたは要素Bのうちの少なくとも1つ」は、要素Aのうちの少なくとも1つ、要素Bのうちの少なくとも1つ、または要素Aのうちの少なくとも1つおよび要素Bのうちの少なくとも1つを含むことができる。さらに、「要素Aおよび要素Bのうちの少なくとも1つ」は、要素Aのうちの少なくとも1つ、要素Bのうちの少なくとも1つ、または要素Aのうちの少なくとも1つおよび要素Bのうちの少なくとも1つを含むことができる。
【0062】
本開示の主題について、法定要件を満たすように、本明細書において具体的に説明している。しかしながら、説明自体は、本開示の範囲を限定するように意図されていない。むしろ、本発明者らは、請求項に係る主題が、他の現在または将来の技術とともに、本明細書に記載したものと同様の異なるステップまたはステップの組み合わせを含むように、他の方法で具体化される可能性もあることを企図している。さらに、「ステップ」および/または「ブロック」という用語を、本明細書において、採用する方法の異なる要素を意味するように使用する場合があるが、この用語は、個々のステップの順序が明示的に記載されている場合を除き、本明細書で開示するさまざまなステップの間のいかなる特定の順序を意味するものとしても解釈されるべきではない。
【国際調査報告】