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

戻る
戻る
 
次へ
次へ
 

4 DICOMデータ・モデル・ユーティリティのリファレンス

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

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

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

Oracle Multimediaには、DICOMデータ・モデル・ユーティリティについて次の情報が含まれます。

この章では、DICOMデータ・モデル・リポジトリで操作を行う、DICOMデータ・モデル・ユーティリティ・インタフェースのファンクション、プロシージャおよび情報ビューについて説明します。 他のDICOMアプリケーション・プログラミング・インタフェース(API)の詳細は、次の章を参照してください。

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


DICOMデータ・モデル・ユーティリティのファンクションおよびプロシージャ

ORD_DICOMパッケージには、次のDICOMデータ・モデル・ユーティリティのファンクションおよびプロシージャが定義されています。


getDictionaryTag( )ファンクション

構文

getDictionaryTag(attributeName IN VARCHAR2, definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2

説明

指定された属性名および定義者名の標準またはプライベート・データ・ディクショナリを検索し、16進数のDICOM属性タグとして属性名の値を戻します。 このファンクションは、getMappingXpath( )ファンクションに必要な16進数のタグ値を取得するために使用できます。

パラメータ

attributeName

標準またはプライベート・データ・ディクショナリで、指定された属性名(たとえば、Patient's Name)を指定します。 このパラメータの最大長は128文字です。

definerName

標準またはプライベート・データ・ディクショナリで、指定された属性の定義者名を指定します。 デフォルト名は、DICOM標準規格を参照する'DICOM'です。 このパラメータの最大長は64文字です。

プラグマ

なし

例外

なし

使用上の注意

このファンクションをコールする前に、setDataModel( )プロシージャをコールする必要があります。


注意:

次の時点で、setDataModel( )プロシージャをコールします。
  • 各データベース・セッションの開始時

  • アプリケーションでデータ・モデルの新しい変更を参照する必要がある場合


指定されたDICOM属性名を取得し、16進数タグとしてその値を戻します。

exec ord_dicom.setDataModel();
select ord_dicom.getDictionaryTag('Patient''s Name', 'DICOM') as Patient_Name from dual;

PATIENT_NAME
--------------------------------------------------------------------------------
00100010


select ord_dicom.getDictionaryTag('Audio Type', 'DICOM') as Audio_Type from dual;

AUDIO_TYPE
--------------------------------------------------------------------------------
50XX2000

getMappingXPath( )ファンクション

構文

getMappingXPath (tag IN VARCHAR2, docName IN VARCHAR2 DEFAULT 'ordcmmp.xml', definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2

説明

指定されたマッピング・ドキュメントの指定されたDICOM属性タグおよび定義者名に関連付けられている絶対XPath式を戻します。 戻されたXPath式を使用して、抽出されたXMLメタデータ・ドキュメントから値を取得できます。

パラメータ

tag

8文字の16進数文字列で表される(例: 00100010)、指定されたマッピング・ドキュメントのDICOM属性タグを指定します。

docName

マッピング・ドキュメントの名前を指定します。 デフォルト名は'ordcmmp.xml'です。

definerName

指定されたマッピング・ドキュメントのDICOM属性タグの定義者名を指定します。 デフォルト名は、DICOM標準規格を参照する'DICOM'です。

プラグマ

なし

例外

なし

使用上の注意

このファンクションをコールする前に、setDataModel( )プロシージャをコールする必要があります。


注意:

次の時点で、setDataModel( )プロシージャをコールします。
  • 各データベース・セッションの開始時

  • アプリケーションでデータ・モデルの新しい変更を参照する必要がある場合


データ・モデル・リポジトリのすべてのマッピング・ドキュメントのリストを参照するには、パブリック情報ビューorddcm_documentsを問い合せます。

例1:

SEQUENCEタイプの属性以外のDICOM属性のXPATH式を戻します。

select ord_dicom.getMappingXPath('00100010') as map_xpath from dual;

MAP_XPATH
--------------------------------------------------------------------------------
/DICOM_OBJECT/PERSON_NAME[@tag="00100010" and @definer="DICOM"]/VALUE/text()

1 row selected.


--extract attribute from a document
select extract(t.metadata, ord_dicom.getMappingXPath('00100010'),
'xmlns="http://xmlns.oracle.com/ord/dicom/metadata_1_0"') as
Patient_Name from metadata_tab t where id=1;

PATIENT_NAME
--------------------------------------------------------------------------------
anonymous

1 row selected.

例2:

DICOM SEQUENCEタイプの属性に対してのみXPATH式を戻します。

select ord_dicom.getMappingXPath('00082218') as map_xpath from dual;

MAP_XPATH
--------------------------------------------------------------------------------
/DICOM_OBJECT/SEQUENCE[@tag="00082218" and @definer="DICOM"]

1 row selected.


------------- extract attribute from a document
set long 1000
select extract(t.metadata, ord_dicom.getMappingXPath('00082218'),
'xmlns="http://xmlns.oracle.com/ord/dicom/metadata_1_0"') as
Anatomic_Region from metadata_tab t where id=2;

ANATOMIC_REGION
--------------------------------------------------------------------------------
<SEQUENCE xmlns="http://xmlns.oracle.com/ord/dicom/metadata_1_0" tag="00082218"
definer="DICOM" name="Anatomic Region Sequence" offset="590" length="52"><ITEM><
SHORT_STRING tag="00080100" definer="DICOM" name="Code Value" offset="606" lengt
h="8">T-11170</SHORT_STRING><SHORT_STRING tag="00080102" definer="DICOM" name="C
oding Scheme Designator" offset="622" length="4">SNM3</SHORT_STRING><LONG_STRING
 tag="00080104" definer="DICOM" name="Code Meaning" offset="634" length="8">Maxi
lla</LONG_STRING></ITEM></SEQUENCE>

1 row selected.

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


setDataModel( )プロシージャ

構文

setDataModel(modelName IN VARCHAR2 DEFAULT 'DEFAULT')

説明

データ・モデル・リポジトリをデータベースからメモリー構造にロードします。 このプロシージャは、各データベース・セッションの開始時にコールする必要があります。 また、アプリケーションでデータ・モデルの新しい変更の参照が必要な場合にも再度コールできます。

パラメータ

modelName

データ・モデル・リポジトリのモデル名を指定します。 デフォルト名は'DEFAULT'で、Oracle Database 11g リリース1(11.1)でのみサポートされている値です。

プラグマ

なし

例外

なし

使用上の注意

setDataModel( )プロシージャは、データベース・セッション中に一度だけコールできます。 setDataModel( )プロシージャに対する元のコールを行ってからデータ・モデルが変更されている場合、このプロシージャの後続のコールにより、動作が変更される可能性があります。

セッション全体で同じDICOMデータ・モデルを使用する場合は、COMMIT文を使用したsetDataModel( )プロシージャへのコールの後に使用することをお薦めします。 setDataModel( )プロシージャによってロードされるデータは、トランザクション・セマンティクスに従うため、setDataModel( )プロシージャへのコールがロールバック中のトランザクション内で行われる場合、データ・モデルのデータベース・セッションのコピーはロールバック操作中に削除されます。

setDataModel( )プロシージャをコールするトランザクションをロールバックする場合、ロールバック操作に続く同一セッション内でDICOM機能を使用すると、データ・モデルがロードされていないことを示すエラー・メッセージが発生する場合があります。 setDataModel( )プロシージャをコールして、データ・モデルをリロードします。

リポジトリをデータベースからメモリーにロードします。

   exec ord_dicom.setdatamodel;
   select * from orddcm_documents;

DICOMリポジトリ・パブリック情報ビュー

この項では、Oracle Multimedia DICOMの次のリポジトリ・パブリック情報ビューについて説明します。


orddcm_conformance_vld_msgs

形式

列名 データ型 説明
SOP_INSTANCE_UID VARCHAR2(128 CHAR) DICOMコンテンツのSOP_INSTANCE_UID
RULE_NAME VARCHAR2(64 CHAR) 制約ルール名
MESSAGE VARCHAR2(1999 CHAR) メッセージ
MSG_TYPE VARCHAR2(20 CHAR) メッセージのタイプ(有効な値は、logwarningまたはerrorです)
MSG_TIME TIMESTAMP メッセージ生成時刻

説明

この情報ビューには、制約の検証中に生成された制約メッセージがリストされます。 この情報ビューには、パブリックの読取りおよび削除のアクセス権限が付与されています。

使用上の注意

この情報ビューには、指定されたユーザー・スキーマに対してのみ生成された制約検証メッセージが表示されます。

指定された制約ドキュメントに定義されている述語条件に対して生成された制約検証メッセージのリストを表示します。 この例に示されている準拠の検証ルールは、DICOM標準規格に定義されているように、PatientModuleです。

---------------------------------------------------------------------------------------------------------------
SOP_INSTANCE_UID         RULE_NAME             MESSAGE                  MSG_TYPE            MSG_TIME
---------------------------------------------------------------------------------------------------------------
1.2.840.114346.          PatientModule         Validation error:        log                 01-MAR-07
3384726461.899958945.                          missing mandatory                            01.40.21.158337 PM
2180235641.3197827030                          attribute for
                                               patient module


1.2.840.114346.          PatientModule         Warning:                 warning             01-MAR-07
3384726461.899958945.                          validation failure                           01.40.21.168322 PM
2180235641.3197827030


2 rows selected.

orddcm_constraint_names

形式

列名 データ型 説明
NAME VARCHAR2(100) 制約名

説明

この読取り専用の情報ビューには、制約名がリストされます。 この情報ビューには、パブリックの読取りアクセス権限が付与されています。

使用上の注意

この情報ビューに問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。 アプリケーションでデータ・モデルの新しい変更を参照する必要がある場合には、プロシージャを再度コールしてください。

インストール後に使用可能な制約名のリストを表示します。

------------------------------------------------------------------------------
NAME
------------------------------------------------------------------------------
PatientModule
GeneralStudyModule
GeneralSeriesModule
SOPCommonModule
ImagePixelMacro
OracleOrdDicomImage
OracleOrdObject

7 rows selected.

orddcm_documents

形式

列名 データ型 説明
DOC_NAME VARCHAR2(100) ドキュメント名
DOC_TYPE VARCHAR2(100) ドキュメント・タイプ
CREATE_DATE DATE ドキュメント作成日
ISINSTALLED_BY_ORACLE NUMBER(1) 1の値は、ドキュメントがOracleによってインストールされたことを示します。 0の値は、ドキュメントが管理者によってロードされたことを示します。

説明

この読取り専用の情報ビューには、リポジトリに格納されているドキュメントの詳細がリストされます。 この情報ビューには、パブリックの読取りアクセス権限が付与されています。

使用上の注意

この情報ビューに問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。 アプリケーションでデータ・モデルの新しい変更を参照する必要がある場合には、プロシージャを再度コールしてください。

リポジトリの構成ドキュメントのリストを、名前別、タイプ別および作成日別に表示し、構成ドキュメントがOracle定義かユーザー定義かを表示します。 この例では、インストール後に使用可能なOracle定義のデフォルトの構成ドキュメントの詳細が表示されます。

--------------------------------------------------------------------------------
DOC_NAME          DOC_TYPE               CREATE_DA        INSTALLED_BY_ORACLE
--------------------------------------------------------------------------------
ordcmpv.xml       PRIVATE_DICTIONARY     04-OCT-06        1
ordcmmp.xml       MAPPING                04-OCT-06        1
ordcman.xml       ANONYMITY              04-OCT-06        1
ordcmpf.xml       PREFERENCE             04-OCT-06        1
ordcmui.xml       UID_DEFINITION         04-OCT-06        1
ordcmcmc.xml      CONSTRAINT             04-OCT-06        1
ordcmcmd.xml      CONSTRAINT             04-OCT-06        1
ordcmct.xml       CONSTRAINT             04-OCT-06        1
ordcmsd.xml       STANDARD_DICTIONARY    04-OCT-06        1

9 rows selected.

orddcm_document_types

形式

列名 データ型 説明
DOC_TYPE VARCHAR2(100) ドキュメント・タイプのドキュメント・タイプ・コード

この列には次の値が含まれます。


STANDARD_DICTIONARY
PRIVATE_DICTIONARY
CONSTRAINT
MAPPING
ANONYMITY
PREFERENCE
UID_DEFINITION
SCHEMA_URL VARCHAR2(700) このドキュメント・タイプに関連付けられているOracle XML DBに登録されているXMLスキーマのURL

この列には次の値が含まれ、DOC_TYPE列の値の順にリストされています。


http://xmlns.oracle.com/ord/dicom/standardDictionary_1_0
http://xmlns.oracle.com/ord/dicom/privateDictionary_1_0
http://xmlns.oracle.com/ord/dicom/constraint_1_0
http://xmlns.oracle.com/ord/dicom/mapping_1_0
http://xmlns.oracle.com/ord/dicom/anonymity_1_0
http://xmlns.oracle.com/ord/dicom/preference_1_0
http://xmlns.oracle.com/ord/dicom/UIDdefinition_1_0
DOC_TYPE_DESC VARCHAR2(4000) ドキュメント・タイプの説明

この列には次の値が含まれ、DOC_TYPE列の値の順にリストされています。


DICOM standard data dictionary
Private data dictionary
Constraint document
Mapping document
Anonymity document
Preference document
DICOM UID definition document

説明

この読取り専用の情報ビューには、サポートされているOracle Multimedia DICOMのドキュメント・タイプが示されています。 この情報ビューを使用して、Oracle Multimedia DICOMリポジトリに新しいドキュメントを挿入する場合のドキュメント・タイプのコードのリストを検索します。 この情報ビューには、パブリックの読取りアクセス権限が付与されています。

使用上の注意

なし

Oracleでインストールされた構成ドキュメントのドキュメント・タイプ、スキーマURLおよびドキュメント・タイプの説明を表示します。

-------------------------------------------------------------------------------------------------------------
DOC_TYPE                 SCHEMA_URL                                                      DOC_TYPE_DSC
-------------------------------------------------------------------------------------------------------------
STANDARD_DICTIONARY    http://xmlns.oracle.com/ord/dicom/standardDictionary_1_0    DICOM Standard Data                                                                                          Dictionary

PRIVATE_DICTIONARY     http://xmlns.oracle.com/ord/dicom/privateDictionary_1_0     Private Data                                                                                          Dictionary

MAPPING                  http://xmlns.oracle.com/ord/dicom/mapping_1_0                   Mapping document

ANONYMITY                http://xmlns.oracle.com/ord/dicom/anonymity_1_0                 Anonymity document

PREFERENCE               http://xmlns.oracle.com/ord/dicom/preference_1_0                Preference document

UID_DEFINITION         http://xmlns.oracle.com/ord/dicom/UIDdefinition_1_0         DICOM UID definition                                                                                          document

CONSTRAINT              http://xmlns.oracle.com/ord/dicom/constraint_1_0                 Constraint document

7 rows selected.