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>;

注:

各データベース・セッションの開始時にはsetDataModel( )プロシージャをコールしてください。

詳細は、setDataModel( )プロシージャを参照してください。

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コンテンツから抽出するメタデータのタイプを指定する文字列です。有効な値はALLMAPPEDおよび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コンテンツから抽出するメタデータのタイプを指定する文字列です。有効な値はALLMAPPEDおよび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コンテンツから抽出するメタデータのタイプを指定する文字列です。有効な値はALLMAPPEDおよび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の値を戻します。

パラメータ

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;

6.2.5 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;

6.2.6 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;

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には制約名のリストが含まれます。

パラメータ

src

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

constraintName

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

プラグマ

なし。

例外

なし。

使用上の注意

この関数を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には制約名のリストが含まれます。

パラメータ

src

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

constraintName

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

プラグマ

なし。

例外

なし。

使用上の注意

この関数を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には制約名のリストが含まれます。

パラメータ

src

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

constraintName

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

プラグマ

なし。

例外

なし。

使用上の注意

この関数を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コンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。

パラメータ

src

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

metadata

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

dest

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

プラグマ

なし。

例外

なし。

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「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コンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。

パラメータ

src

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

metadata

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

dest

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

プラグマ

なし。

例外

なし。

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「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コンテンツのメタデータが削除され、入力されたメタデータで置き換えられます。

パラメータ

src

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

metadata

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

dest

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

プラグマ

なし。

例外

なし。

使用上の注意

画像コンテンツの処理をサポートするエンコーディング・ルールの詳細は、「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に保持されます。

パラメータ

src

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

dest_type

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

dest_location

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

dest_name

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

プラグマ

なし。

例外

なし。

使用上の注意

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にインポートします。

パラメータ

dest

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

source_type

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

source_location

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

source_name

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

プラグマ

なし。

例外

なし。

使用上の注意

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コンテンツから削除します。

パラメータ

src

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

dest_sop_instance_uid

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

dest

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

anonymityDocName

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

プラグマ

なし。

例外

なし。

使用上の注意

なし。

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コンテンツから削除します。

パラメータ

src

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

dest_sop_instance_uid

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

dest

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

anonymityDocName

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

プラグマ

なし。

例外

なし。

使用上の注意

なし。

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コンテンツから削除します。

パラメータ

src

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

dest_sop_instance_uid

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

dest

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

anonymityDocName

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

プラグマ

なし。

例外

なし。

使用上の注意

なし。

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

処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。処理演算子の詳細は、「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

処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。処理演算子の詳細は、「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

処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。処理演算子の詳細は、「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

処理演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。処理演算子の詳細は、「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

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、fileFormatframecontentFormatcompressionFormatcutscalerotateなどがあります。画像処理演算子の詳細は、「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

画像処理の演算子を入力として受け入れるコマンド文字列を指定します。有効な値には、framecontentFormatcompressionFormatcutscalerotateなどがあります。画像処理演算子の詳細は、「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;
/