リレーショナル表に医用画像データを格納したり、リレーショナル表内で医用画像データを管理するための医用画像アプリケーションを、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』を参照してください。
この章で説明するファンクションおよびプロシージャでは、MEDICAL_IMAGE_REL表に基づいた例が示されています。これらの例は、Product Media(PM)サンプル・スキーマで作成されます。 例を参照する際は、次のMEDICAL_IMAGE_REL表の定義を参照してください。 サンプル・スキーマの詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。
DICOMリレーショナル・インタフェースのファンクションおよびプロシージャを使用する前に、いくつかのデータを表にロードする必要があります。 たとえば、SQL*LoaderまたはimportFrom( )メソッドを使用できます。 例に示すファイルは、実際のDICOMファイルに置き換えてください。
例を実行する前に、次の文を発行する必要があります。ここで/mydir/workは、ユーザーpmがDICOMファイルを検索できるディレクトリです。
CREATE OR REPLACE DIRECTORY DICOMDIR as '/mydir/work'; GRANT READ, WRITE ON DIRECTORY DICOMDIR TO pm;
データを表にロードする前に、データを格納する表および列を作成する必要があります。 次に示す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コンテンツ。
ORD_DICOMパッケージには、次のDICOMリレーショナル・ファンクションが定義されています。
構文
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を参照します。
パラメータ
BFILEに格納されている入力DICOMコンテンツを指定します。
DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL'、'MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。
extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。
マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'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; /
構文
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を参照します。
パラメータ
BLOBに格納されている入力DICOMコンテンツを指定します。
DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL'、'MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。
extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。
マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'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;
構文
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を参照します。
パラメータ
ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
DICOMコンテンツから抽出するメタデータのタイプを指定する文字列です。 有効な値は、'ALL'、'MAPPED'および'STANDARD'です。 デフォルトは'ALL'です。
extractOptionパラメータの値が'ALL'の場合は、DICOMコンテンツのすべての属性が抽出されます。 この値が'MAPPED'に設定されている場合は、マップ済の属性のみが抽出されます。 また、この値が'STANDARD'に設定されている場合は、DICOM標準規格に準拠している属性と、マップ済の属性のみが抽出されます。
マッピング・ドキュメントの名前を指定します。 デフォルトのマッピング・ドキュメント'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; /
構文
isAnonymous( src IN BFILE, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。
パラメータ
BFILEに格納されている入力DICOMコンテンツを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。
プラグマ
なし
例外
なし
使用上の注意
なし
例
BFILEに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.bfile_src, 'ordcman.xml') from medical_image_rel t where id = 1;
構文
isAnonymous( src IN BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。
パラメータ
BLOBに格納されている入力DICOMコンテンツを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。
プラグマ
なし
例外
なし
使用上の注意
なし
例
BLOBに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.blob_src, 'ordcman.xml') from medical_image_rel t where id = 1;
構文
isAnonymous( src IN ORDSYS.ORDImage, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。 このファンクションは、データが匿名の場合に1の値を戻し、それ以外の場合は0の値を戻します。
パラメータ
ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は'ordcman.xml'です。
プラグマ
なし
例外
なし
使用上の注意
なし
例
ORDImageオブジェクトに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.image_src, 'ordcman.xml') from medical_image_rel t where id = 1;
構文
isConformanceValid ( src IN BFILE, constraintName IN VARCHAR2 ) RETURN INTEGER
説明
constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs(第4章を参照)を問い合せて表示できます。
パラメータ
BFILEに格納されている入力DICOMコンテンツを指定します。
準拠の検証チェックに使用する制約名を指定します。
プラグマ
なし
例外
なし
使用上の注意
なし
例
既存の準拠の検証メッセージを削除します。 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';
構文
isConformanceValid ( src IN BLOB, constraintName IN VARCHAR2 ) RETURN INTEGER
説明
constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs(第4章を参照)を問い合せて表示できます。
パラメータ
BLOBに格納されている入力DICOMコンテンツを指定します。
準拠の検証チェックに使用する制約名を指定します。
プラグマ
なし
例外
なし
使用上の注意
なし
例
既存の準拠の検証メッセージを削除します。 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';
構文
isConformanceValid ( src IN ORDSYS.ORDImage, constraintName IN VARCHAR2 ) RETURN INTEGER
説明
constraintNameパラメータによって識別される特定の一連の制約に対して、入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。 このメソッドは、準拠している場合に1の値を戻し、それ以外の場合は0の値を戻します。 また、このメソッドは、制約ドキュメントからのエラー・メッセージを記録します。これらのメッセージは、パブリック情報ビューorddcm_conformance_vld_msgs(第4章を参照)を問い合せて表示できます。
パラメータ
ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
準拠の検証チェックに使用する制約名を指定します。
プラグマ
なし
例外
なし
使用上の注意
なし
例
既存の準拠の検証メッセージを削除します。 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';
ORD_DICOMパッケージには、次のDICOMリレーショナル・プロシージャが定義されています。
構文
createDICOMImage ( src IN BFILE, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。
パラメータ
BFILEに格納されているソース・ラスター画像を指定します。
XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。
ソース画像およびメタデータから作成された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;
/
構文
createDICOMImage ( src IN BLOB, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。
パラメータ
BLOBに格納されているソース・ラスター画像を指定します。
XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。
ソース画像およびメタデータから作成された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;
/
構文
createDICOMImage ( src IN ORDSYS.ORDImage, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。
パラメータ
ORDImageオブジェクトに格納されているソース・ラスター画像を指定します。
XMLTypeのデータ型で格納されているDICOMメタデータを指定します。 メタデータには、すべての標準属性およびプライベート属性を含める必要があります。 また、メタデータには、宛先DICOM画像の新しいSOPインスタンスUIDを含めて、宛先DICOMコンテンツをグローバルに一意にする必要があります。
ソース画像およびメタデータから作成された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( src IN BLOB, dest_type IN VARCHAR2, dest_location IN VARCHAR2, dest_name IN VARCHAR2)
説明
BLOBのDICOMコンテンツを指定の宛先にエクスポートします。 データが宛先にコピーされる際、データはソースBLOBに保持されます。
パラメータ
DICOMコンテンツのソース位置を指定します。
宛先のタイプを指定します('FILE'のみサポートされています)。
宛先の位置を指定します(有効なOracleディレクトリ・オブジェクトである必要があります)。
宛先のファイル名を指定します。
プラグマ
なし
例外
なし
使用上の注意
なし
例
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( dest IN OUT NOCOPY BLOB, source_type IN VARCHAR2, source_location IN VARCHAR2, source_name IN VARCHAR2)
説明
指定されたソースのDICOMコンテンツをBLOBにインポートします。
パラメータ
インポートされたDICOMファイルの宛先記憶域を指定します。
ソースのタイプを指定します('FILE'のみサポートされています)。
ソースの位置を指定します(有効なOracleディレクトリ・オブジェクトである必要があります)。
ソース・ファイルの名前を指定します。
プラグマ
なし
例外
なし
使用上の注意
なし
例
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; /
構文
makeAnonymous ( src IN BFILE, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml')
説明
患者を特定する情報を別のDICOMコンテンツのBLOBにコピーした後、指定された匿名ドキュメントに基づいて、それらの情報をソースのDICOMコンテンツから削除します。
パラメータ
BFILEに格納されている入力DICOMコンテンツを指定します。
宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は"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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
makeAnonymous ( src IN BLOB, dest_sop_instance_uid IN VARCHAR2, dest IN OUT NOCOPY BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml')
説明
患者を特定する情報を別のDICOMコンテンツのBLOBにコピーした後、指定された匿名ドキュメントに基づいて、それらの情報をソースのDICOMコンテンツから削除します。
パラメータ
BLOBに格納されている入力DICOMコンテンツを指定します。
宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は"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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
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コンテンツから削除します。
パラメータ
ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
宛先DICOMコンテンツのSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
匿名のDICOMコンテンツを格納するための、空のBLOBを指定します。
匿名ドキュメントの名前を指定します。 デフォルト名は"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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
processCopy ( src IN BFILE, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。
パラメータ
ソースBFILEに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormat、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先の画像を格納するための、空の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;
/
構文
processCopy ( src IN BLOB, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。
パラメータ
ソースBLOBに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormat、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先の画像を格納するための、空の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;
/
構文
processCopy ( src IN ORDSYS.ORDImage, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
入力DICOM画像を新しいラスター画像にコピーして処理を行います。 入力DICOM画像は変更されません。
パラメータ
ソースORDImageオブジェクトに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、fileFormat、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先の画像を格納するための、空の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;
/
構文
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画像は変更されません。
パラメータ
ソースBFILEに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
宛先の画像を格納するための、空のBLOBを指定します。
新しい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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
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画像は変更されません。
パラメータ
ソースBLOBに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
宛先の画像を格納するための、空のBLOBを指定します。
新しい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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
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画像は変更されません。
パラメータ
ソースORDImageオブジェクトに格納されている入力DICOM画像を指定します。
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。 有効な値には、frame、contentFormat、compressionFormat、cut、scale、rotateなどがあります。 画像処理の演算子の完全なリストおよび各演算子の詳細は、『Oracle Multimediaリファレンス』のprocess( )メソッドに関する説明を参照してください。
宛先DICOM画像のSOPインスタンスUIDを指定します。 宛先DICOMコンテンツはグローバルに一意である必要があります。
宛先の画像を格納するための、空のBLOBを指定します。
新しい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;
/
この例の補足説明は次のとおりです。
<unique-UID>: DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列です。 UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。
構文
writeMetadata ( src IN BFILE, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB),
説明
既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。
パラメータ
BFILEに格納されている入力DICOMコンテンツを指定します。
XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。
新しいメタデータを含む新しい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;
/
構文
writeMetadata ( src IN BLOB, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。
パラメータ
BLOBに格納されている入力DICOMコンテンツを指定します。
XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。
新しいメタデータを含む新しい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;
/
構文
writeMetadata ( src IN ORDSYS.ORDImage, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB),
説明
既存のDICOMコンテンツを宛先BLOBにコピーし、メタデータを変更することによって作成されるメタデータを使用して、現行のDICOMコンテンツへの書込みまたは変更を行います。 元のDICOMコンテンツは変更されません。 宛先DICOMコンテンツの属性は、入力されたメタデータからコピーされます。
パラメータ
ORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
XMLTypeのデータ型で格納されている入力メタデータを指定します。 宛先DICOMコンテンツでは、入力メタデータを使用して、ソースのDICOMコンテンツの属性と同一の属性値が更新されるか、または新しい属性が追加されます。 メタデータは、名前空間http://xmlns.oracle.com/ord/dicom/metadata_1_0を持つデフォルトのメタデータ・スキーマに準拠している必要があります。 メタデータのSOPインスタンスUIDでは、宛先DICOMコンテンツがグローバルに一意である必要があります。
新しいメタデータを含む新しい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;
/