ヘッダーをスキップ
Oracle Multimedia DICOM開発者ガイド
11g リリース1(11.1)
E05685-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 DICOMリレーショナル・インタフェースのリファレンス

リレーショナル表に医用画像データを格納したり、リレーショナル表内で医用画像データを管理するための医用画像アプリケーションを、Oracle Multimedia ORDDicomのオブジェクト型を使用せずに作成したアプリケーション開発者、およびOracle Multimedia ORDDicomオブジェクトを使用するために既存の医用画像アプリケーションを移行しないアプリケーション開発者は、Oracle Multimedia DICOMのリレーショナル・インタフェースを使用して医用画像データを管理できます。

DICOMリレーショナル・インタフェースには、ORD_DICOM PL/SQLパッケージが定義されています。 このパッケージは、リレーショナル環境のORDDicomオブジェクト・インタフェースによって提供されるのと同じ機能を提供します。 DICOMリレーショナル・インタフェースによって、ORDDicomオブジェクト型ではなくBLOBおよびBFILEに格納されている医用画像データへのOracle Multimediaサポートが追加されます。

ORD_DICOMパッケージは、ordcpksp.sqlファイルに定義されています。 インストール後、このファイルは次のOracleホーム・ディレクトリから使用できます。

<ORACLE_HOME>/ord/im/admin(LinuxおよびUNIXの場合)

<ORACLE_HOME>\ord\im\admin(Windowsの場合)

Oracle Multimediaには、DICOMリレーショナル・インタフェースに関する次の情報が含まれます。

この章では、DICOMリレーショナル・インタフェースのファンクションおよびプロシージャについて説明します。 他のDICOMアプリケーション・プログラミング・インタフェース(API)の詳細は、次の章を参照してください。

DICOM Java APIの詳細は、『Oracle Multimedia DICOM Java API Reference』を参照してください。

6.1 DICOMリレーショナルの例で使用されるメディア表とディレクトリの定義

この章で説明するファンクションおよびプロシージャでは、MEDICAL_IMAGE_REL表に基づいた例が示されています。これらの例は、Product Media(PM)サンプル・スキーマで作成されます。 例を参照する際は、次のMEDICAL_IMAGE_REL表の定義を参照してください。 サンプル・スキーマの詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。

DICOMリレーショナル・インタフェースのファンクションおよびプロシージャを使用する前に、いくつかのデータを表にロードする必要があります。 たとえば、SQL*LoaderまたはimportFrom( )メソッドを使用できます。 例に示すファイルは、実際のDICOMファイルに置き換えてください。

6.1.1 ディレクトリの定義

例を実行する前に、次の文を発行する必要があります。ここで/mydir/workは、ユーザーpmがDICOMファイルを検索できるディレクトリです。

CREATE OR REPLACE DIRECTORY DICOMDIR as '/mydir/work';
GRANT READ, WRITE ON DIRECTORY DICOMDIR TO pm;

6.1.2 MEDICAL_IMAGE_REL表の定義

データを表にロードする前に、データを格納する表および列を作成する必要があります。 次に示すPL/SQLコード・セグメントでは、5つの列を含むMEDICAL_IMAGE_REL表が作成されます。

CONNECT pm

Enter password: password

CREATE TABLE MEDICAL_IMAGE_REL
(
 id            integer primary key,
 blob_src      blob,
 bfile_src     bfile,
 image_src     ordsys.ordimage,
 blob_dest     blob
);
COMMIT;

この例の補足説明は次のとおりです。

  • blob_src: BLOBのソースDICOMコンテンツ。

  • bfile_src: BFILEのソースDICOMコンテンツ。

  • image_src: ORDImageオブジェクトのソースDICOMコンテンツ。

  • blob_dest: BLOBの宛先DICOMコンテンツ。


DICOMリレーショナル・ファンクション

ORD_DICOMパッケージには、次のDICOMリレーショナル・ファンクションが定義されています。


BFILEのextractMetadata( )

構文

extractMetadata ( data IN BFILE, extractOption IN VARCHAR2 DEFAULT 'ALL', docName IN VARCHAR2 DEFAULT 'ordcmmp.xml') RETURN SYS.XMLTYPE

説明

指定されたマッピング・ドキュメントのXMLコードとして、DICOMメタデータを戻します。 デフォルトのマッピング・ドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

パラメータ

data

BFILEに格納されている入力DICOMコンテンツを指定します。

extractOption

DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL''MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。

extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。

docName

マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'ordcmmp.xml'はインストール中にロードされます。 このドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

プラグマ

なし

例外

なし

使用上の注意

なし

BFILEに格納されているDICOMコンテンツからメタデータを抽出します。

declare
  src bfile;
  metadata xmltype;
begin
  select bfile_src into src from medical_image_rel where id = 1 for update;
  metadata := ord_dicom.extractMetadata(src, 'all', 'ordcmmp.xml');
end;
/

BLOBのextractMetadata( )

構文

extractMetadata ( data IN BLOB, extractOption IN VARCHAR2 DEFAULT 'ALL', docName IN VARCHAR2 DEFAULT 'ordcmmp.xml') RETURN SYS.XMLTYPE

説明

指定されたマッピング・ドキュメントのXMLコードとして、DICOMメタデータを戻します。 デフォルトのマッピング・ドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

パラメータ

data

BLOBに格納されている入力DICOMコンテンツを指定します。

extractOption

DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL''MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。

extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。

docName

マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'ordcmmp.xml'はインストール中にロードされます。 このドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

プラグマ

なし

例外

なし

使用上の注意

なし

BLOBに格納されているDICOMコンテンツからメタデータを抽出します。

declare
  src blob;
  metadata xmltype;
begin
  select blob_src into src from medical_image_rel where id = 1 for update;
  metadata := ord_dicom.extractMetadata(src, 'all', 'ordcmmp.xml');
end;

ORDImageのextractMetadata( )

構文

extractMetadata ( data IN ORDSYS.ORDImage, extractOption IN VARCHAR2 DEFAULT 'ALL', docName IN VARCHAR2 DEFAULT 'ordcmmp.xml') RETURN SYS.XMLTYPE

説明

指定されたマッピング・ドキュメントのXMLコードとして、DICOMメタデータを戻します。 デフォルトのマッピング・ドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

パラメータ

data

ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。

extractOption

DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL''MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。

extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。

docName

マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'ordcmmp.xml'はインストール中にロードされます。 このドキュメントでは、デフォルトのメタデータ名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を参照します。

プラグマ

なし

例外

なし

使用上の注意

なし

ORDImageオブジェクトに格納されているDICOMコンテンツからメタデータを抽出します。

declare
  src ordimage;
  metadata xmltype;
begin
  select image_src into src from medical_image_rel where id = 1 for update;
  metadata := ord_dicom.extractMetadata(src, 'all', 'ordcmmp.xml');
end;
/

BFILEのisAnonymous( )

構文

isAnonymous( src IN BFILE, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER

説明

指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。

パラメータ

src

BFILEに格納されている入力DICOMコンテンツを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。

プラグマ

なし

例外

なし

使用上の注意

なし

BFILEに格納されているDICOMコンテンツが匿名かどうかを確認します。

select ord_dicom.isAnonymous(t.bfile_src, 'ordcman.xml')
  from medical_image_rel t where id = 1;

BLOBのisAnonymous( )

構文

isAnonymous( src IN BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER

説明

指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。

パラメータ

src

BLOBに格納されている入力DICOMコンテンツを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。

プラグマ

なし

例外

なし

使用上の注意

なし

BLOBに格納されているDICOMコンテンツが匿名かどうかを確認します。

select ord_dicom.isAnonymous(t.blob_src, 'ordcman.xml')
  from medical_image_rel t where id = 1;

ORDImageのisAnonymous( )

構文

isAnonymous( src IN ORDSYS.ORDImage, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER

説明

指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。

パラメータ

src

ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。

プラグマ

なし

例外

なし

使用上の注意

なし

ORDImageオブジェクトに格納されているDICOMコンテンツが匿名かどうかを確認します。

select ord_dicom.isAnonymous(t.image_src, 'ordcman.xml')
  from medical_image_rel t where id = 1;

BFILEのisConformanceValid( )

構文

isConformanceValid ( src IN BFILE, constraintName IN VARCHAR2 ) RETURN INTEGER

説明

constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs第4章を参照)を問い合せて表示できます。

パラメータ

src

BFILEに格納されている入力DICOMコンテンツを指定します。

constraintName

準拠の検証チェックに使用する制約名を指定します。

プラグマ

なし

例外

なし

使用上の注意

なし

既存の準拠の検証メッセージを削除します。 BFILEに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。 その後、新しく生成された準拠の検証メッセージを表示します。

 -- clear the previous conformance validation messages
delete from orddcm_conformance_vld_msgs;

-- conformance validate the DICOM content
select ord_dicom.isConformanceValid(t.bfile_src, 'PatientModule')
  from medical_image_rel t where id = 1;

-- get the logged conformance validation messages
select message, msg_time time from orddcm_conformance_vld_msgs
  where rule_name='PatientModule';

BLOBのisConformanceValid( )

構文

isConformanceValid ( src IN BLOB, constraintName IN VARCHAR2 ) RETURN INTEGER

説明

constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs第4章を参照)を問い合せて表示できます。

パラメータ

src

BLOBに格納されている入力DICOMコンテンツを指定します。

constraintName

準拠の検証チェックに使用する制約名を指定します。

プラグマ

なし

例外

なし

使用上の注意

なし

既存の準拠の検証メッセージを削除します。 BLOBに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。 その後、新しく生成された準拠の検証メッセージを表示します。

-- clear the previous conformance validation messages
delete from orddcm_conformance_vld_msgs;

-- conformance validate the DICOM content
select ord_dicom.isConformanceValid(t.blob_src, 'PatientModule')
  from medical_image_rel t where id = 1;

-- get the logged conformance validation messages
select message, msg_time time from orddcm_conformance_vld_msgs
  where rule_name='PatientModule';

ORDImageのisConformanceValid( )

構文

isConformanceValid ( src IN ORDSYS.ORDImage, constraintName IN VARCHAR2 ) RETURN INTEGER

説明

constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs第4章を参照)を問い合せて表示できます。

パラメータ

src

ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。

constraintName

準拠の検証チェックに使用する制約名を指定します。

プラグマ

なし

例外

なし

使用上の注意

なし

既存の準拠の検証メッセージを削除します。 ORDImageオブジェクトに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。 その後、新しく生成された準拠の検証メッセージを表示します。

-- clear the previous conformance validation messages
delete from orddcm_conformance_vld_msgs;

-- conformance validate the DICOM content
select ord_dicom.isConformanceValid(t.image_src, 'PatientModule')
  from medical_image_rel t where id = 1;

-- get the logged conformance validation messages
select message, msg_time time from orddcm_conformance_vld_msgs
  where rule_name='PatientModule';

DICOMリレーショナル・プロシージャ

ORD_DICOMパッケージには、次のDICOMリレーショナル・プロシージャが定義されています。


BFILEのcreateDICOMImage( )

構文

createDICOMImage ( src IN BFILE, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)

説明

ソース画像およびDICOMメタデータからDICOM画像を作成します。

パラメータ

src

BFILEに格納されているソース・ラスター画像を指定します。

metadata

XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。

dest

ソース画像およびメタデータから作成されたDICOM画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

ソースBFILEおよびDICOMメタデータからDICOM画像を作成します。

declare
  src bfile;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select bfile_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.createDicomImage(src, metadata, dest);
end;
/

BLOBのcreateDICOMImage( )

構文

createDICOMImage ( src IN BLOB, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)

説明

ソース画像およびDICOMメタデータからDICOM画像を作成します。

パラメータ

src

BLOBに格納されているソース・ラスター画像を指定します。

metadata

XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。

dest

ソース画像およびメタデータから作成されたDICOM画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

ソースBLOBおよびDICOMメタデータからDICOM画像を作成します。

declare
  src blob;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select blob_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.createDicomImage(src, metadata, dest);
end;
/

ORDImageのcreateDICOMImage( )

構文

createDICOMImage ( src IN ORDSYS.ORDImage, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)

説明

ソース画像およびDICOMメタデータからDICOM画像を作成します。

パラメータ

src

ORDImageオブジェクトに格納されているソース・ラスター画像を指定します。

metadata

XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。

dest

ソース画像およびメタデータから作成されたDICOM画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

ソースORDImageオブジェクトおよびDICOMメタデータからDICOM画像を作成します。

declare
  src ordimage;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select image_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.createDicomImage(src, metadata, dest);
end;
/

export( )

構文

export( src IN BLOB, dest_type IN VARCHAR2, dest_location IN VARCHAR2, dest_name IN VARCHAR2)

説明

BLOBのDICOMコンテンツを指定の宛先にエクスポートします。 データが宛先にコピーされる際、データはソースBLOBに保持されます。

パラメータ

src

DICOMコンテンツのソース位置を指定します。

dest_type

宛先のタイプを指定します('FILE'のみサポートされています)。

dest_location

宛先の位置を指定します(有効なOracleディレクトリ・オブジェクトである必要があります)。

dest_name

宛先のファイル名を指定します。

プラグマ

なし

例外

なし

使用上の注意

なし

BLOBのDICOMコンテンツを指定のファイルにエクスポートします。

declare
  src blob;
begin
  select blob_src into src from medical_image_rel where id = 1;
  ord_dicom.export(src, 'FILE', 'DICOMDIR', 'exported.dcm');
end;
/

importFrom( )

構文

importFrom( dest IN OUT NOCOPY BLOB, source_type IN VARCHAR2, source_location IN VARCHAR2, source_name IN VARCHAR2)

説明

指定されたソースのDICOMコンテンツをBLOBにインポートします。

パラメータ

dest

インポートされたDICOMファイルの宛先記憶域を指定します。

source_type

ソースのタイプを指定します('FILE'のみサポートされています)。

source_location

ソースの位置を指定します(有効なOracleディレクトリ・オブジェクトである必要があります)。

source_name

ソース・ファイルの名前を指定します。

プラグマ

なし

例外

なし

使用上の注意

なし

DICOMコンテンツをBLOBにインポートします。

declare
  dest blob;
begin
  select blob_dest into dest from medical_image_rel where id = 1 for update;
  ord_dicom.importFrom(dest, 'file', 'DICOMDIR', 'example.dcm');
end;
/

BFILEのmakeAnonymous( )

構文

makeAnonymous ( src IN BFILE, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml')

説明

患者を特定する情報を別のDICOMコンテンツのBLOBにコピーした後、指定された匿名ドキュメントに基づいて、それらの情報をソースのDICOMコンテンツから削除します。

パラメータ

src

BFILEに格納されている入力DICOMコンテンツを指定します。

dest_sop_instance_uid

宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は"ordcman.xml"です。

プラグマ

なし

例外

なし

使用上の注意

なし

BFILEに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。

declare
  src bfile;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select bfile_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.makeAnonymous(src, dest_sop_instance_uid, dest, 'ordcman.xml');
end;
/

この例の補足説明は次のとおりです。


BLOBのmakeAnonymous( )

構文

makeAnonymous ( src IN BLOB, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml')

説明

患者を特定する情報を別のDICOMコンテンツのBLOBにコピーした後、指定された匿名ドキュメントに基づいて、それらの情報をソースのDICOMコンテンツから削除します。

パラメータ

src

BLOBに格納されている入力DICOMコンテンツを指定します。

dest_sop_instance_uid

宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は"ordcman.xml"です。

プラグマ

なし

例外

なし

使用上の注意

なし

BLOBに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。

declare
  src blob;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select blob_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.makeAnonymous(src, dest_sop_instance_uid, dest, 'ordcman.xml');
end;
/

この例の補足説明は次のとおりです。


ORDImageのmakeAnonymous( )

構文

makeAnonymous ( src IN ORDSYS.ORDImage, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml')

説明

患者を特定する情報を別のDICOMコンテンツのBLOBにコピーした後、指定された匿名ドキュメントに基づいて、それらの情報をソースのDICOMコンテンツから削除します。

パラメータ

src

ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。

dest_sop_instance_uid

宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。

anonymityDocName

匿名ドキュメントの名前を指定します。 デフォルト名は"ordcman.xml"です。

プラグマ

なし

例外

なし

使用上の注意

なし

ORDImageオブジェクトに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。

declare
  src ordimage;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select image_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.makeAnonymous(src, dest_sop_instance_uid, dest, 'ordcman.xml');
end;
/

この例の補足説明は次のとおりです。


BFILEのprocessCopy( )

構文

processCopy ( src IN BFILE, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)

説明

入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースBFILEに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest

宛先の画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

BFILEのDICOM画像をBLOBにコピーした後、そのコピーに対して処理を行います。

declare
  src bfile;
  dest blob;
begin
  select bfile_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(src, 'fileFormat=jpeg maxScale=100 100', dest);
end;
/

BLOBのprocessCopy( )

構文

processCopy ( src IN BLOB, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)

説明

入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースBLOBに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest

宛先の画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

BLOBのDICOM画像を別のBLOBにコピーした後、そのコピーに対して処理を行います。

  src blob;
  dest blob;
begin
  select blob_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(src, 'fileFormat=jpeg maxScale=100 100' dest);
end;
/

ORDImageのprocessCopy( )

構文

processCopy ( src IN ORDSYS.ORDImage, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)

説明

入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースORDImageオブジェクトに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest

宛先の画像を格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

ORDImageオブジェクトのDICOM画像をBLOBにコピーした後、そのコピーに対して処理を行います。

declare
  src ordimage;
  dest blob;
begin
  select image_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(src, 'fileFormat=jpeg maxScale=100 100' dest);
end;
/

SOPインスタンスUIDを持つBFILEのprocessCopy( )

構文

processCopy (src IN BFILE, command IN VARCHAR2, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, metadata IN SYS.XMLTYPE DEFAULT NULL)

説明

入力DICOM画像を新しいDICOM画像またはラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースBFILEに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest_sop_instance_uid

宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

宛先の画像を格納するための、空のBLOBを指定します。

metadata

新しいDICOM画像に書き込まれる新しいメタデータを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

BFILEのDICOM画像を指定のSOPインスタンスUIDを持つBLOBにコピーした後、そのコピーに対して処理を行います。

  src bfile;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select bfile_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(
    src, 'CompressionFormat=jpeg', dest_sop_instance_uid, dest);
end;
/

この例の補足説明は次のとおりです。


SOPインスタンスUIDを持つBLOBのprocessCopy( )

構文

processCopy (src IN BLOB, command IN VARCHAR2, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, metadata IN SYS.XMLTYPE DEFAULT NULL)

説明

入力DICOM画像を新しいDICOM画像またはラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースBLOBに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest_sop_instance_uid

宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

宛先の画像を格納するための、空のBLOBを指定します。

metadata

新しいDICOM画像に書き込まれる新しいメタデータを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

BLOBのDICOM画像を指定のSOPインスタンスUIDを持つ別のBLOBにコピーした後、そのコピーに対して処理を行います。

declare
  src blob;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select blob_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(
    src, 'CompressionFormat=jpeg', dest_sop_instance_uid, dest);
end;
/

この例の補足説明は次のとおりです。


SOPインスタンスUIDを持つORDImageのprocessCopy( )

構文

processCopy (src IN ORDSYS.ORDImage, command IN VARCHAR2, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, metadata IN SYS.XMLTYPE DEFAULT NULL)

説明

入力DICOM画像を新しいDICOM画像またはラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。

パラメータ

src

ソースORDImageオブジェクトに格納されている入力DICOM画像を指定します。

command

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。

dest_sop_instance_uid

宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。

dest

宛先の画像を格納するための、空のBLOBを指定します。

metadata

新しいDICOM画像に書き込まれる新しいメタデータを指定します。

プラグマ

なし

例外

なし

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

ORDImageオブジェクトのDICOM画像を指定のSOPインスタンスUIDを持つBLOBにコピーした後、そのコピーに対して処理を行います。

declare
  src ordimage;
  dest blob;
  dest_sop_instance_uid varchar2(128) := '<unique-UID>';
begin
  select image_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;
  ord_dicom.processCopy(
    src, 'CompressionFormat=jpeg', dest_sop_instance_uid, dest);
end;
/

この例の補足説明は次のとおりです。


BFILEのwriteMetadata( )

構文

writeMetadata ( src IN BFILE, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB),

説明

既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。

パラメータ

src

BFILEに格納されている入力DICOMコンテンツを指定します。

metadata

XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。

dest

新しいメタデータを含む新しいDICOMコンテンツを格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

メタデータの抽出をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

新しいメタデータを宛先BLOBのDICOMコンテンツのコピーに書き込みます。

declare
  src bfile;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select bfile_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.writeMetadata(src, metadata, dest);

end;
/

BLOBのwriteMetadata( )

構文

writeMetadata ( src IN BLOB, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)

説明

既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。

パラメータ

src

BLOBに格納されている入力DICOMコンテンツを指定します。

metadata

XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。

dest

新しいメタデータを含む新しいDICOMコンテンツを格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

メタデータの抽出をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

新しいメタデータを宛先BLOBのDICOMコンテンツのコピーに書き込みます。

declare
  src blob;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select blob_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.writeMetadata(src, metadata, dest);

end;
/

ORDImageのwriteMetadata( )

構文

writeMetadata ( src IN ORDSYS.ORDImage, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB),

説明

既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。

パラメータ

src

ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。

metadata

XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。

dest

新しいメタデータを含む新しいDICOMコンテンツを格納するための、空のBLOBを指定します。

プラグマ

なし

例外

なし

使用上の注意

メタデータの抽出をサポートするエンコーディング・ルールの詳細は、付録Cを参照してください。

新しいメタデータを宛先BLOBのDICOMコンテンツのコピーに書き込みます。

declare
  src ordimage;
  dest blob;
  metadata xmltype;
begin
  metadata := xmltype(bfilename('DICOMDIR', 'wm_meta.xml'),
                      nls_charset_id('AL32UTF8'),
                      'http://xmlns.oracle.com/ord/dicom/metadata_1_0');

  select image_src, blob_dest into src, dest from medical_image_rel
    where id = 1 for update;

  ord_dicom.writeMetadata(src, metadata, dest);

end;
/