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

656 lines
23 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">
<!-- $Id$ -->
<mbean>
<description>DICOM Unified Worklist and Procedure Step related Service Class Providers</description>
<descriptors>
<persistence persistPolicy="OnUpdate"/>
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
</descriptors>
<class>org.dcm4chex.archive.dcm.ups.UPSScpService</class>
<constructor>
<description>The default constructor</description>
<name>UPSScpService</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="getWorklistLabel"
setMethod="setWorklistLabel">
<description><![CDATA[Default value for <i>Worklist Label (0074,1202)</i>,
used if no value is provided in the N-CREATE RQ by the UPS Push SCU.]]>
</description>
<name>WorklistLabel</name>
<type>java.lang.String</type>
<descriptors>
<value value="Worklist"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isSupplementIssuerOfPatientID"
setMethod="setSupplementIssuerOfPatientID">
<description><![CDATA[Supplement received UPS N-CREATE message 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
UPS 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="isSupplementByHostName"
setMethod="setSupplementByHostName">
<description><![CDATA[If there is no <i>Issuer of Patient ID</i>
associated to the UPS SCU AE by an AE configuration entry with
matching AE Title, AE configuration entries which host name is equals
to the host name of the UPS SCU AE will be considered to determine
the associated <i>Issuer of Patient ID</i>. If there are several
AE configuration entries with matching host name with different
non-zero values for <i>Issuer of Patient ID</i>, no
<i>Issuer of Patient ID</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>
associated to the UPS SCU AE by an AE configuration entry with
matching AE Title, AE configuration entries which host name is equals
to the IP address of the UPS SCU AE will be considered to determine
the associated <i>Issuer of Patient ID</i>. If there are several
AE configuration entries with matching host name with different
non-zero values for <i>Issuer of Patient ID</i>, no
<i>Issuer of Patient ID</i> will be supplemented.]]>
</description>
<name>SupplementByHostAddress</name>
<type>boolean</type>
<descriptors>
<value value="false"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getPatientMatching"
setMethod="setPatientMatching">
<description><![CDATA[Defines which Patient Attributes in received
UPS N-CREATE requests shall be considered for the selection of an existing
Patient record in the archive.
<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 N-CREATE requests 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 UPS
N-CREATE request. Attribute names without question marks specifies, that DICOM
UPS N-CREATE requests 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 UPS N-CREATE request.
<p>
With 'pid<b>?</b>', you have to configure the Patient's family name complex
('familyname') as additional matching criterium.
<p>
Surrounding <i>demograhic-match</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 UPS N-CREATE request *and* in the matching Patient Record.
<p><b>Warning:</b>Improper configuration may cause UPS 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="isNoMatchForNoValue"
setMethod="setNoMatchForNoValue">
<description>Do not match entities with zero-length value for specified
matching keys.
</description>
<name>NoMatchForNoValue</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedSOPClasses"
setMethod="setAcceptedSOPClasses">
<description><![CDATA[
List of accepted UPS related SOP Classes. Use either the SOP Class
UID value, or following defined symbolic names:
UnifiedProcedureStepPushSOPClass,
UnifiedProcedureStepWatchSOPClass,
UnifiedProcedureStepPullSOPClass,
UnifiedProcedureStepEventSOPClass]]>
</description>
<name>AcceptedSOPClasses</name>
<type>java.lang.String</type>
<descriptors>
<value value="
UnifiedProcedureStepPushSOPClass
UnifiedProcedureStepWatchSOPClass
UnifiedProcedureStepPullSOPClass
UnifiedProcedureStepEventSOPClass
"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAcceptedTransferSyntax"
setMethod="setAcceptedTransferSyntax">
<description><![CDATA[
List of accepted Transfer Syntaxes. Order defines selection preference.
Use either the Transfer Syntaxes UID value or following defined
symbolic names:
ImplicitVRLittleEndian,
ExplicitVRLittleEndian,
DeflatedExplicitVRLittleEndian,
ExplicitVRBigEndian
]]>
</description>
<name>AcceptedTransferSyntax</name>
<type>java.lang.String</type>
<descriptors>
<value value="
ExplicitVRLittleEndian
ImplicitVRLittleEndian
"/>
</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="getAcTimeout"
setMethod="setAcTimeout">
<description>A-Associate accept timeout in milliseconds. 0 = no timeout.
</description>
<name>AcceptTimeout</name>
<type>int</type>
<descriptors>
<value value="10000"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getDimseTimeout"
setMethod="setDimseTimeout">
<description>DIMSE message timeout in milliseconds. 0 = no timeout.
</description>
<name>DIMSETimeout</name>
<type>int</type>
<descriptors>
<value value="60000"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getSoCloseDelay"
setMethod="setSoCloseDelay">
<description>Socket close delay in milliseconds after an A-Release response.
</description>
<name>SocketCloseDelay</name>
<type>int</type>
<descriptors>
<value value="50"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="isTcpNoDelay"
setMethod="setTcpNoDelay">
<description>Send packets as quickly as possible (Disable Nagle's algorithmn).
</description>
<name>TcpNoDelay</name>
<type>boolean</type>
<descriptors>
<value value="true" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getSendBufferSize"
setMethod="setSendBufferSize">
<description>Buffer size used for socket output. 0 = use platform default.
</description>
<name>SendBufferSize</name>
<type>int</type>
<descriptors>
<value value="0" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getReceiveBufferSize"
setMethod="setReceiveBufferSize">
<description>Buffer size used for socket input. 0 = use platform default.
</description>
<name>ReceiveBufferSize</name>
<type>int</type>
<descriptors>
<value value="0" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getAccessBlobAsLongVarBinary"
setMethod="setAccessBlobAsLongVarBinary">
<description>Change JDBC binding for Oracle BLOB's to LONGVARBINARY for
accessing attributes stored in BLOB columns of DB records.
</description>
<name>AccessBlobAsLongVarBinary</name>
<type>boolean</type>
<descriptors>
<value value="true"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getTransactionIsolationLevel"
setMethod="setTransactionIsolationLevel">
<description>Transaction isolation level for queries. Values can be one of:
DEFAULT|READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE.
</description>
<name>TransactionIsolationLevel</name>
<type>java.lang.String</type>
<descriptors>
<value value="DEFAULT"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getReportRetryIntervalls"
setMethod="setReportRetryIntervalls">
<description><![CDATA[Number and interval of retries made to notify a
SCU of a change in state of a UPS instance.
<p>Format:
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs or NEVER.
<br>The interval can be specified in seconds (##s), minutes (##m), hours (##h)
or days (##d).
<br/>Individual settings for specific Destination AETs can be specified by
prefix [AET], separating several AET setting by new line. An entry without
[AET] prefix will be treated as default.
<p>Example: 5x1m,10x10m
<br/>=> retry a total of 5 times, one minute apart for each retry; then retry
a total of 10 times, 10 minutes apart for each retry.
<p>Example:
<br/>[AET1]2x1m,3x10m
<br/>[AET2]NEVER
<br/>5x1m,10x10m
<br/>=> for destination AET1 retry a total of 2 times, one minute apart for
each retry; then retry a total of 3 times, 10 minutes apart for each retry.
Retries are disabled for destination AET2. For all other destinations retry a
total of 5 times, one minute apart for each retry; then retry a total of 10
times, 10 minutes apart for each retry. ]]>
</description>
<name>RetryIntervals</name>
<type>java.lang.String</type>
<descriptors>
<value value="NEVER" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getConcurrency"
setMethod="setConcurrency">
<description>Maximum number of concurrent notifications.
</description>
<name>Concurrency</name>
<type>int</type>
<descriptors>
<value value="1" />
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getFetchSize"
setMethod="setFetchSize">
<description>JDBC Fetch size.
</description>
<name>FetchSize</name>
<type>int</type>
<descriptors>
<value value="50"/>
</descriptors>
</attribute>
<attribute access="read-write"
getMethod="getQueueName"
setMethod="setQueueName">
<description>Used internally. Do NOT modify.
</description>
<name>QueueName</name>
<type>java.lang.String</type>
</attribute>
<attribute access="read-write"
getMethod="getJmsServiceName"
setMethod="setJmsServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>JMSServiceName</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="getAEServiceName"
setMethod="setAEServiceName">
<description>Used internally. Do NOT modify.
</description>
<name>AEServiceName</name>
<type>javax.management.ObjectName</type>
</attribute>
<attribute access="read-write"
getMethod="getTLSConfigName"
setMethod="setTLSConfigName">
<description>Used internally. Do NOT modify.
</description>
<name>TLSConfigName</name>
<type>javax.management.ObjectName</type>
</attribute>
<!-- Operations -->
&defaultOperations;
<operation impact="ACTION">
<description>Create UPS.</description>
<name>createUPS</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
notification of globally subscribed Receiving AEs.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Attribute List</description>
<name>dataset</name>
<type>org.dcm4che.data.Dataset</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Update UPS with matching Work Item Code and Requested
Procedure ID or create new UPS.</description>
<name>updateOrCreateUPS</name>
<parameter>
<description>Attribute List</description>
<name>dataset</name>
<type>org.dcm4che.data.Dataset</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Update specified UPS.</description>
<name>updateUPS</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
notification of subscribed Receiving AEs.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>UPS SOP Instance UID</description>
<name>iuid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Modification List</description>
<name>dataset</name>
<type>org.dcm4che.data.Dataset</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Change State of specified UPS to IN PROGRESS.
Returns Transaction UID.</description>
<name>startUPS</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
notification of subscribed Receiving AEs.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>UPS SOP Instance UID</description>
<name>iuid</name>
<type>java.lang.String</type>
</parameter>
<return-type>java.lang.String</return-type>
</operation>
<operation impact="ACTION">
<description>Change State of specified UPS to COMPLETED.</description>
<name>completeUPS</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
notification of subscribed Receiving AEs.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>UPS SOP Instance UID</description>
<name>iuid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Transaction UID</description>
<name>tuid</name>
<type>java.lang.String</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Change State of specified UPS to CANCELED.</description>
<name>cancelUPS</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
notification of subscribed Receiving AEs.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>UPS SOP Instance UID</description>
<name>iuid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Transaction UID</description>
<name>tuid</name>
<type>java.lang.String</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Subscribe to receive UPS Event Reports for specified
UPS.</description>
<name>subscribeReceiveUPSEventReports</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
initial notification of subscribing Receiving AE.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>UPS SOP Instance UID</description>
<name>uid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Receiving AE</description>
<name>aet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Deletion Lock</description>
<name>dellock</name>
<type>boolean</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Subscribe to receive UPS Event Reports globally.</description>
<name>subscribeGlobally</name>
<parameter>
<description>Calling AE Title used by UPS SCP in Association RQ for
initial notification of subscribing Receiving AE.</description>
<name>scpaet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Receiving AE</description>
<name>aet</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Deletion Lock</description>
<name>dellock</name>
<type>boolean</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Unsubscribe from receiving UPS Event Reports for
specified UPS.</description>
<name>unsubscribeReceiveUPSEventReports</name>
<parameter>
<description>UPS SOP Instance UID</description>
<name>uid</name>
<type>java.lang.String</type>
</parameter>
<parameter>
<description>Receiving AE</description>
<name>aet</name>
<type>java.lang.String</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Unsubscribe from Receiving UPS Event Reports globally.</description>
<name>unsubscribeGlobally</name>
<parameter>
<description>Receiving AE</description>
<name>aet</name>
<type>java.lang.String</type>
</parameter>
<return-type>void</return-type>
</operation>
<operation impact="ACTION">
<description>Suspend Global Subscription.</description>
<name>suspendGlobalSubscription</name>
<parameter>
<description>Receiving AE</description>
<name>aet</name>
<type>java.lang.String</type>
</parameter>
<return-type>void</return-type>
</operation>
<!-- Notifications -->
</mbean>