6 DICOM PL/SQL APIリファレンス
Oracle Multimedia DICOMにはPL/SQL APIが用意されています。このAPIはORD_DICOM PL/SQLパッケージで定義されています。
注:
DICOMのOracle Multimediaサポートは、Oracle Database 12cリリース2 (12.2)では非推奨になりました。将来のリリースではサポートされなくなる可能性があります。できるだけ早く、非推奨となった機能の使用を停止することをお薦めします。
ORD_DICOM PL/SQLパッケージには、書式の変換、メタデータの抽出、準拠の検証など、共通の操作を実行する関数とプロシージャが用意されています。このパッケージにより、BLOBおよびBFILEに格納されている医用画像データに対するOracle Multimediaサポートが追加されます。
リレーショナル表で医用画像データを格納および管理するための医用画像アプリケーションを、Oracle Multimedia ORDDicomのオブジェクト型を使用せずに作成するアプリケーション開発者は、Oracle Multimedia DICOM PL/SQL APIを使用して医用画像データを管理できます。また、既存の医用画像アプリケーションを移行してOracle Multimedia ORDDicomのオブジェクトを使用する意図がないアプリケーション開発者も、DICOM PL/SQL APIを使用して医用画像データを管理できます。
ORD_DICOMパッケージは、ordcpksp.sql
ファイルに定義されています。インストール後、このファイルは次のOracleホーム・ディレクトリに格納されています。
<ORACLE_HOME>
/ord/im/admin
(LinuxおよびUNIXの場合)
<ORACLE_HOME>
\ord\im\admin
(Windowsの場合)
この章では、DICOM PL/SQL APIの関数およびプロシージャについて説明します。
この章では、次の内容を説明します。
6.1 DICOM PL/SQL APIの関数およびプロシージャの例
この章で説明するDICOM PL/SQL APIの関数およびプロシージャでは、MEDICAL_IMAGE_REL表に基づく例を示しています。これらの例を参照するときは、「MEDICAL_IMAGE_REL表の定義」を参照してください。
DICOM PL/SQL APIの関数およびプロシージャを使用する前に、いくつかのデータを表にロードする必要があります。たとえば、SQL*LoaderまたはimportFrom( )プロシージャを使用できます。例のファイルは、実際のDICOMファイルで置き換えてください。
6.1.1 DICOM PL/SQL APIの例のディレクトリ定義および設定
例を実行する前に、ディレクトリ・オブジェクトを作成する特権を持つユーザーに接続した状態で次の文を発行する必要があります。ここでc:\mydir\work
は、ユーザー<user>
がDICOMファイルを検索できるディレクトリです。
CREATE OR REPLACE DIRECTORY DICOMDIR as 'c:\mydir\work'; GRANT READ, WRITE ON DIRECTORY DICOMDIR TO <user>;
6.1.2 MEDICAL_IMAGE_REL表の定義
データを表にロードする前に、データを格納する表および列を作成する必要があります。次に示すPL/SQLコード・セグメントでは、5つの列を含むMEDICAL_IMAGE_REL表を作成します。
CREATE TABLE MEDICAL_IMAGE_REL ( id integer primary key, blob_src blob, bfile_src bfile, image_src ordsys.ordimage, blob_dest blob );
ここで、
-
blob_src: BLOBのソースDICOMコンテンツ。
-
bfile_src: BFILEのソースDICOMコンテンツ。
-
image_src: ORDImageオブジェクトのソースDICOMコンテンツ。
-
blob_dest: BLOBの宛先DICOMコンテンツ。
6.2 DICOM PL/SQL API関数
6.2.1 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
はインストール中にロードされます。
プラグマ
なし。
例外
なし。
使用上の注意
プリファレンス・パラメータXML_SKIP_ATTRは、XMLにエンコードするときに省略するDICOM属性のサイズ制限を指定するために使用します。このプリファレンス・パラメータの詳細は、「XML_SKIP_ATTRプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、グローバルまたはローカルXMLスキーマとしてOracle XML DBに登録されている固有のXMLスキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAの値がtrue
に設定されているときにこの関数をコールしたとき、マッピング・ドキュメント内のメタデータ名前空間が現行ユーザーから使用可能でない場合はエラーが発生します。
例
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; /
6.2.2 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
はインストール中にロードされます。
プラグマ
なし。
例外
なし。
使用上の注意
プリファレンス・パラメータXML_SKIP_ATTRは、XMLにエンコードするときに省略するDICOM属性のサイズ制限を指定するために使用します。このプリファレンス・パラメータの詳細は、「XML_SKIP_ATTRプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、グローバルまたはローカルXMLスキーマとしてOracle XML DBに登録されている固有のXMLスキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAの値がtrue
に設定されているときにこの関数をコールしたとき、マッピング・ドキュメント内のメタデータ名前空間が現行ユーザーから使用可能でない場合はエラーが発生します。
例
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;
6.2.3 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
はインストール中にロードされます。
プラグマ
なし。
例外
なし。
使用上の注意
プリファレンス・パラメータXML_SKIP_ATTRは、XMLにエンコードするときに省略するDICOM属性のサイズ制限を指定するために使用します。このプリファレンス・パラメータの詳細は、「XML_SKIP_ATTRプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、グローバルまたはローカルXMLスキーマとしてOracle XML DBに登録されている固有のXMLスキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAの値がtrue
に設定されているときにこの関数をコールしたとき、マッピング・ドキュメント内のメタデータ名前空間が現行ユーザーから使用可能でない場合はエラーが発生します。
例
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; /
6.2.4 BFILEのisAnonymous( )
構文
isAnonymous(src IN BFILE, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。この関数は、データが匿名の場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
BFILEに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.bfile_src, 'ordcman.xml') from medical_image_rel t where id = 1;
6.2.5 BLOBのisAnonymous( )
構文
isAnonymous(src IN BLOB, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。この関数は、データが匿名の場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
BLOBに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.blob_src, 'ordcman.xml') from medical_image_rel t where id = 1;
6.2.6 ORDImageのisAnonymous( )
構文
isAnonymous(src IN ORDSYS.ORDImage, anonymityDocName IN VARCHAR2 DEFAULT 'ordcman.xml') RETURN INTEGER
説明
指定された匿名ドキュメントを使用して、入力DICOMコンテンツが匿名かどうかを決定します。この関数は、データが匿名の場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
ORDImageオブジェクトに格納されているDICOMコンテンツが匿名かどうかを確認します。
select ord_dicom.isAnonymous(t.image_src, 'ordcman.xml') from medical_image_rel t where id = 1;
6.2.7 BFILEのisConformanceValid( )
構文
isConformanceValid(src IN BFILE, constraintName IN VARCHAR2) RETURN INTEGER
説明
constraintNameパラメータによって識別される指定の一連の制約に入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。この関数は、準拠している場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
また、この関数は、制約ドキュメントからのエラー・メッセージも記録します。このメッセージは、パブリック・ビューorddcm_conformance_vld_msgsを問い合せることで確認できます。パブリック・ビューorddcm_constraint_namesには制約名のリストが含まれます。
プラグマ
なし。
例外
なし。
使用上の注意
この関数をSQL問合せから呼び出す場合に、制約ルールの定義に<ACTION>要素を含めないでください。
プリファレンス・パラメータEXP_IF_NULL_ATTR_IN_CONSTRAINTは、準拠検証中に欠落している属性またはNULLの属性値が見つかったときに例外をスローするかどうかを示すために使用します。このプリファレンス・パラメータの詳細は、「EXP_IF_NULL_ATTR_IN_CONSTRAINTプリファレンス・パラメータの定義」を参照してください。
例
既存の準拠の検証メッセージを削除します。BFILEに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。その後、新しく生成された準拠の検証メッセージを表示します。
-- clear the previous conformance validation messages delete from orddcm_conformance_vld_msgs; -- conformance validate the DICOM content declare src bfile; begin select bfile_src into src from medical_image_rel where id = 1; dbms_output.put_line('isConformanceValid(PatientModule) ' || ord_dicom.isConformanceValid(src, 'PatientModule')); end; / -- get the logged conformance validation messages select message, msg_time time from orddcm_conformance_vld_msgs where rule_name='PatientModule';
6.2.8 BLOBのisConformanceValid( )
構文
isConformanceValid(src IN BLOB, constraintName IN VARCHAR2) RETURN INTEGER
説明
constraintNameパラメータによって識別される指定の一連の制約に入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。この関数は、準拠している場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
また、この関数は、制約ドキュメントからのエラー・メッセージも記録します。このメッセージは、パブリック・ビューorddcm_conformance_vld_msgsを問い合せることで確認できます。パブリック・ビューorddcm_constraint_namesには制約名のリストが含まれます。
プラグマ
なし。
例外
なし。
使用上の注意
この関数をSQL問合せから呼び出す場合に、制約ルールの定義に<ACTION>要素を含めないでください。
プリファレンス・パラメータEXP_IF_NULL_ATTR_IN_CONSTRAINTは、準拠検証中に欠落している属性またはNULLの属性値が見つかったときに例外をスローするかどうかを示すために使用します。このプリファレンス・パラメータの詳細は、「EXP_IF_NULL_ATTR_IN_CONSTRAINTプリファレンス・パラメータの定義」を参照してください。
例
既存の準拠の検証メッセージを削除します。BLOBに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。その後、新しく生成された準拠の検証メッセージを表示します。
-- clear the previous conformance validation messages delete from orddcm_conformance_vld_msgs; -- conformance validate the DICOM content declare src blob; begin select blob_src into src from medical_image_rel where id = 1; dbms_output.put_line('isConformanceValid(PatientModule) ' || ord_dicom.isConformanceValid(src, 'PatientModule')); end; / -- get the logged conformance validation messages select message, msg_time time from orddcm_conformance_vld_msgs where rule_name='PatientModule';
6.2.9 ORDImageのisConformanceValid( )
構文
isConformanceValid(src IN ORDSYS.ORDImage, constraintName IN VARCHAR2) RETURN INTEGER
説明
constraintNameパラメータによって識別される指定の一連の制約に入力DICOMコンテンツが準拠しているかどうかを確認するために、準拠の検証チェックを実行します。この関数は、準拠している場合に1
の値を戻し、それ以外の場合は0
の値を戻します。
また、この関数は、制約ドキュメントからのエラー・メッセージも記録します。このメッセージは、パブリック・ビューorddcm_conformance_vld_msgsを問い合せることで確認できます。パブリック・ビューorddcm_constraint_namesには制約名のリストが含まれます。
プラグマ
なし。
例外
なし。
使用上の注意
この関数をSQL問合せから呼び出す場合に、制約ルールの定義に<ACTION>要素を含めないでください。
プリファレンス・パラメータEXP_IF_NULL_ATTR_IN_CONSTRAINTは、準拠検証中に欠落している属性またはNULLの属性値が見つかったときに例外をスローするかどうかを示すために使用します。このプリファレンス・パラメータの詳細は、「EXP_IF_NULL_ATTR_IN_CONSTRAINTプリファレンス・パラメータの定義」を参照してください。
例
既存の準拠の検証メッセージを削除します。ORDImageオブジェクトに格納されているDICOMコンテンツが制約に準拠しているかどうかを確認します。その後、新しく生成された準拠の検証メッセージを表示します。
-- clear the previous conformance validation messages delete from orddcm_conformance_vld_msgs; -- conformance validate the DICOM content declare src ordimage; begin select image_src into src from medical_image_rel where id = 1; dbms_output.put_line('isConformanceValid(PatientModule) ' || ord_dicom.isConformanceValid(src, 'PatientModule')); end; / -- get the logged conformance validation messages select message, msg_time time from orddcm_conformance_vld_msgs where rule_name='PatientModule';
6.3 DICOM PL/SQL APIプロシージャ
ORD_DICOMパッケージは次のDICOM PL/SQL APIプロシージャを定義しています。
注:
この項で、<unique-UID>は、DICOMコンテンツに対して全世界的にグローバルな一意識別子を表す、ドットで連結された64バイトの数字列を表します。UIDは、通常、DICOMコンテンツを作成する組織を一意に識別するルートと、組織内のDICOMコンテンツを一意に識別する接尾辞で構成されます。この項の例にある<unique-UID>は、必ず適切なUIDで置き換えてください。
6.3.1 BFILEのcreateDicomImage( )
構文
createDicomImage(src IN BFILE, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。このプロシージャに入力されるソース・コンテンツがDICOMコンテンツである場合、作成される宛先DICOMコンテンツには、メタデータ・パラメータでこのプロシージャに入力されたメタデータのみが含まれます。したがって、宛先DICOMコンテンツでは、ソースDICOMコンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
ソース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; /
6.3.2 BLOBのcreateDicomImage( )
構文
createDicomImage(src IN BLOB, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。このプロシージャに入力されるソース・コンテンツがDICOMコンテンツである場合、作成される宛先DICOMコンテンツには、メタデータ・パラメータでこのプロシージャに入力されたメタデータのみが含まれます。したがって、宛先DICOMコンテンツでは、ソースDICOMコンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
ソース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; /
6.3.3 ORDImageのcreateDicomImage( )
構文
createDicomImage(src IN ORDSYS.ORDImage, metadata IN SYS.XMLTYPE, dest IN OUT NOCOPY BLOB)
説明
ソース画像およびDICOMメタデータからDICOM画像を作成します。このプロシージャに入力されるソース・コンテンツがDICOMコンテンツである場合、作成される宛先DICOMコンテンツには、メタデータ・パラメータでこのプロシージャに入力されたメタデータのみが含まれます。したがって、宛先DICOMコンテンツでは、ソースDICOMコンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
ソース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; /
6.3.4 export( )
構文
export(src IN BLOB, dest_type IN VARCHAR2, dest_location IN VARCHAR2, dest_name IN VARCHAR2)
説明
BLOBのDICOMコンテンツを指定の宛先にエクスポートします。データが宛先にコピーされる際、データはソースBLOBに保持されます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
export( )プロシージャは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトに対してのみ書き込みます。つまり、SQL文のCREATE DIRECTORYを使用して作成したディレクトリ・オブジェクト、または読取りおよび書込み権限を付与されたディレクトリ・オブジェクトにアクセスできます。
たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリc:\mydir\work
内の任意のファイルに対する読取りおよび書込み権限がユーザー<user>
に付与されます。これらのコマンドを実行する前に、ディレクトリ・オブジェクトを作成する権限を持ったユーザーとして接続しておく必要があります。
CREATE OR REPLACE DIRECTORY DICOMDIR AS 'c:\mydir\work'; GRANT READ,WRITE ON DIRECTORY DICOMDIR TO <user>;
ディレクトリおよび表の定義の詳細は、「DICOM PL/SQL APIの関数およびプロシージャの例」を参照してください。
例
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; /
6.3.5 importFrom( )
構文
importFrom(dest IN OUT NOCOPY BLOB, source_type IN VARCHAR2, source_location IN VARCHAR2, source_name IN VARCHAR2)
説明
指定されたソースのDICOMコンテンツをBLOBにインポートします。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
importFrom( )プロシージャは、ユーザーがアクセス権を持つデータベース・ディレクトリのオブジェクトからのみ読み取ります。つまり、SQL文のCREATE DIRECTORYを使用して作成したディレクトリ・オブジェクト、または読取り権限を付与されたディレクトリ・オブジェクトにアクセスできます。
たとえば、次のSQL*Plusコマンドを実行すると、ディレクトリ・オブジェクトが作成され、ディレクトリc:\mydir\work
内の任意のファイルに対する読取り権限がユーザー<user>
に付与されます。これらのコマンドを実行する前に、ディレクトリ・オブジェクトを作成する権限を持ったユーザーとして接続しておく必要があります。
CREATE OR REPLACE DIRECTORY DICOMDIR AS 'c:\mydir\work'; GRANT READ ON DIRECTORY DICOMDIR TO <user>;
ディレクトリおよび表の定義の詳細は、「DICOM PL/SQL APIの関数およびプロシージャの例」を参照してください。
例
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; /
6.3.6 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コンテンツから削除します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
BFILEに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.7 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コンテンツから削除します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
BLOBに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.8 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コンテンツから削除します。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
なし。
例
ORDImageオブジェクトに格納されている埋込みDICOMコンテンツから、患者を特定する情報を削除します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.9 BFILEのprocessCopy( )
構文
processCopy(src IN BFILE, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
ソースBFILEから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行して、結果の画像を宛先BLOBに格納します。ソースBFILEの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースBFILEに格納されている入力DICOMコンテンツを指定します。
- command
-
処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
fileFormat
、frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
DICOMコンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
DICOMソースから新しいJPEGサムネイル画像を生成します。
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; /
6.3.10 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)
説明
ソースBFILEから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行し、新しいメタデータで更新して、結果の画像を宛先BLOBに格納します。ソースBFILEの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースBFILEに格納されている入力DICOMコンテンツを指定します。
- command
-
処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest_sop_instance_uid
-
宛先DICOMコンテンツのSOPインスタンスUIDを指定します。宛先DICOMコンテンツはグローバルに一意である必要があります。
- dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
- metadata
-
新しいDICOMコンテンツに書き込む新しいメタデータを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
DICOMコンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
新しい圧縮DICOM画像を生成します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.11 BLOBのprocessCopy( )
構文
processCopy(src IN BLOB, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
ソースBLOBから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行して、結果の画像を宛先BLOBに格納します。ソースBLOBの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースBLOBに格納されている入力DICOMコンテンツを指定します。
- command
-
処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
fileFormat
、frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
DICOMコンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
新しいJPEGサムネイル画像を作成します。
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; /
6.3.12 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)
説明
ソースBLOBから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行し、新しいメタデータで更新して、結果の画像を宛先BLOBに格納します。ソースBLOBの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースBLOBに格納されている入力DICOMコンテンツを指定します。
- command
-
処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest_sop_instance_uid
-
宛先DICOMコンテンツのSOPインスタンスUIDを指定します。宛先DICOMコンテンツはグローバルに一意である必要があります。
- dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
- metadata
-
新しいDICOMコンテンツに書き込む新しいメタデータを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
DICOMコンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
新しい圧縮DICOM画像を作成します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.13 ORDImageのprocessCopy( )
構文
processCopy(src IN ORDSYS.ORDImage, command IN VARCHAR2, dest IN OUT NOCOPY BLOB)
説明
ソースORDImageオブジェクトから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行して、結果の画像を宛先BLOBに格納します。ソースORDImageオブジェクトの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
- command
-
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
fileFormat
、frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。画像処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
Webでの表示に適した非DICOM画像を埋込みDICOMコンテンツから取得するには、このプロシージャを使用します。
画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
新しいJPEGサムネイル画像を作成します。
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; /
6.3.14 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)
説明
ソースORDImageオブジェクトから入力されたDICOMコンテンツを読み取り、その画像に対して指定の処理操作を実行し、新しいメタデータで更新して、結果の画像を宛先BLOBに格納します。ソースORDImageオブジェクトの元のDICOMコンテンツは変更されません。
パラメータ
- src
-
ソースORDImageオブジェクトに格納されている入力DICOMコンテンツを指定します。
- command
-
画像処理の演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、
frame
、contentFormat
、compressionFormat
、cut
、scale
、rotate
などがあります。画像処理演算子の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。 - dest_sop_instance_uid
-
宛先DICOM画像のSOPインスタンスUIDを指定します。宛先DICOMコンテンツはグローバルに一意である必要があります。
- dest
-
宛先コンテンツを格納するための、空のBLOBを指定します。
- metadata
-
新しいDICOMコンテンツに書き込む新しいメタデータを指定します。
プラグマ
なし。
例外
なし。
使用上の注意
Webでの表示に適した非DICOM画像を埋込みDICOMコンテンツから取得するには、このプロシージャを使用します。
画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。DICOM処理の詳細は、「DICOMの処理およびサポートされている形式」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
例
新しい圧縮DICOM画像を作成します。
注:
<unique-UID>は、DICOMコンテンツを作成する組織、およびその組織内のDICOMコンテンツを識別するUIDで置き換えてください。
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;
/
6.3.15 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を指定します。
プラグマ
なし。
例外
なし。
使用上の注意
メタデータ抽出をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータSQ_WRITE_LENは、DICOMシーケンス(SQ)タイプのエンコード方法を指定するために使用します。このプリファレンス・パラメータの詳細は、「SQ_WRITE_LENプリファレンス・パラメータの定義」を参照してください。
例
新しいメタデータを宛先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; /
6.3.16 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を指定します。
プラグマ
なし。
例外
なし。
使用上の注意
メタデータ抽出をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータSQ_WRITE_LENは、DICOMシーケンス(SQ)タイプのエンコード方法を指定するために使用します。このプリファレンス・パラメータの詳細は、「SQ_WRITE_LENプリファレンス・パラメータの定義」を参照してください。
例
新しいメタデータを宛先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; /
6.3.17 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を指定します。
プラグマ
なし。
例外
なし。
使用上の注意
メタデータ抽出をサポートするエンコーディング・ルールの詳細は、「DICOMのエンコーディング規則」を参照してください。
プリファレンス・パラメータVALIDATE_METADATAは、OracleのデフォルトDICOMメタデータ・スキーマと照合してXML文書を検証するかどうかを指定するために使用します。このプリファレンス・パラメータの詳細は、VALIDATE_METADATAプリファレンス・パラメータの定義」を参照してください。
プリファレンス・パラメータSQ_WRITE_LENは、DICOMシーケンス(SQ)タイプのエンコード方法を指定するために使用します。このプリファレンス・パラメータの詳細は、「SQ_WRITE_LENプリファレンス・パラメータの定義」を参照してください。
例
新しいメタデータを宛先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; /