5 DICOMデータ・モデル・ユーティリティのリファレンス
Oracle Multimediaでは、ORD_DICOMパッケージにDICOMデータ・モデル・ユーティリティが用意されています。また、Oracle Multimedia DICOMでは、DICOMリポジトリのパブリック・ビューも定義されています。
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データ・モデル・ユーティリティ・インタフェースのファンクション、プロシージャおよびビューについて説明します。
この章では、次の内容を説明します。
関連項目:
他のDICOMアプリケーション・プログラミング・インタフェース(API)については、表3-1を参照してください。
5.1 ORD_DICOMの例を使用するためのディレクトリの定義と設定
DICOMデータ・ファイル用の具体的なディレクトリ定義と、特定のファンクションまたはプロシージャに固有のその他の詳細は、この章の各ファンクションまたはプロシージャの例を参照してください。
5.2 DICOMデータ・モデル・ユーティリティのファンクション
ORD_DICOMパッケージでは、次に示すDICOMデータ・モデル・ユーティリティのファンクションが定義されています。
5.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
5.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コンテンツから抽出されたメタデータを含む表
5.3 DICOMデータ・モデル・ユーティリティのプロシージャ
ORD_DICOMパッケージでは、次に示すDICOMデータ・モデル・ユーティリティのプロシージャが定義されています。
5.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;
5.4 DICOMリポジトリのパブリック・ビュー
この項では、次に示すOracle Multimedia DICOMリポジトリのパブリック・ビューについて説明します。
Oracle Multimedia DICOMリポジトリの管理者向けビューの詳細は、DICOMリポジトリの管理者用ビューを参照してください。
5.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 |
メッセージ生成時刻 |
説明
このビューには、制約の検証中に生成された制約メッセージがリストされます。このビューには、パブリックのREADおよびDELETEのアクセス権限が付与されています。
使用上の注意
このビューには、指定されたユーザー・スキーマに対して生成された制約検証メッセージのみが表示されます。
例
指定された制約ドキュメントに定義されている述語条件に対して生成された制約検証メッセージのリストを表示します。この例に示されている準拠の検証ルールは、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.
5.4.2 orddcm_constraint_names
形式
列名 | データ型 | 説明 |
---|---|---|
NAME |
VARCHAR2(100) |
制約名 |
説明
この読取り専用のビューには、制約名がリストされます。このビューには、パブリックのREADアクセス権限が付与されています。
使用上の注意
このビューを問い合せる前に、データベース・セッション中に少なくとも一度はsetDataModel( )プロシージャをコールしてください。これは、アプリケーションでデータ・モデルの新しい変更が必要になった場合に、いつでも再コールできます。
詳細はsetDataModel( )プロシージャを参照してください。
例
インストール後に使用可能な制約名のリストを表示します。
------------------------------------------------------------------------------ NAME ------------------------------------------------------------------------------ PatientModule GeneralStudyModule GeneralSeriesModule SOPCommonModule ImagePixelMacro OracleOrdDicomImage OracleOrdObject 7 rows selected.
5.4.3 orddcm_documents
形式
列名 | データ型 | 説明 |
---|---|---|
DOC_NAME |
VARCHAR2(100) |
ドキュメント名 |
DOC_TYPE |
VARCHAR2(100) |
ドキュメント・タイプ |
CREATE_DATE |
DATE |
ドキュメント作成日 |
ISINSTALLED_BY_ORACLE |
NUMBER(1) |
|
説明
この読取り専用のビューには、リポジトリに格納されているドキュメントの詳細がリストされます。このビューには、パブリックのREADアクセス権限が付与されています。
使用上の注意
このビューを問い合せる前に、データベース・セッション中に少なくとも一度は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.
5.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リポジトリに新しいドキュメントを挿入するときに、ドキュメント・タイプのコードのリストを調べることができます。このビューには、パブリックのREADアクセス権限が付与されています。
使用上の注意
なし。
例
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 DICOM_PROTOCOL http://xmlns.oracle.com/ord/dicom/protocol_1_0 DICOM protocol document 8 rows selected.