Ensemble DICOM 開発ガイド

Ensemble DICOM 開発ガイド
Version 2014.1
2014 年 06 月 24 日
InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com
Ensemble DICOM 開発ガイド
Ensemble Version 2014.1 2014 年 06 月 24 日
Copyright © 2014 InterSystems Corporation
All rights reserved.
このドキュメントは、 Oracle Corporation、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム(www.w3c.org)のツールと
情報を使用して、 Adobe Portable Document Format (PDF)で作成およびフォーマットされました。主要ドキュメント開発ツールは、InterSystemsが構
築したCacheéと Javaを使用した特別目的のXML処理アプリケーションです。
,
,
,
,
Caché WEBLINK, および Distributed Cache Protocol は InterSystems Corporation の登録商標です。
and
,
InterSystems TrakCare, InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP および InterSystems Zen は InterSystems Corporation の
登録商標です。
ここで使われている他の全てのブランドまたは製品名は、各社および各組織の商標または登録商標です。
このドキュメントは、インターシステムズ社(住所:One Memorial Drive, Cambridge, MA 02142)あるいはその子会社が所有する企業秘密および秘密
情報を含んでおり、インターシステムズ社の製品を稼動および維持するためにのみ提供される。この発行物のいかなる部分も他の目的のために使
用してはならない。また、インターシステムズ社の書面による事前の同意がない限り、本発行物を、いかなる形式、いかなる手段で、その全てまたは
一部を、再発行、複製、開示、送付、検索可能なシステムへの保存、あるいは人またはコンピュータ言語への翻訳はしてはならない。
かかるプログラムと関連ドキュメントについて書かれているインターシステムズ社の標準ライセンス契約に記載されている範囲を除き、ここに記載さ
れた本ドキュメントとソフトウェアプログラムの複製、使用、廃棄は禁じられている。インターシステムズ社は、ソフトウェアライセンス契約に記載され
ている事項以外にかかるソフトウェアプログラムに関する説明と保証をするものではない。さらに、かかるソフトウェアに関する、あるいはかかるソフ
トウェアの使用から起こるいかなる損失、損害に対するインターシステムズ社の責任は、ソフトウェアライセンス契約にある事項に制限される。
前述は、そのコンピュータソフトウェアの使用およびそれによって起こるインターシステムズ社の責任の範囲、制限に関する一般的な概略である。完
全な参照情報は、インターシステムズ社の標準ライセンス契約に記され、そのコピーは要望によって入手することができる。
インターシステムズ社は、本ドキュメントにある誤りに対する責任を放棄する。また、インターシステムズ社は、独自の裁量にて事前通知なしに、本ド
キュメントに記載された製品および実行に対する代替と変更を行う権利を有する。
インターシステムズ社の製品に関するサポートやご質問は、以下にお問い合わせください:
Tel:
Fax:
Email:
InterSystems Worldwide Customer Support
+1 617 621-0700
+1 617 374-9391
[email protected]
目次
このドキュメントの概要 ...................................................................................................... 1
1 概要 ........................................................................................................................... 3
1.1 DICOM の概要 ................................................................................................... 3
1.2 DICOM に対する Ensemble のサポート .................................................................... 3
1.3 サンプル・プロダクション ........................................................................................ 5
2 Ensemble での DICOM 関連付けの作成 .......................................................................... 7
2.1 DICOM 関連付けの概要 ....................................................................................... 7
2.2 DICOM 関連付けのインポート ................................................................................ 8
2.2.1 関連付けサンプルのインポート ...................................................................... 9
2.3 DICOM 関連付けの作成 ..................................................................................... 10
2.3.1 転送シンタックスの考慮事項 ........................................................................ 11
2.4 DICOM 関連付けの管理 ..................................................................................... 11
2.4.1 DICOM 関連付けの作成と編集 ................................................................... 11
2.4.2 アブストラクト・シンタックスの表示 .................................................................. 13
2.4.3 DICOM データ・ディクショナリの表示 ............................................................ 13
2.5 DICOM 関連付けのテスト .................................................................................... 14
3 DICOM プロダクション用の Ensemble タスク .................................................................... 15
3.1 DICOM 重複ビジネス・サービスの追加 .................................................................. 15
3.2 DICOM ファイル・ビジネス・サービスの追加 ............................................................ 16
3.3 DICOM ビジネス・プロセスの作成 ......................................................................... 16
3.3.1 DICOM ビジネス・プロセス・クラスの開発 ....................................................... 16
3.3.2 DICOM ビジネス・プロセスの追加 ................................................................. 16
3.3.3 DICOM ビジネス・プロセスの統合 ................................................................. 17
3.4 DICOM 重複ビジネス・オペレーションの追加 .......................................................... 17
3.5 DICOM 重複ビジネス・ホストの構成 ....................................................................... 17
3.6 DICOM のユーザ ID クラスとバージョンの設定 ........................................................ 19
4 DICOM モダリティ・ワークリスト・プロダクションのサンプル .................................................. 21
4.1 DICOM ワークリスト・ビジネス・サービスの構成 ........................................................ 22
4.2 DICOM ワークリスト・プロダクションのビジネス・プロセス・クラスの作成 ......................... 23
4.2.1 DICOM ワークリスト・プロセス・プロパティ ....................................................... 23
4.2.2 DICOM ワークリスト・プロセス・メソッド ............................................................ 23
4.3 DICOM ワークリスト・プロダクションのテスト ............................................................. 24
5 DICOM ストレージ・ルーティング・プロダクションのサンプル ............................................... 27
5.1 ストレージ・ビジネス・サービスへの DICOM ルーティングの構成 ................................. 28
5.2 DICOM ストレージ・プロダクションのビジネス・プロセス・クラスの作成 ........................... 29
5.3 ストレージ・プロダクションへの DICOM ルーティングのテスト ...................................... 29
6 DICOM ファイル・ストレージ・プロダクションのサンプル ...................................................... 31
6.1 ストレージ・ビジネス・サービスへの DICOM ルーティングの構成 ................................. 32
6.2 DICOM ファイル・ストレージ・プロダクションのテスト .................................................. 32
付録A: DICOM 転送シンタックス ..................................................................................... 35
DICOM 用語集 ............................................................................................................. 37
Ensemble DICOM 開発ガイド iii
このドキュメントの概要
このドキュメントは、業界標準形式でドキュメントをルーティングおよび変換する Ensemble プロダクションの構築方法に
ついて説明するドキュメント・セットの 1 つです。このドキュメントでは、Ensemble プロダクションで DICOM インタフェース
を使用する方法について説明します。この章は以下の節で構成されています。
•
概要
•
Ensemble での DICOM 関連付けの作成
•
DICOM プロダクション用の Ensemble タスク
•
DICOM モダリティ・ワークリスト・プロダクションのサンプル
•
DICOM ストレージ・ルーティング・プロダクションのサンプル
•
DICOM ファイル・ストレージ・プロダクションのサンプル
•
DICOM 転送シンタックス
•
DICOM 用語集
以下のドキュメントでは、関連する情報について説明しています。
•
"Ensemble のベスト・プラクティス" では、Ensemble 製品の編成および開発に最も適した手法について説明します。
•
"Ensemble プロダクションの開発" では、Ensemble 開発の具体的な実用的手法について詳しく説明します。
•
"Ensemble プロダクションの構成" では、Ensemble プロダクション、ビジネス・ホスト、および設定の構成方法につい
て説明します。このドキュメントで取り上げていない設定に関する参照情報も提供します。
一般情報は、"InterSystems ドキュメント・ガイド" を参照してください。
Ensemble DICOM 開発ガイド 1
1
概要
この章では、DICOM に対する Ensemble のサポートについて説明します。この章は以下の節で構成されています。
•
DICOM の概要
•
DICOM に対する Ensemble のサポート
•
サンプル・プロダクション
1.1 DICOM の概要
Digital Imaging and Communications in Medicine (DICOM) は、世界中のほとんどの病院で使用されているグローバル
な情報技術標準です。この規格は、医療画像および付随する構造化ドキュメントの作成、保存、表示、処理、送信、取
得、照会、または印刷、および関連するワークフローの管理に使用されるシステムの相互運用性の確保を目的としてい
ます。
DICOM 規格は、DICOM 規格委員会および多数の世界規模のワーキング・グループが作成しました。この規格は、全
国電機製造業者協会 (NEMA) の部局である Medical Imaging & Technology Alliance が管理しています。詳細は、この
組織の Web サイト http://dicom.nema.org/ を参照してください。
1.2 DICOM に対する Ensemble のサポート
Ensemble は DICOM ドキュメントを仮想ドキュメントとしてサポートしています。仮想ドキュメントはメッセージの一種で、
Ensemble では部分的にしか解釈されません。この種のメッセージは、標準の Ensemble メッセージ・ヘッダと標準のメッ
セージ・プロパティ (ID、Priority、SessionId など) で構成されています。しかし、メッセージ内のデータはメッセージ・プロ
パティとして提供されず、代わりに、処理速度を向上させるために内部使用のグローバルに直接格納されます。基礎的
な情報は、"Ensemble 仮想ドキュメント" を参照してください。
Ensemble には、DICOM 通信で使用する特殊なクラスが用意されています。これらのクラスは、Ensemble プロダクション
に以下の要素を追加するために使用できます。
Ensemble DICOM 開発ガイド 3
概要
要素
オプション
ビジネス・サービス
Ensemble には、DICOM 用のいくつかのビジネス・サービス・クラスと専用のアダプタが
用意されています。
ビジネス・プロセス
Ensemble には、後述するサンプル・プロダクションで示すような、いくつかのサンプル・
ビジネス・プロセスが用意されています。
ビジネス・オペレーション
Ensemble には、DICOM 用の 1 つのビジネス・オペレーション・クラスと専用のアダプタ
が用意されています。
メッセージ・クラス
Ensemble には、DICOM ドキュメントを Ensemble 仮想ドキュメントとして転送するための
特殊なメッセージ・クラスが用意されています。Ensemble の DICOM メッセージは Ensemble
の他のメッセージとは異なり、DICOM アダプタは双方向であり、非同期で機能します。
Ensemble は、プロダクションが DICOM メッセージを送受信して、DICOM プロトコルを理解するデバイスとの間でそれら
のメッセージをルーティングできる双方向 DICOM アダプタを提供します。Ensemble は、DICOM デバイスとの通信に不
可欠なメカニズム (DICOM 関連付け) を定義するためのメンテナンス機能も提供します。“Ensemble での DICOM 関連
付けの作成” の章を参照してください。
Ensemble の実装には、DICOM タグ付き画像を含むメッセージを TCP トランスポートを介して受信し、そのドキュメントを
分析してタグに含まれるデータ項目を取得してから、そのメッセージを DICOM 受信側に再度 TCP を介して送信する
機能が含まれています。
DICOM メッセージは明確に定義されたエンティティで、このエンティティには、メタデータ・コマンド・セットおよび物理
データ・セット (画像データが含まれるかどうかは場合によります) が含まれます。このタイプのメッセージングを処理する
ために、Ensemble には、ビジネス・サービスとビジネス・オペレーションの両方の特性を持つ専用ビジネス・ホストが採用
されています。このビジネス・ホストは、双方向でメッセージの送受信を行うことが可能です。
DICOM アダプタは Ensemble へのゲートウェイであり、これによって DICOM データは、HL7 などサポート対象の標準
データ形式と同等に扱われるようになります。メッセージのルーティングおよび編集には、メッセージ内の前後関係や名
前に基づいて、Get()、Set()、GetNext() の各メソッドを値に使用します。ビジネス・プロセスで Caché ObjectScript を使
用して、メッセージをルーティングできます。DICOM メッセージのルーティング、変更、および構築には、クラスを使用し
ます。ただし、以下の制限によって、Ensemble には DICOM メッセージとの大きな相違点がいくつかあります。
•
Ensemble は、HL7 用などの画像詳細エディタをサポートしていません。
•
Ensemble は、DICOM ビューワではないため、画像を表示する手段はありません。
•
DICOM の双方向性によって、BPL を使用してビジネス・プロセスを記述することができないため、Caché ObjectScript
を使用してカスタム・ビジネス・プロセスを作成する必要があります。
重要
実際の DICOM データは Caché データベースには格納されず、外部ファイル・ストリームとして格納され
ます。これは、ジャーナリングのオーバーヘッドを低減し、多くの大容量ファイルによってデータベースが
肥大化するのを防ぐためです。
DICOM アダプタは TCP を使用してモダリティおよびシステム (PACS など) と対話しますが、Ensemble は
EnsLib.DICOM.File クラスを使用して DICOM 形式ファイルを開き、それらのファイルを DICOM メッセージとして処理す
ることもできます。Ensemble には、そのための特別なファイル・サービスがデモ・プロダクションに含まれています。その
ファイル・サービスは、DICOM プロトコルを介した送信元エンティティとの通信を行わないため、関連付けを必要としま
せん。
4 Ensemble DICOM 開発ガイド
サンプル・プロダクション
1.3 サンプル・プロダクション
ENSDEMO ネームスペースには、一般的なタイプの DICOM インタフェースを示すためのサンプル・プロダクションが含
まれています。以下の章では、それぞれのプロダクションについて説明します。
•
DICOM モダリティ・ワークリスト・プロダクション — 患者およびスケジューリングのデータをモダリティ (X 線機器など)
に事前にロードするための情報を準備します。
•
DICOM ストレージ・ルーティング・プロダクション — 画像を含むメッセージを適切なエンド・ポイント (PACS システム
など) にルーティングします。
•
DICOM ファイル・ストレージ・プロダクション — EnsLib.DICOM.Document のインスタンスを含むファイルを DICOM
ストレージ・システムにルーティングします。
Ensemble DICOM 開発ガイド 5
2
Ensemble での DICOM 関連付けの作成
この章では、プロダクションで DICOM 入力または出力を処理するために必要な DICOM 関連付けを Ensemble で作成
する方法について説明します。この章は以下の節で構成されています。
•
概要
•
DICOM 関連付けのインポート
•
DICOM 関連付けの作成
•
DICOM 関連付けの管理
2.1 DICOM 関連付けの概要
DICOM の入出力を処理するプロダクションを開発するには、まず各 DICOM デバイス (モダリティ) に対する製造業者
の適合性宣言に含まれている情報を入手する必要があります。この情報を使用して、DICOM モダリティと Ensemble 間
の通信を円滑化するためにプロダクションが使用する DICOM 関連付けを作成します。DICOM 関連付けは、このような
通信における対話の特性を記述したメタデータです。
DICOM モダリティと接続する Ensemble プロダクションの独特で最も重要な要素は、関連付けの作成とテストを行うこと
です。これらの関連付けを作成するには、まずモダリティの製造業者からの適合性宣言に含まれている情報が必要とな
ります。自社のデバイスまたはソフトウェアが DICOM 規格に適合していると主張する製造業者であれば、そのデバイス
またはソフトウェアが規格にどのように適合しているかを正確に説明する適合性宣言を提供できるはずです。
関連付けは、モダリティ間の対話の特性を定義するものです。関連付けを作成するには、以下の適合性宣言の情報を
使用します。
•
その実装によって認識される情報オブジェクト — DICOM 用語で、モダリティによってサポートされるアプリケーショ
ン・エンティティ (AE) の定義。アプリケーション・エンティティは、関連付けのエンド・ポイントを定義します。1 つの
DICOM デバイスが多数の AE を持つこともあります。
•
その実装がサポートするサービス・クラス — サービス・オブジェクト・ペア (SOP) クラス (アブストラクト・シンタックス)
およびそれに付随するバイナリ転送シンタックス。サポートされる SOP クラスのリストは、適合性宣言の重要な要素
の 1 つです。このリストは、アプリケーションでやり取りするサービス・クラスと情報オブジェクトを示しています。
•
プレゼンテーション・コンテキスト — アブストラクト・シンタックスおよびそのアブストラクト・シンタックスに使用される転
送シンタックスから構成されます。DICOM 適合性宣言には、アプリケーションが折衝中に提示するプレゼンテーショ
ン・コンテキストと、アプリケーションが受け付けるプレゼンテーション・コンテキストの両方がリストされています。
関連付けの折衝中に、Ensemble は使用する転送シンタックスを 1 つ選択します。転送シンタックスがリストされている順
番は重要です。リストの先頭部の転送シンタックスは、リストの最後部の転送シンタックスより優先されます。的確なシン
Ensemble DICOM 開発ガイド 7
Ensemble での DICOM 関連付けの作成
タックスがわかれば、より高いパフォーマンスが得られます。これは圧縮画像の場合に重要になります。Ensemble では、
データは別のデータに変換されません。
適合性宣言には、モデル内のアクティビティごとにアクティビティが関連付けを処理する方法 (つまり、アクティビティが関
連付けを開始したり、複数の関連付けを受け付けるかどうか) が示されています。画像保管通信システム (PACS) 内の
アーカイブなどの一部のデバイスでは、満足できるパフォーマンスを実現するために複数の関連付けをサポートする必
要があります。そうしないと、所定時間に 1 つのアクティビティ (DICOM ストレージなど) しか処理できなくなります。
Ensemble に入力する関連付け情報は、ネームスペースごとに固有です。プロダクションの作成や実行は、それらの関連
付けを定義および管理する同じネームスペースで行う必要があります。
詳細は、クラスリファレンスの "EnsLib.DICOM.Util.AssociationContext" のエントリを参照してください。
2.2 DICOM 関連付けのインポート
Ensemble ネームスペースに関連付けを追加するには、EnsLib.DICOM.Util.AssociationContext の ImportAssociation()
メソッドを実行して、SOP/転送シンタックスのペアを含むファイルから受け付け可能なプレゼンテーション・コンテキストお
よび提示されるプレゼンテーション・コンテキストをインポートします。
ImportAssociation() メソッドには、以下のシグニチャがあります。
classmethod ImportAssociation(pFileName As %String,
pCallingAET As %String,
pCalledAET As %String,
pOverWriteExisting As %Boolean = 0)
ImportAssociation() メソッドには、以下の引数があります。
pFileName
SOP クラス UID/転送シンタックス UID の形式の、プレゼンテーション・コンテキストのリストを含むファイルの名
前。このメソッドは、ファイル内のペアごとにプレゼンテーション・コンテキストを持つ、呼び出し元のアプリケー
ション・エンティティ・タイトル (AET) と呼び出し先の AET 間の関連付けを作成します。
1 行に 1 つずつ SOP クラス (アブストラクト・シンタックス) をリストします。区切り文字として \ を使用し、行に転
送シンタックスを追加して指定します。転送シンタックスを指定しない場合、インポートによってデフォルトの
DICOM 転送シンタックス ( VR - ) が追加されます。インポート・ファイルでは数値表現 (UID)
を使用してください。
pCallingAET
サービスの要求元を含むアプリケーション・エンティティ (AE) を指定します。これは、ソースの DICOM アプリ
ケーションの名前に基づきます。通常、呼び出し元のアプリケーション・エンティティ・タイトル (AET) は、サービ
ス・クラス・ユーザ (SCU) です。
pCalledAET
サービスの対象となる受け付け側を含むアプリケーション・エンティティを指定します。これは、宛先の DICOM
アプリケーションの名前に基づきます。通常、呼び出し先のアプリケーション・エンティティ・タイトルは、サービ
ス・クラス・プロバイダ (SCP) です。
pOverWriteExisting
この引数は、同じ AET ピア間の関連付けがネームスペースに既に存在する場合の処理を制御します。真 (1)
の場合、関連付けを上書きします。偽 (0) の場合、関連付けが既に存在することを示すエラーを表示します。
8 Ensemble DICOM 開発ガイド
DICOM 関連付けのインポート
詳細は、付録の “ DICOM 転送シンタックス” を参照してください。DICOM アブストラクト・シンタックスには、管理ポー
タルを使用します。[Ensemble]、[相互運用]、[DICOM]、[DICOMアブストラクトシンタックス] の順にクリックしてから、[進む]
をクリックします。
2.2.1 関連付けサンプルのインポート
例として、適合性宣言から取得した以下のサンプルのプレゼンテーション・コンテキスト・テーブルの情報を使用して、
Ensemble とワーク・リスト・モダリティ間の関連付けを追加することができます。
アブストラクト・シンタックス/転送シンタックスの組み合わせごとに 1 行を使用する関連付けのファイルを作成します。各
項目には UID を使用します。例えば、テキスト・ファイル MyAssociations.txt の内容は以下のようになります。
1.2.840.10008.1.1
1.2.840.10008.5.1.4.31\1.2.840.10008.1.2
1.2.840.10008.5.1.4.31\1.2.840.10008.1.2.1
1.2.840.10008.5.1.4.31\1.2.840.10008.1.2.2
SOP クラスに対応する受け付け可能な転送シンタックスがデフォルトの VR - (UID : 1.2.840.10008.1.2)
のみの場合、ファイルの行 1 のように、その SOP クラスに対して転送シンタックスを指定する必要はありません。
アブストラクト・シンタックス/転送シンタックスのペアのファイルを作成したら、開発中のプロダクションが含まれるネームス
ペースで以下のメソッドを呼び出します。以下に例を示します。
Zn "ENSDEMO"
Do ##class(EnsLib.DICOM.Util.AssociationContext).ImportAssociation
("c:\Ensemble\DICOM\MyAssociations.txt",
"ENS-SCU",
"MWL-SCP",
0)
結果として得られる関連付け情報は管理ポータルで表示できます。[Ensemble] をクリックして、[相互運用]、[DICOM]、お
よび [DICOM設定] の順にクリックします。これにより、次のような [Ensemble] > [DICOM設定] ページが表示されます。
テーブル内の任意の行をクリックしてから、[編集] をクリックして、[関連付け] タブと [プレゼンテーションコンテキスト] タ
ブを表示します。
Ensemble DICOM 開発ガイド 9
Ensemble での DICOM 関連付けの作成
2.3 DICOM 関連付けの作成
既知の SOP クラスと提供されている転送シンタックスのリストごとに、呼び出し元 AET および呼び出し先 AET 間の関連
付けのスーパーセットを作成することもできます。そのためには、EnsLib.DICOM.Util.AssociationContext の
CreateAssociation() メソッドを実行します。
CreateAssociation() メソッドには、以下のシグニチャがあります。
classmethod CreateAssociation(pCallingAET As %String,
pCalledAET As %String,
pTransferSyntaxes As %List)
CreateAssociation() メソッドには、以下の引数があります。
pCallingAET
サービスの要求元を含むアプリケーション・エンティティ (AE) を指定します。これは、ソースの DICOM アプリ
ケーションの名前に基づきます。通常、呼び出し元のアプリケーション・エンティティ・タイトル (AET) は、サービ
ス・クラス・ユーザ (SCU) です。
pCalledAET
サービスの対象となる受け付け側を含むアプリケーション・エンティティを指定します。これは、宛先の DICOM
アプリケーションの名前に基づきます。通常、呼び出し先のアプリケーション・エンティティ・タイトルは、サービ
ス・クラス・プロバイダ (SCP) です。
pTransferSyntaxes
関連付けのプレゼンテーション・コンテキストの作成において、既知の SOP クラスごとにペアを作るための転送
シンタックスのリスト。
(デフォルトのリストには、必須のデフォルトである VR - 転送シンタックスが含まれています)。
このメソッドは、すべての 既知の SOP をサポートする、指定の呼び出し元 AET および呼び出し先 AET の関連付けコ
ンテキスト・インスタンスを作成します。
10 Ensemble DICOM 開発ガイド
DICOM 関連付けの管理
注釈
この関連付けでは、単純にデータ・ディレクトリにおいて既知のすべての SOP クラスを定義します。これによっ
てわずかにパフォーマンスが低下するため、次の節で説明するように管理ポータルを使用するか、前の節で説
明した ImportAssociation() メソッドを使用して、必要な SOP クラスだけを定義することをお勧めします。関連付
けに不要なクラスを含めると、モダリティと Ensemble 間のハンドシェイクにかかる時間が長くなる可能性があり
ます。
例として、ENSDEMO ネームスペースには、サンプル DICOM プロダクションが含まれています。このプロダクションは、
以下のコードを使用して、すべての既知の SOP クラスを含むデフォルトの関連付けを生成します。
#; We will be accepting Storage and Query requests from JD-SCU
Do ##class(EnsLib.DICOM.Util.AssociationContext).CreateAssociation
("JD-SCU","ENS-SCP",$ListBuild($$$IMPLICITVRLETRANSFERSYNTAX))
#; We will be sending storage requests to the JD-SCP
Do ##class(EnsLib.DICOM.Util.AssociationContext).CreateAssociation
("ENS-SCU","JD-SCP",$ListBuild($$$IMPLICITVRLETRANSFERSYNTAX))
2.3.1 転送シンタックスの考慮事項
場合によっては、明示的に指定する方が有効です。多くの場合、元のタイプの名前が保持され、下位互換性がさらに高
まるためです。
明示的および暗黙的 VR (値表現) のエンコーディングは混合できないため、どちらの方法を使用するかの決定は、い
ずれのデータ転送においても最初に行われる必要があります。DICOM アプリケーションは、データ交換の前にエンコー
ディング・タイプについて交渉して合意します。
2.4 DICOM 関連付けの管理
関連付けを管理するには、管理ポータルの [Ensemble] > [DICOM設定] ページを使用します。このページにアクセスす
るには、[Ensemble]、[相互運用]、[DICOM] の順にクリックし、[DICOM設定] をクリックします。
このページには、選択したネームスペースの既存の関連付けがリストされ、以下の機能が提供されています。
•
関連付けの作成、編集、または削除 — Ensemble には、関連付け情報を入力または編集するためのフォームが用
意されています。また、既存の関連付けをリストから削除することもできます。詳細は、“DICOM 関連付けの作成と
編集” を参照してください。
•
[アブストラクト・シンタックスの表示] — Ensemble には、DICOM アブストラクト・シンタックスのリストが用意されてお
り、そのリストには DICOM 規格の既知の SOP クラス情報がすべて記載されています。詳細は、“アブストラクト・シ
ンタックスの表示” を参照してください。
•
[ディクショナリの表示] — Ensemble には、DICOM データ・ディクショナリが用意されており、そのディクショナリには
DICOM 規格の既知のデータ要素情報がすべて記載されています。詳細は、“DICOM データ・ディクショナリの表
示” を参照してください。
2.4.1 DICOM 関連付けの作成と編集
[Ensemble] > [DICOM設定] ページには、選択したネームスペースで定義されている関連付けがすべてリストされます。
このリストから、[編集] または [削除] を選択して既存の関連付けの編集や削除を行うことも、[新規関連付け作成] を選
択することもできます。関連付けを削除するには、該当する行で [削除] をクリックし、[OK] をクリックして確定します。
このページには 2 つのタブがあります。
•
[関連付け] タブでは、関連付けを作成または編集できます。このタブ上で以下の情報を入力または編集します。
Ensemble DICOM 開発ガイド 11
Ensemble での DICOM 関連付けの作成
–
[呼び出しているAET] — サービスの要求元を含むアプリケーション・エンティティ (AE) を指定します。これは、
ソースの DICOM アプリケーションの名前に基づきます。通常、呼び出し元の AET は、サービス・クラス・ユー
ザ (SCU) です。
–
[呼び出されたAET] — サービスの受け付け側を含むアプリケーション・エンティティ (AE) を指定します。これは、
宛先の DICOM アプリケーションの名前に基づきます。通常、呼び出し先の AET は、サービス・クラス・プロバ
イダ (SCP) です。
–
[名前] — 関連付けの任意の名前。最長で 64 文字です。
–
[説明] — 関連付けの任意の説明。最長で 254 文字です。
関連付けを更新または作成するには、[保存] をクリックします。必須フィールドに入力もれがある場合は、その説明
が赤字で表示されます。作業内容を取り消して [DICOM設定] ページの既存の関連付けのリストに戻るには、[閉じ
る] をクリックします。
呼び出し元および呼び出し先のアプリケーション・エンティティ・タイトルが共に、その関連付けに対して一意の ID
を作成します。関連付けを保存すると、これらのフィールドは変更できません。その関連付けを削除してから新しい
関連付けを追加できます。
•
[プレゼンテーションコンテキスト] タブでは、関連付けに関連したプレゼンテーション・コンテキストを維持できます。
このタブでは、以下のアクションを実行できます。
–
[前のページに戻る] — [Ensemble] > [DICOM設定] ページの関連付けのリストに戻る場合にクリックします。
–
[追加] — アブストラクト・シンタックスのエントリをリストに追加し、受け付け可能なまたは提示される転送シンタッ
クスの組み合わせのリストをメンテナンスする場合にクリックします。詳細は、“プレゼンテーション・コンテキスト
の追加” を参照してください。
–
[削除] — アブストラクト・シンタックスをハイライト表示し、[削除] をクリックします。特定の転送シンタックスのみを
削除するには、[編集] をクリックして選択したリストから削除します。
–
[編集] — 選択したアブストラクト・シンタックスに対応する転送シンタックスを追加または削除する場合にクリック
します。
DICOM ソースと Ensemble 間の関連付けについてすべての関連情報を入力したら、関連付け情報を Ensemble プ
ロダクションの構成に使用できます。
2.4.1.1 プレゼンテーション・コンテキストの追加
接続を試みる 2 つのアプリケーションが互いの情報を交換するとき、DICOM 特有のメッセージ含む各ネットワーク転送
は、関連付けハンドシェイクの確立で始まります。その情報は、プレゼンテーション・コンテキストと呼ばれます。プレゼン
テーション・コンテキストは、アプリケーション・エンティティ間の交渉で、関連付けに対して使用される一連の DICOM
ネットワーク・サービスです。それには、アブストラクト・シンタックスおよび転送シンタックスが含まれます。Ensemble では、
EnsLib.DICOM.Util.PresentationContext クラスを使用してこの情報を表します。2 つのアプリケーションのコンテキストが
適合すると、それらのアプリケーションは接続して SCU-SCP 処理を開始できます。
プレゼンテーション・コンテキストのエントリを追加するには、以下の手順を実行します。
1. [プレゼンテーションコンテキスト] タブで [追加] をクリックします。
2. DICOM デバイスでサポートされているアブストラクト・シンタックスをクリックします。タブには、DICOM 規格のすべ
ての既知のアブストラクト・シンタックスに対応する UID と SOP クラス名がリストされます。転送シンタックスを追加す
る対象として、リストから一度に 1 つだけ [アブストラクトシンタックス] を選択することができます。
3. アブストラクト・シンタックスを選択したら、[>] 矢印を使用して、[利用可能な変換シンタックス] リストから [選択された
変換シンタックス] リストに、対象のデバイスに有効なタイプを移動します。
12 Ensemble DICOM 開発ガイド
DICOM 関連付けの管理
4. アブストラクト・シンタックスに対応する適切な転送シンタックスの選択が完了したら、[保存] をクリックしてツリーに新
しいコンテキストを追加します。編集内容を取り消して、既存のプレゼンテーション・コンテキスト・ツリーに戻る場合
は、[キャンセル] をクリックします。
例えば、多くの適合性宣言には、アブストラクト・シンタックスとして一般的な確認 SOP クラス (1.2.840.10008.1.1) が記
載されています。通常、適合性宣言には、モダリティがプロバイダ (SCP) として機能する場合は受け付け可能なプレゼ
ンテーション・コンテキストの組み合わせがリストされ、ユーザ (SCU) として機能する場合は提示されるプレゼンテーショ
ン・コンテキストの組み合わせがリストされます。上記のプレゼンテーション・コンテキスト・テーブルの例では、このクラス
は暗黙的 VR リトルエンディアン転送シンタックス (1.2.840.10008.1.2) を受け付けます。
付録 “DICOM 転送シンタックス” には、このページに表示される情報がリストされています。
2.4.2 アブストラクト・シンタックスの表示
[Ensemble] > [管理] > [DICOM AS リスト] ページには、SOP クラスとそれらの一意の識別子 (DICOM PS 3.3 規格のも
の) のテーブルが表示されます。このページにアクセスするには、[Ensemble]、[相互運用]、[DICOM]、[DICOM アブスト
ラクト・シンタックス] の順にクリックし、[進む] をクリックします。アブストラクト・シンタックスという用語が使用される理由の
1 つは、DICOM が参照する国際標準の 1 つでこの用語が定義されているためです。
[アブストラクト・シンタックスの表示] ページの [フィルタ] 機能を使用するには、文字列の一部を入力して Tab キーを押
し、フィルタ適用後のテーブルを再読み込みします。検索では大文字と小文字は区別されません。入力した部分文字列
がいずれかの列のデータとマッチした場合、フィルタによって結果が返されます。
2.4.3 DICOM データ・ディクショナリの表示
DICOM データ・ディクショナリは、メディア・エンコーディングに使用される要素と DICOM が割り当てる一意に識別され
た項目のリストと共に、情報を表すために使用可能な一連のすべての DICOM データ要素を定義する統合レジストリに
相当します。[Ensemble] > [管理] > [DICOM ディクショナリ] ページには、DICOM PS 3.3 規格の要素のテーブルが表示
されます。このページにアクセスするには、[Ensemble]、[相互運用]、[DICOM]、[DICOM ディクショナリ・シンタックス] の
順にクリックし、[進む] をクリックします。
[ディクショナリの表示] ページの [フィルタ] 機能を使用するには、文字列の一部を入力して Tab キーを押し、フィルタ適
用後のテーブルを再読み込みします。検索では大文字と小文字は区別されません。入力した部分文字列がいずれか
の列のデータとマッチした場合、フィルタによって結果が返されます。
以下のテーブルで、ページの表示について説明します。
列名
説明
タグ
順序づけられた番号のペア (グループ番号、要素番号の順) から成る情報の要素に対する一意
の識別子。属性および対応するデータ要素の識別に使用されます。
名前
DICOM データ・ディクショナリ要素の名前。
VR
値表現。データ要素の値フィールドに含まれる値のデータ型および形式を示します (整数または
文字列のタイプなど)。
VM
値の多重度。データ要素の値フィールドでエンコード可能な値の数を示します。
(コード)
項目のコードが定義されている場合は、リンクを表示します。[コード] をクリックすると、ダイアロ
グ・ボックスにこの要素に有効な値および対応する内部数値コードのリストが表示されます。[フィ
ルタ] に部分文字列を入力して、このテーブルをフィルタすることもできます。
この情報は参照のみを目的としています。Ensemble では、フィールドにバリエーションがあることが考えられるため、これ
らの列挙された値の使用は強制されません。特定のフィールドに入れる値を決める際に、これらの参照用テーブルを利
用することもできます。最終的な参照資料は、常に NEMA 公式の DICOM PS 3.3 規格です。
Ensemble DICOM 開発ガイド 13
Ensemble での DICOM 関連付けの作成
2.5 DICOM 関連付けのテスト
関連付けを定義したら、以下の手順を使用してそれらの関連付けをプロダクションでテストできます。
1. Ensemble を構成する前に、ワーキング・モダリティの TCP トレースを取得します。
2. いずれかのデモ・プロダクションを開始します。
3. ビジネス・サービスを追加します。
4. エコー・メッセージを送信します。
5. 接続をデバッグします。
以下は、サードパーティ製 DICOM テスト・ツールからのサンプル・ログです。関連付けの確立、ECHO メッセージの要
求と応答、および関連付け接続の解放を示しています。
test: #5:ENS-SCP << A-ASSOCIATE-RQ PDU
test: #5:ENS-SCP >> A-ASSOCIATE-AC PDU
test: #5:ENS-SCP << C-ECHO-RQ Verification SOP Class
test: #5:ENS-SCP >> C-ECHO-RSP Verification SOP Class, status #0000H[Success]
test: #5:ENS-SCP << A-RELEASE-RQ PDU
test: #5:ENS-SCP >> A-RELEASE-RP PDU
test: #5:ENS-SCP closing socket
14 Ensemble DICOM 開発ガイド
3
DICOM プロダクション用の Ensemble タスク
以下の節では、DICOM プロダクション専用の一般的な Ensemble タスクを実行する方法について説明します。
•
DICOM 重複ビジネス・サービスの追加
•
DICOM ファイル・ビジネス・サービスの追加
•
DICOM ビジネス・プロセスの作成
•
DICOM 重複ビジネス・オペレーションの追加
•
DICOM 重複ビジネス・ホストの構成
•
DICOM のユーザ ID クラスとバージョンの設定
3.1 DICOM 重複ビジネス・サービスの追加
Ensemble には、TCP 接続を介して外部ソースから DICOM ドキュメントを受け取る組み込みの重複ビジネス・ホストが用
意されています。
DICOM 重複ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。
1. そのプロダクションを管理ポータルの [Ensemble] > [プロダクション構成] ページで表示します。このページにアクセ
スするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
2. [サービス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
3. [サービス・クラス] リストから EnsLib.DICOM.Service.TCP クラスを選択します。
4. [サービス名] に、このビジネス・サービスの名前を入力します。ビジネス・サービス間で一意の名前でなければなりま
せん。ピリオドと空白文字は使用できません。
デフォルトでは、このサービスの基本となるクラス名が使用されます。
5. [OK] をクリックします。
Ensemble DICOM 開発ガイド 15
DICOM プロダクション用の Ensemble タスク
3.2 DICOM ファイル・ビジネス・サービスの追加
Ensemble には、外部ファイルから DICOM ドキュメントを受け取る組み込みのファイル・ビジネス・サービスが用意されて
います。
DICOM ファイル・ビジネス・サービスをプロダクションに追加するには、以下の操作を行います。
1. そのプロダクションを管理ポータルの [Ensemble] > [プロダクション構成] ページで表示します。このページにアクセ
スするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
2. [サービス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
3. [サービス・クラス] リストから EnsLib.DICOM.Service.File クラスを選択します。
4. [サービス名] に、このビジネス・サービスの名前を入力します。ビジネス・サービス間で一意の名前でなければなりま
せん。ピリオドと空白文字は使用できません。
デフォルトでは、このサービスの基本クラスの名前が使用されます。
5. [OK] をクリックします。
3.3 DICOM ビジネス・プロセスの作成
DICOM プロダクションで使用する DICOM ビジネス・プロセスを構築するには、適切なロジックを実行するカスタム・ビジ
ネス・プロセス・クラスを開発し、開発したカスタム・クラスを使用するビジネス・プロセスを作成して構成し、それをプロダク
ションに統合する必要があります。このトピックでは、以下の各手順について説明します。
•
DICOM ビジネス・プロセス・クラスの開発
•
DICOM ビジネス・プロセスの追加
•
DICOM ビジネス・プロセスの統合
3.3.1 DICOM ビジネス・プロセス・クラスの開発
DICOM の双方向性によって BPL を使用したビジネス・プロセスの書き込みができないため、Caché ObjectScript を使
用してカスタム・ビジネス・プロセスを作成する必要があります。
カスタム・クラスを作成するときに、すべてのユーザ定義 DICOM ビジネス・プロセス用のスーパークラスである
EnsLib.DICOM.Process を拡張します。詳細は、"クラスリファレンス" のエントリを参照してください。クラスの作成方法
は、"Ensemble プロダクションの開発" の “カスタム・ビジネス・プロセスの開発” を参照してください。
DICOM 通信の重複性のため、ビジネス・プロセスはプロセス外の事象を継続的に追跡する必要があります。これは、プ
ロセスの状態のコンテキスト変数を使用することで実行できます。また、イベント駆動型の有限状態機械の後にコードを
モデル化することが可能です。
3.3.2 DICOM ビジネス・プロセスの追加
DICOM ビジネス・プロセスをプロダクションに追加するには、以下の操作を行います。
1. そのプロダクションを管理ポータルの [Ensemble] > [プロダクション構成] ページで表示します。このページにアクセ
スするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
16 Ensemble DICOM 開発ガイド
DICOM 重複ビジネス・オペレーションの追加
2. [プロセス] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
3. [プロセス・クラス] リストからカスタム・クラスを選択します。
4. [プロセス名] に、このビジネス・プロセスの名前を入力します。ビジネス・プロセス間で一意の名前でなければなりま
せん。ピリオドと空白文字は使用できません。
デフォルトでは、このプロセスの基本クラスの名前が使用されます。
5. [OK] をクリックします。
3.3.3 DICOM ビジネス・プロセスの統合
新しい DICOM ビジネス・プロセスを Ensemble プロダクションに統合するには、このプロセスを、このプロセスの受信ド
キュメントを受け取るビジネス・サービスと関連付ける必要があると共に、これらのドキュメントに基づいてこのプロセスの
アクションを決定するルーティング・ルール・セットとも関連付ける必要があります。これを行うには、以下を実行します。
構成ダイアグラムで DICOM ビジネス・サービスを選択します。[重複ターゲット構成名] フィールドに、DICOM ビジネス・
プロセスの構成済みの名前を入力します。
3.4 DICOM 重複ビジネス・オペレーションの追加
Ensemble には、TCP 接続を介して外部ソースから DICOM ドキュメント・メッセージを受け取る組み込みの重複ビジネ
ス・ホストが用意されています。
DICOM ビジネス・オペレーションをプロダクションに追加するには、以下の操作を行います。
1. そのプロダクションを管理ポータルの [Ensemble] > [プロダクション構成] ページで表示します。このページにアクセ
スするには、[Ensemble]、[構成する]、[プロダクション] の順にクリックし、[進む] をクリックします。
2. [オペレーション] 列で、[追加] ボタン (プラス記号) をクリックします。
ダイアログ・ボックスが表示されます。
3. [オペレーション・クラス] リストから EnsLib.DICOM.Operation.TCP クラスを選択します。
4. [オペレーション名] に、このビジネス・オペレーションの名前を入力します。ビジネス・オペレーション間で一意の名
前でなければなりません。ピリオドと空白文字は使用できません。
デフォルトでは、このオペレーションの基本クラスの名前が使用されます。
5. [OK] をクリックします。
3.5 DICOM 重複ビジネス・ホストの構成
ビジネス・ホストを構成するには、[Ensemble] > [プロダクション構成] ページのダイアグラムでそのビジネス・ホストをクリッ
クし、[設定] タブで詳細を編集して、[適用] をクリックします。
DICOM ビジネス・ホストに対しては、以下の設定を構成できます。
Ensemble DICOM 開発ガイド 17
DICOM プロダクション用の Ensemble タスク
[重複ターゲット構成名]
そのビジネス・ホストが受信するすべての 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 - No information
1 - Terse debug information
2 - Verbose debug information
ARTIM
関連付けの要求/拒否/解放タイムアウト (秒)。関連付けの要求に対するピアからの応答に時間がかかる場合
は、この値を増やします。
TXTIM
データ転送タイムアウト (秒)データ転送中のピアからの応答に時間がかかる場合は、この値を増やします。
接続ごとのジョブ
真または偽。受信 TCP 接続ごとに処理を行う新しいプロセスを生成するかどうかを指定します。真に設定した
場合、複数の接続の同時処理が可能になります。
18 Ensemble DICOM 開発ガイド
DICOM のユーザ ID クラスとバージョンの設定
[IPポート]
DICOM ピアの IP ポート。
[IPアドレス]
DICOM ピアに接続するための IP アドレス。リスニング・モードの場合、このプロパティは NULL になります。
残りの設定は、すべてのビジネス・ホストに共通しているか、アダプタのタイプによって異なるかのどちらかです。詳細は、
以下の各ドキュメント内の “設定の参照先” の節を参照してください。
•
Ensemble でのファイル・アダプタの使用法
•
Ensemble での TCP アダプタの使用法
"Ensemble プロダクションの構成" の “すべてのプロダクションに含まれる設定” も参照してください。
3.6 DICOM のユーザ ID クラスとバージョンの設定
Ensemble の DICOM の実装は、UIC と VER という 2 項目の情報によって識別されます。独自の UIC や VER を構成
するには、それぞれ、^Ens.Config("DICOM","UIC") ノードと ^Ens.Config("DICOM","VER") ノードを設定します。
Ensemble DICOM 開発ガイド 19
4
DICOM モダリティ・ワークリスト・プロダクション
のサンプル
一般的な DICOM SOP クラスの 1 つに、モダリティ・ワークリスト (MWL) があります。MWL により、主要な画像機器 (モ
ダリティ) は、通常は放射線医学情報システム (RIS) の一部である MWL サービス・クラス・プロバイダ (SCP) にある患者
の人口統計や検査の詳細をクエリできます。モダリティは、標準的な C-FIND オペレーションを使用して、選択された基
準と共に患者のリストを要求し、それに対してモダリティ・ワークリスト・サービスが応答します。
ENSDEMO ネームスペースには、Demo.DICOM.Production.WorkList という名前のプロダクションが含まれています。こ
のプロダクションは、DICOM ワークリストをサポートするモダリティのために、Ensemble を使用してそれらのワークリストを
処理する方法を示します。
このプロダクションのシナリオでは、1 日の開始時にモダリティは処理する作業のリストを必要とします。プロダクションは、
以下の処理を実行します。
1. モダリティが C-FIND 要求メッセージを Ensemble に送信します。
2. C-FIND 要求は、ワークリストの必要性を示します。
3. Ensemble が情報を検索します。
4. Ensemble はリスト内の患者ごとに C-FIND 応答メッセージを作成します。
5. Ensemble は応答メッセージをモダリティに返信します。
ビジネス・サービス EnsLib.DICOM.Service.TCP は、DICOM 画像デバイスに接続します。Demo.DICOM.Process.WorkList
ビジネス・プロセス・クラスは、DICOM C-FIND-RQ メッセージを処理して、ワークリスト・エントリを応答として返す方法を
示します。
この方法でのみ、モダリティ・ワークリスト SOP クラス (MWL) は機能します (つまり、モダリティ側からサービス・プロバイ
ダ (SCP) のデータをクエリします)。そのため、SCP 側からモダリティ機器にデータをブロードキャストする方法はありませ
Ensemble DICOM 開発ガイド 21
DICOM モダリティ・ワークリスト・プロダクションのサンプル
ん。同様に、MWL プロトコル自体は、返されたマッチのリストからどの患者が選択されたかを RIS に通知する方法をモ
ダリティに提供しません。もっとも、その情報は、モダリティ実施済み手続きステップ (MPPS) サービスを両方の機器がサ
ポートしている場合に使用することで、通信することが可能です。
以下の手順で、プロダクションにこのタイプのインタフェースを追加する方法の概要を示します。
1. [Ensemble] > [プロダクション構成] ページの [新規プロダクション作成] をクリックして、汎用プロダクションを作成し
ます。"Ensemble プロダクションの構成" の “ プロダクションの作成と構成” を参照してください。
2. EnsLib.DICOM.Service.TCP クラスを使用して、このプロダクションに DICOM 重複ビジネス・サービスを追加します。
3. モダリティ・ワークリスト専用に DICOM ビジネス・サービスの設定を構成します。
4. 受信した DICOM C-FIND-RQ メッセージ・ドキュメントからワークリスト・エントリを生成する、ビジネス・プロセス・クラ
スを作成します。
5. 上記の手順で作成したカスタム・クラスを使用して、DICOM ビジネス・プロセスを追加します。
6. プロダクションをテストして、プロダクションがワークリストの要求メッセージを受け取り、適切な応答メッセージ・ドキュ
メントを返信することを確認します。
Demo.DICOM.Production.WorkList.cls のクラス・コードを表示するには、スタジオを使用してプロダクションの詳細を参
照します。
4.1 DICOM ワークリスト・ビジネス・サービスの構成
DICOM ビジネス・サービスを構成するには、[Ensemble] > [プロダクション構成] ページのダイアグラムでその DICOM
ビジネス・サービスをクリックします。詳細は、“DICOM 重複ビジネス・ホストの構成” の節を参照してください。この節で
は、デモ・ワークリスト・プロダクション内のビジネス・サービスに固有の設定について説明しています。
[重複ターゲット構成名]
ビジネス・サービスが受け取った任意の DICOM ドキュメントを送信するプロダクション内で、構成項目を指定し
ます。
Demo.DICOM.ProductionStorage プロダクションは、Demo.DICOM.Process.WorkList を基本クラスとするビジ
ネス・プロセスを使用します。詳細は、“DICOM ワークリスト・プロダクションのビジネス・プロセスの作成” を参
照してください。これは、モダリティからの DICOM メッセージを処理するためのロジックが含まれたカスタム・プ
ロセスです。
[LocalAET]
呼び出し先のアプリケーション・エンティティ・タイトル (AET)。リモート DICOM ピアが Ensemble と通信するた
めに使用します。これは、Ensemble ネームスペースで関連付けを定義する場合に使用する [呼び出されたAET]
に該当します。
Demo.DICOM.Production.WorkList プロダクションを初めて実行すると、このプロダクションでは、Ensemble がこ
のデモ・プロダクションのテスト DICOM アプリケーションに接続するために必要な DICOM 関連付けが作成さ
れます。ENSDEMO ネームスペース内のこの関連付けは、[Ensemble] > [DICOM設定] ページで表示できます。
[RemoteAET]
リモート DICOM ピアの呼び出し元のアプリケーション・エンティティ・タイトル。
アダプタがサービス・クラス・プロバイダ (SCP (サーバ)) のロールを果たす場合、アダプタには接続を許可され
た DICOM ピアの名前のカンマ区切りリストが含まれます。名前は、リテラル文字列またはパターン/代入の形
式のいずれかになります。
22 Ensemble DICOM 開発ガイド
DICOM ワークリスト・プロダクションのビジネス・プロセス・クラスの作成
デモ・プロダクションの EnsLib.DICOM.Service.TCP サービスは、[RemoteAET] の値として JD-SCU を使用しま
す。
4.2 DICOM ワークリスト・プロダクションのビジネス・プロセス・ク
ラスの作成
ENSDEMO の Demo.DICOM.Production.WorkList プロダクションは、サンプルのカスタム・ビジネス・プロセス・クラス
Demo.DICOM.Process.WorkList を使用します。このカスタム・クラスは、DICOM C-FIND 要求メッセージを処理して、
ワークリスト・エントリを応答として返す方法を示します。このデモ・クラスは、RIS システムから患者情報を取得する操作を
シミュレートします。
このカスタム・クラスは、すべてのユーザ定義 DICOM ビジネス・プロセス用のスーパークラスである EnsLib.DICOM.Process
を拡張します。詳細は、"クラスリファレンス" のエントリを参照してください。
手順は、"Ensemble プロダクションの開発" の “カスタム・ビジネス・プロセスの開発” を参照してください。
Demo.DICOM.Process.WorkList クラスは、SETTINGS パラメータを使用して、構成のために新しい
NumberOfWorkListEntries プロパティを公開します。この設定は、C-FIND 要求の結果として返されるワークリスト・エン
トリの数に影響します。
カスタム・クラスの内容の概要は、以下の節を参照してください。
•
DICOM ワークリスト・プロセス・プロパティ
•
DICOM ワークリスト・プロセス・メソッド
Demo.DICOM.Process.WorkList.cls のクラス・コードを表示するには、スタジオを使用して処理の詳細を参照します。
DICOM 通信の重複性のため、ビジネス・プロセスはプロセス外の事象を継続的に追跡する必要があります。これは、プ
ロセスの状態のコンテキスト変数を使用することで実行できます。
4.2.1 DICOM ワークリスト・プロセス・プロパティ
カスタム・クラスは、要求を読み取って応答の形式を作成する必要のある以下のプロパティを追加します。
DocumentFromService
ビジネス・サービスからの受信メッセージ (EnsLib.DICOM.Document オブジェクト)。
NumberOfWorkListEntries
ワークリスト・エントリの数を構成します。デフォルトは 1 です。
OriginatingMessageID
最初のメッセージの ID を継続的に追跡します。
ReplyCounter
ワークリスト要求に対して送信された応答の数を継続的に追跡します。
4.2.2 DICOM ワークリスト・プロセス・メソッド
カスタム・クラスは、要求を処理して応答を作成する必要のある以下のメソッドを追加します。
Ensemble DICOM 開発ガイド 23
DICOM モダリティ・ワークリスト・プロダクションのサンプル
OnMessage()
このメソッドは、C-FIND 要求メッセージおよび C-CANCEL 要求メッセージを処理します。検索要求は、要求
のデータセットに指定されている基準を使用して実行されるクエリを要求します。クエリには、かなり時間がかか
り、多くの結果が生成される可能性があるため、個別のマッチは 1 つ以上のメッセージで報告されます。このデ
モ・メソッドでは、その他の種類の DICOM メッセージは生成されません。
OnMessage() メソッドには、以下のシグニチャがあります。
Method OnMessage(pSourceConfigName As %String,
pInput As %Library.Persistent)
As %Status
OnError()
このメソッドは、エラーが発生すると呼び出されます。同じエラーが返されると、ビジネス・プロセスは自身の状態
をエラーに設定し、終了します。
OnError() メソッドには、以下のシグニチャがあります。
Method OnError(request As %Library.Persistent, ByRef response As %Library.Persistent,
callrequest As %Library.Persistent,
pErrorStatus As %Status,
pCompletionKey As %String)
As %Status
CreateIntermediateFindResponse()
このメソッドは、C-FIND 応答のメッセージの中間インスタンスを生成し、必須の DICOM フィールドを書き込み
ます。プロトコルは、最後のメッセージ以外のすべてのメッセージの状態が保留中に設定されるように要求しま
す。これにより、クライアントはまだ受信するデータがあることがわかります。最後のメッセージの状態は成功で、
クエリが終了したことを示します。この例では、選択基準は無視され、ダミーの患者記録が返されます。実際の
プロダクションの実装は、当然これよりも複雑になります。
CreateIntermediateFindResponse() メソッドには、以下のシグニチャがあります。
Method CreateIntermediateFindResponse(pDocIn As EnsLib.DICOM.Document,
Output pDocOut As EnsLib.DICOM.Document)
As %Status
CreateFinalFindResponse()
このメソッドは、最期のプロセスが完了したことを示すメッセージのインスタンスを作成し、コマンド・フィールドを
C-FIND-RSP に設定して、それが検索応答メッセージであることを示します。
CreateFinalFindResponse() メソッドには、以下のシグニチャがあります。
Method CreateFinalFindResponse(pDocIn As EnsLib.DICOM.Document,
Output pDocOut As EnsLib.DICOM.Document)
As %Status
4.3 DICOM ワークリスト・プロダクションのテスト
機能する関連付けがあり、プロダクションを作成したら、そのワークリスト・プロダクションを使用して有効な DICOM メッ
セージ・ドキュメントの処理を試みることができます。Ensemble に含まれるデモ・プロダクションは、DICOM 処理のテスト
専用に開発されたサードパーティ製ソフトウェアを使用して開発されました。使用可能な多くのソフトウェア製品のいずれ
かを利用することも、実際の DICOM モダリティ・データを使用してテストすることも可能です。
この節では、管理ポータルの [イベント・ログ] ページ、[メッセージ・ブラウザ] ページ、[メッセージ詳細] ページ、および
[メッセージの内容] ページの一部を示します。これらのページは、ワークリストをサポートするモダリティから DICOM メッ
セージを受け取る実行中の Demo.DICOM.Production.WorkList プロダクションのものです。
24 Ensemble DICOM 開発ガイド
DICOM ワークリスト・プロダクションのテスト
以下は、[メッセージ・ブラウザ] で Ensemble の DICOM メッセージ・ドキュメントの内容を表示したものです。
データ・セット内の物理データとコマンド・セット内のメタデータが含まれた DICOM メッセージの構造を確認できます。
以下の [イベント・ログ] の一部は、モダリティと通信し、ビジネス・プロセスで構成された 3 つのワークリスト項目を処理す
るプロダクションを実行するイベントを、(ボトムアップ方式で) 示したものです。
Ensemble DICOM 開発ガイド 25
DICOM モダリティ・ワークリスト・プロダクションのサンプル
以下のログは、サードパーティ製の DICOM テスト用ソフトウェアから得られたもので、ソフトウェアと Ensemble プロダク
ションとの通信を示しています。
test: #3:ENS-SCP << A-ASSOCIATE-RQ PDU
test: #3:ENS-SCP >> A-ASSOCIATE-AC PDU
test: #3:ENS-SCP << C-FIND-RQ Modality Worklist Information Model - FIND SOP Class
test: #3:ENS-SCP << Dataset
test: #3:ENS-SCP >> C-FIND-RSP Modality Worklist Information Model-FIND SOP Class, status
#ff01H[StatusEntry.PENDING]
test: #3:ENS-SCP >> Dataset
test: #3:ENS-SCP >> C-FIND-RSP Modality Worklist Information Model-FIND SOP Class, status
#ff01H[StatusEntry.PENDING]
test: #3:ENS-SCP >> Dataset
test: #3:ENS-SCP >> C-FIND-RSP Modality Worklist Information Model-FIND SOP Class, status
#ff01H[StatusEntry.PENDING]
test: #3:ENS-SCP >> Dataset
test: #3:ENS-SCP >> C-FIND-RSP Modality Worklist Information Model-FIND SOP Class, status #0000H[Success]
test: #3:ENS-SCP << A-RELEASE-RQ PDU
test: #3:ENS-SCP >> A-RELEASE-RP PDU
test: #3:ENS-SCP closing socket
26 Ensemble DICOM 開発ガイド
5
DICOM ストレージ・ルーティング・プロダクション
のサンプル
ENSDEMO ネームスペースには、Demo.DICOM.Production.Storage という名前のプロダクションが含まれています。こ
のプロダクションは、基本的な DICOM 関数をデモ実行して、モダリティから保管用の RIS システムまたは PACS システ
ムに画像を送信します。
このプロダクションのシナリオは、DICOM モダリティが、ドキュメントをストレージ・システムに送信するための要求メッセー
ジを送信するという内容です。プロダクションは、以下の処理を実行します。
1. DICOM モダリティは、Ensemble との関連付けを確立して、重複ビジネス・サービスを介して C-STORE 要求メッセー
ジをプロダクションに送信します。
2. Ensemble ビジネス・プロセスは、出力ストレージ・システムへの接続を確認して、必要に応じて関連付けを確立しま
す。
3. Ensemble は、要求を認識して、発信元メッセージ ID を保管して、重複ビジネス・オペレーションを介して DICOM
ドキュメント・メッセージをストレージ・システムに転送します。
4. ビジネス・オペレーションは、C-STORE 応答メッセージをストレージ・システムからビジネス・プロセスに返します。
5. Ensemble は、発信元メッセージ ID と共に応答メッセージをモダリティに返信します。
以下の手順で、プロダクションにこのタイプのインタフェースを追加する方法の概要を示します。
1. [Ensemble] > [プロダクション構成] ページの [新規プロダクション作成] をクリックして、汎用プロダクションを作成し
ます。"Ensemble プロダクションの構成" の “ プロダクションの作成と構成” を参照してください。
2. EnsLib.DICOM.Service.TCP クラスを使用して、このプロダクションに DICOM 重複ビジネス・サービスを追加します。
3. ストレージ・プロダクションへのルーティングのみに関して、DICOM ビジネス・サービスの設定を構成します。
Ensemble DICOM 開発ガイド 27
DICOM ストレージ・ルーティング・プロダクションのサンプル
4. 受信 C-STORE-RQ メッセージからストレージ・システムへ受信 DICOM ドキュメントをルーティングして、返された
C-STORE-RSP メッセージを発信元システムに戻すためのビジネス・プロセス・クラスを作成します。
5. 上記の手順で作成したカスタム・クラスを使用して、DICOM ビジネス・プロセスを追加します。
6. DICOM ビジネス・オペレーションを追加します。
7. プロダクションをテストして、プロダクションがワークリストの要求メッセージを受信して、適切な応答メッセージ・ドキュ
メントを返信することを確認します。
Demo.DICOM.Production.Storage.cls のクラス・コードを表示するには、スタジオを使用してプロダクションの詳細を参照
します。
5.1 ストレージ・ビジネス・サービスへの DICOM ルーティングの構
成
DICOM ビジネス・サービスを構成するには、[Ensemble] > [プロダクション構成] ページのダイアグラムでその DICOM
ビジネス・サービスをクリックします。詳細は、“DICOM 重複ビジネス・ホストの構成” の節を参照してください。この節で
は、デモ・ストレージ・プロダクション内のビジネス・サービスに固有の設定について説明しています。
[重複ターゲット構成名]
ビジネス・サービスが受け取った任意の DICOM ドキュメントを送信するプロダクション内で、構成項目を指定し
ます。
Demo.DICOM.Production.Storage プロダクションは、Demo.DICOM.Process.Storage を基本クラスとするビジネ
ス・プロセスを使用します。詳細は、“DICOM ストレージ・プロダクションのビジネス・プロセス・クラスの作成” を
参照してください。これは、入力モダリティからの DICOM メッセージを処理してストレージ・システムにルーティ
ングするためのロジックが含まれたカスタム・プロセスです。
[LocalAET]
呼び出し先のアプリケーション・エンティティ・タイトル (AET)。リモート DICOM ピアが Ensemble と通信するた
めに使用します。これは、Ensemble ネームスペースで関連付けを定義する場合に使用する [呼び出されたAET]
に該当します。
Demo.DICOM.Production.Storage プロダクションを初めて実行すると、このプロダクションでは、Ensemble がこ
のデモ・プロダクションのテスト DICOM アプリケーションに接続するために必要な DICOM 関連付けが作成さ
れます。ENSDEMO ネームスペース内のこの関連付けは、[Ensemble] > [DICOM設定] ページで表示できます。
デモ・プロダクションの EnsLib.DICOM.Service.TCP サービスは、[LocalAET] の値として ENS-SCP を使用しま
す。
[RemoteAET]
リモート DICOM ピアの呼び出し元のアプリケーション・エンティティ・タイトル。
アダプタがサービス・クラス・プロバイダ (SCP (サーバ)) のロールを果たす場合、アダプタには接続を許可され
た DICOM ピアの名前のカンマ区切りリストが含まれます。名前は、リテラル文字列またはパターン/代入の形
式のいずれかになります。
デモ・プロダクションの EnsLib.DICOM.Service.TCP サービスは、[RemoteAET] の値として JD-SCU を使用しま
す。
28 Ensemble DICOM 開発ガイド
DICOM ストレージ・プロダクションのビジネス・プロセス・クラスの作成
5.2 DICOM ストレージ・プロダクションのビジネス・プロセス・クラ
スの作成
ENSDEMO では、Demo.DICOM.Production.Storage プロダクションで、サンプル・カスタム・ビジネス・プロセス・クラスの
Demo.DICOM.Process.Storage が使用されます。このサンプルは、DICOM C-STORE 要求メッセージを処理して、
DICOM ドキュメントをストレージに送信し、C-STORE 応答メッセージを返す方法を示しています。
このカスタム・クラスは、すべてのユーザ定義 DICOM ビジネス・プロセス用のスーパークラスである EnsLib.DICOM.Process
を拡張します。詳細は、"クラスリファレンス" のエントリを参照してください。
詳細は、"Ensemble プロダクションの開発" の “カスタム・ビジネス・プロセスの開発” を参照してください。
Demo.DICOM.Process.Storage クラスは、SETTINGS パラメータを使用して、構成のために新しい OperationDuplexName
プロパティを公開します。
DICOM 通信の重複性のため、ビジネス・プロセスはプロセス外の事象を継続的に追跡する必要があります。これは、プ
ロセスの状態のコンテキスト変数を使用することで実行できます。デモ・ビジネス・プロセスは、この目的用の CurrentState
プロパティを作成します。
Demo.DICOM.Process.Storage.cls のクラス・コードを表示するには、スタジオを使用して処理の詳細を参照します。
5.3 ストレージ・プロダクションへの DICOM ルーティングのテスト
機能する関連付けを確保して、プロダクションを作成したら、そのプロダクションを通じて有効な DICOM メッセージ・ド
キュメントの処理を試みることができます。Ensemble に含まれるデモ・プロダクションは、DICOM 処理のテスト専用に開
発されたサードパーティ製ソフトウェアを使用して開発されました。使用可能な多くのソフトウェア製品のいずれかを利用
することも、実際の DICOM モダリティ・データを使用してテストすることも可能です。
Ensemble DICOM 開発ガイド 29
6
DICOM ファイル・ストレージ・プロダクションのサ
ンプル
ENSDEMO ネームスペースには、Demo.DICOM.Production.StorageFile という名前のプロダクションが含まれています。
このプロダクションは、基本的な DICOM 関数をデモ実行して、ファイル内の DICOM ドキュメントを DICOM 対応スト
レージ・システムに送信します。
このプロダクションのシナリオは、Ensemble が DICOM 形式のメッセージが含まれたファイルを受信して、これらのメッ
セージをストレージ・システムに送信するという内容です。プロダクションは、以下の処理を実行します。
1. Ensemble ビジネス・サービスは .dcm 拡張子のファイルを入力として受信して、このファイルに含まれたメッセージを
DICOM ビジネス・プロセスに送信します。DICOM メッセージ・ドキュメントには、C-STORE 要求が含まれています。
2. Ensemble ビジネス・プロセスは、出力ストレージ・システムへの接続を確認して、必要に応じてこのストレージ・システ
ムとの関連付けを確立します。
3. Ensemble は、要求を認識して、発信元メッセージ ID を保管して、重複ビジネス・オペレーションを介して DICOM
ドキュメント・メッセージをストレージ・システムに転送します。
4. ビジネス・オペレーションは、C-STORE 応答メッセージをストレージ・システムからビジネス・プロセスに返します。
以下の手順で、プロダクションにこのタイプのインタフェースを追加する方法の概要を示します。
1. [Ensemble] > [プロダクション構成] ページの [新規プロダクション作成] をクリックして、汎用プロダクションを作成し
ます。"Ensemble プロダクションの構成" の “ プロダクションの作成と構成” を参照してください。
2. EnsLib.DICOM.Service.File クラスを使用して、このプロダクションに DICOM ファイル・ビジネス・サービスを追加し
ます。
3. ファイル・ストレージ・プロダクションのみに関して、DICOM ビジネス・サービスの設定を構成します。
Ensemble DICOM 開発ガイド 31
DICOM ファイル・ストレージ・プロダクションのサンプル
4. 受信 C-STORE-RQ メッセージからストレージ・システムへ受信 DICOM ドキュメントをルーティングして、C-STORERSP メッセージを返すためのビジネス・プロセス・クラスを作成します。
5. 上記の手順で作成したカスタム・クラスを使用して、DICOM ビジネス・プロセスを追加します。
6. EnsLib.DICOM.Operation.TCP クラスを使用して、プロダクションに DICOM ビジネス・オペレーションを追加します。
7. プロダクションをテストして、プロダクションが DICOM ドキュメントのストレージ要求メッセージを受信して、このドキュ
メントをストレージ・システムに送信することを確認します。
Demo.DICOM.Production.StorageFile.cls のクラス・コードを表示するには、スタジオを使用してプロダクションの詳細を
参照します。
6.1 ストレージ・ビジネス・サービスへの DICOM ルーティングの構
成
DICOM ビジネス・サービスを構成するには、[Ensemble] > [プロダクション構成] ページのダイアグラムでその DICOM
ビジネス・サービスをクリックします。詳細は、“DICOM 重複ビジネス・ホストの構成” の節を参照してください。この節で
は、デモ・ストレージ・プロダクション内のビジネス・サービスに固有の設定について説明しています。
TargetConfigName
ビジネス・サービスが受け取った任意の DICOM ドキュメントを送信するプロダクション内で、構成項目を指定し
ます。
Demo.DICOM.Production.StorageFile プロダクションは、Demo.DICOM.Process.StorageFile を基本クラスとす
るビジネス・プロセスを使用します。これは、入力ファイル内の DICOM メッセージを処理してストレージ・システ
ムにルーティングするためのロジックが含まれたカスタム・プロセスです。
File Path
ファイルの検索先ディレクトリの完全パス名です。このディレクトリは存在するディレクトリであること、また、ローカ
ル Ensemble マシンのファイル・システムからアクセス可能なディレクトリであることが必要です。
ファイルスペック
取得するファイルのファイル名またはワイルドカードのファイル仕様です。ワイルドカード仕様では、ローカル
Ensemble マシンのオペレーティング・システムに適した規則を使用します。
Demo.DICOM.Production.StorageFile プロダクションでは *.dcm というファイル拡張子が使用されます。
6.2 DICOM ファイル・ストレージ・プロダクションのテスト
機能する関連付けを確保して、プロダクションを作成したら、そのプロダクションを通じて有効な DICOM メッセージ・ド
キュメントの処理を試みることができます。Ensemble に含まれるデモ・プロダクションは、DICOM 処理のテスト専用に開
発されたサードパーティ製ソフトウェアを使用して開発されました。使用可能な多くのソフトウェア製品のいずれかを利用
することも、実際の DICOM モダリティ・データを使用してテストすることも可能です。
この節では、管理ポータルの [イベント・ログ] ページ、[メッセージ・ブラウザ] ページ、[メッセージ詳細] ページ、および
[メッセージの内容] ページの一部を示します。これらのページは、ファイルから DICOM メッセージを受け取って、保管
32 Ensemble DICOM 開発ガイド
DICOM ファイル・ストレージ・プロダクションのテスト
要求をサポートするストレージ・システムにこれらのメッセージを渡す実行中の Demo.DICOM.Production.StorageFile プ
ロダクションのものです。
Ensemble DICOM 開発ガイド 33
A
DICOM 転送シンタックス
以下のテーブルに、DICOM 規格 3.3 で使用可能な転送シンタックスの値およびそれらに対応する一意の識別子を示
します。
名前
UID
暗黙的 VR - リトル・エンディアン
1.2.840.10008.1.2
明示的 VR - リトル・エンディアン
1.2.840.10008.1.2.1
デフレート明示的 VR - リトル・エンディアン
1.2.840.10008.1.2.1.99
明示的 VR - ビッグ・エンディアン
1.2.840.10008.1.2.2
MPEG2 画像圧縮
1.2.840.10008.1.2.4.100
JPEG ベースライン (処理 1)
1.2.840.10008.1.2.4.50
JPEG 拡張 (処理 2 & 4)
1.2.840.10008.1.2.4.51
JPEG 拡張 (処理 3 & 5)
1.2.840.10008.1.2.4.52
JPEG スペクトル選択、非階層 (処理 6 & 8)
1.2.840.10008.1.2.4.53
JPEG スペクトル選択、非階層 (処理 7 & 9)
1.2.840.10008.1.2.4.54
JPEG フル・プログレッシブ、非階層 (処理 10 & 12)
1.2.840.10008.1.2.4.55
JPEG フル・プログレッシブ、非階層 (処理 11 & 13)
1.2.840.10008.1.2.4.56
JPEG 可逆、非階層 (処理 14)
1.2.840.10008.1.2.4.57
JPEG 可逆、非階層 (処理 15)
1.2.840.10008.1.2.4.58
JPEG 拡張、階層 (処理 16 & 18)
1.2.840.10008.1.2.4.59
JPEG 拡張、階層 (処理 17 & 19)
1.2.840.10008.1.2.4.60
JPEG スペクトル選択、階層 (処理 20 & 22)
1.2.840.10008.1.2.4.61
JPEG スペクトル選択、階層 (処理 21 & 23)
1.2.840.10008.1.2.4.62
JPEG フル・プログレッシブ、階層 (処理 24 & 26)
1.2.840.10008.1.2.4.63
JPEG フル・プログレッシブ、階層 (処理 25 & 27)
1.2.840.10008.1.2.4.64
JPEG 可逆、階層 (処理 28)
1.2.840.10008.1.2.4.65
JPEG 可逆、階層 (処理 29)
1.2.840.10008.1.2.4.66
Ensemble DICOM 開発ガイド 35
DICOM 転送シンタックス
名前
UID
JPEG 可逆、非階層、一次予測 (処理 14 [選択値 1])
1.2.840.10008.1.2.4.70
JPEG-LS 可逆
1.2.840.10008.1.2.4.80
JPEG-LS 準可逆
1.2.840.10008.1.2.4.81
JPEG 2000 可逆のみ
1.2.840.10008.1.2.4.90
JPEG 2000 可逆または非可逆
1.2.840.10008.1.2.4.91
JPEG 2000 可逆的複数構成要素
1.2.840.10008.1.2.4.92
JPEG 2000 可逆または非可逆的複数構成要素
1.2.840.10008.1.2.4.93
RLE 可逆
1.2.840.10008.1.2.5
36 Ensemble DICOM 開発ガイド
DICOM 用語集
アブストラクト・シンタックス
DICOM アプリケーションが相互に提供するサービスを説明します。通信 AE でサポートされている SOP をエン
コードします。
通常、メッセージで交換する情報の定義に使用される仕様である SOP クラスに相当します。データ・オブジェク
トの特定のインスタンスではなく、同じプロパティを持つ同様のデータ・オブジェクトのクラスを表します。例えば、
MR 画像保存、CT 画像保存、MWL などが挙げられます。
アプリケーション・エンティティ (AE)
DICOM デバイスまたは DICOM プログラムを一意に識別します。一般的に、数字と大文字のみで表されます。
DICOM 情報交換のエンド・ポイントです。例えば、DICOM ネットワークや、メディア・インタフェース・ソフトウェ
ア (DICOM 情報オブジェクトやメッセージを送受信するソフトウェア) が挙げられます。1 つのデバイスが複数
のアプリケーション・エンティティを持つこともあります。
アプリケーション・エンティティ・タイトル (AET)
アプリケーション・エンティティの外部に公開されている名前。DICOM アプリケーションをネットワーク上の他の
DICOM アプリケーションに対して特定するために使用されます。
関連付け
アプリケーション・エンティティ間で設定されるネットワーク通信チャネル。SCU と SCP のピア間の DICOM ネッ
トワーク・データ交換です。各ネットワーク転送は、関連付けの確立 (DICOM ハンドシェイク) で始まります。
DICOM 関連付けのルールは、DICOM ネットワークの接続性に関する下位レベル・プロトコルを定義すること
によって、通信する 2 つの DICOM アプリケーション (AE) が適合し、明確に定義された形式と順番でデータを
転送できるようにします。
呼び出された AET (呼び出し先の AE タイトル)
このパラメータは、A-ASSOCIATE サービスの対象となる受け付け側を含むアプリケーション・エンティティを指
定します。これは、宛先の DICOM アプリケーションの名前に基づきます。呼び出し先の AE タイトルが、関連
付けによって交換される DICOM メッセージに含まれる送信先のアドレスと同じかどうかは場合によります。AASSOCIATE-RQ を受け取った UL ユーザが、呼び出し先 AE タイトルが自身の DICOM アプリケーション名
(またはそのうちの 1つ) であることを確認する必要がある点に留意してください。
呼び出している AET (呼び出し元の AE タイトル)
このパラメータは、A-ASSOCIATE サービスの要求元を含むアプリケーション・エンティティ (AE) を指定します。
これは、ソースの DICOM アプリケーションの名前に基づきます。DICOM アプリケーション名と AE タイトル間
のリレーションシップは、Annex C に示されています。呼び出し元の AE タイトルが、関連付けによって交換され
る DICOM メッセージに含まれる開始側のアドレスと同じかどうかは場合によります。A-ASSOCIATE-RQ を受
け取った UL ユーザが、呼び出し元の AE タイトルが自身の既知の リモート DICOM アプリケーション名の 1
つであることを確認する必要がある点に留意してください。
Ensemble DICOM 開発ガイド 37
DICOM 用語集
データ・ディクショナリ要素
データ・ディクショナリ内の 1 つのエントリによって定義されている情報単位。エンコードされた情報オブジェクト
定義 (IOD) 属性で、最低でも 3 つのフィールド (データ要素タグ、値の長さ、値フィールド) から構成されます。
一部の特定の転送シンタックスでは、データ要素にそのデータ要素の値表現 (VR) が明示的に指定された VR
フィールドも含まれます。
モダリティ
DICOM 規格を使用して通信するデバイス。
画像保管通信システム (PACS)
さまざまな画像ソースからデジタル画像および関連する患者情報を取得、送信、保存、検索、および表示し、そ
の情報をネットワーク上で通信するシステム。
プレゼンテーション・コンテキスト
アプリケーション・エンティティ間での交渉で、関連付けに対して使用される一連の DICOM ネットワーク・サー
ビス。アブストラクト・シンタックスおよび転送シンタックスが含まれます。
接続を試みる 2 つのアプリケーションが互いの情報を交換するとき、各ネットワーク転送は関連付けの確立
(DICOM ハンドシェイク) で始まります。その情報は、プレゼンテーション・コンテキストと呼ばれます。2 つのア
プリケーションのコンテキストが適合すると、それらのアプリケーションは接続して SCU-SCP 処理を開始できま
す。
放射線医学情報システム (RIS)
放射線科で患者の放射線に関するデータと画像を保存、操作、および配布するために使用されるシステム。通
常、このシステムには、患者の追跡とスケジューリング、結果報告、および画像追跡の各機能が含まれます。
サービス・クラス・プロバイダ (SCP)
DICOM ネットワーク・サービスを提供するアプリケーション・エンティティのロール。通常は、別のアプリケーショ
ン・エンティティ (サービス・クラス・ユーザ) から要求されたオペレーションを実行するサーバです。例えば、画
像保管通信システム (画像保存 SCP および画像問い合わせ/取得 SCP)、放射線医学情報システム (モダリ
ティ・ワークリスト SCP) などが挙げられます。
サービス・クラス・ユーザ (SCU)
DICOM ネットワーク・サービスを使用するアプリケーション・エンティティ のロール。通常はクライアントです。例
えば、画像モダリティ (画像保存 SCU およびモダリティ・ワークリスト SCU)、画像ワークステーション (画像問い
合わせ/取得 SCU) などが挙げられます。
サービス・オブジェクト・ペア (SOP)
適合する DICOM のデータおよびコマンドのペア。
サービスおよびオブジェクトです。IOD は DICOM データを定義し、DIMSE サービスは DICOM コマンドを定
義します。
サービス・オブジェクト・ペア (SOP) クラス
特定のデータ (オブジェクト) 型のネットワークまたはメディア転送 (サービス) の仕様。DICOM 相互運用性仕
様の基本単位です。例えば、確認、CT 画像保存、プリント・ジョブなどが挙げられます。
38 Ensemble DICOM 開発ガイド
サービス・オブジェクト・ペア (SOP) インスタンス
サービス・オブジェクト・ペア (SOP) インスタンス
情報オブジェクト。SOP クラスで交換される情報の特定のオカレンスです。例えば、特定の X 線画像などが挙
げられます。
転送シンタックス (標準およびプライベート)
DICOM の情報オブジェクトやメッセージの交換で使用されるエンコーディング。これにより、アプリケーション・
エンティティは、双方ともにサポート可能なエンコーディング法 (データ要素構造、バイト順、圧縮など) を明確
に交渉することができ、相互に通信できるようになります。
標準値のテーブルは、“DICOM 転送シンタックス” を参照してください。また、製造業者が、自社のデバイス
間で使用するためのプライベート転送シンタックスを定義している場合もあります。
一意の識別子 (UID)
さまざまな項目を識別するグローバルに一意なドット付き 10 進数文字列。オブジェクトのインスタンスを識別し
ます。
DICOM ネットワーキングは、UID を使用してさまざまなトランザクション・タイプをエンコードします。例えば、SOP
クラスや転送シンタックスの値などが挙げられます。
値の多重度 (VM)
データ要素の値フィールドでエンコード可能な値の数を指定します。
値表現 (VR)
単一の DICOM データ要素の形式タイプ (テキスト、整数、人名、コードなど)。DICOM 情報オブジェクトは、各
データ要素のタイプの明示的な識別 (明示的 VR) を含めるか、明示的な識別を含めない (暗黙的 VR) で、送
信することが可能です。暗黙的 VR の場合、受信側アプリケーションは、DICOM データ・ディクショナリを使用
して各データ要素の形式を検索する必要があります。
Ensemble DICOM 開発ガイド 39