(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】計算システムにまたがるタスクにおけるデータ完全性の保存
(51)【国際特許分類】
G06Q 50/22 20240101AFI20240723BHJP
【FI】
G06Q50/22
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023579369
(86)(22)【出願日】2022-04-04
(85)【翻訳文提出日】2023-12-22
(86)【国際出願番号】 US2022023289
(87)【国際公開番号】W WO2022271253
(87)【国際公開日】2022-12-29
(32)【優先日】2021-06-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519019791
【氏名又は名称】フジフイルム ソノサイト インコーポレイテッド
(74)【代理人】
【識別番号】100139594
【氏名又は名称】山口 健次郎
(72)【発明者】
【氏名】バーソロミュー,クリストファー
(72)【発明者】
【氏名】カーラー,トッド
(72)【発明者】
【氏名】ニッセル,スチュアート
(72)【発明者】
【氏名】クーパー,キャスリーン
(72)【発明者】
【氏名】グレイコ,デイビッド
【テーマコード(参考)】
5L099
【Fターム(参考)】
5L099AA13
(57)【要約】
コンピュータにより実施される方法、コンピュータプログラム製品、およびコンピュータシステムは、個人がある場所に存在することを示すメッセージを取得するプロセッサを含む。プロセッサは、固有の識別子を有する個人のための新しいサービス要求を生成する。プロセッサは、新しいサービス要求をコンピューティング環境内の共有キューに送信する。
【特許請求の範囲】
【請求項1】
コンピュータにより実施される方法であって、
コンピューティング環境内の1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、
前記1つまたは複数のプロセッサにより、前記個人のための新しいサービス要求を生成するステップであって、前記個人のための前記新しいサービス要求が固有の識別子を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに前記新しいサービス要求を送信するステップと、
を含む、コンピュータにより実施される方法。
【請求項2】
前記個人のための前記新しいサービス要求を生成するステップが、
前記1つまたは複数のプロセッサにより、前記個人に関連付けられた既存のサービス要求が所定の時間枠の間に前記1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、
前記既存のサービス要求が前記所定の枠の間に生成されたと判定するステップに基づいて、前記1つまたは複数のプロセッサにより、前記既存のサービス要求の固有の識別子に基づいて前記新しいサービス要求の前記固有の識別子を生成するステップであって、前記生成するステップが、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記固有の識別子を予約するステップであって、前記既存のサービス要求の前記固有の識別子の最終値が整数を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記固有の識別子の前記最終値を所定の値だけ増分するステップと、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記増分された固有の識別子を前記新しいサービス要求の前記固有の識別子として前記新しいサービス要求に関連付けるステップと、を含む前記生成するステップと、
を含む、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記個人のための前記新しいサービス要求を生成するステップが、
前記1つまたは複数のプロセッサにより、前記個人に関連付けられた既存のサービス要求が所定の時間枠の間に前記1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、
前記所定の枠の間に既存のサービス要求が生成されなかったと判定するステップに基づいて、前記1つまたは複数のプロセッサにより、前記新しいサービス要求の前記固有の識別子を生成するステップであって、前記新しいサービス要求の前記固有の識別子の最終値が整数を含む、ステップと、
を含む、請求項1に記載のコンピュータにより実施される方法。
【請求項4】
前記1つまたは複数のプロセッサにより、前記1つまたは複数のモダリティのうちのモダリティから、前記新しいサービス要求が完了したという通知を取得するステップと、
前記1つまたは複数のプロセッサにより、前記新しいサービス要求の前記固有の識別子を予約するステップと、
前記1つまたは複数のプロセッサにより、前記新しいサービス要求の前記固有の識別子の前記最終値を、前記所定の時間枠の間に生成された前記個人に関連付けられた次のサービス要求のための固有の識別子として使用するための前記所定の値だけ増分するステップと、
をさらに含む、請求項1に記載のコンピュータにより実施される方法。
【請求項5】
前記1つまたは複数のプロセッサにより、前記1つまたは複数のモダリティのうちの少なくとも1つのモダリティを識別するステップであって、前記少なくとも1つのモダリティが、前記少なくとも1つのモダリティが前記新しいサービス要求を完了することを可能にする技術的特性を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記少なくとも1つのモダリティに、前記新しいサービス要求が前記共有キューに送信されたことを通知するステップと、
をさらに含む、請求項1に記載のコンピュータにより実施される方法。
【請求項6】
前記新しいサービス要求を前記共有キューに送信し、前記少なくとも1つのモダリティに通知するステップが、前記1つまたは複数のプロセッサによって並列に実行される、請求項4に記載のコンピュータにより実施される方法。
【請求項7】
前記個人のための前記新しいサービス要求を生成するステップが、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求からメタデータを収集するステップと、
前記1つまたは複数のプロセッサにより、前記メタデータを前記新しいサービス要求に組み込むステップと、
をさらに含む、請求項2に記載のコンピュータにより実施される方法。
【請求項8】
前記個人に関連付けられた前記既存のサービス要求が前記所定の時間枠の間に前記1つまたは複数のプロセッサによって生成されたかどうかを判定するステップが、前記1つまたは複数のプロセッサにより、前記コンピューティング環境内の1つまたは複数のデータベースを照会するステップを含む、請求項2に記載のコンピュータにより実施される方法。
【請求項9】
前記時間枠が、前記個人が前記サービス場所に物理的に存在する暦日である、請求項2に記載のコンピュータにより実施される方法。
【請求項10】
前記個人が前記サービス場所に物理的に存在することを示す前記電子メッセージのうちの1つまたは複数、ならびに前記共有キューへの前記新しいサービス要求の前記送信が、ヘルスレベル7(HL7)フォーマットである、請求項1に記載のコンピュータにより実施される方法。
【請求項11】
前記共有キューがモダリティワークリストを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項12】
前記所定の値が1である、請求項2に記載のコンピュータにより実施される方法。
【請求項13】
前記新しいサービス要求の前記整数がアクセッション番号を含み、前記新しいサービスの前記アクセッション番号が、前記所定の枠の間に前記個人について要求されたサービスの順序付けられたシーケンス内の番号である、請求項3に記載のコンピュータにより実施される方法。
【請求項14】
前記新しいサービス要求の前記固有の識別子が値の連結を含み、前記値が、前記サービス場所、前記サービス場所における前記個人の訪問番号、前記個人の識別子、および前記サービスの識別子からなる群から選択される、請求項1に記載のコンピュータにより実施される方法。
【請求項15】
前記個人が前記サービス場所に物理的に存在することを示す前記電子メッセージが、前記個人を識別するデータまたはメタデータを含まず、前記方法が、
前記1つまたは複数のプロセッサにより、前記新しいサービス要求を前記コンピューティング環境内の電子医療記録システム内の医療記録番号に関連付けるステップと、
前記1つまたは複数のプロセッサにより、前記関連付けに基づいて前記新しいサービス要求を更新するステップと、
をさらに含む、請求項1に記載のコンピュータにより実施される方法。
【請求項16】
前記1つまたは複数のプロセッサにより、前記完了した新しいサービス要求に対する請求書を生成するように電子課金システムに命令するために、前記電子課金システムにメッセージを送るステップ
をさらに含む、請求項4に記載のコンピュータにより実施される方法。
【請求項17】
コンピュータプログラム製品であって、
コンピューティングシステムを含む共有コンピューティング環境の1つまたは複数のプロセッサによって読み取り可能であり、方法を実行するための前記1つまたは複数のプロセッサによる実行のための命令を格納するコンピュータ可読記憶媒体を含み、前記方法が、
コンピューティング環境内の前記1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、
前記1つまたは複数のプロセッサにより、前記個人のための新しいサービス要求を生成するステップであって、前記個人のための前記新しいサービス要求が固有の識別子を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに前記新しいサービス要求を送信するステップと、
を含む、コンピュータプログラム製品。
【請求項18】
前記個人のための前記新しいサービス要求を生成するステップが、
前記1つまたは複数のプロセッサにより、前記個人に関連付けられた既存のサービス要求が所定の時間枠の間に前記1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、
前記既存のサービス要求が前記所定の枠の間に生成されたと判定するステップに基づいて、前記1つまたは複数のプロセッサにより、前記既存のサービス要求の固有の識別子に基づいて前記新しいサービス要求の前記固有の識別子を生成するステップであって、前記生成するステップが、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記固有の識別子を予約するステップであって、前記既存のサービス要求の前記固有の識別子の最終値が整数を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記固有の識別子の前記最終値を所定の値だけ増分するステップと、
前記1つまたは複数のプロセッサにより、前記既存のサービス要求の前記増分された固有の識別子を前記新しいサービス要求の前記固有の識別子として前記新しいサービス要求に関連付けるステップと、を含む前記生成するステップと、
を含む、請求項17に記載のコンピュータプログラム製品。
【請求項19】
前記個人のための前記新しいサービス要求を生成するステップが、
前記1つまたは複数のプロセッサにより、前記個人に関連付けられた既存のサービス要求が所定の時間枠の間に前記1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、
前記所定の枠の間に既存のサービス要求が生成されなかったと判定するステップに基づいて、前記1つまたは複数のプロセッサにより、前記新しいサービス要求の前記固有の識別子を生成するステップであって、前記新しいサービス要求の前記固有の識別子の最終値が整数を含む、ステップと、
を含む、請求項17に記載のコンピュータプログラム製品。
【請求項20】
コンピュータシステムであって、
メモリと、
前記メモリと通信する1つまたは複数のプロセッサと、
方法を実行するために前記メモリを介してコンピューティングシステムの共有コンピューティング環境内の前記1つまたは複数のプロセッサによって実行可能なプログラム命令と、を含み、前記方法が、
コンピューティング環境内の前記1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、
前記1つまたは複数のプロセッサにより、前記個人のための新しいサービス要求を生成するステップであって、前記個人のための前記新しいサービス要求が固有の識別子を含む、ステップと、
前記1つまたは複数のプロセッサにより、前記コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに前記新しいサービス要求を送信するステップと、を含む、コンピュータシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2021年6月25日に出願された米国特許出願第17/358,561号「PRESERVING DATA INTEGRITY IN TASKS ACROSS A COMPUTING SYSTEM」の優先権を主張し、その全内容は、あらゆる目的のためにその全体が本明細書に組み込まれる。
【発明の背景】
【0002】
ヘルスケアを含むがこれに限定されない様々なサービス産業では、プロバイダから様々なサービスを受け入れることを含むワークフローを介した消費者の移動は、オーダーベースのワークフローから導出されるエンカウンターベースのワークフローを介して管理される。このワークフローを管理するシステムの機能は、医療現場での検査または検査など、エンカウンターまたは訪問中のイベントを表す個々のオーダーの定期的な手動入力に依存する。明らかに、オーダー番号がイベントに関連付けられていない場合、それは課金することさえできない。所与のエンカウンター中にオーダーが作成されることを確実にするために、提供者の従業員は、エンカウンター中に記録を入力および更新しなければならない。これらのオーダーを入力および更新するための手作業は連続的であり、手作業であるため、非効率的であるだけでなく、ワークフローにエラーを導入する可能性もある。一般的なエラーには、所与の患者に対して誤った処置を実行すること、所与の処置に対して患者に二重課金すること、および手動でデータを入力、更新、および/または修正するのに必要な時間のために医師が患者との対話時間を短縮しなければならない結果であるヒューマンエラーが含まれる。一例では、ヘルスケア環境では、患者の診察または処置は、患者の訪問の前に(オーダー入力システムから)オーダーされる。患者の訪問には、エンカウンター番号と呼ぶことができる識別子が割り当てられ、患者の検査または処置を識別するためのメカニズムとして機能する。しかしながら、患者が所定の訪問を経て進行し、様々な試験および検査が行われるにつれて、その多くは訪問前に予測できなかったことは明らかであるが、これらの新しい試験および検査のためにオーダー番号を作成しなければならない。既存のシステムでは、これらの新しいオーダーには一時的な識別子が割り当てられるが、各一時的な識別子が、例えば医師(オーダーを配置し、手動で調整する)によって手動で更新されるまで、これらの更新が行われない限り、また行われるまで、エンカウンターの全体を全体として見ることはできない。
【発明の概要】
【0003】
従来技術の欠点は克服することができ、本開示で後述する利点は、コンピューティング環境全体でタスクのデータ整合性を維持する方法を提供することによって達成することができる。方法の様々な例が以下に記載され、任意の組み合わせ(これらの組み合わせが矛盾しない限り)において、以下に列挙される追加の例を含むおよび除外する方法は、これらの欠点を克服する。本方法は、コンピューティング環境内の1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、1つまたは複数のプロセッサにより、個人のための新しいサービス要求を生成するステップであって、個人のための新しいサービス要求が固有の識別子を含む、ステップと、1つまたは複数のプロセッサにより、コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに新しいサービス要求を送信するステップと、を含む。
【0004】
従来技術の欠点は克服することができ、本開示で後述する利点は、コンピューティング環境全体でタスクのデータ整合性を維持するためのシステムを提供することによって達成することができる。システムの様々な例が以下に記載されており、システムは、以下に列挙される追加の例を含むおよび除外して、任意の組み合わせ(これらの組み合わせが矛盾しない限り)において、これらの欠点を克服する。システムは、メモリと、メモリと通信する1つまたは複数のプロセッサと、方法を実行するためにメモリを介して1つまたは複数のプロセッサによって実行可能なプログラム命令と、を含み、本方法は、コンピューティング環境内の1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、1つまたは複数のプロセッサにより、個人のための新しいサービス要求を生成するステップであって、個人のための新しいサービス要求が固有の識別子を含む、ステップと、1つまたは複数のプロセッサにより、コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに新しいサービス要求を送信するステップと、を含む。
【0005】
従来技術の欠点も克服され、コンピューティング環境全体でタスクのデータ整合性を維持するためのコンピュータプログラム製品を提供することによって追加の利点が提供される。コンピュータプログラム製品システムの様々な例が以下に記載されており、(これらの組み合わせが矛盾しない限り)任意の組み合わせにおける、以下に列挙する追加の例を含むおよび除外するコンピュータプログラム製品は、これらの欠点を克服する。コンピュータプログラム製品は、1つまたは複数のプロセッサによって読み取り可能であり、方法を実行するための1つまたは複数のプロセッサによる実行のための命令を格納するコンピュータ可読記憶媒体を含み、方法は、コンピューティング環境内の1つまたは複数のプロセッサにより、個人がサービス場所に物理的に存在することを示す電子メッセージを取得するステップと、1つまたは複数のプロセッサにより、個人のための新しいサービス要求を生成するステップであって、個人のための新しいサービス要求が固有の識別子を含む、ステップと、1つまたは複数のプロセッサにより、コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに新しいサービス要求を送信するステップと、を含む。
【0006】
本技術の1つまたは複数の態様に関連するシステム、方法、およびコンピュータプログラム製品も記載され、本明細書で特許請求され得る。さらに、技術の1つまたは複数の態様に関連するサービスも記載され、本明細書で特許請求され得る。
【0007】
いくつかの例では、個人のための新しいサービス要求を生成するステップは、1つまたは複数のプロセッサにより、個人に関連付けられた既存のサービス要求が所定の時間枠の間に1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、既存のサービス要求が所定の枠の間に生成されたと判定するステップに基づいて、1つまたは複数のプロセッサにより、既存のサービス要求の固有の識別子に基づいて新しいサービス要求の固有の識別子を生成するステップであって、生成するステップが、1つまたは複数のプロセッサにより、既存のサービス要求の固有の識別子を予約するステップであって、既存のサービス要求の固有の識別子の最終値が整数を含む、ステップと、1つまたは複数のプロセッサにより、既存のサービス要求の固有の識別子の最終値を所定の値だけ増分するステップと、1つまたは複数のプロセッサにより、既存のサービス要求の増分された固有の識別子を新しいサービス要求の固有の識別子として新しいサービス要求に関連付けるステップと、を含む。
【0008】
いくつかの例では、個人のための新しいサービス要求を生成するステップは、1つまたは複数のプロセッサにより、個人に関連付けられた既存のサービス要求が所定の時間枠の間に1つまたは複数のプロセッサによって生成されたかどうかを判定するステップと、所定の枠の間に既存のサービス要求が生成されなかったと判定するステップに基づいて、1つまたは複数のプロセッサにより、新しいサービス要求の固有の識別子を生成するステップであって、新しいサービス要求の固有の識別子の最終値が整数を含む、ステップと、を含む。
【0009】
いくつかの例では、本方法は、1つまたは複数のプロセッサにより、1つまたは複数のモダリティのうちのモダリティから、新しいサービス要求が完了したという通知を取得するステップと、1つまたは複数のプロセッサにより、新しいサービス要求の固有の識別子を予約するステップと、1つまたは複数のプロセッサにより、新しいサービス要求の固有の識別子の最終値を、所定の時間枠の間に生成された個人に関連付けられた次のサービス要求のための固有の識別子として使用するための所定の値だけ増分するステップと、を含む。
【0010】
いくつかの例では、本方法は、1つまたは複数のプロセッサにより、1つまたは複数のモダリティのうちの少なくとも1つのモダリティを識別するステップであって、少なくとも1つのモダリティが、少なくとも1つのモダリティが新しいサービス要求を完了することを可能にする技術的特性を含む、ステップと、1つまたは複数のプロセッサにより、少なくとも1つのモダリティに、新しいサービス要求が共有キューに送信されたことを通知するステップと、を含む。
【0011】
いくつかの例では、新しいサービス要求を共有キューに送信し、少なくとも1つのモダリティに通知するステップは、1つまたは複数のプロセッサによって並列に実行される。
【0012】
いくつかの例では、個人のための新しいサービス要求を生成するステップは、1つまたは複数のプロセッサにより、既存のサービス要求からメタデータを収集するステップと、1つまたは複数のプロセッサにより、メタデータを新しいサービス要求に組み込むステップと、をさらに含む。
【0013】
いくつかの例では、個人に関連付けられた既存のサービス要求が所定の時間枠の間に1つまたは複数のプロセッサによって生成されたかどうかを判定するステップは、1つまたは複数のプロセッサにより、コンピューティング環境内の1つまたは複数のデータベースを照会するステップを含む。
【0014】
いくつかの例では、時間枠は、個人がサービス場所に物理的に存在する暦日である。
【0015】
いくつかの例では、個人がサービス場所に物理的に存在することを示す電子メッセージのうちの1つまたは複数、ならびに共有キューへの新しいサービス要求の送信が、ヘルスレベル7(HL7)フォーマットである。
【0016】
いくつかの例では、共有キューはモダリティワークリストを含む。
【0017】
いくつかの例では、所定の値は1である。
【0018】
いくつかの例では、新しいサービス要求の整数はアクセッション番号を含み、新しいサービスのアクセッション番号は、所定の枠の間に個人について要求されたサービスの順序付けられたシーケンス内の番号である。
【0019】
いくつかの例では、新しいサービス要求の固有の識別子は値の連結を含み、値は、サービス場所、サービス場所における個人の訪問番号、個人の識別子、およびサービスの識別子からなる群から選択される。
【0020】
いくつかの例では、個人がサービス場所に物理的に存在することを示す電子メッセージは、個人を識別するデータまたはメタデータを含まず、本方法は、1つまたは複数のプロセッサにより、新しいサービス要求をコンピューティング環境内の電子医療記録システム内の医療記録番号に関連付けるステップと、1つまたは複数のプロセッサにより、関連付けに基づいて新しいサービス要求を更新するステップと、をさらに含む。
【0021】
いくつかの例では、本方法は、1つまたは複数のプロセッサにより、完了した新しいサービス要求に対する請求書を生成するように電子課金システムに命令するために、電子課金システムにメッセージを送るステップをさらに含む。
【0022】
追加の特徴は、本明細書に記載の技術によって実現される。他の例および態様は、本明細書に詳細に記載され、特許請求される態様の一部と見なされる。本開示のこれらおよび他の目的、特徴および利点は、添付の図面と併せて、本開示の様々な態様の以下の詳細な説明から明らかになるであろう。
【0023】
以下でより詳細に説明される前述の態様および追加の概念のすべての組み合わせ(そのような概念は相互に矛盾しない限り)は、本発明の主題の一部であり、本明細書に開示する利点を達成すると考えられることを理解されたい。
【図面の簡単な説明】
【0024】
本発明の1つまたは複数の態様は、本明細書の最後に特許請求の範囲において例として特に指摘され、明確に特許請求される。本発明の1つまたは複数の態様の前述および目的、特徴、および利点は、添付の図面と併せて以下の詳細な説明から明らかになる。
【0025】
【
図1】既存のシステムによって利用され得るワークフローを示す図である。
【0026】
【
図2】本発明のいくつかの実施形態のワークフローの様々な態様を示す図である。
【0027】
【
図3】本発明のいくつかの実施形態のワークフローの様々な態様およびコンピューティング環境の技術アーキテクチャの特定の要素を示す図である。
【0028】
【
図4】本発明のいくつかの実施形態のワークフローの様々な態様を示す図である。
【0029】
【
図5】本発明のいくつかの実施形態のワークフローの様々な態様を示す図である。
【0030】
【
図6】本発明のいくつかの実施形態の態様を実装することができる技術的環境の様々な態様を示す図である。
【0031】
【
図7】本発明の一実施形態の一態様を実行するように構成されたコンピュータシステムを示す図である。
【0032】
【
図8】本発明の1つまたは複数の態様を組み込んだコンピュータプログラム製品を示す図である。
【発明の詳細な説明】
【0033】
本発明の態様ならびにその特定の特徴、利点、および詳細は、添付の図面に示す非限定的な例を参照して以下でより完全に説明される。本発明を不必要に詳細に不明瞭にしないように、周知の材料、製造ツール、加工技術などの説明は省略する。しかしながら、詳細な説明および特定の例は、本発明の態様を示しているが、限定ではなく例示としてのみ与えられていることを理解されたい。基礎となる発明概念の趣旨および/または範囲内の様々な置換、修正、追加、および/または配置は、本開示から当業者には明らかであろう。ソフトウェアおよびプログラムコードという用語は、本出願を通して互換的に使用され、ハードウェアおよびソフトウェアの両方によって実行される論理を指すことができる。本発明の実施形態の態様を実行するために利用することができるシステムの構成要素は、FPGAおよびGPU(グラフィックプロセッサユニット)を含むがこれらに限定されない専用ハードウェアを含むことができる。追加的または代替的に、プロセッサとして示されたアイテムは、ハードウェアおよび/またはソフトウェアプロセッサ、あるいはソフトウェアで定義された無線および/またはカスタムハードウェアを含むがこれらに限定されない他の処理手段を含むことができる。
【0034】
上述したように、当業者によって理解されるように、本出願を通して言及されるプログラムコードは、ソフトウェアとハードウェアの両方を含む。例えば、本発明の特定の実施形態におけるプログラムコードは、固定機能ハードウェアを含むが、他の実施形態は、記載された機能のソフトウェアベースの実施態様を利用する。特定の実施形態は、両方のタイプのプログラムコードを組み合わせる。プログラムコードの一例は、メモリに記憶されたプログラムモジュールのセット(少なくとも1つ)を有するプログラム/ユーティリティを含む。
【0035】
本明細書で使用される「含む(including)」および「含む(comprising)」という用語は、同じものを意味する。
【0036】
「実質的に」、「およそ」、「約」、「相対的に」という用語、または特許請求の範囲を含む本開示全体で使用され得る他のそのような類似の用語は、基準またはパラメータからの処理の変動などによる小さな変動を記述および説明するために使用される。このような小さな変動には、基準またはパラメータからのゼロ変動も含まれる。例えば、それらは、±10%以下、例えば±5%以下、例えば±2%以下、例えば±1%以下、例えば±0.5%以下、例えば±0.2%以下、例えば±0.1%以下、例えば±0.05%以下を指すことができる。本明細書で使用される場合、「実質的に」、「約」、「約」、「相対的に」という用語または他のそのような同様の用語はまた、変動がないこと、すなわち±0%を指し得る。
【0037】
モダリティ、システム、アプリケーション、およびコンピューティングノードという用語は、本明細書では、コンピューティングシステムの様々なリソースを表すために使用される。本明細書の例では、キューまたはワークリストは、これらのリソースによって共有することができ、キューまたはワークリスト内のタスクは、様々なリソースのうちの1つまたは複数によって完了することができる。本出願の目的のために、「モダリティ」および「システム」という用語は互換的に使用される。
【0038】
本発明の実施形態は、1つまたは複数のプロセッサによって実行されるプログラムコードが、ポイント・オブ・ケアまたはポイント・オブ・サービスのコンピュータシステムにおける電子記録の様々な要素を安全かつ効率的な方法で自動的に生成、格納、および更新するコンピュータシステム、コンピュータプログラム製品、およびコンピュータにより実施される方法を含む。本明細書でより詳細に説明するように、本発明の実施形態では、1つまたは複数のプロセッサ上で実行されるプログラムコードは、1)所与のエンカウンター(例えば、訪問)に関連するアクセッション番号を自動的に作成および入力する、2)オーダー番号およびアクセッション番号を動的に増分して、固有性を達成するためにそれぞれについて固有の識別子を生成する、3)所与のポイント・オブ・ケアまたはポイント・オブ・サービスのコンピュータシステム(例えば、ポイント・オブ・ケア超音波(POCUS)システム)で利用されるレガシーデバイスおよびセキュリティとのインターフェースを含み、これらのデバイス上で実行されるワークリストプログラムが、固有の識別子を含むタスク割り当て(例えば、研究、試験、手順など)を有する消費者(例えば、患者)レコードを自動的に検索できるようにする。
【0039】
本発明の実施形態は、本明細書の例の態様が複雑なコンピューティングシステムの性能を改善するので、コンピューティングに密接に結び付けられている。本発明の実施形態の態様は、レガシーシステムを含む様々なシステムが効果的かつ効率的に機能するように同期される環境に統合される。したがって、本発明の実施形態は、メッセージングシステムおよび共有キューを利用してこれらのシステム間で連携し、異なる技術的タスクを達成する。これらのタスクを生成する際に、プログラムコードは、各タスクが固有の識別子を有し、コンピューティング環境内のモダリティによって完了されるべき実際のタスクを表すことを保証する。データの完全性を維持することは、データの手動入力および手動照合を含む既存のシステムの代わりに本発明の態様を実施する際の動機となる。既存のシステムで発生する一般的なデータ関連エラーには、所与の患者に対して誤った処置を実行すること、所与の処置に対して患者に二重課金すること、および/または手動でデータを入力、更新、および/または修正するのに必要な時間のために医師が患者との対話時間を短縮しなければならない結果であるヒューマンエラーが含まれるが、これらに限定されない。追加的または代替的に、既存のシステムは、完了していないサービスまたはタスクの記録を生成し、過剰な未使用の記録のコンピューティングシステムのリソースをクリーニングするためのメカニズムがなく、システム性能を損なう可能性がある。本明細書の例の態様は、過剰な未使用の記録を生成しない。
【0040】
本発明のいくつかの実施形態の態様は、実際の用途を表す。一般に、データ精度および効率的なリソース性能は、本発明のいくつかの実施形態の態様が実装されるヘルスケア環境を含むサービス環境において特に重要である。具体的には、本発明のいくつかの実施形態の態様を実装することにより、これらの態様が実装されるコンピューティング環境内のデータ整合性および一貫性が改善される。これらのコンピューティング環境は、異なるシステム(レガシーシステムを含む)を含むことができ、共通のオーダーのために様々なシステムによって完了されたタスクを効果的に管理し、コンピューティング環境が本明細書に記載された態様によって実行される実用的なアプリケーションである場合、セキュリティポリシー内で動作し、タスクのデータ一貫性および完全性を維持する。
【0041】
本発明の様々な実施形態の態様は、ポイント・オブ・ケアまたはポイント・オブ・サービスのコンピュータシステムにおいて電子記録の様々な要素を生成、格納、および更新する既存の方法に対する著しい改善を表す。所与のサービス機会中のイベントのワークフロー管理のための既存の方法は、下流でリソースの非効率性を引き起こす。これらの既存のシステムでは、下流で資源に対する大きな需要が生じる。例えば、
図1を参照して説明するように、イベントは、ワークフローの完了を可能にするために連続的に手動で更新される(イベントの請求を伴う)。さらに、未使用のオーダーは、特に取り除かれない限りシステム内に残り、潜在的にリソースを圧迫する。これらの非効率性は、個人を特定可能な情報を保護するシステムに様々なリスクをもたらす。したがって、既存のシステムの継続的な機能の中心である手動データ操作およびクリーンアップなどの不要な相互作用を制限することによってこれらの非効率性を排除することにより、本システムのセキュリティが向上する。本方法と本明細書に開示した実施形態の態様との間の違いが、
図1~
図4にさらに示されている。
図1は、ポイント・オブ・ケアまたはポイント・オブ・サービスのコンピュータシステムまたはアプリケーションのための既存のイベント管理システムのワークフロー100である。
図2~
図4は、本発明のいくつかの実施形態の様々な態様を示すワークフロー200,300,400の様々な態様を示す。
【0042】
図1は、既存のエンカウンター管理システムで利用することができるワークフロー100を示す。
図1に示すようなワークフローは、上流の非効率性を補償するために下流の管理作業を必要とする。上述したように、本発明の実施形態における、ならびに既存のシステムにおけるプログラムコードは、所与のエンカウンター中のイベントについての記録を生成する一部として課金システムとインターフェースすることができる。このインターフェースは、各イベント(例えば、サービス、業務、調査、試験、相談、処置、検査など)を表す固有のオーダー番号によって有効化される。エンカウンターベースのワークフローとして特徴付けることができるワークフロー100では、エンカウンターは一時的なオーダー番号として機能する。エンカウンターは、ポイント・オブ・ケア・システムの場合には医師などの個人が記録を更新してオーダーを生成するまでの識別子である(訪問またはエンカウンター中に消費者が経験したイベントの詳細を伴う)。既存のシステムでは、消費者(例えば、所与の患者に対して行われる試験または検査)が経験した各イベントについて、特定の医療ポイント・オブ・ケア・システムでは、医師はオーダーを行うだけでなく、調査などの提供されるサービスを新たに作成されたオーダー番号と手動で調整するのに平均5分間費やす。これらのシステム内の特定の非効率性は、それらを特に非効率的にし、手動介入を必要とし、例えば、単一のエンカウンターで行われる複数検査スキャンを別々に請求することはできない。したがって、医師または他の個人は、課金システムとのインターフェースが効果的に機能することを可能にするために、検査を手動で分割しなければならない。前述したように、医療の場面では、既存の方法は、多大な量の手動入力を含み、これは、失われた時間および財務リソースだけでなく、患者ケアに影響を及ぼし得るエラーにもつながる。既存のシステムにおける一般的なエラーは、患者には多くの場合に二重請求され、所与のスキャンは教育的調査と手続き的調査の両方の2倍入力されることである。患者は教育研究のために請求されないが、エントリの1つに手動調整が行われない限り、両方が請求され、患者に二重請求し、記録の重複を作成する。課金エラーは厄介であるが、既存のシステムにおけるデータエラーが、所与の患者に対して誤った処置が実行される結果となり得ることが、間違いなくより重要である。研究(例えば、イベント、試験、スキャンなど)に参加して更新するために下流で手作業が必要であるため、医師は異なる患者の研究グループに手動で参加することができる。これらのオーダーは後の来院で患者の来院と調整されるため、誤った検査を個人に対して実行する可能性があり、このエラーは医療専門家が検査結果を解釈した場合にのみ発見される。一例では、医師は、心臓および肺の検査を含む検査のグループに入り、心臓の検査は、患者が誤った検査に対してスキャンされたために肺の検査を必要とした患者に対して行われる。結果の解釈を担当する医療専門家は、誤ったスキャンを見て、解釈するように求められているスキャンが誤った患者のものであるかどうか、または患者データが正しいかどうかを知らないが、誤った検査が行われた。下流側の医師の管理上の負担は大きく、医師が患者と過ごす時間に影響を与える可能性があるが、この例から分かるように、下流側の管理上の負荷を軽減しようと事前に複数の研究に参加すると、データの不一致が起こり、質の高い患者ケアを損なう可能性がある。
【0043】
図1は、医療現場システムのコンテキスト内の既存のシステムによって利用され得るワークフロー100を提供する。
図1に示すように、本発明の実施形態によって対処されるこの既存のシステムの問題は、所与のイベント(例えば、手順)に対して単一のオーダー番号が作成されることである。したがって、所与のイベントが複数のサブイベントを含む場合、多くの場合そうであるが、課金システムに送信され得る、またはポイント・オブ・ケア・システム自体に正確に反映され得る方法でこの現実を反映するためのシステム内の自動化された効率的で安全な機能はない。(初期イベントからの多くのサブイベントの作成は、所与の個人が緊急治療室に存在し、所与の訪問中に(異なる処置を実行する)多くの部門を通ってナビゲートされ得る緊急医療環境において特に一般的である。)上述したように、この欠陥を修正するために下流で手作業が必要とされる。
図1に示すように、ワークフロー100は、所与の患者が病院などの提供者施設に入院したときに開始する(110)。入場記録に基づいて、プログラムコードは、提供者施設で利用される様々なシステムにエンカウンター識別子を通知するためのデジタルメッセージ(例えば、ソフトウェアアプリケーション間の臨床データおよび管理データの転送のための国際標準に従ったヘルスレベル7またはHL7フォーマットである)を生成する(120)。プログラムコードは、モダリティワークリスト(MWL)にデジタルメッセージを入力する(130)。医療分野の者によって理解されるように、MWLは、様々な医療システムからの患者の人口統計情報をモダリティで利用可能にし、二重のデータ入力を排除し、データの完全性を提供する、デジタル撮像および医学における通信(DICOM)システムのサービスである。例えば、MWLは、DICOM標準規格を介して超音波患者メタデータを提供する装置である。したがって、超音波システムなどのモダリティは、MWLを介して患者メタデータを取得することができる。既存のシステムのプログラムコードは、エンカウンター番号にオーダー番号を割り当てる(番号は一致する)(140)。したがって、MWLを介して通信するとき、所与のサービスを提供するシステムのプログラムコードは、所与の患者に関連付けられたオーダー番号を取得する(150)。サービス(例えば、超音波システム)を提供するシステムのプログラムコードは、結果を生成することができる宛先(例えば、システム)にサービス(検査)を送信する(160)。超音波システムの例を使用すると、サービスを提供するシステムのプログラムコードは、結果を生成するために画像保管通信システム(PACS)アーカイブにサービス(検査)を送信する。上述したように、所与のオーダーの結果が作成されると、オーダーに関連付けられたサービスを(医療請求システムとのインターフェースを介して)請求することができる。
【0044】
図1では、プログラムコード(140)によって生成されたオーダー番号は、プログラムコードにより、完了した元のサービス(例えば、検査)に関連付けられる(160)。サービスプロバイダ(例えば、病院、ヘルスケア施設、整備士など)を訪問する個人によって理解されるように、訪問の初期サービスまたは理由は、訪問またはエンカウンターの終了時に受信されたサービスと一致しない場合がある。一例として医療サービスを使用すると、サービスプロバイダの専門家の意見では、これらの相互作用の態様がこれらの検査およびスキャンを必要とするまで予想されなかった、相互作用中の様々な発生に基づいて、専門家によって様々な検査およびスキャンを要求することができる。前述のように、各サービスが独自のオーダー番号を持たない限り、課金システムとのインターフェースは機能しない。したがって、予期しないサービスが提供される場合、ユーザは、ポイント・オブ・ケア・システムにおいてイベントを手動で調整しなければならない(例えば、追加の順序付け、分割、およびマージ研究)。上述したデータ完全性および処理効率の問題に加えて、この手動介入はまた、追加のサービスまたは研究を追加することにより、実行された元の研究が課金されないというリスクを生み出すことを含む課題および不確実性をもたらす。
【0045】
既存のシステムにおける柔軟性の欠如および手動介入の必要性の一例は、救急科への訪問から始まる放射線オーダーに示されている。この例は、例示のみを目的として提供されており、既存のシステムに対する本発明の態様の利点に対するいかなる制限も示唆するものではない。既存のオーダーベースの放射線システムでは、患者は訪問の前に検査を受けるようにスケジュールされる。検査は、システム内で作成され、訪問からのデータを請求システムに送信することができる前に、例えば救急部門内の医師によって更新される。作成される試験はオーダーに固有のものであり、単一の結果である。したがって、所与の訪問中に完了したさらなる検査または手順がある場合、各イベントおよび/または検査は、プログラムコードによって元のオーダーに付随する。この関連付けの制限により、元のオーダーに適用できない調査は、正しく請求されるように管理する必要があるため、顧客のオーバーヘッドが大きくなる。各追加の検査は、手動介入によって分割されなければならず、手動介入には、個々の追加の検査のオーダーを行うこと、各検査が完了した後に各検査を調整すること、および/または各検査の結果文書を生成して課金を完了することが含まれ得る。これらのオーダーを手動で管理することは、以下を含むがこれらに限定されないデータ完全性の課題を提示する。1)患者が、訪問が開始された部門(例えば、救急科)にもはや登録されていない場合、または退院後の後の訪問から新しいエンカウンター番号を取得した場合、MWLの管理が影響を受ける可能性がある、2)患者がワークリストにまだ存在しているが、手動入力を行っているユーザが誤ったエンカウンターを選択し、その日に早く退院した患者に新しい検査が適用された場合に重複エントリを処理する。
【0046】
本発明の実施形態では、
図2のワークフロー200に示すように、最初に生成されたオーダー番号とイベントとの間の対応によって作成される問題は、対処するためにユーザの介入を必要とする制限を作成しない。むしろ、本発明の実施形態では、所与のオーダーは、プログラムコードによって自動的に、1つまたは複数のアクセッション番号に関連付けられる。これに関連して、アクセッション番号は子のオーダーであり、充填オーダーとしても理解される。既存のエンカウンターベースのシステムでは、オーダーおよびアクセッション番号は、プログラムコードによって同じであると認識される。医療環境内の様々なシステム間の相互接続性が増加するにつれて、プログラムコードによってオーダー番号と関連付けられる固有のアクセッション番号の自動作成によって提供される柔軟性は、エンティティのための単数の訪問を含み得る異なる可能性のあるイベントを処理する様々なシステムの協調を可能にする。具体的には、本発明の実施形態は、HL7メッセージングおよびMWLの利用と互換性がある。
【0047】
図2を参照すると、本発明の一実施形態では、コンピューティング環境内の1つまたは複数のプロセッサ上で実行されるプログラムコードは、所与の消費者がサービス場所に入ったことを示す通知を取得する(210)。これに関連して、サービスの場所またはエンカウンターにおけるこのエントリは、
図2にさらに示すように、この訪問に関連するオーダーおよびアクセッション番号を生成するためのプログラムコードによって使用される。通知(210)に戻ると、例えば、病院の設定では、プログラムコードは、所与の患者が入院したことを示す通知を取得する。この通知(トリガ)を取得することに基づいて、プログラムコードは、所与の消費者がサービス場所に入ったことをコンピューティング環境で実行しているコンピューティングノードおよびアプリケーションに通知するためのデジタルメッセージ(例えば、医療現場ではHL7を介して)を生成する(220)。本発明のいくつかの実施形態では、プログラムコードはデジタルメッセージを生成するが、コンピューティングノードおよびアプリケーションに送信される通知はない。むしろ、本発明の一実施形態のプログラムコードは電子メッセージを取得するが(230)、コンピューティングノードおよびアプリケーションは、プログラムコードがデジタルメッセージ内のタスクまたはサービス要求を動的なオーダーおよびアクセッション項目に関連付けるまで、デジタルメッセージの存在について警告されない。医療環境では、既存のHL7メッセージング標準規格を利用することは、通知が個人を特定可能な情報を含むことができるため、コンピューティング環境内のセキュリティプロトコルと調和する。本発明の実施形態におけるプログラムコードは、電子メッセージを取得する(230)。
【0048】
本発明のいくつかの実施形態では、通知およびメッセージは、本発明の実施形態の外部のアプリケーションによって取得(210)および生成(220)され、本発明の実施形態のプログラムコードは、デジタルメッセージングを介して、コンピューティング環境内のこれらの外部アプリケーションと対話する。しかしながら、本発明のいくつかの実施形態では、通知の取得および/またはデジタルメッセージの生成は、本発明の実施形態のプログラムコードによって実行することができる。本発明のいくつかの実施形態の態様は、既存のコンピューティング環境に統合され、レガシーシステムと対話し、したがって、既存のコンピューティング環境のセキュリティおよび技術的制約内で動的機能を提供する。したがって、既存の技術アーキテクチャに応じて、通知の取得(210)および/またはデジタルメッセージの生成(220)は、本明細書の例で開示されたプログラムコードの機能であってもなくてもよい。
【0049】
本発明の実施形態におけるプログラムコードは、所与のエンカウンター(オーダー)について各アクセッション(サブレコード)に固有の識別子を生成および割り当てる。プログラムコードは、この固有性を達成するためにオーダーおよびアクセッション番号をインクリメントする。したがって、所与のイベントの一部として複数のサービスが提供される場合であっても、プログラムコードは、既存のシステムとは異なり、イベント(例えば、検査)を効果的かつ自動的に分割することができる。(本明細書で後述し、
図2に示すように、プログラムコードは、次に利用可能な動的アクセッション番号を予約し、ユーザの介入なしに新しいイベン/サービス/検査にそれを自動的に割り当てることができる。)
【0050】
本発明のいくつかの実施形態では、プログラムコードによって生成される動的オーダー番号は、所定の最大文字数の固有の数を含む。この値は、訪問した場所および訪問自体の識別子を含むがこれらに限定されない、様々な値または記述パラメータの連結を含むことができるプレフィックスを含む。例えば、動的オーダー数は、表示可能な(印刷可能な)ACSII文字(20以上7E以下の16進値、または32以上126以下のASCII10進値)を含む長さ22文字の最大容量を含むことができ、部門の「プレフィックス」と訪問/エンカウンター識別子との連結(例えば、「超音波」を表す「US」およびエンカウンター識別子を表す112233を用いたUS112233)を含む。上述のように、アクセッション番号は、所与のオーダー番号の子である。本明細書で提供される例の文脈では、動的アクセッション番号もまた、所定の最大長の固有の番号である。例えば、動的オーダー番号のような動的アクセッション番号は、表示可能な(印刷可能な)ACSII文字(20以上7E以下の16進値、または32以上126以下のASCII10進値)を含み、部門の「プレフィックス」、訪問/エンカウンター識別子、ダッシュ(-)もしくはピリオド(.)などの記号タイプ文字、および数字1から始まる現在の検査カウントの連結(例えば、[-/.]で示されるUS112233.1またはUS112233-1)から構成される、長さ22文字の最大容量を有する固有の番号であってもよい。
【0051】
本発明の実施形態におけるプログラムコードによって様々な命名法を利用して、関連する動的アクセッション番号を有する動的オーダー番号を生成することができる。例えば、アクセッション番号を有するオーダーは、以下の形式をとることもできる。<個人識別子プレフィックス><エンカウンター識別子>[-/.]<アクセッション番号>。医療現場では、個人識別子は患者のプレフィックスとすることができる。文字-/.は、本明細書では、各動的アクセッション番号が固有であり、オーダー番号の子であるように、プログラムコードによって生成された動的アクセッション番号に実装されてもされなくてもよい文字分割器の非限定的な例として利用される。
【0052】
図2に戻ると、電子メッセージを取得すること(230)に基づいて、1つまたは複数のプロセッサ上で実行されるプログラムコードは、定義された時間枠内に生成された所与の消費者についてのレコードがあるか否かを判定する(240)。例えば、病院の医療システムに統合される本発明の実施形態では、プログラムコードは、患者である所与の個人が電子メッセージを取得したプログラムコードと同じ日にエンカウンターしたかどうかを確認するためにチェックしてもしなくてもよい。上述したように、既存のシステムでは、手動ユーザが誤って重複レコードを作成することがあり、これはデータの完全性を損なう。したがって、本発明の実施形態では、プログラムコードは、重複を自動的にチェックし、したがってこの問題を防止する。本発明のいくつかの実施形態では、プログラムコードは、コンピューティング環境内のプログラムコードにアクセス可能な1つまたは複数のデータベース内の既存のレコードをチェックする。
【0053】
プログラムコードが、定義された時間枠内の所与の消費者のレコードが既に存在すると判定した場合、プログラムコードは、(動的アクセッション識別子に既に関連付けられている)既存のレコード上のメタデータを収集する(250)。さらに、プログラムコードが、定義された時間枠内の所与の消費者のレコードが既に存在すると判定した場合、プログラムコードは、既存の動的アクセッションに関連付けられた番号(識別子)を保持する(255)。この保持を置くことにより、プログラムコードは動的アクセッションを閉じる。例えば、現在利用可能な番号(オーダーの固有の識別子)がUS112233[-/.]2である場合、プログラムコードは、それが割り当てることができる固有の識別子のプールからそれを削除することによって「[-/.]2」を予約する。本発明のいくつかの実施形態では、連結されたアクセッション番号を有する各固有のオーダー番号は、少なくとも「[-/.]1」値で始まる。この例で述べたように、プログラムコードは、その完了時にオーダーのための所与のアクセッション番号を閉じる。しかしながら、様々なサービスプロバイダ環境では、様々なタスクが異なるシステムによって並行して達成され得る。したがって、システムによって解決されていない所与のレコードが存在する可能性がある。したがって、プログラムコードは、レコードが複製され得ず、コンピューティング環境を通じたその完了および最終的な課金が円滑に行われ得るように、レコードの位置を突き止めるとそのアクセッション番号を予約する(255)。
【0054】
この例に戻ると、また、プログラムコードが、定義された時間枠内の所与の消費者のレコードが既に存在すると判定した場合、プログラムコードは新しい動的アクセッション番号を生成し、その動的アクセッション番号を既存の動的オーダー番号(例えば、US112233[-/.]3)に付加する(260)。したがって、オーダー番号US112233は、動的になり、個々の識別子でオーダーを増強するプログラムコードに基づいて、所与のエンカウンター中に単一のイベントにもはや結び付けられていない。保持を置くこと(255)により、プログラムコードは、(所与のオーダー番号の子である)アクセッション番号間の重複を排除し、識別子(260)を利用して番号を増分することにより、プログラムコードは、エンカウンター中の所与のイベントに対して固有のアクセッション番号を作成する。
【0055】
あるいは、プログラムコードが、定義された時間枠内の所与の消費者のレコードが存在しないと判定した場合、プログラムコードは、動的アクセッション番号を用いて新しい動的オーダー番号を生成する(270)。例えば、プログラムコードはUS112233の動的オーダー番号を生成することができ、このオーダー番号は、動的アクセッション番号を用いて、プログラムコードによって生成されるUS112233[-/.]1となる。
【0056】
図2に示すように、プログラムコードは、生成された値をコンピューティング環境内のアプリケーションにアクセス可能なタスク/イベントの共有キューに送信する(280)。
図2に示すように、キュー内の項目の内容(および名称)は、既存の消費者レコードが存在するか否かに依存する。例の1つ(例えば、
図2,250,255,260)では、プログラムコードはUS112233[-/.]3をキューに送信し、別の例では、プログラムコードはUS112233[-/.]1(例えば、
図2,270)をキューに送信する。ヘルスケア環境では、共有キューはMWLとすることができ、本発明の一実施形態のプログラムコードは、MWLに対して動的に生成されたアクセッション番号の生成されたリストを提供する。このヘルスケア環境では、MWLは、所与の消費者/患者のメタデータを有するDICOM標準規格を利用するコンピューティング環境内のアプリケーション(例えば、環境内のモダリティ)および/またはメッセージアプリケーションによってアクセスされる。プログラムコードによる共有キュー(例えば、MWL)の利用は、様々な消費者が位置をナビゲートして様々なサービスを受け取るときに、様々な消費者に関連付けられた動的オーダーがそれらと共に移動することを可能にする。動的アクセッション番号はプログラムコードによって複製されず、受信したサービスまたはそれらのサービスのオーダーにもかかわらず、動的アクセッション番号のオーダーおよび固有性は維持される。
【0057】
タスク/イベントが共有キューに追加されると、これらのタスクを完了することができるコンピューティング環境内のアプリケーションおよびデバイスは、本発明の様々な実施形態にわたって、様々な方法でタスク(関連データおよび要求)を取得することができる。本発明の特定の実施形態では、コンピューティング環境内の様々なアプリケーションは、所定の間隔でキューをポーリングして、完了のためのアクセッションのリストを受信する(例えば、所与のモダリティは、異なる個人のイベント/タスクを完了する要求を受信することができる)。いくつかのコンピューティング環境では、様々なアプリケーションがキューとインターフェースし、関連するワークリスト項目を表示するインターフェースがリアルタイムで更新され、モダリティに関連するワークリストまたはキュー項目を警告する。追加的または代替的に、本発明の実施形態におけるプログラムコードは、様々なタスクまたはキュー内のタスクの作成を処理することができる関連するアプリケーションまたはモダリティに通知する。これらの対話中に生成、送信、および/または受信されるメッセージは、本発明のいくつかの実施形態では、トランスポート・レイヤ・セキュリティ(TLS)を利用することができる。
【0058】
コンピュータ環境(例えば、ポイント・オブ・ケア超音波(POCUS)デバイス)内のアプリケーションおよびコンピューティングノードが消費者イベント/タスクを検索するためにアクセスするワークリストまたはキューは、消費者(例えば、患者)に次のイベント(例えば、検査)を提供する。
図2に示すように、アプリケーションは、キューからイベント/タスクを取得する(290)。医療設定の例に戻ると、MWLサービスは、コンピューティング環境内のアプリケーションにデジタルメッセージを送信することができ、および/またはアプリケーションは、メッセージについてMWLを確認することができる。両方の例において、デジタルメッセージは、例えば、患者の現在の動的アクセッション番号を有する超音波システムのプログラムコードによって取得される。アプリケーションはタスク/イベントを完了し、イベント/タスクが完了したことをプログラムコードに通知する(295)。医療環境の非限定的な例では、超音波システムは、結果を生成するために調査(完了したタスク/イベント)を画像保管通信システム(PACS)アーカイブにプッシュすることによってこの態様を完了し、タスク/イベントが完了したことをプログラムコードに通知する(295)。次いで、プログラムコードは、行われていないタスク/イベント(例えば、検査)の現在の動的アクセッション番号を予約し([-/.]1)、プログラムコードは次の検査の動的アクセッション番号を増分する([-/.]2)(298)。
【0059】
本明細書で説明するように、本発明の実施形態の態様は、ヘルスケア環境で利用することができる。したがって、粒度レベルのいくつかの実施形態の特定の機能性を実証するために、詳細なワークフロー300である
図3がこの設定のコンテキスト内で提供される。この非限定的な例は、例示のみを目的として利用される。
図3は、関連する動的アクセッション番号を有する動的オーダー番号を作成し、これらのオーダーの完全性を強制するために本発明の実施形態におけるプログラムコードをトリガする病院環境で発生する特定のイベントを示す。この例は、電子医療記録(EMR)からの入院/退院移送システム(ADT)システムイベントを含む。
図3は、コンピューティング環境内の様々なシステムとプログラムコードとの相互作用を示す。これらのシステムは、ソフトウェア(例えば、処理システムで実行可能なソフトウェア命令として)、ハードウェア、またはそれらの組み合わせにおける任意のタイプのモジュールまたはコンポーネントとして、スタンドアロンアプリケーションとして、または別のデバイスアプリケーションのモジュールまたはコンポーネントとして、および任意のタイプのコンピューティングデバイスにおいて実装することができる。プログラムコードという用語は、本出願全体で使用され、記載された実施態様を含むハードウェアとソフトウェアの両方によって実行される論理を指すことができる。
【0060】
図3を参照すると、様々なイベント310がEMRシステム315で患者の記録を開く。本明細書で提供されるイベント310の例は、患者の入院前、異なる部門への患者の移送、システム内での患者の作成、および患者の退院または移動である。EMRシステム315における患者レコードの作成は、ADTシステム325による様々なメッセージ320の作成をトリガする。EMRシステム内の動作に基づいて、コンピューティング環境内のプログラムコードおよび他のシステムは、患者がその場所にいることが通知される(例えば、
図2,210を参照されたい)。ADTシステム325からのメッセージ320に基づいて、オーダーがオーダーシステム335に入力される。ADTシステム325によって生成されるメッセージは、図示する例ではHL7メッセージである。A05は、患者を事前に承認するためのメッセージである。A01は入院であり、A05は転送であり、A04は患者を登録するためのメッセージである。
図3に見られるように、A05、A01/02、およびA04メッセージはすべて、オーダーシステム335にオーダー332の作成を促す。A014メッセージは、ワークリスト358への送信である保留中の許可メッセージである。患者の退院または移動のEMRシステム315の動作は、ADTシステム325をトリガして、退院した訪問終了メッセージA03に関するメッセージ、または外来患者を入院患者に変更するメッセージA06を作成する。患者情報を更新するためのA08メッセージに基づいて、オーダーシステム335は、オーダーを別の日に移動させるためにオーダー336を更新することができ、プログラムコードはワークリスト358に入力する(359)。HL7メッセージが退院(A03)または入院患者への変更(A06)を示す場合、オーダーシステム335はオーダー334をキャンセルし、この要求の本発明の実施形態のプログラムコードを警告することができ、プログラムコードはワークリスト358に入力する(359)。
【0061】
HL7 Order Entry(ORM)メッセージは、材料またはサービスの要求に関する情報を保持するために利用されるメッセージタイプとすることができる。オーダーシステム335は、少なくとも1つのオーダー332を生成することを含むオーダーイベント330を生成し、1つまたは複数のプロセッサを実行するプログラムコードは動的オーダー番号および動的アクセッション番号を生成する。プログラムコードによって完了される様々な動作350は、モダリティワークリスト355の同期性を維持することに関連し、したがって、例示目的のために一緒にグループ化される。プログラムコードは、オーダー332を取得し、このオーダーが既に存在するかどうかを判定する352。オーダーが既に存在するとプログラムコードが判断した場合、プログラムコードはオーダー354を予約し、新しいオーダー356を要求/生成し、これをワークリスト358に送信する。オーダーが存在しないとプログラムコードが判断した場合、プログラムコードは新しいオーダー356を要求/生成し、これをワークリスト358に送信する。システム内で利用される固有性またはナンバリングを維持するために、プログラムコードの様々な態様は、同期性アプリケーションまたはモジュール365の一部と考えることができる。様々な動作360は、動的オーダーおよびアクセッション番号の一貫性を保つために、同期性アプリケーションまたはモジュール365によって完了することができ、その一部は
図3に示されている。プログラムコードが所与の検査を分割すると、プログラムコードは新しいアクセッション番号362を生成/取得し、これをワークリスト管理350に提供する。次に、プログラムコードは、オーダーが重複しているかどうかをチェックする(352)。プログラムコードが完了した検査364を調整してアーカイブすると、プログラムコードは、この完了した検査に利用されるオーダー番号を予約する(354)。
【0062】
本発明の実施形態において、オーダーシステム335がオーダー335をキャンセルする要求を作成すると、プログラムコードはこの要求を取得し、キャンセルをワークリスト359に送信する。オーダーが更新される場合(336)、完了が重複オーダーを特定するために定義された時間枠を超えて行われると仮定すると、プログラムコードはこの更新の要求を取得し、その要求をワークリスト357に送信する。一方、ワークリストの項目に基づいて、コンピューティング環境内のシステム345によって様々なオーダーが完了され(340)、完了すると、調整されてアーカイブされるように送信される(364)。
【0063】
上述したように、本発明のいくつかの実施形態では、本発明の実施形態における1つまたは複数のプロセッサ上で実行されるプログラムコードは、サービス位置に入る所与の消費者に基づいて、事前に、共有キューのためのタスクまたはイベントを生成することができる。しかしながら、状況によっては、消費者の識別情報は、(サービスプロバイダによって決定されるように)要求または必要とされているサービスに対して事前に未知である。例えば、消費者は、緊急治療室の身元不明の「John Doe」であってもよい。このサービスを提供するのを待つことが未確認の消費者に対するリスクを構成する可能性があることを考えると、本発明のいくつかの実施形態では、サービスおよびその受取人は後にプログラムコードによって調整される。
図4は、このシナリオにおける本発明のいくつかの実施形態の特定の態様を示すワークフロー400であり、消費者の識別情報は、1つまたは複数のサービスがオーダーおよび/または完了した後に知られるが、1つまたは複数のサービスがオーダーおよび/または完了する前には知られていない。このワークフローでは、共有キュー内のタスクまたはサービスが技術環境内のモダリティにプッシュされて、リアルタイムまたはリアルタイムに近い状態でシステムまたはモダリティに識別問題を警告し、データ整合性および整合性が損なわれる前に行われるように促す。
【0064】
図4を参照すると、本発明のいくつかの実施形態では、プログラムコードは、身元不明の個人がサービス場所に提示する通知を取得する(410)。プログラムコードは、通知に基づいてデジタルメッセージを生成する(415)。プログラムコードは、コンピューティング環境で実行されているアプリケーションにアクセス可能な共有キューにデジタルメッセージを入れ、デジタルメッセージは、身元不明の個人のために/に対して行われるべきサービスの要求である(420)。要求は、一時的な識別子に関連付けられる。サービスを実行可能なアプリケーションは、キューからリクエストを取得する(425)。
【0065】
サービスを取得するアプリケーションと非同期的または同期的に、プログラムコードは、身元不明の個人が医療記録番号(MRN)に関連付けられているという通知を受信し、個人に関する個人識別可能な情報を提供する(430)。コンピューティング環境内の他のシステムに識別されている個人の警告は、デジタルメッセージにより、または別のアプリケーションを介してリアルタイムで送信される。プログラムコードは、現在識別されている個人についてのレコードが所定の時間枠(例えば、同じ営業日)の間に存在するかどうかを判定する(435)。定義された時間枠内の所与の個人に関するレコードが既に存在するとの判定に基づいて、プログラムコードは、既存の動的アクセッションに関連付けられた番号を保持する(440)。プログラムコードは、新しい動的アクセッション番号を生成し、その動的アクセッション番号を既存の動的オーダー番号に付加する(445)。重複がないと判定したことに基づいて、プログラムコードは、動的アクセッション番号を用いて新しい動的オーダー番号を生成する(447)。プログラムコードは、新しい番号を予約し、新しい番号を要求されたサービスに関連付ける(450)。プログラムコードは、実行されるサービスの要求を伴うデジタルメッセージを生成し、デジタルメッセージをキューに送信する(455)。新しいメッセージについてキューを継続的にチェックし、メッセージを更新するサービスは、更新のサービスを実行しているか、または既に実行されているアプリケーションに更新された要求をプッシュする(460)。本発明のいくつかの実施形態では、このサービスは実施形態の一態様である。本発明の他の実施形態では、プログラムコードは、サービスがキューを監視するように、このサービスを初期化し、および/またはサービスと通信する。更新を取得することに基づいて、アプリケーションは、動的アクセッション番号を用いて新しい動的オーダー番号を反映するように要求に関連付けられたメタデータおよび/またはデータを変更する(465)。アプリケーションはサービスを完了し、サービスが完了したことをプログラムコードに通知する(470)。プログラムコードは現在の動的アクセッション番号を予約し、プログラムコードは次のサービスの動的アクセッション番号を増分する([-/.]2)(475)。この例では、サービスに関連付けられたオーダー番号およびアクセッション番号は、サービスが実行される前に変更されるが、いくつかの例では、サービスが実行された後に番号を変更することができる。生成された動的オーダーおよびアクセッション番号の確保は、重複を回避する。プログラムコードは、システムのデータ完全性を維持するためにこの情報が利用可能になるとすぐに、タスクの実行に関連付けられたシステムに動的オーダー番号および動的アクセッション番号をプッシュすることができる。
【0066】
図5は、本発明の実施形態におけるプログラムコードがどのようにしてモダリティにイベント(および/またはイベント更新)を警告することができるかの特定の詳細を含むワークフロー500である。特定の以前の例は、HL7標準規格を介したデジタルメッセージングの利用について説明しており、この例は、例示のみを目的とし、制限を示唆するものではなく、プログラムコードは、メッセージ配信の代替方法であるアプリケーション・プロシージャ・インターフェース(API)要求を利用する。この例では、ワークフロー500に関与する技術的要素の様々な要素間の通信は、安全なウェブインターフェースであるTLS1.2/1.3ハイパーテキスト転送プロトコルセキュア(HTTPS)を介して通信する。これは非限定的な例であり、例示のみを目的として提供される。この例では、本発明の図示の実施形態におけるプログラムコード501は、異なる機能を実行する。例示のみを目的とし、プログラムコードを含むモジュールの技術的アーキテクチャに対するいかなる制限も示唆しないために、プログラムコード501は異なる機能に分離されている。後述するように、プログラムコード501は、トークン530を生成するサブスクリプションサービス525と、生成されたトークン530と、サブスクリプションサービス525を介して、アプリケーションがサブスクライブする通知を生成するプログラムコードとを含む。
【0067】
図5のワークフロー500は、リアルタイムのイベント加入および通知を示す。
図5において、コンピューティング環境内のアプリケーション510(例えば、モダリティ)は、イベント通知にサブスクライブすることができ、このサブスクリプションに基づいて、これらのイベントに関連する通知がリアルタイムでこのサブスクライバに配信される。この例では、アプリケーション510は、ハイパーテキスト転送プロトコル(HTTP)に準拠する要求を要求および受信することができる任意のアプリケーションである。図示するように、アプリケーション510は、プログラムコードが患者の動的オーダーおよび/または動的アクセッションを作成するときにイベントにサブスクライブすることを選択する(520)。この例では、アプリケーション510は、本発明の実施形態におけるサブスクリプションサービス525を含むプログラムコード501へ、トランスポート・レイヤ・セキュリティ(TLS)を介してイベントに加入するためのアプリケーション・プロシージャ・インターフェース(API)要求(POST)を送信する。サブスクリプションサービス525は、サブスクリプションを受け入れ、アプリケーション510のためのトークン530を生成する(527)。トークン530は、このアプリケーション510がどのサブスクリプションを受信すべきかの通知540を処理するプログラムコードに通知する(532)。
【0068】
図5のワークフローの技術的側面は、未知の患者「ジェーン・ドゥー」が救急科などの医療サービス提供者に入院するシナリオで利用される。このため、この非限定的な例は、ワークフロー500の態様を説明する際に使用される。この例では、臨床医はこの未知の患者を認める。EMR部門のレジストラが患者の情報を調整し、前述のJane Doeの真のアイデンティティを提供すると、プログラムコードはデジタルメッセージを介して調整をキャプチャし(550)、次に、トークン530が、このタイプの調整情報を受信するためにアプリケーション510にサブスクライブされていることを示すため(555)、プログラムコードはアプリケーションに通知を送り返す(560)。このようにして、プログラムコードは、アプリケーション510を介して、調整された患者に対して新しいオーダーが行われたことをリアルタイムで臨床医に通知することができる(すなわち、Jane Doe)。この例では、サブスクライブされたイベントごとに、そのサブスクライブされたイベントのうちの1つがトリガされたことをアプリケーション510に通知するために、TLSを介してHTTP POST要求が送信される。
【0069】
本発明の実施形態は、コンピューティング環境内の1つまたは複数のプロセッサによって実行されるプログラムコードが、個人がサービス場所に物理的に存在することを示す電子メッセージを取得する、コンピュータにより実施される方法、コンピュータプログラム製品、およびコンピュータシステムを含む。プログラムコードは、個人のための新しいサービス要求を生成し、個人のための新しいサービス要求は固有の識別子を含む。プログラムコードは、コンピューティング環境内のリソースを含む1つまたは複数のモダリティにアクセス可能な共有キューに新しいサービス要求を送信する。
【0070】
いくつかの例では、個人のための新しいサービス要求を生成するステップは、個人に関連付けられた既存のサービス要求が所定の時間枠の間にプロセッサによって生成されたかどうかを判定するプログラムコードを含む。既存のサービス要求が所定の枠の間に生成されたと判定したことに基づいて、プログラムコードは、既存のサービス要求の固有の識別子に基づいて新しいサービス要求の固有の識別子を生成する。プログラムコードは、既存のサービス要求の固有の識別子を予約し、既存のサービス要求の固有の識別子の最終値が整数を含む場合、既存のサービス要求の固有の識別子の最終値を所定の値だけインクリメントし、既存のサービス要求のインクリメントされた固有の識別子を新しいサービス要求の固有の識別子として新しいサービス要求に関連付けることにより、固有の識別子を生成する。
【0071】
いくつかの例では、個人のための新しいサービス要求を生成するステップは、個人に関連付けられた既存のサービス要求が所定の時間枠の間にプロセッサによって生成されたかどうかを判定するプログラムコードを含む。既存のサービス要求が所定の枠の間に生成されなかったと判定するプログラムコードに基づいて、プログラムコードは新しいサービス要求の固有の識別子を生成し、新しいサービス要求の固有の識別子の最終値は整数を含む。
【0072】
いくつかの例では、プログラムコードは、1つまたは複数のモダリティのうちのモダリティから、新しいサービス要求が完了したという通知を取得する。プログラムコードは、新しいサービス要求の固有の識別子を予約する。プログラムコードは、所定の時間枠の間に生成された個人に関連付けられた次のサービス要求の固有の識別子として使用するために、新しいサービス要求の固有の識別子の最終値を所定の値だけ増分する。
【0073】
いくつかの例では、プログラムコードは、1つまたは複数のモダリティのうちの少なくとも1つのモダリティを識別し、少なくとも1つのモダリティは、少なくとも1つのモダリティが新しいサービス要求を完了することを可能にする技術的特性を含む。プログラムコードは、新しいサービス要求が共有キューに送信されたことを少なくとも1つのモダリティに通知する。例えば、プログラムコードは、デジタルメッセージおよび/または他の通知(アプリケーションまたはウェブインターフェース内の通知を含む)を介して、患者の健康アプリケーション、画像保管装置、および/またはモバイルアプリケーションに通知することができる。いくつかの例では、特定の認可モダリティは、特定のタイプの通知を受信するようにサブスクライブする。したがって、認可されたサブスクライブされたモダリティがこの通知を受信する。
【0074】
いくつかの例では、新しいサービス要求を共有キューに送信し、少なくとも1つのモダリティに通知するステップは、1つまたは複数のプロセッサによって並列に実行される。
【0075】
いくつかの例では、個人のために新しいサービス要求を生成することは、既存のサービス要求が所定の枠の間に生成されたと判定することに基づいて、プログラムコードが既存のサービス要求からメタデータを収集することをさらに含む。プログラムコードは、メタデータを新しいサービス要求に組み込む。
【0076】
いくつかの例では、個人に関連付けられた既存のサービス要求が所定の時間枠の間に1つまたは複数のプロセッサによって生成されたかどうかを判定することは、コンピューティング環境内の1つまたは複数のデータベースに問い合わせるプログラムコードを含む。
【0077】
いくつかの例では、時間枠は、個人がサービス場所に物理的に存在する暦日である。
【0078】
いくつかの例では、個人がサービス場所に物理的に存在することを示す電子メッセージのうちの1つまたは複数、ならびに共有キューへの新しいサービス要求の送信が、ヘルスレベル7(HL7)フォーマットである。
【0079】
いくつかの例では、共有キューはモダリティワークリストを含む。
【0080】
いくつかの例では、所定の値は1である。
【0081】
いくつかの例では、新しいサービス要求の整数はアクセッション番号を含み、新しいサービスのアクセッション番号は、所定の枠の間に個人に対して要求されたサービスの順序付きシーケンスの番号である。
【0082】
いくつかの例では、新しいサービス要求の固有の識別子は値の連結を含み、値は、サービス場所、サービス場所における個人の訪問番号、個人の識別子、およびサービスの識別子からなる群から選択される。
【0083】
いくつかの例では、個人がサービス場所に物理的に存在することを示す電子メッセージは、個人を識別するデータまたはメタデータを含まず、本方法は、新しいサービス要求をコンピューティング環境内の電子医療記録システム内の医療記録番号に関連付けるプログラムコードをさらに含み、プログラムコードは、関連付けに基づいて新しいサービス要求を更新する。
【0084】
いくつかの例では、プログラムコードは、完了した新しいサービス要求に対する請求書を生成するように電子課金システムに命令するために、電子課金システムにメッセージを送る。
【0085】
図6は、本発明のいくつかの実施形態の態様を実装することができるコンピューティング環境600である。この技術環境で表される個々の要素は、1つまたは複数のコンピュータリソース(例えば、
図7,700)を含むことができる。また、本明細書における様々なノードの分離は、可能な構成の一例として提供される。例えば、医療環境で実施される技術環境では、本発明の一実施形態のプログラムコードを実行するのと同じコンピューティングリソースが、入院および/またはオーダーを処理するシステムのプログラムコードを実行することもできる。本明細書に示すように、様々なアプリケーション611を実行する1つまたは複数のコンピューティングノード610は、本発明621のいくつかの実施形態の態様を実装するプログラムコードを実行する1つまたは複数のコンピューティングノード620にデータを提供する。これらのデータは、消費者が施設に入ったという通知を含むことができる。プログラムコードはメッセージをキュー630に送る。この通信は、デジタルメッセージ(例えば、HL7)、および/またはHTTP/HTTPSを介して行うことができる。キュー630は、本明細書ではそれ自体のエンティティとして示されているが、1つまたは複数のコンピュータリソースによって実行および維持することができ、および/またはプロセッサがプログラムコード621を実行する同じコンピューティングノード620上で維持することができる。このキュー630は、1つまたは複数のコンピューティングデバイス640にアクセス可能である。これらのコンピューティングデバイスは、キュー630をチェックし、および/またはキュー630への更新をサブスクライブする様々なモダリティであるか、またはそれらを含む。所与のイベントが完了すると、1つまたは複数のコンピューティングデバイス640のモダリティがプログラムコード621に通知し、プログラムコードは、コンピューティング環境600内のコンピューティングノード650上で実行されている他のシステム651にこのデータを提供することができる。例えば、プログラムコード621は、所与のイベントに対する請求書を生成するように課金システムに通知することができる。
【0086】
図7は、技術の特定の実施形態の技術アーキテクチャの一部である、などのコンピュータシステム内のリソース700のブロック図を示す。例えば、リソース700は、レガシーバスを介して追加の信号を送受信するために、本発明の様々な実施形態で利用されるモデムに接続されるか、またはモデムに含まれ得る。追加的または代替的に、本発明の実施形態で利用することができる特定のバス自体がコンピューティングリソース700である。
図7に戻ると、リソース700は、特定の実施形態ではマイクロプロセッサ704を含むことができる回路702を含むことができる。コンピュータシステム700はまた、メモリ706(例えば、揮発性メモリデバイス)および記憶装置708を含むことができる。記憶装置708は、不揮発性メモリデバイス(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、ファームウェア、プログラマブルロジックなど)、磁気ディスクドライブ、光ディスクドライブ、テープドライブなどを含むことができる。記憶装置708は、内部記憶デバイス、取り付けられた記憶デバイス、および/またはネットワークアクセス可能な記憶デバイスを含むことができる。システム400は、メモリ706にロードされ、マイクロプロセッサ704または回路702によって実行され得るコード712を含むプログラムロジック710を含むことができる。
【0087】
特定の実施形態では、コード712を含むプログラムロジック710は、記憶装置708またはメモリ706に記憶することができる。追加的または代替的に、プログラムロジック710は、回路702に実装することができる。したがって、
図7はプログラムロジック710を他の要素とは別個に示しているが、プログラムロジック710はメモリ706および/または回路702に実装することができる。プログラムロジック710は、様々な図のものを含む様々なコンピュータネットワークの要素の再構成を容易にする本開示で説明されるプログラムコードを含むことができる。追加的または代替的に、プログラムロジック710は、
図2~
図6に示すように、コンピューティング環境全体でタスクのデータ整合性を維持することを容易にする、本開示で説明するプログラムコードを含むことができる。
【0088】
ソフトウェア、コンピュータ可読コードまたは命令を実行するためにリソース700の処理リソースを使用することは、このコードを格納できる場所を限定しない。
図8を参照すると、一例では、コンピュータプログラム製品800は、例えば、技術の1つまたは複数の態様を提供および促進するために、コンピュータ可読プログラムコード手段またはロジック804を記憶するための1つまたは複数の非一時的コンピュータ可読記憶媒体802を含む。非一時的コンピュータ可読記憶媒体802の例は、フロッピーディスク、光ディスク、CD-ROM、および光磁気ディスクを含む任意のタイプのディスクなどの記憶メモリ、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または電子命令を記憶するのに適した任意のタイプの媒体を含む。
【0089】
当業者には理解されるように、本技術の態様は、システム、方法、またはコンピュータプログラム製品として具現化することができる。したがって、本技術の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形態をとることができ、これらはすべて、本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本技術の態様は、コンピュータ可読プログラムコードが具現化された1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【0090】
1つまたは複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読信号媒体は、例えばベースバンドにおいて、または搬送波の一部として、コンピュータ可読プログラムコードが内部に具現化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁気、光学、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスにより、またはそれらと関連して使用するためのプログラムを通信、伝播、または輸送することができる任意のコンピュータ可読媒体とすることができる。
【0091】
コンピュータ可読記憶媒体は、例えば、電子的、磁気的、光学的、電磁的、赤外線もしくは半導体のシステム、装置、もしくはデバイス、またはこれらの任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)には、1つまたは複数の配線を有する電気的接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせが含まれる。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスにより、またはそれに関連して使用するためのプログラムを含むかまたは記憶することができる任意の有形媒体とすることができる。
【0092】
1つまたは複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読信号媒体は、例えばベースバンドにおいて、または搬送波の一部として、コンピュータ可読プログラムコードが内部に具現化された伝搬データ信号を含むことができる。そのような伝搬信号は、電磁気、光学、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスにより、またはそれらと関連して使用するためのプログラムを通信、伝播、または輸送することができる任意のコンピュータ可読媒体とすることができる。
【0093】
コンピュータ可読媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、またはこれらの任意の適切な組み合わせを含むがこれらに限定されない適切な媒体を使用して送信することができる。
【0094】
技術の態様のための動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、PHP、ASP、アセンブラまたは同様のプログラミング言語などの従来の手続き型プログラミング言語、ならびに機能型プログラミング言語および技術計算のための言語(例えば、Python、Matlab)を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述することができる。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、または外部コンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)接続することができる。さらに、限定はしないが、クラウドコンピューティング環境内の1つまたは複数のリソースを含む、2つ以上のコンピュータを使用してプログラムコードを実装することができる。
【0095】
本技術の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して本明細書で説明される。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータプログラム命令によって実施することができることが理解されよう。これらのコンピュータプログラム命令は、機械を製造するために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供することができ、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施するための手段を作成する。
【0096】
ソフトウェアおよび/またはプログラムコードとも呼ばれるこれらのコンピュータプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読媒体に格納することもでき、コンピュータ可読媒体に格納された命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実施する命令を含む製品を製造する。
【0097】
コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実装プロセスを生成することができ、コンピュータまたは他のプログラム可能な装置上で実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロックで指定された機能/動作を実装するためのプロセスを提供する。
【0098】
図中のフローチャートおよびブロック図は、本技術の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すことができる。いくつかの代替実施態様では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われ得ることにも留意されたい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよく、またはブロックは、関連する機能に応じて、時には逆の順序で実行されてもよい。ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアとコンピュータ命令の組み合わせによって実装できることにも留意されたい。
【0099】
上記に加えて、技術の1つまたは複数の態様は、顧客環境の管理を提供するサービスプロバイダによって提供、提供、展開、管理、サービスなどを行うことができる。例えば、サービスプロバイダは、1つまたは複数の顧客のために技法の1つまたは複数の態様を実行するコンピュータコードおよび/またはコンピュータインフラストラクチャを作成、維持、サポートなどすることができる。その代わりに、サービスプロバイダは、例として、サブスクリプションおよび/または料金契約の下で顧客から支払いを受け取ることができる。追加的または代替的に、サービスプロバイダは、広告コンテンツの販売から1つまたは複数の第三者への支払いを受け取ることができる。
【0100】
本技法の一態様では、本技法の1つまたは複数の態様を実行するためにアプリケーションを展開することができる。一例として、アプリケーションの展開は、技術の1つまたは複数の態様を実行するように動作可能なコンピュータインフラストラクチャを提供することを含む。
【0101】
本技術のさらなる態様として、コンピュータ可読コードをコンピューティングシステムに統合することを含むコンピューティングインフラストラクチャを展開することができ、コンピューティングシステムと組み合わせたコードは、本技術の1つまたは複数の態様を実行することができる。
【0102】
本技術のまたさらなる態様として、コンピュータ可読コードをコンピュータシステムに統合することを含むコンピューティングインフラストラクチャを統合するためのプロセスを提供することができる。コンピュータシステムはコンピュータ可読媒体を含み、コンピュータ媒体は本技術の1つまたは複数の態様を含む。コンピュータシステムと組み合わせたコードは、技術の1つまたは複数の態様を実行することができる。
【0103】
さらに、他のタイプのコンピューティング環境は、技術の1つまたは複数の態様から利益を得ることができる。一例として、環境はエミュレータ(例えば、ソフトウェアまたは他のエミュレーション機構)を含むことができ、特定のアーキテクチャ(例えば、命令実行、アドレス変換などのアーキテクチャ化された機能、およびアーキテクチャ化されたレジスタを含む)またはそのサブセットが(例えば、プロセッサおよびメモリを有するネイティブコンピュータシステム上で)エミュレートされる。そのような環境では、エミュレータを実行するコンピュータがエミュレートされている機能とは異なるアーキテクチャを有することができるとしても、エミュレータの1つまたは複数のエミュレーション機能は、技術の1つまたは複数の態様を実装することができる。一例として、エミュレーションモードでは、エミュレートされている特定の命令または動作がデコードされ、個々の命令または動作を実施するために適切なエミュレーション機能が構築される。
【0104】
エミュレーション環境では、ホストコンピュータは、例えば、命令およびデータを記憶するためのメモリと、メモリから命令をフェッチし、任意選択的に、フェッチされた命令のためのローカルバッファリングを提供する命令フェッチユニットと、フェッチされた命令を受信し、フェッチされた命令のタイプを判定するための命令デコードユニットと、命令を実行する命令実行ユニットと、を含む。実行は、メモリからレジスタにデータをロードするステップ、レジスタからメモリにデータを戻して記憶するステップ、または、復号ユニットによって決定されたように、何らかのタイプの算術演算または論理演算を実行するステップを含むことができる。一例では、各ユニットはソフトウェアで実装される。例えば、ユニットによって実行される動作は、エミュレータソフトウェア内の1つまたは複数のサブルーチンとして実装される。
【0105】
さらに、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含む、プログラムコードを格納および/または実行するのに適したデータ処理システムが使用可能である。メモリ要素は、例えば、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量記憶装置、および実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすために少なくとも一部のプログラムコードの一時的な記憶を提供するキャッシュメモリを含む。
【0106】
入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイス、DASD、テープ、CD、DVD、サムドライブおよび他のメモリ媒体などを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合することができる。ネットワークアダプタはまた、データ処理システムが介在するプライベートネットワークまたはパブリックネットワークを介して他のデータ処理システムまたはリモートプリンタまたは記憶装置に結合されることを可能にするためにシステムに結合されることができる。モデム、ケーブルモデム、およびイーサネットカードは、利用可能なタイプのネットワークアダプタのほんの一部である。
【0107】
本明細書で使用される用語は、特定の実施形態のみを説明するためのものであり、本発明を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」および「the」は、文脈が明らかにそうでないことを示さない限り、複数形も含むことが意図される。「含む(comprises)」および/または「含む(comprising)」という用語は、本明細書で使用される場合、記載された特徴、整数、ステップ、動作、要素、および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されよう。
【0108】
以下の説明におけるすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および均等物は、存在する場合、具体的に述べられた他の要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図される。技術の説明は、例示および説明の目的で提示されているが、網羅的であること、または開示された形態の本発明に限定されることを意図するものではない。本発明の範囲および趣旨から逸脱することなく、多くの修正および変形が当業者には明らかであろう。実施形態は、本発明の原理および実際の用途を最もよく説明し、当業者が企図される特定の用途に適した様々な修正を伴う様々な実施形態について本発明を理解することを可能にするために選択および説明された。
【国際調査報告】