(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-23
(54)【発明の名称】サブモデルの性能に基づくモデル検証
(51)【国際特許分類】
G06N 20/00 20190101AFI20250116BHJP
G16H 40/00 20180101ALI20250116BHJP
【FI】
G06N20/00
G16H40/00
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2024540022
(86)(22)【出願日】2022-12-14
(85)【翻訳文提出日】2024-08-23
(86)【国際出願番号】 US2022052830
(87)【国際公開番号】W WO2023129382
(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)【発明者】
【氏名】ブイ,ラーフル・ジャイン
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA21
(57)【要約】
本明細書では、展開済みまたは展開前の環境でデータモデルパイプラインのサブモデルを評価するための同時比較ツールのための方法、システム、およびコンピュータ可読媒体を開示する。このツールは、サブモデルの技術的性能と予測精度の検証を容易にする構成ファイルに基づいて、データモデルパイプライン内の各サブモデルの性能を定量的に評価する複数の性能測定値を計算することができる。さらに、同様のデータモデルパイプラインまたは展開前の環境に展開されるサブモデルの複数のバージョンを比較評価することもできる。サブモデルの主要バージョンが識別され、展開され得る。
【特許請求の範囲】
【請求項1】
モデルバージョンの性能と精度を評価し、改善するためのコンピュータ化される方法であって、前記方法は、少なくとも2つのサブモデルを含むモデルパイプラインからの出力を検出することを含み、前記モデルパイプラインの前記出力は、前記少なくとも2つのサブモデルに基づいて計算される1つまたは複数の予測を含み、前記方法は、前記モデルパイプラインに対応するフォーマットされるデータセットを含む1つまたは複数のファイルを取得することを含み、前記フォーマットされるデータは、前記予測を生成するために使用される前記データと前記1つまたは複数の予測を含み、前記方法は、構成ファイルを受信することと、前記構成ファイルに基づいて、前記複数のデータセットから複数のサブモデル性能レポートを計算することと、を含み、前記少なくとも2つのサブモデル性能レポートの各々は、前記モデルの前記対応するバージョンに対して決定される複数の性能メトリックを含む、コンピュータ化される方法。
【請求項2】
前記構成ファイルに基づいて、前記複数のデータセットから前記複数のサブモデル性能レポートを生成することは、前記構成ファイルから、前記複数のデータセットから抽出する複数のデータサブセットを識別することと、前記複数のデータセットから前記複数のデータサブセットを抽出することとを含み、前記複数のデータサブセットの各々は、前記対応するサブモデルの前記複数のデータセットの1つから抽出される、請求項1に記載のコンピュータ化される方法。
【請求項3】
前記構成ファイルに基づいて前記複数のデータセットから前記複数のサブモデル性能レポートを生成することは、前記構成ファイルから、計算する前記複数の性能測定値を識別することを含む、請求項2に記載のコンピュータ化される方法。
【請求項4】
前記構成ファイルに基づいて、前記複数のデータセットから前記複数のサブモデル性能レポートを生成することは、前記少なくとも2つのサブモデルの各々について、前記対応するデータサブセットに基づいて前記モデルの前記対応するバージョンの前記複数の性能メトリックを計算し、前記モデルパイプラインの前記対応するサブモデルの前記サブモデル性能レポートを生成するコンピュータスクリプトを実行することを含む、請求項3に記載のコンピュータ化される方法。
【請求項5】
前記構成ファイルは、前記複数の性能メトリックに対応する計算関数を識別するオブジェクト指向のプログラム式を含む、請求項1に記載のコンピュータ化される方法。
【請求項6】
前記複数の性能メトリックは、測定絶対割合誤差(MAPE)、平均絶対誤差(MAE)、または二乗平均平方根誤差(RMSE)を含む、請求項5に記載のコンピュータ化される方法。
【請求項7】
前記オブジェクト指向のプログラム式は、トレーニングデータの対応する測定値に基づく予測データの重みおよび/または表現の定量化演算を含む、請求項5に記載のコンピュータ化される方法。
【請求項8】
前記オブジェクト指向のプログラム式は、前記サブモデルによって使用および/または生成されるデータの前記構造またはセマンティクスに対する予期しないまたは文書化されていない変更に対する定量化演算を含む、請求項1に記載のコンピュータ化される方法。
【請求項9】
モデルパイプラインの複数のサブモデルを監視するシステムであって、スクリプトを実行する1つまたは複数のプロセッサを介して、モデルパイプラインの複数のサブモデルに対応する少なくとも1つのデータセットを受信し、前記少なくとも1つのデータセットは、前記モデルパイプラインの前記複数のサブモデルの各々に対する予測および予測データに対応するメタデータを含み、複数のサブモデル性能測定値の計算命令を含む前記モデルパイプラインに対応する構成ファイルによって定義される演算を実行し、前記構成ファイルに基づいて、前記複数のサブモデル性能測定値を前記サブモデルの各々に対するレポートとして出力するデータモデル性能監視システムを含むシステム。
【請求項10】
スクリプトを実行する1つまたは複数のプロセッサを介して、前記複数のサブモデル性能測定値レポートを使用し、前記複数のサブモデル性能測定値レポートおよび前記構成ファイルに基づいて各サブモデルの第1のレベルのスコアを計算し、各前記サブモデルの前記第1のレベルのスコアおよび前記構成ファイルに基づいて前記モデルパイプラインの第2のレベルのスコアを計算するダッシュボードレポートシステムをさらに含む、請求項9に記載のシステム。
【請求項11】
前記ダッシュボードレポートシステムは、前記スクリプトを実行する前記1つまたは複数のプロセッサを介して、各サブモデルの前記第1のレベルのスコアと前記モデルパイプラインの前記第2のレベルのスコアを表示するために提示するインターフェースをさらに含む、請求項10に記載のシステム。
【請求項12】
各サブモデルの前記第1のレベルスコアを計算することは、前記少なくとも1つのデータセットで識別されるオブジェクトに対応する観測データセットを取得することを含む、請求項11に記載のシステム。
【請求項13】
各サブモデルの前記第1のレベルスコアを計算することは、前記少なくとも1つのデータセットで識別されるオブジェクトに対応する予測データセットを取得することを含む、請求項12に記載のシステム。
【請求項14】
前記構成ファイルは、前記複数のサブモデル性能測定値レポートの前記計算のための定量的パラメータを識別するオブジェクト指向のプログラム式を含む、請求項9に記載のシステム。
【請求項15】
モデルパイプライン内に展開される複数のモデルを監視する方法であって、前記複数のモデル内の各モデルを使用して1つまたは複数の予測および1つまたは複数のモデル機能を生成すること、前記複数のモデル内の各モデルの性能測定閾値を識別すること、前記複数のモデル内の各モデルの前記性能測定閾値を使用して前記モデルパイプライン内の各モデルのモデルレポートを生成すること、生成される前記モデルレポートに基づいて、前記複数のモデル内の各モデルのヘルススコアを生成すること、生成される前記ヘルススコアに基づいて、モデルパイプラインのヘルススコアを生成することを含む、方法。
【請求項16】
前記性能測定値は、メトリック測定値、バイアス測定値、またはドリフト測定値を含む、請求項15に記載の方法。
【請求項17】
前記性能測定値は、測定絶対割合誤差(MAPE)、平均絶対誤差(MAE)、または二乗平均平方根誤差(RMSE)を含む、請求項15に記載の方法。
【請求項18】
前記バイアス測定値は、トレーニングデータの対応する測定値に基づく予測データ要素の重みおよび/または表現の定量化を含む、請求項16に記載の方法。
【請求項19】
前記ドリフト測定値は、前記サブモデルによって使用および/または生成されるデータの前記構造またはセマンティクスに対する予期しないまたは文書化されていない変更に対する定量化演算を含む、請求項16に記載の方法。
【請求項20】
前記性能測定閾値は、1つまたは複数のプロセッサによって実行されるプログラム式から構成されるオブジェクトファイル内で定義される、請求項15~請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本出願は、機械学習データモデルに関する。より具体的には、機械学習データモデルの異なるバージョンの予測精度と性能測定値の比較評価に関するものである。
【発明の概要】
【課題を解決するための手段】
【0002】
発明の概要
本開示の実施形態は、とりわけ、機械学習データモデル(以下、「モデル」)パイプラインのサブモデルを技術的性能および/または予測精度について計算的に評価するための方法、システム、およびコンピュータ可読媒体に関する。いくつかの実施形態には、現在展開されているサブモデルのバージョンと比較して、技術的性能および/または予測精度の改善を示すサブモデルのバージョンを展開することも含まれる。後述するように、本発明の側面は、モデルパイプラインの複数のサブモデルを監視することによって、技術的性能および/または予測精度を監視し、比較評価する。
【0003】
第1の実施形態には、サブモデルの性能および精度を評価し、改善するためのコンピュータ化される方法が含まれ得る。コンピュータ化される方法は、少なくとも2つのサブモデルを含むモデルパイプラインからの出力を検出することを含み得、モデルパイプラインの出力には、少なくとも2つのサブモデルに基づいて計算される1つまたは複数の予測が含まれる。コンピュータ化される方法は、モデルパイプラインに対応するフォーマットされるデータセットを含む1つまたは複数のファイルを取得することであって、フォーマットされるデータには、予測を生成するために使用されるデータと1つまたは複数の予測が含まれる、ことと、および構成ファイルを受信することと、も含み得る。さらに、コンピュータ化される方法は、構成ファイルに基づいて、複数のデータセットから複数のサブモデル性能レポートを計算することを含み得、少なくとも2つのサブモデル性能レポートの各々には、モデルの対応するバージョンに対して決定される複数の性能メトリックが含まれる。
【0004】
別の実施形態には、モデルパイプラインの複数のサブモデルを監視するためのシステムが含まれ得る。システムには、スクリプトを実行する1つまたは複数のプロセッサを介してデータモデル性能監視システムが含まれ得る。スクリプトには、モデルパイプラインの複数のサブモデルに対応するデータセットの少なくとも1つを受信し、少なくとも1つのデータセットには、モデルパイプラインの複数のサブモデルの各々に対する予測および予測データに対応するメタデータが含まれ、複数のサブモデル性能測定値の計算命令を含むモデルパイプラインに対応する構成ファイルによって定義される演算を実行し、構成ファイルに基づいて、複数のサブモデル性能測定値をサブモデルの各々に対するレポートとして出力することを容易にする演算が含まれ得る。
【0005】
別の実施形態には、モデルパイプライン内に展開される複数のモデルを監視する方法が含まれ得る。この方法は、複数のモデル内の各モデルを使用して1つまたは複数の予測と1つまたは複数のモデル機能を生成し、複数のモデル内の各モデルの性能測定閾値を識別することができる。さらに、この方法は、複数のモデル内の各モデルの性能測定閾値を使用して、モデルパイプライン内の各モデルのモデルレポートを生成し、生成されるモデルレポートに基づいて、複数のモデル内の各モデルのヘルススコアを生成することができる。さらに、この方法では、生成されるヘルススコアに基づいてモデルパイプラインのヘルススコアを生成することもできる。
【0006】
この概要は、詳細な説明でさらに詳しく説明するいくつかの概念の選択を簡略化した形式で紹介するために提供されている。この概要は、請求される主題の主要な機能または本質的な機能を識別することを意図したものではなく、請求される主題の範囲を決定するための補助として使用することを意図したものでもない。本発明は、詳細な説明を含む本明細書によって裏付けられる請求項によって定義される。
【0007】
単一およびセンサーをまたいだオブジェクト追跡のための学習される機能ベクトルのための本発明のシステムおよび方法について、添付の図面を参照して以下に詳しく説明する。
【図面の簡単な説明】
【0008】
【
図1】本開示のいくつかの実施形態に従って、モデルパイプラインに基づいてサブモデル性能測定値を計算する例を示すプロセス図である。
【
図2】本開示のいくつかの実施形態に従って、モデルパイプラインに基づいてサブモデル性能測定値を計算する例を示す別のプロセス図である。
【
図3】本開示のいくつかの実施形態に従って、サブモデル性能測定値を表示するためのインターフェースの例を示す図である。
【
図4】本開示のいくつかの実施形態に従って、サブモデル性能測定値の計算を容易にすることができるシステム環境の例を示す図である。
【
図5】本開示のいくつかの実施形態に従って、1つまたは複数のサブモデル性能測定値を計算するための方法の例のブロック図である。
【
図6】本開示のいくつかの実施形態に従って、サブモデルインサイトのコードスニペットの例を示す図である。
【
図7】本開示のいくつかの実施形態に従って、サブモデル性能測定値の計算を容易にするための構成ファイルのコードスキーマの例を示す図である。
【
図7A】本開示のいくつかの実施形態に従って、サブモデル性能測定値の計算を容易にするための構成ファイルのコードスニペットの例を示す図である。
【
図8】本開示のいくつかの実施形態を実装するのに使用するのに適したコンピューティング装置の例のブロック図である。
【発明を実施するための形態】
【0009】
本発明の詳細な説明
大まかに言えば、コンピュータモデルは、結果を予測する(例えば、現在のデータに基づいて将来のイベントを計算する)ように、および/またはタスクを実行する(例えば、データ計算に基づいて下流のシステムまたは装置によって何らかのアクションをトリガーする)ようにトレーニングされ得る。多くの場合、全体的なモデルには、全体的な予測またはタスク出力に寄与する予測やタスクを実行する複数のサブモデルが含まれる。従来は、サブモデルがトレーニングデータでトレーニングされると、モデルパイプラインが構築され、展開される。モデルパイプラインが展開されると、モデルパイプラインが目的の性能測定値内で実行されていることを検証するために、モデルパイプラインが累積的に評価され得る。しかし、モデルパイプラインの性能検出の従来のアプローチとは対照的に、本明細書で説明する側面は、サブモデルレベルの定量的および/または定性的な性能レポートを提供する。性能測定値は、監督される評価のために通信され得、および/または、記述されるシステムによって自動的に実行され得る。
【0010】
したがって、本明細書で説明する実施形態は、複数のサブモデルを含むモデルパイプラインにおける個々のサブモデル性能測定値(例えば、メトリック、ドリフト、バイアス、および/または違反)の計算を容易にする。これを実現するために、システムはデータセット(例えば、インサイト)を使用してサブモデルの演算を追跡する。一般に、データストアはサブモデルの出力(例えば、予測)とサブモデルの入力(例えば、サブモデルの機能に対応するサブモデルによって使用されるデータ)を捕捉する。サブモデルの入力は、事前エンコードされる形式(例えば、サブモデル可読データへの変換前)および/または事後エンコードされる形式(例えば、サブモデル可読データへの変換後)で捕捉され得る。例えば、サブモデルの入力は、自然言語処理、次元削減、ベクトル化、またはサブモデルによるデータの取り込みを容易にするその他の適切なデータ変換の前、および/または後に捕捉され得る。同様に、サブモデルの出力はエンコードされる形式またはデコードされる形式で捕捉され得る。例えば、第1のサブモデル(例えば、
図1のサブモデル
A104)の出力が1つまたは複数の第2モデル(例えば、
図1のサブモデル
B106)の入力である場合、データストアは、第2のサブモデルで出力されるデータおよび/または入力用に構成されるデータを捕捉できる。少なくとも1つの実施形態では、サブモデルデータは、プログラムで定義されるスキーマ内のメタデータの形式でオブジェクト指向ファイル(例えば、インサイトファイル)に捕捉される。スキーマは識別を容易にし得る。
【0011】
システムは、モデルパイプラインのサブモデルに関して1つまたは複数の性能測定値を、継続的、定期的、断続的、および/またはオンデマンドで計算するように構成できる。いくつかの実施形態では、システムは、モデルパイプラインの出力が記憶されている場所を監視したり、出力に作用するモデルパイプラインの下流のシステムを監視したりすることができる。例えば、モデルパイプライン(例えば、
図1のモデルパイプライン予測110)からの出力の保管に応答して、システムは、データストアに保持されている1つまたは複数のサブモデルに関連付けられるデータを抽出できる。自動的に実行される前処理スクリプトは、システムのレポート構成要素に1つまたは複数の構成ファイルと1つまたは複数の計算辞書を読み込み得る。レポート構成要素は、1つまたは複数の構成ファイルに基づいて、データストアに記憶されているデータを変換する。さらに、スクリプトはすべての入力データを取得し、サブモデルに基づいてデータを分離し得る。
【0012】
定義
本明細書で使用されている「観測データ」、「真実」、「実際値」、および「目標」という用語は、経験的データおよび/またはデータとしてエンコードされる観測される現実世界の情報を指すために互換的に使用される。例えば、観測データには、発生した結果のイベントまたは変数を表す、および/または定量化する測定、捕捉、または記録される値が含まれる。一例では、観測データには、医療エンティティの履歴レポートデータに記録されているように、定義される6か月間に発生した特定の医療エンティティの合計患者数の値が含まれる。
【0013】
本明細書で使用される「予測データ」という用語は、データモデルのバージョンに入力され、そこから出力されるすべてのデータを指す。例えば、予測データには、出力を生成およびトリガーするために取り込まれるトレーニングデータセットなどの入力が含まれ得る。さらに、または代わりに、予測データには、入力を使用してデータモデルのバージョンによって行われた予測など、データモデルバージョンから生成または導出される出力が含まれ得る。予測データには、データモデルに関連するメタデータ、データモデルのデータバージョンに関連するメタデータ、サブモデル入力に関連するメタデータ、および/またはサブモデル出力に関連するメタデータも含まれ得る。予測データは、データモデルバージョンの他の出力を参照できる。
【0014】
本明細書で使用されている「モデル」および「データモデル」という用語は、アルゴリズムの決定論理によって定義される機械学習/人工知能型のデータモデルを指すために互換的に使用される。データモデル(およびその任意のバージョン)には、決定論理、計算レイヤー、ニューラルネットワーク、マルコフ連鎖、重み付けアルゴリズム(変数、値、レイヤー、サブモデルに固有または非固有)、および/またはランダムフォレストなどの機能を含めることができる。単数形で言及されているが、データモデル(およびその任意のバージョン)には、例えば予測などの出力に寄与する、特定の順序で一緒にまたは並行して演算する複数の特定のサブモデルが含まれ得ることが理解されるであろう。
【0015】
本明細書で使用される「バージョン」、「サブモデルバージョン」、および「データモデルバージョン」は、データモデルの特定の反復を指すために互換的に使用され、その特定の反復に固有または一意の入力、演算(例えば、決定論理)、および/または出力に対して定義される構成を持つ。
【0016】
本明細書で使用される「スクリプト」および「コンピュータプログラミングスクリプト」という用語は、コンピュータによる一連の演算手順の実行を自動的または半自動的に実行、管理、および促進する命令の式である、コンピュータ可読かつ実行可能な命令/プログラミングコードを指すために互換的に使用される。
【0017】
本明細書で使用される「性能測定値」とは、モデルバージョンおよび/またはその他の動作の技術的性能と予測精度(または不正確さ)の側面を表し、定量化する捕捉される測定値を指す。性能測定値には、例えば、メトリック、予測精度、バイアス、データドリフト、ノイズ、分散などが含まれ得る。メトリックの例には、測定絶対割合誤差(MAPE)、平均絶対誤差(MAE)、および/または二乗平均平方根誤差(RMSE)が含まれる。
【0018】
実施形態
図1を参照すると、
図1は、モデルパイプラインの1つまたは複数のサブモデルの性能測定値を計算するための例示的なプロセス100を示す例示的なデータフロー図である。一般に、プロセス100には、モデルパイプライン予測110を生成するモデルパイプライン102が含まれ得る。モデルパイプライン102は、1つまたは複数のデータソース(例えば、
図4のデータクラスタ402)から1つまたは複数の入力を受信して、モデルパイプライン予測110を計算できる。データクラスタ402は、カオスシステムおよび/または動的システムを容易にするデータを記憶するデータベース152または複数のデータベース152および404であり得る。例えば、医療や気象学などである。言い換えれば、データに関連付けられる患者が治療、診察、退院、またはデータベースを維持する機関、ケアネットワーク、または地域とやり取りするにつれて、データは継続的、断続的、および/または定期的に変更され得る。データは、患者を監視するセンサー(例えば、心拍数および/または体重)、患者に関するデータ(例えば、入院日および/または人口統計)、および/または患者に関する観測(例えば、病気や状態の診断)によって生成され得る。
【0019】
プロセス100には、サブモデルの予測を生成するために使用されるすべてのデータ(例えば、114、118、および122)と予測自体(例えば、116、120、および124)のデータレコードを含むインサイト112の出力または捕捉が含まれ得る。インサイト112は、予測を生成するために使用されるデータをデータスキーマにフォーマットし得る。例えば、モデルパイプライン102には、出力(例えば、サブモデルA予測116)を生成するモデルパイプライン102の1つまたは複数の機械学習モデル(例えば、サブモデルA104)が含まれ得る。サブモデル(例えば、サブモデルA104、サブモデルB106、サブモデルN108)は、データソースから異なる入力を使用し得る。例えば、サブモデルA104は、サブモデルA機能114のフィールドに対応するデータを使用し得る。サブモデルB106は、サブモデルB機能118のフィールドに対応するデータを使用し得、サブモデルN108は、サブモデルN機能122のフィールドに対応するデータを使用し得る。インサイトのデータスキーマには、サブモデル実行メタデータ(例えば、1つまたは複数のサブモデルが実行される時間を示すタイムスタンプ、1つまたは複数のサブモデルのバージョン、および1つまたは複数のサブモデルに関連付けられるモデルパイプラインのIDを示すデータ)が含まれ得る。
【0020】
プロセス100には、構成ファイル126およびインサイト112を受信するレポートジョブ134も含まれ得る。一般に、構成ファイルには、監視ジョブに必要なメタデータ情報と、データを取得するための処理スクリプト、および性能測定値の計算のために簡単にクエリできる方法でデータを記憶するための処理スクリプトが含まれている。構成ファイル126には、インサイト112で識別されるデータを取得/変換/結合/分離するために必要な場合がある演算の実行を容易にする1つまたは複数のスクリプトが含まれ得る。例えば、構成ファイル126には、インサイト112からデータを抽出するのを容易にする他のオブジェクトの場所を指すクエリパラメータ(例えば、
図7Aのコード708のquery_params)が含まれ得る。同様に、構成ファイル126には、抽出されるデータの形式をレポート形式に変換するのを容易にするオブジェクトを指すデータパラメータ(例えば、
図7Aのコード712のdata_params)が含まれ得る。構成ファイル126には、1つまたは複数のサブモデルの性能測定値の計算を容易にする1つまたは複数のスクリプトも含まれ得る。性能測定値には、メトリック測定値、バイアス測定値、ドリフト測定値、および/または違反測定値などが含まれ得る。
【0021】
バイアス測定値は一般に、トレーニングデータに基づいてデータ要素の重みおよび/または表現を計算的に定量化する性能測定値である。偏ったデータは歪んだ予測結果をもたらす可能性があるため、サブモデルレベルでバイアスを検出すると、モデルパイプライン内の特定の種類のプログラム誤差および/またデータ誤差の識別および/または特定が容易になる。
【0022】
モデルバージョンのバイアスを計算する際には、1つまたは複数のベースラインを使用して、インサイト機能のリアルタイムデータからの予測が分析される。ベースラインは、機能と予測値を含むトレーニングデータから生成され得る。これは結果を生み出すのに役立つ。この結果は、時間の経過に伴うベースラインに対するデータの機能レベルのバイアスの進行を説明する包括的なレポートになり得る。
【0023】
事前(実際値のラベルを使用して機能を評価)および事後(実際値と予測のラベル値を使用して機能を評価)トレーニングバイアスがサポートされている。例えば、モデルパイプラインデータ(実際値)が評価されると、モデル監視システムは前処理ファイルとベースラインファイルをシステムに読み込み、前処理アルゴリズムを実行して、モデルのインサイト機能と実際値を取得する。次に、バイアスと構成されるメトリックを使用してベースラインファイルでデータが分析され、事前トレーニングバイアスが計算される。別の例では、モデルパイプラインデータ(実際値と予測)が評価されると、モデル監視システムは前処理ファイルとベースラインファイルをシステムに読み込み、前処理アルゴリズムを実行して、モデルのインサイト機能と実際値を取得する。次に、バイアスと構成されるメトリックを使用してベースラインファイルでデータが分析され、事後トレーニングバイアスが計算される。
【0024】
ドリフト測定値は一般に、サブモデルによって使用および/または生成されるデータの構造またはセマンティクスに対する予期しない変更または文書化されていない変更の発生を計算的に定量化する性能メトリックである。ドリフトイベントによって予測モデルが破損したり、計算演算が中断されたりし得るため、サブモデルレベルでドリフトを検出すると、モデルパイプライン内の特定の種類のプログラム上の欠陥の識別および/または特定が容易になる。
【0025】
ドリフト計算の例では、トレーニングデータから作成されるベースラインを使用してモデル機能が分析される。例示的なドリフト計算では、ベースラインデータに対するモデルデータの統計情報が取得される。次いで、ドリフト計算により、モデル内の機能に存在するドリフトが識別され得る。さらに、ドリフト計算は、各モデルごとにそれぞれのベースラインを使用して複数のモデルを分析するように演算し得る。複数のモデルの場合、各モデルに対してベースラインファイルが存在し得、各モデルの機能が各モデルのそれぞれのモデルベースラインにマッピングされ得る。
【0026】
違反は、閾値および/またはベースラインに違反したときに測定される。例えば、違反が発生したモデルバージョンの機能と特定の性能測定値、違反したベースラインおよび/または閾値の期待値および/または目標値、違反が決定された性能の値などである。さらに、モデルまたはサブモデル内の機能は、トレーニングデータから作成されるベースラインを使用して分析される。モデルの分析中に、モデルデータ内の新しい機能の発生や欠落している機能が捕捉される。モデルデータ内の有効な機能については、ベースラインを使用してデータが分析され、データ型の不一致、正、負、およびゼロ以外の変動や違反が捕捉される。
【0027】
一般に、メトリック測定値には、サブモデルの予測信頼性の分析比較が含まれる。例えば、
図7Aに示すように、構成ファイルには、1つまたは複数のサブモデルについて、測定絶対割合誤差(MAPE)、平均絶対誤差(MAE)、または二乗平均平方根誤差(RMSE)のメトリック、またはそれらの組み合わせが含まれ得る。MAPEは一般的に次の例で表現されるが、MAPEの他の式も、本明細書で説明する側面の範囲内にあると考えられる。
【0028】
【0029】
一般的に、MAEは次の例のように表現されるが、MAEの他の式も、本明細書で説明する側面の範囲内にあると考えられる。
【0030】
【0031】
RMSEは一般に、予測誤差の標準偏差である。したがって、RMSEは次の例のように表現できるが、本明細書で説明する側面の範囲内には、RMSEの他の式も含まれると考えられる。
【0032】
【0033】
上記の例の式では、Aは観測データを指し、Fは入力データに基づく予測を指す。構成ファイル126には、適用可能な各サブモデルの性能測定値に関連付けられるベースライン閾値も含まれ得る。例えば、
図7Aに示すように、構成ファイルには、入院患者サブモデルのMAE値の最大値閾値が含まれ得る。
【0034】
レポートジョブ134は、インサイト112と、構成ファイル126に含まれる計算ライブラリおよびデータ形式命令に基づいて、1つまたは複数のサブモデル性能測定値レポート(例えば、サブモデルA性能測定値レポート136)を計算することができる。例えば、計算ライブラリおよびデータ形式命令の適用により、サブモデルA予測116およびデータソース152からの対応する観測データに基づいて、サブモデルA104に適用可能なMAPE、MAE、RMSE、またはその他のメトリック測定値を計算できる。
【0035】
プロセス100には、1つまたは複数のサブモデル性能測定値レポート(例えば、サブモデル
A性能測定値レポート136)をサブモデルスコア(例えば、サブモデル
Aヘルススコア144)に変換することも含まれ得る。サブモデルスコアは2つのレベルで計算できる。第1のレベルには、計算される性能測定値を対応するベースライン閾値と比較することが含まれ得る。いくつかの実施形態では、サブモデルは、性能メトリックに対して計算される値が最大閾値を下回る、および/または最小閾値を上回る場合に、第1のレベルのスコアを「合格」し得る。同様に、サブモデルは、性能メトリックに対して計算される値が最大閾値を上回るか、最小閾値を下回る場合、第1のレベルのスコアに「不合格」になる可能性がある。さらに、性能測定値のために計算される値がベースライン閾値の所定の値内にある場合、サブモデルは第1のレベルのスコアに対して「リスクあり」と分類され得る。例えば、
図7Aに示すように、入院患者サブモデルに関連付けられる構成ファイルには、入院患者サブモデルのMAE値の最大値閾値を設定する例示的コード7010が含まれ得る。入院患者サブモデルは、レポートジョブ134によってMAEに対して計算される値がMAE最大ベースライン閾値を下回る場合、MAEの第1のレベルのスコアに合格し得る。構成ファイルには、ドリフト測定値パラメータと処理を設定する例示的コード7012および7014も含まれ得る。
【0036】
サブモデルスコアの第2のレベルには、モデルパイプライン内のサブモデルの定量的に計算される表現(例えば、マルチモデルヘルススコア150)が含まれ得る。例えば、第2のレベルのスコアは、サブモデルに対して計算される性能測定値の合計数と比較して、合格した性能測定値の合計数を含み得る。合格した性能測定値の割合が所定の値を上回る場合、サブモデルは第2のレベルのスコアに合格し得る。いくつかの実施形態では、合格した性能測定値の合計数が所定の値を下回るが二次的な値を上回る場合、サブモデルは「リスクあり」と識別され得る。同様に、合格した性能測定値の合計数が二次的な値を下回る場合、サブモデルは「不合格」と識別され得る。いくつかの実施形態では、1つまたは複数の性能測定値クラス(例えば、メトリック測定値、バイアス測定値、ドリフト測定値、違反測定値)の第2のレベルのサブモデルスコアを計算することができる。
【0037】
プロセス100のいくつかの実施形態では、サブモデルスコアは、レポートダッシュボードモジュール142のインターフェース(例えば、
図3のインターフェース300)によって確認できる場合がある。インターフェースは、第1のレベルおよび/または第2のレベルのサブモデルヘルススコアの順序付けられる視覚的表現を提示し得る。例えば、サブモデル
Aヘルススコア144、サブモデル
Bヘルススコア146、および/またはサブモデル
Nヘルススコア148は、インターフェース300の第1の部分で、性能測定値の各クラス(例えば、メトリック、ドリフト、バイアス、違反)ごとに要約され得る。別の例として、個別化されるサブモデル
Aヘルススコア144、サブモデル
Bヘルススコア146、および/またはサブモデル
Nヘルススコア148は、インターフェース300の要素との対話によってアクセス可能となり得る。
【0038】
さらに、または代替的に、プロセス100のいくつかの実施形態には、各サブモデルの相対的なヘルススコアに基づいて、サブモデルをサブモデルの異なるバージョンに自動的に置き換えることが含まれる。監視ダッシュボードモジュール142は、性能レポートおよび/またはヘルススコアの性能測定値データに基づいて、サブモデルの1つの主要バージョンを決定することができる。例えば、デスパレートなモデルパイプラインに組み込まれた同じサブモデルの異なるバージョン(例えば、サブモデルAの第1バージョンとサブモデルAの第2バージョン)の複数のスコアを、監視ダッシュボードモジュール142を介して比較できる。サブモデルの主要バージョンは、自律的に識別および選択され得る。例えば、サブモデルの性能スコアにおけるさまざまな性能測定値のシステム主導の比較を考慮して、主要バージョンがサブモデルの少なくとも1つの他のバージョンと比較して性能測定値の向上および/または優れた予測精度を示している場合などである。あるいは、リストからの主要バージョンのユーザー手動選択および/または、システムの推奨される主要バージョンのユーザー確認など、ユーザー入力に応じて主要バージョンを半自律的に選択することもできる。その後、システムは主要サブモデルバージョンの展開を実行および/またはトリガーできる。
【0039】
図2を参照すると、
図2は、本明細書に記載の実施形態に従った、入院予測モデルパイプライン202を含む予測モデルプロセス200の例を示している。入院予測モデルパイプライン202は、
図4のデータクラスタ402からのデータを使用して、今後12時間、24時間、36時間、および72時間の病院の総患者入院数の予測を計算できる。全体的な予測を容易にするために、入院予測モデルパイプライン202には、1つまたは複数の緊急予測サブモデル204と1つまたは複数の入院患者予測サブモデル206などが含まれ得る。1つまたは複数の緊急予測サブモデル204は、
図4のデータクラスタ402の1つまたは複数のデータベース内の複数のフィールドを使用して、今後12時間、24時間、36時間、および72時間の緊急入院を予測することができる。同様に、1つまたは複数の入院患者予測サブモデル206は、
図4のデータクラスタ402の1つまたは複数のデータベース内の複数のフィールドを使用して、今後12時間、24時間、36時間、および72時間の非緊急入院を予測することができる。
【0040】
図に示すように、プロセス200には、モデルパイプライン202の出力としてインサイト208を生成することが含まれる。インサイト208は、モデルパイプライン202および緊急サブモデル204と入院患者予測サブモデル206に関するメタデータを捕捉するオブジェクトファイル(例えば、JavaScriptオブジェクト表記ファイル)であり得る。例えば、インサイト208は、要因210と値212を捕捉し得る。要因210は、モデルパイプライン202のID、サブモデルのID、モデルが開始される時刻、およびサブモデルの出力などを表すメタデータを識別するオブジェクトファイル内のプログラム式であり得る。値212は、サブモデルによって使用される機能(例えば、他のオブジェクトファイル、データベースフィールド)や機能のプロパティなどを表すメタデータであり得る。いくつかの実施形態では、インサイト208または別のインサイトは、サブモデル出力に対応する観測データについて上記で説明したものと同様のデータを表すメタデータを捕捉し得る。
【0041】
プロセス200には、構成ファイル214の計算辞書および性能測定値に基づいて性能測定値レポート(例えば、緊急サブモデル性能レポート224および非緊急サブモデル性能レポート226)を生成するレポートジョブ222が含まれる。構成ファイル214は、メタデータ情報、処理スクリプト、およびレポートジョブ222がインサイト208で識別されるデータを取得/変換/結合/分離するために必要な場合がある演算を実行するのを容易にする出力記憶場所などを含むオブジェクトファイルであり得る。例えば、構成ファイルには、インサイト208からデータを抽出するのを容易にする他のオブジェクトの場所を指すクエリパラメータ(例えば、
図7Aのコード708のquery_params)が含まれ得る。別の例として、構成ファイルには、抽出されるデータの形式をレポート形式に変換するのを容易にするオブジェクトを指すデータパラメータ(例えば、
図7Aのコード714のdata_params)が含まれ得る。構成ファイル214には、1つまたは複数のサブモデルの性能測定値の計算を容易にする1つまたは複数のスクリプトも含まれ得る。
【0042】
図に示すように、性能測定値レポートの生成には、観測データ220を取り込むレポートジョブも含まれ得る。観測データ220は、予測に対応する観測結果を表すデータクラスタ402に記憶されるデータであり得る。したがって、観測データ220は、緊急サブモデル204および入院患者予測サブモデル206に対応する同じ期間の観測される緊急入院および非緊急入院である可能性がある。
【0043】
図4を参照すると、
図4は、本明細書に記載の実施形態に従った例示的なシステム環境400を示している。システム環境400のブロック構成要素は、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせを含み得るコンピューティングプロセスおよび/または構成要素を含む。例えば、システム環境400には、
図8のコンピューティング環境800に関連して説明されている1つまたは複数の装置が含まれ得る。
【0044】
図4に示すように、システム環境400には、データクラスタ402の1つまたは複数のデータベースが含まれる。データクラスタ402は、1つまたは複数のリレーショナルデータベース(例えば、データベース152およびデータベース404)に構造化データと非構造化データを維持できる。データは、あらゆるカオスシステムおよび/または動的システムに関連し得る。例えば、データは、複数の人に対応する値、コメント、記録などを含むことができる。人々がデータクラスタ402を維持する1つまたは複数のエンティティと対話すると、データベース152および/またはデータベース404内の追加データが変更(例えば、追加、編集、削除、またはその他の方法で操作)され得る。例えば、データに関連付けられる患者が治療、診察、退院、またはデータクラスタ402を維持する機関、ケアネットワーク、または地域とその他のやり取りを行うと、データは継続的、断続的、および/または定期的に変更され得る。データは、患者を監視するセンサー(例えば、心拍数および/または体重)、患者に関するデータ(例えば、入院日および/または人口統計)、および/または患者に関する観測(例えば、病気や状態の診断)によって生成され得る。第1の時点のデータは、モデルパイプライン(例えば、モデルパイプライン102)によって、将来の時点の結果を予測するために使用され得る。データは、次いで、第1の時点から将来の時点へと時間が進むにつれて変更され得る。データクラスタ402に保持されているデータは、将来の時点で、以前に予測される結果に対応する観測される結果を決定するために使用され得る。
【0045】
システム環境400には、モデルパイプライン102と1つまたは複数のサブモデルを含むモデリングジョブ406も含まれる。モデリングジョブ406には、モデルパイプライン102を継続的、断続的、および/または定期的に実行するプログラム式が含まれ得る。モデリングジョブ406には、モデルパイプライン102に対応する1つまたは複数の出力を生成するプログラム式も含まれ得る。例えば、モデリングジョブ406は、データベースに1つまたは複数のインサイト112を出力し得る。いくつかの実施形態では、インサイト112は、モデルパイプライン102、1つまたは複数のサブモデル、および/または観測データに関連するメタデータを捕捉する1つまたは複数のオブジェクトファイル(例えば、JavaScriptオブジェクト表記ファイル)である。例えば、インサイト112には、
図6に示すように、観測されるインサイト式602、インサイト要因式604、および/またはインサイト値式606と同様の式が含まれ得る。特に、式602、604、および606は単なるインサイト式の例であり、限定するものではない。
【0046】
システム環境400には、構成モジュール408と実行モジュール410を含むレポートジョブ134も含まれている。レポートジョブ408には、サブモデルレポートを継続的、断続的、および/または定期的に計算するプログラム式が含まれ得る。例えば、実行モジュール410は、モデルパイプライン102からの出力に応答して構成モデル408をアクティブ化するようにプログラムされ得る。アクティブ化されると、構成モデル408はインサイト112にアクセスし、データベースに保持されている構成ファイル126を識別し得る。いくつかの実施形態では、構成ファイル126は、モデルパイプライン102、1つまたは複数のサブモデル、および/または1つまたは複数の性能測定値に関連するオブジェクト指向式を含む1つまたは複数のオブジェクトファイル(例えば、JavaScriptオブジェクト表記ファイル)である。例えば、構成ファイル126は、
図7に示すようなデータスキーマ700内にあり得る。データスキーマ700には、メタデータ情報(例えば、コード702)、性能測定値(例えば、コード704)、および出力記憶場所(例えば、コード706)などが含まれ得、レポートジョブ134は、インサイト112で識別されるデータを取得/変換/結合/分離するために必要な場合がある演算を実行するのが容易になる。
図7Aに示すように、データスキーマ700には、事前構成される性能測定値が含まれ得る。例えば、データスキーマ700には、MAEメトリック測定値を含む例示的コード7010などのコードを含み得る1つまたは複数のメトリック測定値(例えば、コード710)が含まれ得る。同様に、データスキーマ700には、例示的コード7012および/または例示的コード708などのコードを含むことができる1つまたは複数のドリフト測定値が含まれ得る。データスキーマ700には、同様に、1つまたは複数の違反測定値および/または1つまたは複数のバイアス測定値が含まれ得る。レポートジョブ134には、1つまたは複数の構成ファイル126によって呼び出され得る計算ルールとアルゴリズムを維持する計算ライブラリ412も含まれ得る。
【0047】
システム環境400には、サブモデルヘルススコアの計算を容易にするレポートダッシュボード142も含まれている。レポートダッシュボード142には、計算されるサブモデルヘルススコア(例えば、ユーザーインターフェース300)の対話型プレゼンテーションを容易にできるユーザーインターフェース414が含まれ得る。レポートダッシュボード142には、ヘルススコア計算モジュール416も含まれ得る。ヘルススコア計算モジュール416には、サブモデルの定性的および/または定量的評価を容易にするルールが含まれ得る。例えば、サブモデルは、性能メトリックに対して計算される値が最大閾値を下回る場合、および/または最小閾値を上回る場合に、第1のレベルのスコアを「合格」し得る。同様に、サブモデルは、性能メトリックに対して計算される値が最大閾値を上回るか、最小閾値を下回る場合、第1のレベルのスコアに「不合格」になることができる。さらに、性能メトリックに対して計算される値がベースライン閾値の所定の値内にある場合、サブモデルは第1のレベルのスコアに対して「リスクあり」と分類され得る。
【0048】
システム環境400には、ネットワーク418も含まれる。ネットワーク418には、無線接続および/または物理接続(例えば、有線接続)が含まれ得る。例示的なネットワークには、サービスプロバイダーまたはキャリアの通信ネットワーク、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、セルラー通信ネットワーク、Wi-Fiネットワーク、短距離無線ネットワーク、無線メトロポリタンエリアネットワーク(WMAN)、Bluetooth(登録商標)対応ネットワーク、光ファイバーネットワーク、またはそれらの組み合わせが含まれる。ネットワーク418は、一般に、構成要素および装置にインターネットおよびWebベースのアプリケーションへのアクセスを提供する。
【0049】
図5を参照すると、
図5は、本明細書に記載の実施形態に従って、サブモデルの性能測定値を計算する方法500を示している。本明細書で説明する方法500の各ブロックは、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせを使用して実行できるコンピューティングプロセスを含む。例えば、プロセッサがメモリに記憶される命令を実行することによって、さまざまな機能が実行され得る。方法500は、コンピュータ記憶媒体に記憶されるコンピュータ使用可能な命令として実施することもできる。方法500は、スタンドアロンアプリケーション、サービスまたはホストサービス(スタンドアロンまたは別のホストサービスとの組み合わせ)、または別の製品へのプラグインなどによって提供され得る。さらに、方法500は、
図1のプロセス100または
図2のプロセス200に関して例として説明されている。しかし、この方法は、本明細書で説明するものを含むがこれに限定されない、任意の1つのシステム、または任意のシステムの組み合わせによって追加的または代替的に実行されてもよい。
【0050】
方法500のブロック502には、1つまたは複数のサブモデルを含むモデルパイプラインの出力を検出することが含まれる。例えば、モデルパイプライン102は、モデルパイプライン予測110を出力し得る。さらに、モデルパイプライン102はモデルインサイト112を出力し得る。レポートジョブ134は、モデルパイプライン予測110またはモデルインサイト112の出力を検出することができる。別の例として、入院モデルパイプライン202はインサイト208を出力し得る。レポートジョブ222は、データベースまたはその他のデータ記憶媒体へのインサイト208の追加を検出し得る。
【0051】
方法500のブロック504には、モデルパイプラインに対応するデータセットを取得することが含まれる。例えば、モデルパイプライン102からの出力の検出に応答して、レポートジョブ134はインサイト112を取得することができる。別の例として、レポートジョブ222はインサイト208を取得し得る。
【0052】
ブロック506では、方法500は、1つまたは複数のサブモデルに対応する構成ファイルに基づいてレポートモジュールを構成することを含む。例えば、レポートジョブ134は、構成ファイル126を読み込み、計算ライブラリの構成と、インサイト112のデータ処理手順のスクリプト化を容易にすることができる。別の例として、レポートジョブ222は、構成ファイル214を読み込み、1つまたは複数の緊急予測サブモデル性能測定値計算ライブラリおよびスクリプト216と、1つまたは複数の入院患者予測サブモデル性能測定値計算ライブラリおよびスクリプト218の構成を容易にすることができる。
【0053】
方法500のブロック508には、構成されるレポートモジュールに基づいて、1つまたは複数のサブモデルの性能測定値を計算することが含まれる。例えば、レポートジョブ134は、サブモデルA性能測定値128、サブモデルB性能測定値130、および/またはサブモデルN性能測定値132を計算する構成ファイル126内の1つまたは複数のスクリプトを実行し得る。別の例として、レポートジョブ222は、構成ファイル214内のスクリプトを使用して、緊急サブモデル性能レポート224および/または非緊急サブモデル性能レポート226を生成することができる。
【0054】
方法500のいくつかの実施形態には、計算される性能測定値に基づいてサブモデルヘルススコアを生成することも含まれ得る。例えば、レポートダッシュボード142は、サブモデルA性能測定値レポート136のデータを使用して、サブモデルAヘルススコア144を計算し得る。レポートダッシュボード142は、サブモデルB性能測定値レポート138のデータを使用して、サブモデルBヘルススコア146を計算することができる。レポートダッシュボード142は、サブモデルN性能測定値レポート140のデータを使用して、サブモデルNヘルススコア148を計算することができる。さらに、例えば、レポートダッシュボード142は、サブモデルAヘルススコア144、サブモデルBヘルススコア146、および/またはサブモデルNヘルススコア148のデータを使用して、マルチモデルヘルススコア150を計算することができる。
【0055】
方法500のいくつかの実施形態には、サブモデルの複数のバージョンにわたるサブモデルスコアの比較分析も含まれ得る。例えば、サブモデルAヘルススコア144、サブモデルBヘルススコア146、および/またはサブモデルNヘルススコア148を、サブモデルA、サブモデルB、および/またはサブモデルNの他のバージョンに関連付けられるヘルススコアと比較する。サブモデルの主要バージョンが展開されるモデルパイプラインに含まれていない場合、方法500の一部の実施形態では、展開されるサブモデルをサブモデルの主要バージョンに置き換えることができる。主要モデルは、別のモデルバージョン(例えば、現在使用中のデータモデルバージョン)と比較して、技術的な性能測定値の改善および/または予測精度の向上を示しているため、主要サブモデルは技術的な動作と性能の改善を示しているため、展開され得る。したがって、新しく展開される主要サブデータモデルバージョンは、性能がそれほど良くない別のサブモデルバージョンを置き換える。さらに、または代わりに、主要バージョンを入力として使用して、対応するデータモデルを再トレーニングし、データモデルの追加の更新バージョンを生成することもできる。
【0056】
図8から始まり、本発明の実施形態に従った例示的なコンピューティング環境が示される。当業者であれば、例示のコンピューティング環境800は適切なコンピューティング環境の一例にすぎず、本発明の使用範囲や機能性を限定するものではないことを理解できるであろう。同様に、コンピューティング環境800は、
図8に示されている各構成要素および構成要素の組み合わせに関して、何らかの依存関係および/または何らかの要件を課すものとして解釈されるべきではない。
図8に示す接続も例示であり、
図8に示すように、構成要素、装置、システム、およびエンティティ間の通信リンクを確立するための他の方法、ハードウェア、ソフトウェア、および装置も、本発明の実装に利用できることが当業者には理解されるであろう。接続は1つまたは複数の実線を使用して示されているが、
図8の例示的な接続は有線または無線であり、簡略化のために
図8に省略または含まれていない中間構成要素を使用し得ることは、当業者には理解されるであろう。したがって、
図8に構成要素が存在しないことは、本発明が追加の構成要素および構成要素の組み合わせを除外するように限定するものとして解釈されるべきではない。さらに、
図8では装置および構成要素が単一の装置および構成要素として表されているが、実施形態によっては複数の装置および構成要素が含まれ得、そのため、
図8は装置または構成要素の数を限定するものではないことが理解されるであろう。
【0057】
続いて、
図8のコンピューティング環境800は、構成要素と装置が互いに離れており、別々のタスクを実行できる分散環境として示されている。構成要素および装置は相互に通信し、ネットワーク802を使用して相互にリンクされ得る。ネットワーク802には、無線接続および/または物理接続(例えば、有線接続)が含まれ得る。例示的なネットワークには、サービスプロバイダーまたはキャリアの通信ネットワーク、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、無線ローカルエリアネットワーク(WLAN)、セルラー通信ネットワーク、Wi-Fiネットワーク、短距離無線ネットワーク、無線メトロポリタンエリアネットワーク(WMAN)、Bluetooth(登録商標)対応ネットワーク、光ファイバーネットワーク、またはそれらの組み合わせが含まれる。ネットワーク802は、一般に、構成要素と装置にインターネットとWebベースのアプリケーションへのアクセスを提供する。
【0058】
コンピューティング環境800は、サーバ804の形態のコンピューティング装置を含む。
図8では1つの構成要素として図示されているが、本発明はコンピューティング環境800内で複数のローカルサーバおよび/またはリモートサーバを利用することもできる。サーバ804には、処理ユニット、内部システムメモリ、データベースまたはデータベースクラスタを含むさまざまな構成要素に結合するための適切なシステムバスなどの構成要素が含まれ得る。いくつかの実施形態では、データクラスタはクラウドベースのデータストアの形式をとり、いくつかの実施形態では、クラウドベースのコンピューティングプラットフォームによってアクセス可能になる。システムバスは、さまざまなバスアーキテクチャを使用する、メモリバスまたはメモリコントローラ、周辺機器バス、ローカルバスなど、いくつかの種類のバス構造のいずれかになり得る。例として、限定するものではないが、このようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス標準協会(VESA(登録商標))ローカルバス、およびメザニンバスとも呼ばれる周辺機器相互接続(PCI)バスが含まれる。
【0059】
サーバ804には、コンピュータ可読媒体が含まれ得、またはコンピュータ可読媒体にアクセスできる場合もある。コンピュータ可読媒体は、サーバ804がアクセスできる任意の利用可能な媒体であり得、揮発性媒体と不揮発性媒体、および取り外し可能な媒体と取り外し不可能な媒体が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体や通信媒体が含まれ得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータなどの情報を記憶するための任意の方法または技術で実装される、揮発性媒体および不揮発性媒体、ならびに取り外し可能媒体および取り外し不可能媒体が含まれ得るが、これらに限定されない。この点に関して、コンピュータ記憶媒体には、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フラッシュメモリまたはその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または必要な情報を記憶するために使用でき、サーバ804によってアクセスできるその他の媒体が含まれ得るが、これらに限定されない。コンピュータ記憶媒体自体には一時的な信号は本来含まれない。
【0060】
通信媒体は通常、搬送波やその他の転送メカニズムなどの変調データ信号にコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを組み込んでおり、あらゆる情報配信媒体が含まれ得る。本明細書で使用される「変調データ信号」という用語は、信号内の情報をエンコードするように1つまたは複数の属性が設定または変更される信号を指す。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、および音響、無線周波数(RF)、赤外線、その他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれ得る。
【0061】
実施形態では、サーバ804は論理接続を使用して、コンピューティング環境800内の1つまたは複数のリモートコンピュータ806と通信する。ネットワーク802に無線ネットワークが含まれる実施形態では、サーバ804はモデムを使用してインターネットとの通信を確立したり、サーバ804はWi-Fiまたは無線アクセスポイントを使用してインターネットに接続したり、サーバは無線ネットワークアダプタを使用してインターネットにアクセスしたりすることができる。サーバ804は、ネットワーク802を使用して、
図8に示されている構成要素および装置の一部またはすべてと双方向通信を行う。したがって、サーバ804は、ネットワーク802を介してリモートコンピュータ806にデータを送信したり、リモートコンピュータ806からデータを受信したりすることができる。
【0062】
リモートコンピュータ806は単一の装置として示されているが、複数のコンピューティング装置が含まれ得る。分散ネットワークを備えた実施形態では、リモートコンピュータ806は1つまたは複数の異なる地理的位置に配置できる。リモートコンピュータ806が複数のコンピューティング装置である実施形態では、複数のコンピューティング装置の各々は、キャンパス内の建物、医療施設内の医療および研究施設、銀行/クレジットエンティティのオフィスまたは「支店」などのさまざまな場所に配置され得、また、例えば、人が着用したり持ち運んだりするモバイル装置、または車両や倉庫内の追跡可能なアイテムに取り付けられるモバイル装置である場合もある。
【0063】
いくつかの実施形態では、リモートコンピュータ806は、例えば、研究室、入院室、外来室、病院、医療車両、獣医環境、外来環境、医療請求オフィス、財務または管理オフィス、病院管理環境、在宅医療環境、および/または医療専門家のオフィスなどの医療環境に物理的に配置される。一例として、医療専門家には、医師、外科医、放射線科医、心臓専門医、腫瘍専門医などの医療専門家、救急救命士、医師助手、診療看護師、看護師、看護師助手、薬剤師、栄養士、微生物学者、臨床検査専門家、遺伝カウンセラー、研究者、獣医、学生などが含まれ得る。他の実施形態では、リモートコンピュータ806は、梱包および出荷施設などの非医療環境に物理的に配置されるか、または配達車両または宅配車両のフリート内に配備され得る。
【0064】
続いて、コンピューティング環境800にはデータストア808が含まれる。データストア808は単一の構成要素として示されているが、メモリ装置の地理的または物理的な場所に関係なく、相互に通信可能に結合される複数のデータストアを使用して実装することもできる。例示的なデータストアは、成果物、サーバリスト、サーバに関連付けられるプロパティ、環境、環境に関連付けられるプロパティ、複数の異なるコンピュータプログラミング言語でエンコードされるコンピュータ命令、展開スクリプト、アプリケーション、アプリケーションに関連付けられるプロパティ、リリースパッケージ、リリースパッケージのバージョン情報、アプリケーションに関連付けられるビルドレベル、アプリケーションの識別子、リリースパッケージの識別子、ユーザー、ユーザーに関連付けられるロール、ロールに関連付けられる権限、ワークフローおよびワークフローのステップ、クライアント、クライアントに関連付けられるサーバ、プロパティに関連付けられる属性、監査情報、および/またはワークフローの監査証跡の形式でデータを記憶できる。例示的なデータストアは、例えば、患者の電子医療記録、取引記録、請求記録、タスクおよびワークフロー記録、時系列イベント記録などの電子記録の形式でデータを記憶することもできる。
【0065】
一般に、データストア808には、データにエンコードされる情報を記憶するように構成される物理メモリが含まれる。例えば、データストア808は、コンピュータ可読命令、コンピュータ実行可能な命令、データ構造、データ配列、コンピュータプログラム、アプリケーション、およびコンピューティング環境800と例示的な
図8に示されている構成要素を使用して実行される機能とアクションをサポートするその他のデータの記憶装置を提供できる。
【0066】
ネットワーク802を介して通信可能に結合される分散構成要素を持つコンピューティング環境では、プログラムモジュールは、例えばメモリ記憶装置のみを含む、ローカルおよび/またはリモートコンピュータ記憶媒体に配置され得る。本発明の実施形態は、コンピューティング装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の文脈で説明できる。プログラムモジュールには、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれ得るが、これらに限定されない。実施形態では、サーバ804は、プログラムモジュールを含むデータストア808に記憶される情報にアクセスし、取得し、通信し、受信し、更新することができる。したがって、サーバ804は、プロセッサを使用して、データストア808に記憶されるコンピュータ命令を実行し、本明細書で説明する実施形態を実行することができる。
【0067】
図8の装置の内部構成要素(例えば、サーバ804)は図示されていないが、当業者であれば、
図8の装置には内部構成要素およびそれらの相互接続が存在することを理解するであろう。したがって、内部構築装置に関する追加の詳細は、本明細書ではこれ以上開示されない。
【0068】
本開示は、パーソナルデータアシスタントやその他のハンドヘルド装置などのコンピュータまたはその他の機械によって実行される、プログラムモジュールなどのコンピュータ実行可能命令を含む、コンピュータコードまたは機械使用可能命令の一般的な文脈で説明され得る。一般に、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含むプログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりするコードを指す。本開示は、ハンドヘルド装置、民生用電子機器、汎用コンピュータ、より特殊なコンピューティング装置など、さまざまなシステム構成で実施することができる。本開示は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施できる。
【0069】
本明細書において、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つが含まれ得る。
【0070】
本開示の主題は、法定要件を満たすために本明細書で具体的に説明されている。しかし、説明自体は本開示の範囲を限定することを意図するものではない。むしろ、発明者は、請求される主題が、他の現在または将来の技術と組み合わせて、この文書で説明されているものと同様の異なるステップまたはステップの組み合わせを含むように、他の方法でも具体化され得ると考えた。さらに、本明細書では、「ステップ」および/または「ブロック」という用語は、使用される方法のさまざまな要素を暗示するために使用され得るが、個々のステップの順序が明示的に説明されていない限り、これらの用語は、本明細書で開示されているさまざまなステップ間の特定の順序を意味するものとして解釈されるべきではない。
【国際調査報告】