Files
config-pacs-docker/dcm4chee/default/conf/xmdesc/dcm4chee-storescp-xmbean.xml
2025-02-26 14:49:25 +07:00

1397 lines
59 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mbean PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.1//EN" "http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_1.dtd">
<mbean>
<description><![CDATA[DICOM Storage SCP. Provides a DICOM storage service to receive DICOM objects from remote
DICOM applications. Typically these objects are images received from modalities. You can also configure
what DICOM SOP classes are accepted by the StoreScp service using the <b>AcceptedImageSOPClasses</b> and
<b>AcceptedOtherSOPClasses</b> atributes. The dcm4chee.archive=DCMServer
must be deployed first because the StoreScp registers itself against this server.]]>
</description>
<descriptors>
<persistence persistPolicy="OnUpdate"/>
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
</descriptors>
<class>org.dcm4chex.archive.dcm.storescp.StoreScpService</class>
<constructor>
<description>The default constructor</description>
<name>StoreScpService</name>
</constructor>
<!-- Attributes -->
&defaultAttributes;
<attribute access="read-write"
getMethod="getCalledAETs"
setMethod="setCalledAETs">
<description>List of accepted called AE titles, separated by \(backslash).
For example, ABPACS\ABPACS2.
</description>
<name>CalledAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="ABPACS"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getCallingAETs"
setMethod="setCallingAETs">
<description><![CDATA[
List of accepted calling AE titles, separated by \(backslash).<br/>
ANY = accept any. <br/>
CONFIGURED_AETS = accept any configured AE Title.
]]>
</description>
<name>CallingAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="ANY"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getUnrestrictedAppendPermissionsToAETitles"
setMethod="setUnrestrictedAppendPermissionsToAETitles">
<description><![CDATA[AE Titles of C-STORE SCUs with Append Permissions
on all archived Studies, independent of Study Permissions to roles
of the user associated to the active association.
Separate multiple values by \(backslash).
ANY = Disable restriction of storage to existing Studies according
granted Study Permissions.]]>
</description>
<name>UnrestrictedAppendPermissionsToAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="ANY" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getCoerceWarnCallingAETs"
setMethod="setCoerceWarnCallingAETs">
<description>List of the AE titles for the Storage SCUs for which
a warning status, B000, is returned if data elements were coerced.
Separate multiple values by \(backslash).
NONE = no calling AE titles.
</description>
<name>WarnForCoercedAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptMismatchIUIDCallingAETs"
setMethod="setAcceptMismatchIUIDCallingAETs">
<description>List of the AE titles for the Storage SCUs from which
storage requests with Affected SOP Instance UID in the command differs
from the SOP Instance UID are accepted.
Separate multiple values by \(backslash).
NONE = no calling AE titles.
</description>
<name>AcceptMismatchAffectedSOPInstanceUIDCallingAETiles</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getDefaultFileSystemGroupID"
setMethod="setDefaultFileSystemGroupID">
<description><![CDATA[ID of default file system group, used for storage
of received object from Storage SCUs, for which no specific file system
group is defined in an AE configuration entry.]]>
</description>
<name>DefaultFileSystemGroupID</name>
<type>java.lang.String</type>
<descriptors>
<value value="ONLINE_STORAGE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isAcceptMissingPatientID"
setMethod="setAcceptMissingPatientID">
<description><![CDATA[Accept storage of objects/images without patient ID]]>
</description>
<name>AcceptMissingPatientID</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isAcceptMissingPatientName"
setMethod="setAcceptMissingPatientName">
<description><![CDATA[Accept storage of objects/images without patient name]]>
</description>
<name>AcceptMissingPatientName</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getGeneratePatientID"
setMethod="setGeneratePatientID">
<description><![CDATA[Generate a patient ID from a hash of the patient
name and birth date and/or study instance uid, if the received object contains
no patient ID, or if it is received from one Storage SCU listend in
<b>GeneratePatientIDForUnscheduledFromAETitles</b> and does not contain a
reference to a Scheduled Procedure Step.
<br>Use ### and/or $$$ as a placeholder for the decimal hash value of patient
name and/or study instance uid. For example, PACS-##########.
<br>NONE = do not generate patient IDs.
<br><i>Issuer of Patient ID</i> for generated <i>Patient IDs</i> will be set to
the <i>Issuer of Patient ID</i> associated to the Storage SCP (=Called) AE by
its AE configuration entry. If no <i>Issuer of Patient ID</i> is configured for
the Storage SCP, <i>Issuer of Patient ID</i> is set to the value configured by
attribute <b>IssuerOfPatientIDGeneratedPatientID</b>.]]>
</description>
<name>GeneratePatientID</name>
<type>java.lang.String</type>
<descriptors>
<value value="PACS-##########"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getIssuerOfGeneratedPatientID"
setMethod="setIssuerOfGeneratedPatientID">
<description><![CDATA[<i>Issuer of Patient ID</i> for generated
<i>Patient ID's</i>, if no <i>Issuer of Patient ID</i> is associated with the
Storage SCP (=Called) AE by its AE Configuration entry.]]>
</description>
<name>IssuerOfPatientIDGeneratedPatientID</name>
<type>java.lang.String</type>
<descriptors>
<value value="ABPACS"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementIssuerOfPatientID"
setMethod="setSupplementIssuerOfPatientID">
<description><![CDATA[Supplement received objects containing a
<i>Patient ID</i>, but no <i>Issuer of Patient ID</i>, with a value
for <i>Issuer of Patient ID</i>, if such is associated with the
Storage SCU AE by its AE Configuration entry.]]>
</description>
<name>SupplementIssuerOfPatientID</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementIssuerOfAccessionNumber"
setMethod="setSupplementIssuerOfAccessionNumber">
<description><![CDATA[Supplement received objects containing an
<i>Accession Number</i>, but no <i>Issuer of Accession Number
Sequence</i>, with such Sequence containing one item with
<i>Local Namespace Enitity ID</i>, <i>Universial Enitity ID</i> and
<i>Universial Enitity ID Type</i>, if such is associated with the
Storage SCU AE by its AE Configuration entry.]]>
</description>
<name>SupplementIssuerOfAccessionNumber</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementInstitutionName"
setMethod="setSupplementInstitutionName">
<description><![CDATA[If the Storage SCU AE has a value configured for
<i>Institution</i> within the database AE Configuration, use this value to
supplement objects received from the AE which do not contain an
<i>Institution Name</i> (DICOM tag (0008,0080)).]]>
</description>
<name>SupplementInstitutionName</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementInstitutionalDepartmentName"
setMethod="setSupplementInstitutionalDepartmentName">
<description><![CDATA[If the Storage SCU AE has a value configured for
<i>Department</i> within the database AE Configuration, use this value to
supplement objects received from the AE which do not contain an
<i>Institutional Department Name</i> (DICOM tag (0008,1040)).]]>
</description>
<name>SupplementInstitutionalDepartmentName</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementByHostName"
setMethod="setSupplementByHostName">
<description><![CDATA[If there is no <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>,
<i>Institutional Department Name</i> associated to the Storage SCU AE
by an AE configuration entry with matching AE Title, AE configuration
entries which host name is equals to the <b>host name</b> of the
Storage SCU AE will be considered to determine the associated
<i>Issuer of Patient ID</i>, <i>Issuer of Accession Number Sequence</i>
item, <i>Institution Name</i> or <i>Institutional Department Name</i>.
If there are several AE configuration entries with matching host name
with different non-zero values for <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>
or <i>Institutional Department Name</i>, no <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>
or <i>Institutional Department Name</i> will be supplemented.]]>
</description>
<name>SupplementByHostName</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementByHostAddress"
setMethod="setSupplementByHostAddress">
<description><![CDATA[If there is no <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>,
<i>Institutional Department Name</i> associated to the Storage SCU AE
by an AE configuration entry with matching AE Title, AE configuration
entries which host name is equals to the <b>IP address</b> of the
Storage SCU AE will be considered to determine the associated
<i>Issuer of Patient ID</i>, <i>Issuer of Accession Number Sequence</i>
item, <i>Institution Name</i> or <i>Institutional Department Name</i>.
If there are several AE configuration entries with matching host name
with different non-zero values for <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>
or <i>Institutional Department Name</i>, no <i>Issuer of Patient ID</i>,
<i>Issuer of Accession Number Sequence</i> item, <i>Institution Name</i>
or <i>Institutional Department Name</i> will be supplemented.]]>
</description>
<name>SupplementByHostAddress</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getGeneratePatientIDForUnscheduledFromAETs"
setMethod="setGeneratePatientIDForUnscheduledFromAETs">
<description><![CDATA[List of AE titles of Storage SCUs for which the
Patient ID in received objects without Scheduled Procedure Step reference
shall be replaced by a new generated Patient ID. Separate multiple values
by "\"(backslash).
<br/>If the list is prefixed by "!\", the Patient ID in objects without
Scheduled Procedure Step reference received from <b>any</b> Storage SCU,
<b>except</b> which AE title is specified in the list, will be replaced
by a new generated Patient ID.
<br/>"NONE" = do not replace Patient IDs in objects received from any
Storage SCU.
]]>
</description>
<name>GeneratePatientIDForUnscheduledFromAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getPatientMatching"
setMethod="setPatientMatching">
<description><![CDATA[Defines which Patient Attributes in the first
received DICOM Composite Objects of a DICOM Study shall be considered for the
selection of an existing Patient records in the archive to which the new Study
will be associated.
<p>
Format: 'pid'['?']',issuer'['?'][',' ['['] <i>demograhic-matches</i> [']'] ]
<br/><i>demograhic-matches</i> ::= <i>demograhic-match</i>['|' ...]
<br/><i>demograhic-match</i> ::= [<i>ignore</i>',']<i>demograhic-fields</i>
<br/><i>ignore</i> ::= 'ignore("' <i>regular-expression</i> '")'
<br/><i>demograhic-fields</i> ::= <i>demograhic-field</i>['?'][',' ...]
<br/><i>demograhic-field</i> ::= 'familyname'['(1)'] | 'givenname'['(1)'] | 'middlename'['(1)'] | 'nameprefix'['(1)'] | 'namesuffix'['(1)'] | birthdate | sex
<p>
Multiple alternative <i>demograhic-matches</i> can be specified using '|' as
delimiter.
<p>
Substrings specified by 'ignore("' <i>regular-expression</i> '")' will be ignored for matching patient name
components.
<p>
A '(1)' suffix of the attribute name specifies that only the first character
need to match.
<p>
A question mark('?') after a attribute name specifies that a missing value in
received DICOM objects will match with any value for that attribute in
existing Patient Records, as Patient Records with missing values for that
attribute will match with any value for that attribute in received DICOM
objects. Attribute names without question marks specifies, that DICOM objects
without values for such attributes will not match any existing Patient Record,
and Patient Records without values for such attributes will not get selected on
receive of any DICOM Composite Object.
<p>
With 'pid<b>?</b>', you have to configure the Patient's family name complex
('familyname') as additional matching criterium.
<p>
Surrounding <i>demograhic-matches</i> by brackets('[]') defines, that
demographic fields shall *not* be considered for the selection of an existing
Patient record, if the Patient ID is qualified by an Issuer/Authority in the
received DICOM Composite Object *and* in the matching Patient Record.
<p>
Without surrounding brackets('[]'), the specified <i>demograhic-match</i>
will be considered even if the Patient ID is qualified by an Issuer/Authority
in the received DICOM Composite Object and there is an existing Patient
Record with such Patient ID and Issuer/Authority: If the Patient Record does
not also match in the specified demographic attributes, it will not be selected,
but Patient ID and Issuer/Authority in the received DICOM Composite Object
will be replace by a new Patient ID generated according configured
<b>GeneratePatientID</b> and by configured <b>IssuerOfGeneratedPatientID</b>.
If <b>StoreOriginalPatientIDInOtherPatientIDsSequence</b> = <code>true</code>,
the original <i>Patient ID</i> and <i>Issuer of Patient ID</i> in the received
DICOM Composite Object will be stored in an item of the <i>Other Patient IDs
Sequence</i>.
<p><b>Warning:</b>Improper configuration may cause study assignments to wrong patient.<br/>
<p>Default: <code>pid,issuer?[familyname,givenname,middlename?,birthdate]</code>
]]>
</description>
<name>PatientMatching</name>
<type>java.lang.String</type>
<descriptors>
<value value="pid,issuer?[familyname,givenname,middlename?,birthdate]" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isStoreOriginalPatientIDInOtherPatientIDsSeq"
setMethod="setStoreOriginalPatientIDInOtherPatientIDsSeq">
<description><![CDATA[Specifies, if the original <i>Patient ID</i> and
<i>Issuer of Patient ID</id> in the received DICOM Composite Object will be
stored in an item of the <i>Other Patient IDs Sequence</i>, if they have to be
replaced by a new generated Patient ID, caused by an already existing Patient
Record with matching <i>Patient ID</i> and <i>Issuer of Patient ID</i>, but
not matching demographic fields.]]>
</description>
<name>StoreOriginalPatientIDInOtherPatientIDsSequence</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isStoreOriginalPatientIDInOriginalAttrsSeq"
setMethod="setStoreOriginalPatientIDInOriginalAttrsSeq">
<description><![CDATA[Specifies, if the original <i>Patient ID</i> and
<i>Issuer of Patient ID</id> in the received DICOM Composite Object will be
stored in an item of the <i>Original Attributes Sequence</i>, if they have to be
replaced by a new generated Patient ID, caused by an already existing Patient
Record with matching <i>Patient ID</i> and <i>Issuer of Patient ID</i>, but
not matching demographic fields.]]>
</description>
<name>StoreOriginalPatientIDInOriginalAttrsSeq</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isStudyDateInFilePath"
setMethod="setStudyDateInFilePath">
<description><![CDATA[Use Study Date in received objects to structure directories of the storage file system.
Otherwise - or if the received object does not contain a Study Date - the current date, when receiving the object, is used.
(s.a. attributes YearInFilePath, MonthInFilePath, DayInFilePath, HourInFilePath)]]>
</description>
<name>StudyDateInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSourceAETInFilePath"
setMethod="setSourceAETInFilePath">
<description><![CDATA[Include Source AE Title in storage directory structure.]]>
</description>
<name>SourceAETInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isYearInFilePath"
setMethod="setYearInFilePath">
<description><![CDATA[Use the year of Study or receiving Date to structure directories of the storage file system.
(s.a. attributes StudyDateInFilePath, MonthInFilePath, DayInFilePath, HourInFilePath)]]>
</description>
<name>YearInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isMonthInFilePath"
setMethod="setMonthInFilePath">
<description><![CDATA[Use the year of Study or receiving Date to structure directories of the storage file system.
(s.a. attributes StudyDateInFilePath, YearInFilePath, DayInFilePath, HourInFilePath)]]>
</description>
<name>MonthInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isDayInFilePath"
setMethod="setDayInFilePath">
<description><![CDATA[Use the year of Study or receiving Date to structure directories of the storage file system.
(s.a. attributes StudyDateInFilePath, YearInFilePath, MonthInFilePath, HourInFilePath)]]>
</description>
<name>DayInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isHourInFilePath"
setMethod="setHourInFilePath">
<description><![CDATA[Use the year of Study or receiving Date to structure directories of the storage file system.
(s.a. attributes StudyDateInFilePath, YearInFilePath, MonthInFilePath, DayInFilePath)]]>
</description>
<name>HourInFilePath</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getReferencedDirectoryPath"
setMethod="setReferencedDirectoryPath">
<description><![CDATA[Used to split directory path (mount point) from
file path in the (0040,E010) Retrieve URI of objects received with
private Transfer Syntax: 1.2.40.0.13.1.1.2.4.94/Dcm4che URI Referenced.
A relative path name is resolved relative to
<i>archive-install-directory</i>/server/default/. Alternatively an URI
can be specified. In any case, there must be already a file system
configured, which directory path match the value. If an URI is specified,
the (0040,E010) Retrieve URI in received objects must start with the value
+ '/'. If a directory path is specified, the Retrieve URI must
start with 'file:' + absolute directory path. Otherwise the storage will fail.<br/>
Multiple path/URI can be specified (one per line)<br/>
ALL means All configured filesystems of <i>ReferencedFileSystemGroupID</i>]]>
</description>
<name>ReferencedDirectoryPath</name>
<type>java.lang.String</type>
<descriptors>
<value value="archive"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getReferencedFileSystemGroupID"
setMethod="setReferencedFileSystemGroupID">
<description><![CDATA[ID of file system group to with the file system
configured in <i>ReferencedDirectoryPath</i> belongs.]]>
</description>
<name>ReferencedFileSystemGroupID</name>
<type>java.lang.String</type>
<descriptors>
<value value="ONLINE_STORAGE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isReadReferencedFile"
setMethod="setReadReferencedFile">
<description><![CDATA[Specifies if the file referenced by (0040,E010)
Retrieve URI is parsed to supplement attributes in the C-STORE RQ with
all attributes from the filed DICOM object. Only effective for receiving
objects encoded with private Transfer Syntax:
1.2.40.0.13.1.1.2.4.94/Dcm4che URI Referenced.]]>
</description>
<name>ReadReferencedFile</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isMd5sumReferencedFile"
setMethod="setMd5sumReferencedFile">
<description><![CDATA[Specifies if the MD5 file check sum for
the file referenced by (0040,E010) Retrieve URI is calculated.
Only effective for receiving objects encoded with private Transfer Syntax:
1.2.40.0.13.1.1.2.4.94/Dcm4che URI Referenced and with attribute
<i>ReadReferencedFile</i> = <code>true</code>.]]>
</description>
<name>Md5sumReferencedFile</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isMd5sum"
setMethod="setMd5sum">
<description><![CDATA[Generates MD5 file check sum during storage and
keep it in DB record]]>
</description>
<name>Md5sum</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSyncFileBeforeCStoreRSP"
setMethod="setSyncFileBeforeCStoreRSP">
<description><![CDATA[Flush file system buffers after storage of received
objects <b>before</b> sending successful C-STORE RSP. <b>Excludes</b>
possibility of truncated files on disk, caused by a system crash just
after storage of a received object because the OS disk cache may not
yet have written to the storage device, at the expense of storage
performance.]]>
</description>
<name>SyncFileBeforeCStoreRSP</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSyncFileAfterCStoreRSP"
setMethod="setSyncFileAfterCStoreRSP">
<description><![CDATA[Flush file system buffers after storage of received
objects <b>after</b> sending successful C-STORE RSP. <b>Minimize</b>
likilihood of truncated files on disk, caused by a system crash just
after storage of a received object because the OS disk cache may not
yet have written to the storage device, <b>without</b> significant
decrease of storage performance. Only effective, if
<b>SyncFileBeforeCStoreRSP</b> is <code>false</code>.]]>
</description>
<name>SyncFileAfterCStoreRSP</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isStoreDuplicateIfDiffMD5"
setMethod="setStoreDuplicateIfDiffMD5">
<description><![CDATA[Store a duplicate object if the MD5 sum of the
new object differs from the MD5 sum of the existing file. If the MD5 sum
does not match, the files may be corrupted.]]>
</description>
<name>StoreDuplicatesIfDifferentMD5</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAllowDuplicateForBetterAvailabilityForAET"
setMethod="setAllowDuplicateForBetterAvailabilityForAET">
<description><![CDATA[If a Called AET is specified, duplicate objects will be stored if the
availability of the new file is better (lower) than of other existing files.<br />
Further processing like forward, filecopy,.. of the new object is disabled in this case!
Use NONE to disable this feature.]]>
</description>
<name>AllowDuplicateForBetterAvailabilityForAET</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isAllowDiffMD5ForBetterAvailability"
setMethod="setAllowDiffMD5ForBetterAvailability">
<description><![CDATA[Allow also objects with different MD5 sum if the called AET is <code>AllowDuplicateForBetterAvailabilityForAET</code><br />
]]>
</description>
<name>AllowDiffMD5ForBetterAvailability</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isDontStoreDuplicateIfFromExternalRetrieveAET"
setMethod="setDontStoreDuplicateIfFromExternalRetrieveAET">
<description><![CDATA[Dont store a duplicate object if the object is sent from external retrieve AET.
If enabled, the StoreDuplicatesIfDifferentMD5 and StoreDuplicatesIfDifferentHost has no effect if
CallingAET of store request is the external retrieve AET of the existing instance.]]>
</description>
<name>DontStoreDuplicateIfFromExternalRetrieveAET</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isStoreDuplicateIfDiffHost"
setMethod="setStoreDuplicateIfDiffHost">
<description><![CDATA[Store duplicate objects if the existing files are <b>NOT</b> located
on this host.]]>
</description>
<name>StoreDuplicatesIfDifferentHost</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getCompressionRules"
setMethod="setCompressionRules">
<description><![CDATA[List of image compression rules. First matching
rule for a received uncompressed image defines its compression. Enables to set
compression methods dependent on Calling/Called AE Title in the A-Associate RQ
from the Storage SCU and on values of particular image attributes
(s. <b>Attributes for compression conditions</b> below).</p>
<p>
<b>Syntax:</b><br>
&lt;compression rules&gt; := (&lt;compression rule&gt; &lt;EOL&gt;)+<br><br>
&lt;compression rule&gt; := [&lt;conditions&gt;] &lt;compression&gt;<br><br>
&lt;conditions&gt; := '<tt>[</tt>' &lt;condition&gt; {'<tt>,</tt>' &lt;condition&gt;} '<tt>]</tt>'<br><br>
&lt;condition&gt; := &lt;attribute&gt; ['<tt>!</tt>']'<tt>=</tt>' &lt;value&gt; {'<tt>|</tt>' &lt;value&gt;}<br><br>
&lt;attribute&gt; := '<tt>calling</tt>' | '<tt>called</tt>' | '<tt>pmi</tt>' | '<tt>cuid</tt>' | '<tt>imgtype</tt>' | '<tt>bodypart</tt>'<br><br>
&lt;compression&gt; := 'NONE' | 'JPLL' | 'JLSL' | 'J2KR' | ('JPLY' ['<tt>(</tt>' &lt;quality&gt; '<tt>:</tt>' &lt;description&gt; '<tt>:</tt>' &lt;ratio&gt; '<tt>)</tt>'])<br><br>
&lt;quality&gt; := used compression quality between 0.0 and 1.0, 0.75 by default.<br><br>
&lt;description&gt; := description stored in attribute <i>Derivation Description (0008,2111)</i>, "JPEG Lossy Compression with quality=0.75" by default.<br><br>
&lt;ratio&gt; := estimated compression ratio stored in attribute <i>Lossy Image Compression Ratio (0028,2112)</i>, 5.0 by default.
<p>
<b>Supported compression modes:</b>
<ul>
<li><tt>NONE</tt> - do not apply compression.</li>
<li><tt>JPLL</tt> - JPEG Lossless</li>
<li><tt>JLSL</tt> - JPEG-LS Lossless</li>
<li><tt>J2KR</tt> - JPEG 2000 Lossless</li>
<li><tt>JPLY</tt> - JPEG Lossy</li>
</ul>
<p>
<b>Attributes for compression conditions:</b>
<ul>
<li><tt>calling</tt> - Calling AE title in A-Associate RQ from Storage SCU.</li>
<li><tt>called</tt> - Called AE title in A-Associate RQ from Storage SCU.</li>
<li><tt>pmi</tt> - <i>Photometric Interpretation (0028,0004)</i> of image.</li>
<li><tt>cuid</tt> - <i>SOP Class UID (0008,0016)</i> of image.</li>
<li><tt>imgtype</tt> - <i>Image Type (0008,0008)</i> of image.</li>
<li><tt>bodypart</tt> - <i>Body Part Examined (0018,0015)</i> of image.</li>
</ul>
<p>
The value of the attribute <b>MaxConcurrentCodec</b> of the <b>Compression
Service</b> also effects the on-the-fly compression and decompression during
the store of images by the Storage SCP.]]>
</description>
<name>CompressionRules</name>
<type>java.lang.String</type>
<descriptors>
<value value="[pmi=YBR_FULL_422]NONE;[calling=SAMPLE_SCU1|SAMPLE_SCU2,pmi!=RGB,imgtype!=LOCALIZER]JLSL;NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getCheckPendingSeriesStoredInterval"
setMethod="setCheckPendingSeriesStoredInterval">
<description><![CDATA[Interval in hours (#h), minutes (#m) or
seconds (#s) in which the data base is polled for new received Series, for
which Series Stored Notifications were not yet emitted.]]>
</description>
<name>CheckPendingSeriesStoredInterval</name>
<type>java.lang.String</type>
<descriptors>
<value value="1m"/>
</descriptors>
</attribute>
<attribute access="read-only"
getMethod="isRunning">
<description>Current state if CheckPendingSeriesStored task is running. Used to avoid concurrency!
</description>
<name>isRunning</name>
<type>boolean</type>
</attribute>
<attribute access="read-write"
getMethod="getSeriesStoredNotificationDelay"
setMethod="setSeriesStoredNotificationDelay">
<description><![CDATA[Minimal delay(s) in hours (#h), minutes (#m) or
seconds (#s) between the receive of the last object of a Series and the
emission of a Series Stored Notification for that Series. Shall not be
configured smaller than the maximal time between the receive of two objects
belonging to the same Series to avoid emission of multiple Series Stored
Notifications for one Series.<br/>
Supports also AE specific delays.<br/>
Format: [&lt;AE Title&gt;:]&lt;delay&gt;<br/>
Note: A default delay (without '&lt;AE Title&gt;:') must be configured!
]]></description>
<name>SeriesStoredNotificationDelay</name>
<type>java.lang.String</type>
<descriptors>
<value value="1m"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSerializeDBUpdate"
setMethod="setSerializeDBUpdate">
<description><![CDATA[Serialize updates of DB records for received
objects in one association. May decreases Storage Performance!]]>
</description>
<name>SerializeDBUpdate</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getUpdateDatabaseMaxRetries"
setMethod="setUpdateDatabaseMaxRetries">
<description>Maximum number of retries to update the database records
for new received objects, before a processing failure is returned to
the Storage SCU.
</description>
<name>UpdateDatabaseMaximumRetries </name>
<type>int</type>
<descriptors>
<value value="2"/>
</descriptors>
</attribute>
<attribute access="read-only"
getMethod="getMaxCountUpdateDatabaseRetries">
<description>Maximum number of retries actually performed to update the
database records for new received objects.
</description>
<name>UpdateDatabasePerformedRetries</name>
<type>int</type>
</attribute>
<attribute access="read-write"
getMethod="getUpdateDatabaseRetryInterval"
setMethod="setUpdateDatabaseRetryInterval">
<description>Delay in milliseconds between retries to update the
database records for new received objects.
</description>
<name>UpdateDatabaseRetryInterval</name>
<type>long</type>
<descriptors>
<value value="0"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedImageSOPClasses"
setMethod="setAcceptedImageSOPClasses">
<description><![CDATA[
List of image SOP Classes that the Store SCP service accepts.
Use either the SOP Class UID value, or the name specified in
DICOM Part 6, Annex A Registry of DICOM unique identifiers,
concatenating individual words without spaces.]]>
</description>
<name>AcceptedImageSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ComputedRadiographyImageStorage
DigitalXRayImageStorageForPresentation
DigitalXRayImageStorageForProcessing
DigitalMammographyXRayImageStorageForPresentation
DigitalMammographyXRayImageStorageForProcessing
DigitalIntraoralXRayImageStorageForPresentation
DigitalIntraoralXRayImageStorageForProcessing
CTImageStorage
EnhancedCTImageStorage
UltrasoundMultiframeImageStorage
MRImageStorage
EnhancedMRImageStorage
EnhancedMRColorImageStorage
UltrasoundImageStorage
EnhancedUSVolumeStorage
SecondaryCaptureImageStorage
MultiframeSingleBitSecondaryCaptureImageStorage
MultiframeGrayscaleByteSecondaryCaptureImageStorage
MultiframeGrayscaleWordSecondaryCaptureImageStorage
MultiframeTrueColorSecondaryCaptureImageStorage
XRayAngiographicImageStorage
EnhancedXRayAngiographicImageStorage
XRayRadiofluoroscopicImageStorage
EnhancedXRayRadiofluoroscopicImageStorage
XRay3DAngiographicImageStorage
XRay3DCraniofacialImageStorage
BreastTomosynthesisImageStorage
NuclearMedicineImageStorage
VLEndoscopicImageStorage
VLMicroscopicImageStorage
VLSlideCoordinatesMicroscopicImageStorage
VLPhotographicImageStorage
OphthalmicPhotography8BitImageStorage
OphthalmicPhotography16BitImageStorage
OphthalmicTomographyImageStorage
PositronEmissionTomographyImageStorage
EnhancedPETImageStorage
RTImageStorage
HardcopyGrayscaleImageStorage
HardcopyColorImageStorage
NuclearMedicineImageStorageRetired
UltrasoundMultiframeImageStorageRetired
UltrasoundImageStorageRetired
XRayAngiographicBiPlaneImageStorageRetired
VLImageStorageRetired
VLMultiframeImageStorageRetired
PrivateGE3DModelStorage
PrivateGEPETRawDataStorage
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntaxForImageSOPClasses"
setMethod="setAcceptedTransferSyntaxForImageSOPClasses">
<description><![CDATA[
List of Transfer Syntaxes for Image SOP Classes that Store SCP
service accepts. Order defines selection preference. Use either the
Transfer Syntaxes UID value or following defined symbolic names:
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
DeflatedExplicitVRLittleEndian,
ExplicitVRBigEndian,
JPEGBaseline,
JPEGExtended,
JPEGLossless (=Process 14 [Selection Value 1]),
JPEGLossless14,
JPEGLSLossless,
JPEGLSLossy,
JPEG2000Lossless,
JPEG2000Lossy,
RLELossless,
Dcm4cheURIReferenced
NoPixelData
NoPixelDataDeflate
]]>
</description>
<name>AcceptedTransferSyntaxForImageSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ImplicitVRLittleEndian
ExplicitVRLittleEndian
JPEGLossless
JPEGLossless14
JPEGLSLossless
RLELossless
JPEG2000Lossless
JPEG2000Lossless
JPEGBaseline
JPEGExtended
JPEGLSLossy
JPEG2000Lossy
Dcm4cheURIReferenced
NoPixelData
NoPixelDataDeflate"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedVideoSOPClasses"
setMethod="setAcceptedVideoSOPClasses">
<description><![CDATA[
List of Video SOP Classes that the Store SCP service accepts.
Use either the SOP Class UID value, or the name specified in
DICOM Part 6, Annex A Registry of DICOM unique identifiers,
concatenating individual words without spaces.]]>
</description>
<name>AcceptedVideoSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
VideoEndoscopicImageStorage
VideoMicroscopicImageStorage
VideoPhotographicImageStorage"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntaxForVideoSOPClasses"
setMethod="setAcceptedTransferSyntaxForVideoSOPClasses">
<description><![CDATA[
List of Transfer Syntaxes for Video SOP Classes that Store SCP
service accepts. Order defines selection preference. Use either the
Transfer Syntaxes UID value or following defined symbolic names:
JPEGBaseline,
MPEG2,
MPEG2HL,
MPEG4,
MPEG4BD,
Dcm4cheURIReferenced
NoPixelData
NoPixelDataDeflate
]]>
</description>
<name>AcceptedTransferSyntaxForVideoSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
JPEGBaseline
MPEG2
MPEG2HL
MPEG4
MPEG4BD
Dcm4cheURIReferenced
NoPixelData
NoPixelDataDeflate"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedWaveformSOPClasses"
setMethod="setAcceptedWaveformSOPClasses">
<description><![CDATA[
List of Waveform SOP Classes that the Store SCP service accepts.
Use either the SOP Class UID value, or the name specified in
DICOM Part 6, Annex A Registry of DICOM unique identifiers,
concatenating individual words without spaces.]]>
</description>
<name>AcceptedWaveformSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
TwelveLeadECGWaveformStorage
GeneralECGWaveformStorage
AmbulatoryECGWaveformStorage
HemodynamicWaveformStorage
CardiacElectrophysiologyWaveformStorage
BasicVoiceAudioWaveformStorage
ArterialPulseWaveformStorage
RespiratoryWaveformStorage
GeneralAudioWaveform
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntaxForWaveformSOPClasses"
setMethod="setAcceptedTransferSyntaxForWaveformSOPClasses">
<description><![CDATA[
List of Transfer Syntaxes for Waveform SOP Classes that Store SCP
service accepts. Order defines selection preference. Use either the
Transfer Syntaxes UID value or following defined symbolic names:
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
DeflatedExplicitVRLittleEndian,
ExplicitVRBigEndian,
Dcm4cheURIReferenced
]]>
</description>
<name>AcceptedTransferSyntaxForWaveformSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ImplicitVRLittleEndian
ExplicitVRLittleEndian
Dcm4cheURIReferenced
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedSRSOPClasses"
setMethod="setAcceptedSRSOPClasses">
<description><![CDATA[
List of Structured Report Document SOP Classes that the
Store SCP service accepts.
Use either the SOP Class UID value, or the name specified in
DICOM Part 6, Annex A Registry of DICOM unique identifiers,
concatenating individual words without spaces.]]>
</description>
<name>AcceptedSRSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
BasicTextSR
EnhancedSR
ComprehensiveSR
ProcedureLogStorage
MammographyCADSR
KeyObjectSelectionDocument
ChestCADSR
ColonCADSR
XRayRadiationDoseSR
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntaxForSRSOPClasses"
setMethod="setAcceptedTransferSyntaxForSRSOPClasses">
<description><![CDATA[
List of Transfer Syntaxes for Structured Report Document SOP Classes
that Store SCP service accepts. Order defines selection preference.
Use either the Transfer Syntaxes UID value or following defined
symbolic names:
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
DeflatedExplicitVRLittleEndian,
ExplicitVRBigEndian,
Dcm4cheURIReferenced
]]>
</description>
<name>AcceptedTransferSyntaxForSRSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ImplicitVRLittleEndian
ExplicitVRLittleEndian
DeflatedExplicitVRLittleEndian
Dcm4cheURIReferenced
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedOtherSOPClasses"
setMethod="setAcceptedOtherSOPClasses">
<description><![CDATA[
List of other (than Image, Video, Waveform, Structured Report) SOP
Classes that the Store SCP service accepts.
Use either the SOP Class UID value, or the name specified in
DICOM Part 6, Annex A Registry of DICOM unique identifiers,
concatenating individual words without spaces.]]>
</description>
<name>AcceptedOtherSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
MRSpectroscopyStorage
GrayscaleSoftcopyPresentationStateStorage
ColorSoftcopyPresentationStateStorage
PseudoColorSoftcopyPresentationStateStorage
BlendingSoftcopyPresentationStateStorage
XAXRFGrayscaleSoftcopyPresentationStateStorage
RawDataStorage
SpatialRegistrationStorage
SpatialFiducialsStorage
DeformableSpatialRegistrationStorage
SegmentationStorage
RealWorldValueMappingStorage
StereometricRelationshipStorage
EncapsulatedPDFStorage
EncapsulatedCDAStorage
RTDoseStorage
RTStructureSetStorage
RTBeamsTreatmentRecordStorage
RTPlanStorage
RTBrachyTreatmentRecordStorage
RTTreatmentSummaryRecordStorage
RTIonPlanStorage
RTIonBeamsTreatmentRecordStorage
StandaloneOverlayStorage
StandaloneCurveStorage
StandaloneModalityLUTStorage
StandaloneVOILUTStorage
StandalonePETCurveStorage
AgfaAttributePresentationState
SiemensCSANonImageStorage
Dcm4cheEncapsulatedDocumentStorage
PrivatePhillips3DPresentationStateStorage
PrivatePhillipsMRSpectrumStorage
PrivatePhillipsMRSeriesDataStorage
PrivatePhillipsMRExamcardDataStorage
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntax"
setMethod="setAcceptedTransferSyntax">
<description><![CDATA[
List of Transfer Syntaxes for other (than Image, Video, Waveform,
Structured Report) SOP Classes that Store SCP service accepts. Order
defines selection preference. Use either the
Transfer Syntaxes UID value or following defined symbolic names:
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
DeflatedExplicitVRLittleEndian,
ExplicitVRBigEndian,
Dcm4cheURIReferenced
]]>
</description>
<name>AcceptedTransferSyntaxForOtherSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ImplicitVRLittleEndian
ExplicitVRLittleEndian
Dcm4cheURIReferenced
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isCheckIncorrectWorklistEntry"
setMethod="setCheckIncorrectWorklistEntry">
<description>Check if a received instance should be ignored due to 'Incorrect Worklist Entry Selected'.
</description>
<name>CheckIncorrectWorklistEntry</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getOnlyWellKnownInstancesCallingAETs"
setMethod="setOnlyWellKnownInstancesCallingAETs">
<description><![CDATA[List of the AE titles for the Storage SCUs from which
storage requests with unknown SOP Instance UID are ignored.<br/>
This can be used to avoid getting wrong instances from systems (e.g. central archive)
that are not aware of changes of this archive.<br/>
Separate multiple values by \(backslash).
NONE = no calling AE titles.
]]></description>
<name>OnlyWellKnownInstancesCallingAETs</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getMaxPDULength"
setMethod="setMaxPDULength">
<description>Maximum protocol data unit (PDU) package length for receiving PDUs.
Attention: This property should be set to equal values for all DICOM SCP
services with same called AE Title(s)! Otherwise it is non-deterministic,
which configured value is effective!
</description>
<name>MaximumPDULength</name>
<type>int</type>
<descriptors>
<value value="16352"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getMaxOpsInvoked"
setMethod="setMaxOpsInvoked">
<description>The maximum number of outstanding operations and/or
sub-operations it allows the Association-requester to invoke asynchronously.
A value of zero indicates an unlimited number of outstanding operations.
Attention: This property should be set to equal values for all DICOM SCP
services with same called AE Title(s)! Otherwise it is non-deterministic,
which configured value is effective!
</description>
<name>MaximumOperationsInvoked</name>
<type>int</type>
<descriptors>
<value value="1"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getMaxOpsPerformed"
setMethod="setMaxOpsPerformed">
<description>The maximum number of outstanding operations and/or
sub-operations it allows the Association-requester to perform asynchronously.
A value of zero indicates an unlimited number of outstanding operations.
Attention: This property should be set to equal values for all DICOM SCP
services with same called AE Title(s)! Otherwise it is non-deterministic,
which configured value is effective!
</description>
<name>MaximumOperationsPerformed</name>
<type>int</type>
<descriptors>
<value value="1"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getMaxValueLength"
setMethod="setMaxValueLength">
<description>Maximum value length of non-pixel data attributes of
received objects. Storage of objects with attributes with larger value
length will fail.
</description>
<name>MaximumValueLength</name>
<type>int</type>
<descriptors>
<value value="67108864"/> <!-- 64MiB -->
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getBufferSize"
setMethod="setBufferSize">
<description>Size of byte buffer used for copying data from TCP channel to file.
</description>
<name>BufferSize</name>
<type>int</type>
<descriptors>
<value value="8192"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getLogCallingAETs"
setMethod="setLogCallingAETs">
<description><![CDATA[List of the AE titles for the Storage SCUs for which
XMLized object attributes are logged into files
<i>AET</i>/<i>timestamp</i>-cstorerq.xml in the log directory.
Useful for creation of XSL stylesheets for attribute coercion.
Separate multiple values by \ (backslash).
NONE = no calling AE titles.]]>
</description>
<name>LogAETitles</name>
<type>java.lang.String</type>
<descriptors>
<value value="NONE"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getCoerceConfigDir"
setMethod="setCoerceConfigDir">
<description><![CDATA[Directory where configuration files for
attribute coercion are located: if XSL stylesheet "cstorerq.xsl"
exists in this directory or in a sub-directory equal to the AE Title of
a Storage SCU, attributes from this SCU will be coerced according these
stylesheets. A relative path name is resolved relative to
<i>archive-install-directory</i>/server/default/.]]>
</description>
<name>CoerceConfigDirectory</name>
<type>java.lang.String</type>
<descriptors>
<value value="conf/dcm4chee-ae"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isWriteCoercionXmlLog"
setMethod="setWriteCoercionXmlLog">
<description><![CDATA[Enable logging of coercions in separate log files.<br/>
FileName: &lt;LOG_DIR&gt;/coercion/&lt;timestamp&gt;.&lt;xsl file&gt;.[in]|[out]<br/>
Coercion logs are only written for Calling AETs specified in LogAETitles!]]>
</description>
<name>WriteCoercionXmlLog</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isCoerceBeforeWrite"
setMethod="setCoerceBeforeWrite">
<description><![CDATA[Perform attribute coercion prior to writing to online filesystem.]]>
</description>
<name>CoerceBeforeWrite</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getTimerIDCheckPendingSeriesStored"
setMethod="setTimerIDCheckPendingSeriesStored">
<description>Used internally. Do NOT modify.
</description>
<name>TimerIDCheckPendingSeriesStored</name>
<type>java.lang.String</type>
</attribute>
<attribute access="read-write"
getMethod="getSchedulerServiceName"
setMethod="setSchedulerServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>SchedulerServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getFileSystemMgtServiceNamePrefix"
setMethod="setFileSystemMgtServiceNamePrefix">
<description>Used internally. Do NOT modify.
</description>
<name>FileSystemMgtServiceNamePrefix</name>
<type>java.lang.String</type>
</attribute>
<attribute access="read-write"
getMethod="getMwlScuServiceName"
setMethod="setMwlScuServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>MwlScuServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getDcmServerName"
setMethod="setDcmServerName">
<description>Used internally. Do NOT modify.
</description>
<name>DcmServerName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getTemplatesServiceName"
setMethod="setTemplatesServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>TemplatesServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getPerfMonServiceName"
setMethod="setPerfMonServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>PerfMonServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getAEServiceName"
setMethod="setAEServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>AEServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<!-- Operations -->
&defaultOperations;
<operation impact="ACTION">
<description>Reset Update Database - Performed Retries to 0.</description>
<name>resetMaxCountUpdateDatabaseRetries</name>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Import a DICOM file (internal use only)</description>
<name>importFile</name>
<parameter>
<description>Transfer object for File</description>
<name>fileDTO</name>
<type>org.dcm4chex.archive.ejb.interfaces.FileDTO</type>
</parameter>
<parameter>
<description>Dataset.</description>
<name>ds</name>
<type>org.dcm4che.data.Dataset</type>
</parameter>
<parameter>
<description>Previous Series Instance UID
- triggers SeriesStored Notification if different to Series Instance UID in Dataset</description>
<name>prevSeriesInstanceUID</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>mark last object to import - triggers SeriesStored Notification</description>
<name>last</name>
<type>boolean</type>
</parameter>
<parameter>
<description>Delete the given file if a duplicate file (same md5 checksum) already exists on the same filesystem.</description>
<name>deleteFileIfDuplicateExists</name>
<type>boolean</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Create empty file in storage directory (internal use only)
of specified file system group</description>
<name>makeFile</name>
<parameter>
<description>FileSystemGroupID</description>
<name>fsgroupid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Dataset</description>
<name>ds</name>
<type>org.dcm4che.data.Dataset</type>
</parameter>
<return-type>org.dcm4chex.archive.ejb.interfaces.FileDTO</return-type>
</operation>
<!-- Notifications -->
<notification>
<description>The notification sent whenever a Series of DICOM composite
object was stored. It is triggered by the periodic check for received
Series, for which no Series Stored Notifications were not yet emitted.
</description>
<name>javax.management.Notification</name>
<notification-type>org.dcm4chex.archive.common.SeriesStored</notification-type>
</notification>
<notification>
<description>The notification sent whenever a DICOM composite object
was stored.
</description>
<name>javax.management.Notification</name>
<notification-type>org.dcm4chex.archive.dcm.storescp</notification-type>
</notification>
</mbean>