Skip Headers
Oracle® Multimedia DICOM Developer's Guide
11g Release 1 (11.1)

B28416-03
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

4 DICOM Data Model Utility Reference

Oracle Multimedia describes the DICOM data model utility in the ORD_DICOM package. This package is defined in the ordcpksp.sql file. After installation, this file is available in the Oracle home directory at:

<ORACLE_HOME>/ord/im/admin (on Linux and UNIX)

<ORACLE_HOME>\ord\im\admin (on Windows)

Oracle Multimedia contains the following information about the DICOM data model utility:

This chapter describes the functions, procedures, and information views in the DICOM data model utility interface, which operate on the DICOM data model repository. For information about other DICOM application programming interfaces (APIs), see the following chapters:

See Oracle Multimedia DICOM Java API Reference for information about the DICOM Java API.


DICOM Data Model Utility Functions and Procedures

The ORD_DICOM package defines the following DICOM data model utility functions and procedures:


getDictionaryTag( ) Function

Format

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

Description

Looks in the standard or private data dictionaries for the specified attribute name and definer name and returns the value of the attribute name as a hexadecimal DICOM attribute tag. This function can be used to get the hexadecimal tag value that is needed in the getMappingXpath( ) function.

Parameters

attributeName

The name of specified attribute in the standard or private data dictionary (for example: Patient's Name). The maximum length of this parameter is 128 characters.

definerName

The definer name of the specified attribute in the standard or private data dictionary. The default name is 'DICOM', which refers to the DICOM standard. The maximum length of this parameter is 64 characters.

Pragmas

None.

Exceptions

None.

Usage Notes

Before calling this function, call the setDataModel( ) procedure.

Note:

Call the setDataModel( ) procedure at the following times:
  • At the beginning of each database session

  • Whenever the application needs to see new data model changes

Examples

Get the specified DICOM attribute name and return its value as a hexadecimal tag:

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( ) Function

Format

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

Description

Returns the absolute XPath expression associated with the specified DICOM attribute tag and definer name from the specified mapping document. The XPath expression that is returned can be used to obtain values from an extracted XML metadata document.

Parameters

tag

A DICOM attribute tag from the specified mapping document, represented as an 8-character hexadecimal string (for example: 00100010).

docName

The name of a mapping document. The default name is 'ordcmmp.xml'.

definerName

The definer name of the DICOM attribute tag in the specified mapping document. The default name is 'DICOM', which refers to the DICOM standard.

Pragmas

None.

Exceptions

None.

Usage Notes

Before calling this function, call the setDataModel( ) procedure.

Note:

Call the setDataModel( ) procedure at the following times:
  • At the beginning of each database session

  • Whenever the application needs to see new data model changes

To see a list of all the mapping documents in the data model repository, query the public information view orddcm_documents.

Examples

Example 1:

Return the XPATH expression for DICOM attributes other than SEQUENCE type attributes:

exec ord_dicom.setDataModel();
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.

Example 2:

Return the XPATH expression for DICOM SEQUENCE type attributes only:

exec ord_dicom.setDataModel();
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.

where:


setDataModel( ) Procedure

Format

setDataModel(modelName IN VARCHAR2 DEFAULT 'DEFAULT')

Description

Loads the data model repository from the database into the memory structures. This procedure must be called at the beginning of each database session. It can be called again whenever the application needs to see new data model changes.

Parameters

modelName

The model name of the data model repository. The default name is 'DEFAULT', which is the only value supported in Oracle Database 11g Release 1 (11.1).

Pragmas

None.

Exceptions

None.

Usage Notes

You may want to call the setDataModel( ) procedure only once during a database session. Subsequent calls to this procedure may result in changed behavior if the data model has changed since you made the original call to the setDataModel( ) procedure.

To use the same DICOM data model throughout a session, Oracle recommends following the call to the setDataModel( ) procedure with a COMMIT statement. Because data that is loaded by the setDataModel( ) procedure is subject to transaction semantics, the database session's copy of the data model will be deleted during a rollback operation if the call to the setDataModel( ) procedure is made within the transaction that is being rolled back.

If you roll back the transaction in which you call the setDataModel( ) procedure, you may get an error message indicating that the data model is not loaded when you use the DICOM feature in the same session following the rollback operation. Call the setDataModel( ) procedure to reload the data model.

Examples

Load the repository from the database into memory:

   exec ord_dicom.setdatamodel;
   select * from orddcm_documents;

DICOM Repository Public Information Views

This section describes the Oracle Multimedia DICOM repository public information views, which are the following:


orddcm_conformance_vld_msgs

Format

Column Name Data Type Description
SOP_INSTANCE_UID VARCHAR2(128 CHAR) SOP_INSTANCE_UID of DICOM content
RULE_NAME VARCHAR2(64 CHAR) Constraint rule name
MESSAGE VARCHAR2(1999 CHAR) Message
MSG_TYPE VARCHAR2(20 CHAR) Message type, valid values are: log, warning, or error
MSG_TIME TIMESTAMP Message generation time

Description

This information view lists the constraint messages generated during constraint validation. The public read and delete access privileges are granted for this information view.

Usage Notes

This information view shows the constraint validation messages that are generated for a specified user schema only.

Examples

Show the list of constraint validation messages that were generated for the predicate conditions defined in the specified constraint document. The conformance validation rule shown in this example is PatientModule, as defined in the DICOM standard.

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

Format

Column Name Data Type Description
NAME VARCHAR2(100) Constraint name

Description

This read-only information view lists the constraint names. The public read access privilege is granted for this information view.

Usage Notes

Before querying this information view, call the setDataModel( ) procedure at least once during the database session. Call the procedure again whenever the application needs to see new data model changes.

Examples

Show a list of the constraint names that are available after installation:

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

7 rows selected.

orddcm_documents

Format

Column Name Data Type Description
DOC_NAME VARCHAR2(100) Document name
DOC_TYPE VARCHAR2(100) Document type
CREATE_DATE DATE Document creation date
ISINSTALLED_BY_ORACLE NUMBER(1) A value of 1 indicates that the document was installed by Oracle. A value of 0 indicates that the document was loaded by an administrator.

Description

This read-only information view lists details of the documents stored in the repository. The public read access privilege is granted for this information view.

Usage Notes

Before querying this information view, call the setDataModel( ) procedure at least once during the database session. Call the procedure again whenever the application needs to see new data model changes.

Examples

Show a list of the configuration documents in the repository, by name, type, and date of creation and indicate whether the configuration document is Oracle-defined or user-defined. This example shows details about the default Oracle-defined configuration documents, which are available upon installation.

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

Format

Column Name Data Type Description
DOC_TYPE VARCHAR2(100) Document type code of the document type

This column contains the following values:


STANDARD_DICTIONARY
PRIVATE_DICTIONARY
CONSTRAINT
MAPPING
ANONYMITY
PREFERENCE
UID_DEFINITION
SCHEMA_URL VARCHAR2(700) The URL of the XML schema registered with Oracle XML DB that is associated with this document type

This column contains the following values, which are listed respective to the order of the values in the DOC_TYPE column:


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) Document type description

This column contains the following values, which are listed respective to the order of the values in the DOC_TYPE column:


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

Description

This read-only information view identifies the supported Oracle Multimedia DICOM document types. Use this information view to find the list of codes for document types when inserting a new document into the Oracle Multimedia DICOM repository. The public read access privilege is granted for this information view.

Usage Notes

None.

Examples

Show the document type, schema URL, and document type description for the Oracle-installed configuration documents:

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