Introduction This schema defines the run-time preference settings for Oracle Multimedia DICOM features. Structure Overview Question mark "?" means optional items. Plus "+" means one or more items. Asterisk "*" means zero or more items. DICOM_RUNTIME_PREFERENCES DOCUMENT_HEADER? DOCUMENT_CHANGE_LOG* DOCUMENT_MODIFIER DOCUMENT_MODIFICATION_DATE DOCUMENT_VERSION? MODIFICATION_COMMENT? BASE_DOCUMENT? BASE_DOCUMENT_RELEASE_DATE? BASE_DOCUMENT_DESCRIPTION? PREFERENCE_DEF+ PARAMETER DESCRIPTION VALUE The allowed values for the PARAMETER element of a PREFERENCE_DEF entry and its corresponding VALUE element are as follows: PARAMETER: XML_SKIP_ATTR VALUE: an integer type (default 512, 128~ 32767) DESCRIPTION: When encoding a DICOM attribute into XML, skip attributes whose (child) XML element sizes (in bytes) are larger than XML_SKIP_ATTR. If an attribute is of simple type, this limit applies to the whole attribute. If the attribute type is SQ, this limit applies to its child items. For example, if an attribute is of type SQ and it contains child items of type OB, the limit applies to each child instance of type OB. The smallest value allowed for this parameter is 128. PARAMETER: AVG_ATTR_NUM VALUE: an integer type (default 200, 20~2000) DESCRIPTION: The average number of root-level attributes per DICOM object. This is a hint to the DICOM implementation. Finding the optimal value for a database helps improve storage efficiency and performance. Too large a value may lead to wasted memory, and too small a value may lead to poor performance. An ideal value is one where most (suggested 95%) DICOM images have less than $VALUE number of attributes. The smallest value allowed for this parameter is 20. The largest number allowed for this parameter is the total number of not retired standard attributes defined. PARAMETER: CONFORMANCE_LEVEL VALUE: enum { leastConform, ignoreException(default), mostConform} DESCRIPTION: The option "leastConform" means that all functions try to maximize the processing of a DICOM object and ignore any errors and exceptions. "ignoreException" means that all functions ignore the types of exceptions given in the parameter "IGNORED_EXP_LIST". The default set of ignored exceptions includes: MISSING_ATTR, INVALID_LENGTH, MISSING_MAGIC, MISSING_HEADER, INVALID_VR, INVALID_VM, and PARSE_ERR. "mostConform" means that all functions throw an exception if a DICOM object contains nonconformant content. This does not include backward compatibility cases allowed by the DICOM standard. Note: By choosing an option other than "mostConform", you risk accepting invalid DICOM objects, possibly getting incorrect results. In this case, Oracle recommends setting the LOGGING_LEVEL parameter to "warning" or a more detailed level, and then examining the log file for possible errors. PARAMETER: IGNORED_EXP_LIST VALUE: EmptySpace-separated exception names from the following list: {MISSING_MAGIC, MISSING_HEADER, MISSING_ATTR, FAULTY_VALUE, INVALID_LENGTH, INVALID_VM, INVALID_VR, UNSUPPORT_VALUE, UNDEFINED_VALUE, NOT_AN_IMAGE, PARSE_ERR} Default: {MISSING_ATTR INVALID_LENGTH MISSING_MAGIC MISSING_HEADER INVALID_VR INVALID_VM PARSE_ERR}. DESCRIPTION: This parameter is only effective when the value of the CONFORMANCE_LEVEL parameter is "ignoreException". If this is the case, the exceptions in the ignore exception list are ignored at run time. However, if the LOGGING_LEVEL parameter is set to "warning" or a more detailed level, the exception is logged. The program continues and skips the part of the DICOM object that has triggered an exception. These exceptions are defined as follows: MISSING_MAGIC: a DICOM object does not contain the file magic number "DICM". MISSING_HEADER: a DICOM object does not have the file meta header (not conformant to the DICOM standard part 10). MISSING_ATTR: a DICOM object does not have the mandatory attributes (type 1) required by the DICOM standard. FAULTY_VALUE: a DICOM object has attribute values that lead to parsing errors. INVALID_LENGTH: a DICOM object contains a length value that is not consistent with the DICOM encoding rules or a length that is not permitted by the DICOM data dictionary. INVALID_VM: an attribute of a DICOM object has an invalid Value Multiplicity value (not consistent with the dictionary definition). INVALID_VR: an attribute of a DICOM object has an invalid Value Representation value, which can either conflict with the data dictionary or has not been defined by the data dictionary. UNSUPPORTED_VALUE: a DICOM object contains attribute values that are outside of the supported range; for example, an unsupported pixel representation value. UNDEFINED_VALUE: a DICOM object contains attribute values that are not defined by the data model; for example, an undefined transfer syntax UID, an undefined SOP class UID, and so on. NOT_AN_IMAGE: When an image content processing function is invoked on a DICOM object, if the object's SOP class UID is defined but its classification is not "storageClass", or its content type is not "image", an exception is thrown. It may mean that the UID definition document is not up-to-date. An administrator can update the document to define the SOP class UID as a "storageClass" of "image" type. PARSE_ERR: When a DICOM object contains invalid data, a parse exception is thrown. This exception is ignored, and the parsing process continues. PARAMETER: OUTPUT_RAW_VALUE VALUE: an integer value (default to 0, no output) (-1 ~ 32767) DESCRIPTION: What to output in an XML metadata document when the parsing of a DICOM object fails. The base64 encoding of the attribute's byte value can be returned in the rawValue attribute of a DICOM XML element. The VALUE element specifies the maximal length allowed for the rawValue attribute. If $VALUE == -1, (not recommended), the entire attribute up to 32k is saved in the rawValue attribute in base64 encoding. If $VALUE == 0, an empty string is saved in the rawValue attribute (recommended for production systems). If $VALUE == N > 0, only the first N bytes of the attribute are saved in the rawValue attribute. A nonzero value for this parameter is useful for debugging purposes. For a production system, do NOT pick a value larger than 64. The value -1 should never be used outside of a development environment. PARAMETER: LOGGING_LEVEL VALUE: enum {debug, conformance, warning(default), error, none } DESCRIPTION: The logging level, if ordered by the level of detail from the most to the least is: "debug", "conformance", "warning", "error", and "none". "debug" means extensive logging of all steps; it should only be used for debugging purposes. "conformance" means to log all nonstandard conformance problems that are discovered. In general, nonconformance is very common for a DICOM object repository containing DICOM objects from different sources, for example, a hospital or an imaging center. This logging level may lead to large log files for most scenarios, and lower performance. "warning" means to log all recoverable messages that require operator attention. For example, if a user invokes an image processing function on a DICOM object and Oracle does not recognize this DICOM object as an image, a warning message is logged stating that this DICOM object is not defined as an image. The processing of the image content may continue if the CONFORMANCE_LEVEL parameter is set to ignore "NOT_AN_IMAGE" exception. "error" means to log only irrecoverable messages. "none" means that logging is disabled. Note: Do not use the "debug" option for a deployed system. It adds significant overhead and slows down all DICOM related functions. PARAMETER: VALIDATE_METADATA VALUE: Boolean{true, false(default)} DESCRIPTION: The DICOM function extractMetadata takes a mapping document as an input parameter. A mapping document contains a namespace parameter (which can be empty). If an XML schema is registered at this namespace, and the value of the VALIDATE_METADATA parameter is true, the extractMetadata function validates the resulting XML document against the designated schema. If the value of this parameter is false, the resulting XML document is not validated. PARAMETER: EXP_IF_NULL_ATTR_IN_CONSTRAINT VALUE: Boolean{true(default), false} DESCRIPTION: A DICOM object may not contain certain attributes that are used in a constraint predicate. The object may contain an attribute, but its value is empty. Both cases result to a null value attribute. So a constraint predicate involving this attribute has a null parameter value such as (null== MY_VALUE). If this preference parameter is set to true, an exception is thrown if the first occurrence of a a null-value attribute is not guarded by the "notEmpty" Boolean function. If this parameter is set to false, no exception is thrown and the predicate evaluates to false. To avoid confusion, it is always better to guard an attribute with "notEmpty" Boolean functions before using the attribute value in a predicate. PARAMETER: MAX_RECURSION_DEPTH VALUE: an integer type (default 16, 1 ~ 32767) DESCRIPTION: This parameter restricts the number of levels of recursions when evaluating a recursive constraint on a DICOM object. If the recursion level exceeds this number, an exception is thrown. PARAMETER: MANDATE_ATTR_TAGS_IN_STL VALUE: Boolean{false(default), true} DESCRIPTION: This parameter is used to enforce that all tags used by the constraint and mapping documents must be listed in the STORED_TAG_LIST(STL) document. This rule is not enforced by default. If this preference parameter is set to true, the rule is enforced. If an existing STL document does not satisfy this rule, the preference value cannot be set to true until the STL document is deleted. PARAMETER: SQ_WRITE_LEN VALUE: boolean{true(default), false} DESCRIPTION: This parameter determines how the DICOM sequence (SQ) types are encoded by the DICOM function writeMetadata(). If the value of this parameter is true, the SQ types are encoded with explicit length and without item or sequence delimitors. This is the default behavior and allows DICOM viewers to skip the sequence attributes easily. If the value of this parameter is false, the SQ types are encoded with variable (or undefined) length and terminated with sequence delimitors. This allows backward compatibility with some older DICOM viewers and Dicom applications as they only support undefined length for SQ types. PARAMETER: SPECIFIC_CHARACTER_SET VALUE: enum {ASCII(default), ISO_IR 100, ISO_IR 101, ISO_IR 109, ISO_IR 110, ISO_IR 144, ISO_IR 127, ISO_IR 126, ISO_IR 138, ISO_IR 148, ISO_IR 13, ISO_IR 166, ISO_IR 192, GB18030} DESCRIPTION: This parameter determines how data elements with value representations of SH (Short String), LO (Long String), ST (Short Text) LT (Long Text), PN (Person Name) or UT (Unlimited Text) are decoded when the Specific Character Set (0008,0005) Attribute is missing. The DICOM standard states that the default character set (ISO-IR 6, or ASCII) shall be used for decoding when the Specific Character Set (0008,0005) Attribute is not specified. This parameter allows an application to specify a different character set to use in these cases. PARAMETER: BINARY_SKIP_INVALID_ATTR VALUE: boolean{false(default), true} DESCRIPTION: It is possible that a DICOM object contains one or more attribute values that do not conform to the DICOM specification. In the event that such an attribute is present in a DICOM object, this parameter determines whether or not to "skip" (i.e. not include) the value of that attribute in the binary output when making a copy of the object in question. The default behavior, specified by setting this parameter to "false", is to not skip these values and to include them as-is in the coresponding output. When an attribute is skipped, its value is included in the output truncated to length 0. Each PREFERENCE_DEF entry describes one parameter that a repository administrator may modify to adjust the run-time behavior of the DICOM functionality.