説明

医療用インテリジェント・サーバ・アーキテクチャ

【課題】ますます増加する患者に対して拡張することができ、様々なモダリティに基づいて、サービス検出の変更および追加を容易に行えるコンピュータ支援検出のための医療用インテリジェント・サーバ・アーキテクチャを提供すること。
【解決手段】アーキテクチャは、1組の医療画像が提供されたとき、疾患を検出するためのサービスを提供できる専用サーバ・コンフィギュレーションである。アーキテクチャは、既存の医療情報システム中に統合させることができる。コンピュータ支援検出のためのアーキテクチャは、コンピュータ支援検出サービスが必要とする変化に適合可能であり、新規のまたは変更された検出サービスを含むように容易に拡張可能であり、ますます増加する患者および様々なタイプの患者画像に適合するように拡張可能である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、医療用コンピュータ支援検出の技術に関し、より詳細には、1組の医療画像に基づくコンピュータ支援検出に関する。
【背景技術】
【0002】
(関連出願の相互参照)
JaeJung Changによる、整理番号3352−0145PUS1の、「Job Dispatcher for Medical Intelligent Server Architecture(医療用インテリジェント・サーバ・アーキテクチャのためのジョブ・ディスパッチャ)」と題する関連出願が本明細書と同時に出願されており、それを参照により本明細書に組み込む。
【0003】
病院情報システムおよび医療用検査(medical laboratory)システムは、ますます増加する量およびタイプの医療画像を生成している。病院は、徐々に従来の臨床カルテを電子臨床カルテに置き換えてきた。病院は、病歴および処方箋歴のデータベースを追加してきている。診断を支援するための情報を提供する放射線情報システムも追加されている。最近では、PACS(画像保管通信システム)が、医療画像データの記憶、検索、分配、およびプレゼンテーションに専用のコンピュータ・システムとして開発されている。PACSは、フィルム保管など、医療画像を管理するハード・コピーベースの手段の代替となるものである。Full PACSは、超音波検査法、磁気共鳴イメージング、PET(陽電子放射断層撮影)、コンピュータ断層撮影、内視鏡検査法、マンモグラフィ、およびX線撮影法(単純X線)など、様々なモダリティからの画像を処理する。
【0004】
現在、コンピュータ支援検出(CAD:computer aided detection)は、医師を支援する有効な手段であることが示されている。例えば、CADは、末期の病気を持つ患者を有する医師を支援するのに有用であった。CAD用のアルゴリズムは、ますます増加する疾患や病気のために開発され、改良されている。
【0005】
典型的なPACSネットワークは、画像を含むデータベースを保管する中央サーバで構成することができる。中央サーバは、LANまたはWAN、ならびにインターネットを介してクライアントに接続することができる。クライアント・ワークステーションは、画像フィルムを走査してシステムに送るローカルの周辺装置(例えば、フィルム・デジタイザ)と、そのシステムから画像フィルムを印刷するローカルの周辺装置と、デジタル画像の対話型ディスプレイとを含むことができる。PACSワークステーションは、画像を操作する(切取り、回転、ズーム、輝度、コントラストなど)手段を提供する。
【0006】
撮像装置、すなわち、モダリティの多くのタイプは、デジタル形式で患者の画像を直接、PACSに供給できるようになりつつある。NEMA規格である、DICOM(医用画像通信規格)として知られる医療画像を記憶し送信するための1組の規格が開発されてきた。DICOMは、複数の製造業者からのスキャナ、サーバ、ワークステーション、プリンタ、およびネットワーク・ハードウェアの統合を可能にするように開発された。したがって、DICOMは、多数のモダリティに対する共通のプラットフォームを提供する。DICOMは、ファイル・フォーマット定義と、画像送信のためのネットワーク通信プロトコルの両方を含んでいる。
【0007】
DICOMのファイル・フォーマットは、ヘッダと画像データの両方を含んでいる。ヘッダは、規格化されたフィールドと、自由形式のフィールドを含むことができる。DICOMファイルは、画像タイプに依存した(すなわち、モダリティに対応した)必要な要素を含んでいる。
【発明の開示】
【発明が解決しようとする課題】
【0008】
患者の来院、または他の医療行為により、1つまたは複数の画像ファイルを提供可能なモダリティに関して取得されたデータを含むスタディ(study)を得ることができる。患者が何回か来院すれば、いくつかのスタディが得られるはずである。PACSシステムは、通常、多くの患者に対する画像ファイルを記憶し、管理することができる。医療画像を用いて検出を実施できるCADアルゴリズムは、絶えず開発されている。しかし、診断を実施するために、患者の多数の医療画像をCADアルゴリズムに提供できるシステムが求められている。特に、進化しつつある様々なCADソフトウェアを用いて、多くの異なる潜在的な疾患に対して、数百人の患者に対する検出サービスを提供できるシステムが望ましい。長い目で見れば、このような役割を果たすシステムは、多様な数およびタイプの画像、ならびに検出サービスに対して多様な要求に適合させ、新規のまたは変更されたCADソフトウェアに対して容易に拡張され、かつますます増加する患者のスタディを処理するために拡大可能であることが必要である。
【課題を解決するための手段】
【0009】
本発明の一態様は、ますます増加する患者に対して拡張できるコンピュータ支援検出のためのアーキテクチャであり、また様々のモダリティに基づくCADサービスの変更および追加を容易にすることである。本発明は、1組の医療画像が提供されたとき診断を決定するためのサービスを提供できるサーバ・コンフィギュレーションである。本発明は、既存の医療情報システム中に統合され得る。
【0010】
本発明の一態様は、医療用コンピュータ支援検出システムであって、1組の医療画像ファイルをそれぞれが含む1つまたは複数のケースを受け取り、そのファイルを分配するためのディスパッチャと、プラグインCADコンポーネントを用いて、1組の医療画像ファイルに基づき医療用コンピュータ支援検出を実施する画像処理サーバとを有し、その画像処理サーバが、プラグインCADコンポーネントをディスパッチャに登録し、そのディスパッチャが、画像処理サーバおよび登録されたプラグインCADコンポーネントの作業負荷に基づき医療画像ファイルを分配する、医療用コンピュータ支援検出システムである。
【0011】
本発明のシステムは、新規のまたは変更されたプラグインCADコンポーネントを含むように拡張することができる。本発明のシステムでは、画像処理サーバがプラグインCADコンポーネントをディスパッチャに登録する。ディスパッチャは、検出サービスを実施するために、プラグインCADコンポーネントの可用性に基づいて画像ファイルを配布する。現在利用可能なCADコンポーネントの情報に基づいて画像ファイルを配布することにより、本発明のシステムは、新規のまたは変更されたプラグインCADコンポーネントに適合するように、容易に拡張することができる。
【0012】
本医療用コンピュータ支援検出システムの画像処理サーバの一態様は、医療画像ファイルに基づいてコンピュータ支援検出を実施するために、プラグインCADコンポーネントによる処理を呼び出すスクリプト・ファイルを実行することである。スクリプト・ファイルからCADコンポーネントを呼び出すことにより、エンド・ユーザは、その基礎となるCADコンポーネントの細部の知識なしに、またシステムの他の部分を再コンパイルする必要なしに、新規のまたは変更されたコンポーネントを容易にシステムに追加することができる。
【0013】
本発明のシステムの一態様は、医療用コンピュータ支援検出システムの各医療画像ファイルが、患者データおよび画像データを含むヘッダを含むことである。本発明のシステムにより処理される医療画像ファイルは、別のヘッダ・ファイルを管理する必要がなく、また別のソースから、医療画像データおよび関連する患者に関する情報を取得する必要なく、検出のために使用することができる。
【0014】
医療用コンピュータ支援検出システムの画像処理サーバの一態様は、画像処理サーバがさらに、スクリプト・ファイルが事前にコンパイルされているか、あるいは変更されているかどうかを判定し、スクリプトが変更されている場合、画像処理サーバが、スクリプトのコンパイルされたバージョンがあるかどうかを判定し、それがない場合、スクリプトをコンパイルし、コンパイルされたスクリプトを実行することである。したがって、本発明のシステムは、スクリプト・ファイルのコンパイルおよび実行を処理することができる。こうするとさらに、新規のまたは変更されたCADコンポーネントに適合するように、システムを簡単に拡張できるようになる。
【0015】
医療用コンピュータ支援検出システムの画像処理サーバの一態様は、画像処理サーバが、画像サービス・アドミニストレータおよびスクリプト・ランナを含むことである。画像サービス・アドミニストレータは、プラグインCADコンポーネントをディスパッチャに登録し、CADコンポーネントが登録された場合、スクリプト・ファイルの実行を管理するために別の検出サービス・プロセスを作成し、ディスパッチャから画像ファイルを受け取る。スクリプト・ファイルの実行を管理するために、別の検出サービス・プロセスを作成することにより、本発明のシステムは、検出サービスが必要とする変更に適合することができる。別のサービス・プロセスでスクリプト・ファイルの実行を管理することにより、いくつかのサービス・プロセスが、他のサービス・プロセスに影響を与えることなく、いくつかの論理プロセッサ上で同時に実行することができる。さらに、あるサービス・プロセスに障害が起きた場合、実行中の他のサービス・プロセスの実行を継続することができる。したがって、本発明は、必要に応じた変更に適合可能であり、またロバストである。
【0016】
医療用コンピュータ支援検出システムの医療画像ファイルに含まれる医療画像データは、モダリティおよび体の部分に基づいており、またそのモダリティのタイプに基づいてコンピュータ支援検出処理を行うように、スクリプト・ファイルが選択される。したがって、モダリティのタイプおよび体の部分に対して適切な検出サービスを提供するために、スクリプト・ファイルは、モダリティに基づいて記述され得る。さらに、医療画像ファイルに基づいて検出を実施するためのCADコンポーネントの選択は、その医療画像データのモダリティに基づいて行うことができる。
【0017】
医療用コンピュータ支援検出システムの一態様は、多数の患者および患者の画像ファイルに対して拡張できることである。特に、本発明のシステムは、複数の画像処理サーバを含むことができ、複数の画像処理サーバのうちの少なくとも1つの画像処理サーバが、始動時にそのプラグインCADコンポーネントを登録し、またディスパッチャが、ケースの画像ファイルを、現在の作業負荷に基づいて選択された画像処理サーバと、ディスパッチャに登録されたCADコンポーネントに分配する。追加される画像処理サーバにその利用可能なCADサービスを登録させることにより、本発明のシステムは、画像処理サーバを容易に追加することができる。
【0018】
医療用コンピュータ支援検出システムの画像サービス・アドミニストレータの一態様は、それがさらに、実行される検出サービス・プロセスの待ち行列を維持し、待ち行列から取得された検出サービス・プロセスの実行を依頼(submit)した後、待ち行列中に現在ある検出プロセスの数、および実行されている検出プロセスの数に基づき、画像処理サーバの作業負荷状況の変化をディスパッチャに知らせるサービス・アソシエートを含むことができることである。画像処理サーバの作業負荷状況をディスパッチャに知らせることにより、ディスパッチャは、画像処理サーバの作業負荷状況に基づいて、医療画像ファイルを配布することができる。
【0019】
コンピュータ支援検出のための医療用インテリジェント・サーバのさらなる態様は、プラグインCADコンポーネントがアップグレードされるか、または画像処理サーバ中に新しく追加された場合、画像処理サーバが再始動され、新しい組のCADコンポーネントをディスパッチャに登録することである。CADコンポーネントが追加または変更されたとき、新しい1組のCADコンポーネントを登録することによって、画像処理サーバへの画像ファイルの配布が、画像処理サーバの最新の能力により保証されることになる。さらに、本発明の医療用インテリジェント・サーバは、現在利用可能なCADコンポーネントに対して容易に拡張される。
【発明を実施するための最良の形態】
【0020】
添付の図面を参照して、本発明をさらに詳細に述べる。
【0021】
本発明は、医師および放射線専門医が、医療診断を実施するのに利用可能な進んだアルゴリズムを使用できるようにするために使用され得る。本発明は、ガンなどの疾患を正確に検出する高度なアルゴリズムによって進んだCADを提供し、またその後に、有益な検出情報を提供する。本発明は、DICOM規格通信プロトコルを使用するので、既存の医療情報システムおよび作業フロー、ならびに新しい病院システムに適合するように設計されている。検出サービスは、大幅に遅れることなく実施される。組込みのウェブ・サーバは、いつでもシステム・アクセスおよびレポート生成を可能にする。
【0022】
特に、本発明は、ますます増加する患者および患者の画像に対して、様々なCADアルゴリズムを適用することを容易にし、新規のまた変更されたCADサービスに適合するように容易に拡張することができる。患者ケースを同時に接続する数、およびその患者ケースの接続に対して要求されるサービスを処理するために追加されるサーバの数に対する拡張可能なアーキテクチャにより、大容量の処理を容易に行うことができる。新規のまた変更されたCADサービスへの拡張は、スクリプトおよびプラグインのサービス・コンポーネントにより容易に行うことが可能となる。本発明は、検出サービスに対する要求の多様化に対して動的に適合可能である。
用語および頭字語の定義
以下の定義は、本実施の形態を通して使用される用語に対して提供される。
【0023】
関連(association)(DICOMプロトコル):DICOM情報がそれにより交換される2つのDICOMアプリケーション相互間で確立される通信接続。関連に先行して接続が開始される。関連は、関連の折衝(negotiation)と呼ばれるプロセスにより確立される。
【0024】
グラフィカル・ユーザ・インターフェース(GUI):コンピュータのグラフィックス機能を利用して、プログラムを使いやすくするプログラム・インターフェース。GUIの代替と考えられるコンピュータ・プログラムへのユーザ・インターフェースは、コマンド駆動型インターフェースである。現在のGUIは、ポインタおよび関連するポインティング・デバイスを有し、ユーザに、ディスプレイ画面上のグラフィカル・オブジェクトを選択できるようにする。GUIは、アイコン、メニュー、スクロール・バーなどの機能コンポーネントを表示することができ、コマンドを活動化させ、または表示を操作するなどの機能を有効にする。
【0025】
メッセージ:動作しているプログラム、デバイス中を、またはオペレーティング環境内を通る情報の単位。情報の単位は、1つまたは複数のテキスト・ブロック、制御キャラクタ、ヘッダ、ならびに誤り検査もしくは同期化情報を含むことができる。
【0026】
モジュール:関連するアプリケーション・プログラムおよびサービス・アプリケーションの集合体。
【0027】
サーバ:資源を管理し、ネットワーク中の他のコンピュータにより使用され得るサービス・アプリケーションを送達する、ネットワーク上のコンピュータまたはデバイス。
【0028】
スタディ(Study)(DICOM、ケース(case)も同様):病院、診療所での受診中、または他の医療行為中に生成された画像モダリティの1組の画像に対するDICOM用語。
【0029】
タスク(プロセスも同様):実行されるプログラムと、オペレーティング・システムにより使用されるブックキーピング(bookkeeping)情報との組合せ。プログラムがコンピュータにより実行されるとき、オペレーティング・システムは、そのために新しいタスクを作成する。そのタスクはプログラムのためのラッパーを構成し、タスク番号でプログラムを識別し、他のブックキーピング情報をそれに添付する。
【0030】
トランスファ・シンタックス(Transfer Syntax)(DICOM PS.3.5 2004より):アプリケーション・エンティティが、サポート可能な符号化技法(例えば、データ・エレメント構造、バイト順、圧縮)と曖昧さのない折衝を可能にする1組の符号化規則であり、それにより、これらのアプリケーション・エンティティが通信できるようになる。
【0031】
Windowsサービス(Microsoft):それ自体のWindowsセッション中に長期間動作するように設計された高度に特殊化されたタイプのアプリケーション。Windowsサービスは、ローカルに、またはネットワーク中で、普通はユーザ・インターフェースなしにバックグラウンド・プロセスとして通常動作する。例えば、大部分のサーバ・ベースのアプリケーションはサービスである。Windowsサービスは、Microsoft管理コンソールから開始することができる。
【0032】
モダリティ:C−STORE要求(他のシステムにデジタル画像を記憶させるための要求)を送る、CT、MR、CR、超音波、および核医学システム、または撮像デバイスおよび装置。モダリティは関連する画像モダリティを有する。
【0033】
モダリティの例
AS=血管内視鏡
BI=生体磁気イメージング
CD=カラードップラ法
CP=コルポスコピー
CR=コンピュータX線撮影
CS=膀胱鏡検査
CT=コンピュータ断層撮影
DD=デュプレックス・ドップラ
DG=透光法
DM=デジタル顕微鏡検査
DS=減算血管撮影
DX=デジタル・ラジオグラフィ
EC=心臓超音波検査法
ES=内視鏡検査法
FA=蛍光血管造影法
FS=眼底検査
HC=ハード・コピー
LP=腹腔鏡検査法
LS=レーザ表面走査
MA=磁気共鳴血管造影法
MR=磁気共鳴
MS=磁気共鳴分光検査法
NM=核医学
PT=PET(陽電子放出断層撮影法)
RF=放射線蛍光透視法
RG=X線写真イメージング(従来のフィルム画面)
RTDOSE=治療用放射線量
RTIMAGE=放射線療法画像
RTPLAN=放射線療法計画
RTSTRUCT=放射線療法構造セット
ST=単一光子放出型コンピュータ断層撮影法
TG=温度記録法
US=超音波
XA=X線血管造影法
XC=外部カメラ
ECG=心電図
CAD(コンピュータ支援検出):疾患または病気を示す可能性のある、医療画像中の部位を検出するように設計された、例えば、パターン認識アルゴリズムなどのアルゴリズム。
【0034】
DICOM:(医用画像通信規格)。医療撮像における情報を処理し、記憶し、印刷し、送信するための包括的な1組の規格である。それは、ファイル・フォーマット定義およびネットワーク通信プロトコルを含む。上記プロトコルは、システム間で通信を行うためにTCP/IPを使用する。DICOMファイルは、DICOMフォーマットで、情報、すなわち、画像と患者データを受け取る機能を有する2つのエンティティ間で交換することができる。dicom.nema.orgを参照のこと。
【0035】
PACS:(画像保管通信システム)。市販のPACSは、入力モダリティ、DICOMサーバ、PACSサーバ、アーカイブ・サーバ、ウェブ・サーバ、RIS(放射線情報サーバ)、および放射線クライアントを含むアーキテクチャを提供する。
【0036】
SOAP:(Simple Object Access Protocol)。
【0037】
本発明の医療用画像インテリジェント・サーバ(MIIS)の概念図が図1に示されている。図1に示すように、MIISは、ジョブ・ディスパッチャ20、コンソール40、および1つまたは複数の画像処理サーバ30(簡単のために1つだけを示す)から構成される。ジョブ・ディスパッチャは、1つまたは複数のDICOMデバイス10との接続を確立することができる。DICOMデバイスは、スキャナ、ワークステーション、プリンタ、およびネットワーク・ハードウェアなど、任意のDICOM準拠デバイスを含む。
【0038】
大規模な病院システムに対するスループット要件は、単一のサーバが提供できる能力をはるかに超える。MIISは、画像処理サーバをさらに追加できる能力を提供し、適切な性能を達成するように、その作業負荷を調整する。MIISは、画像処理サーバの情報を登録し、登録された情報に基づいて画像を配布するジョブ・ディスパッチャを介して拡張容易性(scalability)を達成し、また新規のまたは変更されたCADサービスに対して動的にスクリプトを適合させる画像処理サーバを介して拡張性を達成する。ジョブ・ディスパッチャは、DICOMデバイスからの要求を検出し、スタディ用の画像を受け取り、適切な画像処理サーバに画像を配布する。ジョブ・ディスパッチャは、ますます増加する新しいサービス、ならびに既存のサービスの変更を有する環境中で負荷バランスをとるために登録サービスを使用する。
【0039】
本発明は、MIISのバックエンドとしての画像処理サーバの諸態様を開示する。ジョブ・ディスパッチャの詳細は、関連出願(整理番号3352−0145PUS1)に開示されており、上記で述べたように、それを参照により本明細書に組み込む。
【0040】
図2は、画像処理サーバの作業フロー図を示す。ジョブ・ディスパッチャは、多数の画像処理サーバ中で作業負荷を平衡させることができる。図2で分かるように、ジョブ・ディスパッチャは、スタディ・ハンドラ22および登録サービス23を含む。画像処理サーバは、登録サービス23に登録(「Register」)することができる。登録サービス23は、画像処理サーバ30のステータス情報を記憶し、管理する。ステータス情報は、画像処理サーバが提供できるCADサービスのリスト、画像処理サーバによるサービス要求に必要なプロセスおよびプロトコル、ならびに画像処理サーバの位置(例えば、ローカル・マシン、またはIPアドレス)を含んでいる。
【0041】
画像処理サーバは、サービス・グループのメンバーであり得る前に、登録サービスに登録される必要がある。ジョブ・ディスパッチャは、CADサービスを実施するために、画像処理サーバに画像を配布(「CarryOutService」)できるように登録情報を検索することになる。登録情報は、システム・コンフィギュレーションが変わる場合、例えば、画像処理サーバを追加/除去し、あるいはCADサービスを追加/アップグレードする場合、更新される必要がある。
【0042】
画像処理サーバ30は、MIISのCADサービスを提供する。図2に示すように、画像処理サーバ30は、画像サービス・アドミニストレータ31、スクリプト・ランナ32および1つまたは複数のプラグインCADコンポーネント54を含んでいる。スクリプト・ソフトウェア・プログラムは、1つまたは複数のCAD画像処理コンポーネントを一緒に組み合わせて、DICOM画像に基づく診断を行う。CAD画像処理コンポーネントは、スクリプト・エディタにより呼び出すことのできるメソッドを公開(expose)するCADプラグイン・コンポーネント中にラップされる。スクリプトは、プロジェクト単位で実行される。プロジェクトは、参照アセンブリおよびそのプロジェクト中のスクリプト・ファイルのリストを記述するファイルである。結果を分析し、レポートの様々なフォーマットを生成できるプラグイン・コンポーネントが存在する。フォーマットの中で、プラグイン・コンポーネントは、DICOMをサポートし、かつDICOM画像を結果と共に指定された位置に送ることができる。例示的なスクリプトは、[プログラムコード]のAPPENDIX 1に含まれる。
【0043】
画像サービス・アドミニストレータ31は、画像サービス・オブジェクト51、サービス・アソシエート52、およびサービス・ドゥーア(Doer)53を含む。画像サービス・オブジェクト51は、スタディ・ハンドラ22から配布された画像を受け取るためのメソッドを提供する。画像サービス・オブジェクト51のインスタンスは、画像サービス・アドミニストレータ31により、要求に応じてインスタンス生成される(instantiated)。スタディ・ハンドラ22から受け取られた画像は、サービス・アソシエート52によって管理される待ち行列中に配置される。
【0044】
サービス・アソシエート52は、優先順位および画像が受け取られた時間により(先着順)整列されるサービス・ドゥーア待ち行列を維持する。サービス・アソシエート52は、新しいケースの到来、CADサービスの完了、およびサーバのシャット・ダウンなどのイベントをトリガする手続きを処理する。サービス・ドゥーア53は、画像データを取得し、CAD画像処理を実施するために子プロセスを開始する。
【0045】
図3は、画像サービス・アドミニストレータ31に対するクラス図を示す。画像サービス・アドミニストレータ31は、画像サーバ・アドミニストレータ・クラス、画像サービス・オブジェクト・クラス、サービス・アソシエート・クラス、およびサービス・ドゥーア・クラスを含む。各クラスは、インスタンスが生成された各オブジェクトが実施できる例示的なメソッドと共に示されている。例示的な実施形態では、画像サービス・アドミニストレータ31は、連続的に動作するWindowsサービスである。画像サービス・アドミニストレータ・クラスは、「OnStart」メソッドを含み、それは、呼び出されたとき、コンフィギュレーション設定を読み取り、それに従って、サービス・アソシエートを構成し、画像サービス・オブジェクト51をロードし、「RegisterService」メソッドをコールして画像処理サーバおよびそれが処理できるサービスを登録し、またサービスが開始したことをサービス・アソシエートに通知する。「RegisterService」メソッドは、すべての画像処理コンポーネントを検索し、画像処理サーバが提供できる、または現在実行中のサービスの要約表を生成し、遠隔の登録サービス23にサービスの表を転送するための機能を呼び出す。サービスの表にある各サービスは、ストリング「Modality/Bodypart」により表されることが好ましい。サービスは、例えば、CR/BREAST、MG/BREAST、CR/CHESTなどとして表すこともできる。サービスの表中で表されるサービスは、ハッシュ・テーブルに記憶されることが好ましい(図4を参照)。画像サービス・アドミニストレータ31はまた、メソッド「OnStop」および「UnRegisterService」を実施することもできる。「OnStop」は、画像処理サーバ31のサービスが停止したとき、登録サービスから登録を抹消するための「UnRegisterService」機能を含む機能を実施する。「Registration Service」メソッドはまた、プラグイン・コンポーネントが追加されたとき、または変更されたときに実施される。画像処理サーバの再登録は、画像処理サーバを一時停止するか停止させることにより、コンフィギュレーションをアップグレードすることにより、画像処理サーバを始動することにより、またプラグイン・コンポーネントの新しい組を登録することにより行われ得る。
【0046】
画像サービス・オブジェクト・クラスは、画像を送るためにスタディ・ハンドラにより呼び出され得るメソッド「CarryOutService」を含む。パラメータは、「Service Name(サービス名)」と、DICOMヘッダ、および要求が優先順であるかどうかを示すフラグを含む画像データとを含む。「CarryOutService」は、受け取られたデータをサービス・ドゥーア・オブジェクトのインスタンス中に入れることを担当し、サービス・ドゥーア・オブジェクトをサービス・アソシエート中の待ち行列中に挿入し、イベントを生成するために「Call Service Associate」メソッドを呼び出し、新しい要求が到来したことをサービス・アソシエートに通知する。
【0047】
サービス・アソシエート52は、要求を保持する待ち行列を維持する。それは、要求の待ち行列を作り、イベントを生成するために呼び出すことのできるメソッドを含む。それはまた、生成されたイベントを処理するためのメソッドも提供する。特に、サービス・アソシエートは、待ち行列イベントの処理を委譲する「HandleQueueEvent」メソッドを含む。メソッド「QueueUpReq」は、パラメータとして、サービス・ドゥーアのインスタンスおよびその優先順位を取り、サービス・ドゥーア・オブジェクトを待ち行列中に挿入する。メソッドは、先着順ベースで呼び出される。しかし、あるオブジェクトが優先に設定された場合、待ち行列の先頭部分に挿入されることになる。メソッド「Raise」が、待ち行列イベントを生成するのに呼び出され得る。上記で述べた「HandleQueueEvent」は、入力として2つのパラメータをとる。すなわち、イベントを送るオブジェクトであるSender(送信側)と、生成されたイベントのタイプQueueEventArgである。
【0048】
待ち行列イベント処理は、生成されたイベントのタイプに基づく。例示のイベント・タイプは、新しい要求が到来したこと、スタディ用の画像処理が完了したこと、タスクの実行に失敗したこと、画像サービス・アドミニストレータが始動、またはシャット・ダウンしたことを含んでいる。サービス・アソシエートは、同時に画像処理を開始することを特定の数の子プロセスに許可する。この特定の数の値は、画像サービス・アドミニストレータのコンフィギュレーション・ファイルで指示される。それは、マシン中で利用可能な論理プロセッサの数に自動的に設定することができる。タスクまたは新しい要求の到来に関係するイベントおいて、サービス・アソシエートは、現在動作している子プロセスの数を調べる。現在動作している子プロセスの数が、事前設定の閾値よりも低い場合、待ち行列中の次のサービス・ドゥーア・オブジェクトが実行のために取り出され、その他の場合、そのイベントは無視される。サービス・ドゥーア・オブジェクトが、タスクを実行するために取り出され場合、性能を高めるために、サービス・アソシエートは、別の子プロセスを開始し、「DoService」をその子プロセスで動作させる。画像サービス・アドミニストレータがシャット・ダウンされたとき、シャット・ダウン・イベントが開始され、サービス・アソシエートが、子プロセスの動作を停止させて、未終了のタスクをすべてハード・ドライブに書き込む。画像サービス・アドミニストレータが始動されたとき、始動イベントが開始され、ハード・ドライブに書き込まれたすべてのタスクが再度ロードされ、実行されることになる。
【0049】
呼び出すことのできるサービス・アソシエートの他のメソッドは、「ScriptRunnerExit」、「IncWorkingThdCount」、「DecWorkingThdCount」、「GetWorkingThdCount」、および「UpdateServerState」を含んでいる。「ScriptRunnerExit」メソッドが、受け取られたイベントにより呼び出された場合、サービス・アソシエートは、task doneイベントを生成し、待ち行列イベント・ハンドラにそのイベントの処理を引き継ぐようにさせる。「IncWorkingThdCount」、「DecWorkingThdCount」、および「GetWorkingThdCount」は、現在動作している子プロセスの数のカウントを維持する。「UpdateServerState」は、画像処理サーバのステータスの変化情報を登録サービスに提供するためのメソッドである。ステータス情報は、開始された子プロセスの数、および待ち行列中のタスクの数を含むことができる。メソッドは、新しい要求処理イベントが生じたときにコールされ、または関数「IncWorkingThdCount」、または「DecWorkingThdCount」の内部からコールされ得る。
【0050】
上記で述べたように、サービス・ドゥーア・オブジェクトは、受け取られたデータおよび画像のホルダであり、待ち行列上の単位として記憶される。サービス・ドゥーア・オブジェクトは、メソッド「DoService」を含んでいる。「DoService」メソッドを呼び出すことにより、CAD画像処理を実行する別の子プロセスが作成される。本発明の発明者は、最大数の画像ファイルに対して同時に適合できるアーキテクチャを用いたとき、より高いスループットが達成できると判断した。したがって、「DoService」メソッドは、より多くの画像ファイルが処理できるように、別のプロセスで動作する。さらに、別のプロセスとして動作させることによって、プロセスの障害は、他の子プロセス、ならびに親の画像処理サーバに影響を与えないことになる。
【0051】
サービス・ドゥーアはまた、サービス・ドゥーア・オブジェクト中に記憶されたスタディの特性をリストする表を返す(return)ためのメソッドを提供する。特に、メソッド「GetJobProps」は、待ち行列中のまたはプロセス中のケースに関する情報を検索するためにコンソールにより呼び出すことができる。検索され得る特性の好ましいリストは、次のものを含む。
【0052】
患者ID
患者名
患者の性別
受入れ番号(Accession Number)
スタディのモダリティ
スタディの記述
スタディの日付
スタディの時間
委託医師の名前
スクリプト・ランナ32は、メソッド「DoService」でサービス・ドゥーアにより呼び出されるアプリケーションである。スクリプト・ランナ32は、コンパイルし、アセンブリをセーブし、指定されたスクリプト・ファイルの実行を担当する。スクリプト・ファイルは、CADコンポーネントおよび他のプラグイン・コンポーネントにコールすることができる。
【0053】
図5は、サービス・ドゥーア・オブジェクトのフローチャートを示す。サービス・ドゥーア・オブジェクトの子プロセスは、要求された検出サービスを実施するためのスクリプトを取得するために作成され呼び出される。子プロセスは、画像サービス・アドミニストレータのコンフィギュレーションから、スクリプトまたは対応する実行可能ファイルを検索する(ステップS−51)。所望のスクリプトまたは実行可能ファイルが見つからない場合(ステップS−52の「No」)、結果を得ることなくプロセスは終了したというメッセージが、サービス・アソシエートに送られる。所望のスクリプトが見出された場合(ステップS−52の「Yes」)、2つのアクションのうちの一方が、モジュール・タイプに基づいて行われることになる(ステップS−53)。モジュールが、実行可能ファイルである場合、その実行可能ファイルは、子プロセスで実行される(ステップS−57)。モジュールがスクリプトである場合、そのスクリプトが変更されているかどうかについて検査が行われる(ステップS−54)。スクリプトが変更されていない場合(S−54の「No」)、前に記憶された可能性のある対応する実行可能ファイルを突き止めるための検査が行われる(ステップS−58)。発見された場合、その実行可能ファイルは子プロセス中で実行される。スクリプトが変更されている場合、スクリプト・ランナが開始されてスクリプトをコンパイルする(ステップS−55)。コンパイルされたスクリプトは、続いて実行される。プロセスが完了したとき、他のスクリプトの処理を可能にするために、メッセージがサービス・アソシエートに送られる。
【0054】
プラグインCADコンポーネントは、どのオブジェクトを、またどのメソッドを呼び出すかを指示することにより、スクリプトによって使用される。したがって、プラグイン・コンポーネントは、サーバ・オブジェクトの挙動を変更するために、サーバ・モジュール全体を再コンパイルすることなく変更することができる。さらに、スクリプト・ファイルは、プラグイン・コンポーネントの実装形態の細部の知識なしに、また時間が経過してプラグイン・コンポーネントが改訂されたとき、大規模なメンテナンスをすることなく、エンド・ユーザが容易に準備することができる。スクリプトの使用により、MIISは、大幅な拡張性を実現する。
【0055】
図6は、画像処理サーバにおける典型的なセッション中に行われ得る諸ステップを示す。画像処理システムは、まず、ジョブ・ディスパッチャの登録サービスに登録する必要がある。画像サービス・アドミニストレータ31が始動され、そのコンフィギュレーション・ファイルをロードする。画像サービス・アドミニストレータ31は、画像処理サーバが提供できる利用可能な画像処理コンポーネントをすべて検討し、そのコンポーネントをサービス表に要約する。
【0056】
コンポーネントのリストが、登録プロセスを実行する登録サービスに送られる(Register、ステップS−61)。
【0057】
スタディ・ハンドラが画像を受け取ると、画像サービス・オブジェクト51のインスタンスを呼び出し、「CarryOutService」メソッドをコールしてその画像を送る(CarryOutService、ステップS−62)。
【0058】
画像サービス・オブジェクト51は、サービス・ドゥーア・オブジェクト53を作成し、サービス・アソシエート52のメソッド「QueueUpReq」をコールする(QueueUpReq、ステップS−63)。サービス・ドゥーア・オブジェクトは、サービス・アソシエートによって維持される待ち行列中に配置される。
【0059】
画像サービス・オブジェクト51は、イベントを生成して、新しい要求が到来したことをサービス・アソシエート52に通知する(Raise Event、ステップS−64)。サービス・アソシエートは、待ち行列からサービス・ドゥーアを取り出し、DoServiceメソッドをコールして、別のプロセスとしてサービスを実施する(DoService、S−65)。
【0060】
サービス・ドゥーア53は、子プロセスを開始してサービスを実施する。サービス・ドゥーアは、サービスを2つの方法の一方で実施する。スクリプト・ファイルが変更されているか、または実行可能ファイルが利用可能ではない場合(Start、ステップS−66)、スクリプト・ランナ32がスクリプトをコンパイルし(Compile、ステップS−67)動作させる。コンパイルされたスクリプトは、同じスクリプトを将来使用するために実行可能ファイルにセーブされる。実行可能ファイルが存在する場合、子プロセスが開始されてその実行可能ファイルを動作させる(Execute、ステップS−68)。実行可能ファイルは、プラグイン・コンポーネント中のメソッドをコールすることにより動作する(Func、ステップS−69)。サービスが完了すると、子プロセスはイベントを生成して、サービス・アソシエートに、待ち行列中に記憶された次の要求を処理するように通知する(ステップS−70)。
【0061】
【表1】

【図面の簡単な説明】
【0062】
【図1】医療用画像インテリジェント・サーバ(MIIS)およびインターフェースのブロック図である。
【図2】画像処理サーバの作業フローの図である。
【図3】画像サービス・アドミニストレータのためのクラス図である。
【図4】画像処理サーバで提供されるサービスの表のフォーマットを示す図である。
【図5】サービス・ドゥーアのフローチャートである。
【図6】画像処理サーバの例示的なオペレーションのためのフローチャートである。

【特許請求の範囲】
【請求項1】
コンピュータ支援検出(CAD)のための医療用インテリジェント・サーバであって、
1組の医療画像ファイルをそれぞれが含む1つまたは複数のケースを受け取り、前記ファイルを分配するためのディスパッチャと、
プラグインCADコンポーネントを用いて、前記1組の医療画像ファイルに基づき医療用コンピュータ支援検出を実施する画像処理サーバとを備え、前記画像処理サーバが、前記プラグインCADコンポーネントを前記ディスパッチャに登録し、前記ディスパッチャが、前記画像処理サーバおよび前記登録されたプラグインCADコンポーネントの作業負荷に基づき前記医療画像ファイルを分配する、コンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項2】
前記画像処理サーバが、前記医療画像ファイルに基づいてコンピュータ支援検出を実施するために、プラグインCADコンポーネントによる処理を呼び出すスクリプト・ファイルを実行する、請求項1に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項3】
前記医療画像ファイルのそれぞれが、患者データおよび画像データを含むヘッダを含む、請求項1に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項4】
前記画像処理サーバが、スクリプト・ファイルが事前にコンパイルされているか、あるいは変更されているかどうかを判定し、前記スクリプト・ファイルが変更されている場合、前記画像処理サーバが、前記スクリプトのコンパイルされたバージョンがあるかどうかを判定し、それがない場合、前記スクリプト・ファイルをコンパイルし、前記コンパイルされたスクリプトを実行する、請求項2に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項5】
前記画像処理サーバが、画像サービス・アドミニストレータ、およびスクリプト・ランナを備え、前記画像サービス・アドミニストレータが、プラグインCADコンポーネントを前記ディスパッチャに登録し、前記CADコンポーネントが登録された場合、前記CADコンポーネントに基づき、スクリプト・ファイルの実行を管理するための別の検出サービス・プロセスを作成し、前記ディスパッチャから画像ファイルを受け取る、請求項1に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項6】
前記医療画像ファイルが、モダリティおよび体の部分に基づいており、スクリプト・ファイルが、モダリティの前記タイプに基づくコンピュータ支援検出処理を行うために選択される、請求項5に記載のコンピュータ支援診断のための医療用インテリジェント・サーバ。
【請求項7】
複数の画像処理サーバをさらに備え、前記複数の画像処理サーバのうちの少なくとも1つの画像処理サーバが、始動時にそのプラグインCADコンポーネントを登録し、前記ディスパッチャが、ケースの画像ファイルを、現在の作業負荷に基づいて選択された画像処理サーバと、前記ディスパッチャに登録されたCADコンポーネントに分配する、請求項1に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項8】
前記画像サービス・アドミニストレータが、実行される検出サービス・プロセスの待ち行列を維持し、また前記待ち行列から取得された検出サービス・プロセスの実行を依頼した後、前記待ち行列中に現在ある検出プロセスの数、および実行されている検出プロセスの数に基づき、前記画像処理サーバの作業負荷状況の変化を前記ディスパッチャに知らせるサービス・アソシエートを備える、請求項5に記載のコンピュータ支援検出のための医療用インテリジェント・サーバ。
【請求項9】
プラグインCADコンポーネントがアップグレードされるか、または画像処理サーバ中に新しく追加された場合、前記画像処理サーバが再始動され、前記新しい組のCADコンポーネントを前記ディスパッチャに登録する、請求項1に記載のコンピュータ支援診断のための医療用インテリジェント・サーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−173458(P2008−173458A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−304348(P2007−304348)
【出願日】平成19年11月26日(2007.11.26)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】