4 DICOMデータ・モデル・ユーティリティのリファレンス
Oracle Multimediaでは、ORD_DICOMパッケージにDICOMデータ・モデル・ユーティリティが用意されています。Oracle Multimedia DICOMには、DICOMリポジトリのパブリック・ビューも定義されています。
注:
DICOMのOracle Multimediaサポートは、Oracle Database 12cリリース2 (12.2)では非推奨になりました。将来のリリースではサポートされなくなる可能性があります。できるだけ早く、非推奨となった機能の使用を停止することをお薦めします。
DICOMデータ・モデル・ユーティリティ・インタフェースの関数、プロシージャおよびビューは、DICOMデータ・モデル・リポジトリのDICOM開発者および管理者が使用できます。
Oracle Multimedia DICOMデータ・モデル・リポジトリに関連した管理操作を実行するには、各データベース・セッションの始めにsetDataModel( )プロシージャをコールする必要があります(setDataModel( )プロシージャを参照してください)。開発者および管理者は、他のDICOMメソッド、関数またはプロシージャをコールする前に、setDataModel( )プロシージャをコールする必要があります。
ORD_DICOMパッケージは、ordcpksp.sql
ファイルに定義されています。インストール後、このファイルは次のOracleホーム・ディレクトリに格納されています。
<ORACLE_HOME>
/ord/im/admin
(LinuxおよびUNIXの場合)
<ORACLE_HOME>
\ord\im\admin
(Windowsの場合)
この章では、DICOMデータ・モデル・リポジトリで操作を行う、DICOMデータ・モデル・ユーティリティ・インタフェースの関数、プロシージャおよびビューについて説明します。
この章では、次の内容を説明します。
関連項目:
4.1 ORD_DICOMのディレクトリ定義と設定の例
DICOMデータ・ファイルの特定のディレクトリ定義および関数やプロシージャに固有の他の詳細は、この章の各関数またはプロシージャの例を参照してください。
4.2 DICOMデータ・モデル・ユーティリティの関数
ORD_DICOMパッケージには、次のDICOMデータ・モデル・ユーティリティの関数が定義されています。
4.2.1 getDictionaryTag( )関数
構文
getDictionaryTag(attributeName IN VARCHAR2, definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2
説明
指定された属性名および定義者名の標準またはプライベート・データ・ディクショナリを検索し、16進数のDICOM属性タグとして属性名の値を戻します。このファンクションは、getMappingXpath( )ファンクションに必要な16進数のタグ値を取得するために使用できます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
このファンクションをコールする前に、setDataModel( )プロシージャをコールする必要があります。
次の時点で、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
4.2.2 getMappingXPath( )関数
構文
getMappingXPath(tag IN VARCHAR2, docName IN VARCHAR2 DEFAULT 'ordcmmp.xml', definerName IN VARCHAR2 DEFAULT 'DICOM') RETURN VARCHAR2
説明
指定されたマッピング・ドキュメントの指定されたDICOM属性タグおよび定義者名に関連付けられている絶対XPath式を戻します。戻されたXPath式を使用して、抽出されたXMLメタデータ・ドキュメントから値を取得できます。
パラメータ
プラグマ
なし。
例外
なし。
使用上の注意
このファンクションをコールする前に、setDataModel( )プロシージャをコールする必要があります。
次の時点で、setDataModel( )プロシージャをコールします。
-
各データベース・セッションの開始時
-
アプリケーションでデータ・モデルの新しい変更が必要になった場合
詳細は、setDataModel( )プロシージャを参照してください。
データ・モデル・リポジトリのすべてのマッピング・ドキュメントのリストを参照するには、パブリック・ビューorddcm_documentsを問い合せます。
例
例1:
SEQUENCEタイプの属性以外のDICOM属性のXPATH式を戻します。
col map_xpath new_value xpath exec ord_dicom.setDataModel(); select ord_dicom.getMappingXPath('00100010') 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 '&xpath' as map_xpath from dual; select xmlquery( 'declare default element namespace "http://xmlns.oracle.com/ord/dicom/metadata_1_0"; &xpath' passing t.metadata returning content) as Patient_Name from metadata_tab t where id=1; PATIENT_NAME -------------------------------------------------------------------------------- Anonymous 1 row selected.
例2:
DICOM SEQUENCEタイプの属性に対してのみXPATH式を戻します。
col map_xpath new_value xpath exec ord_dicom.setDataModel(); select ord_dicom.getMappingXPath('00082218') 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 '&xpath' as map_xpath from dual; select xmlquery( 'declare default element namespace "http://xmlns.oracle.com/ord/dicom/metadata_1_0"; &xpath' passing t.metadata returning content) 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 number="1"><SHORT_STRING tag="00080100" definer="DICOM" name="Code Value" offset= "606" length="8">T-11170</SHORT_STRING><SHORT_STRING tag="00080102" definer="DICOM" name="Coding Scheme Designator" offset="622" length="4">SNM3</SHORT_STRING><LONG_STRING tag="00080104" definer="DICOM" name="Code Meaning" offset="634" length="8">Maxilla</LONG_STRING></ITEM></SEQUENCE> 1 row selected.
ここで、
-
metadata_tab: DICOMコンテンツから抽出されたメタデータを含む表
4.3 DICOMデータ・モデル・ユーティリティのプロシージャ
ORD_DICOMパッケージには、次のDICOMデータ・モデル・ユーティリティのプロシージャが定義されています。
4.3.1 setDataModel( )プロシージャ
構文
setDataModel(modelName IN VARCHAR2 DEFAULT 'DEFAULT')
説明
データ・モデル・リポジトリをデータベースからメモリー構造にロードします。このプロシージャは、各データベース・セッションの開始時にコールする必要があります。また、アプリケーションでデータ・モデルの新しい変更が必要な場合にも再度コールできます。
プラグマ
なし。
例外
なし。
使用上の注意
パフォーマンスを最大化するには、データベース・セッション中にこのプロシージャを1回のみコールしてください。
最初のコールの後にデータ・モデルが変化し、アプリケーションでそのデータ・モデルの変更内容が必要になった場合は、このプロシージャを再度コールできます。ただし、後からこのプロシージャをコールすると、動作が変わる可能性があることに注意してください。
セッション全体で同じDICOMデータ・モデルを使用する場合は、このプロシージャへのコールの後にCOMMIT文を使用することをお薦めします。setDataModel( )プロシージャによってロードされるデータはトランザクション・セマンティクスの対象となるため、setDataModel( )プロシージャへのコールがロールバック中のトランザクション内で行われる場合、データ・モデルのデータベース・セッションのコピーはロールバック操作中に削除されます。
setDataModel( )プロシージャをコールするトランザクションをロールバックする場合、ロールバック操作に続く同一セッション内でDICOM機能を使用すると、データ・モデルがロードされていないことを示すエラー・メッセージが発生する場合があります。setDataModel( )プロシージャをコールして、データ・モデルをリロードします。
詳細は、rollbackDataModel( )プロシージャを参照してください。
例
リポジトリをデータベースからメモリーにロードします。
exec ord_dicom.setdatamodel; select * from orddcm_documents;
4.4 DICOMリポジトリのパブリック・ビュー
この項では、次のOracle Multimedia DICOMリポジトリのパブリック・ビューについて説明します。
管理者用のOracle Multimedia DICOMリポジトリ・ビューの詳細は、「DICOMリポジトリの管理者用ビュー」を参照してください。
4.4.1 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) |
メッセージのタイプ(有効な値は、 |
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.
4.4.2 orddcm_constraint_names
構文
列名 | データ型 | 説明 |
---|---|---|
NAME |
VARCHAR2(100) |
制約名 |
説明
この読取り専用のビューには、制約名がリストされます。このビューには、パブリックの読取りアクセス権限が付与されています。
使用上の注意
このビューを問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。アプリケーションでデータ・モデルの新しい変更が必要になった場合は、再度コールしてください。
詳細は、setDataModel( )プロシージャを参照してください。
例
インストール後に使用可能な制約名のリストを表示します。
------------------------------------------------------------------------------ NAME ------------------------------------------------------------------------------ PatientModule GeneralStudyModule GeneralSeriesModule SOPCommonModule ImagePixelMacro OracleOrdDicomImage OracleOrdObject 7 rows selected.
4.4.3 orddcm_documents
構文
列名 | データ型 | 説明 |
---|---|---|
DOC_NAME |
VARCHAR2(100) |
ドキュメント名 |
DOC_TYPE |
VARCHAR2(100) |
ドキュメント・タイプ |
CREATE_DATE |
DATE |
ドキュメント作成日 |
ISINSTALLED_BY_ORACLE |
NUMBER(1) |
|
説明
この読取り専用のビューには、リポジトリに格納されているドキュメントの詳細がリストされます。このビューには、パブリックの読取りアクセス権限が付与されています。
使用上の注意
このビューを問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。アプリケーションでデータ・モデルの新しい変更が必要になった場合は、再度コールしてください。
詳細は、setDataModel( )プロシージャを参照してください。
例
リポジトリの構成ドキュメントのリストを、名前別、タイプ別および作成日別に表示し、構成ドキュメントがOracle定義かユーザー定義かを表示します。この例では、インストール時に使用可能なOracle定義のデフォルトの構成ドキュメントの詳細を示します。
-------------------------------------------------------------------------------- DOC_NAME DOC_TYPE CREATE_DA INSTALLED_BY_ORACLE -------------------------------------------------------------------------------- ordcmpv.xml PRIVATE_DICTIONARY 04-FEB-09 1 ordcmmp.xml MAPPING 04-FEB-09 1 ordcman.xml ANONYMITY 04-FEB-09 1 ordcmpf.xml PREFERENCE 04-FEB-09 1 ordcmui.xml UID_DEFINITION 04-FEB-09 1 ordcmcmc.xml CONSTRAINT 04-FEB-09 1 ordcmcmd.xml CONSTRAINT 04-FEB-09 1 ordcmct.xml CONSTRAINT 04-FEB-09 1 ordcmsd.xml STANDARD_DICTIONARY 04-FEB-09 1 9 rows selected.
4.4.4 orddcm_document_types
構文
列名 | データ型 | 説明 |
---|---|---|
DOC_TYPE |
VARCHAR2(100) |
ドキュメント・タイプのドキュメント・タイプ・コード この列には次の値が含まれます。
|
SCHEMA_URL |
VARCHAR2(700) |
このドキュメント・タイプに関連付けられているOracle XML DBに登録されているXMLスキーマのURL この列には次の値が含まれます。これらの値は、DOC_TYPE列の値の順にリストされています。
|
DOC_TYPE_DESC |
VARCHAR2(4000) |
ドキュメント・タイプの説明 この列には次の値が含まれます。これらの値は、DOC_TYPE列の値の順にリストされています。
|
説明
この読取り専用のビューには、サポートされている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 STORED_TAG_LIST http://xmlns.oracle.com/ord/dicom/attributeTag_1_0 Stored tag list document 8 rows selected.