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』を参照してください。
ORD_DICOMパッケージには、次のDICOMデータ・モデル・ユーティリティのファンクションおよびプロシージャが定義されています。
構文
getDictionaryTag(attributeName IN VARCHAR2, definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2
説明
指定された属性名および定義者名の標準またはプライベート・データ・ディクショナリを検索し、16進数のDICOM属性タグとして属性名の値を戻します。 このファンクションは、getMappingXpath( )ファンクションに必要な16進数のタグ値を取得するために使用できます。
パラメータ
標準またはプライベート・データ・ディクショナリで、指定された属性名(たとえば、Patient's Name
)を指定します。 このパラメータの最大長は128文字です。
標準またはプライベート・データ・ディクショナリで、指定された属性の定義者名を指定します。 デフォルト名は、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 (tag IN VARCHAR2, docName IN VARCHAR2 DEFAULT 'ordcmmp.xml', definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2
説明
指定されたマッピング・ドキュメントの指定されたDICOM属性タグおよび定義者名に関連付けられている絶対XPath式を戻します。 戻されたXPath式を使用して、抽出されたXMLメタデータ・ドキュメントから値を取得できます。
パラメータ
8文字の16進数文字列で表される(例: 00100010
)、指定されたマッピング・ドキュメントのDICOM属性タグを指定します。
マッピング・ドキュメントの名前を指定します。 デフォルト名は'ordcmmp.xml'
です。
指定されたマッピング・ドキュメントの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.
この例の補足説明は次のとおりです。
metadata_tab: DICOMコンテンツから抽出されたメタデータを含む表
構文
setDataModel(modelName IN VARCHAR2 DEFAULT 'DEFAULT')
説明
データ・モデル・リポジトリをデータベースからメモリー構造にロードします。 このプロシージャは、各データベース・セッションの開始時にコールする必要があります。 また、アプリケーションでデータ・モデルの新しい変更の参照が必要な場合にも再度コールできます。
パラメータ
データ・モデル・リポジトリのモデル名を指定します。 デフォルト名は'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;
この項では、Oracle Multimedia DICOMの次のリポジトリ・パブリック情報ビューについて説明します。
形式
列名 | データ型 | 説明 |
---|---|---|
SOP_INSTANCE_UID | VARCHAR2(128 CHAR) | DICOMコンテンツのSOP_INSTANCE_UID |
RULE_NAME | VARCHAR2(64 CHAR) | 制約ルール名 |
MESSAGE | VARCHAR2(1999 CHAR) | メッセージ |
MSG_TYPE | VARCHAR2(20 CHAR) | メッセージのタイプ(有効な値は、log 、warning または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.
形式
列名 | データ型 | 説明 |
---|---|---|
NAME | VARCHAR2(100) | 制約名 |
説明
この読取り専用の情報ビューには、制約名がリストされます。 この情報ビューには、パブリックの読取りアクセス権限が付与されています。
使用上の注意
この情報ビューに問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。 アプリケーションでデータ・モデルの新しい変更を参照する必要がある場合には、プロシージャを再度コールしてください。
例
インストール後に使用可能な制約名のリストを表示します。
------------------------------------------------------------------------------ NAME ------------------------------------------------------------------------------ PatientModule GeneralStudyModule GeneralSeriesModule SOPCommonModule ImagePixelMacro OracleOrdDicomImage OracleOrdObject 7 rows selected.
形式
列名 | データ型 | 説明 |
---|---|---|
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.
形式
列名 | データ型 | 説明 |
---|---|---|
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.