Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

DICOM プロダクション用の Ensemble タスク

以下の節では、DICOM プロダクション専用の一般的な Ensemble タスクを実行する方法について説明します。

DICOM 重複ビジネス・サービスの追加

Ensemble には、TCP 接続を介して外部ソースから DICOM ドキュメントを受け取る組み込みの重複ビジネス・ホストが用意されています。

DICOM 重複ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。

  1. そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble][構成する][プロダクション] の順にクリックし、[進む] をクリックします。

  2. [サービス] 列で、[追加] ボタン (プラス記号) をクリックします。

    ダイアログ・ボックスが表示されます。

  3. [サービス・クラス] リストから EnsLib.DICOM.Service.TCPOpens in a new tab クラスを選択します。

  4. [サービス名] に、このビジネス・サービスの名前を入力します。ビジネス・サービス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。

    デフォルトでは、このサービスの基本となるクラス名が使用されます。

  5. [OK] をクリックします。

DICOM ファイル・ビジネス・サービスの追加

Ensemble には、外部ファイルから DICOM ドキュメントを受け取る組み込みのファイル・ビジネス・サービスが用意されています。

DICOM ファイル・ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。

  1. そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble][構成する][プロダクション] の順にクリックし、[進む] をクリックします。

  2. [サービス] 列で、[追加] ボタン (プラス記号) をクリックします。

    ダイアログ・ボックスが表示されます。

  3. [サービス・クラス] リストから EnsLib.DICOM.Service.FileOpens in a new tab クラスを選択します。

  4. [サービス名] に、このビジネス・サービスの名前を入力します。ビジネス・サービス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。

    デフォルトでは、このサービスの基本となるクラス名が使用されます。

  5. [OK] をクリックします。

DICOM ビジネス・プロセスの作成

DICOM プロダクションで使用する DICOM ビジネス・プロセスを構築するには、適切なロジックを実行するカスタム・ビジネス・プロセス・クラスを開発し、開発したカスタム・クラスを使用するビジネス・プロセスを作成して構成し、それをプロダクションに統合する必要があります。このトピックでは、以下の各手順について説明します。

DICOM ビジネス・プロセス・クラスの開発

DICOM の双方向性によって BPL を使用したビジネス・プロセスの書き込みができないため、ObjectScript を使用してカスタム・ビジネス・プロセスを作成する必要があります。

カスタム・クラスを作成するときに、すべてのユーザ定義 DICOM ビジネス・プロセス用のスーパークラスである EnsLib.DICOM.ProcessOpens in a new tab を拡張します。詳細は、"クラスリファレンス" のエントリを参照してください。クラスの作成方法は、"Ensemble プロダクションの開発" の “カスタム・ビジネス・プロセスの開発” を参照してください。

DICOM 通信の重複性のため、ビジネス・プロセスはプロセス外の事象を継続的に追跡する必要があります。これは、プロセスの状態のコンテキスト変数を使用することで実行できます。また、イベント駆動型の有限状態機械の後にコードをモデル化することが可能です。

DICOM ビジネス・プロセスの追加

DICOM ビジネス・プロセスをプロダクションに追加するには、以下の操作を行います。

  1. そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble][構成する][プロダクション] の順にクリックし、[進む] をクリックします。

  2. [プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。

    ダイアログ・ボックスが表示されます。

  3. [プロセス・クラス] リストからカスタム・クラスを選択します。

  4. [プロセス名] に、このビジネス・プロセスの名前を入力します。ビジネス・プロセス間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。

    デフォルトでは、このプロセスの基本クラスの名前が使用されます。

  5. [OK] をクリックします。

DICOM ビジネス・プロセスの統合

新しい DICOM ビジネス・プロセスを Ensemble プロダクションに統合するには、このプロセスを、このプロセスの受信ドキュメントを受け取るビジネス・サービスと関連付ける必要があると共に、これらのドキュメントに基づいてこのプロセスのアクションを決定するルーティング・ルール・セットとも関連付ける必要があります。これを行うには、以下を実行します。

構成ダイアグラムで DICOM ビジネス・サービスを選択します。[重複ターゲット構成名] フィールドに、DICOM ビジネス・プロセスの構成済みの名前を入力します。

DICOM 重複ビジネス・オペレーションの追加

Ensemble には、TCP 接続を介して外部ソースから DICOM ドキュメント・メッセージを受け取る組み込みの重複ビジネス・ホストが用意されています。

DICOM ビジネス・オペレーションをプロダクションに追加するには、以下の操作を行います。

  1. そのプロダクションを管理ポータルの Ensemble, プロダクション構成 ページで表示します。このページにアクセスするには、[Ensemble][構成する][プロダクション] の順にクリックし、[進む] をクリックします。

  2. [オペレーション] 列で、[追加] ボタン (プラス記号) をクリックします。

    ダイアログ・ボックスが表示されます。

  3. [オペレーション・クラス] リストから EnsLib.DICOM.Operation.TCPOpens in a new tab クラスを選択します。

  4. [オペレーション名] に、このビジネス・オペレーションの名前を入力します。ビジネス・オペレーション間で一意の名前でなければなりません。ピリオドと空白文字は使用できません。

    デフォルトでは、このオペレーションの基本クラスの名前が使用されます。

  5. [OK] をクリックします。

DICOM 重複ビジネス・ホストの構成

ビジネス・ホストを構成するには、Ensemble, プロダクション構成 ページのダイアグラムでそのビジネス・ホストをクリックし、[設定] タブで詳細を編集して、[適用] をクリックします。

DICOM ビジネス・ホストに対しては、以下の設定を構成できます。

[重複ターゲット構成名]

そのビジネス・ホストが受信するすべての DICOM ドキュメントを送信する先となるプロダクション内で、構成項目を指定します。

[LocalAET]

呼び出し先のアプリケーション・エンティティ・タイトル (AET)。リモート DICOM ピアが Ensemble と通信するために使用します。これは、Ensemble ネームスペースで関連付けを定義する場合に使用する [呼び出されたAET] に該当します。DICOM ビジネス・サービスの場合、このプロパティと RemoteAET プロパティを * ワイルドカードに設定できます。これらの両方のプロパティを * ワイルドカードに設定した場合、ビジネス・サービスは AET 名についての通常のチェックをバイパスし、代わりにデータベース内で定義された関連付けコンテキストを直接検索します。 関連付けコンテキストが定義されている場合、接続が開かれ、関連付けが通常どおりに交渉されます。定義されていない場合は接続が拒否されます。

[RemoteAET]

リモート DICOM ピアの呼び出し元のアプリケーション・エンティティ・タイトル。

アダプタがサービス・クラス・プロバイダ (SCP (サーバ)) のロールを果たす場合、アダプタには接続を許可された DICOM ピアの名前のカンマ区切りリストが含まれます。名前は、リテラル文字列または以下のパターン/代入の形式のいずれかになります。

?Pattern/Substitution

パターン/代入の形式の場合、Ensemble はパターンに対して呼び出し元の AET を照合します。マッチするデータがある場合は、関連付けの検証のために代入を使用します。例として、以下の設定値の場合を見てみましょう。

?1"B".E/JD-SCU

これは、パターンが必ず B の 1 文字とマッチしなければならず、その後に続く文字や文字数には制限がないことを示します。したがって、このエントリは B で始まるすべての呼び出し元 AET とマッチして、JD-SCU を代入します。あらゆる AET を受け付ける場合、パターンには ?.E を使用します。

アダプタがサービス・クラス・ユーザ (SCU (クライアント)) のロールを果たす場合、アダプタには Ensemble が接続する DICOM ピアの AET が含まれるか、* ワイルドカードが設定される必要があります (LocalAET プロパティの説明を参照してください)。

TraceVerbosity

提供するデバッグ情報の量に関するフラグ値。値は以下のとおりです。

0 - 情報なし
1 - 簡潔なデバッグ情報
2 - 詳細なデバッグ情報
ARTIM

関連付けの要求/拒否/解放タイムアウト (秒)。関連付けの要求に対するピアからの応答に時間がかかる場合は、この値を増やします。

TXTIM

データ転送タイムアウト (秒)データ転送中のピアからの応答に時間がかかる場合は、この値を増やします。

接続ごとのジョブ

真または偽。受信 TCP 接続ごとに処理を行う新しいプロセスを生成するかどうかを指定します。真に設定した場合、複数の接続の同時処理が可能になります。

[IPポート]

DICOM ピアの IP ポート。

[IPアドレス]

DICOM ピアに接続するための IP アドレス。リスニング・モードの場合、このプロパティは NULL になります。

OS接続受け付けキューサイズ

リスニング・モードの場合、処理できるようになるまで代わりに OS で開いておく必要がある受信接続の数です。 同時に 1 接続のみが予期される場合には 0 に設定します。オペレーティング・システムは追加の接続試行を拒否します。多数のクライアントが次々と接続する場合には大きな数値を設定します (最大値は 1000)。

ローカル・インタフェース

マルチホーム・システムでは、TCP 接続が経由するネットワーク・インタフェースを指定します。空の値は、任意のインタフェースが使用できることを意味します。 IPv6 インタフェースにバインドできるようにするには、Ensemble インスタンスで IPv6 を有効にする必要があります。これを行うには、システム管理ポータルの [システム管理] > [構成] > [追加設定] > [開始] で IPv6 設定を編集します。

SSL 構成

この接続の認証に使用される既存の SSL/TLS 構成の名前。アダプタから通信が開始されるため、クライアント SSL/TLS 構成を選択します。

SSL/TLS 構成を作成して管理するには、管理ポータルを使用します。"Caché セキュリティ管理ガイド" の “Caché での SSL/TLS の使用法” の章を参照してください。[SSL/TLS 構成の編集] フォームの最初のフィールドは [構成名] です。この文字列は [SSL構成] の設定の値として使用します。

残りの設定は、すべてのビジネス・ホストに共通しているか、アダプタのタイプによって異なるかのどちらかです。詳細は、以下の各ドキュメント内の “設定の参照先” の節を参照してください。

"Ensemble プロダクションの構成" の “すべてのプロダクションに含まれる設定” も参照してください。

DICOM のユーザ ID クラスとバージョンの設定

Ensemble の DICOM の実装は、UIC と VER という 2 項目の情報によって識別されます。独自の UIC や VER を構成するには、それぞれ、^Ens.Config("DICOM","UIC") ノードと ^Ens.Config("DICOM","VER") ノードを設定します。

格納場所を制御するための DICOM プロダクションの構成

DICOM データは Caché データベースには格納されず、代わりに外部ファイル・ストリームとして格納されるため、DICOM プロダクションの構成を通じて、これらの外部ファイル用に使用する場所を指定する必要があります。そのためには、お使いのプロダクション内で StorageLocation というプロパティを定義します。DICOM のビジネス・サービス、ビジネス・プロセス、およびビジネス・オペレーションが機能するためには、このプロパティが定義されている必要があります。このプロパティでディレクトリが指定されている場合は、そのディレクトリが DICOM データの格納場所として使用されます。このプロパティの値が空の文字列である場合は、Ensemble のデフォルト一時ディレクトリに DICOM データが格納されます。

Important:

DICOM コンポーネントをプロダクションに追加する場合は、そのプロダクションで StorageLocation プロパティが定義されている必要があります。StorageLocation プロパティが定義されていない場合は、DICOM データを作成しようとしたときに、DICOM コンポーネントでエラーが発生する可能性があります。空の文字列を指定してデフォルトの一時ディレクトリを使用するのではなく、DICOM データ用に使用するディレクトリを指定することをお勧めします。Ensemble の再起動時に、デフォルトの一時ディレクトリ内のデータが削除される場合があるからです。

StorageLocation プロパティは ENSDEMO DICOM サンプル内で定義されています。このプロパティを新しいプロダクションに追加するには、次の手順を実行します。

  1. スタジオでプロダクション・クラスを編集します。

  2. プロダクション・クラス定義内で、プロダクション設定を定義している XDATA の後に次の行を挿入します。

      Parameter SETTINGS = "ShutdownTimeout,UpdateTimeout,StorageLocation";
    
      /// This is the storage location for the DICOM streams to be stored
      Property StorageLocation As %String [ InitialExpression = "directory-location" ];
    
    

    directory-location の代わりに、システム上で DICOM データを格納する場所となるディレクトリを指定します (c:\InterSystems\DICOM など)。

  3. プロダクション・クラスをコンパイルします。

  4. プロダクションを Ensemble ポータルで開きます。StorageLocation プロパティが [追加設定] セクションに表示されます。

Note:

EnsLib DICOM コンポーネントによって、次の呼び出しを通じてこの格納場所の有無が確認されます。

  Set tStorageLocation=..GetProductionSettingValue("StorageLocation",.tSC)
FeedbackOpens in a new tab