DICOM ストレージ・ルーティング・プロダクションのサンプル
ENSDEMO ネームスペースには、Demo.DICOM.Production.StorageOpens in a new tab という名前のプロダクションが含まれています。このプロダクションは、基本的な DICOM 関数をデモ実行して、モダリティから保管用の RIS システムまたは PACS システムに画像を送信します。
このプロダクションのシナリオは、DICOM モダリティが、ドキュメントをストレージ・システムに送信するための要求メッセージを送信するという内容です。プロダクションは、以下の処理を実行します。
-
DICOM モダリティは、Ensemble との関連付けを確立して、重複ビジネス・サービスを介して C-STORE 要求メッセージをプロダクションに送信します。
-
Ensemble ビジネス・プロセスは、出力ストレージ・システムへの接続を確認して、必要に応じて関連付けを確立します。
-
Ensemble は、要求を認識して、発信元メッセージ ID を保管して、重複ビジネス・オペレーションを介して DICOM ドキュメント・メッセージをストレージ・システムに転送します。
-
ビジネス・オペレーションは、C-STORE 応答メッセージをストレージ・システムからビジネス・プロセスに返します。
-
Ensemble は、発信元メッセージ ID と共に応答メッセージをモダリティに返信します。
以下の手順で、プロダクションにこのタイプのインタフェースを追加する方法の概要を示します。
-
Ensemble, プロダクション構成 ページの [新規プロダクション作成] をクリックして、汎用プロダクションを作成します。"Ensemble プロダクションの構成" の “プロダクションの作成と構成” を参照してください。
-
スタジオで、プロダクション定義を編集して StorageLocation プロパティを追加して、プロダクションをコンパイルします。詳細は、"格納場所を制御するための DICOM プロダクションの構成" を参照してください。
-
EnsLib.DICOM.Service.TCPOpens in a new tab クラスを使用して、このプロダクションに DICOM 重複ビジネス・サービスを追加 します。
-
ストレージ・プロダクションへのルーティングのみに関して、DICOM ビジネス・サービスの設定を構成します。
-
受信 C-STORE-RQ メッセージからストレージ・システムへ受信 DICOM ドキュメントをルーティングして、返された C-STORE-RSP メッセージを発信元システムに戻すためのビジネス・プロセス・クラスを作成します。
-
上記の手順で作成したカスタム・クラスを使用して、DICOM ビジネス・プロセスを追加します。
-
プロダクションをテストして、プロダクションがワークリストの要求メッセージを受信して、適切な応答メッセージ・ドキュメントを返信することを確認します。
Demo.DICOM.Production.Storage.cls のクラス・コードを表示するには、スタジオを使用してプロダクションの詳細を参照します。
ストレージ・ビジネス・サービスへの DICOM ルーティングの構成
DICOM ビジネス・サービスを構成するには、Ensemble, プロダクション構成 ページのダイアグラムでその DICOM ビジネス・サービスをクリックします。詳細は、“DICOM 重複ビジネス・ホストの構成” の節を参照してください。この節では、デモ・ストレージ・プロダクション内のビジネス・サービスに固有の設定について説明しています。
ビジネス・サービスが受け取った任意の DICOM ドキュメントを送信するプロダクション内で、構成項目を指定します。
Demo.DICOM.Production.StorageOpens in a new tab プロダクションは、Demo.DICOM.Process.StorageOpens in a new tabを基本クラスとするビジネス・プロセスを使用します。詳細は、“DICOM ストレージ・プロダクションのビジネス・プロセス・クラスの作成” を参照してください。これは、入力モダリティからの DICOM メッセージを処理してストレージ・システムにルーティングするためのロジックが含まれたカスタム・プロセスです。
呼び出し先のアプリケーション・エンティティ・タイトル (AET)。リモート DICOM ピアが Ensemble と通信するために使用します。これは、Ensemble ネームスペースで関連付けを定義する場合に使用する [呼び出されたAET] に該当します。
Demo.DICOM.Production.StorageOpens in a new tab プロダクションを初めて実行すると、このプロダクションでは、Ensemble がこのデモ・プロダクションのテスト DICOM アプリケーションに接続するために必要な DICOM 関連付けが作成されます。ENSDEMOネームスペース内のこの関連付けは、Ensemble, DICOM設定 ページで表示できます。
デモ・プロダクションの EnsLib.DICOM.Service.TCPOpens in a new tab サービスは、[LocalAET] の値として ENS-SCP を使用します。
リモート DICOM ピアの呼び出し元のアプリケーション・エンティティ・タイトル。
アダプタがサービス・クラス・プロバイダ (SCP (サーバ)) のロールを果たす場合、アダプタには接続を許可された DICOM ピアの名前のカンマ区切りリストが含まれます。名前は、リテラル文字列またはパターン/代入の形式のいずれかになります。
デモ・プロダクションの EnsLib.DICOM.Service.TCPOpens in a new tab サービスは、[RemoteAET] の値として JD-SCU を使用します。
DICOM ストレージ・プロダクションのビジネス・プロセス・クラスの作成
ENSDEMO では、Demo.DICOM.Production.StorageOpens in a new tab プロダクションで、サンプル・カスタム・ビジネス・プロセス・クラスの Demo.DICOM.Process.StorageOpens in a new tab が使用されます。このサンプルは、DICOM C-STORE 要求メッセージを処理して、DICOM ドキュメントをストレージに送信し、C-STORE 応答メッセージを返す方法を示しています。
このカスタム・クラスは、すべてのユーザ定義 DICOM ビジネス・プロセス用のスーパークラスである EnsLib.DICOM.ProcessOpens in a new tab を拡張します。詳細は、"クラスリファレンス" のエントリを参照してください。
詳細は、"Ensemble プロダクションの開発" の “カスタム・ビジネス・プロセスの開発” を参照してください。
Demo.DICOM.Process.StorageOpens in a new tab クラスは、SETTINGS パラメータを使用して、構成のために新しい OperationDuplexName プロパティを公開します。
DICOM 通信の重複性のため、ビジネス・プロセスはプロセス外の事象を継続的に追跡する必要があります。これは、プロセスの状態のコンテキスト変数を使用することで実行できます。デモ・ビジネス・プロセスは、この目的用の CurrentState プロパティを作成します。
Demo.DICOM.Process.Storage.cls のクラス・コードを表示するには、スタジオを使用して処理の詳細を参照します。
ストレージ・プロダクションへの DICOM ルーティングのテスト
機能する関連付けを確保して、プロダクションを作成したら、そのプロダクションを通じて有効な DICOM メッセージ・ドキュメントの処理を試みることができます。Ensemble に含まれるデモ・プロダクションは、DICOM 処理のテスト専用に開発されたサードパーティ製ソフトウェアを使用して開発されました。使用可能な多くのソフトウェア製品のいずれかを利用することも、実際の DICOM モダリティ・データを使用してテストすることも可能です。