init
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
<?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: AttributePersistenceService-xmbean.xml 23167 2004-08-23 16:57:19Z andd $ -->
|
||||
|
||||
<mbean>
|
||||
<!-- MBean Info -->
|
||||
<description>XMBean Attribute Persistence Service</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"
|
||||
persistLocation="${jboss.server.data.dir}/xmbean-attrs"
|
||||
persistName="AttributePersistenceService.ser"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.ObjectStreamPersistenceManager"/>
|
||||
</descriptors>
|
||||
<class>org.jboss.system.pm.AttributePersistenceService</class>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getApmDestroyOnServiceStop" setMethod="setApmDestroyOnServiceStop">
|
||||
<description>Specifies whether to call destroy() on the AttributePersistenceManager implementation, upon service stop</description>
|
||||
<name>ApmDestroyOnServiceStop</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<descriptor name="persistPolicy" value="Never"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getAttributePersistenceManagerClass" setMethod="setAttributePersistenceManagerClass">
|
||||
<description>The actual AttributePersistenceManager implementation</description>
|
||||
<name>AttributePersistenceManagerClass</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<descriptor name="persistPolicy" value="Never"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getAttributePersistenceManagerConfig" setMethod="setAttributePersistenceManagerConfig">
|
||||
<description>The XML configuration that is passed to the AttributePersistenceManager implementation</description>
|
||||
<name>AttributePersistenceManagerConfig</name>
|
||||
<type>org.w3c.dom.Element</type>
|
||||
<descriptors>
|
||||
<descriptor name="persistPolicy" value="Never"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getVersionTag" setMethod="setVersionTag">
|
||||
<description>The version tag to use for stored/loaded Attribute data</description>
|
||||
<name>VersionTag</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<descriptor name="persistPolicy" value="OnUpdate"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation>
|
||||
<description>Factory method returning the active AttributePersistenceManager implementation, for internal usage</description>
|
||||
<name>apmCreate</name>
|
||||
<return-type>org.jboss.mx.persistence.AttributePersistenceManager</return-type>
|
||||
</operation>
|
||||
|
||||
<operation>
|
||||
<description>Delegated to the active APM returns true when a persisted image with this id exists</description>
|
||||
<name>apmExists</name>
|
||||
<parameter>
|
||||
<description>The id of the persisted attribute image</description>
|
||||
<name>id</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation>
|
||||
<description>Delegated to the active APM removes the specified persisted attribute image</description>
|
||||
<name>apmRemove</name>
|
||||
<parameter>
|
||||
<description>The id of the persisted attribute image</description>
|
||||
<name>id</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation>
|
||||
<description>Delegated to the active APM removes the persisted attribute images</description>
|
||||
<name>apmRemoveAll</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation>
|
||||
<description>Delegated to the active APM it returns a list with the ids of all persisted attribute images</description>
|
||||
<name>apmListAll</name>
|
||||
<return-type>[Ljava.lang.String;</return-type>
|
||||
</operation>
|
||||
|
||||
<operation>
|
||||
<description>Delegated to the active APM it returns a single string with the ids of all persisted attribute images</description>
|
||||
<name>apmListAllAsString</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?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: ClientUserTransaction-xmbean.xml 18262 2003-12-20 21:12:07Z pilhuhn $ -->
|
||||
<mbean>
|
||||
<description>ClientUserTransaction Service.</description>
|
||||
<class>org.jboss.tm.usertx.server.ClientUserTransactionService</class>
|
||||
&defaultAttributes;
|
||||
<attribute access="write-only" setMethod="setTxProxyName">
|
||||
<description>Set the name of the proxy factory service used for the UserTransactionSession</description>
|
||||
<name>TxProxyName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<operation>
|
||||
<description>Expose UserTransactionSession and UserTransactionSessionFactory interfaces via JMX to invokers.</description>
|
||||
<name>invoke</name>
|
||||
<parameter>
|
||||
<description>A pointer to the invocation object</description>
|
||||
<name>invocation</name>
|
||||
<type>org.jboss.invocation.Invocation</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Object</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
35
dcm4chee/default/conf/xmdesc/JNDIView-xmbean.xml
Normal file
35
dcm4chee/default/conf/xmdesc/JNDIView-xmbean.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?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">
|
||||
<!-- The JNDIView service XMBean
|
||||
$Id: JNDIView-xmbean.xml 38992 2005-12-13 15:29:35Z jerrygauth $
|
||||
-->
|
||||
<mbean>
|
||||
<description>JNDIView Service. List deployed application java:comp namespaces,
|
||||
the java: namespace as well as the global InitialContext JNDI namespace.
|
||||
</description>
|
||||
<class>org.jboss.naming.JNDIView</class>
|
||||
&defaultAttributes;
|
||||
<attribute access="read-write" getMethod="getHANamingService" setMethod="setHANamingService">
|
||||
<description>The HANamingService service name</description>
|
||||
<name>HANamingService</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<operation>
|
||||
<description>Output JNDI info as text</description>
|
||||
<name>list</name>
|
||||
<parameter>
|
||||
<description>If true, list the class of each object in addition to its name</description>
|
||||
<name>verbose</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Output JNDI info in XML format</description>
|
||||
<name>listXML</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
110
dcm4chee/default/conf/xmdesc/Log4jService-xmbean.xml
Normal file
110
dcm4chee/default/conf/xmdesc/Log4jService-xmbean.xml
Normal file
@@ -0,0 +1,110 @@
|
||||
<?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" [
|
||||
<!ATTLIST interceptor
|
||||
proxyName CDATA #IMPLIED
|
||||
>
|
||||
]>
|
||||
<!-- The Log4JService service XMBean
|
||||
$Id: Log4jService-xmbean.xml 28573 2005-02-11 13:15:54Z pilhuhn $
|
||||
-->
|
||||
<mbean>
|
||||
<description>
|
||||
This MBean allows to get and set Log4j specific options.
|
||||
See also resource:log4j.xml
|
||||
</description>
|
||||
<class>org.jboss.logging.Log4jService</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>Log4jService</name>
|
||||
</constructor>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getConfigurationURL" setMethod="setConfigurationURL">
|
||||
<description>The URL of the log4j.xml config file.</description>
|
||||
<name>ConfigurationURL</name>
|
||||
<type>java.net.URL</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCatchSystemErr" setMethod="setCatchSystemErr">
|
||||
<description>Should data writen to standard error be caught and integrated into the log output.</description>
|
||||
<name>CatchSystemErr</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCatchSystemOut" setMethod="setCatchSystemOut">
|
||||
<description>Should data writen to standard output be caught and integrated into the log output.</description>
|
||||
<name>CatchSystemOut</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLog4jQuietMode" setMethod="setLog4jQuietMode">
|
||||
<description>Sets the log4j quite mode. For log4j 1.2.8 this must stay on true.</description>
|
||||
<name>Log4jQuietMode</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRefreshPeriod" setMethod="setRefreshPeriod">
|
||||
<description>The time in seconds between checking for new config.</description>
|
||||
<name>RefreshPeriod</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<!-- Operations -->
|
||||
<operation>
|
||||
<description>Displays the log level of a given logger.</description>
|
||||
<name>getLoggerLevel</name>
|
||||
<parameter>
|
||||
<description>The name of the logger to display.</description>
|
||||
<name>logger</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Sets the log level for a given logger.</description>
|
||||
<name>setLoggerLevel</name>
|
||||
<parameter>
|
||||
<description>The name of the logger to set.</description>
|
||||
<name>logger</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>The log level to set.</description>
|
||||
<name>level</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Sets the levels of each logger specified by the given comma
|
||||
seperated list of logger names.</description>
|
||||
<name>setLoggerLevels</name>
|
||||
<parameter>
|
||||
<description>The list of loggers</description>
|
||||
<name>loggers</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>The log level to set</description>
|
||||
<name>level</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Force the logging system to reconfigure.</description>
|
||||
<name>reconfigure</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Force the logging system to reconfigure with the given URL.</description>
|
||||
<name>reconfigure</name>
|
||||
<parameter>
|
||||
<description>The url for the new configuration.</description>
|
||||
<name>url</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
37
dcm4chee/default/conf/xmdesc/NamingBean-xmbean.xml
Normal file
37
dcm4chee/default/conf/xmdesc/NamingBean-xmbean.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<?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">
|
||||
|
||||
<!-- The JNDI Naming XMBean
|
||||
$Id: NamingBean-xmbean.xml 60240 2007-02-03 18:29:53Z scott.stark@jboss.org $
|
||||
-->
|
||||
<mbean>
|
||||
<description>The JNDI pojo bean</description>
|
||||
|
||||
<class>org.jnp.server.NamingBeanImpl</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>NamingBeanImpl</name>
|
||||
</constructor>
|
||||
|
||||
<attribute access="read-only" getMethod="getNamingInstance">
|
||||
<description>The NamingInstance</description>
|
||||
<name>NamingInstance</name>
|
||||
<type>org.jnp.interfaces.Naming</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
<operation>
|
||||
<description>The start lifecycle op</description>
|
||||
<name>start</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>The stop lifecycle op</description>
|
||||
<name>stop</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
196
dcm4chee/default/conf/xmdesc/NamingService-xmbean.xml
Normal file
196
dcm4chee/default/conf/xmdesc/NamingService-xmbean.xml
Normal file
@@ -0,0 +1,196 @@
|
||||
<?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"
|
||||
[
|
||||
<!ATTLIST interceptor proxyName CDATA #IMPLIED>
|
||||
]>
|
||||
|
||||
<!-- The JNDI Naming service XMBean
|
||||
$Id: NamingService-xmbean.xml 60231 2007-02-03 08:00:43Z scott.stark@jboss.org $
|
||||
-->
|
||||
<mbean>
|
||||
<description>The standard JBoss JNDI naming server with a custom
|
||||
ProxyFactoryInterceptor interceptor that does replacement of NamingContext
|
||||
objects with the detached invoker proxy.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<interceptors>
|
||||
<!-- Uncomment to enable NamingContext replacement by the detached
|
||||
invoker proxy. You need to set the proxyName attribute correctly.
|
||||
<interceptor code="org.jboss.naming.interceptors.ProxyFactoryInterceptor"
|
||||
proxyName="jboss:service=proxyFactory,type=pooled,target=Naming"/>
|
||||
-->
|
||||
<interceptor code="org.jboss.mx.interceptor.PersistenceInterceptor2" />
|
||||
<interceptor code="org.jboss.mx.interceptor.ModelMBeanInterceptor" />
|
||||
<interceptor code="org.jboss.mx.interceptor.ObjectReferenceInterceptor" />
|
||||
</interceptors>
|
||||
</descriptors>
|
||||
|
||||
<class>org.jboss.naming.NamingService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>NamingService</name>
|
||||
</constructor>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-only" getMethod="getMethodMap">
|
||||
<name>MethodMap</name>
|
||||
<type>java.util.Map</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getNaming" setMethod="setNaming">
|
||||
<description>Underlying Naming bean instance</description>
|
||||
<name>Naming</name>
|
||||
<type>org.jnp.server.NamingBean</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getNamingInstance">
|
||||
<description>Underlying Naming bean instance</description>
|
||||
<name>NamingInstance</name>
|
||||
<type>org.jnp.interfaces.Naming</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallByValue" setMethod="setCallByValue">
|
||||
<description>The call by value mode. true if all lookups are unmarshalled using
|
||||
the caller's TCL, false if in VM lookups return the value by reference.</description>
|
||||
<name>CallByValue</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getBindAddress" setMethod="setBindAddress">
|
||||
<description>The bind address of the bootstrap lookup socket.</description>
|
||||
<name>BindAddress</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPort" setMethod="setPort">
|
||||
<description>The listening port for the bootstrap JNP service. Set this to -1
|
||||
to run the NamingService without the JNP invoker listening port.</description>
|
||||
<name>Port</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getBacklog" setMethod="setBacklog">
|
||||
<description>The bootstrap socket backlog count.</description>
|
||||
<name>Backlog</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getJNPServerSocketFactory"
|
||||
setMethod="setJNPServerSocketFactory">
|
||||
<description>The bootstrap socket javax.net.ServerSocketFactory class name</description>
|
||||
<name>JNPServerSocketFactory</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getJNPServerSocketFactoryBean"
|
||||
setMethod="setJNPServerSocketFactoryBean">
|
||||
<description>The bootstrap socket javax.net.ServerSocketFactory</description>
|
||||
<name>JNPServerSocketFactoryBean</name>
|
||||
<type>javax.net.ServerSocketFactory</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRmiPort" setMethod="setRmiPort">
|
||||
<description>The port of the RMI naming service, 0 == anonymous. This
|
||||
is only used if an explicit InvokerProxyFactory has not been set.</description>
|
||||
<name>RmiPort</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRmiBindAddress" setMethod="setRmiBindAddress">
|
||||
<description>The RMI service bind address. Empty == all addresses</description>
|
||||
<name>RmiBindAddress</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getClientSocketFactory" setMethod="setClientSocketFactory">
|
||||
<description>The RMI service java.rmi.server.RMIClientSocketFactory class name</description>
|
||||
<name>ClientSocketFactory</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getClientSocketFactoryBean" setMethod="setClientSocketFactoryBean">
|
||||
<description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
|
||||
<name>ClientSocketFactoryBean</name>
|
||||
<type>java.rmi.server.RMIClientSocketFactory</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getServerSocketFactory" setMethod="setServerSocketFactory">
|
||||
<description>The RMI service java.rmi.server.RMIServerSocketFactory class name</description>
|
||||
<name>ServerSocketFactory</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getServerSocketFactoryBean" setMethod="setServerSocketFactoryBean">
|
||||
<description>The RMI service java.rmi.server.RMIServerSocketFactory instance</description>
|
||||
<name>ServerSocketFactory</name>
|
||||
<type>java.rmi.server.RMIServerSocketFactory</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getInstallGlobalService"
|
||||
setMethod="setInstallGlobalService">
|
||||
<description>Ghe InstallGlobalService which defines whether the MainMBean's
|
||||
Naming server will be installed as the NamingContext.setLocal global
|
||||
value.</description>
|
||||
<name>InstallGlobalService</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getUseGlobalService"
|
||||
setMethod="setUseGlobalService">
|
||||
<description>The UseGlobalService which defines whether the MainMBean's
|
||||
Naming server will initialized from the existing NamingContext.setLocal global
|
||||
value.</description>
|
||||
<name>UseGlobalService</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="write-only" setMethod="setLookupPool">
|
||||
<description>The thread pool service used to control the bootstrap lookups</description>
|
||||
<name>LookupPool</name>
|
||||
<type>org.jboss.util.threadpool.BasicThreadPoolMBean</type>
|
||||
</attribute>
|
||||
<attribute access="write-only" setMethod="setInvokerProxyFactory">
|
||||
<description>The detached invoker proxy factory to use for the naming
|
||||
service transport.</description>
|
||||
<name>InvokerProxyFactory</name>
|
||||
<type>org.jboss.invocation.jrmp.server.JRMPProxyFactoryMBean</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
<operation>
|
||||
<description>The generic invocation operation used by detached invokers
|
||||
to route requests to the service
|
||||
</description>
|
||||
<name>invoke</name>
|
||||
<parameter>
|
||||
<description>The Naming interface method invocation encapsulation
|
||||
</description>
|
||||
<name>invocation</name>
|
||||
<type>org.jboss.invocation.Invocation</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Object</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Create an alias in jndi
|
||||
</description>
|
||||
<name>createAlias</name>
|
||||
<parameter>
|
||||
<description>The from name
|
||||
</description>
|
||||
<name>fromName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>The to name
|
||||
</description>
|
||||
<name>toName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Remove an alias from jndi
|
||||
</description>
|
||||
<name>removeAlias</name>
|
||||
<parameter>
|
||||
<description>The name
|
||||
</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?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: TransactionManagerService-xmbean.xml 32334 2005-06-17 06:45:59Z adrian $ -->
|
||||
<mbean>
|
||||
<description>TransactionManager Service.</description>
|
||||
<class>org.jboss.tm.TransactionManagerService</class>
|
||||
&defaultAttributes;
|
||||
<attribute access="read-write" getMethod="getGlobalIdsEnabled" setMethod="setGlobalIdsEnabled">
|
||||
<description>Should be set to true for transaction demarcation over IIOP</description>
|
||||
<name>GlobalIdsEnabled</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isInterruptThreads" setMethod="setInterruptThreads">
|
||||
<description>Whether to interrupt threads at transaction timeout</description>
|
||||
<name>InterruptThreads</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getTransactionTimeout" setMethod="setTransactionTimeout">
|
||||
<description>The transaction timeout in seconds</description>
|
||||
<name>TransactionTimeout</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getXidFactory" setMethod="setXidFactory">
|
||||
<description>Name of the xidFactory</description>
|
||||
<name>XidFactory</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="write-only" setMethod="setTransactionIntegrityFactory">
|
||||
<description>Transaction Integrity Policy</description>
|
||||
<name>TransactionIntegrityFactory</name>
|
||||
<type>org.jboss.tm.integrity.TransactionIntegrityFactory</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getTransactionManager">
|
||||
<description>Returns the TransactionManager managed by this service</description>
|
||||
<name>TransactionManager</name>
|
||||
<type>javax.transaction.TransactionManager</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getXATerminator">
|
||||
<description>Returns the XATerminator managed by this service</description>
|
||||
<name>XATerminator</name>
|
||||
<type>org.jboss.tm.JBossXATerminator</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getTransactionCount">
|
||||
<description>Counts the number of active transactions</description>
|
||||
<name>TransactionCount</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getCommitCount">
|
||||
<description>Counts the number of commited transactions</description>
|
||||
<name>CommitCount</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getRollbackCount">
|
||||
<description>Counts the number of transactions that have been rolled back</description>
|
||||
<name>RollbackCount</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<operation>
|
||||
<description>Register a XAException Formatter</description>
|
||||
<name>registerXAExceptionFormatter</name>
|
||||
<parameter>
|
||||
<description>The class of the formatter</description>
|
||||
<name>clazz</name>
|
||||
<type>java.lang.Class</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>A XAExceptionFromatter value</description>
|
||||
<name>formatter</name>
|
||||
<type>org.jboss.tm.XAExceptionFormatter</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation>
|
||||
<description>Unregister a XAException Formatter</description>
|
||||
<name>unregisterXAExceptionFormatter</name>
|
||||
<parameter>
|
||||
<description>The class of the formatter</description>
|
||||
<name>clazz</name>
|
||||
<type>java.lang.Class</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
516
dcm4chee/default/conf/xmdesc/dcm4chee-ae-xmbean.xml
Normal file
516
dcm4chee/default/conf/xmdesc/dcm4chee-ae-xmbean.xml
Normal file
@@ -0,0 +1,516 @@
|
||||
<?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[AE Configuration Service.
|
||||
Used to list/add/remove AE configuration entities - alternatively to more convenient
|
||||
AE Management Page of the <a href='http://localhost:8080/dcm4chee-web/'>
|
||||
Administration Web Application</a>.
|
||||
Used/Required by various DICOM services (Query/Retrieve SCP, Storage Commitment SCU/SCP,
|
||||
DICOM Hanging Protocol SCP) to 'guess' the port number of DICOM peer Application Entities,
|
||||
if no AE configuration entry for a given AE Title matches.
|
||||
]]></description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.AEService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>AEService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-only" getMethod="getAEs">
|
||||
<description>Configured application entities.<br>
|
||||
Use the addAE and removeAE commands below to add and remove AE configurations.</description>
|
||||
<name>AEConfiguration</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPortNumbers" setMethod="setPortNumbers">
|
||||
<!-- Network -->
|
||||
<description>Port numbers for AE auto configuration.<br>
|
||||
The method getAE(title, hostname) use this list to find a DICOM service hosted by hostname.<br>
|
||||
'NONE' will disable auto AE configuration!
|
||||
</description>
|
||||
<name>PortNumbers</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="104,11112"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isDontSaveIP" setMethod="setDontSaveIP">
|
||||
<description> This flag is used by auto AE configuration, if no hostname is available.<br>
|
||||
Set this flag to false if you explicitly allow the saving of ip address.<br>
|
||||
This should be only necessary if your network have static ip address and no name service active!<br>
|
||||
Avoid this option if you use DHCP!
|
||||
</description>
|
||||
<name>DontSaveIP</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isAutoUpdateIP" setMethod="setAutoUpdateIP">
|
||||
<description>Controls if configured IP addresses of AE Titles shall be
|
||||
updated automatically on receive of C-MOVE requests with the requester's
|
||||
AE Title as Move Destination. Useful for retrieve to clients with dynamic
|
||||
IP.
|
||||
</description>
|
||||
<name>AutoUpdateIP</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getMaxCacheSize" setMethod="setMaxCacheSize">
|
||||
<description>Maximal number of cached AE configurations.
|
||||
</description>
|
||||
<name>MaxCacheSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="20"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getCacheSize">
|
||||
<description>Current number of cached AE configurations.
|
||||
</description>
|
||||
<name>CacheSize</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getUpdateStudiesBatchSize"
|
||||
setMethod="setUpdateStudiesBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies fetched from the
|
||||
data base in one transaction by operation <i>updateAETitle</i>
|
||||
for update of <i>RetrieveAETs</i> values in Study, Series and Instance
|
||||
records.]]>
|
||||
</description>
|
||||
<name>UpdateStudiesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getOtherServiceAETAttrs"
|
||||
setMethod="setOtherServiceAETAttrs">
|
||||
<description><![CDATA[List of AE Title attributes of other services
|
||||
which are updated by operation updateAETitle.
|
||||
]]>
|
||||
</description>
|
||||
<name>OtherServiceAETitleAttributesToUpdate</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
dcm4chee.archive:service=AttributesModificationScp#CalledAETitles
|
||||
dcm4chee.archive:service=AttributesModificationScp#CallingAETitles
|
||||
dcm4chee.archive:service=AttributesModificationScu#ForwardingRules
|
||||
dcm4chee.archive:service=AttributesModificationScu#CallingAETitle
|
||||
dcm4chee.archive:service=AuditLogger#LocalAETitles
|
||||
dcm4chee.archive:service=ContentEditService#CalledAETitle
|
||||
dcm4chee.archive:service=ContentEditService#CallingAETitle
|
||||
dcm4chee.archive:service=ECHOService#CallingAETitle
|
||||
dcm4chee.archive:service=ExportManager#CallingAETitle
|
||||
dcm4chee.archive:service=FindScu#CallingAETitle
|
||||
dcm4chee.archive:service=FileSystemMgt,group=LOSSY_STORAGE#DefaultRetrieveAETitle
|
||||
dcm4chee.archive:service=FileSystemMgt,group=NEARLINE_STORAGE#DefaultRetrieveAETitle
|
||||
dcm4chee.archive:service=FileSystemMgt,group=ONLINE_STORAGE#DefaultRetrieveAETitle
|
||||
dcm4chee.archive:service=FileSystemMgt#RetrieveAETitle
|
||||
dcm4chee.archive:service=Forward#ForwardModifiedToAETitles
|
||||
dcm4chee.archive:service=GPWLScp#CalledAETitles
|
||||
dcm4chee.archive:service=GPWLScp#CallingAETitles
|
||||
dcm4chee.archive:service=GPWLScu#CallingAETitle
|
||||
dcm4chee.archive:service=GPWLScu#CalledAETitle
|
||||
dcm4chee.archive:service=HPScp#CalledAETitles
|
||||
dcm4chee.archive:service=HPScp#CallingAETitles
|
||||
dcm4chee.archive:service=IANScp#CalledAETitles
|
||||
dcm4chee.archive:service=IANScp#CallingAETitles
|
||||
dcm4chee.archive:service=IANScu#NotifiedAETitles
|
||||
dcm4chee.archive:service=IANScu#CallingAETitle
|
||||
dcm4chee.archive:service=LossyCompressionService#ExternalRetrieveAETitle
|
||||
dcm4chee.archive:service=LossyCompressionService#SourceAETitle
|
||||
dcm4chee.archive:service=MCMScu#CallingAETitle
|
||||
dcm4chee.archive:service=MCMScu#RetrieveAETitle
|
||||
dcm4chee.archive:service=MCMScu#MoveDestinationAETitle
|
||||
dcm4chee.archive:service=MCMScu#McmScpAETitle
|
||||
dcm4chee.archive:service=MoveScu#CallingAETitle
|
||||
dcm4chee.archive:service=MoveScu#CalledAETitle
|
||||
dcm4chee.archive:service=MPPSEmulator#ModalityAETitles
|
||||
dcm4chee.archive:service=MPPSEmulator#CalledAETitle
|
||||
dcm4chee.archive:service=MPPSScp#CalledAETitles
|
||||
dcm4chee.archive:service=MPPSScp#CallingAETitles
|
||||
dcm4chee.archive:service=MPPSScu#ForwardingRules
|
||||
dcm4chee.archive:service=MPPSScu#CallingAETitle
|
||||
dcm4chee.archive:service=MWLFindScp#CalledAETitles
|
||||
dcm4chee.archive:service=MWLFindScp#CallingAETitles
|
||||
dcm4chee.archive:service=MWLFindScp#LogAETitles
|
||||
dcm4chee.archive:service=MWLScu#CallingAETitle
|
||||
dcm4chee.archive:service=MWLScu#CalledAETitle
|
||||
dcm4chee.archive:service=PPSScu#DestinationAETitles
|
||||
dcm4chee.archive:service=PPSScu#CallingAETitle
|
||||
dcm4chee.archive:service=Prefetch#PrefetchSourceAETitle
|
||||
dcm4chee.archive:service=Prefetch#DestinationQueryAETitle
|
||||
dcm4chee.archive:service=Prefetch#DestinationStorageAETitle
|
||||
dcm4chee.archive:service=Prefetch#CallingAETitle
|
||||
dcm4chee.archive:service=QueryRetrieveScp#CalledAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#CallingAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#LocalStorageAETitle
|
||||
dcm4chee.archive:service=QueryRetrieveScp#SendWithDefaultTransferSyntaxToAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#SendNoPixelDataToAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#IgnoreUnsupportedSOPClassFailures
|
||||
dcm4chee.archive:service=QueryRetrieveScp#PIXQueryCallingAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#CoerceRequestPatientIdsAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#UnrestrictedQueryPermissionsToAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#UnrestrictedReadPermissionsToAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#UnrestrictedExportPermissionsToAETitles
|
||||
dcm4chee.archive:service=QueryRetrieveScp#LogAETitles
|
||||
dcm4chee.archive:service=StgCmtScuScp#CalledAETitles
|
||||
dcm4chee.archive:service=StgCmtScuScp#CallingAETitles
|
||||
dcm4chee.archive:service=StgCmtScuScp#RequestStorageCommitFromAETitles
|
||||
dcm4chee.archive:service=StgCmtScuScp#TrustStorageCommitFromAETitles
|
||||
dcm4chee.archive:service=StoreScp#CalledAETitles
|
||||
dcm4chee.archive:service=StoreScp#CallingAETitles
|
||||
dcm4chee.archive:service=StoreScp#UnrestrictedAppendPermissionsToAETitles
|
||||
dcm4chee.archive:service=StoreScp#WarnForCoercedAETitles
|
||||
dcm4chee.archive:service=StoreScp#LogAETitles
|
||||
dcm4chee.archive:service=StudyReconciliation#FindSCPAETitle
|
||||
dcm4chee.archive:service=StudyReconciliation#CallingAETitle
|
||||
dcm4chee.archive:service=StudyMgtScp#CalledAETitles
|
||||
dcm4chee.archive:service=StudyMgtScp#CallingAETitles
|
||||
dcm4chee.archive:service=StudyMgtScu#CallingAETitle
|
||||
dcm4chee.archive:service=UPSScp#CalledAETitles
|
||||
dcm4chee.archive:service=UPSScp#CallingAETitles
|
||||
dcm4chee.archive:service=WADOService#FetchDestinationAET
|
||||
dcm4chee.archive:service=XDS-I#DocRepositoryAET
|
||||
dcm4chee.web:service=AttributesModificationSCU#CallingAETitle
|
||||
dcm4chee.web:service=AttributesModificationSCU#CalledAETitles
|
||||
dcm4chee.web:service=AttributesModificationSCU#ModifyingSystem
|
||||
dcm4chee.web:service=ContentEditService#ModifyingSystem
|
||||
dcm4chee.web:service=ContentEditService#ForwardModifiedToAETs
|
||||
dcm4chee.web:service=EchoService#CallingAETitle
|
||||
dcm4chee.web:service=IANSCU#CallingAETitle
|
||||
dcm4chee.web:service=IANSCU#CalledAETitles
|
||||
dcm4chee.web:service=MoveScu#CallingAETitle
|
||||
dcm4chee.web:service=MoveScu#CalledAETitle
|
||||
dcm4chee.web:service=RejectionNoteSCU#CallingAETitle
|
||||
dcm4chee.web:service=RejectionNoteSCU#CalledAETitles
|
||||
dcm4chee.web:service=TCStoreScu#CallingAETitle
|
||||
dcm4chee.web:service=TCStoreScu#CalledAETitles
|
||||
dcm4chee.web:service=Web3MwlSCU#CallingAETitle
|
||||
dcm4chee.web:service=Web3MwlSCU#WorklistProviders
|
||||
dcm4chee.web:service=Web3MwlSCU#DefaultWorklistProvider
|
||||
" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getEchoServiceName" setMethod="setEchoServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>EchoServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="INFO">
|
||||
<description>Get list of AE Configurations</description>
|
||||
<name>listAEs</name>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get AE Configuration</description>
|
||||
<name>getAE</name>
|
||||
<parameter>
|
||||
<description>AE Title</description>
|
||||
<name>title</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.AEDTO</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get AE Configuration</description>
|
||||
<name>getAE</name>
|
||||
<parameter>
|
||||
<description>AE Title</description>
|
||||
<name>title</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Hostname or ip</description>
|
||||
<name>host</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.AEDTO</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get AE Configuration</description>
|
||||
<name>getAE</name>
|
||||
<parameter>
|
||||
<description>AE Title</description>
|
||||
<name>title</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>InetAddress</description>
|
||||
<name>addr</name>
|
||||
<type>java.net.InetAddress</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.AEDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Update AE configuration</description>
|
||||
<name>updateAE</name>
|
||||
<parameter>
|
||||
<description>Primary key of AE (use -1 for new AE)</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>AE Title</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Hostname or ip</description>
|
||||
<name>host</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Port number</description>
|
||||
<name>port</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Cipher (seperated with ',')</description>
|
||||
<name>cipher</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default Issuer of Patient ID associated with this AE</description>
|
||||
<name>issuerOfPatientID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default Issuer of Accession Number associated with this AE</description>
|
||||
<name>issuerOfAccessionNumber</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default User ID associated with this AE</description>
|
||||
<name>user</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Password of Default User ID associated with this AE</description>
|
||||
<name>password</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File System Group ID associated with this AE</description>
|
||||
<name>fsGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Group to which this AE belongs</description>
|
||||
<name>group</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Free text description of this AE</description>
|
||||
<name>description</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>WADO URL for this AE</description>
|
||||
<name>wadoUrl</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Station Name of this AE</description>
|
||||
<name>stationName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Name of the institution that this AE is associated with</description>
|
||||
<name>institution</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Name of the department that this AE is associated with</description>
|
||||
<name>department</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Signifies that this device is active on the network.</description>
|
||||
<name>installed</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Enable/disable check if host can be resolved to an IP address</description>
|
||||
<name>checkHost</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Add AE configuration</description>
|
||||
<name>addAE</name>
|
||||
<parameter>
|
||||
<description>AE Title</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Hostname or ip</description>
|
||||
<name>host</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Port number</description>
|
||||
<name>port</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Cipher (seperated with ',')</description>
|
||||
<name>cipher</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default Issuer of Patient ID associated with this AE</description>
|
||||
<name>issuerOfPatientID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default Issuer of Accession Number associated with this AE</description>
|
||||
<name>issuerOfAccessionNumber</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Default User ID associated with this AE</description>
|
||||
<name>user</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Password of Default User ID associated with this AE</description>
|
||||
<name>password</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File System Group ID associated with this AE</description>
|
||||
<name>fsGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Group to which this AE belongs</description>
|
||||
<name>group</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Free text description of this AE</description>
|
||||
<name>description</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>WADO URL for this AE</description>
|
||||
<name>wadoUrl</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Station Name of this AE</description>
|
||||
<name>stationName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Name of the institution that this AE is associated with</description>
|
||||
<name>institution</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Name of the department that this AE is associated with</description>
|
||||
<name>department</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Signifies that this device is active on the network.</description>
|
||||
<name>installed</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Enable/disable check if host can be resolved to an IP address</description>
|
||||
<name>checkHost</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Remove AE Configuration</description>
|
||||
<name>removeAE</name>
|
||||
<parameter>
|
||||
<description>AET</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update specified AE Title to new value in AE
|
||||
Configuration and in all service attributes listed by attribute
|
||||
<b>OtherServiceAETitleAttributesToUpdate</b>. If the specified AE Title
|
||||
is associated with file systems, also the Retrieve AE Title of these
|
||||
file systems is updated to the new value as the Retrieve AE Titles
|
||||
associated with Instances, Series and Studies that have files on this
|
||||
file systems.]]>
|
||||
</description>
|
||||
<name>updateAETitle</name>
|
||||
<parameter>
|
||||
<description>AE Title to update.</description>
|
||||
<name>prevAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>new AE Title.</description>
|
||||
<name>newAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Sends an AetChanged notification]]>
|
||||
</description>
|
||||
<name>notifyAETchange</name>
|
||||
<parameter>
|
||||
<description>The old AE Title.</description>
|
||||
<name>oldTitle</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>The new AE Title.</description>
|
||||
<name>newTitle</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>An optional message.</description>
|
||||
<name>message</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Clear AE Cache</description>
|
||||
<name>clearCache</name>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
179
dcm4chee/default/conf/xmdesc/dcm4chee-attrsmodscp-xmbean.xml
Normal file
179
dcm4chee/default/conf/xmdesc/dcm4chee-attrsmodscp-xmbean.xml
Normal file
@@ -0,0 +1,179 @@
|
||||
<?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>Attributes Modification SCP Service. Updates
|
||||
Study/Series/Instance attributes of stored DICOM Composite Objects on
|
||||
receive of Attribute Modification Notifications.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.modify.AttributesModificationScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>AttributesModificationScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAETs"
|
||||
setMethod="setCalledAETs">
|
||||
<description>List of accepted called AE titles, separated by \ (backslash).
|
||||
</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="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
|
||||
]]>
|
||||
</description>
|
||||
<name>AcceptedTransferSyntax</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
ExplicitVRLittleEndian
|
||||
ImplicitVRLittleEndian
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOriginalAttributesSeq"
|
||||
setMethod="setUpdateOriginalAttributesSeq">
|
||||
<description><![CDATA[Controls, if original values of attributes which
|
||||
were replaced on processing of received Attribute Modification
|
||||
Notifications shall be documented in items of the <i>Original
|
||||
Attributes Sequence (0400,0561)</i> on instance level.]]>
|
||||
</description>
|
||||
<name>UpdateOriginalAttributesSeq</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getEntityNotFoundErrorCodeAsString"
|
||||
setMethod="setEntityNotFoundErrorCodeAsString">
|
||||
<description><![CDATA[Defines Error Code returned if there is no entity
|
||||
stored in the archive to which the received Attributes Modification Notification
|
||||
applies. 0 => return Success Status in that case. See also attribute
|
||||
<i>NoRetryErrorCode</i> of the <i>Attributes Modification SCU Service</i>.]]>
|
||||
</description>
|
||||
<name>EntityNotFoundErrorCode</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="B006H"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCreatePatientOnMoveStudy"
|
||||
setMethod="setCreatePatientOnMoveStudy">
|
||||
<description><![CDATA[Enable creation of patient if patient of received 'moveStudyToPatient' request
|
||||
doesn't exist or the identifier are not unique on this system.<br />
|
||||
In regular workflows the patient should already exists with unique identifier]]>
|
||||
</description>
|
||||
<name>CreatePatientOnMoveStudy</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 the 'moveStudyToPatient' request
|
||||
shall be considered for the selection of the target Patient.
|
||||
<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><b>Warning:</b> Improper configuration may cause assignment of moved studies 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="getAEServiceName"
|
||||
setMethod="setAEServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>AEServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
133
dcm4chee/default/conf/xmdesc/dcm4chee-attrsmodscu-xmbean.xml
Normal file
133
dcm4chee/default/conf/xmdesc/dcm4chee-attrsmodscu-xmbean.xml
Normal file
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Attributes Modification SCU Service. Forwards Attributes
|
||||
Modification Notifications received by the Attributes Modification SCP
|
||||
Service according specified Forwarding Rules.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.modify.AttributesModificationScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>AttributesModificationScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getForwardingRules" setMethod="setForwardingRules">
|
||||
<description><![CDATA[List of forwarding rules, dependent upon from which
|
||||
application - identified by the Calling AE title - the Attributes
|
||||
Modification Notification was received by the Attributes Modification SCP.
|
||||
The comma separated list of AE titles after the (optional) condition defines
|
||||
the forwarding destinations (= other Attributes Modification SCPs) by their
|
||||
Called AE Titles.
|
||||
<br><br>Syntax:
|
||||
<br> rules = ( rule { newline rule } | 'NONE' ) (* 'NONE' = no forwarding *)
|
||||
<br> rule = ['[' 'calling' ['!'] '=' from ']'] to
|
||||
<br> from = aet { '|' aet } (* calling AE titles *)
|
||||
<br> to = aet { ',' aet } (* destination AE titles *)
|
||||
<br><br>Example: [calling!=CENTRAL]CENTRAL
|
||||
<br>=> Forwards received Attributes Modification Notifications to CENTRAL,
|
||||
except Attributes Modification Notifications received from CENTRAL]]>
|
||||
</description>
|
||||
<name>ForwardingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AE Title used in the Association Request.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent forwarded Attributes Modification Notifications.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority used in Attributes Modification Notifications C-STORE RQs.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and intervals of retries for failed
|
||||
Attributes Modification Notifications.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s), minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getNoRetryErrorCodeAsString"
|
||||
setMethod="setNoRetryErrorCodeAsString">
|
||||
<description><![CDATA[Defines particular Error Code in C-STORE RSP, which
|
||||
shall <b>not</b> cause retry of the failed Attributes Modification Notifications.
|
||||
Typically used to avoid retries of Attributes Modification Notifications failed
|
||||
because the target entity does not exists at the forward destination. S. also
|
||||
attribute <i>EntityNotFoundErrorCode</i> of the <i>Attributes Modification SCP
|
||||
Service</i>.]]>
|
||||
</description>
|
||||
<name>NoRetryErrorCode</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="B006H"/>
|
||||
</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="getAttributesModificationScpServiceName"
|
||||
setMethod="setAttributesModificationScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>AttributesModificationScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
205
dcm4chee/default/conf/xmdesc/dcm4chee-auditlog-xmbean.xml
Normal file
205
dcm4chee/default/conf/xmdesc/dcm4chee-auditlog-xmbean.xml
Normal file
@@ -0,0 +1,205 @@
|
||||
<?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[Audit Logger. Identifies Audit Source in emitted Audit
|
||||
Log Messages formatted according the new RFC-3881 based schema of the
|
||||
IHE ITI Audit Trail and Node Authentication Profile.
|
||||
]]></description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
<class>org.dcm4chee.audit.logger.AuditLogger</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>AuditLogger</name>
|
||||
</constructor>
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
<attribute access="read-write" getMethod="getAuditSourceID"
|
||||
setMethod="setAuditSourceID">
|
||||
<description><![CDATA[Identifier of this application as source where
|
||||
the event originated.<br/>
|
||||
Format: Unique identifier text string, at least within the Audit
|
||||
Enterprise Site ID<br/>
|
||||
Default: host name]]></description>
|
||||
<name>AuditSourceID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAuditEnterpriseSiteID"
|
||||
setMethod="setAuditEnterpriseSiteID">
|
||||
<description><![CDATA[Logical source location within the healthcare
|
||||
enterprise network, e.g., a hospital or other provider location within a
|
||||
multi-entity provider group.<br/>
|
||||
Format: Unique identifier text string within the healthcare
|
||||
enterprise. May be unvalued (='-') when the audit-generating application
|
||||
is uniquely identified by Audit Source ID.<br/>
|
||||
Default: <code>-</code>]]></description>
|
||||
<name>AuditEnterpriseSiteID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAuditSourceTypeCodes"
|
||||
setMethod="setAuditSourceTypeCodes">
|
||||
<description><![CDATA[Code specifying the type of source where event originated.<br/>
|
||||
Format/Values:<ul>
|
||||
<li><code>1</code> - End-user interface</li>
|
||||
<li><code>2</code> - Data acquisition device or instrument</li>
|
||||
<li><code>3</code> - Web server process tier in a multi-tier system</li>
|
||||
<li><code>4</code> - Application server process tier in a multi-tier system</li>
|
||||
<li><code>5</code> - Database server process tier in a multi-tier system</li>
|
||||
<li><code>6</code> - Security server, e.g., a domain controller</li>
|
||||
<li><code>7</code> - ISO level 1-3 network component</li>
|
||||
<li><code>8</code> - ISO level 4-6 operating software</li>
|
||||
<li><code>9</code> - External source, other or unknown type</li>
|
||||
</ul>
|
||||
Multiple values separated by comma (',') can be specified.<br/>
|
||||
Default: <code>4</code>]]></description>
|
||||
<name>AuditSourceTypeCodes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="4"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getProcessID">
|
||||
<description><![CDATA[Used to identify this application instance as
|
||||
<i>Active Participant</i> in emitted Audit Messages. Initialized from
|
||||
<i>System Property</i> <code>app.pid</code> or alternatively extracted
|
||||
from <code>java.lang.management.RuntimeMXBean#getName()</code>.
|
||||
]]></description>
|
||||
<name>ProcessID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getProcessName"
|
||||
setMethod="setProcessName">
|
||||
<description><![CDATA[Used to identify this application as
|
||||
<i>Active Participant</i> in emitted Audit Messages.<br/>
|
||||
Format: Text string<br/>
|
||||
Default: <i>System Property</i> <code>app.name</code>]]></description>
|
||||
<name>ProcessName</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLocalAETitles"
|
||||
setMethod="setLocalAETitles">
|
||||
<description><![CDATA[List of AE titles supported by this application,
|
||||
separated by \(backslash).<br/>
|
||||
Default: <code>ABPACS</code>]]></description>
|
||||
<name>LocalAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isEnableDNSLookups"
|
||||
setMethod="setEnableDNSLookups">
|
||||
<description><![CDATA[Enables reverse DNS lookups to identify remote hosts
|
||||
by their host name - instead of their IP address - in emitted Audit Messages.<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>EnableDNSLookups</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isIncludeXMLDeclaration"
|
||||
setMethod="setIncludeXMLDeclaration">
|
||||
<description><![CDATA[Determines, if emitted Audit Messages starts with
|
||||
<code><?xml version="1.0" encoding="UTF-8"?></code> or if the XML
|
||||
declaration is skipped.<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>IncludeXMLDeclaration</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isTimezonedDateTime"
|
||||
setMethod="setTimezonedDateTime">
|
||||
<description><![CDATA[Determines, if the Event Date/Time in emitted Audit
|
||||
Messages includes the time-zone offset to Coordinated Universal Time (UTC).<br/>
|
||||
Default: <code>true</code>]]></description>
|
||||
<name>TimezonedDateTime</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isUtcDateTime"
|
||||
setMethod="setUtcDateTime">
|
||||
<description><![CDATA[Determines, if the Event Date/Time in the emitted
|
||||
Audit Messages is given as Coordinated Universal Time (UTC).<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>UtcDateTime</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isQualifyHostname"
|
||||
setMethod="setQualifyHostname">
|
||||
<description><![CDATA[Determines, if host names included in the emitted
|
||||
Audit Messages shall be fully qualified.<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>QualifyHostname</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isEncodeUserIsRequestorTrue"
|
||||
setMethod="setEncodeUserIsRequestorTrue">
|
||||
<description><![CDATA[Determines, if attribute UserIsRequestor="true" of
|
||||
element <ActiveParticipant> in the emitted Audit Messages is explicit
|
||||
encoded.<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>EncodeUserIsRequestorTrue</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isAllowMultipleRequestors"
|
||||
setMethod="setAllowMultipleRequestors">
|
||||
<description><![CDATA[Determines, if multiple requestors are allowed in a single Audit Message.<br/>
|
||||
In RFC 3881 only one initiator/requestor is allowed!<br/>
|
||||
Default: <code>false</code>]]></description>
|
||||
<name>AllowMultipleRequestors</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConfigurationDirectory"
|
||||
setMethod="setConfigurationDirectory">
|
||||
<description><![CDATA[Directory which contains configuration files
|
||||
<i>xxx</i><code>-xmbean.xml</code>, which list service attributes, for
|
||||
which changes are audited by Security Alert messages. A relative path name
|
||||
is resolved relative to <i>archive-install-directory</i>/server/default/.<br/>
|
||||
Default: <code>conf/dcm4chee-auditlog</code>]]></description>
|
||||
<name>ConfigurationDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-auditlog"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="isIHEYr4">
|
||||
<description><![CDATA[Used to distinguish this RFC 3881 compliant Audit Logger
|
||||
Service from the preceding Audit Logger Service, which creates Audit Messages
|
||||
according the Provisional XML Schema definition of the IHE Basic Security
|
||||
Integration Profile.]]></description>
|
||||
<name>IHEYr4</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<!-- Operations -->
|
||||
<operation>
|
||||
<description><![CDATA[Emits Application Start Audit Message.]]></description>
|
||||
<name>auditApplicationStart</name>
|
||||
</operation>
|
||||
<operation>
|
||||
<description><![CDATA[Emits Application Stop Audit Message.]]></description>
|
||||
<name>auditApplicationStop</name>
|
||||
</operation>
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
189
dcm4chee/default/conf/xmdesc/dcm4chee-cfgbackup-xmbean.xml
Normal file
189
dcm4chee/default/conf/xmdesc/dcm4chee-cfgbackup-xmbean.xml
Normal file
@@ -0,0 +1,189 @@
|
||||
<?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[<b>JMX Config Backup Service</b><br/>
|
||||
Provides a Service to save and load JMX MBean Configurations.<br/>
|
||||
It use the XMLAttributePersistenceManager to store the attributes in xml files.
|
||||
To separate the files from normal JMX Persistance we use the Version feature.
|
||||
Therefore all files for a saved configuration are placed in a directory:
|
||||
<VersionPrefix><configName>
|
||||
]]> </description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.ConfigBackupService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ConfigBackupService</name>
|
||||
</constructor>
|
||||
|
||||
<attribute access="read-write" getMethod="getAttributesToStore" setMethod="setAttributesToStore">
|
||||
<description><![CDATA[ List of services and their attributes to store as configuration.<p/>
|
||||
Format: <MBean>:<attributeList><br/>
|
||||
MBean: Either the full ObjectName or the service name when <code>serviceDomainPrefix</code> can be applied.<br/>
|
||||
attributeList: attribute names separated by ',', or '*' for all attributes of the MBean.
|
||||
]]> </description>
|
||||
<name>AttributesToStore</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
FileSystemMgt,group=NEARLINE_STORAGE:*
|
||||
FileSystemMgt,group=ONLINE_STORAGE:*
|
||||
AE:*
|
||||
AttributesModificationScp:*
|
||||
AttributesModificationScu:*
|
||||
AuditLogger:*
|
||||
CompressionService:*
|
||||
ConsistencyService:*
|
||||
ContentEditService:*
|
||||
DcmServer:*
|
||||
DeleteStudy:*
|
||||
DeviceService:*
|
||||
DicomSecurity:*
|
||||
ECHOService:*
|
||||
ExportManager:*
|
||||
FileCopy:*
|
||||
FileCopyByQuery:*
|
||||
FileCopyHSMModule,type=Command:*
|
||||
FileCopyHSMModule,type=DiceyFileBased:*
|
||||
FileCopyHSMModule,type=FileBased:*
|
||||
FileCopyHSMModule,type=Mapped:*
|
||||
FileMove:*
|
||||
FindScu:*
|
||||
FixPatientAttributesService:*
|
||||
Forward:*
|
||||
Forward2:*
|
||||
ForwardByQuery:*
|
||||
GPWLFeed:*
|
||||
GPWLFeed2:*
|
||||
GPWLScp:*
|
||||
GPWLScu:*
|
||||
HL7Cmd:*
|
||||
HL7Send:*
|
||||
HL7Server:*
|
||||
HL7Service,type=ADT:*
|
||||
HL7Service,type=MDM:*
|
||||
HL7Service,type=ORM:*
|
||||
HL7Service,type=ORU:*
|
||||
HPScp:*
|
||||
HSMMigrate:*
|
||||
IANScp:*
|
||||
IANScu:*
|
||||
JMS:*
|
||||
KeyObjectService:*
|
||||
MCMScu:*
|
||||
MD5CheckService:*
|
||||
MPPS2ORM:*
|
||||
MPPSEmulator:*
|
||||
MPPSScp:*
|
||||
MPPSScu:*
|
||||
MWLFindScp:*
|
||||
MWLReplica:*
|
||||
MWLScu:*
|
||||
MoveScu:*
|
||||
MoveScu_Prefetch:*
|
||||
OnSwitchStorageFileSystem:*
|
||||
PIXQuery:*
|
||||
PPSExceptionMgtService:*
|
||||
PPSScu:*
|
||||
Prefetch:*
|
||||
QueryRetrieveScp:*
|
||||
RIDService:*
|
||||
RejectionNoteStored:*
|
||||
RouteOnPPS:*
|
||||
Scheduler:*
|
||||
Sendmail:*
|
||||
Soundex:*
|
||||
StgCmtScuBySeriesStored:*
|
||||
StgCmtScuScp:*
|
||||
StoreScp:*
|
||||
StudyMgtScp:*
|
||||
StudyMgtScu:*
|
||||
StudyPermission:*
|
||||
StudyReconciliation:*
|
||||
StudyStatus:*
|
||||
SyncFileStatus:*
|
||||
TLSConfig:*
|
||||
TarRetriever:*
|
||||
Templates:*
|
||||
UPSFeed:*
|
||||
UPSScp:*
|
||||
UpdateAttributesService:*
|
||||
WADOPrefetch:*
|
||||
WADOService:*
|
||||
XDS-I:*
|
||||
dfcmd:*
|
||||
dcm4chee.web:service=AttributesModificationSCU:*
|
||||
dcm4chee.web:service=ContentEditService:*
|
||||
dcm4chee.web:service=DashboardService:*
|
||||
dcm4chee.web:service=EchoService:*
|
||||
dcm4chee.web:service=HL7SendV2:*
|
||||
dcm4chee.web:service=IANSCU:*
|
||||
dcm4chee.web:service=MoveScu:*
|
||||
dcm4chee.web:service=RejectionNoteSCU:*
|
||||
dcm4chee.web:service=StoreBridge:*
|
||||
dcm4chee.web:service=TCStoreScu:*
|
||||
dcm4chee.web:service=TlsConfig:*
|
||||
dcm4chee.web:service=Web3MwlSCU:*
|
||||
dcm4chee.web:service=WebConfig:*
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getVersionPrefix" setMethod="setVersionPrefix">
|
||||
<description><![CDATA[ Version prefix to build version for Persistance manager.<br/>
|
||||
The version used to store a configuration:<VersionPrefix><configName>
|
||||
]]> </description>
|
||||
<name>VersionPrefix</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS_"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getServiceDomainPrefix" setMethod="setServiceDomainPrefix">
|
||||
<description><![CDATA[ Default ServiceDomainPrefix for the AttributesToStore List.<br/>
|
||||
With this prefix you can use the service name (e.g. StoreScp) in
|
||||
the AttributesToStore list instead of the full qualified ObjectName String
|
||||
(e.g. dcm4chee.archive:service=StoreScp)
|
||||
]]> </description>
|
||||
<name>ServiceDomainPrefix</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="dcm4chee.archive:service="/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[ Save current JMX configuration with given name.
|
||||
]]> </description>
|
||||
<name>save</name>
|
||||
<parameter>
|
||||
<description>Configuration Name</description>
|
||||
<name>configName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[ Load a JMX configuration for given name.
|
||||
]]> </description>
|
||||
<name>load</name>
|
||||
<parameter>
|
||||
<description>Configuration Name</description>
|
||||
<name>configName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
348
dcm4chee/default/conf/xmdesc/dcm4chee-compression-xmbean.xml
Normal file
348
dcm4chee/default/conf/xmdesc/dcm4chee-compression-xmbean.xml
Normal file
@@ -0,0 +1,348 @@
|
||||
<?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[
|
||||
Compression Service. The Compression Service supports delayed, lossless
|
||||
compression of received images. This is an alternative to immediately
|
||||
compressing images when received. (The lossless compression rules are
|
||||
configured by the <b>CompressionRules</b> attribute in the StorageSCP
|
||||
service.) The value of the attributes <b>MaxConcurrentCodec</b>,
|
||||
<b>MaxBufferedImagePoolSize</b> and <b>MaxBufferedImagePoolMemoryattribute</b>
|
||||
of the Compression Service also effects the on-the-fly compression and
|
||||
decompression during the receive and retrieve of images by the StorageSCP and
|
||||
QueryRetrieveSCP services. (For details, see the these attributes below.)
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.CompressionService</class>
|
||||
|
||||
<constructor>
|
||||
|
||||
<description>The default constructor</description>
|
||||
<name>CompressionService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getMaxConcurrentCodec"
|
||||
setMethod="setMaxConcurrentCodec">
|
||||
<description><![CDATA[
|
||||
Maximum number of concurrent tasks for compressing and decompressing images.
|
||||
With the default value of <b>MaxConcurrentCodec</b> = 1, all compression and
|
||||
decompression operations are serialized. For example, if on-the-fly compression
|
||||
during an image receive is activated, and three modalities concurrently send
|
||||
uncompressed images to the archive, only one image received from one modality
|
||||
is compressed at the same time. This significantly reduces the receiving
|
||||
performance. The used codec allocates memory for uncompressed pixel data of at
|
||||
least one frame, so without limiting the maximum number of concurrent
|
||||
compression tasks, memory consumption could become unacceptable.
|
||||
You will receive an out of memory error if the memory consumption exceeds the
|
||||
configured -Xmx value in the $ABPACS_HOME/bin/run.conf file).
|
||||
]]></description>
|
||||
<name>MaxConcurrentCodec</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxConcurrentCompression"
|
||||
setMethod="setMaxConcurrentCompression">
|
||||
<description><![CDATA[
|
||||
Maximum number of concurrent tasks for compressing images. With the default value of
|
||||
<b>MaxConcurrentCompression</b> = 1, all compression operations are serialized.
|
||||
]]></description>
|
||||
<name>MaxConcurrentCompression</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxConcurrentDecompression"
|
||||
setMethod="setMaxConcurrentDecompression">
|
||||
<description><![CDATA[
|
||||
Maximum number of concurrent tasks for decompressing images. With the default value of
|
||||
<b>MaxConcurrentDecompression</b> = 1, all decompression operations are serialized.
|
||||
]]></description>
|
||||
<name>MaxConcurrentDecompression</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFileSystemGroupIDs"
|
||||
setMethod="setFileSystemGroupIDs">
|
||||
<description><![CDATA[Group IDs of writable file systems which are scanned
|
||||
for image files to compress in configured <b>TaskInterval</b>. Separate
|
||||
multiple values by comma (',').
|
||||
]]>
|
||||
</description>
|
||||
<name>FileSystemGroupIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxBufferedImagePoolSize"
|
||||
setMethod="setMaxBufferedImagePoolSize">
|
||||
<description><![CDATA[
|
||||
Maximum number of pooled BufferedImage objects. If
|
||||
<b>MaxBufferedImagePoolSize</b> > 0, BufferedImage objects allocated for
|
||||
compression and decompression operations are pooled so they can be reused by
|
||||
subsequent compression and decompression operations with matching pixel matrix
|
||||
dimensions. The pool size is additional limited by
|
||||
<b>MaxBufferedImagePoolMemory</b>, the maximum amount of memory allocated by
|
||||
pooled BufferedImage objects.
|
||||
]]></description>
|
||||
<name>MaxBufferedImagePoolSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="10" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentBufferedImagePoolSize">
|
||||
<description> Current number of pooled BufferedImage objects.
|
||||
</description>
|
||||
<name>CurrentBufferedImagePoolSize</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxBufferedImagePoolMemory"
|
||||
setMethod="setMaxBufferedImagePoolMemory">
|
||||
<description><![CDATA[
|
||||
Maximum amount of memory allocated by pooled BufferedImage objects.
|
||||
1MB = 1000000 bytes. If <b>MaxBufferedImagePoolSize</b> > 0, BufferedImage
|
||||
objects allocated for compression and decompression operations are pooled so
|
||||
they can be reused by subsequent compression and decompression operations with
|
||||
matching pixel matrix dimensions. The pool size is additional limited by
|
||||
<b>MaxBufferedImagePoolSize</b>, the maximum number of pooled BufferedImage
|
||||
objects.
|
||||
]]></description>
|
||||
<name>MaxBufferedImagePoolMemory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentBufferedImagePoolMemory">
|
||||
<description> Current amount of memory allocated by pooled
|
||||
BufferedImage objects. 1MB = 1000000 bytes. </description>
|
||||
<name>CurrentBufferedImagePoolMemory</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getBufferedImagePoolHitRate">
|
||||
<description> Ratio of the number of BufferedImage objects reused
|
||||
from the pool to the total number of used (= reused or new
|
||||
allocated) BufferedImage objects. </description>
|
||||
<name>BufferedImagePoolHitRate</name>
|
||||
<type>float</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTaskInterval"
|
||||
setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which the database is checked for image
|
||||
files located on writeable file systems with one of the configured
|
||||
<b>FileSystemGroupIDs</b> to compress.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no compression should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no compression should be performed
|
||||
<br>NEVER = disable automatic compression
|
||||
<br>Example:10s!9-17 means every 10 seconds, poll the database and check
|
||||
for images to compress, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can ensure compression of
|
||||
images happens outside of peak imaging hours.]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if compression task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfFilesPerTask"
|
||||
setMethod="setLimitNumberOfFilesPerTask">
|
||||
<description>Maximum number of files that are compressed in
|
||||
one task.</description>
|
||||
<name>LimitNumberOfFilesPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCompressionRules"
|
||||
setMethod="setCompressionRules">
|
||||
<description><![CDATA[Specifies compression rules and delay for individual
|
||||
SOP Classes.
|
||||
<br>Format:
|
||||
<br><i>sop-class-name-or-uid</i>:<i>compression</i>:<i>delay</i>
|
||||
<br><i>sop-class-name-or-uid</i> = the UID of the SOP class, or a string
|
||||
name defined in the dictionary.xml file under uids type="SOPClass"
|
||||
<br><i>compression</i> = JPLL|JLSL|J2KR
|
||||
<br>JPLL -JPEG lossless
|
||||
<br>JLSL - JPEG-LS lossless
|
||||
<br>J2KR - JPEG 2000 lossless
|
||||
<br><i>delay</i> = ##d (in days)
|
||||
<br>Example:
|
||||
<br>ComputedRadiographyImageStorage:JLSL:5d means compress Computed
|
||||
Radiography Images with JPEG-LS lossless compression after 5 days.
|
||||
]]>
|
||||
</description>
|
||||
<name>CompressionRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="
|
||||
ComputedRadiographyImageStorage:JLSL:5d
|
||||
DigitalXRayImageStorageForPresentation:JLSL:5d
|
||||
DigitalXRayImageStorageForProcessing:JLSL:5d
|
||||
DigitalMammographyXRayImageStorageForPresentation:JLSL:5d
|
||||
DigitalMammographyXRayImageStorageForProcessing:JLSL:5d
|
||||
CTImageStorage:JLSL:5d
|
||||
MRImageStorage:JLSL:5d
|
||||
UltrasoundImageStorage:JLSL:5d
|
||||
UltrasoundMultiframeImageStorage:JLSL:5d
|
||||
UltrasoundImageStorageRetired:JLSL:5d
|
||||
UltrasoundMultiframeImageStorageRetired:JLSL:5d
|
||||
SecondaryCaptureImageStorage:JLSL:5d
|
||||
XRayAngiographicImageStorage:JLSL:5d
|
||||
XRayRadiofluoroscopicImageStorage:JLSL:5d
|
||||
NuclearMedicineImageStorage:JLSL:5d
|
||||
" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isVerifyCompression"
|
||||
setMethod="setVerifyCompression">
|
||||
<description>Enables the verification of the compressed file.
|
||||
</description>
|
||||
<name>VerifyCompression</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTempDir"
|
||||
setMethod="setTempDir">
|
||||
<description><![CDATA[Directory used to spool decompressed files for
|
||||
compression verification. Relative path names are resolved relative to
|
||||
$ABPACS_HOME/server/default/.]]>
|
||||
</description>
|
||||
<name>TempDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tmp" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getKeepTempFileIfVerificationFails"
|
||||
setMethod="setKeepTempFileIfVerificationFails">
|
||||
<description><![CDATA[Defines how long files that were decompressed for
|
||||
verification remain for further analysis before being deleted, if the
|
||||
decompressed pixel data differs from the pixel data in the original file.
|
||||
<br>Format: <br>##m (in minutes), ##h (in hours), ##d (in days)]]>
|
||||
</description>
|
||||
<name>KeepTempFileIfVerificationFails</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCleanupTempFilesInterval"
|
||||
setMethod="setCleanupTempFilesInterval">
|
||||
<description><![CDATA[Interval in which temporary files (older than
|
||||
KeepTempFileIfVerificationFails) are deleted from TempDirectory.]]>
|
||||
</description>
|
||||
<name>TempFileCleanupInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="3d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of write byte buffer. </description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192" />
|
||||
</descriptors>
|
||||
</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="getTimerIDCheckFilesToCompress"
|
||||
setMethod="setTimerIDCheckFilesToCompress">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDCheckFilesToCompress</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>
|
||||
<![CDATA[Reset <b>BufferedImagePoolHitRate</b>.]]>
|
||||
</description>
|
||||
<name>resetBufferedImagePoolHitRate</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Check for temporary image files to delete.</description>
|
||||
<name>checkForTempFilesToDelete</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Check for files to compress.</description>
|
||||
<name>checkForFilesToCompress</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Compress specified object if it is uncompressed
|
||||
and if there is a Compression Rule for its SOP Class UID
|
||||
configured</description>
|
||||
<name>compress</name>
|
||||
<parameter>
|
||||
<name>fileDTO</name>
|
||||
<type>org.dcm4chex.archive.ejb.interfaces.FileDTO</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
118
dcm4chee/default/conf/xmdesc/dcm4chee-consistency-xmbean.xml
Normal file
118
dcm4chee/default/conf/xmdesc/dcm4chee-consistency-xmbean.xml
Normal file
@@ -0,0 +1,118 @@
|
||||
<?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>Consistency Check Service. Sets up a schedule to automatically check the consistency of compressed images. You can set image compression rules in the Compression Service. You can also use the commands below to manually check the consistency of images.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.ConsistenceCheckService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ConsistenceCheckService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getAvailabilityOfExternalRetrieveable"
|
||||
setMethod="setAvailabilityOfExternalRetrieveable">
|
||||
<description><![CDATA[Defines Instance Availability of studies which
|
||||
becomes only external retrievable after deletion from file systems
|
||||
accessable by this archive instance. Enumerated values: "ONLINE",
|
||||
"NEARLINE", "OFFLINE", "UNAVAILABLE"]]>
|
||||
</description>
|
||||
<name>AvailabilityOfExternalRetrieveable</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEARLINE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTaskInterval" setMethod="setTaskInterval">
|
||||
<description>Interval in which to check for images for consistency.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no consistency check should be performed <br><i>to</i> = end hour (0-23) when no consistency check should be performed
|
||||
<br>NEVER = disable automatic consistency checking <br>Example:10s!9-17 means every 10 seconds, poll the database and check image consistency, except between the hours of 9:00am and 5:00pm. By setting this type of TaskInterval, you can ensure checks occur outside of peak imaging hours. </description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinStudyAge" setMethod="setMinStudyAge">
|
||||
<description>Minimum age of a study that will be checked for consistency, in
|
||||
##w (in weeks), ##d (in days), or ##h (in hours).</description>
|
||||
<name>MinStudyAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getMaxStudyAge" setMethod="setMaxStudyAge">
|
||||
<description>Maximum age of a study that will be checked for consistency, in
|
||||
##w (in weeks), ##d (in days), or ##h (in hours).</description>
|
||||
<name>MaxStudyAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="4w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxCheckedBefore" setMethod="setMaxCheckedBefore">
|
||||
<description>Maximum amount of time from the last consistency check, in
|
||||
##w (in weeks), ##d (in days), or ##h (in hours).</description>
|
||||
<name>MaxCheckedBefore</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfStudiesPerTask" setMethod="setLimitNumberOfStudiesPerTask">
|
||||
<description>Maximum number of studies that are checked in one task.
|
||||
</description>
|
||||
<name>LimitNumberOfStudiesPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</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="getTimerIDCheckStudyConsistency"
|
||||
setMethod="setTimerIDCheckStudyConsistency">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckStudyConsistency</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Check consistency of studies.</description>
|
||||
<name>check</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
620
dcm4chee/default/conf/xmdesc/dcm4chee-contentedit-xmbean.xml
Normal file
620
dcm4chee/default/conf/xmdesc/dcm4chee-contentedit-xmbean.xml
Normal file
@@ -0,0 +1,620 @@
|
||||
<?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[<b>Content Edit Service</b>. Identifies where patient
|
||||
information and study information updates are sent and received. Also used by
|
||||
the <b>Rejection Note Stored Service</b> to move instances referenced in
|
||||
received Rejection Notes to the trash.
|
||||
<p>
|
||||
Use the values in <tt>ReceivingApplication</tt> and <tt>ReceivingFacility</tt>
|
||||
attributes or the <tt>SendingApplication</tt> or <tt>SendingFacility</tt>
|
||||
attributes to configure specific forwarding rules in the <b>HL7Send Service</b>
|
||||
for patient information updates received from this Content Edit Service.
|
||||
</p><p>
|
||||
Use the values in the <tt>CalledAETitle</tt> and the <tt>CallingAETitle</tt>
|
||||
attributes to configure specific forwarding rules in the <b>StudyMgtScu
|
||||
Service</b> for study information updates received from this Content Edit Service.
|
||||
</p><p>
|
||||
The Content Edit Service sends <tt>PatientUpdated</tt> and
|
||||
<tt>SeriesUpdated</tt> <i>JMX Notifications</i> to allow to forward instances
|
||||
to systems not supporting either StudyMgtScu or HL7 ADT patient updates. In
|
||||
this case the receiver must use the received instances for updating! Use the
|
||||
<b>ForwardService</b> to configure this forward option.
|
||||
</p><p>
|
||||
If <tt>CreateIANonMoveToTrash=true</tt>, <i>Application Entities</i> configured
|
||||
in the <b>IAN SCU Service</b> are notified by <i>Instance Availability
|
||||
Notifications</i> with <i>Instance Availability</i> = <tt>UNAVAILABLE</tt>
|
||||
about instances moved to trash.
|
||||
</p>]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.ContentEditService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ContentEditService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getReceivingApplication" setMethod="setReceivingApplication">
|
||||
<description>Identifies the Receiving Application in HL7 messages that are directed to
|
||||
the HL7SendService to notify other applications about patient information
|
||||
updates. The values in the ReceivingApplication attribute may be used to configure specific
|
||||
forwarding rules in the HL7SendService for HL7 messages that are received from this
|
||||
Content Edit Service.
|
||||
</description>
|
||||
<name>ReceivingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getReceivingFacility" setMethod="setReceivingFacility">
|
||||
<description>Identifies the Receiving Facility in HL7 messages that are directed to
|
||||
the HL7SendService to notify other applications about patient information
|
||||
updates.
|
||||
The values in the ReceivingFacility attribute may be used to configure specific
|
||||
forwarding rules in the HL7SendService for HL7 messages that are received from this
|
||||
Content Edit Service.</description>
|
||||
<name>ReceivingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSendingApplication" setMethod="setSendingApplication">
|
||||
<description>Identifies the Sending Application in HL7 messages that are directed to
|
||||
the HL7SendService to notify other applications about patient information
|
||||
updates.
|
||||
The values in the SendingApplication attribute may be used to configure specific
|
||||
forwarding rules in the HL7SendService for HL7 messages that are received from this
|
||||
Content Edit Service.</description>
|
||||
<name>SendingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSendingFacility" setMethod="setSendingFacility">
|
||||
<description>Identifies the Sending Facility in HL7 messages that are directed to
|
||||
HL7SendService to notify other applications about patient information
|
||||
updates.
|
||||
The values in the SendingFacility attribute may be used to configure specific
|
||||
forwarding rules in the HL7SendService for HL7 messages that are received from this
|
||||
Content Edit Service.</description>
|
||||
<name>SendingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description>Called AE title in DICOM messages that are directed to the StudyMgtScuService
|
||||
to notify other applications about study information updates.
|
||||
The CalledAETitle may be used to configure
|
||||
specific forwarding rules in StudyMgtScu Service for DICOM messages
|
||||
received from this Content Edit Service.
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AET in DICOM message directed to StudyMgtScuService
|
||||
to notify other Applications about Study Information Updates.
|
||||
The CallingAETitle may be used to configure
|
||||
specific forwarding rules in StudyMgtScu Service for DICOM messages
|
||||
received from this Content Edit Service.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isCreateIANonMoveToTrash"
|
||||
setMethod="setCreateIANonMoveToTrash">
|
||||
<description><![CDATA[Defines if <i>Application Entities</i> configured
|
||||
in the <b>IAN SCU Service</b> are notified by <i>Instance Availability
|
||||
Notifications</i> with <i>Instance Availability</i> = <tt>UNAVAILABLE</tt>
|
||||
about instances moved to trash. Must be activated for compliance with
|
||||
<i>IHE Mammography Acquistion Workflow (MAWF) Integration Profile</i>.]]>
|
||||
</description>
|
||||
<name>CreateIANonMoveToTrash</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isKeepPriorPatientAfterMerge"
|
||||
setMethod="setKeepPriorPatientAfterMerge">
|
||||
<description><![CDATA[Keep prior patient after Patient Merge.<br/>
|
||||
This will allow to get correct patient information even the received DICOM objects contains a patient id of an merged patient.<br />
|
||||
If disabled, the prior patient will be deleted.
|
||||
]]></description>
|
||||
<name>KeepPriorPatientAfterMerge</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getAuditEnabled"
|
||||
setMethod="setAuditEnabled">
|
||||
<description>Enable or disable emission of audit messages on
|
||||
create/merge/move/update/delete of Patient/Study/Series/Instance entities.
|
||||
</description>
|
||||
<name>auditEnabled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogIUIDsForStudyUpdate"
|
||||
setMethod="setLogIUIDsForStudyUpdate">
|
||||
<description><![CDATA[Enable or disable logging of SOP Instance UIDs in audit logs of
|
||||
move/update/delete events on Study level.<br/>
|
||||
If this is enabled the SOPClass element in ParticipantObjectDescription will contain all effected SOP IUIDs.
|
||||
]]></description>
|
||||
<name>LogIUIDsForStudyUpdate</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogIUIDsForSeriesUpdate"
|
||||
setMethod="setLogIUIDsForSeriesUpdate">
|
||||
<description><![CDATA[Enable or disable logging of SOP Instance UIDs in audit logs of
|
||||
move/update/delete events on Series level.<br/>
|
||||
If this is enabled the SOPClass element in ParticipantObjectDescription will contain all effected SOP IUIDs.
|
||||
]]></description>
|
||||
<name>LogIUIDsForSeriesUpdate</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogDeletedOnMoveEntities"
|
||||
setMethod="setLogDeletedOnMoveEntities">
|
||||
<description><![CDATA[Enable or disable logging of Delete events for 'Move Studies/Series/Instances' <br/>
|
||||
If enabled a 'Move xxx' will create a DELETE and a CREATE Instances Accessed audit log.<br/>
|
||||
If disabled only a single UPDATE log will be created (without info of the source of the moved entities).
|
||||
]]></description>
|
||||
<name>LogDeletedOnMoveEntities</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7SendServiceName"
|
||||
setMethod="setHL7SendServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>HL7SendServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStudyMgtScuServiceName"
|
||||
setMethod="setStudyMgtScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StudyMgtScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<!-- create -->
|
||||
<operation impact="ACTION">
|
||||
<description>create new patient.
|
||||
</description>
|
||||
<name>createPatient</name>
|
||||
<parameter>
|
||||
<description>Dataset with patient info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>create new study.
|
||||
</description>
|
||||
<name>createStudy</name>
|
||||
<parameter>
|
||||
<description>Dataset with study info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Primary key of patient for the new study.</description>
|
||||
<name>pk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>create new series.
|
||||
</description>
|
||||
<name>createSeries</name>
|
||||
<parameter>
|
||||
<description>Dataset with series info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Primary key of study for the new series.</description>
|
||||
<name>pk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<!-- merge patient -->
|
||||
<operation impact="ACTION">
|
||||
<description>merge patient.
|
||||
</description>
|
||||
<name>mergePatients</name>
|
||||
<parameter>
|
||||
<description>Primary key of resulting patient</description>
|
||||
<name>pk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Array of pks of patient to merge.</description>
|
||||
<name>pks</name>
|
||||
<type>[J</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Map</return-type>
|
||||
</operation>
|
||||
<!-- update -->
|
||||
<operation impact="ACTION">
|
||||
<description>update patient.
|
||||
</description>
|
||||
<name>updatePatient</name>
|
||||
<parameter>
|
||||
<description>Dataset with patient info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>update study.
|
||||
</description>
|
||||
<name>updateStudy</name>
|
||||
<parameter>
|
||||
<description>Dataset with study info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>update series.
|
||||
</description>
|
||||
<name>updateSeries</name>
|
||||
<parameter>
|
||||
<description>Dataset with series info</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<!-- move to trash -->
|
||||
<operation impact="ACTION">
|
||||
<description>Move patient to trash.
|
||||
</description>
|
||||
<name>movePatientToTrash</name>
|
||||
<parameter>
|
||||
<description>Primary key of patient.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move patient to trash.
|
||||
</description>
|
||||
<name>movePatientToTrash</name>
|
||||
<parameter>
|
||||
<description>Patient attributes.</description>
|
||||
<name>patAttrs</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Patient Matching</description>
|
||||
<name>patMatching</name>
|
||||
<type>org.dcm4chex.archive.common.PatientMatching</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move study to trash.
|
||||
</description>
|
||||
<name>moveStudyToTrash</name>
|
||||
<parameter>
|
||||
<description>Primary key of study.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move study to trash.
|
||||
</description>
|
||||
<name>moveStudyToTrash</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move series to trash.
|
||||
</description>
|
||||
<name>moveSeriesToTrash</name>
|
||||
<parameter>
|
||||
<description>Primary key of series.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move series to trash.
|
||||
</description>
|
||||
<name>moveSeriesToTrash</name>
|
||||
<parameter>
|
||||
<description>Series Instance UIDs</description>
|
||||
<name>iuids</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move instance to trash.
|
||||
</description>
|
||||
<name>moveInstanceToTrash</name>
|
||||
<parameter>
|
||||
<description>Primary key of instance.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Move instances to trash.
|
||||
</description>
|
||||
<name>moveInstancesToTrash</name>
|
||||
<parameter>
|
||||
<description>SOP Instance UIDs</description>
|
||||
<name>iuids</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<!-- undelete (recover from trash) -->
|
||||
<operation impact="ACTION">
|
||||
<description>Undelete patient.
|
||||
</description>
|
||||
<name>undeletePatient</name>
|
||||
<parameter>
|
||||
<description>Primary key of patient (PrivatePatient).</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Undelete study.
|
||||
</description>
|
||||
<name>undeleteStudy</name>
|
||||
<parameter>
|
||||
<description>Primary key of study (PrivateStudy).</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Undelete series.
|
||||
</description>
|
||||
<name>undeleteSeries</name>
|
||||
<parameter>
|
||||
<description>Primary key of series (PrivateSeries).</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Undelete instance.
|
||||
</description>
|
||||
<name>undeleteInstance</name>
|
||||
<parameter>
|
||||
<description>Primary key of instance.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- delete (from trash) -->
|
||||
<operation impact="ACTION">
|
||||
<description>delete patient.
|
||||
</description>
|
||||
<name>deletePatient</name>
|
||||
<parameter>
|
||||
<description>Primary key of patient to delete.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>delete study.
|
||||
</description>
|
||||
<name>deleteStudy</name>
|
||||
<parameter>
|
||||
<description>Primary key of study to delete.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>delete series.
|
||||
</description>
|
||||
<name>deleteSeries</name>
|
||||
<parameter>
|
||||
<description>Primary key of series to delete.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>delete instance.
|
||||
</description>
|
||||
<name>deleteInstance</name>
|
||||
<parameter>
|
||||
<description>Primary key of instance to delete.</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Delete all entries from trash.
|
||||
</description>
|
||||
<name>emptyTrash</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Purge study. (Files will be removed from FilesystemMgt service see
|
||||
</description>
|
||||
<name>purgeStudy</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<!-- move -->
|
||||
<operation impact="ACTION">
|
||||
<description>move study.
|
||||
</description>
|
||||
<name>moveStudies</name>
|
||||
<parameter>
|
||||
<description>Array of pks of studies to move.</description>
|
||||
<name>pks</name>
|
||||
<type>[J</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Primary key of target patient</description>
|
||||
<name>ds</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>move series.
|
||||
</description>
|
||||
<name>moveSeries</name>
|
||||
<parameter>
|
||||
<description>Array of pks of steries to move.</description>
|
||||
<name>pks</name>
|
||||
<type>[J</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Primary key of target study</description>
|
||||
<name>ds</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>move instances.
|
||||
</description>
|
||||
<name>moveInstances</name>
|
||||
<parameter>
|
||||
<description>Array of pks of instances to move.</description>
|
||||
<name>pks</name>
|
||||
<type>[J</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Primary key of target series</description>
|
||||
<name>ds</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<!-- MPPS MWL link -->
|
||||
<operation impact="ACTION">
|
||||
<description>Link MPPS to MWL entries (LOCAL Modality Worklist).</description>
|
||||
<name>linkMppsToMwl</name>
|
||||
<parameter>
|
||||
<description>List of Scheduled Procedure Step IDs</description>
|
||||
<name>spsIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of MPPS SOP Instance UIDs</description>
|
||||
<name>mppsIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Map</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Link MPPS to MWL entries of external Modality worklist.</description>
|
||||
<name>linkMppsToMwl</name>
|
||||
<parameter>
|
||||
<description>List of Scheduled Procedure Step Attributes</description>
|
||||
<name>spsAttrs</name>
|
||||
<type>[Lorg.dcm4che.data.Dataset;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of MPPS SOP Instance UIDs</description>
|
||||
<name>mppsIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Map</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
116
dcm4chee/default/conf/xmdesc/dcm4chee-dcmsec-xmbean.xml
Normal file
116
dcm4chee/default/conf/xmdesc/dcm4chee-dcmsec-xmbean.xml
Normal file
@@ -0,0 +1,116 @@
|
||||
<?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 Security Service. Performs JAAS login with
|
||||
user information provided in the Association Request or AE configuration
|
||||
for the calling AE and make returned information about user roles
|
||||
(<code>javax.security.auth.Subject</code>) available for invoked DICOM
|
||||
services by association property <code>"user"</code>.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.DicomSecurityService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DicomSecurityService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getSecurityDomain"
|
||||
setMethod="setSecurityDomain">
|
||||
<description><![CDATA[
|
||||
Name of security domain specified in <code>conf/login-config.xml</code>,
|
||||
which defines authentication parameters and roles associated to user names.]]>
|
||||
</description>
|
||||
<name>SecurityDomain</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="dcm4chee-dicom" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isRejectIfNoUserIdentity"
|
||||
setMethod="setRejectIfNoUserIdentity">
|
||||
<description><![CDATA[
|
||||
Defines if Association Request w/o User Identity information from
|
||||
remote AEs with no default User Identity specified by the AE
|
||||
configuration shall be rejected!]]>
|
||||
</description>
|
||||
<name>RejectIfNoUserIdentity</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefaultUserID"
|
||||
setMethod="setDefaultUserID">
|
||||
<description><![CDATA[
|
||||
Default user name associated with an Assocation, if no User
|
||||
Identity information is provided neither in the Assocation
|
||||
Request nor in the AE configuration for the Calling AE. Only
|
||||
effective if <i>RejectIfNoUserIdentity</i> is <code>false</code>.
|
||||
Use '-' (hypen) for specifying no default User ID. Then no
|
||||
<code>javax.security.auth.Subject</code> will be associated
|
||||
with the association in that case.
|
||||
]]>
|
||||
</description>
|
||||
<name>DefaultUserID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDefaultPassword"
|
||||
setMethod="setDefaultPassword">
|
||||
<description><![CDATA[
|
||||
Password for user specified in <i>DefaultUserID</i>. Only
|
||||
effective if <i>DefaultUserID</i> is not '-' and
|
||||
<i>RejectIfNoUserIdentity</i> is <code>false</code>.
|
||||
Use '-' (hypen) for no password.
|
||||
]]>
|
||||
</description>
|
||||
<name>DefaultPassword</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="INFO">
|
||||
<description>get UserIdentityNegotiator</description>
|
||||
<name>userIdentityNegotiator</name>
|
||||
<return-type>
|
||||
org.dcm4che.net.UserIdentityNegotiator
|
||||
</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Validate password for user and populate subject</description>
|
||||
<name>isValid</name>
|
||||
<parameter>
|
||||
<name>userID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>password</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>subject</name>
|
||||
<type>javax.security.auth.Subject</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
248
dcm4chee/default/conf/xmdesc/dcm4chee-dcmsrv-xmbean.xml
Normal file
248
dcm4chee/default/conf/xmdesc/dcm4chee-dcmsrv-xmbean.xml
Normal file
@@ -0,0 +1,248 @@
|
||||
<?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>DICOM Server. Sends incoming service requests to registered DICOM services. When configuring, select the TCP listening port, the security protocol for communication, timeouts, and the maximum number of connected DICOM clients (SCUs).</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.DcmServerService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DcmServerService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getPort"
|
||||
setMethod="setPort">
|
||||
<!-- Network -->
|
||||
<description>Port that listens for TCP communication.
|
||||
</description>
|
||||
<name>TCPPort</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="11112" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLocalAddress"
|
||||
setMethod="setLocalAddress">
|
||||
<description>Local interface IP address to listen for TCP communication. 0.0.0.0 indicates all active interfaces.
|
||||
</description>
|
||||
<name>LocalAddress</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="0.0.0.0" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getProtocolName"
|
||||
setMethod="setProtocolName">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Enable Transport Security Layer (TLS) mode:
|
||||
<br>
|
||||
<b>dicom</b>—<br>
|
||||
<b>dicom-tls</b>—accept TLS connections; offer AES or DES encryption<br>
|
||||
<b>dicom-tls.aes</b>—accept TLS connections; force AES or DES encryption<br>
|
||||
<b>dicom-tls.3des</b>—accept TLS connections; force DES encryption<br>
|
||||
<b>dicom-tls.nodes</b>—accept TLS connections without encryption]]>
|
||||
</description>
|
||||
<name>SecurityProtocol</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="dicom" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSSLHandshakeSoTimeout"
|
||||
setMethod="setSSLHandshakeSoTimeout">
|
||||
<description>Sets the socket timeout during the SSL handshake in milliseconds. 0 = no timeout.
|
||||
</description>
|
||||
<name>SSLHandshakeSocketTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="0" />
|
||||
</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="1200000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRqTimeout"
|
||||
setMethod="setRqTimeout">
|
||||
<description>Sets the DICOM A-Associate request timeout in milliseconds. 0 = no timeout.
|
||||
</description>
|
||||
<name>RequestTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="5000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSoCloseDelay"
|
||||
setMethod="setSoCloseDelay">
|
||||
<description>Socket close delay in milliseconds after a Dicom A-Release response.
|
||||
</description>
|
||||
<name>SocketCloseDelay</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxPDULength"
|
||||
setMethod="setMaxPDULength">
|
||||
<description>Maximum Protocol Data Unit (PDU) package length for receiving PDUs.
|
||||
</description>
|
||||
<name>MaximumPDULength</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="16352" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isPackPDVs"
|
||||
setMethod="setPackPDVs">
|
||||
<description>Pack command and data PDVs in one PDU.
|
||||
</description>
|
||||
<name>PackPDVs</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</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="getMaxClients"
|
||||
setMethod="setMaxClients">
|
||||
<description>Maximum number of DICOM clients that can simultaneously connect.
|
||||
</description>
|
||||
<name>MaximumDICOMClients</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="128" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getNumClients">
|
||||
<description>Current number of connected DICOM clients.
|
||||
</description>
|
||||
<name>CurrentClients</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxIdleThreads"
|
||||
setMethod="setMaxIdleThreads">
|
||||
<description>Maximum number of idle threads.
|
||||
</description>
|
||||
<name>MaximumIdleThreads</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="5" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getNumIdleThreads">
|
||||
<description>Current number of idle threads.
|
||||
</description>
|
||||
<name>CurrentIdleThreads</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDicomSecurityServiceName"
|
||||
setMethod="setDicomSecurityServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>DicomSecurityServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="INFO">
|
||||
<description>Get DICOM Handler</description>
|
||||
<name>dcmHandler</name>
|
||||
<return-type>org.dcm4che.server.DcmHandler</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Send CallingAET changed notification</description>
|
||||
<name>notifyCallingAETchange</name>
|
||||
<parameter>
|
||||
<description>List of affected CalledAETs</description>
|
||||
<name>calledAETs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of new CallingAETs</description>
|
||||
<name>newCallingAETs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>get UserIdentityNegotiator</description>
|
||||
<name>userIdentityNegotiator</name>
|
||||
<return-type>
|
||||
org.dcm4che.net.UserIdentityNegotiator
|
||||
</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
140
dcm4chee/default/conf/xmdesc/dcm4chee-delstudy-xmbean.xml
Normal file
140
dcm4chee/default/conf/xmdesc/dcm4chee-delstudy-xmbean.xml
Normal file
@@ -0,0 +1,140 @@
|
||||
<?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[Delete Study Service. Perform scheduled deletion of
|
||||
Studies.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.DeleteStudyService</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DeleteStudyService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="isDeleteSeriesBySeries"
|
||||
setMethod="setDeleteSeriesBySeries">
|
||||
<description><![CDATA[Enables deletion of Studies Series by Series
|
||||
to avoid failures of deletion of large studies caused by Transaction
|
||||
timeout. May cause partially deleted Studies, because successfully deletion
|
||||
of one Series cannot be reversed, when deletion of another Series of the
|
||||
Study failed. But the deletion of such remaining Series will be also
|
||||
retried according the configured <i>RetryIntervalsForJmsOrder</i>.]]>
|
||||
</description>
|
||||
<name>DeleteSeriesBySeries</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isDeleteStudyFromDB"
|
||||
setMethod="setDeleteStudyFromDB">
|
||||
<description><![CDATA[Enables deletion of Studies also from the database,
|
||||
if none of its instances is longer stored on any file system managed
|
||||
by this archive instance. <b>Attention:</b> will also remove only
|
||||
external retrieveable studies and studies archived to media from the
|
||||
database, so its data is no longer accessable by the DICOM Query Service
|
||||
and DICOM Retrieve requests can no longer be forwarded to the external
|
||||
Retrieve Application Entity.]]>
|
||||
</description>
|
||||
<name>DeleteStudyFromDB</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isDeletePatientWithoutObjects"
|
||||
setMethod="setDeletePatientWithoutObjects">
|
||||
<description><![CDATA[Enables deletion of patients without Studies, MWL,
|
||||
MPPS, GPWL or GPPPS entries. Only effective with activated
|
||||
<i>DeleteStudiesFromDB</i>.]]>
|
||||
</description>
|
||||
<name>DeletePatientWithoutObjects</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isCreateIANonStudyDelete"
|
||||
setMethod="setCreateIANonStudyDelete">
|
||||
<description><![CDATA[Defines if an Instance Availability Notification
|
||||
shall be created for deleted studies to notify remote Application
|
||||
Entities configured in the IAN Service about changes of the Instance
|
||||
Availability and Retrieve AETs.]]>
|
||||
</description>
|
||||
<name>CreateIANonStudyDelete</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRetryIntervalsForJmsOrder"
|
||||
setMethod="setRetryIntervalsForJmsOrder">
|
||||
<description><![CDATA[Number and interval of retries made for failed JMS
|
||||
order, e.g., deleteStudy.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s), minutes (##m),
|
||||
hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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>RetryIntervalsForJmsOrder</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,12x5m,24x1h,7x1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyQueueName"
|
||||
setMethod="setDeleteStudyQueueName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>DeleteStudyQueueName</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Delete Study Order.</description>
|
||||
<name>scheduleDeleteOrder</name>
|
||||
<parameter>
|
||||
<name>order</name>
|
||||
<type>org.dcm4chex.archive.common.DeleteStudyOrder</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
<notification>
|
||||
<description>The notification sent for each deleted study, used by
|
||||
the IAN SCU Service to notify configured remote Application Entities
|
||||
about changes of the Instance Availability and Retrieve AETs.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>org.dcm4chex.archive.notif.StudyDeleted</notification-type>
|
||||
</notification>
|
||||
</mbean>
|
||||
68
dcm4chee/default/conf/xmdesc/dcm4chee-device-xmbean.xml
Normal file
68
dcm4chee/default/conf/xmdesc/dcm4chee-device-xmbean.xml
Normal file
@@ -0,0 +1,68 @@
|
||||
<?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>Device Service. Use the commands in this service to import device mapping files, delete device mappings, delete a specific device, get a list of all devices for a specific protocol, and add the scheduled station name AE title, the name, and the modality to the given SPS items.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.DeviceService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DeviceService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Import a device mapping file.</description>
|
||||
<name>importDeviceMapping</name>
|
||||
<parameter>
|
||||
<name>importURL</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Delete all device mappings. <b>Note:</b> This deletes all devices and the corresponding protocol codes.</description>
|
||||
<name>deleteMapping</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Deletes the named device.</description>
|
||||
<name>deleteDevice</name>
|
||||
<parameter>
|
||||
<description>Station name of the device</description>
|
||||
<name>device</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get a list of devices for the specified protocol.</description>
|
||||
<name>getDeviceList</name>
|
||||
<parameter>
|
||||
<name>protocol</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Add the scheduled station AE Title and the name and the modality to the given SPS items.</description>
|
||||
<name>addScheduledStationInfo</name>
|
||||
<parameter>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
76
dcm4chee/default/conf/xmdesc/dcm4chee-dfcmd-xmbean.xml
Normal file
76
dcm4chee/default/conf/xmdesc/dcm4chee-dfcmd-xmbean.xml
Normal file
@@ -0,0 +1,76 @@
|
||||
<?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[df Command Service. Defines command used on *nix
|
||||
operation systems to assess free available disk space on storage file
|
||||
system(s). Has no effect on Windows operation systems.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.DFCommandService</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DFCommandService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getDFCommand"
|
||||
setMethod="setDFCommand">
|
||||
<description><![CDATA[<tt>df</tt> command used on *nix operation
|
||||
systems to assess free available disk space on storage file system(s).
|
||||
You may change the default value to use a different version than the
|
||||
first in the system PATH.<br/>
|
||||
<p><b>Example:</b> <tt>/usr/xpg4/bin/df</tt><br/>
|
||||
<p><b>Default:</b> <tt>df</tt>
|
||||
]]>
|
||||
</description>
|
||||
<name>DFCommand</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="df" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDFCommandOption"
|
||||
setMethod="setDFCommandOption">
|
||||
<description><![CDATA[<tt>df</tt> command option used on *nix operation
|
||||
systems to assess free available disk space on storage file system(s).<br/>
|
||||
If you change the default value for POSIX compliant output, a wrong
|
||||
value for the free available disk space may be derived from the command
|
||||
output.<br/>
|
||||
=> Always verify, if <i>freeDiskSpace()</i> of file system service(s)
|
||||
(still) returns the correct value, after any modification of
|
||||
<i>DFCommandOption</i> or <i>DFCommand</i>.<br/>
|
||||
Example: <tt>-k</tt><br/>
|
||||
Default Value: <tt>-P</tt>]]>
|
||||
</description>
|
||||
<name>DFCommandOption</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-P" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Get free space for given path.
|
||||
</description>
|
||||
<name>freeSpace</name>
|
||||
<parameter>
|
||||
<description>Path String</description>
|
||||
<name>path</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
153
dcm4chee/default/conf/xmdesc/dcm4chee-echo-xmbean.xml
Normal file
153
dcm4chee/default/conf/xmdesc/dcm4chee-echo-xmbean.xml
Normal file
@@ -0,0 +1,153 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Echo Service. Use this service to test the AE configurations (host and port and protocol) you defined with the AE Configuration Service. First, you must set the CallingAETitle used in echo associations used to test those AE configurations.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.EchoService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>EchoService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AE title that is used in echo associations.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Send a single echo request to the specified AE title.</description>
|
||||
<name>echo</name>
|
||||
<parameter>
|
||||
<description>AE title to test</description>
|
||||
<name>aeTitle</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send an echo request to the specified AE title, for the specified number of times.</description>
|
||||
<name>echo</name>
|
||||
<parameter>
|
||||
<description>AE title to test</description>
|
||||
<name>aeTitle</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>number of times to repeat the request</description>
|
||||
<name>nrOfTests</name>
|
||||
<type>java.lang.Integer</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send an echo request to an AE configuration, for the specified number of times.</description>
|
||||
<name>echo</name>
|
||||
<parameter>
|
||||
<description>AE configuration to test. The AE configuration consists of a host, port, and protocol (dicom or dicom-tls with various TLS Ciphersuites combinations).</description>
|
||||
<name>AEData</name>
|
||||
<type>org.dcm4chex.archive.ejb.interfaces.AEDTO</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>number of times to repeat the request</description>
|
||||
<name>nrOfTests</name>
|
||||
<type>java.lang.Integer</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send an echo request to all configured AE titles.</description>
|
||||
<name>echoAll</name>
|
||||
<return-type>[Ljava.lang.String;</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Checks if an echo request with the specified AE configuration works correctly.<br>
|
||||
This method is quiet (no error messages or exceptions) but
|
||||
return textual timing information or failure as result!
|
||||
</description>
|
||||
<name>echo</name>
|
||||
<parameter>
|
||||
<description>AE title</description>
|
||||
<name>title</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Hostname or IP address</description>
|
||||
<name>hostname</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Port number</description>
|
||||
<name>port</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Cipher Suites separated by ','. Use RFC-2246 string representation (e.g. 'SSL_RSA_WITH_3DES_EDE_CBC_SHA')</description>
|
||||
<name>cipherSuites</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Number of echoes to test.(All in one Association)</description>
|
||||
<name>nrOfTests</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Checks if an echo request with the specified AE configuration works correctly.<br>
|
||||
This method is quiet (no error messages or exceptions)!
|
||||
</description>
|
||||
<name>checkEcho</name>
|
||||
<parameter>
|
||||
<description>AE title</description>
|
||||
<name>title</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Hostname or IP address</description>
|
||||
<name>hostname</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Port number</description>
|
||||
<name>port</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Cipher Suites separated by ','. Use RFC-2246 string representation (e.g. 'SSL_RSA_WITH_3DES_EDE_CBC_SHA')</description>
|
||||
<name>cipherSuites</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Checks if an echo request to the specified AE title works correctly.<br>
|
||||
This method is quiet (no error messages or exceptions)!
|
||||
</description>
|
||||
<name>checkEcho</name>
|
||||
<parameter>
|
||||
<description>AE title to test</description>
|
||||
<name>AEData</name>
|
||||
<type>org.dcm4chex.archive.ejb.interfaces.AEDTO</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
344
dcm4chee/default/conf/xmdesc/dcm4chee-exportmanager-xmbean.xml
Normal file
344
dcm4chee/default/conf/xmdesc/dcm4chee-exportmanager-xmbean.xml
Normal file
@@ -0,0 +1,344 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description><![CDATA[Teaching File and Clinical Trial Export Manager.]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.tce.ExportManagerService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ExportManagerService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write"
|
||||
getMethod="getCallingAET"
|
||||
setMethod="setCallingAET">
|
||||
<description>Calling AE title of the Storage SCU.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPatchJpegLSImplCUID"
|
||||
setMethod="setPatchJpegLSImplCUID">
|
||||
<description><![CDATA[Patch faulty DICOM JPEG-LS images compressed by
|
||||
JAI-IMAGEIO JPEG-LS encoder with matching Implementation SOP Class UID on
|
||||
export by inserting a LSE marker segment with encoder parameter values T1,
|
||||
T2 and T3 actually used by JAI-IMAGEIO JPEG-LS encoder.
|
||||
<br/>NONE = Disable patching of DICOM JPEG-LS images
|
||||
<br/>ANY = Patch DICOM JPEG-LS images with any Implementation SOP Class UID]]>
|
||||
</description>
|
||||
<name>PatchJpegLSwithImplementationClassUID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1.2.40.0.13.1.1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getExportSelectorTitles"
|
||||
setMethod="setExportSelectorTitles">
|
||||
<description><![CDATA[Document Title of Export Selection Key Object
|
||||
(Manifest) considered by this service.
|
||||
Format: CODE_VALUE^CODING_SCHEME_DESIGNATOR.
|
||||
Separate multiple values by new line. NONE = service disabled.
|
||||
<dl><dt>Default:</dt>
|
||||
<dd>TCE001^IHERADTF^For Teaching File Export</dd>
|
||||
<dd>TCE002^IHERADTF^For Clinical Trial Export</dd>
|
||||
<dd>TCE007^IHERADTF^For Research Collection Export</dd>
|
||||
<dd>113019^99DCM4CHE^For Media Export</dd>
|
||||
</dl>]]>
|
||||
</description>
|
||||
<name>ExportSelectorTitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
TCE001^IHERADTF^For Teaching File Export;
|
||||
TCE002^IHERADTF^For Clinical Trial Export;
|
||||
TCE007^IHERADTF^For Research Collection Export;
|
||||
113019^99DCM4CHE^For Media Export"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDelayReasons"
|
||||
setMethod="setDelayReasons">
|
||||
<description><![CDATA[Recognized Delay Reasons Codes
|
||||
Format: CODE_VALUE^CODING_SCHEME_DESIGNATOR.
|
||||
Separate multiple values by new line. NONE = ignore Delay Reason Codes in
|
||||
Export Selection Key Object.
|
||||
<dl><dt>Default:</dt>
|
||||
<dd>TCE011^IHERADTF^Delay export until final report is available</dd>
|
||||
<dd>TCE012^IHERADTF^Delay export until clinical information is available</dd>
|
||||
<dd>TCE013^IHERADTF^Delay export until confirmation of diagnosis is available</dd>
|
||||
<dd>TCE014^IHERADTF^Delay export until histopathology is available</dd>
|
||||
<dd>TCE015^IHERADTF^Delay export until other laboratory results is available</dd>
|
||||
<dd>TCE016^IHERADTF^Delay export until patient is discharged</dd>
|
||||
<dd>TCE017^IHERADTF^Delay export until patient dies</dd>
|
||||
<dd>TCE018^IHERADTF^Delay export until expert review is available</dd>
|
||||
</dl>]]>
|
||||
</description>
|
||||
<name>DelayReasons</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
TCE011^IHERADTF^Delay export until final report is available;
|
||||
TCE012^IHERADTF^Delay export until clinical information is available;
|
||||
TCE013^IHERADTF^Delay export until confirmation of diagnosis is available;
|
||||
TCE014^IHERADTF^Delay export until histopathology is available;
|
||||
TCE015^IHERADTF^Delay export until other laboratory results is available;
|
||||
TCE016^IHERADTF^Delay export until patient is discharged;
|
||||
TCE017^IHERADTF^Delay export until patient dies;
|
||||
TCE018^IHERADTF^Delay export until expert review is available"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDispositionConfigFile"
|
||||
setMethod="setDispositionConfigFile">
|
||||
<description><![CDATA[Configuration file, which maps
|
||||
different Document Titles or Key Object Descriptions of the manifest
|
||||
to different configurations about destination and de-identification.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>DispositionConfigFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-tce.conf"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAutoExportConfigDir"
|
||||
setMethod="setAutoExportConfigDir">
|
||||
<description><![CDATA[Directory where configuration files defining
|
||||
auto-export rules are located: if XSL stylesheet "export.xsl" exists in
|
||||
this directory or in a sub-directory equal to the AE Title of the
|
||||
Performing Station AE Title in received MPPS COMPLETED messages,
|
||||
objects referenced in the MPPS message will be exported according the
|
||||
export rules in the stylesheet.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>AutoExportConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPersonNameMapping"
|
||||
setMethod="setPersonNameMapping">
|
||||
<description><![CDATA[Mapping login user name to Person Name to get Observer Person.<br>
|
||||
Separate each mapping with newline or semicolon.<br>
|
||||
Format: <user>:<PersonName> (e.g. Smith^John or Smith^John^^Dr^)<br>
|
||||
If this mapping is disabled with NONE or a user is not mapped the PersonName will be created with following rule:<br>
|
||||
<callingAET>^<user> (e.g. ABPACS^admin).]]>
|
||||
</description>
|
||||
<name>PersonNameMapping</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFilesetIDPattern"
|
||||
setMethod="setFilesetIDPattern">
|
||||
<description><![CDATA[Specifies format of Fileset ID of exported Media.
|
||||
0 or # will be replaced by incremented value of <i>LastFilesetIDSeqno</i>.]]>
|
||||
</description>
|
||||
<name>FilesetIDPattern</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DISK_000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLastFilesetIDSeqno"
|
||||
setMethod="setLastFilesetIDSeqno">
|
||||
<description><![CDATA[Used with <i>FilesetIDPattern</i> to generate the
|
||||
Fileset ID for created Media. Will automatically incremented for each
|
||||
exported Fileset on Media.]]>
|
||||
</description>
|
||||
<name>FilesetIDSeqno</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMediaIDPrefix"
|
||||
setMethod="setMediaIDPrefix">
|
||||
<description><![CDATA[Specifies prefix to Fileset ID for assembling a
|
||||
Media ID for usage in the emitted Export Audit Message.]]>
|
||||
</description>
|
||||
<name>MediaURIPrefix</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="cdr:" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteKeyObjects"
|
||||
setMethod="setDeleteKeyObjects">
|
||||
<description>Enable/disable deletion of Key Objects after export.
|
||||
</description>
|
||||
<name>DeleteKeyObjectsAfterExport</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxKOSage"
|
||||
setMethod="setMaxKOSage">
|
||||
<description>Maximum age of Key Object (ContentDate/ContentTime) to schedule export.
|
||||
</description>
|
||||
<name>MaxKeyObjectAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getExportDelay"
|
||||
setMethod="setExportDelay">
|
||||
<description>Delay in milliseconds before export process starts.
|
||||
</description>
|
||||
<name>ExportDelay</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="2000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of byte buffer used for copying data from file to TCP channel.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent processed Export Requests.
|
||||
</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="getQueryRetrieveScpServiceName"
|
||||
setMethod="setQueryRetrieveScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>QueryRetrieveScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIANScuServiceName"
|
||||
setMethod="setIANScuServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>IANScuServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Clear configuration cache.<br>
|
||||
Force to reread disposition configuration files. ]]></description>
|
||||
<name>clearConfigCache</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>List Dispositions configured in DispositionConfigFile</description>
|
||||
<name>listConfiguredDispositions</name>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Get Observer Person Name for username</description>
|
||||
<name>getObserverPerson</name>
|
||||
<parameter>
|
||||
<name>user</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send Export Selector to specified destination</description>
|
||||
<name>storeExportSelection</name>
|
||||
<parameter>
|
||||
<name>manifest</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>prior</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
</mbean>
|
||||
|
||||
253
dcm4chee/default/conf/xmdesc/dcm4chee-filecopy-xmbean.xml
Normal file
253
dcm4chee/default/conf/xmdesc/dcm4chee-filecopy-xmbean.xml
Normal file
@@ -0,0 +1,253 @@
|
||||
<?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>File Copy Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.FileCopyService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileCopyService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getDestination"
|
||||
setMethod="setDestination">
|
||||
<description><![CDATA[Destination file system or NONE to disable the
|
||||
service. The file system name can be prefixed by a condition
|
||||
'[calling'['!']'='<i>aeTitle</i>['|'..]']' to limit/exclude copying
|
||||
to/of series received from modalities with specified AE title(s).
|
||||
If the file system name is a tar URI (tar:<Directory/Mount Point>),
|
||||
instances of one series are packed into one tarball. Otherwise
|
||||
instance files are copied individually to the destination file system.
|
||||
If an external command is used for the copy of tarballs to the destination,
|
||||
the destination name (after the "tar:" prefix) need not follow the syntax
|
||||
of a directory path (e.g.: tar:ftp://user@pass/service).
|
||||
<p><b>Attention:</b> The file system must have already been configured
|
||||
by invoking operation <code>File System Management
|
||||
Service#addRWFileSystem()</code>. Otherwise the copy task will
|
||||
fail! If you configured a tar URI as destination file system, the name
|
||||
of the configured file system has to match that URI, and not only the
|
||||
<Directory/Mount Point> part! <p />
|
||||
The filesystem status and/or availability may be also changed to fulfil
|
||||
configured deleter criteria. <br />
|
||||
(see also <code>updateFileSystemStatus and updateFileSystemAvailability in
|
||||
File System Managment Service</code>)
|
||||
]]>
|
||||
</description>
|
||||
<name>DestinationFileSystem</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHSMModulServicename"
|
||||
setMethod="setHSMModulServicename">
|
||||
<description><![CDATA[HSM Module to store tarballs to HSM systems.<br/>
|
||||
Use NONE to store files on local filesystem without additional HSM support.<br/>
|
||||
Only effective if destination is a tar filesystem!<br/>
|
||||
]]></description>
|
||||
<name>HSMModulServicename</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getAvailableHSMModules">
|
||||
<description>Available HSM modules.</description>
|
||||
<name>AvailableHSMModules</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isReady">
|
||||
<description><![CDATA[Status if FileCopy Service is ready to process FileCopy orders.<br/>
|
||||
If the destination is a tar filesystem and a HSMModule is configured, this module must be also registered!<br/>
|
||||
If this status is false the processing of Filecopy orders will be delayed according NotReadyDelay to wait for
|
||||
deployment/registration of the configured HSMModule.
|
||||
]]></description>
|
||||
<name>isReady</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isSeriesStoredDisabled"
|
||||
setMethod="setSeriesStoredDisabled">
|
||||
<description>Disable Series Stored Notification</description>
|
||||
<name>SeriesStoredDisabled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileStatus"
|
||||
setMethod="setFileStatus">
|
||||
<description>Status of copied file. Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED
|
||||
</description>
|
||||
<name>FileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isVerifyCopy" setMethod="setVerifyCopy">
|
||||
<description>Verify MD5 sum of copied file.
|
||||
</description>
|
||||
<name>VerifyCopy</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries made for
|
||||
failed Copy Requests.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNotReadyDelay"
|
||||
setMethod="setNotReadyDelay">
|
||||
<description><![CDATA[Delay to reschedule FileCopy orders when the FileCopy Service is not ready.
|
||||
<br>The delay can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).]]>
|
||||
</description>
|
||||
<name>NotReadyDelay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1m" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent invoked Copy Requests.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of write byte buffer.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192"/>
|
||||
</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getQueryRetrieveScpServiceName"
|
||||
setMethod="setQueryRetrieveScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>QueryRetrieveScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Copy files of given study</description>
|
||||
<name>copyFilesOfStudy</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>studyIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Copy files of given series</description>
|
||||
<name>copyFilesOfSeries</name>
|
||||
<parameter>
|
||||
<description>Series Instance UID</description>
|
||||
<name>seriesIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Filecopy Order for given IAN Dataset</description>
|
||||
<name>scheduleByIAN</name>
|
||||
<parameter>
|
||||
<description>IAN Dataset</description>
|
||||
<name>ianDataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Schedule delivery time as long.<br />
|
||||
Note: -1 means default behaviour (after business hours configured in destination: <destination>!<from>-<to>).
|
||||
]]></description>
|
||||
<name>scheduleTime</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
167
dcm4chee/default/conf/xmdesc/dcm4chee-filecopyquery-xmbean.xml
Normal file
167
dcm4chee/default/conf/xmdesc/dcm4chee-filecopyquery-xmbean.xml
Normal file
@@ -0,0 +1,167 @@
|
||||
<?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[Query based FileCopy Service.<br />
|
||||
Provides automatic trigger of FileCopy service
|
||||
that fulfills criteria defined by an SQL Query.
|
||||
<p>The SQL statement must be defined with following rules:</p>
|
||||
1) Series.pk must be the first column of the select statement.<br />
|
||||
2) The where clause should contain a Series.updated_time. ]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.FileCopyByQueryService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileCopyByQueryService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getPollInterval" setMethod="setPollInterval">
|
||||
<description><![CDATA[Interval for polling for series to trigger FileCopy.
|
||||
The interval can be specified in seconds (##s) or minutes (##m).
|
||||
NEVER = disable this FileCopyByQuery service.]]>
|
||||
</description>
|
||||
<name>PollInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getQuery"
|
||||
setMethod="setQuery">
|
||||
<description><![CDATA[SQL statement to filter series for FileCopy.<p />
|
||||
Default Query to find series that are stored (series_status=0) and has no copy in NEARLINE filesystem (pk=2):<br />
|
||||
SELECT DISTINCT series.pk FROM series, instance, files
|
||||
WHERE series.series_status = 0 AND series.pk = instance.series_fk AND instance.pk = files.instance_fk
|
||||
AND series.updated_time < ?
|
||||
AND NOT EXISTS (SELECT pk FROM files WHERE files.instance_fk=instance.pk AND files.filesystem_fk=2) <br />
|
||||
<b>Note:</b> The first column in the SELECT statement must be: series.pk!<br />
|
||||
If limit > 0 the SQL statement is extended with: <br />
|
||||
1) a database specific LIMIT <br />
|
||||
2) a 'series.pk > ?' as first criteria in WHERE clause (if sql hasn't already a 'pk > ?')<br />
|
||||
3) an 'ORDER BY series.pk' (if sql hasn't already a 'ORDER BY')]]>
|
||||
</description>
|
||||
<name>Query</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="SELECT DISTINCT series.pk FROM series, instance, files
|
||||
WHERE series.series_status = 0 AND series.pk = instance.series_fk AND instance.pk = files.instance_fk
|
||||
AND series.updated_time < ?
|
||||
AND NOT EXISTS (SELECT pk FROM files WHERE files.instance_fk=instance.pk AND files.filesystem_fk=2)"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getLastQueryCheckResult">
|
||||
<description><![CDATA[Result of last check of Query statement.<br />
|
||||
If there is an error no automatic forward will be perfromed until the Query is corrected. <br /> ]]>
|
||||
</description>
|
||||
<name>LastQueryCheckResult</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDelay" setMethod="setDelay">
|
||||
<description><![CDATA[Delay in seconds (##s), minutes (##m) or hours (##h) for which a series must be unchanged before forward is triggered.
|
||||
Use NONE to disable parameter setting of Prepared Statement! (This would be necessary if your SQL statement doesn't contain a '?')]]>
|
||||
</description>
|
||||
<name>Delay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1h"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLimit"
|
||||
setMethod="setLimit">
|
||||
<description><![CDATA[Limit number of series for forwarding in one step. <br />
|
||||
This will add database specfic limit statements to the Query!
|
||||
Set this to 0 if the query already contains a limitation.]]>
|
||||
</description>
|
||||
<name>Limit</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="2000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFetchSize"
|
||||
setMethod="setFetchSize">
|
||||
<description>JDBC Fetch size. (-1 means: use Limit)
|
||||
</description>
|
||||
<name>FetchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if a FileCopy task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="getLastSeriesPk">
|
||||
<description>Last used Series.pk. Used as additional query parameter (SERIES.pk > lastPk) if a Limit > 0 is specified!
|
||||
</description>
|
||||
<name>LastSeriesPk</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDFilecopyByQuery"
|
||||
setMethod="setTimerIDFilecopyByQuery">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDFilecopyByQuery</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TimerIDFilecopyByQuery"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFilecopyServiceName"
|
||||
setMethod="setFilecopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FilecopyServiceName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Check for series and schedule FileCopy requests for these.<br />
|
||||
Return number of FileCopyOrders that are scheduled.]]>
|
||||
</description>
|
||||
<name>checkFilecopy</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Show actual SQL statement as it will be used to find series.]]>
|
||||
</description>
|
||||
<name>showSQL</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
488
dcm4chee/default/conf/xmdesc/dcm4chee-filemove-xmbean.xml
Normal file
488
dcm4chee/default/conf/xmdesc/dcm4chee-filemove-xmbean.xml
Normal file
@@ -0,0 +1,488 @@
|
||||
<?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[ File Move Service
|
||||
Move files from one file system group (RW) to another RW file system group if usable disk space
|
||||
of <i>SourceFileSystemGroup</i> falls below <i>MoveThresholds</i> and configured.
|
||||
accessed studies.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.hsm.FileMoveService</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileMoveService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getSrcFsGroup" setMethod="setSrcFsGroup">
|
||||
<description><![CDATA[Source file system group ID or NONE to disable this service.]]>
|
||||
</description>
|
||||
<name>SourceFileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDestFsGroup" setMethod="setDestFsGroup">
|
||||
<description><![CDATA[Destination file system group ID.<br/>
|
||||
One filesystem of the configured group must be RW (selected via selectStorageFileSystem)<br/>
|
||||
Use <file system path>@<file system group> to specify a concrete file system of a FS group.
|
||||
In this case the file system can be also RO.]]>
|
||||
</description>
|
||||
<name>DestinationFileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getMinFreeDiskSpace" >
|
||||
<description><![CDATA[Minimum free disk space on source filesystem group. Used to calculate usable disk space of the file system group.
|
||||
1MB = 1000000 bytes, 1GB = 1000MB. Configured in corresponding FilesystemGroup service]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpaceOnSource</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpace">
|
||||
<description><![CDATA[Usable free disk space on source file
|
||||
system group, considering the configured value for <i>MinimumFreeDiskSpace</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnSource</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceString">
|
||||
<description><![CDATA[Usable free disk space on source file
|
||||
systems group, considering the configured value for <i>MinimumFreeDiskSpace</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnSourceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceStringOnDest">
|
||||
<description><![CDATA[Usable free disk space on destination file systems group.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnDestinationString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleterThresholds"
|
||||
setMethod="setDeleterThresholds">
|
||||
<description><![CDATA[Defines 'disc free' thresholds dependent on hour of day, for
|
||||
moving the most infrequently accessed studies which satisfy the
|
||||
configured set of constraints.
|
||||
<p>Format: HOUR:##MB or HOUR:##GB or HOUR:##h, multiple thresholds with
|
||||
different (start) hour separated by ';'. NONE = disable move of
|
||||
studies on file systems of the configured source file system group.
|
||||
<p>E.g.: 7:1h;19:24h => free space for expected data volume received in
|
||||
24 hours between 7pm and 7am. Between 7am and 7pm only move studies if
|
||||
the usable free space falls below the expected data volume received in
|
||||
one hour.]]>
|
||||
</description>
|
||||
<name>MoveThresholdsOnSource</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="7:1h;19:24h" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getExpectedDataVolumePerDay" >
|
||||
<description><![CDATA[Expected data volume per day on source file system group. Used to transform
|
||||
time based move thresholds (s. MoveThresholds) into disk space size
|
||||
to free.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDayOnSource</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getExpectedDataVolumePerDayBytes">
|
||||
<description><![CDATA[Get expected data volume per day on source filesystem group
|
||||
in bytes, returned as a long.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDayBytesOnSource</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentDeleterThreshold">
|
||||
<description><![CDATA[Get current effective move threshold in bytes
|
||||
according configured <i>MoveThreshold</i> and
|
||||
<i>ExpectedDataVolumePerDay</i>. If <i>UsableDiskSpaceOnSource</i> falls below
|
||||
this value, most infrequently accessed studies which satisfy the
|
||||
configured set of constraints will be moved on next invocation of
|
||||
operation <i>scheduleStudiesForMove</i>.]]>
|
||||
</description>
|
||||
<name>CurrentMoveThresholdOnSource</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines when a study not accessed for the specified
|
||||
time can be moved from file systems of configured source file system group
|
||||
to a file system of destination file system group, if it satisfies the configured set of constraints.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks) | NEVER
|
||||
<br>NEVER = move of studies is only triggered by running out of disk
|
||||
space.
|
||||
<br>Example:
|
||||
<br>52w = any studies that have not been accessed for 52 weeks or more
|
||||
can be moved if they satisfies the configured set of constraints.]]>
|
||||
</description>
|
||||
<name>MoveStudyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyOnlyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyOnlyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines minimal time a study must not be accessed
|
||||
before it becomes a candidate for move.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks)]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfStorageNotCommited"
|
||||
setMethod="setDeleteStudyOnlyIfStorageNotCommited">
|
||||
<description><![CDATA[Defines if no Storage Commitment request must have
|
||||
been accepted for any instances of a study to become a candidate for
|
||||
move triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>MoveStudiesNotAccessedFor</i>. Typically only
|
||||
activated if no other constraint for study move is configured.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfStorageNotCommited</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyExternalRetrievable"
|
||||
setMethod="setDeleteStudyOnlyIfCopyExternalRetrievable">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
retrievable from an external Application Entity to become a candidate
|
||||
for move triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>MoveStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfExternalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getInstanceAvailabilityOfExternalRetrievable"
|
||||
setMethod="setInstanceAvailabilityOfExternalRetrievable">
|
||||
<description><![CDATA[Defines assumed Instance Availability of only
|
||||
external retrievable Studies. Enumerated values: ONLINE, NEARLINE, AUTO.
|
||||
AUTO - query Instance Availability from external Retrieve AE.]]>
|
||||
</description>
|
||||
<name>InstanceAvailabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AUTO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnMedia"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnMedia">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on Media to become a candidate for move triggered by running out of
|
||||
disk space or being not accessed longer than configured
|
||||
<i>MoveStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfCopyOnMedia</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on a file system of the specified different file system group to
|
||||
become a candidate for move triggered by running out of disk space or
|
||||
being not accessed longer than configured <i>MoveStudiesNotAccessedFor</i>.
|
||||
"NONE" = no such constraint.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfCopyOnFileSystemOfFileSystemGroup</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEARLINE_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyArchived"
|
||||
setMethod="setDeleteStudyOnlyIfCopyArchived">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a file system of a different file system group with file status:
|
||||
ARCHIVED to become a candidate for move triggered by running out of disk
|
||||
space or being not accessed longer than configured
|
||||
<i>MoveStudiesNotAccessedFor</i>. Typically the file system group of
|
||||
the file system holding the archived copy is specified by
|
||||
<i>MoveStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfCopyArchived</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnReadOnlyFileSystem"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnReadOnlyFileSystem">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a read-only file system of a different file system group to become a
|
||||
candidate for move triggered by running out of disk space or being not
|
||||
accessed longer than configured <i>MoveStudiesNotAccessedFor</i>.
|
||||
Typically the file system group of the read-only file systems is
|
||||
specified by <i>MoveStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>MoveStudyOnlyIfCopyOnReadOnlyFileSystem</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionInterval"
|
||||
setMethod="setScheduleStudiesForDeletionInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>scheduleStudiesForMove</i> is invoked to schedule move of most
|
||||
infrequently accessed studies which satisfies the configured set of
|
||||
constraints from file systems of the source file system group,
|
||||
if they were not accessed longer than configured
|
||||
<i>MoveStudiesNotAccessedFor</i> or if <i>UsableDiskSpaceOnSource</i>
|
||||
falls below <i>CurrentMoveThreshold</i>.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>scheduleStudiesForMove</i>
|
||||
by timer thread automatically. ]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForMoveInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningScheduleStudiesForDeletion">
|
||||
<description>Current state if ScheduleStudiesForMove task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningScheduleStudiesForMove</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionBatchSize"
|
||||
setMethod="setScheduleStudiesForDeletionBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies scheduled for
|
||||
move in one transaction.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForMoveBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries made for
|
||||
failed Move Requests.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isKeepSrcFiles" setMethod="setKeepSrcFiles">
|
||||
<description>Keep source file (copy instead of move).
|
||||
</description>
|
||||
<name>KeepSrcFiles</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isVerifyCopy" setMethod="setVerifyCopy">
|
||||
<description>Verify MD5 sum of copied file.
|
||||
</description>
|
||||
<name>VerifyCopy</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isKeepMovedFilesOnError" setMethod="setKeepMovedFilesOnError">
|
||||
<description>Keep successfully moved files if one or more files failed. (not supported on tar file systems!).
|
||||
If disabled the whole Move order is rolled back if one file failed!
|
||||
</description>
|
||||
<name>KeepMovedFilesOnError</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDestFileStatus" setMethod="setDestFileStatus">
|
||||
<description><![CDATA[File status of destination files after move.<br/>
|
||||
Suitable stati: DEFAULT, TO_ARCHIVE, ARCHIVED <br/>
|
||||
Use '-' to leave file status unchanged.]]>
|
||||
</description>
|
||||
<name>DestinationFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of write byte buffer.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getHSMModulServicename"
|
||||
setMethod="setHSMModulServicename">
|
||||
<description><![CDATA[HSM Module to store tarballs to HSM systems.<br/>
|
||||
Use NONE to store files on local filesystem without additional HSM support.<br/>
|
||||
Only effective if destination is a tar filesystem!<br/>
|
||||
Please ensure with dependencies in deployment descriptor that this service starts after configured HSMModule!<br/>
|
||||
]]></description>
|
||||
<name>HSMModulServicename</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDScheduleStudiesForDeletion"
|
||||
setMethod="setTimerIDScheduleStudiesForDeletion">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDScheduleStudiesForMove</name>
|
||||
<type>java.lang.String</type>
|
||||
</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="getFileSystemMgtServiceNamePrefix"
|
||||
setMethod="setFileSystemMgtServiceNamePrefix">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileSystemMgtServiceNamePrefix</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="getSchedulerServiceName"
|
||||
setMethod="setSchedulerServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>SchedulerServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFindScuServiceName"
|
||||
setMethod="setFindScuServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>FindScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedules move of most infrequently accessed
|
||||
studies which satisfies the configured set of constraints from writeable
|
||||
file systems of the source file system group, if they
|
||||
were not accessed longer than configured
|
||||
<i>MoveStudiesNotAccessedFor</i> or if <i>UsableDiskSpaceOnSource</i> falls
|
||||
below <i>CurrentMoveThreshold</i>.
|
||||
Returns the number of studies scheduled for move.]]>
|
||||
</description>
|
||||
<name>scheduleStudiesForMove</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedule move of study with specified Study
|
||||
Instance UID <b>without</b> consideration of the configured set of
|
||||
constraints. Returns size of study in bytes scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudyForMove</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.
|
||||
</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show current Move criteria.</description>
|
||||
<name>showMoveCriteria</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<!-- Notifications -->
|
||||
</mbean>
|
||||
84
dcm4chee/default/conf/xmdesc/dcm4chee-findscu-xmbean.xml
Normal file
84
dcm4chee/default/conf/xmdesc/dcm4chee-findscu-xmbean.xml
Normal file
@@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Find SCU Service to query Instance Availability of a particular Study.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.findscu.FindScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FindScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write"
|
||||
getMethod="getCallingAET"
|
||||
setMethod="setCallingAET">
|
||||
<description>Calling AE title of the Find SCU.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority for C-Find requests. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</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="INFO">
|
||||
<description>Query C-FIND SCP for Instance Availability of particular Study</description>
|
||||
<name>availabilityOfStudy</name>
|
||||
<parameter>
|
||||
<description>C-FIND SCP AE Title</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Query C-FIND SCP for particular Study</description>
|
||||
<name>findStudy</name>
|
||||
<parameter>
|
||||
<description>C-FIND SCP AE Title</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
49
dcm4chee/default/conf/xmdesc/dcm4chee-fixpatattr-xmbean.xml
Normal file
49
dcm4chee/default/conf/xmdesc/dcm4chee-fixpatattr-xmbean.xml
Normal file
@@ -0,0 +1,49 @@
|
||||
<?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>FixPatientAttributes Service. Remove 'none patient attributes' in patient record.(e.g. no study attributes).</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.FixPatientAttributesService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FixPatientAttributesService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfPatientsPerTask" setMethod="setLimitNumberOfPatientsPerTask">
|
||||
<description>Maximum number of patient that are checked in one task.
|
||||
</description>
|
||||
<name>LimitNumberOfPatientsPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="500"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Check all patients if attributes contains only patient relevant attributes.</description>
|
||||
<name>check</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fix patient attributes. Return number of updated patients</description>
|
||||
<name>repair</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
180
dcm4chee/default/conf/xmdesc/dcm4chee-forward-xmbean.xml
Normal file
180
dcm4chee/default/conf/xmdesc/dcm4chee-forward-xmbean.xml
Normal file
@@ -0,0 +1,180 @@
|
||||
<?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[Forward Service.<br>
|
||||
Provides auto-routing of DICOM objects that are received by the DICOM Storage Service
|
||||
to remote DICOM applications. <br>
|
||||
This is done by queuing corresponding retrieve requests to the <b>Move SCU</b> service.
|
||||
<p>
|
||||
This Forward Service supports two additional Notifications <tt>PatientUpdated</tt> and <tt>SeriesUpdated</tt>
|
||||
from <b>ContentEditService</b> to allow forwarding DICOM objects to serve the purpose of update.<br>
|
||||
(Works only if the received objects are used for updating!)
|
||||
</p>]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.movescu.ForwardService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ForwardService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getForwardingRules" setMethod="setForwardingRules">
|
||||
<description><![CDATA[List of forwarding rules, dependent upon which
|
||||
application - identified by the Calling AE title - sent the objects.
|
||||
<p>
|
||||
The comma separated list of AE titles after the (optional) condition defines
|
||||
the forwarding destination (the other Storage SCP) by its Called AE Title.
|
||||
<p>
|
||||
Each AE title can be suffixed by !<from>-<to> to defer forwarding to that
|
||||
destination outside a particular time interval , and by {<priority>} to
|
||||
overwrite the forwarding priority specified by attribute <b>ForwardPriority</b>
|
||||
for this destination .
|
||||
<p>
|
||||
<b>Syntax:</b>
|
||||
<br><forwarding rules> := (<forwarding rule> <EOL>)+ | 'NONE'
|
||||
<br><forwarding rule> := ['['<condition>[,<condition>..]']'] <aeTitleTo> ['!'<from>'-'<to>] ['{'<priority>'}']
|
||||
<br><condition> := calling ['!'] '=' <aeTitleFrom> or
|
||||
extRetrieveAET ['!'] '=' <extRetrieveAET> or
|
||||
archived ['!'] '=' 'true' | 'false'
|
||||
<br><priority> := 'MEDIUM' | 'HIGH' | 'LOW'
|
||||
<br>where
|
||||
<br><aeTitleFrom> = calling AE titles separated by pipes ('|')
|
||||
<br><extRetrieveAET> = external Retrieve AET (of all instances of SeriesStored) separated by pipes ('|') or '*'
|
||||
<br><archived> = If all instances of SeriesStored are marked as archived
|
||||
<br><aeTitleTo> = comma separated list of AE titles that objects are forwarded to
|
||||
<br>'!'<from>'-'<to> = start and end hour (0-23) when no forwarding should be
|
||||
performed to that destination
|
||||
<p>
|
||||
<b>Example:</b> [calling=SCU1|SCU2]SCP3 {HIGH} ,SCP4!8-16 {LOW}
|
||||
Forwards objects received from AE Title SCU1 or SCU2 to Storage SCPs, SCP3 with
|
||||
high priority and to SCP4 with low priority. Forwarding of objects received
|
||||
between 8am and 4pm to SCP4 is delayed until 4 pm.
|
||||
<b>Example with central archive:</b> [calling!=CENTRAL,extRetrieveAET!=*]CENTRAL
|
||||
Forwards all objects to CENTRAL with following exceptions:<br/>
|
||||
1) If sourceAET of received object is CENTRAL<br/>
|
||||
2) If a local object already exists with an extenal RetrieveAET]]>
|
||||
</description>
|
||||
<name>ForwardingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="[calling=SCU1|SCU2]SCP3,SCP4!8-16;NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getForwardOnInstanceLevelFromAETs"
|
||||
setMethod="setForwardOnInstanceLevelFromAETs">
|
||||
<description><![CDATA[Comma separated list of AE titles of Storage SCUs
|
||||
from which objects are forwarded by an Instance level retrieve request.
|
||||
Objects received from other Storage SCUs are forwarded on Series level,
|
||||
which may cause to multiple forwarding of objects, if the Storage SCU
|
||||
sends instances of a single series in multiple associations in succession.
|
||||
<br>ALL = Forward objects on Instance level received from any Storage SCUs.
|
||||
<br>NONE = Forward objects on Series level received from any Storage SCUs.
|
||||
<br>Exception: if only one object is received in the association,
|
||||
the object will be forwarded by an Instance level retrieve request, even
|
||||
if the AE title of the sending Storage SCU is not listed.
|
||||
]]>
|
||||
</description>
|
||||
<name>ForwardOnInstanceLevelFromAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isEnablePatientUpdated" setMethod="setEnablePatientUpdated">
|
||||
<description><![CDATA[Enable/Disable PatientUpdated notification support.<br>
|
||||
If enabled a <tt>PatientUpdated</tt> notification will forward all instances of
|
||||
the related patient to each AET listed in <tt>ForwardModifiedToAETs</tt>.<p>
|
||||
You should enable this feature only if you have to update a system that doesnt support
|
||||
<b>HL7 ADT</b> update messages]]>
|
||||
</description>
|
||||
<name>EnablePatientUpdated</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isEnableSeriesUpdated" setMethod="setEnableSeriesUpdated">
|
||||
<description><![CDATA[Enable/Disable <tt>SeriesUpdated</tt> notification support.
|
||||
If enabled a SeriesUpdated notification will forward all instances of
|
||||
the series to each AET listed in <tt>ForwardModifiedToAETs</tt>.<p>
|
||||
You should enable this feature only if you have to update a system that doesnt support
|
||||
<b>StudyMgtScu</b> service.]]>
|
||||
</description>
|
||||
<name>EnableSeriesUpdated</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isIgnoreNotLocalRetrievable" setMethod="setIgnoreNotLocalRetrievable">
|
||||
<description><![CDATA[Disable forward of Series that are not local retrievable.<br />
|
||||
i.e.:<tt>SeriesStored</tt> notification with no RetrieveAET will be ignored by this service. <br />
|
||||
Such a SeriesStored notification is sent if instances are received with private TransferSyntax
|
||||
'Dcm4che URI Referenced' (1.2.40.0.13.1.1.2.4.94) and a (external) RetrieveAET instead of RetrieveURI is given.<br />
|
||||
]]>
|
||||
</description>
|
||||
<name>IgnoreNotLocalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getForwardModifiedToAETs" setMethod="setForwardModifiedToAETs">
|
||||
<description><![CDATA[Comma separated list of AE titles to which objects modified
|
||||
by using the web application are re-forwarded.<br> <tt>NONE</tt> = do not forward
|
||||
modified objects.<p>
|
||||
see also <tt>EnablePatientUpdated</tt> and <tt>EnableSeriesUpdated</tt>.]]>
|
||||
</description>
|
||||
<name>ForwardModifiedToAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getForwardPriority" setMethod="setForwardPriority">
|
||||
<description>Forwarding priority. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>ForwardPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MoveScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getEditContentServiceName"
|
||||
setMethod="setEditContentServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>EditContentServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
117
dcm4chee/default/conf/xmdesc/dcm4chee-forward2-xmbean.xml
Normal file
117
dcm4chee/default/conf/xmdesc/dcm4chee-forward2-xmbean.xml
Normal file
@@ -0,0 +1,117 @@
|
||||
<?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[Forward Service.<br>
|
||||
Provides auto-routing of DICOM objects that are received by the DICOM Storage Service
|
||||
to remote DICOM applications.
|
||||
<p>Forwarding Rules can be defined in one or several XSLT stylesheets
|
||||
under the configuration directory (s.attribute <b>ConfigDirectory</b>).
|
||||
]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.movescu.ForwardService2</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ForwardService2</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getConfigDir"
|
||||
setMethod="setConfigDir">
|
||||
<description><![CDATA[Directory where configuration files defining
|
||||
forwarding rules are located: if XSL stylesheet "forward.xsl" exists in
|
||||
this directory or in a sub-directory equal to the AE Title of the
|
||||
Storage SCU, received Series will be forwarded to one or several
|
||||
destinations according the forwarding rules in the stylesheet.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>ConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getForwardOnInstanceLevelFromAETs"
|
||||
setMethod="setForwardOnInstanceLevelFromAETs">
|
||||
<description><![CDATA[Comma separated list of AE titles of Storage SCUs
|
||||
from which objects are forwarded by an Instance level retrieve request.
|
||||
Objects received from other Storage SCUs are forwarded on Series level,
|
||||
which may cause to multiple forwarding of objects, if the Storage SCU
|
||||
sends instances of a single series in multiple associations in succession.
|
||||
<br>ALL = Forward objects on Instance level received from any Storage SCUs.
|
||||
<br>NONE = Forward objects on Series level received from any Storage SCUs.
|
||||
<br>Exception: if only one object is received in the association,
|
||||
the object will be forwarded by an Instance level retrieve request, even
|
||||
if the AE title of the sending Storage SCU is not listed.
|
||||
]]>
|
||||
</description>
|
||||
<name>ForwardOnInstanceLevelFromAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isIgnoreNotLocalRetrievable" setMethod="setIgnoreNotLocalRetrievable">
|
||||
<description><![CDATA[Disable forward of Series that are not local retrievable.<br />
|
||||
i.e.:<tt>SeriesStored</tt> notification with no RetrieveAET will be ignored by this service. <br />
|
||||
Such a SeriesStored notification is sent if instances are received with private TransferSyntax
|
||||
'Dcm4che URI Referenced' (1.2.40.0.13.1.1.2.4.94) and a (external) RetrieveAET instead of RetrieveURI is given.<br />
|
||||
]]>
|
||||
</description>
|
||||
<name>IgnoreNotLocalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogForwardPriorXML"
|
||||
setMethod="setLogForwardPriorXML">
|
||||
<description><![CDATA[Log XML data for selection of priors as file. (in <log_dir>/forward_prior)]]>
|
||||
</description>
|
||||
<name>LogForwardPriorXML</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MoveScuServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
175
dcm4chee/default/conf/xmdesc/dcm4chee-forwardquery-xmbean.xml
Normal file
175
dcm4chee/default/conf/xmdesc/dcm4chee-forwardquery-xmbean.xml
Normal file
@@ -0,0 +1,175 @@
|
||||
<?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[Query based Forward Service.<br />
|
||||
Provides auto-routing of DICOM objects to a remote DICOM application
|
||||
that fulfills criteria defined by an SQL Query.
|
||||
<p>The SQL statement must be defined with following rules:</p>
|
||||
1) Series.series_iuid and Series.retrieve_aets must be the first columns of the select statement.<br />
|
||||
2) The where clause should contain a Series.updated_time. ]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.movescu.ForwardByQueryService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ForwardByQueryService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description>AE title of the STORE SCP, to which the Dicom objects should be forwarded.
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="STORE1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPollInterval" setMethod="setPollInterval">
|
||||
<description><![CDATA[Interval for polling for series to forward.
|
||||
The interval can be specified in seconds (##s) or minutes (##m).
|
||||
NEVER = disable Forwarding of Dicom objects.]]>
|
||||
</description>
|
||||
<name>PollInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getQuery"
|
||||
setMethod="setQuery">
|
||||
<description><![CDATA[SQL statement to filter series for forwarding.<p />
|
||||
Default Query to find series that are stored (series_status=0) and not forwarded (ext_retr_aet is null)
|
||||
and has associated Request Attributes (a reference in series_req):<br />
|
||||
SELECT DISTINCT series.series_iuid, series.retrieve_aets, series.pk
|
||||
FROM series INNER JOIN series_req ON series.pk = series_req.series_fk
|
||||
WHERE series.series_status = 0 AND series.ext_retr_aet IS NULL
|
||||
AND series.updated_time < ? ORDER BY series.pk<br />
|
||||
Mote: The first three columns in the SELECT statement must be: series_iuid, retrieve_aets and pk (Series table)!<br />
|
||||
If limit > 0 the SQL statement is extended with: <br />
|
||||
1) a database specific LIMIT <br />
|
||||
2) a 'series.pk > ?' as first criteria in WHERE clause (if sql hasn't already a 'pk > ?')<br />
|
||||
3) an 'ORDER BY series.pk' (if sql hasn't already a 'ORDER BY')]]>
|
||||
</description>
|
||||
<name>Query</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="SELECT DISTINCT series.series_iuid, series.retrieve_aets, series.pk
|
||||
FROM series INNER JOIN series_req ON series.pk = series_req.series_fk
|
||||
WHERE series.series_status = 0 AND series.ext_retr_aet IS NULL
|
||||
AND series.updated_time < ? ORDER BY series.pk"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getLastQueryCheckResult">
|
||||
<description><![CDATA[Result of last check of Query statement.<br />
|
||||
If there is an error no automatic forward will be perfromed until the Query is corrected. <br /> ]]>
|
||||
</description>
|
||||
<name>LastQueryCheckResult</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDelay" setMethod="setDelay">
|
||||
<description><![CDATA[Delay in seconds (##s), minutes (##m) or hours (##h) for which a series must be unchanged before forward is triggered.
|
||||
Use NONE to disable parameter setting of Prepared Statement! (This would be necessary if your SQL statement doesn't contain a '?')]]>
|
||||
</description>
|
||||
<name>Delay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1h"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLimit"
|
||||
setMethod="setLimit">
|
||||
<description><![CDATA[Limit number of series for forwarding in one step. <br />
|
||||
This will add database specfic limit statements to the Query!
|
||||
Set this to 0 if the query already contains a limitation.]]>
|
||||
</description>
|
||||
<name>Limit</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="2000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if a forward task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="getLastSeriesPk">
|
||||
<description>Last used Series.pk. Used as additional query parameter (SERIES.pk > lastPk) if a Limit > 0 is specified!
|
||||
</description>
|
||||
<name>LastSeriesPk</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getForwardPriority" setMethod="setForwardPriority">
|
||||
<description>Forwarding priority. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>ForwardPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDForwardByQuery"
|
||||
setMethod="setTimerIDForwardByQuery">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDForwardByQuery</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TimerIDForwardByQuery"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MoveScuServiceName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Check for series to forward and schedule MOVE requests for these.<br />
|
||||
Return number of series that are scheduled to be sent to calledAET.]]>
|
||||
</description>
|
||||
<name>checkForward</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Show actual SQL statement as it will be used to find series.]]>
|
||||
</description>
|
||||
<name>showSQL</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
886
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-lossy-xmbean.xml
Normal file
886
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-lossy-xmbean.xml
Normal file
@@ -0,0 +1,886 @@
|
||||
<?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[File System Management Service. Specifies the location
|
||||
of file systems in which DICOM objects received from the Store SCP Server
|
||||
are stored. You can also set up rules to delete the most infrequently
|
||||
accessed studies.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.FileSystemMgt2Service</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileSystemMgt2Service</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-only" getMethod="getFileSystemGroupID">
|
||||
<description><![CDATA[Identifier of the file system group managed by this
|
||||
service, specified by property <b>group</b> of its MBean name.]]>
|
||||
</description>
|
||||
<name>FileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefRetrieveAET"
|
||||
setMethod="setDefRetrieveAET">
|
||||
<description><![CDATA[Default Retrieve AE Title, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultRetrieveAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefAvailability"
|
||||
setMethod="setDefAvailability">
|
||||
<description><![CDATA[Default Availability, which will be associated with
|
||||
new file systems added by operation <i>addRWFileSystem</i>. Enumerated
|
||||
values: "ONLINE", "NEARLINE","OFFLINE", "UNAVAILABLE".]]>
|
||||
</description>
|
||||
<name>DefaultAvailability</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefUserInfo"
|
||||
setMethod="setDefUserInfo">
|
||||
<description><![CDATA[Default User Information, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultUserInformation</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefStorageDir"
|
||||
setMethod="setDefStorageDir">
|
||||
<description><![CDATA[Default Storage Directory, used on receive of the
|
||||
first object if no Storage File System was explicit configured by
|
||||
operation <i>addRWFileSystem</i>. A relative path name is resolved
|
||||
relative to <i><archive-install-directory></i>/server/default/.
|
||||
Use "NONE" to disable auto-configuration to force failure to receive
|
||||
objects, if no Storage File System was explicit configured.]]>
|
||||
</description>
|
||||
<name>DefaultStorageDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="archive-lossy" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isCheckStorageFileSystemStatus"
|
||||
setMethod="setCheckStorageFileSystemStatus">
|
||||
<description><![CDATA[Flag indicating if the RW status of the current
|
||||
storage file system is checked before each file storage of objects
|
||||
received by the Storage SCP.
|
||||
<p>If the update of the status of the file system is only performed by
|
||||
invoking operations <i>updateFileSystemStatus</i> of this service
|
||||
- in particular, if there are no other running dcm4chee applications on
|
||||
other nodes (dcm4chee cluster), and File System records in the database
|
||||
will NOT be updated by executing SQL statements using some dcm4chee
|
||||
external SQL client application - the check can be deactivated to spare
|
||||
the execution of one additional SQL statement for each stored object.</p>
|
||||
]]>
|
||||
</description>
|
||||
<name>CheckStorageFileSystemStatus</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isMakeStorageDirectory"
|
||||
setMethod="setMakeStorageDirectory">
|
||||
<description><![CDATA[Create storage directory, if no one exists.]]>
|
||||
</description>
|
||||
<name>MakeStorageDirectory</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists, this signals a failed
|
||||
mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinFreeDiskSpace"
|
||||
setMethod="setMinFreeDiskSpace">
|
||||
<description><![CDATA[Minimum free disk space. If the free available disk
|
||||
space on the current storage file system falls below this value, the next
|
||||
configured file system becomes the current storage system.
|
||||
1MB = 1000000 bytes, 1GB = 1000MB.<br />
|
||||
It is also possible to configure a relative value in %.<br />
|
||||
In this case the MinimumFreeDiskSpace is calculated for current storage file system.
|
||||
Note: This feature is not supported on java environments prior JDK 6!
|
||||
NONE = disable check for minimal free available disk space.
|
||||
Therefore switching to next file system is also disabled.
|
||||
(Only useful for configurations with only one RW filesystem)]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="50MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getMinFreeDiskSpaceBytes">
|
||||
<description><![CDATA[Get minimum free available disk space on the current storage
|
||||
file system in bytes, returned as a long. <br/> -1 means UNKNOWN]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpaceBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system in bytes.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpace">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceString">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpace">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceString">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMinimalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMinimalInterval">
|
||||
<description><![CDATA[Minimal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. The current interval (curInterval) is
|
||||
calculated by multiplication of this value (minInterval) with the ratio
|
||||
of the current free available disk space (curFDS) to the configured
|
||||
<i>MinimumFreeDiskSpace</i> (minFDS), but maximal the value specified by
|
||||
<i>CheckFreeDiskSpaceMaximalInterval</i> (maxInterval):
|
||||
<p>
|
||||
<tt>curInterval = min(minInterval * curFDS/minFDS, maxInterval)</tt>
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMinimalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="10s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMaximalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMaximalInterval">
|
||||
<description><![CDATA[Maximal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. Effective as long the current free available
|
||||
disk space is greater than <i>MinimumFreeDiskSpace</i> multiplied by the
|
||||
ratio of this value and the configured
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>. Otherwise the interval will be
|
||||
calculated as described above for attribute
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMaximalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceRetryInterval"
|
||||
setMethod="setCheckFreeDiskSpaceRetryInterval">
|
||||
<description><![CDATA[Pause check for free available disk space for the
|
||||
specified time interval after no configured file system was found with
|
||||
sufficent (= more than specified by <i>MinimumFreeDiskSpace</i>)
|
||||
available disk space.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceRetryInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleterThresholds"
|
||||
setMethod="setDeleterThresholds">
|
||||
<description><![CDATA[Defines thresholds dependent on hour of day, for
|
||||
deleting the most infrequently accessed studies which satisfy the
|
||||
configured set of constraints.
|
||||
<p>Format: HOUR:##MB or HOUR:##GB or HOUR:##h, multiple thresholds with
|
||||
different (start) hour separated by ';'. NONE = disable deletion of
|
||||
studies on file systems of the file system group managed by this service.
|
||||
<p>E.g.: 7:1h;19:24h => free space for expected data volume received in
|
||||
24 hours between 7pm and 7am. Between 7am and 7pm only delete studies if
|
||||
the usable free space falls below the expected data volume received in
|
||||
one hour.]]>
|
||||
</description>
|
||||
<name>DeleterThresholds</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="7:1h;19:24h" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getExpectedDataVolumePerDay"
|
||||
setMethod="setExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Expected data volume per day. Used to transform
|
||||
time based deleter thresholds (s. DeleterThresholds) into disk space size
|
||||
to free.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="100MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getExpectedDataVolumePerDayBytes">
|
||||
<description><![CDATA[Get expected data volume per day
|
||||
in bytes, returned as a long.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDayBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isAdjustExpectedDataVolumePerDay"
|
||||
setMethod="setAdjustExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Update value of attribute ExpectedDataVolumePerDay
|
||||
at midnight, if data volume received during last 24 hours exceeds its
|
||||
current value.]]>
|
||||
</description>
|
||||
<name>AdjustExpectedDataVolumePerDay</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentDeleterThreshold">
|
||||
<description><![CDATA[Get current effective deleter threshold in bytes
|
||||
according configured <i>DeleterThreshold</i> and
|
||||
<i>ExpectedDataVolumePerDay</i>. If <i>UsableDiskSpace</i> falls below
|
||||
this value, most infrequently accessed studies which satisfy the
|
||||
configured set of constraints will be deleted on next invocation of
|
||||
operation <i>scheduleStudiesForDeletion</i>.]]>
|
||||
</description>
|
||||
<name>CurrentDeleterThreshold</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines when a study not accessed for the specified
|
||||
time will be deleted from file systems of the file system group managed
|
||||
by this service, if it satisfies the configured set of constraints.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks) | NEVER
|
||||
<br>NEVER = deletion of studies is only triggered by running out of disk
|
||||
space.
|
||||
<br>Example:
|
||||
<br>52w = any studies that have not been accessed for 52 weeks or more
|
||||
can be deleted if they satisfies the configured set of constraints.]]>
|
||||
</description>
|
||||
<name>DeleteStudyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyOnlyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyOnlyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines minimal time a study must not be accessed
|
||||
before it becomes a candidate for deletion.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks)]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfStorageNotCommited"
|
||||
setMethod="setDeleteStudyOnlyIfStorageNotCommited">
|
||||
<description><![CDATA[Defines if no Storage Commitment request must have
|
||||
been accepted for any instances of a study to become a candidate for
|
||||
deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>. Typically only
|
||||
activated if no other constraint for study deletion is configured.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfStorageNotCommited</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyExternalRetrievable"
|
||||
setMethod="setDeleteStudyOnlyIfCopyExternalRetrievable">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
retrievable from an external Application Entity to become a candidate
|
||||
for deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfExternalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getInstanceAvailabilityOfExternalRetrievable"
|
||||
setMethod="setInstanceAvailabilityOfExternalRetrievable">
|
||||
<description><![CDATA[Defines assumed Instance Availability of only
|
||||
external retrievable Studies. Enumerated values: ONLINE, NEARLINE, AUTO.
|
||||
AUTO - query Instance Availability from external Retrieve AE.]]>
|
||||
</description>
|
||||
<name>InstanceAvailabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AUTO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnMedia"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnMedia">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on Media to become a candidate for deletion from file systems of
|
||||
the file system group managed by this service triggered by running out of
|
||||
disk space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnMedia</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on a file system of the specified different file system group to
|
||||
become a candidate for deletion from file systems of the file system
|
||||
group managed by this service triggered by running out of disk space or
|
||||
being not accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.<br/>
|
||||
Several Filesystem groups can be configured by seperating group names by <newline>.<br />
|
||||
In this case a copy must exist on all given filesystems.<br />
|
||||
"NONE" = no such constraint.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEARLINE_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyArchived"
|
||||
setMethod="setDeleteStudyOnlyIfCopyArchived">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a file system of a different file system group with file status:
|
||||
ARCHIVED to become a candidate for deletion from file systems of the file
|
||||
system group managed by this service triggered by running out of disk
|
||||
space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>. Typically the file system group of
|
||||
the file system holding the archived copy is specified by
|
||||
<i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyArchived</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnReadOnlyFileSystem"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnReadOnlyFileSystem">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a read-only file system of a different file system group to become a
|
||||
candidate for deletion from file systems of the file system group managed
|
||||
by this service triggered by running out of disk space or being not
|
||||
accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.
|
||||
Typically the file system group of the read-only file systems is
|
||||
specified by <i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnReadOnlyFileSystem</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isScheduleStudiesForDeletionOnSeriesStored"
|
||||
setMethod="setScheduleStudiesForDeletionOnSeriesStored">
|
||||
<description><![CDATA[Defines if operation <i>scheduleStudiesForDeletion</i>
|
||||
is invoked to schedule deletion of most infrequently accessed studies
|
||||
after storage of a new Series by the Storage SCP Service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionOnSeriesStored</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionInterval"
|
||||
setMethod="setScheduleStudiesForDeletionInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>scheduleStudiesForDeletion</i> is invoked to schedule deletion of most
|
||||
infrequently accessed studies which satisfies the configured set of
|
||||
constraints from writable file systems of the file system group managed
|
||||
by this service, if they were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i>
|
||||
falls below <i>CurrentDeleterThreshold</i>.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>scheduleStudiesForDeletion</i>
|
||||
by timer thread automatically. => If also
|
||||
<i>scheduleStudiesForDeletionOnSeriesStored</i> is not activated, no
|
||||
studies will be deleted automatically from file systems of the file
|
||||
system group managed by this service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningScheduleStudiesForDeletion">
|
||||
<description>Current state if ScheduleStudiesForDeletion task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningScheduleStudiesForDeletion</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionBatchSize"
|
||||
setMethod="setScheduleStudiesForDeletionBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies scheduled for
|
||||
deletion in one transaction.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesInterval"
|
||||
setMethod="setDeleteOrphanedPrivateFilesInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>deleteOrphanedPrivateFiles</i> is invoked to delete orphaned private
|
||||
files from writable file systems of the file system group managed by this
|
||||
service. Orphaned private files are the result of deleting instances
|
||||
from the web trash folder.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>deleteOrphanedPrivateFiles</i>
|
||||
automatically => never delete orphaned private files from the file
|
||||
system group managed by this service automatically.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1m" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningDeleteOrphanedPrivateFiles">
|
||||
<description>Current state if DeleteOrphanedPrivateFiles task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningDeleteOrphanedPrivateFiles</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesBatchSize"
|
||||
setMethod="setDeleteOrphanedPrivateFilesBatchSize">
|
||||
<description><![CDATA[Limit the number of orphaned private files that are
|
||||
deleted by one invocation of operation <i>deleteOrphanedPrivateFiles</i>.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getUpdateStudiesBatchSize"
|
||||
setMethod="setUpdateStudiesBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies fetched from the
|
||||
data base in one transaction by operation
|
||||
<i>updateFileSystemAvailability</i> and
|
||||
<i>updateFileSystemRetrieveAETitle</i> for update of <i>Availability</i>
|
||||
and <i>RetrieveAETs</i> values in Study, Series and Instance records.]]>
|
||||
</description>
|
||||
<name>UpdateStudiesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDScheduleStudiesForDeletion"
|
||||
setMethod="setTimerIDScheduleStudiesForDeletion">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDScheduleStudiesForDeletion</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDDeleteOrphanedPrivateFiles"
|
||||
setMethod="setTimerIDDeleteOrphanedPrivateFiles">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDDeleteOrphanedPrivateFiles</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="getDeleteStudyServiceName"
|
||||
setMethod="setDeleteStudyServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>DeleteStudyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFindScuServiceName"
|
||||
setMethod="setFindScuServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>FindScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>List all configured file systems.</description>
|
||||
<name>listAllFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[List all configured file systems associated with the
|
||||
file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>listFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Return Directory Paths for all configured file
|
||||
systems associated with the file system group managed by this service
|
||||
as array of Files.]]>
|
||||
</description>
|
||||
<name>listFileSystemDirectories</name>
|
||||
<return-type>[Ljava.io.File;</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Add RW file system to the file system group managed
|
||||
by this service. The file system is also linked to existing other file
|
||||
systems of the group.]]>
|
||||
</description>
|
||||
<name>addRWFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Remove empty file system from the file system group
|
||||
managed by this service. Will fail, if there are already/still file
|
||||
records associated with the file system.]]>
|
||||
</description>
|
||||
<name>removeFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Link or unlink two file systems of the file system
|
||||
group managed by this service.]]>
|
||||
</description>
|
||||
<name>linkFileSystems</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point of next file
|
||||
system or "" to unlink the file system from its successor.
|
||||
</description>
|
||||
<name>next</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update RW status of the specified file system. If
|
||||
the new file system status is "RW+", which defines the file system as
|
||||
current storage file system, the status of the previous storage file
|
||||
system is set to "RW", to ensure that there is only one file system in
|
||||
one file system group with status "RW+".]]>
|
||||
</description>
|
||||
<name>updateFileSystemStatus</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system status. Enumerated values: "RW", "RW+","RO".
|
||||
</description>
|
||||
<name>status</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update file system availability of the specified file
|
||||
system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemAvailability</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system availability. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availability</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Availability of only external retrievable studies. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update Retrieve AE Title associated to the specified
|
||||
file system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemRetrieveAETitle</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New Retrieve AE Title.
|
||||
</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System</description>
|
||||
<name>selectStorageFileSystem</name>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System and return Directory</description>
|
||||
<name>selectStorageDirectory</name>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Switch to next Storage File System (mounted, available and sufficient disk space).<br />
|
||||
Return true if Storage File System has been changed.
|
||||
]]></description>
|
||||
<name>switchFileSystem</name>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update value of attribute
|
||||
<i>ExpectedDataVolumePerDay</i>, if data volume received during last
|
||||
24 hours exceeds its current value.]]>
|
||||
</description>
|
||||
<name>adjustExpectedDataVolumePerDay</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedules deletion of most infrequently accessed
|
||||
studies which satisfies the configured set of constraints from writable
|
||||
file systems of the file system group managed by this service, if they
|
||||
were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i> falls
|
||||
below <i>CurrentDeleterThreshold</i>.
|
||||
Returns the number of studies scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudiesForDeletion</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedule deletion of study with specified Study
|
||||
Instance UID from writable file systems of the file system group managed
|
||||
by this service, <b>without</b> consideration of the configured set of
|
||||
constraints. Returns size of study in bytes scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudyForDeletion</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.
|
||||
</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Delete orphaned private files from writable file
|
||||
systems of the file system group managed by this service. Orphaned
|
||||
private files are the result of deleting instances from the web trash
|
||||
folder. Returns the number of deleted files.]]>
|
||||
</description>
|
||||
<name>deleteOrphanedPrivateFiles</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show current Deleter criteria.</description>
|
||||
<name>showDeleterCriteria</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Stop current Deleter Thread. (finish loop even there is still remaining size to delete)</description>
|
||||
<name>stopCurrentDeleterThread</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
<notification>
|
||||
<description>The notification sent whenever the current storage
|
||||
file system changed to the next configured storage file system.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>org.dcm4chex.archive.notif.StorageFileSystemSwitched</notification-type>
|
||||
</notification>
|
||||
</mbean>
|
||||
872
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-nearline-xmbean.xml
Normal file
872
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-nearline-xmbean.xml
Normal file
@@ -0,0 +1,872 @@
|
||||
<?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[File System Management Service. Specifies the location
|
||||
of file systems in which DICOM objects received from the Store SCP Server
|
||||
are stored. You can also set up rules to delete the most infrequently
|
||||
accessed studies.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.FileSystemMgt2Service</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileSystemMgt2Service</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-only" getMethod="getFileSystemGroupID">
|
||||
<description><![CDATA[Identifier of the file system group managed by this
|
||||
service, specified by property <b>group</b> of its MBean name.]]>
|
||||
</description>
|
||||
<name>FileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefRetrieveAET"
|
||||
setMethod="setDefRetrieveAET">
|
||||
<description><![CDATA[Default Retrieve AE Title, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultRetrieveAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefAvailability"
|
||||
setMethod="setDefAvailability">
|
||||
<description><![CDATA[Default Availability, which will be associated with
|
||||
new file systems added by operation <i>addRWFileSystem</i>. Enumerated
|
||||
values: "ONLINE", "NEARLINE","OFFLINE", "UNAVAILABLE".]]>
|
||||
</description>
|
||||
<name>DefaultAvailability</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEARLINE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefUserInfo"
|
||||
setMethod="setDefUserInfo">
|
||||
<description><![CDATA[Default User Information, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultUserInformation</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefStorageDir"
|
||||
setMethod="setDefStorageDir">
|
||||
<description><![CDATA[Default Storage Directory, used on receive of the
|
||||
first object if no Storage File System was explicit configured by
|
||||
operation <i>addRWFileSystem</i>. A relative path name is resolved
|
||||
relative to <i><archive-install-directory></i>/server/default/.
|
||||
Use "NONE" to disable auto-configuration to force failure to receive
|
||||
objects, if no Storage File System was explicit configured.]]>
|
||||
</description>
|
||||
<name>DefaultStorageDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isCheckStorageFileSystemStatus"
|
||||
setMethod="setCheckStorageFileSystemStatus">
|
||||
<description><![CDATA[Flag indicating if the RW status of the current
|
||||
storage file system is checked before each file storage of objects
|
||||
received by the Storage SCP.
|
||||
<p>If the update of the status of the file system is only performed by
|
||||
invoking operations <i>updateFileSystemStatus</i> of this service
|
||||
- in particular, if there are no other running dcm4chee applications on
|
||||
other nodes (dcm4chee cluster), and File System records in the database
|
||||
will NOT be updated by executing SQL statements using some dcm4chee
|
||||
external SQL client application - the check can be deactivated to spare
|
||||
the execution of one additional SQL statement for each stored object.</p>
|
||||
]]>
|
||||
</description>
|
||||
<name>CheckStorageFileSystemStatus</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isMakeStorageDirectory"
|
||||
setMethod="setMakeStorageDirectory">
|
||||
<description><![CDATA[Create storage directory, if no one exists.]]>
|
||||
</description>
|
||||
<name>MakeStorageDirectory</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists, this signals a failed
|
||||
mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinFreeDiskSpace"
|
||||
setMethod="setMinFreeDiskSpace">
|
||||
<description><![CDATA[Minimum free disk space. If the free available disk
|
||||
space on the current storage file system falls below this value, the next
|
||||
configured file system becomes the current storage system.
|
||||
1MB = 1000000 bytes, 1GB = 1000MB.<br />
|
||||
It is also possible to configure a relative value in %.<br />
|
||||
In this case the MinimumFreeDiskSpace is calculated for current storage file system.
|
||||
Note: This feature is not supported on java environments prior JDK 6!
|
||||
NONE = disable check for minimal free available disk space.
|
||||
Therefore switching to next file system is also disabled.
|
||||
(Only useful for configurations with only one RW filesystem)]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getMinFreeDiskSpaceBytes">
|
||||
<description><![CDATA[Get minimum free available disk space on the current storage
|
||||
file system in bytes, returned as a long. <br/> -1 means UNKNOWN]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpaceBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system in bytes.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpace">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceString">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpace">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceString">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMinimalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMinimalInterval">
|
||||
<description><![CDATA[Minimal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. The current interval (curInterval) is
|
||||
calculated by multiplication of this value (minInterval) with the ratio
|
||||
of the current free available disk space (curFDS) to the configured
|
||||
<i>MinimumFreeDiskSpace</i> (minFDS), but maximal the value specified by
|
||||
<i>CheckFreeDiskSpaceMaximalInterval</i> (maxInterval):
|
||||
<p>
|
||||
<tt>curInterval = min(minInterval * curFDS/minFDS, maxInterval)</tt>
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMinimalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="10s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMaximalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMaximalInterval">
|
||||
<description><![CDATA[Maximal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. Effective as long the current free available
|
||||
disk space is greater than <i>MinimumFreeDiskSpace</i> multiplied by the
|
||||
ratio of this value and the configured
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>. Otherwise the interval will be
|
||||
calculated as described above for attribute
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMaximalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceRetryInterval"
|
||||
setMethod="setCheckFreeDiskSpaceRetryInterval">
|
||||
<description><![CDATA[Pause check for free available disk space for the
|
||||
specified time interval after no configured file system was found with
|
||||
sufficent (= more than specified by <i>MinimumFreeDiskSpace</i>)
|
||||
available disk space.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceRetryInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleterThresholds"
|
||||
setMethod="setDeleterThresholds">
|
||||
<description><![CDATA[Defines thresholds dependent on hour of day, for
|
||||
deleting the most infrequently accessed studies which satisfy the
|
||||
configured set of constraints.
|
||||
<p>Format: HOUR:##MB or HOUR:##GB or HOUR:##h, multiple thresholds with
|
||||
different (start) hour separated by ';'. NONE = disable deletion of
|
||||
studies on file systems of the file system group managed by this service.
|
||||
<p>E.g.: 7:1h;19:24h => free space for expected data volume received in
|
||||
24 hours between 7pm and 7am. Between 7am and 7pm only delete studies if
|
||||
the usable free space falls below the expected data volume received in
|
||||
one hour.]]>
|
||||
</description>
|
||||
<name>DeleterThresholds</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getExpectedDataVolumePerDay"
|
||||
setMethod="setExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Expected data volume per day. Used to transform
|
||||
time based deleter thresholds (s. DeleterThresholds) into disk space size
|
||||
to free.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="100MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getExpectedDataVolumePerDayBytes">
|
||||
<description><![CDATA[Get expected data volume per day
|
||||
in bytes, returned as a long.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDayBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isAdjustExpectedDataVolumePerDay"
|
||||
setMethod="setAdjustExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Update value of attribute ExpectedDataVolumePerDay
|
||||
at midnight, if data volume received during last 24 hours exceeds its
|
||||
current value.]]>
|
||||
</description>
|
||||
<name>AdjustExpectedDataVolumePerDay</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentDeleterThreshold">
|
||||
<description><![CDATA[Get current effective deleter threshold in bytes
|
||||
according configured <i>DeleterThreshold</i> and
|
||||
<i>ExpectedDataVolumePerDay</i>. If <i>UsableDiskSpace</i> falls below
|
||||
this value, most infrequently accessed studies which satisfy the
|
||||
configured set of constraints will be deleted on next invocation of
|
||||
operation <i>scheduleStudiesForDeletion</i>.]]>
|
||||
</description>
|
||||
<name>CurrentDeleterThreshold</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines when a study not accessed for the specified
|
||||
time will be deleted from file systems of the file system group managed
|
||||
by this service, if it satisfies the configured set of constraints.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks) | NEVER
|
||||
<br>NEVER = deletion of studies is only triggered by running out of disk
|
||||
space.
|
||||
<br>Example:
|
||||
<br>52w = any studies that have not been accessed for 52 weeks or more
|
||||
can be deleted if they satisfies the configured set of constraints.]]>
|
||||
</description>
|
||||
<name>DeleteStudyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyOnlyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyOnlyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines minimal time a study must not be accessed
|
||||
before it becomes a candidate for deletion.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks)]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfStorageNotCommited"
|
||||
setMethod="setDeleteStudyOnlyIfStorageNotCommited">
|
||||
<description><![CDATA[Defines if no Storage Commitment request must have
|
||||
been accepted for any instances of a study to become a candidate for
|
||||
deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>. Typically only
|
||||
activated if no other constraint for study deletion is configured.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfStorageNotCommited</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyExternalRetrievable"
|
||||
setMethod="setDeleteStudyOnlyIfCopyExternalRetrievable">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
retrievable from an external Application Entity to become a candidate
|
||||
for deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfExternalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getInstanceAvailabilityOfExternalRetrievable"
|
||||
setMethod="setInstanceAvailabilityOfExternalRetrievable">
|
||||
<description><![CDATA[Defines assumed Instance Availability of only
|
||||
external retrievable Studies. Enumerated values: ONLINE, NEARLINE, AUTO.
|
||||
AUTO - query Instance Availability from external Retrieve AE.]]>
|
||||
</description>
|
||||
<name>InstanceAvailabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AUTO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnMedia"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnMedia">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on Media to become a candidate for deletion from file systems of
|
||||
the file system group managed by this service triggered by running out of
|
||||
disk space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnMedia</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on a file system of the specified different file system group to
|
||||
become a candidate for deletion from file systems of the file system
|
||||
group managed by this service triggered by running out of disk space or
|
||||
being not accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.<br/>
|
||||
Several Filesystem groups can be configured by seperating group names by <newline>.<br />
|
||||
In this case a copy must exist on all given filesystems.<br />
|
||||
"NONE" = no such constraint.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyArchived"
|
||||
setMethod="setDeleteStudyOnlyIfCopyArchived">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a file system of a different file system group with file status:
|
||||
ARCHIVED to become a candidate for deletion from file systems of the file
|
||||
system group managed by this service triggered by running out of disk
|
||||
space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>. Typically the file system group of
|
||||
the file system holding the archived copy is specified by
|
||||
<i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyArchived</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnReadOnlyFileSystem"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnReadOnlyFileSystem">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a read-only file system of a different file system group to become a
|
||||
candidate for deletion from file systems of the file system group managed
|
||||
by this service triggered by running out of disk space or being not
|
||||
accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.
|
||||
Typically the file system group of the read-only file systems is
|
||||
specified by <i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnReadOnlyFileSystem</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isScheduleStudiesForDeletionOnSeriesStored"
|
||||
setMethod="setScheduleStudiesForDeletionOnSeriesStored">
|
||||
<description><![CDATA[Defines if operation <i>scheduleStudiesForDeletion</i>
|
||||
is invoked to schedule deletion of most infrequently accessed studies
|
||||
after storage of a new Series by the Storage SCP Service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionOnSeriesStored</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionInterval"
|
||||
setMethod="setScheduleStudiesForDeletionInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>scheduleStudiesForDeletion</i> is invoked to schedule deletion of most
|
||||
infrequently accessed studies which satisfies the configured set of
|
||||
constraints from writable file systems of the file system group managed
|
||||
by this service, if they were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i>
|
||||
falls below <i>CurrentDeleterThreshold</i>.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>scheduleStudiesForDeletion</i>
|
||||
by timer thread automatically. => If also
|
||||
<i>scheduleStudiesForDeletionOnSeriesStored</i> is not activated, no
|
||||
studies will be deleted automatically from file systems of the file
|
||||
system group managed by this service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionBatchSize"
|
||||
setMethod="setScheduleStudiesForDeletionBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies scheduled for
|
||||
deletion in one transaction.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesInterval"
|
||||
setMethod="setDeleteOrphanedPrivateFilesInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>deleteOrphanedPrivateFiles</i> is invoked to delete orphaned private
|
||||
files from writable file systems of the file system group managed by this
|
||||
service. Orphaned private files are the result of deleting instances
|
||||
from the web trash folder.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>deleteOrphanedPrivateFiles</i>
|
||||
automatically => never delete orphaned private files from the file
|
||||
system group managed by this service automatically.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesBatchSize"
|
||||
setMethod="setDeleteOrphanedPrivateFilesBatchSize">
|
||||
<description><![CDATA[Limit the number of orphaned private files that are
|
||||
deleted by one invocation of operation <i>deleteOrphanedPrivateFiles</i>.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getUpdateStudiesBatchSize"
|
||||
setMethod="setUpdateStudiesBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies fetched from the
|
||||
data base in one transaction by operation
|
||||
<i>updateFileSystemAvailability</i> and
|
||||
<i>updateFileSystemRetrieveAETitle</i> for update of <i>Availability</i>
|
||||
and <i>RetrieveAETs</i> values in Study, Series and Instance records.]]>
|
||||
</description>
|
||||
<name>UpdateStudiesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDScheduleStudiesForDeletion"
|
||||
setMethod="setTimerIDScheduleStudiesForDeletion">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDScheduleStudiesForDeletion</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDDeleteOrphanedPrivateFiles"
|
||||
setMethod="setTimerIDDeleteOrphanedPrivateFiles">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDDeleteOrphanedPrivateFiles</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="getDeleteStudyServiceName"
|
||||
setMethod="setDeleteStudyServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>DeleteStudyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFindScuServiceName"
|
||||
setMethod="setFindScuServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>FindScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>List all configured file systems.</description>
|
||||
<name>listAllFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[List all configured file systems associated with the
|
||||
file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>listFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Return Directory Paths for all configured file
|
||||
systems associated with the file system group managed by this service
|
||||
as array of Files.]]>
|
||||
</description>
|
||||
<name>listFileSystemDirectories</name>
|
||||
<return-type>[Ljava.io.File;</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Add RW file system to the file system group managed
|
||||
by this service. The file system is also linked to existing other file
|
||||
systems of the group.]]>
|
||||
</description>
|
||||
<name>addRWFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Remove empty file system from the file system group
|
||||
managed by this service. Will fail, if there are already/still file
|
||||
records associated with the file system.]]>
|
||||
</description>
|
||||
<name>removeFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Link or unlink two file systems of the file system
|
||||
group managed by this service.]]>
|
||||
</description>
|
||||
<name>linkFileSystems</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point of next file
|
||||
system or "" to unlink the file system from its successor.
|
||||
</description>
|
||||
<name>next</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update RW status of the specified file system. If
|
||||
the new file system status is "RW+", which defines the file system as
|
||||
current storage file system, the status of the previous storage file
|
||||
system is set to "RW", to ensure that there is only one file system in
|
||||
one file system group with status "RW+".]]>
|
||||
</description>
|
||||
<name>updateFileSystemStatus</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system status. Enumerated values: "RW", "RW+","RO".
|
||||
</description>
|
||||
<name>status</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update file system availability of the specified file
|
||||
system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemAvailability</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system availability. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availability</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Availability of only external retrievable studies. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update Retrieve AE Title associated to the specified
|
||||
file system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemRetrieveAETitle</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New Retrieve AE Title.
|
||||
</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System</description>
|
||||
<name>selectStorageFileSystem</name>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System and return Directory</description>
|
||||
<name>selectStorageDirectory</name>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Switch to next Storage File System (mounted, available and sufficient disk space).<br />
|
||||
Return true if Storage File System has been changed.
|
||||
]]></description>
|
||||
<name>switchFileSystem</name>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update value of attribute
|
||||
<i>ExpectedDataVolumePerDay</i>, if data volume received during last
|
||||
24 hours exceeds its current value.]]>
|
||||
</description>
|
||||
<name>adjustExpectedDataVolumePerDay</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedules deletion of most infrequently accessed
|
||||
studies which satisfies the configured set of constraints from writable
|
||||
file systems of the file system group managed by this service, if they
|
||||
were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i> falls
|
||||
below <i>CurrentDeleterThreshold</i>.
|
||||
Returns the number of studies scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudiesForDeletion</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedule deletion of study with specified Study
|
||||
Instance UID from writable file systems of the file system group managed
|
||||
by this service, <b>without</b> consideration of the configured set of
|
||||
constraints. Returns size of study in bytes scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudyForDeletion</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.
|
||||
</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Delete orphaned private files from writable file
|
||||
systems of the file system group managed by this service. Orphaned
|
||||
private files are the result of deleting instances from the web trash
|
||||
folder. Returns the number of deleted files.]]>
|
||||
</description>
|
||||
<name>deleteOrphanedPrivateFiles</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show current Deleter criteria.</description>
|
||||
<name>showDeleterCriteria</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Stop current Deleter Thread. (finish loop even there is still remaining size to delete)</description>
|
||||
<name>stopCurrentDeleterThread</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
<notification>
|
||||
<description>The notification sent whenever the current storage
|
||||
file system changed to the next configured storage file system.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>org.dcm4chex.archive.notif.StorageFileSystemSwitched</notification-type>
|
||||
</notification>
|
||||
</mbean>
|
||||
886
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-online-xmbean.xml
Normal file
886
dcm4chee/default/conf/xmdesc/dcm4chee-fsmgt-online-xmbean.xml
Normal file
@@ -0,0 +1,886 @@
|
||||
<?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[File System Management Service. Specifies the location
|
||||
of file systems in which DICOM objects received from the Store SCP Server
|
||||
are stored. You can also set up rules to delete the most infrequently
|
||||
accessed studies.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.FileSystemMgt2Service</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>FileSystemMgt2Service</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-only" getMethod="getFileSystemGroupID">
|
||||
<description><![CDATA[Identifier of the file system group managed by this
|
||||
service, specified by property <b>group</b> of its MBean name.]]>
|
||||
</description>
|
||||
<name>FileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefRetrieveAET"
|
||||
setMethod="setDefRetrieveAET">
|
||||
<description><![CDATA[Default Retrieve AE Title, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultRetrieveAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefAvailability"
|
||||
setMethod="setDefAvailability">
|
||||
<description><![CDATA[Default Availability, which will be associated with
|
||||
new file systems added by operation <i>addRWFileSystem</i>. Enumerated
|
||||
values: "ONLINE", "NEARLINE","OFFLINE", "UNAVAILABLE".]]>
|
||||
</description>
|
||||
<name>DefaultAvailability</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefUserInfo"
|
||||
setMethod="setDefUserInfo">
|
||||
<description><![CDATA[Default User Information, which will be associated
|
||||
with new file systems added by operation <i>addRWFileSystem</i>.]]>
|
||||
</description>
|
||||
<name>DefaultUserInformation</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDefStorageDir"
|
||||
setMethod="setDefStorageDir">
|
||||
<description><![CDATA[Default Storage Directory, used on receive of the
|
||||
first object if no Storage File System was explicit configured by
|
||||
operation <i>addRWFileSystem</i>. A relative path name is resolved
|
||||
relative to <i><archive-install-directory></i>/server/default/.
|
||||
Use "NONE" to disable auto-configuration to force failure to receive
|
||||
objects, if no Storage File System was explicit configured.]]>
|
||||
</description>
|
||||
<name>DefaultStorageDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="archive" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isCheckStorageFileSystemStatus"
|
||||
setMethod="setCheckStorageFileSystemStatus">
|
||||
<description><![CDATA[Flag indicating if the RW status of the current
|
||||
storage file system is checked before each file storage of objects
|
||||
received by the Storage SCP.
|
||||
<p>If the update of the status of the file system is only performed by
|
||||
invoking operations <i>updateFileSystemStatus</i> of this service
|
||||
- in particular, if there are no other running dcm4chee applications on
|
||||
other nodes (dcm4chee cluster), and File System records in the database
|
||||
will NOT be updated by executing SQL statements using some dcm4chee
|
||||
external SQL client application - the check can be deactivated to spare
|
||||
the execution of one additional SQL statement for each stored object.</p>
|
||||
]]>
|
||||
</description>
|
||||
<name>CheckStorageFileSystemStatus</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isMakeStorageDirectory"
|
||||
setMethod="setMakeStorageDirectory">
|
||||
<description><![CDATA[Create storage directory, if no one exists.]]>
|
||||
</description>
|
||||
<name>MakeStorageDirectory</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists, this signals a failed
|
||||
mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinFreeDiskSpace"
|
||||
setMethod="setMinFreeDiskSpace">
|
||||
<description><![CDATA[Minimum free disk space. If the free available disk
|
||||
space on the current storage file system falls below this value, the next
|
||||
configured file system becomes the current storage system.
|
||||
1MB = 1000000 bytes, 1GB = 1000MB.<br />
|
||||
It is also possible to configure a relative value in %.<br />
|
||||
In this case the MinimumFreeDiskSpace is calculated for current storage file system.
|
||||
Note: This feature is not supported on java environments prior JDK 6!
|
||||
NONE = disable check for minimal free available disk space.
|
||||
Therefore switching to next file system is also disabled.
|
||||
(Only useful for configurations with only one RW filesystem)]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="50MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getMinFreeDiskSpaceBytes">
|
||||
<description><![CDATA[Get minimum free available disk space on the current storage
|
||||
file system in bytes, returned as a long. <br/> -1 means UNKNOWN]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpaceBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system in bytes.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get free available disk space on the current storage
|
||||
file system as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFS">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystem</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceOnCurFSString">
|
||||
<description><![CDATA[Get usable free disk space on the current storage
|
||||
file system, considering the configured value for
|
||||
<i>MinimumFreeDiskSpace</i>, by substracting that value from
|
||||
<i>FreeDiskSpaceOnCurrentStorageFileSystem</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceOnCurrentStorageFileSystemString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpace">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getFreeDiskSpaceString">
|
||||
<description><![CDATA[Get free available disk space on writable file
|
||||
systems of the file system group managed by this service as string.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpace">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, in bytes.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpace</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getUsableDiskSpaceString">
|
||||
<description><![CDATA[Get usable free disk space on writable file
|
||||
systems of the file system group managed by this service, considering
|
||||
the configured value for <i>MinimumFreeDiskSpace</i>, as string.]]>
|
||||
</description>
|
||||
<name>UsableDiskSpaceString</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMinimalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMinimalInterval">
|
||||
<description><![CDATA[Minimal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. The current interval (curInterval) is
|
||||
calculated by multiplication of this value (minInterval) with the ratio
|
||||
of the current free available disk space (curFDS) to the configured
|
||||
<i>MinimumFreeDiskSpace</i> (minFDS), but maximal the value specified by
|
||||
<i>CheckFreeDiskSpaceMaximalInterval</i> (maxInterval):
|
||||
<p>
|
||||
<tt>curInterval = min(minInterval * curFDS/minFDS, maxInterval)</tt>
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMinimalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="10s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceMaximalInterval"
|
||||
setMethod="setCheckFreeDiskSpaceMaximalInterval">
|
||||
<description><![CDATA[Maximal Interval for checking free available disk
|
||||
space on current storage file system against minimum value specified by
|
||||
<i>MinimumFreeDiskSpace</i>. Effective as long the current free available
|
||||
disk space is greater than <i>MinimumFreeDiskSpace</i> multiplied by the
|
||||
ratio of this value and the configured
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>. Otherwise the interval will be
|
||||
calculated as described above for attribute
|
||||
<i>CheckFreeDiskSpaceMinimalInterval</i>.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceMaximalInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckFreeDiskSpaceRetryInterval"
|
||||
setMethod="setCheckFreeDiskSpaceRetryInterval">
|
||||
<description><![CDATA[Pause check for free available disk space for the
|
||||
specified time interval after no configured file system was found with
|
||||
sufficent (= more than specified by <i>MinimumFreeDiskSpace</i>)
|
||||
available disk space.
|
||||
<p>Format: ##m (in minutes) | ##s (in seconds).]]>
|
||||
</description>
|
||||
<name>CheckFreeDiskSpaceRetryInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="60s" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleterThresholds"
|
||||
setMethod="setDeleterThresholds">
|
||||
<description><![CDATA[Defines thresholds dependent on hour of day, for
|
||||
deleting the most infrequently accessed studies which satisfy the
|
||||
configured set of constraints.
|
||||
<p>Format: HOUR:##MB or HOUR:##GB or HOUR:##h, multiple thresholds with
|
||||
different (start) hour separated by ';'. NONE = disable deletion of
|
||||
studies on file systems of the file system group managed by this service.
|
||||
<p>E.g.: 7:1h;19:24h => free space for expected data volume received in
|
||||
24 hours between 7pm and 7am. Between 7am and 7pm only delete studies if
|
||||
the usable free space falls below the expected data volume received in
|
||||
one hour.]]>
|
||||
</description>
|
||||
<name>DeleterThresholds</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="7:1h;19:24h" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getExpectedDataVolumePerDay"
|
||||
setMethod="setExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Expected data volume per day. Used to transform
|
||||
time based deleter thresholds (s. DeleterThresholds) into disk space size
|
||||
to free.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="100MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getExpectedDataVolumePerDayBytes">
|
||||
<description><![CDATA[Get expected data volume per day
|
||||
in bytes, returned as a long.]]>
|
||||
</description>
|
||||
<name>ExpectedDataVolumePerDayBytes</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isAdjustExpectedDataVolumePerDay"
|
||||
setMethod="setAdjustExpectedDataVolumePerDay">
|
||||
<description><![CDATA[Update value of attribute ExpectedDataVolumePerDay
|
||||
at midnight, if data volume received during last 24 hours exceeds its
|
||||
current value.]]>
|
||||
</description>
|
||||
<name>AdjustExpectedDataVolumePerDay</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getCurrentDeleterThreshold">
|
||||
<description><![CDATA[Get current effective deleter threshold in bytes
|
||||
according configured <i>DeleterThreshold</i> and
|
||||
<i>ExpectedDataVolumePerDay</i>. If <i>UsableDiskSpace</i> falls below
|
||||
this value, most infrequently accessed studies which satisfy the
|
||||
configured set of constraints will be deleted on next invocation of
|
||||
operation <i>scheduleStudiesForDeletion</i>.]]>
|
||||
</description>
|
||||
<name>CurrentDeleterThreshold</name>
|
||||
<type>long</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines when a study not accessed for the specified
|
||||
time will be deleted from file systems of the file system group managed
|
||||
by this service, if it satisfies the configured set of constraints.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks) | NEVER
|
||||
<br>NEVER = deletion of studies is only triggered by running out of disk
|
||||
space.
|
||||
<br>Example:
|
||||
<br>52w = any studies that have not been accessed for 52 weeks or more
|
||||
can be deleted if they satisfies the configured set of constraints.]]>
|
||||
</description>
|
||||
<name>DeleteStudyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleteStudyOnlyIfNotAccessedFor"
|
||||
setMethod="setDeleteStudyOnlyIfNotAccessedFor">
|
||||
<description><![CDATA[Defines minimal time a study must not be accessed
|
||||
before it becomes a candidate for deletion.
|
||||
<p>Format:
|
||||
<br>##h (in hours) | ##d (in days) | ##w (in weeks)]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfNotAccessedFor</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfStorageNotCommited"
|
||||
setMethod="setDeleteStudyOnlyIfStorageNotCommited">
|
||||
<description><![CDATA[Defines if no Storage Commitment request must have
|
||||
been accepted for any instances of a study to become a candidate for
|
||||
deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>. Typically only
|
||||
activated if no other constraint for study deletion is configured.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfStorageNotCommited</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyExternalRetrievable"
|
||||
setMethod="setDeleteStudyOnlyIfCopyExternalRetrievable">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
retrievable from an external Application Entity to become a candidate
|
||||
for deletion from file systems of the file system group managed by this
|
||||
service triggered by running out of disk space or being not accessed
|
||||
longer than configured <i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfExternalRetrievable</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getInstanceAvailabilityOfExternalRetrievable"
|
||||
setMethod="setInstanceAvailabilityOfExternalRetrievable">
|
||||
<description><![CDATA[Defines assumed Instance Availability of only
|
||||
external retrievable Studies. Enumerated values: ONLINE, NEARLINE, AUTO.
|
||||
AUTO - query Instance Availability from external Retrieve AE.]]>
|
||||
</description>
|
||||
<name>InstanceAvailabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AUTO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnMedia"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnMedia">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on Media to become a candidate for deletion from file systems of
|
||||
the file system group managed by this service triggered by running out of
|
||||
disk space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnMedia</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup">
|
||||
<description><![CDATA[Defines if all instances of a study must be
|
||||
stored on a file system of the specified different file system group to
|
||||
become a candidate for deletion from file systems of the file system
|
||||
group managed by this service triggered by running out of disk space or
|
||||
being not accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.<br/>
|
||||
Several Filesystem groups can be configured by seperating group names by <newline>.<br />
|
||||
In this case a copy must exist on all given filesystems.<br />
|
||||
"NONE" = no such constraint.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEARLINE_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyArchived"
|
||||
setMethod="setDeleteStudyOnlyIfCopyArchived">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a file system of a different file system group with file status:
|
||||
ARCHIVED to become a candidate for deletion from file systems of the file
|
||||
system group managed by this service triggered by running out of disk
|
||||
space or being not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i>. Typically the file system group of
|
||||
the file system holding the archived copy is specified by
|
||||
<i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyArchived</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isDeleteStudyOnlyIfCopyOnReadOnlyFileSystem"
|
||||
setMethod="setDeleteStudyOnlyIfCopyOnReadOnlyFileSystem">
|
||||
<description><![CDATA[Defines if all instances of a study must be stored
|
||||
on a read-only file system of a different file system group to become a
|
||||
candidate for deletion from file systems of the file system group managed
|
||||
by this service triggered by running out of disk space or being not
|
||||
accessed longer than configured <i>DeleteStudiesNotAccessedFor</i>.
|
||||
Typically the file system group of the read-only file systems is
|
||||
specified by <i>DeleteStudyIfCopyOnFileSystemOfFileSystemGroup</i>.]]>
|
||||
</description>
|
||||
<name>DeleteStudyOnlyIfCopyOnReadOnlyFileSystem</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isScheduleStudiesForDeletionOnSeriesStored"
|
||||
setMethod="setScheduleStudiesForDeletionOnSeriesStored">
|
||||
<description><![CDATA[Defines if operation <i>scheduleStudiesForDeletion</i>
|
||||
is invoked to schedule deletion of most infrequently accessed studies
|
||||
after storage of a new Series by the Storage SCP Service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionOnSeriesStored</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionInterval"
|
||||
setMethod="setScheduleStudiesForDeletionInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>scheduleStudiesForDeletion</i> is invoked to schedule deletion of most
|
||||
infrequently accessed studies which satisfies the configured set of
|
||||
constraints from writable file systems of the file system group managed
|
||||
by this service, if they were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i>
|
||||
falls below <i>CurrentDeleterThreshold</i>.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>scheduleStudiesForDeletion</i>
|
||||
by timer thread automatically. => If also
|
||||
<i>scheduleStudiesForDeletionOnSeriesStored</i> is not activated, no
|
||||
studies will be deleted automatically from file systems of the file
|
||||
system group managed by this service.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningScheduleStudiesForDeletion">
|
||||
<description>Current state if ScheduleStudiesForDeletion task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningScheduleStudiesForDeletion</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduleStudiesForDeletionBatchSize"
|
||||
setMethod="setScheduleStudiesForDeletionBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies scheduled for
|
||||
deletion in one transaction.]]>
|
||||
</description>
|
||||
<name>ScheduleStudiesForDeletionBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesInterval"
|
||||
setMethod="setDeleteOrphanedPrivateFilesInterval">
|
||||
<description><![CDATA[Interval in which operation
|
||||
<i>deleteOrphanedPrivateFiles</i> is invoked to delete orphaned private
|
||||
files from writable file systems of the file system group managed by this
|
||||
service. Orphaned private files are the result of deleting instances
|
||||
from the web trash folder.
|
||||
<p>Format: ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br>NEVER = do not invoke operation <i>deleteOrphanedPrivateFiles</i>
|
||||
automatically => never delete orphaned private files from the file
|
||||
system group managed by this service automatically.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1m" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningDeleteOrphanedPrivateFiles">
|
||||
<description>Current state if DeleteOrphanedPrivateFiles task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningDeleteOrphanedPrivateFiles</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteOrphanedPrivateFilesBatchSize"
|
||||
setMethod="setDeleteOrphanedPrivateFilesBatchSize">
|
||||
<description><![CDATA[Limit the number of orphaned private files that are
|
||||
deleted by one invocation of operation <i>deleteOrphanedPrivateFiles</i>.]]>
|
||||
</description>
|
||||
<name>DeleteOrphanedPrivateFilesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getUpdateStudiesBatchSize"
|
||||
setMethod="setUpdateStudiesBatchSize">
|
||||
<description><![CDATA[Defines maximal number of studies fetched from the
|
||||
data base in one transaction by operation
|
||||
<i>updateFileSystemAvailability</i> and
|
||||
<i>updateFileSystemRetrieveAETitle</i> for update of <i>Availability</i>
|
||||
and <i>RetrieveAETs</i> values in Study, Series and Instance records.]]>
|
||||
</description>
|
||||
<name>UpdateStudiesBatchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDScheduleStudiesForDeletion"
|
||||
setMethod="setTimerIDScheduleStudiesForDeletion">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDScheduleStudiesForDeletion</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDDeleteOrphanedPrivateFiles"
|
||||
setMethod="setTimerIDDeleteOrphanedPrivateFiles">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDDeleteOrphanedPrivateFiles</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="getDeleteStudyServiceName"
|
||||
setMethod="setDeleteStudyServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>DeleteStudyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFindScuServiceName"
|
||||
setMethod="setFindScuServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>FindScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>List all configured file systems.</description>
|
||||
<name>listAllFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[List all configured file systems associated with the
|
||||
file system group managed by this service.]]>
|
||||
</description>
|
||||
<name>listFileSystems</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Return Directory Paths for all configured file
|
||||
systems associated with the file system group managed by this service
|
||||
as array of Files.]]>
|
||||
</description>
|
||||
<name>listFileSystemDirectories</name>
|
||||
<return-type>[Ljava.io.File;</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Add RW file system to the file system group managed
|
||||
by this service. The file system is also linked to existing other file
|
||||
systems of the group.]]>
|
||||
</description>
|
||||
<name>addRWFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Remove empty file system from the file system group
|
||||
managed by this service. Will fail, if there are already/still file
|
||||
records associated with the file system.]]>
|
||||
</description>
|
||||
<name>removeFileSystem</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Link or unlink two file systems of the file system
|
||||
group managed by this service.]]>
|
||||
</description>
|
||||
<name>linkFileSystems</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point of next file
|
||||
system or "" to unlink the file system from its successor.
|
||||
</description>
|
||||
<name>next</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update RW status of the specified file system. If
|
||||
the new file system status is "RW+", which defines the file system as
|
||||
current storage file system, the status of the previous storage file
|
||||
system is set to "RW", to ensure that there is only one file system in
|
||||
one file system group with status "RW+".]]>
|
||||
</description>
|
||||
<name>updateFileSystemStatus</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system status. Enumerated values: "RW", "RW+","RO".
|
||||
</description>
|
||||
<name>status</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update file system availability of the specified file
|
||||
system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemAvailability</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New file system availability. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availability</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Availability of only external retrievable studies. Enumerated values: "ONLINE",
|
||||
"NEARLINE","OFFLINE", "UNAVAILABLE".
|
||||
</description>
|
||||
<name>availabilityOfExternalRetrievable</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update Retrieve AE Title associated to the specified
|
||||
file system.]]>
|
||||
</description>
|
||||
<name>updateFileSystemRetrieveAETitle</name>
|
||||
<parameter>
|
||||
<description>Directory/Mount Point file system</description>
|
||||
<name>dirPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>New Retrieve AE Title.
|
||||
</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System</description>
|
||||
<name>selectStorageFileSystem</name>
|
||||
<return-type>org.dcm4chex.archive.ejb.interfaces.FileSystemDTO</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Select Storage File System and return Directory</description>
|
||||
<name>selectStorageDirectory</name>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Switch to next Storage File System (mounted, available and sufficient disk space).<br />
|
||||
Return true if Storage File System has been changed.
|
||||
]]></description>
|
||||
<name>switchFileSystem</name>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update value of attribute
|
||||
<i>ExpectedDataVolumePerDay</i>, if data volume received during last
|
||||
24 hours exceeds its current value.]]>
|
||||
</description>
|
||||
<name>adjustExpectedDataVolumePerDay</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedules deletion of most infrequently accessed
|
||||
studies which satisfies the configured set of constraints from writable
|
||||
file systems of the file system group managed by this service, if they
|
||||
were not accessed longer than configured
|
||||
<i>DeleteStudiesNotAccessedFor</i> or if <i>UsableDiskSpace</i> falls
|
||||
below <i>CurrentDeleterThreshold</i>.
|
||||
Returns the number of studies scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudiesForDeletion</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Schedule deletion of study with specified Study
|
||||
Instance UID from writable file systems of the file system group managed
|
||||
by this service, <b>without</b> consideration of the configured set of
|
||||
constraints. Returns size of study in bytes scheduled for deletion.]]>
|
||||
</description>
|
||||
<name>scheduleStudyForDeletion</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID.
|
||||
</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Delete orphaned private files from writable file
|
||||
systems of the file system group managed by this service. Orphaned
|
||||
private files are the result of deleting instances from the web trash
|
||||
folder. Returns the number of deleted files.]]>
|
||||
</description>
|
||||
<name>deleteOrphanedPrivateFiles</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show current Deleter criteria.</description>
|
||||
<name>showDeleterCriteria</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Stop current Deleter Thread. (finish loop even there is still remaining size to delete)</description>
|
||||
<name>stopCurrentDeleterThread</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
<notification>
|
||||
<description>The notification sent whenever the current storage
|
||||
file system changed to the next configured storage file system.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>org.dcm4chex.archive.notif.StorageFileSystemSwitched</notification-type>
|
||||
</notification>
|
||||
</mbean>
|
||||
88
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlfeed-xmbean.xml
Normal file
88
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlfeed-xmbean.xml
Normal file
@@ -0,0 +1,88 @@
|
||||
<?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>GPWL Feed Service. Used by dcm4chee-web to add entries to the General Purpose Worklist.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.gpwlscp.GPWLFeedService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>GPWLFeedService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplatePath"
|
||||
setMethod="setTemplatePath">
|
||||
<description>URL to the directory of worklist entry templates.
|
||||
</description>
|
||||
<name>TemplatePath</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-gpwl"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHumanPerformer"
|
||||
setMethod="setHumanPerformer">
|
||||
<description>List of human performers for a worklist entry.
|
||||
</description>
|
||||
<name>HumanPerformerList</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="doc1^ABPACS^Dr. Allis,doc2^HUGO^Dr. Suse"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Add a new general purpose worklist entry.
|
||||
</description>
|
||||
<name>addWorklistItem</name>
|
||||
<parameter>
|
||||
<description>study pk</description>
|
||||
<name>studyPk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>name of template file</description>
|
||||
<name>templateFile</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>human performer</description>
|
||||
<name>humanPerformer</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>scheduled date</description>
|
||||
<name>scheduleDate</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>List of templates for worklist entries. (List of all files in TemplateURL)
|
||||
</description>
|
||||
<name>listTemplates</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Clear cached list of templates for worklist entries.
|
||||
</description>
|
||||
<name>clearTemplateList</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
104
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlfeed2-xmbean.xml
Normal file
104
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlfeed2-xmbean.xml
Normal file
@@ -0,0 +1,104 @@
|
||||
<?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>GPWL Feed Service. Used to add entries to the General Purpose Worklist, triggered by received MPPS N-Set messages.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.gpwlscp.GPWLFeedService2</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>GPWLFeedService2</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getLogStationAETs"
|
||||
setMethod="setLogStationAETs">
|
||||
<description><![CDATA[List of the AE titles for Modalities for which
|
||||
XMLized MPPS attributes are logged into files
|
||||
<i>AET</i>/<i>timestamp</i>-mpps.xml in the log directory.
|
||||
Useful for creation of XSL stylesheets for GP Work Item creation.
|
||||
Separate multiple values by \ (backslash).]]>
|
||||
</description>
|
||||
<name>LogStationAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MESA_MOD\MODALITY1\MR3T"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPGPStationAETs"
|
||||
setMethod="setPGPStationAETs">
|
||||
<description><![CDATA[List of the AE titles for Modalities which
|
||||
emits MPPS messages according the <i>Presentation of Grouped Procedure (PGP)</i>
|
||||
defined by the <i>IHE Radiology Technical Framework</i>.
|
||||
Separate multiple values by \ (backslash).]]>
|
||||
</description>
|
||||
<name>PGPStationAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MESA_MOD\MODALITY1\MR3T"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAppendCaseStationAETs"
|
||||
setMethod="setAppendCaseStationAETs">
|
||||
<description><![CDATA[List of the AE titles for Modalities which
|
||||
emits MPPS messages according the <i>Append Case</i>, with multiple
|
||||
MPPS objects refering the same Scheduled Procedure Step,
|
||||
<i>Relationship between Scheduled and Performed Procedure Steps</i>
|
||||
defined by <i>IHE Radiology Technical Framework</i>.
|
||||
Separate multiple values by \ (backslash).]]>
|
||||
</description>
|
||||
<name>AppendCaseStationAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MESA_MOD\MODALITY1\MR3T"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getWorkItemConfigDir"
|
||||
setMethod="setWorkItemConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for
|
||||
creation of work items are located: if XSL stylesheet "mpps2gpwl.xsl"
|
||||
exists in this directory or in a sub-directory equal to the AE Title of
|
||||
the modality, a work item will be created on receive of the last object
|
||||
refered in the final MPPS, according these stylesheet.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>WorkItemConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIANScuServiceName"
|
||||
setMethod="setIANScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>IANScuServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
314
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlscp-xmbean.xml
Normal file
314
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlscp-xmbean.xml
Normal file
@@ -0,0 +1,314 @@
|
||||
<?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>DICOM General Purpose Worklist related Service Class Providers</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.gpwlscp.GPWLScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>GPWLScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<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="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 GP-PPS N-CREATE
|
||||
message contains no patient ID.
|
||||
<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 GP-PPS SCP (=Called) AE by
|
||||
its AE configuration entry. If no <i>Issuer of Patient ID</i> is configured for
|
||||
the GP-PPS 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
|
||||
GP-PPS 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 GP-PPS 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
|
||||
GP-PPS 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 GP-PPS 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 GP-PPS 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 GP-PPS 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 GP-PPS 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
|
||||
GP-PPS 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 GP-PPS
|
||||
N-CREATE request. Attribute names without question marks specifies, that DICOM
|
||||
GP-PPS 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 GP-PPS 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 GP-PPS N-CREATE request *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause GPPPS 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="getAcceptedSOPClasses"
|
||||
setMethod="setAcceptedSOPClasses">
|
||||
<description><![CDATA[
|
||||
List of accepted GPWL related SOP Classes. Use either the SOP Class
|
||||
UID value, or following defined symbolic names:
|
||||
GeneralPurposeWorklistInformationModelFIND,
|
||||
GeneralPurposeScheduledProcedureStepSOPClass,
|
||||
GeneralPurposePerformedProcedureStepSOPClass,
|
||||
GeneralPurposeWorklistManagementMetaSOPClass,
|
||||
]]>
|
||||
</description>
|
||||
<name>AcceptedSOPClasses</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
GeneralPurposeWorklistInformationModelFIND
|
||||
GeneralPurposeScheduledProcedureStepSOPClass
|
||||
GeneralPurposePerformedProcedureStepSOPClass
|
||||
GeneralPurposeWorklistManagementMetaSOPClass
|
||||
"/>
|
||||
</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="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="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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
</mbean>
|
||||
|
||||
88
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlscu-xmbean.xml
Normal file
88
dcm4chee/default/conf/xmdesc/dcm4chee-gpwlscu-xmbean.xml
Normal file
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>General Purpose Worklist SCU</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.gpwlscu.GPWLScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>GPWLScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>The calling AE title.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description>The AE title of the general purpose worklist used for find. Use LOCAL
|
||||
if the DICOM general purpose worklist is provided by the archive and can be accessed
|
||||
directly from the database.
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="LOCAL"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="isLocal">
|
||||
<description>This value is is set to true if the <b>CalledAETitle</b> attribute is set to LOCAL.
|
||||
</description>
|
||||
<name>Local</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority for C-Find requests. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Get a list of general purpose worklist entries.
|
||||
</description>
|
||||
<name>findGPWLEntries</name>
|
||||
<parameter>
|
||||
<description>Dataset for C-Find</description>
|
||||
<name>searchDS</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Delete a general purpose worklist entry.
|
||||
</description>
|
||||
<name>deleteGPWLEntry</name>
|
||||
<parameter>
|
||||
<description>ID of general purpose worklist entry (Scheduled Procedure Step ID)</description>
|
||||
<name>spsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
309
dcm4chee/default/conf/xmdesc/dcm4chee-hl7adt-xmbean.xml
Normal file
309
dcm4chee/default/conf/xmdesc/dcm4chee-hl7adt-xmbean.xml
Normal file
@@ -0,0 +1,309 @@
|
||||
<?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[<b>ADT HL7 Service</v>. Receives and processes incoming
|
||||
ADT messages, based on which messages are accepted as defined in the
|
||||
MessageTypes attribute. If a patient record does not exist in the database
|
||||
about the patient in the incoming ADT message, one is created.<br/>
|
||||
Note that ADT^A10 messages do not affect the patient record, but instead
|
||||
checks if pending worklist items exist for this patient in the worklist
|
||||
managed by the archive, and if so, changes the status of worklist item to
|
||||
<tt>ARRIVED</tt>.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.ADTService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ADTService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getMessageTypes"
|
||||
setMethod="setMessageTypes">
|
||||
<description><![CDATA[Comma separated list of Message Types handled by
|
||||
this service.]]>
|
||||
</description>
|
||||
<name>MessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A01,ADT^A04,ADT^A05,ADT^A08,ADT^A10,ADT^A23,ADT^A28,ADT^A31,ADT^A34,ADT^A40,ADT^A47" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPatientArrivingMessageType"
|
||||
setMethod="setPatientArrivingMessageType">
|
||||
<description><![CDATA[Message Type for Patient Arriving.
|
||||
Messages of this type will cause to change the status of Scheduled
|
||||
Procedure Steps for this patient in the modality worklist from SCHEDULED
|
||||
to ARRIVED<br/>
|
||||
The message type must be also listed in configured <i>MessageTypes</i>
|
||||
handled by this service.]]>
|
||||
</description>
|
||||
<name>PatientArrivingMessageType</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A10" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeletePatientMessageType"
|
||||
setMethod="setDeletePatientMessageType">
|
||||
<description><![CDATA[Message Type for deletion of a Patient record.
|
||||
Messages of this type will cause to delete a Patient, which all
|
||||
associated entities, in particular including his/her studies, from the
|
||||
system.<br/>
|
||||
The message type must be also listed in configured <i>MessageTypes</i>
|
||||
handled by this service.]]>
|
||||
</description>
|
||||
<name>DeletePatientMessageType</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A23" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPatientMergeMessageTypes"
|
||||
setMethod="setPatientMergeMessageTypes">
|
||||
<description><![CDATA[Comma separated list of message types for merge of
|
||||
two Patients. Messages of this type will cause to merge two Patients.<br/>
|
||||
The message type must be also listed in configured <i>MessageTypes</i>
|
||||
handled by this service.]]>
|
||||
</description>
|
||||
<name>PatientMergeMessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A40" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getChangePatientIdentifierListMessageType"
|
||||
setMethod="setChangePatientIdentifierListMessageType">
|
||||
<description><![CDATA[Message Type for change of the Patient Identifier
|
||||
List of one Patient.<br/>
|
||||
The message type must be also listed in configured <i>MessageTypes</i>
|
||||
handled by this service.]]>
|
||||
</description>
|
||||
<name>ChangePatientIdentifierListMessageType</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A47" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPixUpdateNotificationMessageType"
|
||||
setMethod="setPixUpdateNotificationMessageType">
|
||||
<description><![CDATA[Message Type for PIX Update Notification.
|
||||
Messages of this type <b>and</b> without (non-whitespace) Patient Name
|
||||
(PID-5) will be interpreted as PIX Update Notification according <i>IHE
|
||||
Transaction ITI-10</i> specified in the <i>IHE IT Infrastructure
|
||||
Technical Framework</i>. <i>IHE Transaction ITI-10</i> specifies
|
||||
<code>ADT^A31</code> as message type for PIX Update Notification.<br/>
|
||||
The message type must be also listed in configured <i>MessageTypes</i>
|
||||
handled by this service.]]>
|
||||
</description>
|
||||
<name>PixUpdateNotificationMessageType</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A31" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIssuersOfOnlyOtherPatientIDs"
|
||||
setMethod="setIssuersOfOnlyOtherPatientIDs">
|
||||
<description><![CDATA[Comma separated list of Issuers/Authorities,
|
||||
which only qualifies Other Patient IDs - and NOT primary Patient IDs.
|
||||
Patient IDs in PIX Update Notifications with such Issuer/Authority will
|
||||
NOT cause to create a new Patient Record, in the case that there is no
|
||||
Patient Record with such primary Patient ID]]>
|
||||
</description>
|
||||
<name>IssuersOfOnlyOtherPatientIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="SSN" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIgnoredIssuersOfPatientIDPattern"
|
||||
setMethod="setIgnoredIssuersOfPatientIDPattern">
|
||||
<description><![CDATA[A regular expression of Issuer patterns to ignore
|
||||
in PIX Update Notifications, or "NONE". Any Issuer of Patient ID that
|
||||
matches the pattern will be removed from the list of patient identifiers
|
||||
before the updates are applied to the database.]]>
|
||||
</description>
|
||||
<name>IgnoredIssuersOfPatientIDPattern</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 received HL7
|
||||
ADT messages are considered for selecting existing Patient records 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 field name specifies that a missing value in
|
||||
received HL7 ADT messages will match with any value for that field in
|
||||
existing Patient Records, as Patient Records with missing values for that field
|
||||
will match with any value for that field in received HL7 ADT messages. Field
|
||||
names without question marks specifies, that HL7 ADT messages without values
|
||||
for such fields will not match any existing Patient Record, and Patient Records
|
||||
without values for such fields will not get selected on receive of any HL7 ADT
|
||||
message.
|
||||
<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
|
||||
HL7 ADT message *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause update/deletion of wrong patient or creation of doublets.<br/>
|
||||
Furthermore, the consideration of demographic fields for the selection of
|
||||
existing Patient records disables the update of such Patient Demographics
|
||||
attributes by HL7 ADT messages!
|
||||
<p>Default: <code>pid,issuer?</code>
|
||||
]]>
|
||||
</description>
|
||||
<name>PatientMatching</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid,issuer?" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplateDir"
|
||||
setMethod="setTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located.<br />
|
||||
A style sheet can be placed in this directory or in a sub-directory to select a style sheet according to the sender.<br />
|
||||
This sub-directory can be <IPAddr>, <hostname> or '<Sending Application>^<Sending Facility>' (In this order).<br />
|
||||
(See also UseHostSubdirs attribute in HL7Server service to enable IP/hostname selection)<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>TemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPidStylesheet"
|
||||
setMethod="setPidStylesheet">
|
||||
<description><![CDATA[Stylesheet for HL7 PID to DICOM Patient Module mapping. <br />
|
||||
Base dir: <code>TemplateDir</code><br/>
|
||||
If this name contains a '/' or '\' the configured <code>TemplateDir</code> will be NOT applied!
|
||||
In this case the name is the full path of the stylesheet and a relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>PidStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid2dcm.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMrgStylesheet"
|
||||
setMethod="setMrgStylesheet">
|
||||
<description><![CDATA[Stylesheet for HL7 MRG to DICOM Patient Module mapping.<br />
|
||||
Base dir: <code>TemplateDir</code><br/>
|
||||
If this name contains a '/' or '\' the configured <code>TemplateDir</code> will be NOT applied!
|
||||
In this case the name is the full path of the stylesheet and a relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>MrgStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="mrg2dcm.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isIgnoreDeleteErrors"
|
||||
setMethod="setIgnoreDeleteErrors">
|
||||
<description>Ignore errors processing ADT^A23 messages (delete patient).
|
||||
</description>
|
||||
<name>IgnoreDeleteErrors</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isHandleEmptyMrgAsUpdate"
|
||||
setMethod="setHandleEmptyMrgAsUpdate">
|
||||
<description><![CDATA[Handle ADT messages with empty MGR segment as update.<br/>
|
||||
This will allow processing of update/delete/arrived messages wich
|
||||
contains an irregular empty MRG segment. (Missing MRG-1: Prior Patient ID)
|
||||
]]></description>
|
||||
<name>HandleEmptyMrgAsUpdate</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isKeepPriorPatientAfterMerge"
|
||||
setMethod="setKeepPriorPatientAfterMerge">
|
||||
<description><![CDATA[Keep prior patient after Patient Merge.<br/>
|
||||
This will allow to get correct patient information even the received DICOM objects contains a patient id of an merged patient.<br />
|
||||
If disabled, the prior patient will be deleted.
|
||||
]]></description>
|
||||
<name>KeepPriorPatientAfterMerge</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getContentEditServiceName"
|
||||
setMethod="setContentEditServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>ContentEditServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
60
dcm4chee/default/conf/xmdesc/dcm4chee-hl7cmd-xmbean.xml
Normal file
60
dcm4chee/default/conf/xmdesc/dcm4chee-hl7cmd-xmbean.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?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[The <b>HL7 Cmd Service</b> Executes a command on receiving HL7 messages. <br/>
|
||||
The cmd is generated via XSLT from HL7 message.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.HL7CmdService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HL7CmdService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCmdStylesheet"
|
||||
setMethod="setCmdStylesheet">
|
||||
<description><![CDATA[Stylesheet for HL7 to command mapping.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.<br/>
|
||||
Use NONE to disable this Service. <br/>
|
||||
e.g. 'conf/dcm4chee-hl7/hl72cmd.xsl']]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
|
||||
109
dcm4chee/default/conf/xmdesc/dcm4chee-hl7mdm-xmbean.xml
Normal file
109
dcm4chee/default/conf/xmdesc/dcm4chee-hl7mdm-xmbean.xml
Normal file
@@ -0,0 +1,109 @@
|
||||
<?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[The <b>MDM HL7 Service</b> converts MDM^T02/T10 messages
|
||||
conveying a Base64 encoded PDF document according IHE Transaction CARD-7:
|
||||
Encapsulated Report Submission, into DICOM encapsulated PDF documents,
|
||||
so they can be retrieved by DICOM Retrieve or IHE RID.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.MDMService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MDMService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getMessageTypes"
|
||||
setMethod="setMessageTypes">
|
||||
<description>Comma separated list of Message Types handled by this Service.
|
||||
</description>
|
||||
<name>MessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MDM^T02,MDM^T10" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplateDir"
|
||||
setMethod="setTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located.<br />
|
||||
A style sheet can be placed in this directory or in a sub-directory to select a style sheet according to the sender.<br />
|
||||
This sub-directory can be <IPAddr>, <hostname> or '<Sending Application>^<Sending Facility>' (In this order).<br />
|
||||
(See also UseHostSubdirs attribute in HL7Server service to enable IP/hostname selection)<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>TemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Stylesheet for HL7 MDM^T02/T10 to DICOM Encapsulated
|
||||
PDF mapping. <br/>
|
||||
Base dir: <code>TemplateDir</code><br/>
|
||||
If this name contains a '/' or '\' the configured <code>TemplateDir</code> will be NOT applied!
|
||||
In this case the name is the full path of the stylesheet and a relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="mdm2pdf.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStorePriority"
|
||||
setMethod="setStorePriority">
|
||||
<description>Store priority. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>StorePriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getExportManagerName"
|
||||
setMethod="setExportManagerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>ExportManagerName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
283
dcm4chee/default/conf/xmdesc/dcm4chee-hl7orm-xmbean.xml
Normal file
283
dcm4chee/default/conf/xmdesc/dcm4chee-hl7orm-xmbean.xml
Normal file
@@ -0,0 +1,283 @@
|
||||
<?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[ORM HL7 Service. Create, update or delete entries of
|
||||
the Modality Worklist provided by [Modality Worklist SCP] according to
|
||||
received ORM^O01 messages. Generally, this service is used if the connected
|
||||
RIS cannot provide the modality worklist.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.ORMService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ORMService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getMessageTypes"
|
||||
setMethod="setMessageTypes">
|
||||
<description>Comma separated list of Message Types handled by this Service.
|
||||
</description>
|
||||
<name>MessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ORM^O01" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getOrderControlOperationMap"
|
||||
setMethod="setOrderControlOperationMap">
|
||||
<description><![CDATA[Maps Order Control (Order Status) or - if no Order
|
||||
Status is specified - Order Control (Result Status) in received ORM
|
||||
to Operation to perform. This controls what happens to worklist items.
|
||||
<p><b>Syntax:</b><br/>
|
||||
map = entry+<br/>
|
||||
entry = orderContol [ '(' orderStatus ')' ] ':' operation<br/>
|
||||
operation = 'NW' (* create worklist item(s) *)<br/>
|
||||
| 'XO' (* update worklist item(s) *)<br/>
|
||||
| 'XO(' ('SCHEDULED' | 'ARRIVED' | 'READY' | 'STARTED' | 'COMPLETED' | 'DISCONTINUED') ')' (* update worklist item(s) and set status *)<br/>
|
||||
| 'CA' (* remove worklist item(s) *)<br/>
|
||||
| 'SC(' ('SCHEDULED' | 'ARRIVED' | 'READY' | 'STARTED' | 'COMPLETED' | 'DISCONTINUED') ')' (* update status of worklist item(s) *)<br/>
|
||||
| 'NOOP' (* no operation *)</p>
|
||||
]]>
|
||||
</description>
|
||||
<name>OrderControlOperationMap</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
NW:NW
|
||||
XO:XO
|
||||
XO(SC):XO(SCHEDULED)
|
||||
XO(CM):XO(COMPLETED)
|
||||
CA:CA
|
||||
OC:CA
|
||||
DC:SC(DISCONTINUED)
|
||||
OD:SC(DISCONTINUED)
|
||||
SC(IP):SC(STARTED)
|
||||
SC(CM):SC(COMPLETED)
|
||||
SC(DC):SC(DISCONTINUED)
|
||||
SC(CA):CA
|
||||
SC:NOOP
|
||||
" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCreateMissingOrderOnStatusChange"
|
||||
setMethod="setCreateMissingOrderOnStatusChange">
|
||||
<description><![CDATA[Create a new order if a 'Status Changed (SC)' order message
|
||||
(see <i>OrderControlOperationMap</i>) for an unknown order is received.<br />
|
||||
Default behaviour (<i>false</i>) is to ignore such SC messages.
|
||||
]]></description>
|
||||
<name>CreateMissingOrderOnStatusChange</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateRequestAttributesForXO"
|
||||
setMethod="setUpdateRequestAttributesForXO">
|
||||
<description><![CDATA[Update Request Attributes if XO message is received after instances/MPPS are received.<br />
|
||||
If disabled, Attributes are only updated by NW and CA messages.<br />
|
||||
You should only enable this feature if the Order Filler fully supports linking via ORM messages.<br />
|
||||
Note: Request Attributes will be also updated if the order is created for an update message (XO or SC,
|
||||
see <i>OrderControlOperationMap</i> and <i>CreateMissingOrderOnStatusChange</i>)
|
||||
]]></description>
|
||||
<name>UpdateRequestAttributesForXO</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateDifferentPatientOfExistingStudy"
|
||||
setMethod="setUpdateDifferentPatientOfExistingStudy">
|
||||
<description><![CDATA[Controls the behavior on receive of an order
|
||||
message to an already performed procedure (=matching Study Instance UID),
|
||||
where the Patient referenced in the HL7 order message differs from the Patient
|
||||
referenced in the DICOM Performed Procedure Step message(s) received before:
|
||||
<br/>If <b>UpdateDifferentPatientOfExistingStudy</b>=<tt>true</tt>, already
|
||||
existing DICOM Performed Procedure Step(s) and DICOM Study for that order will
|
||||
be moved to the Patient referenced in the HL7 order message.
|
||||
<br/>If <b>UpdateDifferentPatientOfExistingStudy</b>=<tt>false</tt>, the HL7
|
||||
order message will be rejected, if the referenced Patient differs from the
|
||||
Patient associated with an already existing Performed Procedure Step(s) for
|
||||
that order.]]></description>
|
||||
<name>UpdateDifferentPatientOfExistingStudy</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 HL7
|
||||
ORM messages are considered for selecting existing Patient records 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 field name specifies that a missing value in
|
||||
received HL7 ORM messages will match with any value for that field in
|
||||
existing Patient Records, as Patient Records with missing values for that field
|
||||
will match with any value for that field in received HL7 ORM messages. Field
|
||||
names without question marks specifies, that HL7 ORM messages without values
|
||||
for such fields will not match any existing Patient Record, and Patient Records
|
||||
without values for such fields will not get selected on receive of any HL7 ORM
|
||||
message.
|
||||
<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
|
||||
HL7 ORM message *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause assignments of Modality Worklist Items
|
||||
to wrong patient.<br/>
|
||||
Furthermore, the consideration of demographic fields for the selection of
|
||||
existing Patient records disables the update of such Patient Demographics
|
||||
attributes by HL7 ORM messages!
|
||||
<p>Default: <code>pid,issuer?</code>
|
||||
]]>
|
||||
</description>
|
||||
<name>PatientMatching</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid,issuer?" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDefaultStationName"
|
||||
setMethod="setDefaultStationName">
|
||||
<description>Scheduled Station Name in generated MWL item,
|
||||
if there is no device configured for the scheduled protocol.
|
||||
</description>
|
||||
<name>DefaultStationName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="UNKOWN" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDefaultStationAET"
|
||||
setMethod="setDefaultStationAET">
|
||||
<description>Scheduled Station AET in generated MWL item,
|
||||
if there is no device configured for the scheduled protocol.
|
||||
</description>
|
||||
<name>DefaultStationAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="UNKOWN" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDefaultModality"
|
||||
setMethod="setDefaultModality">
|
||||
<description>Modality in generated MWL item, if the ORM message
|
||||
does not contain modality information and if there is also no device
|
||||
configured for the scheduled protocol.
|
||||
</description>
|
||||
<name>DefaultModality</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="OT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplateDir"
|
||||
setMethod="setTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located.<br />
|
||||
A stylesheet can be placed in this directory or in a sub-directory equal to '<Sending Application>^<Sending Facility>'.<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>TemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Name of stylesheet for HL7 ORM^O01 to DICOM MWL mapping.<br />
|
||||
Base dir: <code>TemplateDir</code><br/>
|
||||
If this name contains a '/' or '\' the configured <code>TemplateDir</code> will be NOT applied!
|
||||
In this case the name is the full path of the stylesheet and a relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="orm2dcm.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMWL2StoreConfigDir"
|
||||
setMethod="setMWL2StoreConfigDir">
|
||||
<description><![CDATA[Directory where configuration file(s)
|
||||
for coercion of request attributes in already stored instances are located:
|
||||
if there is a XSL stylesheet "mwl-cfindrsp2cstorerq.xsl" in this directory
|
||||
or in a sub-directory equal to the AE Title of the Storage SCU, attributes
|
||||
of already received instances from this SCU will be coerced according
|
||||
these stylesheet(s) on create or update of worklist item(s).
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>MWL2StoreConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeviceServiceName"
|
||||
setMethod="setDeviceServiceName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>DeviceServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
143
dcm4chee/default/conf/xmdesc/dcm4chee-hl7oru-xmbean.xml
Normal file
143
dcm4chee/default/conf/xmdesc/dcm4chee-hl7oru-xmbean.xml
Normal file
@@ -0,0 +1,143 @@
|
||||
<?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[The <b>ORU HL7 Service</b> converts ORU^R01 messages
|
||||
into DICOM structured reports, so a viewer can just use the PACS system to
|
||||
access the report.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.ORUService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>ORUService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getMessageTypes"
|
||||
setMethod="setMessageTypes">
|
||||
<description>Comma separated list of Message Types handled by this Service.
|
||||
</description>
|
||||
<name>MessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ORU^R01" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplateDir"
|
||||
setMethod="setTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located.<br />
|
||||
A style sheet can be placed in this directory or in a sub-directory to select a style sheet according to the sender.<br />
|
||||
This sub-directory can be <IPAddr>, <hostname> or '<Sending Application>^<Sending Facility>' (In this order).<br />
|
||||
(See also UseHostSubdirs attribute in HL7Server service to enable IP/hostname selection)<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>TemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Name of Stylesheet for HL7 ORU^R01 to DICOM SR mapping.<br />
|
||||
Base dir: <code>TemplateDir</code><br/>
|
||||
If this name contains a '/' or '\' the configured <code>TemplateDir</code> will be NOT applied!
|
||||
In this case the name is the full path of the stylesheet and a relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="oru2sr.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getObxIgnoreStati"
|
||||
setMethod="setObxIgnoreStati">
|
||||
<description><![CDATA[List of OBX Stati that should be ignored by this service. <br/>
|
||||
Seperate multiple stati with ','.<br/>
|
||||
Use NONE to process all ORU messages<p/>
|
||||
Default field number in OBX segment is 11 (OBSERV RESULT STATUS).
|
||||
You can change the default by preceeding '<fieldNr>:'<br/>
|
||||
e.g.: 'D,X' ignore all ORU message with status D and X in OBX field 11 <br/>
|
||||
'8:A' ignore all ORU messages with A in OBX field 8 (Abnormal Flags)]]>
|
||||
</description>
|
||||
<name>ObxIgnoreStati</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStorePriority"
|
||||
setMethod="setStorePriority">
|
||||
<description>Store priority. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>StorePriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</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="getExportManagerName"
|
||||
setMethod="setExportManagerName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>ExportManagerName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Process XML message</description>
|
||||
<name>process</name>
|
||||
<parameter>
|
||||
<name>msg</name>
|
||||
<type>org.dom4j.Document</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
425
dcm4chee/default/conf/xmdesc/dcm4chee-hl7send-xmbean.xml
Normal file
425
dcm4chee/default/conf/xmdesc/dcm4chee-hl7send-xmbean.xml
Normal file
@@ -0,0 +1,425 @@
|
||||
<?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[The <b>HL7 Send Service</b> emits messages to HL7
|
||||
receivers. It can be configured to forward messages received by the
|
||||
[#HL7 Server] to other systems. It is also used by the <i>XDS-I Information
|
||||
Source Service</i> to query the <i>Patient Identifier Cross-reference
|
||||
Manager</i> to find out the identification of a patient in different Patient
|
||||
Identifier Domains.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.HL7SendService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HL7SendService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-only" getMethod="getCharsetName">
|
||||
<description><![CDATA[Charset of incoming and outgoing HL7 messages as
|
||||
specified by the corresponding attribute of the associated HL7 Server
|
||||
Service.]]>
|
||||
</description>
|
||||
<name>CharsetName</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSendingApplication"
|
||||
setMethod="setSendingApplication">
|
||||
<description>Sending Application in transmitted messages.
|
||||
</description>
|
||||
<name>SendingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSendingFacility"
|
||||
setMethod="setSendingFacility">
|
||||
<description>Sending Facility in transmitted messages.
|
||||
</description>
|
||||
<name>SendingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getForwardingRules"
|
||||
setMethod="setForwardingRules">
|
||||
<description>List of forwarding rules.
|
||||
Format:=['['CONDITION[,..]']'](DESTINATION[,..]|NONE)
|
||||
CONDITION:=(sending|receiving|msgtype)[!]=value['|'...]
|
||||
DESTINATION:=APPLICATION^FACILITY
|
||||
</description>
|
||||
<name>ForwardingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="[sending=PACS_NODEXX^ABPACS]PACS_CENTRAL^ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description>Number and intervalls of retries of failed
|
||||
HL7 forward requests by a list of comma separated NUMBERxINTERVAL pairs.
|
||||
The intervall can be specified in seconds (##s), minutes (##m),
|
||||
hours (##h) or days (##d).
|
||||
</description>
|
||||
<name>RetryIntervalls</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,12x5m,24x1h,7x1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximal number of concurrent forwarded messages.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getForwardTemplateDir"
|
||||
setMethod="setForwardTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located
|
||||
to change the original HL7 message before forwarding it.<br />
|
||||
A style sheet can be message type specific ("hl7forward_<MSG Type>^<Event Type>.xsl" or "hl7forward_<MSG Type>.xsl")
|
||||
or generic "hl7forward.xsl"
|
||||
and placed in this directory or in a sub-directory to select a style sheet according to the sender.<br />
|
||||
This sub-directory can be <IPAddr>, <hostname> or '<Receiving Application>^<Receiving Facility>' (In this order).<br />
|
||||
(See also UseHostSubdirs attribute in HL7Server service to enable IP/hostname selection)<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>ForwardTemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAcTimeout"
|
||||
setMethod="setAcTimeout">
|
||||
<description>Acknowledge timeout in ms. 0 = no timeout.
|
||||
</description>
|
||||
<name>AcTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="10000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSoCloseDelay"
|
||||
setMethod="setSoCloseDelay">
|
||||
<description>Socket close delay in ms after receive of acknowledge message.
|
||||
</description>
|
||||
<name>SoCloseDelay</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isAuditPIXQuery"
|
||||
setMethod="setAuditPIXQuery">
|
||||
<description>
|
||||
Controls if Audit Records are emitted for invoked PIX Queries (HL7
|
||||
QBP^Q23).
|
||||
</description>
|
||||
<name>AuditPIXQuery</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</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="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
<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="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Forward HL7 message according configured Forwarding Rules</description>
|
||||
<name>forward</name>
|
||||
<parameter>
|
||||
<description>HL7 message as byte array</description>
|
||||
<name>hl7msg</name>
|
||||
<type>[B</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send HL7 message to specified destination and evaluate received ACK</description>
|
||||
<name>sendTo</name>
|
||||
<parameter>
|
||||
<description>HL7 message as byte array</description>
|
||||
<name>hl7msg</name>
|
||||
<type>[B</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Destination. Format: ReceivingApplication^ReceivingFacility</description>
|
||||
<name>receiving</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send/Forward HL7 message with message Type and Patient data</description>
|
||||
<name>sendHL7PatientXXX</name>
|
||||
<parameter>
|
||||
<description>Patient data (Dataset)</description>
|
||||
<name>patient</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Type of message (ADT^A02,ADT^A03,..)</description>
|
||||
<name>msgType</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Sending. Format: SendingApplication^SendingFacility</description>
|
||||
<name>sender</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Destination. Format: ReceivingApplication^ReceivingFacility</description>
|
||||
<name>destination</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Select false if the message should be sent directly or true to send via forwarding rules.</description>
|
||||
<name>useForward</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send/Forward HL7 Patient Merge message.</description>
|
||||
<name>sendHL7PatientMerge</name>
|
||||
<parameter>
|
||||
<description>Dominant Patient data (Dataset)</description>
|
||||
<name>dominant</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of prior patients</description>
|
||||
<name>priorPats</name>
|
||||
<type>[Lorg.dcm4che.data.Dataset;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Sending. Format: SendingApplication^SendingFacility</description>
|
||||
<name>sender</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Destination. Format: ReceivingApplication^ReceivingFacility</description>
|
||||
<name>destination</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Enable/disable forwarding (using forward rules) instead of send direct (local)</description>
|
||||
<name>useForward</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send HL7 QBP^Q23 (=Query corresponding Patient ID) message.</description>
|
||||
<name>sendQBP_Q23</name>
|
||||
<parameter>
|
||||
<description>PIX Manager Application^Facility</description>
|
||||
<name>PIXManager</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Message Query Name (QPD-1)</description>
|
||||
<name>PIXQueryName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Assigning Authority:
|
||||
<namespace ID>&<universal ID>&<universal ID type>]]>
|
||||
</description>
|
||||
<name>authority</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of returned domains (What domains returned).
|
||||
</description>
|
||||
<name>domains</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Send HL7 QBP^Q22 (=Query Patients, PDQ) message.</description>
|
||||
<name>sendQBP_Q22</name>
|
||||
<parameter>
|
||||
<description>PDQ Manager Application^Facility</description>
|
||||
<name>PDQManager</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Query Parameters</description>
|
||||
<name>params</name>
|
||||
<type>java.util.Map</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Domain for Patient IDs returned</description>
|
||||
<name>domain</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Maximum number of entries to return. Will cause the last list entry to be the next continuation code.</description>
|
||||
<name>count</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Continuation flag.</description>
|
||||
<name>continuation</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show HL7 QBP^Q22 (=Query Patients, PDQ) message response. Intended for test purposes
|
||||
to ensure the service is working - use the sendQBP_Q22 method from code.</description>
|
||||
<name>showQBP_Q22</name>
|
||||
<parameter>
|
||||
<description>PDQ Manager Application^Facility</description>
|
||||
<name>PDQManager</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Query Parameters</description>
|
||||
<name>query</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Domain for Patient IDs returned</description>
|
||||
<name>domain</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Send HL7 message from a Dataset given in a file.<br/>
|
||||
The XSL stylesheet given by filename is used to transform the dataset into a HL7 message.
|
||||
]]></description>
|
||||
<name>sendHl7FromDataset</name>
|
||||
<parameter>
|
||||
<description>Filename of a Dataset file</description>
|
||||
<name>dsFilename</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Filename of the XSLT stylesheet</description>
|
||||
<name>xslFilename</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Sender in format: <SendingApplication>^<SendingFacility>]]></description>
|
||||
<name>sender</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Receiver in format: <ReceivingApplication>^<ReceivingFacility>]]>
|
||||
</description>
|
||||
<name>receiver</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Send HL7 message from a Dataset to given reveiver.<br/>
|
||||
The receiver (except LOCAL^LOCAL) must be configured in AE Managment!
|
||||
The XSL stylesheet given as Templates object is used to transform the Dataset into a HL7 message.
|
||||
]]></description>
|
||||
<name>sendHl7FromDataset</name>
|
||||
<parameter>
|
||||
<description>Dataset</description>
|
||||
<name>ds</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Templates object of an XSLT stylesheet</description>
|
||||
<name>tpl</name>
|
||||
<type>javax.xml.transform.Templates</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Sender in format: <SendingApplication>^<SendingFacility>]]></description>
|
||||
<name>sender</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Receiver in format: <ReceivingApplication>^<ReceivingFacility>]]>
|
||||
</description>
|
||||
<name>receiver</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
381
dcm4chee/default/conf/xmdesc/dcm4chee-hl7srv-xmbean.xml
Normal file
381
dcm4chee/default/conf/xmdesc/dcm4chee-hl7srv-xmbean.xml
Normal file
@@ -0,0 +1,381 @@
|
||||
<?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[HL7 Server: Dispatch incoming HL7 messages to
|
||||
registered HL7 services. When configuring, select the TCP listening port,
|
||||
the security protocol for communication, timeouts, and the maximum number of
|
||||
connected HL7 senders.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.HL7ServerService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HL7ServerService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCharsetName"
|
||||
setMethod="setCharsetName">
|
||||
<description><![CDATA[Specifies Charset of incoming and outgoing HL7
|
||||
messages by its name as listed in the
|
||||
<a href="http://www.iana.org/assignments/character-sets">
|
||||
<i>IANA Charset Registry</i></a> (e.g. <code>ISO-8859-1</code>).]]>
|
||||
</description>
|
||||
<name>CharsetName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ISO-8859-1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPort"
|
||||
setMethod="setPort">
|
||||
<!-- Network -->
|
||||
<description>TCP listening port. This is the most important value in
|
||||
the service, and by default is set to 2575.
|
||||
</description>
|
||||
<name>Port</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="2575" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLocalAddress"
|
||||
setMethod="setLocalAddress">
|
||||
<description>Local interface IP address to listen for TCP communication. 0.0.0.0 indicates all active interfaces.
|
||||
</description>
|
||||
<name>LocalAddress</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="0.0.0.0" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getProtocolName"
|
||||
setMethod="setProtocolName">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Enable Transport Security Layer (TLS) mode:<ul>
|
||||
<li><tt>mllp</tt> - plain <i>Minimal Lower Level Protocol</i>; <b>no</b> TLS</li>
|
||||
<li><tt>mllp-tls</tt> - accept TLS connections; offer AES or DES encryption</li>
|
||||
<li><tt>mllp-tls.aes</tt> - accept TLS connections; force AES or DES encryption</li>
|
||||
<li><tt>mllp-tls.3des</tt> - accept TLS connections; force DES encryption</li>
|
||||
<li><tt>mllp-tls.nodes</tt> - accept TLS connections without encryption</li>
|
||||
</ul>]]>
|
||||
</description>
|
||||
<name>ProtocolName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="mllp" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSoTimeout"
|
||||
setMethod="setSoTimeout">
|
||||
<description>Socket timeout in ms. 0 = no timeout.
|
||||
This value determines how long the server is waiting for receiving
|
||||
the next message on an open connection before it closes the idle connection.
|
||||
HL7 senders (typical part of the RIS) typically keeps the connection
|
||||
open between emitted messages, and some interprets a close of the idle
|
||||
connection by the server as serious system failure. So the timeout value
|
||||
may be configured quite large. Default: 600000 (=10min).
|
||||
</description>
|
||||
<name>SoTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="600000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNoopMessageTypes"
|
||||
setMethod="setNoopMessageTypes">
|
||||
<description>Comma separated list of Message Types which are accepted
|
||||
even if no HL7 Service is registered to actual process the message.
|
||||
By setting this value, you avoid to reject messages, which are not
|
||||
processed by the application.
|
||||
</description>
|
||||
<name>NoopMessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ADT^A02,ADT^A03,ADT^A06,ADT^A07,ADT^A12,ADT^A13" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isSuppressErrorResponse"
|
||||
setMethod="setSuppressErrorResponse">
|
||||
<description><![CDATA[Activates suppression of Application Reject or
|
||||
Application Error as acknowledgment code but always returns acknowledgment
|
||||
code AA (=Application Accept), even if the processing of the message fails.]]>
|
||||
</description>
|
||||
<name>SuppressErrorResponse</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isSendNotification"
|
||||
setMethod="setSendNotification">
|
||||
<description>Activates notification of registered listeners about received
|
||||
HL7 messages. Required for message forwarding by HL7 Send service and
|
||||
for prefetch of studies on receive of ORM^O01 messages by the Prefetch
|
||||
Service.
|
||||
</description>
|
||||
<name>SendNotification</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isFileReceivedHL7"
|
||||
setMethod="setFileReceivedHL7">
|
||||
<description><![CDATA[Activates writing received HL7 messages into file
|
||||
(format: hl7-######.hl7, with ###### as the sequence number of the
|
||||
received message since last application start) in log directory.
|
||||
Useful to analyse HL7 encoding errors in incoming messages, which causes
|
||||
the conversion of the message to XML for further processing to fail.]]>
|
||||
</description>
|
||||
<name>FileReceivedHL7</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isFileReceivedHL7OnError"
|
||||
setMethod="setFileReceivedHL7OnError">
|
||||
<description><![CDATA[Activates writing received HL7 messages, which
|
||||
were rejected or which processing failed, into file (format: hl7-######.hl7,
|
||||
with ###### as the sequence number of the received message since last
|
||||
application start) in directory specified by <i>ErrorLogDirectory</i>]]>
|
||||
</description>
|
||||
<name>FileReceivedHL7OnError</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getErrorLogDirectory"
|
||||
setMethod="setErrorLogDirectory">
|
||||
<description><![CDATA[Directory to which HL7 messages which are rejected
|
||||
or which processing fails are filed. Only effective if
|
||||
<i>FileReceivedHL7OnError</i> = <code>true</code>.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>ErrorLogDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="log/hl7err" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isFileReceivedHL7AsXML"
|
||||
setMethod="setFileReceivedHL7AsXML">
|
||||
<description><![CDATA[Activates writing received and XMLized HL7 messages
|
||||
into file (format: hl7-######.xml, with ###### as the sequence number of
|
||||
the received message since last application start) in log directory.
|
||||
Useful to test customized XSL stylesheets used by individual HL7 Services.]]>
|
||||
</description>
|
||||
<name>FileReceivedHL7AsXML</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</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="getMaxClients"
|
||||
setMethod="setMaxClients">
|
||||
<description>Maximal number of simultaneously connected HL7 senders.
|
||||
</description>
|
||||
<name>MaxClients</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getNumClients">
|
||||
<description>Current number of connected HL7 senders.
|
||||
</description>
|
||||
<name>NumClients</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxIdleThreads"
|
||||
setMethod="setMaxIdleThreads">
|
||||
<description>Maximal number of idle threads.
|
||||
</description>
|
||||
<name>MaxIdleThreads</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="5" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getNumIdleThreads">
|
||||
<description>Current number of idle threads.
|
||||
</description>
|
||||
<name>NumIdleThread</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getNumberOfReceivedMessages">
|
||||
<description><![CDATA[Number of received HL7 messages since last restart
|
||||
of the application. Used for naming of log files, if logging of incoming
|
||||
HL7 messages is activated by <b>FileReceivedHL7</b> or
|
||||
<b>FileReceivedHL7AsXML</b>.]]>
|
||||
</description>
|
||||
<name>NumberOfReceivedMessages</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAckStylesheet"
|
||||
setMethod="setAckStylesheet">
|
||||
<description><![CDATA[Stylesheet for generated ACK messages.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>AckStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7/msh2ack.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLogStylesheet"
|
||||
setMethod="setLogStylesheet">
|
||||
<description><![CDATA[Stylesheet for logging of received HL7 messages.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>LogStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7/logmsg.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplateDir"
|
||||
setMethod="setTemplateDir">
|
||||
<description><![CDATA[Directory where template file(s) are located
|
||||
to preprocess the received HL7 message.<br />
|
||||
A style sheet can be message type specific ("preprocess_<MSG Type>^<Event Type>.xsl" or "preprocess_<MSG Type>.xsl")
|
||||
or generic "preprocess.xsl"
|
||||
and placed in this directory or in a sub-directory to select a style sheet according to the sender.<br />
|
||||
This sub-directory can be <IPAddr>, <hostname> or '<Sending Application>^<Sending Facility>' (In this order).<br />
|
||||
(See also UseHostSubdirs attribute in HL7Server service to enable IP/hostname selection)<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>PreprocessTemplateDir</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUseHostSubdirs"
|
||||
setMethod="setUseHostSubdirs">
|
||||
<description><![CDATA[Enable selection of style sheets depending on IP address/hostname.<br />
|
||||
If disabled, only Sending Application and Sending Facility can be used to select style sheet
|
||||
depending on message sender but eliminates need of DNS lookup to get hostname.
|
||||
]]></description>
|
||||
<name>UseHostSubdirs</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</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>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Register HL7 Service</description>
|
||||
<name>registerService</name>
|
||||
<parameter>
|
||||
<description>Message Type accepted by this service</description>
|
||||
<name>messageType</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>HL7 Service</description>
|
||||
<name>service</name>
|
||||
<type>org.dcm4chex.archive.hl7.HL7Service</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Log Message</description>
|
||||
<name>logMessage</name>
|
||||
<parameter>
|
||||
<description>Message</description>
|
||||
<name>message</name>
|
||||
<type>org.dom4j.Document</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
276
dcm4chee/default/conf/xmdesc/dcm4chee-hpscp-xmbean.xml
Normal file
276
dcm4chee/default/conf/xmdesc/dcm4chee-hpscp-xmbean.xml
Normal file
@@ -0,0 +1,276 @@
|
||||
<?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>DICOM Hanging Protocol SCP</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.hpscp.HPScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HPScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<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="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="isSendPendingMoveRSP" setMethod="setSendPendingMoveRSP">
|
||||
<description>Return optional C-Move Response DICOM message with pending status.
|
||||
</description>
|
||||
<name>SendPendingMoveResponse</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</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="getQueryAccessBlobAsLongVarBinary"
|
||||
setMethod="setQueryAccessBlobAsLongVarBinary">
|
||||
<description>Change JDBC binding for Oracle BLOB's to LONGVARBINARY for
|
||||
accessing attributes stored in BLOB columns of DB records on query.
|
||||
Only effective with Oracle as DB.
|
||||
</description>
|
||||
<name>QueryAccessBlobAsLongVarBinary</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetrieveAccessBlobAsLongVarBinary"
|
||||
setMethod="setRetrieveAccessBlobAsLongVarBinary">
|
||||
<description>Change JDBC binding for Oracle BLOB's to LONGVARBINARY for
|
||||
accessing attributes stored in BLOB columns of DB records on retrieve.
|
||||
Only effective with Oracle as DB.
|
||||
</description>
|
||||
<name>RetrieveAccessBlobAsLongVarBinary</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getQueryTransactionIsolationLevel"
|
||||
setMethod="setQueryTransactionIsolationLevel">
|
||||
<description>Transaction isolation level for queries. Values can be one of:
|
||||
DEFAULT|READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE
|
||||
</description>
|
||||
<name>QueryTransactionIsolationLevel</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetrieveTransactionIsolationLevel"
|
||||
setMethod="setRetrieveTransactionIsolationLevel">
|
||||
<description>Transaction isolation level for retrieves. Values can be one of:
|
||||
DEFAULT|READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE
|
||||
</description>
|
||||
<name>RetrieveTransactionIsolationLevel</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT"/>
|
||||
</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="getDcmServerName"
|
||||
setMethod="setDcmServerName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>DcmServerName</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>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAEServiceName"
|
||||
setMethod="setAEServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>AEServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
<?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[CAStor-Based HSM Module Service.<br/>
|
||||
This module uses CAStor as a storage for study tarballs.<br/>
|
||||
It stores each study tarball as an unnamed object on the CAStor cluster. That object is identified
|
||||
by a UUID, and can later be retrieved at <br/>
|
||||
http://<i>cluster-address</i>:80/<i>uuid</i>
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.castor.CAStorHSMModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>CAStorHSMModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getHostname"
|
||||
setMethod="setHostname">
|
||||
<description><![CDATA[The hostname of the CAStor server (Primary Access Node).
|
||||
]]></description>
|
||||
<name>Hostname</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="castor"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPort"
|
||||
setMethod="setPort">
|
||||
<description><![CDATA[The port of the CAStor server for SCSP communications.
|
||||
]]></description>
|
||||
<name>Port</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="80"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxConnectionPoolSize"
|
||||
setMethod="setMaxConnectionPoolSize">
|
||||
<description><![CDATA[The maximum connection pool size used by the SCSP client. The recommended value is
|
||||
the number of threads multiplied by the number of CAStor cluster nodes.
|
||||
]]></description>
|
||||
<name>MaxConnectionPoolSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="5"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxRetries"
|
||||
setMethod="setMaxRetries">
|
||||
<description><![CDATA[The maximum number of retries that the SCSP client is allowed.
|
||||
]]></description>
|
||||
<name>MaxRetries</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="4"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConnectionTimeout"
|
||||
setMethod="setConnectionTimeout">
|
||||
<description><![CDATA[The connection timeout (in seconds) used by the SCSP client.
|
||||
]]></description>
|
||||
<name>ConnectionTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="120"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPoolTimeout"
|
||||
setMethod="setPoolTimeout">
|
||||
<description><![CDATA[The pool timeout (in seconds) used by the SCSP client.
|
||||
]]></description>
|
||||
<name>PoolTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="300"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLocatorRetryTimeout"
|
||||
setMethod="setLocatorRetryTimeout">
|
||||
<description><![CDATA[The locator retry timeout (in seconds) used by the SCSP client.
|
||||
]]></description>
|
||||
<name>LocatorRetryTimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="300"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIncomingDir"
|
||||
setMethod="setIncomingDir">
|
||||
<description><![CDATA[The directory where study tarballs are temporarily saved after they are retrieved
|
||||
from CAStor by the <b>TarRetriever</b> service. A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.
|
||||
]]></description>
|
||||
<name>IncomingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-incoming"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getOutgoingDir"
|
||||
setMethod="setOutgoingDir">
|
||||
<description><![CDATA[The directory where study tarballs are temporarily saved before they are sent to
|
||||
CAStor by the <b>FileCopy</b> service. A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.
|
||||
]]></description>
|
||||
<name>OutgoingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-ougoing"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetentionPeriod"
|
||||
setMethod="setRetentionPeriod">
|
||||
<description><![CDATA[The period of time for which a study must remain in nearline storage before being
|
||||
deleted, e.g. "52w" or "365d".
|
||||
]]></description>
|
||||
<name>RetentionPeriod</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1827d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM.
|
||||
(Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Query status of file in HSM.</description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
303
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-cmd-module-xmbean.xml
Normal file
303
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-cmd-module-xmbean.xml
Normal file
@@ -0,0 +1,303 @@
|
||||
<?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>Command based HSM Module for File Copy Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.HSMCommandModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HSMCommandModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCopyCommand"
|
||||
setMethod="setCopyCommand">
|
||||
<description><![CDATA[External command to copy files or tarballs to the destination,
|
||||
with
|
||||
<br>%p will be replaced by the path of file/tarball to copy,
|
||||
<br>%d will be replaced by the destination file system name,
|
||||
<br>%f will be replaced by the destination filename
|
||||
<br>Alternatively a suffix of ':%f' specifies, that the filename
|
||||
on the destination file system shall be returned from the command
|
||||
in stdout.
|
||||
<br>NONE = write tarball on local accessable file system.
|
||||
]]>
|
||||
</description>
|
||||
<name>CopyCommand</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getOutgoingDir"
|
||||
setMethod="setOutgoingDir">
|
||||
<description><![CDATA[Directory from which files/tarballs shall be copied
|
||||
by external <b>CopyCommand</b>. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>OutgoingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-outgoing"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFetchCommand"
|
||||
setMethod="setFetchCommand">
|
||||
<description><![CDATA[External command to fetch files/tarballs from the source
|
||||
file system, with
|
||||
<br />%d will be replaced by the source file system name,
|
||||
<br />%f will be replaced by the path of tarball on the source file system,
|
||||
<br />%p will be replaced by the destination path.
|
||||
<br />NONE = TAR file on local accessable file system.
|
||||
<br />Note: The destination file given with %p always exists and must be overwritten!
|
||||
]]>
|
||||
</description>
|
||||
<name>FetchCommand</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIncomingDir"
|
||||
setMethod="setIncomingDir">
|
||||
<description><![CDATA[Directory in which files/tarballs shall be retrieved
|
||||
by external <b>FetchCommand</b>. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.
|
||||
Not effective if FetchCommand=<code>NONE<code>]]>
|
||||
</description>
|
||||
<name>IncomingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-incoming"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getQueryCommand"
|
||||
setMethod="setQueryCommand">
|
||||
<description><![CDATA[Command to query status of specific file.
|
||||
<br>%d will be replaced by file system name (directory path/mount point),
|
||||
<br>%f will be replaced by the file path,
|
||||
<br>%i will be replaced by user info associated with the file system.
|
||||
]]>
|
||||
</description>
|
||||
<name>QueryCommand</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="mmls %i/%f"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPattern"
|
||||
setMethod="setPattern">
|
||||
<description><![CDATA[Regular expression, applied to stdout of
|
||||
command. Result determines if status is changed to MatchFileStatus
|
||||
or NoMatchFileStatus.
|
||||
]]>
|
||||
</description>
|
||||
<name>Pattern</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=".*\bArchived\b.*"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCommandFailedFileStatus"
|
||||
setMethod="setCommandFailedFileStatus">
|
||||
<description>New file status, if the query command could not be executed.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>CommandFailedFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNonZeroExitFileStatus"
|
||||
setMethod="setNonZeroExitFileStatus">
|
||||
<description>New file status, if query command returns non-zero exit code.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>NonZeroExitFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="QUERY_HSM_FAILED"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNoMatchFileStatus"
|
||||
setMethod="setNoMatchFileStatus">
|
||||
<description>New file status, if the query result does NOT match specified pattern.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>NoMatchFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMatchFileStatus"
|
||||
setMethod="setMatchFileStatus">
|
||||
<description>New file status, if the query result does match specified pattern.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>MatchFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ARCHIVED"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Query status of file in HSM.</description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Apply pattern to given string</description>
|
||||
<name>applyPattern</name>
|
||||
<parameter>
|
||||
<name>string</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,268 @@
|
||||
<?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[File Based HSM Module Service.<br/>
|
||||
This File Based Module supports a WORM (write once, read many) like storage.<br/>
|
||||
Therefore the file is set to readonly.<br/>
|
||||
The access time of the file is set to current date + RetentionTime to indicate how long
|
||||
a file should be in WORM state.
|
||||
(This feature must be supported by the underlying filesystem/storage!)<br/>
|
||||
This module supports synchronization of file status by checking existence
|
||||
of files with specific extendions (see StatusExtensions and queryStatus).
|
||||
This Module is able to handle tar retrievals from FileSystems, which have got a dicey IO behaviour.
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.dicey.DiceyFSModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>DiceyFSModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getIncomingDir"
|
||||
setMethod="setIncomingDir">
|
||||
<description><![CDATA[Directory in which files/tarballs shall be retrieved.
|
||||
A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.
|
||||
]]>
|
||||
</description>
|
||||
<name>IncomingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-incoming"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getReadTimeout"
|
||||
setMethod="setReadTimeout">
|
||||
<description>Read TimeOut for file access [seconds]</description>
|
||||
<name>ReadTimeOut</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="30"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetentionTime"
|
||||
setMethod="setRetentionTime">
|
||||
<description><![CDATA[Time in y (years), M (month) or d (days) a modification / deletion of a file is not permitted.<br/>
|
||||
Use a leading '+' to set access time after the file is set ReadOnly. (default is before ;
|
||||
Please ensure that your filesystem/command allows setting access time when file is ReadOnly!)
|
||||
]]></description>
|
||||
<name>RetentionTime</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="3y"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAccessTimeCmd"
|
||||
setMethod="setAccessTimeCmd">
|
||||
<description><![CDATA[External command to set Access Time of a file (retention), with
|
||||
<br>%f will be replaced by the file
|
||||
<br>%d will be replaced by the retention date (current date + retentionTime)
|
||||
<br>NONE = Access Time of file will not be changed.
|
||||
]]>
|
||||
</description>
|
||||
<name>AccessTimeCmd</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="touch -a -t %d %f"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPattern"
|
||||
setMethod="setPattern">
|
||||
<description><![CDATA[Date pattern that is used to format retention date for %d in AccessTimeCmd.]]>
|
||||
</description>
|
||||
<name>DatePattern</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="yyyyMMddhhmm"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStatusExtensions"
|
||||
setMethod="setStatusExtensions">
|
||||
<description><![CDATA[File extension to File Status mapping.<br/>
|
||||
Used in queryStatus to get actual status of a file.
|
||||
Enumerated status values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED<br/>
|
||||
Format: <extension>=<status><br/>
|
||||
A entry without <extension>= is used if no file with configured extension exists.
|
||||
This could also be set to NONE (do not change the file status).
|
||||
]]></description>
|
||||
<name>StatusExtensions</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
.archived=ARCHIVED
|
||||
NONE
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCheckMD5forStatusChange"
|
||||
setMethod="setCheckMD5forStatusChange">
|
||||
<description>Enable verification of tar files when a status file (file with status extension) exists.
|
||||
Set file status to MD5_CHECK_FAILED (-3) if verify failed.
|
||||
</description>
|
||||
<name>CheckMD5forStatusChange</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists in the root of an filesystem, this signals a failed mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Query status of file in HSM.<br/>
|
||||
Check the existence of a file with extensions configured in
|
||||
StatusExtensions and set the corresponding status.
|
||||
]]></description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File Path</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
242
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-file-module-xmbean.xml
Normal file
242
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-file-module-xmbean.xml
Normal file
@@ -0,0 +1,242 @@
|
||||
<?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[File Based HSM Module Service.<br/>
|
||||
This File Based Module supports a WORM (write once, read many) like storage.<br/>
|
||||
Therefore the file is set to readonly.<br/>
|
||||
The access time of the file is set to current date + RetentionTime to indicate how long
|
||||
a file should be in WORM state.
|
||||
(This feature must be supported by the underlying filesystem/storage!)<br/>
|
||||
This module supports synchronization of file status by checking existence
|
||||
of files with specific extendions (see StatusExtensions and queryStatus).
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.HSMFileBasedModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HSMFileBasedModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetentionTime"
|
||||
setMethod="setRetentionTime">
|
||||
<description><![CDATA[Time in y (years), M (month) or d (days) a modification / deletion of a file is not permitted.<br/>
|
||||
Use a leading '+' to set access time after the file is set ReadOnly. (default is before ;
|
||||
Please ensure that your filesystem/command allows setting access time when file is ReadOnly!)
|
||||
]]></description>
|
||||
<name>RetentionTime</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="3y"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAccessTimeCmd"
|
||||
setMethod="setAccessTimeCmd">
|
||||
<description><![CDATA[External command to set Access Time of a file (retention), with
|
||||
<br>%f will be replaced by the file
|
||||
<br>%d will be replaced by the retention date (current date + retentionTime)
|
||||
<br>NONE = Access Time of file will not be changed.
|
||||
]]>
|
||||
</description>
|
||||
<name>AccessTimeCmd</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="touch -a -t %d %f"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPattern"
|
||||
setMethod="setPattern">
|
||||
<description><![CDATA[Date pattern that is used to format retention date for %d in AccessTimeCmd.]]>
|
||||
</description>
|
||||
<name>DatePattern</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="yyyyMMddhhmm"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStatusExtensions"
|
||||
setMethod="setStatusExtensions">
|
||||
<description><![CDATA[File extension to File Status mapping.<br/>
|
||||
Used in queryStatus to get actual status of a file.
|
||||
Enumerated status values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED<br/>
|
||||
Format: <extension>=<status><br/>
|
||||
A entry without <extension>= is used if no file with configured extension exists.
|
||||
This could also be set to NONE (do not change the file status).
|
||||
]]></description>
|
||||
<name>StatusExtensions</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
.archived=ARCHIVED
|
||||
NONE
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCheckMD5forStatusChange"
|
||||
setMethod="setCheckMD5forStatusChange">
|
||||
<description>Enable verification of tar files when a status file (file with status extension) exists.
|
||||
Set file status to MD5_CHECK_FAILED (-3) if verify failed.
|
||||
</description>
|
||||
<name>CheckMD5forStatusChange</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMountFailedCheckFile"
|
||||
setMethod="setMountFailedCheckFile">
|
||||
<description><![CDATA[If the specified file exists in the root of an filesystem, this signals a failed mount.]]>
|
||||
</description>
|
||||
<name>MountFailedCheckFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NO_MOUNT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Query status of file in HSM.<br/>
|
||||
Check the existence of a file with extensions configured in
|
||||
StatusExtensions and set the corresponding status.
|
||||
]]></description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File Path</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
<?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[HSM Module to map HSM Modules to Filesystem ID's.<br/>
|
||||
This service can be used to handle different HSM storage systems
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.MappedHSMModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MappedHSMModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getModuleMapping"
|
||||
setMethod="setModuleMapping">
|
||||
<description><![CDATA[Define mapping between FilesystemID and HSMModule.<br/>
|
||||
Format:<fsID>=<HSMModule Service Name>[<newline><fsID>=<...>[..]]<br/>
|
||||
Use 'NONE' to disable mapping.<br/>
|
||||
Example: <br/>
|
||||
tar:/store1=dcm4chee.archive:service=FileCopyHSMModule,type=Command<br/>
|
||||
tar:/store2=dcm4chee.archive:service=FileCopyHSMModule,type=FileBased
|
||||
]]>
|
||||
</description>
|
||||
<name>ModuleMapping</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Query status of file in HSM.</description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
382
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-migrate-xmbean.xml
Normal file
382
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-migrate-xmbean.xml
Normal file
@@ -0,0 +1,382 @@
|
||||
<?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[Migrate a HSM Filesystem to another HSM Filesystem.<br />
|
||||
Mapped HSMModule (<i>service=FileCopyHSMModule,type=Mapped</i>) must be configured for
|
||||
the file system specific HSM modules.<br/>
|
||||
This service copies all tar files with file status DEFAULT, TO_ARCHIVE and ARCHIVED from
|
||||
<i>SourceFileSystem</i> to <i>TargetFileSystem</i>.<br/>
|
||||
Migrated source files are marked with file status MIGRATED or MIGRATION_FAILED.<br/>
|
||||
Source and Target files can be verified by enabling <i>VerifySourceTar</i> and/or <i>VerifyTargetTar</i>.<br/>
|
||||
Note: the source files get file status MD5_CHECK_FAILED if verification of source tar file failed!<br/>
|
||||
The source file entities (not the real files) can be removed by specifying <i>RemoveSrcOnTargetFileStatus</i>
|
||||
and <i>RemoveTaskInterval</i>.
|
||||
]]></description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.HSMMigrateService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HSMMigrateService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getSourceFileSystem"
|
||||
setMethod="setSourceFileSystem">
|
||||
<description><![CDATA[Directory/Mount Point of the source File System. <br />
|
||||
NONE = disable this service.]]>
|
||||
</description>
|
||||
<name>SourceFileSystem</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getSourceFileSystemPk">
|
||||
<description>Primary of the source File System.</description>
|
||||
<name>SourceFileSystemPk</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTargetFileSystem"
|
||||
setMethod="setTargetFileSystem">
|
||||
<description><![CDATA[Directory/Mount Point of the target File System. <br />
|
||||
NONE = disable this service.]]>
|
||||
</description>
|
||||
<name>TargetFileSystem</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getTargetFileSystemPk">
|
||||
<description>Primary of the target File System.</description>
|
||||
<name>TargetFileSystemPk</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTargetFileStatus"
|
||||
setMethod="setTargetFileStatus">
|
||||
<description>File status of created files in target file system.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>TargetFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isVerifySourceTar"
|
||||
setMethod="setVerifySourceTar">
|
||||
<description><![CDATA[Enables verification of source tar file.<br />
|
||||
If enabled the tar file is verified by <br />
|
||||
1) checking MD5 sums of the tar content.<br />
|
||||
2) check if tar file contains the file.<br />
|
||||
Only applicable if filesystem is a tar filesystem!
|
||||
]]></description>
|
||||
<name>VerifySourceTar</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isVerifyTargetTar"
|
||||
setMethod="setVerifyTargetTar">
|
||||
<description><![CDATA[Enables verification of the target tar file.<br />
|
||||
If enabled the tar file is verified by <br />
|
||||
1) checking MD5 sums of the tar content.<br />
|
||||
2) check if tar file contains the file.<br />
|
||||
Only applicable if filesystem is a tar filesystem!
|
||||
]]></description>
|
||||
<name>VerifyTargetTar</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRemoveSrcOnTargetFileStatus"
|
||||
setMethod="setRemoveSrcOnTargetFileStatus">
|
||||
<description><![CDATA[File status of files in target file system to allow remove of source file entities.<br />
|
||||
NONE: Disable remove of source files.<br />
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED
|
||||
]]></description>
|
||||
<name>RemoveSrcOnTargetFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getQueryStatusMode"
|
||||
setMethod="setQueryStatusMode">
|
||||
<description><![CDATA[Mode how file status of target tar files are queried for 'remove source files' task.<br/>
|
||||
Enumerated values: <br/>
|
||||
NEVER.....Don't query file status of tar file. (status must be updated via SyncFileStatus service)<br />
|
||||
ALWAYS....Always query status. (recheck if status is already <i>RemoveSrcOnTargetFileStatus</i> or an error stati)<br/>
|
||||
ON_WRONG..Only query status if current status is not <i>RemoveSrcOnTargetFileStatus</i>
|
||||
]]></description>
|
||||
<name>QueryStatusMode</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ON_WRONG"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTaskIntervalMigrate"
|
||||
setMethod="setTaskIntervalMigrate">
|
||||
<description><![CDATA[Interval in which migration task is performed.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no migration should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no migration should be performed
|
||||
<br>NEVER = disable migration of HSM file systems
|
||||
<br>Example:<br>1h!9-17 means every hour,
|
||||
migrate tar files, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can perform HSM migration outside of peak hours.
|
||||
]]>
|
||||
</description>
|
||||
<name>MigrationTaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTaskIntervalRetry"
|
||||
setMethod="setTaskIntervalRetry">
|
||||
<description><![CDATA[Interval in which 'retry migration' task is performed.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no retry should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no retry should be performed
|
||||
<br>NEVER = disable retry
|
||||
]]>
|
||||
</description>
|
||||
<name>RetryTaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTaskIntervalRemove"
|
||||
setMethod="setTaskIntervalRemove">
|
||||
<description><![CDATA[Interval in which 'remove source files' task is performed.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no 'remove source files' should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no 'remove source files' should be performed
|
||||
<br>NEVER = disable remove of source files
|
||||
]]>
|
||||
</description>
|
||||
<name>RemoveTaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isLastPksFirst"
|
||||
setMethod="setLastPksFirst">
|
||||
<description>Migrate newer files first.
|
||||
</description>
|
||||
<name>LastFilesFirst</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCreateNewTargetFilename"
|
||||
setMethod="setCreateNewTargetFilename">
|
||||
<description><![CDATA[Create new target filename. <br />
|
||||
Should be used if source filename is only a UID (e.g. Centera) and target filesystem is file based.
|
||||
]]></description>
|
||||
<name>CreateNewTargetFilename</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getOffsetForRemove">
|
||||
<description>Current DB offset for checking tar files for removal.
|
||||
</description>
|
||||
<name>OffsetForRemove</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getOffsetForRetry">
|
||||
<description>Current DB offset for retry MIGRATION_FAILED source files.
|
||||
</description>
|
||||
<name>OffsetForRetry</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getLimitNumberOfFilesPerMigrateTask"
|
||||
setMethod="setLimitNumberOfFilesPerMigrateTask">
|
||||
<description>Maximum number of tar files which are migrated in one run.
|
||||
</description>
|
||||
<name>NumberOfFilesPerMigrateTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getLimitNumberOfFilesPerRemoveTask"
|
||||
setMethod="setLimitNumberOfFilesPerRemoveTask">
|
||||
<description>Maximum number of tar files for which file entities are removed from source filesystem in one run.
|
||||
</description>
|
||||
<name>NumberOfFilesPerRemoveTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximum number of parallel migration tasks.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaxChunkSize"
|
||||
setMethod="setMaxChunkSize">
|
||||
<description>Maximum chunk size in MB to copy migration files. (limited by available heap memory)
|
||||
</description>
|
||||
<name>MaxChunkSize</name>
|
||||
<type>long</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isQueryRunning">
|
||||
<description>Current state if query to get migration tasks is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isQueryRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if migration task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isMigrationRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRemoveSourceRunning">
|
||||
<description>Current state if remove source files task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRemoveRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDHSMMigrate"
|
||||
setMethod="setTimerIDHSMMigrate">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDHSMMigrate</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDHSMRetry"
|
||||
setMethod="setTimerIDHSMRetry">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDHSMRetry</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDHSMRemove"
|
||||
setMethod="setTimerIDHSMRemove">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDHSMRemove</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getHSMModuleServicename"
|
||||
setMethod="setHSMModuleServicename">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>HSMModuleServicename</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Start a migration task.<br />
|
||||
Return number of migrated files or <br />
|
||||
-1 if migration is already running (Timer)<br />
|
||||
]]></description>
|
||||
<name>migrate</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Start a retry (retry source files with status MIGRATION_FAILED) task.<br />
|
||||
Return number of migrated files or <br />
|
||||
-1 if migration is already running (Timer)<br />
|
||||
]]></description>
|
||||
<name>retry</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Start Removing source file entities.<br />
|
||||
Return number of removed files or <br />
|
||||
-1 if it is already running <br />
|
||||
]]></description>
|
||||
<name>removeSourceFiles</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show current status of migration.</description>
|
||||
<name>showMigrationStatus</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
263
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-uri-module-xmbean.xml
Normal file
263
dcm4chee/default/conf/xmdesc/dcm4chee-hsm-uri-module-xmbean.xml
Normal file
@@ -0,0 +1,263 @@
|
||||
<?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>URI based HSM Module for File Copy Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.module.uri.HSMURIModule</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>HSMURIModule</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetentionTime"
|
||||
setMethod="setRetentionTime">
|
||||
<description><![CDATA[Time in y (years), M (month) or d (days) a modification / deletion of a file is not permitted.<br/>
|
||||
Use a leading '+' to set access time after the file is set ReadOnly. (default is before ;
|
||||
Please ensure that your filesystem/command allows setting access time when file is ReadOnly!) Set value to 0 to leave retention time as is.
|
||||
]]></description>
|
||||
<name>RetentionTime</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="3y"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
|
||||
<attribute access="read-write" getMethod="getDestinationFilePathFormat"
|
||||
setMethod="setDestinationFilePathFormat">
|
||||
<description><![CDATA[Destination file path, with 'yyyy' will be replaced by the current year, 'MM' by the current month, 'dd' by the current date, 'HH' by the current hour and 'mm' by the current minute.
|
||||
<br><code>NONE</code> = use default values (yyyy/M/d/HH) provided by system.
|
||||
]]>
|
||||
</description>
|
||||
<name>DestinationFilePathFormat</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getOutgoingDir"
|
||||
setMethod="setOutgoingDir">
|
||||
<description><![CDATA[Directory from which files/tarballs shall be copied
|
||||
by external <b>CopyCommand</b>. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>OutgoingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-outgoing" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getIncomingDir"
|
||||
setMethod="setIncomingDir">
|
||||
<description><![CDATA[Directory in which files/tarballs shall be retrieved
|
||||
by external <b>FetchCommand</b>. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>IncomingDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-incoming" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getStatusExtensions" setMethod="setStatusExtensions">
|
||||
<description><![CDATA[File extension to File Status mapping.<br/>
|
||||
Used in queryStatus to get actual status of a file.
|
||||
Enumerated status values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED<br/>
|
||||
Format: <extension>=<status><br/>
|
||||
A entry without <extension>= is used if no file with configured extension exists.
|
||||
This could also be set to NONE (do not change the file status).
|
||||
]]></description>
|
||||
<name>StatusExtensions</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
.archived=ARCHIVED
|
||||
NONE
|
||||
"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCheckCommand"
|
||||
setMethod="setCheckCommand">
|
||||
<description><![CDATA[External command to verify stored tar-files. Tar-file is retreived to local storage and CheckCommand is executed with tar-file as parameter. CheckCommand should exit with ZERO on succes and non-ZERO on failure. Set to <code>NONE</code> to check for existance (and filesize larger 0) only.]]>
|
||||
</description>
|
||||
<name>CheckCommand</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getFileStoredStatus"
|
||||
setMethod="setFileStoredStatus">
|
||||
<description>New file status, file is confirmed on URI.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED,
|
||||
QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>FileStoredStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getFileNotStoredStatus"
|
||||
setMethod="setFileNotStoredStatus">
|
||||
<description>New file status, file could not be confirmed on URI.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED,
|
||||
QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>FileNotStoredStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSshPrivateKeyFile"
|
||||
setMethod="setSshPrivateKeyFile">
|
||||
<description><![CDATA[Private-key-file for ssh key-based authentication. This only applies for ssh-URIs when password is not provided. (Example: <code>id_rsa</code>)
|
||||
]]>
|
||||
</description>
|
||||
<name>SshPrivateKeyFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getFileCopyServiceName"
|
||||
setMethod="setFileCopyServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>FileCopyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Prepare File for storage to HSM. Return File Object that is used in FileCopy Service.<br/>
|
||||
]]></description>
|
||||
<name>prepareHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Store given File to HSM. Return filename (fileID)</description>
|
||||
<name>storeHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called if FileCopy failed.</description>
|
||||
<name>failedHSMFile</name>
|
||||
<parameter>
|
||||
<description>File to store in HSM</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Fetch a File from HSM.</description>
|
||||
<name>fetchHSMFile</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Called from TarRetriever to finish Fetch of a File from
|
||||
HSM. (Cleanup temporary resources)</description>
|
||||
<name>fetchHSMFileFinished</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File object (returned from fetchHSMFile)</description>
|
||||
<name>file</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Query status of file in HSM.</description>
|
||||
<name>queryStatus</name>
|
||||
<parameter>
|
||||
<description>File system ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File path relative to file system (fsID)</description>
|
||||
<name>filePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>User info associated with the file system</description>
|
||||
<name>userInfo</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
142
dcm4chee/default/conf/xmdesc/dcm4chee-ianscp-xmbean.xml
Normal file
142
dcm4chee/default/conf/xmdesc/dcm4chee-ianscp-xmbean.xml
Normal file
@@ -0,0 +1,142 @@
|
||||
<?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>DICOM Instance Availability Notification SCP. Updates Instances
|
||||
Availability in DB records for instances only retrievable from external AE
|
||||
on receive of a DICOM Instance Availability Notification N-CREATE request.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.ianscp.IANScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>IANScpService</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="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="0"/>
|
||||
</descriptors>
|
||||
</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
|
||||
294
dcm4chee/default/conf/xmdesc/dcm4chee-ianscu-xmbean.xml
Normal file
294
dcm4chee/default/conf/xmdesc/dcm4chee-ianscu-xmbean.xml
Normal file
@@ -0,0 +1,294 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>IAN/SCN SCU Service. Used to notify DICOM peers about available instances for Instance Available Notifications and Study Content Notifications.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.ianscu.IANScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>IanScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getNotifiedAETs" setMethod="setNotifiedAETs">
|
||||
<description>List of AE titles of notified application entities, separated by \(backslash).
|
||||
NONE = do not notify any application entity.
|
||||
</description>
|
||||
<name>NotifiedAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="isEnabled" >
|
||||
<description>IAN Enabled? IAN SCU is enabled if NotifiedAETitles and/or Mpps2IanDestinationStylesheet not NONE</description>
|
||||
<name>isEnabled</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isNotifyOtherServices"
|
||||
setMethod="setNotifyOtherServices">
|
||||
<description><![CDATA[Enables notification of other services about the
|
||||
event, that all objects referenced in a MPPS COMPLETE message became
|
||||
available in the archive. Must be activated, if XDS-I auto-publishing
|
||||
feature is used.<br />
|
||||
Standard services which are notified: XDS-I, ExportManager, UPSFeed, GPWLFeed]]>
|
||||
</description>
|
||||
<name>NotifyOtherServices</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isSendOneIANforEachMPPS"
|
||||
setMethod="setSendOneIANforEachMPPS">
|
||||
<description>Send IAN not before having received the last instance of the
|
||||
instance set referenced in the MPPS. Otherwise send IAN already when
|
||||
receiving the last instance of a Series or when the association over
|
||||
which instances were received is closed by the sender.
|
||||
</description>
|
||||
<name>SendOneIANforEachMPPS</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isOnMppsLinkedEnabled"
|
||||
setMethod="setOnMppsLinkedEnabled">
|
||||
<description>Enable sending of IAN when MPPS was linked with MWL.
|
||||
</description>
|
||||
<name>OnMppsLinkedEnabled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AE title used in the Association Request.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description>Number and intervals of retries for failed
|
||||
Instance Available or Study Content Notification requests. <br>Format:
|
||||
<br>Comma separated list of <i>number</I> x <i>interval</I> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isOfferStudyContentNotification" setMethod="setOfferStudyContentNotification">
|
||||
<description>Offer Basic Study Content Notification Service - additionally
|
||||
to the Instance Available Notification Service - in the Association Request.
|
||||
</description>
|
||||
<name>OfferStudyContentNotification</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isPreferInstanceAvailableNotification" setMethod="setPreferInstanceAvailableNotification">
|
||||
<description>Prefer the use of the Instance Available Notification Service if
|
||||
the Instance Available Notification and Basic Study Content Notification
|
||||
Service is supported by the remote application entity.
|
||||
</description>
|
||||
<name>PreferInstanceAvailableNotification</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent sent notifications.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Stylesheet to get (additional) destinations from MPPS informations. <br />
|
||||
The output must contain a <destination aet="DEST" > element for each destination.
|
||||
Use NONE to disable this feature.<br />
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Mpps2IanDestinationStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getScnPriority" setMethod="setScnPriority">
|
||||
<description>Priority used in Basic Study Content Notification Requests.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>StudyContentNotificationPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRetrieveURI" setMethod="setRetrieveURI">
|
||||
<description>Retrieve URI of this system. This value will be added to IAN dataset in attribute (0040,E010).
|
||||
NONE = do not add Retrieve URI(0040,E010).
|
||||
</description>
|
||||
<name>RetrieveURI</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetrieveLocationUID" setMethod="setRetrieveLocationUID">
|
||||
<description>Retrieve Location UID of this system. This value will be added to IAN dataset in attribute (0040,E011).
|
||||
NONE = do not add Retrieve Location UID(0040,E011).
|
||||
</description>
|
||||
<name>RetrieveLocationUID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeleteStudyServiceName"
|
||||
setMethod="setDeleteStudyServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>DeleteStudyServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getContentEditServiceName"
|
||||
setMethod="setContentEditServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>ContentEditServiceName</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>schedule IAN for instances of specified study</description>
|
||||
<name>scheduleIANforStudy</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>schedule IAN for instances of specified series</description>
|
||||
<name>scheduleIANforSeries</name>
|
||||
<parameter>
|
||||
<description>Series Instance UID</description>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>schedule random IAN for testing</description>
|
||||
<name>scheduleRandomIAN</name>
|
||||
<parameter>
|
||||
<description>Retrieve AE Title of all referenced instances</description>
|
||||
<name>retrieveAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Availability (ONLINE, NEARLINE , OFFLINE or NOT AVAILABLE)
|
||||
of all referenced instances</description>
|
||||
<name>availability</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Number of referenced Series</description>
|
||||
<name>numSeries</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Number of referenced Instances per referenced Series</description>
|
||||
<name>numInstancesPerSeries</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Notify other services about IAN. (can be also called from web3 after link/unlink)</description>
|
||||
<name>notifyOtherServices</name>
|
||||
<parameter>
|
||||
<description>MPPS attributes</description>
|
||||
<name>mpps</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
100
dcm4chee/default/conf/xmdesc/dcm4chee-jms-xmbean.xml
Normal file
100
dcm4chee/default/conf/xmdesc/dcm4chee-jms-xmbean.xml
Normal file
@@ -0,0 +1,100 @@
|
||||
<?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[JMS Service used by other Services to register and
|
||||
unregister JMS Message Listeners on JMS Queues and to schedule JMS messages]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="Never"/>
|
||||
<!--persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/-->
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.JMSService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>JMSService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Register MessageListener on JMS Queue</description>
|
||||
<name>startListening</name>
|
||||
<parameter>
|
||||
<description>Queue Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Message Listner</description>
|
||||
<name>listener</name>
|
||||
<type>javax.jms.MessageListener</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Receiver count</description>
|
||||
<name>receiverCount</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Unregister MessageListener from JMS Queue</description>
|
||||
<name>stopListening</name>
|
||||
<parameter>
|
||||
<description>Queue Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Send Message to JMS Queue</description>
|
||||
<name>queue</name>
|
||||
<parameter>
|
||||
<description>Queue Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Message Object</description>
|
||||
<name>obj</name>
|
||||
<type>java.io.Serializable</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>JMS Priority</description>
|
||||
<name>priority</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Scheduled Delivery Time</description>
|
||||
<name>scheduledTime</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Indicate Message has exceeded maximum retry attempts</description>
|
||||
<name>fail</name>
|
||||
<parameter>
|
||||
<description>Originating Queue Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Message Object</description>
|
||||
<name>obj</name>
|
||||
<type>java.io.Serializable</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
142
dcm4chee/default/conf/xmdesc/dcm4chee-keyobject-xmbean.xml
Normal file
142
dcm4chee/default/conf/xmdesc/dcm4chee-keyobject-xmbean.xml
Normal file
@@ -0,0 +1,142 @@
|
||||
<?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[Service for generating Key Objects.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.KeyObjectService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>KeyObjectService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCompositeSopClassUIDs"
|
||||
setMethod="setCompositeSopClassUIDs">
|
||||
<description><![CDATA[List of composite SOP Classes. <br/>
|
||||
Instances with a Class UID of this list are marked with <i>Value Type</i> <b>COMPOSITE</b>. ]]>
|
||||
</description>
|
||||
<name>CompositeSopClassUIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getWaveformSopClassUIDs"
|
||||
setMethod="setWaveformSopClassUIDs">
|
||||
<description><![CDATA[List of Waveform SOP Classes. <br/>
|
||||
Instances with a Class UID of this list are marked with <i>Value Type</i> <b>WAVEFORM</b>. ]]>
|
||||
</description>
|
||||
<name>WaveformSopClassUIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileSystemGroupID"
|
||||
setMethod="setFileSystemGroupID">
|
||||
<description>ID of file system group, on which generated
|
||||
KeyObjects are stored by operation storeAndRegister().
|
||||
</description>
|
||||
<name>FileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE_STORAGE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Creates a KeyObject Dataset for given list of Instance UIDs.</description>
|
||||
<name>getKeyObject</name>
|
||||
<parameter>
|
||||
<description>List of SOP Instance UIDs separated with ',' or '|'</description>
|
||||
<name>iuids</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Creates a KeyObject Dataset for given list of Instance UIDs.</description>
|
||||
<name>getKeyObject</name>
|
||||
<parameter>
|
||||
<description>List of SOP Instance UIDs</description>
|
||||
<name>iuids</name>
|
||||
<type>java.util.Collection</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Dataset with Attributes of Key object root node. (e.g. Concept Name Code Sequence for title)</description>
|
||||
<name>rootInfo</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of Items for Content Sequence</description>
|
||||
<name>contentItems</name>
|
||||
<type>java.util.Collection</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Creates a KeyObject Dataset for given Study.</description>
|
||||
<name>getKeyObject</name>
|
||||
<parameter>
|
||||
<description>Primary key of Study</description>
|
||||
<name>studyPk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Creates a KeyObject Dataset for given Study.</description>
|
||||
<name>getKeyObject</name>
|
||||
<parameter>
|
||||
<description>Primary key of Study</description>
|
||||
<name>studyPk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Dataset with Attributes of Key object root node. (e.g. Concept Name Code Sequence for title)</description>
|
||||
<name>rootInfo</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of Items for Content Sequence</description>
|
||||
<name>contentItems</name>
|
||||
<type>java.util.Collection</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4che.data.Dataset</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Stores a KeyObject and registers it in the database.</description>
|
||||
<name>storeAndRegister</name>
|
||||
<parameter>
|
||||
<description>The KeyObject</description>
|
||||
<name>dataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
@@ -0,0 +1,352 @@
|
||||
<?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[
|
||||
Lossy Compression Service. The Lossy Compression Service supports delayed,
|
||||
JPEG Lossy compression of received images.
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.LossyCompressionService</class>
|
||||
|
||||
<constructor>
|
||||
|
||||
<description>The default constructor</description>
|
||||
<name>LossyCompressionService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getSourceFileSystemGroupID"
|
||||
setMethod="setSourceFileSystemGroupID">
|
||||
<description><![CDATA[Group ID of file systems which are scanned
|
||||
for image files to compress in configured <b>TaskInterval</b>.]]>
|
||||
</description>
|
||||
<name>SourceFileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDestinationFileSystemGroupID"
|
||||
setMethod="setDestinationFileSystemGroupID">
|
||||
<description><![CDATA[Group ID of writable file systems to which lossy
|
||||
compressed images are stored.]]>
|
||||
</description>
|
||||
<name>DestinationFileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="LOSSY_STORAGE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTaskInterval"
|
||||
setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which the database is checked for image
|
||||
files located on file systems of the configured
|
||||
<b>SourceFileSystemGroupID</b> to compress.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no compression should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no compression should be performed
|
||||
<br>NEVER = disable automatic compression
|
||||
<br>Example:10s!9-17 means every 10 seconds, poll the database and check
|
||||
for images to compress, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can ensure compression of
|
||||
images happens outside of peak imaging hours.]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if compression task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfFilesPerTask"
|
||||
setMethod="setLimitNumberOfFilesPerTask">
|
||||
<description>Maximum number of files that are compressed in
|
||||
one task.</description>
|
||||
<name>LimitNumberOfFilesPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCompressionRules"
|
||||
setMethod="setCompressionRules">
|
||||
<description><![CDATA[Specifies compression rules for particular SOP Class, Body Part Examined, Source AE Title.
|
||||
<br>
|
||||
<br>Format: <i>sop-class-name-or-uid</i>:<i>body-part</i>:<i>source-aet</i>:<i>delay</i>:<i>quality</i>:<i>description</i>:<i>ratio</i>:<i>near</i>
|
||||
<br>
|
||||
<br><i>sop-class-name-or-uid</i> = the UID of the SOP class, or a string name defined in the dictionary.xml file under uids type="SOPClass"
|
||||
<br>
|
||||
<br><i>body-part</i> = Body Part Examined or '*'
|
||||
<br>
|
||||
<br><i>source-aet</i> = Source AE Title
|
||||
<br>
|
||||
<br><i>delay</i> = compression delay in minutes (##m), hours (##h) or days (##d)
|
||||
<br>
|
||||
<br><i>quality</i> = compression quality between 0 (= lowest image quality / highest compression ratio) and 1.0 (= highest quality / lowest compression ratio)
|
||||
<br>
|
||||
<br><i>description</i> = description stored in attribute <i>Derivation Description (0008,2111)</i> of compressed DICOM image
|
||||
<br>
|
||||
<br><i>ratio</i> = estimated compression ratio stored in attribute <i>Lossy Image Compression Ratio (0028,2112)</i> of compressed DICOM image
|
||||
<br>
|
||||
<br><i>near</i> = maximal absolute derivation of pixel sample values by lossy compression+decompression. -1 = disables validation of compressed images
|
||||
]]>
|
||||
</description>
|
||||
<name>CompressionRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="
|
||||
ComputedRadiographyImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
DigitalXRayImageStorageForPresentation:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
DigitalXRayImageStorageForProcessing:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
DigitalMammographyXRayImageStorageForPresentation:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
DigitalMammographyXRayImageStorageForProcessing:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
CTImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
MRImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
UltrasoundImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
UltrasoundMultiframeImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
UltrasoundImageStorageRetired:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
UltrasoundMultiframeImageStorageRetired:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
SecondaryCaptureImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
XRayAngiographicImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
XRayRadiofluoroscopicImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
NuclearMedicineImageStorage:*:MOD_AET:5d:0.75:JPEG Lossy Compression with quality=0.75:5.0:64;
|
||||
" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getExternalRetrieveAET"
|
||||
setMethod="setExternalRetrieveAET">
|
||||
<description><![CDATA[Constrains lossy compression to objects which are
|
||||
external retrievable from specified Application Entity.
|
||||
<br>'-' = no such constrain.]]>
|
||||
</description>
|
||||
<name>ExternalRetrieveAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCopyOnFSGroupID"
|
||||
setMethod="setCopyOnFSGroupID">
|
||||
<description><![CDATA[Constrains lossy compression to objects for which
|
||||
there is a copy available on a file system of the specified file system
|
||||
group. Only effective if <b>ExternalRetrieveAETitle</b> = '-'.
|
||||
<br>'-' = no such constrain.]]>
|
||||
</description>
|
||||
<name>CopyOnOtherFileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSourceAET"
|
||||
setMethod="setSourceAET">
|
||||
<description><![CDATA[Source AE Title used by operation
|
||||
<b>compressSeriesJPEGLossy</b> for new created Series.]]>
|
||||
</description>
|
||||
<name>SourceAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSeriesDescription"
|
||||
setMethod="setSeriesDescription">
|
||||
<description><![CDATA[Series Description used by operation
|
||||
<b>compressSeriesJPEGLossy</b> for new created Series. '{}' will
|
||||
be replaced by Series Description of uncompressed objects.]]>
|
||||
</description>
|
||||
<name>SeriesDescription</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="JPEG Lossy compressed {}" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of write byte buffer. </description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTempDir"
|
||||
setMethod="setTempDir">
|
||||
<description><![CDATA[Directory to spool decompressed already lossless
|
||||
compressed files for its lossy compression. Relative path names are
|
||||
resolved relative to $ABPACS_HOME/server/default/.]]>
|
||||
</description>
|
||||
<name>TempDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tmp" />
|
||||
</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getTimerIDCheckFilesToCompress"
|
||||
setMethod="setTimerIDCheckFilesToCompress">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerIDCheckFilesToCompress</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Compress specified file JPEG Lossy with specified quality.
|
||||
Prompts Compression Ratio, measured on file length and on bits per pixel.
|
||||
</description>
|
||||
<name>compressFileJPEGLossy</name>
|
||||
<parameter>
|
||||
<name>inFilePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>outFilePath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>compressionQuality</name>
|
||||
<type>float</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>derivationDescription</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>estimatedCompressionRatio</name>
|
||||
<type>float</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>newSOPInstanceUID</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>newSeriesInstanceUID</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Compress specified Series located on file systems of
|
||||
the configured <b>SourceFileSystemGroupID</b> JPEG Lossy with specified
|
||||
quality. Prompts number of compressed images and minimum/average/maximum
|
||||
Compression Ratio, measured on file length and on bits per pixel. If
|
||||
decompress = True, also prompts minimum/average/maximum of maximal absolute
|
||||
derivation of pixel sample values in decompressed images.]]>
|
||||
</description>
|
||||
<name>compressSeriesJPEGLossy</name>
|
||||
<parameter>
|
||||
<description>Series Instance UID of Series to compress</description>
|
||||
<name>seriesIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Compression quality in the range 0.0 - 1.0.</description>
|
||||
<name>compressionQuality</name>
|
||||
<type>float</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Description stored in Derivation Description (0008,2111) of
|
||||
compressed images.</description>
|
||||
<name>derivationDescription</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Estimated Compression Ratio stored in Lossy Image
|
||||
Compression Ratio (0028,2112) of compressed images.</description>
|
||||
<name>estimatedCompressionRatio</name>
|
||||
<type>float</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Decompress lossy compressed images and calculate maximal
|
||||
absolute derivation of pixel sample values.</description>
|
||||
<name>decompress</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Archive lossy compressed image as additional Series of the
|
||||
same Study.</description>
|
||||
<name>archive</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Checked for image files located on file systems of
|
||||
the configured <b>SourceFileSystemGroupID</b> to compress according the
|
||||
configured <b>CompressionRules</b>.]]>
|
||||
</description>
|
||||
<name>checkForFilesToCompress</name>
|
||||
</operation>
|
||||
</mbean>
|
||||
366
dcm4chee/default/conf/xmdesc/dcm4chee-mcmscu-xmbean.xml
Normal file
366
dcm4chee/default/conf/xmdesc/dcm4chee-mcmscu-xmbean.xml
Normal file
@@ -0,0 +1,366 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Media Creation Management SCU. Used to where and how media are created, including the automatic creation of media.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mcmscu.MCMScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MCMScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>The calling AE title.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRetrieveAET" setMethod="setRetrieveAET">
|
||||
<description>The retrieve AE title for the move.
|
||||
</description>
|
||||
<name>RetrieveAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMoveDestinationAET" setMethod="setMoveDestinationAET">
|
||||
<description>The move destination AE title.
|
||||
</description>
|
||||
<name>MoveDestinationAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="CDRECORD"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMcmScpAET" setMethod="setMcmScpAET">
|
||||
<description>The Media Creation Management SCP AE Title.
|
||||
</description>
|
||||
<name>McmScpAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="CDRECORD"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent invoked Media Creation Requests.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFileSetIdPrefix" setMethod="setFileSetIdPrefix">
|
||||
<description>Prefix to be added the burn files for the file set ID.
|
||||
</description>
|
||||
<name>FileSetIdPrefix</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DISK_"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getNrOfCopies" setMethod="setNrOfCopies">
|
||||
<description>Number of copies to create, from 1-99.
|
||||
</description>
|
||||
<name>NumberOfCopies</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxMediaUsage" setMethod="setMaxMediaUsage">
|
||||
<description>Maximum media usage for DICOM files. This values is usually
|
||||
smaller than the real media size to keep space for index and optional html
|
||||
files. 1MB = 1000000 Byte, 1GB = 1000MB
|
||||
</description>
|
||||
<name>MaxMediaUsage</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="600MB"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinStudyAge" setMethod="setMinStudyAge">
|
||||
<description>The minimum duration before studies are
|
||||
scheduled for offline storage. Increasing the delay for scheduling
|
||||
ensures that all instances of a study are available, and will be stored on a single piece of media.
|
||||
<br>Format: <br>##h (in hours), ##d (in days), ##w (in weeks)</description>
|
||||
<name>MinStudyAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="2d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxStudyAge" setMethod="setMaxStudyAge">
|
||||
<description>The maximum duration before studies are archived on
|
||||
media. Only effective, if media creation is triggered automatically
|
||||
if the <b>BurnMediaInterval</b> attribute is enabled.
|
||||
<br>Format: <br>##h (in hours), ##d (in days), ##w (in weeks)</description>
|
||||
<name>MaxStudyAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="4w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getScheduleMediaInterval" setMethod="setScheduleMediaInterval">
|
||||
<description>Interval in which studies received thatare older than the configured
|
||||
MinStudyAge are associated to media and scheduled for creation.
|
||||
<br>Format: <br>##m (in minutes), ##h (in hours), ##d (in days) <br>NEVER = disable media scheduling
|
||||
</description>
|
||||
<name>ScheduleMediaInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningScheduleMedia">
|
||||
<description>Current state if ScheduleMedia task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningScheduleMedia</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getUpdateMediaStatusInterval" setMethod="setUpdateMediaStatusInterval">
|
||||
<description>Interval in which the Media Creation Server is queried for the status
|
||||
of pending Media Creation Requests.
|
||||
<br>Format: <br>##s (in seconds), ##m (in minutes), ##h (in hours)
|
||||
<br>NEVER = disable query of Media Creation Server</description>
|
||||
<name>UpdateMediaStatusInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningUpdateMediaStatus">
|
||||
<description>Current state if UpdateMediaStatus task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningUpdateMediaStatus</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getBurnMediaInterval" setMethod="setBurnMediaInterval">
|
||||
<description>Interval in which creation of media with studies
|
||||
received that are older than configured MaxStudyAge is triggered
|
||||
automatically. <br>Format: <br>##h (in hours), ##d (in days), ##w (in weeks) <br>NEVER = no automatic trigger of media creation
|
||||
</description>
|
||||
<name>BurnMediaInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunningBurnMedia">
|
||||
<description>Current state if BurnMedia task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunningBurnMedia</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isAutomaticMediaCreation" setMethod="setAutomaticMediaCreation">
|
||||
<description>Enables automatic media creation.
|
||||
If automatic media creation is disabled, a notification is sent to the email list
|
||||
defined in the <b>NotifyBurnMediaEmailTo</b> attribute.
|
||||
</description>
|
||||
<name>AutomaticMediaCreation</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getNotifyBurnMediaEmailTo" setMethod="setNotifyBurnMediaEmailTo">
|
||||
<description>List of comma-separated email addresses that should be notified when one or more media are ready to burn.
|
||||
</description>
|
||||
<name>NotifyBurnMediaEmailTo</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getNotifyBurnMediaEmailFrom" setMethod="setNotifyBurnMediaEmailFrom">
|
||||
<description>Email address that is used as the from address in the notification email.
|
||||
</description>
|
||||
<name>NotifyBurnMediaEmailFrom</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority for move and media creation request.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getIncludeNonDICOMObj" setMethod="setIncludeNonDICOMObj">
|
||||
<description>The type of none DICOM information or object that the SCP should include in the media.
|
||||
Use NO if no additional information or objects should be included.
|
||||
</description>
|
||||
<name>IncludeNonDicomObj</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MD5_SUMS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isUseInstanceInfo" setMethod="setUseInstanceInfo">
|
||||
<description>Specifies whether to extract label information from the instances.
|
||||
</description>
|
||||
<name>UseInstanceInfo</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckForMediaToBurn"
|
||||
setMethod="setTimerIDCheckForMediaToBurn">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckForMediaToBurn</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckForStudiesToSchedule"
|
||||
setMethod="setTimerIDCheckForStudiesToSchedule">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckForStudiesToSchedule</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckMediaStatus"
|
||||
setMethod="setTimerIDCheckMediaStatus">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckMediaStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
</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="getSendmailServiceName"
|
||||
setMethod="setSendmailServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>SendmailServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getJmsServiceName"
|
||||
setMethod="setJmsServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>JMSServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Check the availability of the Media Creation Managment SCP. Returns OK, MOVE_DEST_UNAVAIL (move destination unavailable) or MCM_SCP_UNAVAIL (Media Creation Management SCP unavailable).
|
||||
</description>
|
||||
<name>checkMcmScpAvail</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Initiate creation of media with studies received older than MinStudyAge</description>
|
||||
<name>scheduleMedia</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Update media status</description>
|
||||
<name>updateMediaStatus</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Initiate creation of media with studies received older than MaxStudyAge.
|
||||
</description>
|
||||
<name>burnMedia</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Delete media.
|
||||
</description>
|
||||
<name>deleteMedia</name>
|
||||
<parameter>
|
||||
<description>Primary key of media</description>
|
||||
<name>mediaPk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Check if all instances of medium are available as files.
|
||||
</description>
|
||||
<name>checkMediaInstances</name>
|
||||
<parameter>
|
||||
<description>Primary key of media</description>
|
||||
<name>mediaPk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Media Creation. Used by WEB application</description>
|
||||
<name>scheduleMediaCreation</name>
|
||||
<parameter>
|
||||
<description>Media DTO</description>
|
||||
<name>mediaDTO</name>
|
||||
<type>org.dcm4chex.archive.ejb.interfaces.MediaDTO</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
112
dcm4chee/default/conf/xmdesc/dcm4chee-md5check-xmbean.xml
Normal file
112
dcm4chee/default/conf/xmdesc/dcm4chee-md5check-xmbean.xml
Normal file
@@ -0,0 +1,112 @@
|
||||
<?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>MD5 Check Service. Used to check 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>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.MD5CheckService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MD5CheckService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getTaskInterval"
|
||||
setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which the File sum is checked for local files.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no MD5 check should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no MD5 check should be performed
|
||||
<br>NEVER = disable MD5 checking<br>Example:<br>10s!9-17 means every 10 seconds,
|
||||
check the MD5 sum of local files, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can perform MD5 checks outside of peak hours.
|
||||
]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if MD5check task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxCheckedBefore" setMethod="setMaxCheckedBefore">
|
||||
<description>Maximum amount of time from last check, in
|
||||
##w (in weeks), ##d (in days), ##h (in hours).</description>
|
||||
<name>MaxCheckedBefore</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfFilesPerTask" setMethod="setLimitNumberOfFilesPerTask">
|
||||
<description>Maximum number of files that are checked in one task.
|
||||
</description>
|
||||
<name>NumberOfFilesPerCheck</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of read byte buffer.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckMD5"
|
||||
setMethod="setTimerIDCheckMD5">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckMD5</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Check the MD5 sum of files.</description>
|
||||
<name>check</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
<?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[<b>Audit Record Repository 2.x Migration Service</b>.
|
||||
Used to re-emit audit messages received by dcm4chee-arr-2.x to another
|
||||
- in particular to dcm4chee-arr-3.x - <i>Audit Record Repository</i>.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>
|
||||
org.dcm4chex.archive.mbean.MigrateOldAuditRecordRepositoryService
|
||||
</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MigrateOldAuditRecordRepositoryService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getRecordsByPass"
|
||||
setMethod="setRecordsByPass">
|
||||
<description><![CDATA[Number of Audit Records fetched from the database and
|
||||
emitted in one pass.]]>
|
||||
</description>
|
||||
<name>RecordsByPass</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getEmissionInterval"
|
||||
setMethod="setEmissionInterval">
|
||||
<description><![CDATA[Delay in ms between emission of Audit Records.]]>
|
||||
</description>
|
||||
<name>EmissionInterval</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLastEmittedPk"
|
||||
setMethod="setLastEmittedPk">
|
||||
<description><![CDATA[Primary Key of last successfully emitted Audit
|
||||
Records by former invocation of <i>emitAuditRecords()</i>.]]>
|
||||
</description>
|
||||
<name>LastEmittedPk</name>
|
||||
<type>long</type>
|
||||
<descriptors>
|
||||
<value value="-1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Emit specified number of Audit Records in order
|
||||
of their primary keys, starting with the Audit Record which primary key
|
||||
exceeds <i>LastEmittedPk</i>.]]></description>
|
||||
<name>emitAuditRecords</name>
|
||||
<parameter>
|
||||
<description>Maximal number of Audit Records to emit</description>
|
||||
<name>num</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
232
dcm4chee/default/conf/xmdesc/dcm4chee-movescu-xmbean.xml
Normal file
232
dcm4chee/default/conf/xmdesc/dcm4chee-movescu-xmbean.xml
Normal file
@@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Move SCU Service to process move orders. Invokes DICOM
|
||||
Retrieve requests, typically from the archive's own DICOM
|
||||
Query/Retrieve Service (SCP).</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.movescu.MoveScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MoveSCUService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write"
|
||||
getMethod="getCallingAET"
|
||||
setMethod="setCallingAET">
|
||||
<description>Calling AE title of the Move SCU.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAET"
|
||||
setMethod="setCalledAET">
|
||||
<description>AE title of the default Move SCP. Only effective, if a
|
||||
Move order does not specify a Retrieve AE title or the ForceCalledAET
|
||||
flag is set to true.
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isForceCalledAET"
|
||||
setMethod="setForceCalledAET">
|
||||
<description><![CDATA[Specifies whether to ALWAYS use the Called AET
|
||||
defined in the Move SCU. If false, the Retrieve AET of the move
|
||||
order, if specified, will be used.]]>
|
||||
</description>
|
||||
<name>ForceCalledAET</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries made for failed
|
||||
Move Requests.
|
||||
<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="5x1m,12x5m,24x1h,7x1d" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent invoked Move Requests.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Retrieve</description>
|
||||
<name>scheduleMove</name>
|
||||
<parameter>
|
||||
<description>Retrieve AE Title</description>
|
||||
<name>retrieveAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Move Destination</description>
|
||||
<name>destAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>DICOM Priority (0 = MEDIUM, 1 = HIGH, 2 = LOW)</description>
|
||||
<name>priority</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>studyIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Series Instance UID</description>
|
||||
<name>seriesIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UIDs</description>
|
||||
<name>sopIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Scheduled Time in ms from 1970-01-01 00:00</description>
|
||||
<name>scheduledTime</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Retrieve</description>
|
||||
<name>scheduleMove</name>
|
||||
<parameter>
|
||||
<description>Retrieve AE Title</description>
|
||||
<name>retrieveAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Move Destination</description>
|
||||
<name>destAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>DICOM Priority (0 = MEDIUM, 1 = HIGH, 2 = LOW)</description>
|
||||
<name>priority</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Study Instance UIDs</description>
|
||||
<name>studyIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Series Instance UIDs</description>
|
||||
<name>seriesIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UIDs</description>
|
||||
<name>sopIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Scheduled Time in ms from 1970-01-01 00:00</description>
|
||||
<name>scheduledTime</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Retrieve</description>
|
||||
<name>scheduleMoveOrder</name>
|
||||
<parameter>
|
||||
<description>SCU Move Order</description>
|
||||
<name>order</name>
|
||||
<type>org.dcm4chex.archive.dcm.movescu.MoveOrder</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Scheduled Time in ms from 1970-01-01 00:00</description>
|
||||
<name>scheduledTime</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
243
dcm4chee/default/conf/xmdesc/dcm4chee-mpps2orm-xmbean.xml
Normal file
243
dcm4chee/default/conf/xmdesc/dcm4chee-mpps2orm-xmbean.xml
Normal file
@@ -0,0 +1,243 @@
|
||||
<?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 MPPS to HL7 ORM converter. Converts DICOM Modality
|
||||
Performed Procedure Step received by MPPS SCP Service into HL7 ORM message
|
||||
sent to any HL7 receiver by utilizing the HL7 Send Service.<br/>
|
||||
This service can be used with RIS systems that cannot handle MPPS messages.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.MPPS2ORMService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MPPS2ORMService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="isMPPSReceivedEnabled" setMethod="setMPPSReceivedEnabled">
|
||||
<description>Enable/disable this service for MPPS Received Notifications</description>
|
||||
<name>MPPSReceivedEnabled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getReceivingApplication" setMethod="setReceivingApplication">
|
||||
<description>Identifies the Receiving Application in HL7 messages that are directed to
|
||||
the HL7 Send Service. The values in the ReceivingApplication attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Receiving Application encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the matching Forwarding rule(s)
|
||||
of the HL7 Send Service and will usually differ from the value of the ReceivingApplication
|
||||
attribute of this service.</description>
|
||||
<name>ReceivingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getReceivingFacility" setMethod="setReceivingFacility">
|
||||
<description>Identifies the Receiving Facility in HL7 messages that are directed to
|
||||
the HL7 Send Service. The values in the ReceivingFacility attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Receiving Facility encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the matching Forwarding rule(s)
|
||||
of the HL7 Send Service and will usually differ from the value of the ReceivingFacility
|
||||
attribute of this service.</description> <name>ReceivingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSendingApplication" setMethod="setSendingApplication">
|
||||
<description>Identifies the Sending Application in HL7 messages that are directed to
|
||||
the HL7 Send Service. The values in the SendingApplication attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Sending Application encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the SendingApplication attribute
|
||||
of the HL7 Send Service and may differ from the value of the SendingApplication
|
||||
attribute of this service.</description>
|
||||
<name>SendingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSendingFacility" setMethod="setSendingFacility">
|
||||
<description>Identifies the Sending Facility in HL7 messages that are directed to
|
||||
the HL7 Send Service. The values in the SendingFacility attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Sending Facility encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the SendingFacility attribute
|
||||
of the HL7 Send Service and may differ from the value of the SendingFacility
|
||||
attribute of this service.</description>
|
||||
<name>SendingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isMPPSLinkedEnabled" setMethod="setMPPSLinkedEnabled">
|
||||
<description>Enable/disable this service for MPPS Linked Notifications.
|
||||
MPPS Linked Notification is intended to provide ORM message notification
|
||||
after manually linking an MPPS entry in dcm4chee-web with it's
|
||||
corresponding MWL entry.</description>
|
||||
<name>MPPSLinkedEnabled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLinkedReceivingApplication" setMethod="setLinkedReceivingApplication">
|
||||
<description>Identifies the Receiving Application in HL7 messages for MPPS Linked Notification that are directed to
|
||||
the HL7 Send Service. The values in the ReceivingApplication attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Receiving Application encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the matching Forwarding rule(s)
|
||||
of the HL7 Send Service and will usually differ from the value of the ReceivingApplication
|
||||
attribute of this service.</description>
|
||||
<name>LinkedReceivingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLinkedReceivingFacility" setMethod="setLinkedReceivingFacility">
|
||||
<description>Identifies the Receiving Facility in HL7 messages for MPPS Linked Notification that are directed to
|
||||
the HL7 Send Service. The values in the ReceivingFacility attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Receiving Facility encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the matching Forwarding rule(s)
|
||||
of the HL7 Send Service and will usually differ from the value of the ReceivingFacility
|
||||
attribute of this service.</description>
|
||||
<name>LinkedReceivingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLinkedSendingApplication" setMethod="setLinkedSendingApplication">
|
||||
<description>Identifies the Sending Application in HL7 messages for MPPS Linked Notification that are directed to
|
||||
the HL7 Send Service. The values in the SendingApplication attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Sending Application encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the SendingApplication attribute
|
||||
of the HL7 Send Service and may differ from the value of the SendingApplication
|
||||
attribute of this service.</description>
|
||||
<name>LinkedSendingApplication</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getLinkedSendingFacility" setMethod="setLinkedSendingFacility">
|
||||
<description>Identifies the Sending Facility in HL7 messages for MPPS Linked Notification that are directed to
|
||||
the HL7 Send Service. The values in the SendingFacility attribute may be used to
|
||||
configure specific forwarding rules for generated messages by this service in
|
||||
the HL7 Send Service. NOTE: The Sending Facility encoded in the HL7 message
|
||||
finally sent by the HL7 Send Service is defined by the SendingFacility attribute
|
||||
of the HL7 Send Service and may differ from the value of the SendingFacility
|
||||
attribute of this service.</description>
|
||||
<name>LinkedSendingFacility</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isIgnoreUnscheduled" setMethod="setIgnoreUnscheduled">
|
||||
<description>Suppress generation of HL7 ORM messages for received MPPS which does not reference
|
||||
any Scheduled Procedure Step. Otherwise, generates ORM messages with empty Placer/Filler Order Number
|
||||
for received MPPS without Scheduled Procedure Step reference.
|
||||
</description>
|
||||
<name>IgnoreUnscheduled</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isIgnoreInProgress" setMethod="setIgnoreInProgress">
|
||||
<description>Generates HL7 ORM messages for received MPPS with status COMPLETED or
|
||||
DISCONTINUED, but does not generate HL7 ORM messages for received MPPS with status IN PROGRESS.
|
||||
Otherwise, generates ORM messages also for received MPPS with status IN PROGRESS.
|
||||
</description>
|
||||
<name>IgnoreInProgress</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isOneORMperSPS" setMethod="setOneORMperSPS">
|
||||
<description>Generates one HL7 ORM message for each referenced Scheduled Procedure Step in the
|
||||
received MPPS. Therefore, if one MPPS references several Scheduled Procedure Steps, several HL7 ORM
|
||||
messages will be generated. Otherwise, only one HL7 ORM message per received MPPS will be generated.
|
||||
</description>
|
||||
<name>OneORMperSPS</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isLogXSLT" setMethod="setLogXSLT">
|
||||
<description><![CDATA[Activates logging of input (= XML Presentation of
|
||||
DICOM MPPS object) and output (= XML representation of HL7 ORM^O01 message)
|
||||
of XSLT into files (mpps-<uid>.xml and mpps-<uid>.orm.xml) in log directory.]]>
|
||||
</description>
|
||||
<name>LogXSLT</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Stylesheet for DICOM MPPS to HL7 ORM^O01 mapping.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7/mpps2orm.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHl7SendServiceName"
|
||||
setMethod="setHl7SendServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>Hl7SendServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
137
dcm4chee/default/conf/xmdesc/dcm4chee-mppsemulator-xmbean.xml
Normal file
137
dcm4chee/default/conf/xmdesc/dcm4chee-mppsemulator-xmbean.xml
Normal file
@@ -0,0 +1,137 @@
|
||||
<?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>MPPS Emulator. Use to emulate the generation of MPPS messages for the defined AE titles.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mppsscu.MPPSEmulatorService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MPPSEmulatorService</name>
|
||||
</constructor>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getModalityAETitles"
|
||||
setMethod="setModalityAETitles">
|
||||
<description><![CDATA[AE titles of modalities for which MPPS messages
|
||||
shall be emulated. Multiple AE titles are separated by new line.]]>
|
||||
</description>
|
||||
<name>ModalityAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MOD_AET"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDelay"
|
||||
setMethod="setDelay">
|
||||
<description><![CDATA[Minimum delay time specified in seconds (##s) or minutes (##m)
|
||||
between the time the last object of the a study is received and the generation of the MPPS
|
||||
message can be explicit specified.
|
||||
<br>Sample: 3m]]>
|
||||
</description>
|
||||
<name>MPPSDelay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5m"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPollInterval" setMethod="setPollInterval">
|
||||
<description><![CDATA[Interval for polling for newly received series from
|
||||
modalities you configured in the <b>ModalityAETitles</b> attribute.
|
||||
The interval can be specified in seconds (##s) or minutes (##m).
|
||||
NEVER = disable MPPS emulation.]]>
|
||||
</description>
|
||||
<name>PollInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description>AE title of the MPPS SCP, to which the emulated MPPS messages shall be sent.
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isIgnoreReqAttrIfNoStudyAccNo" setMethod="setIgnoreReqAttrIfNoStudyAccNo">
|
||||
<description><![CDATA[Ignore Request Attribute Sequence if study has no Accession Number.<br/>
|
||||
This will force an unscheduled MPPS and should only be used when the Request Attribute Sequence wrongly contains request attributes!<br/>
|
||||
]]></description>
|
||||
<name>IgnoreReqAttrIfNoStudyAccNo</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if a MPPS emulation task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckSeriesWithoutMPPS"
|
||||
setMethod="setTimerIDCheckSeriesWithoutMPPS">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckSeriesWithoutMPPS</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScuServiceName"
|
||||
setMethod="setMppsScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MppsScuServiceName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Emulate MPPS messages for newly received series from the stations
|
||||
or modalities specified by the <b>ModalityAETitles</b> attribute. Returns the number of
|
||||
successfully created MPPS instances at the MPPS SCP that you specified with the <b>CalledAETitle</b> property.]]>
|
||||
</description>
|
||||
<name>emulateMPPS</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Emulate MPPS messages for a specific study with given Study Pk.]]>
|
||||
</description>
|
||||
<name>emulateMPPS</name>
|
||||
<parameter>
|
||||
<description>Study Primary Key.</description>
|
||||
<name>studyPk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
432
dcm4chee/default/conf/xmdesc/dcm4chee-mppsscp-xmbean.xml
Normal file
432
dcm4chee/default/conf/xmdesc/dcm4chee-mppsscp-xmbean.xml
Normal file
@@ -0,0 +1,432 @@
|
||||
<?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>DICOM Modality Performed Procedure Step SCP. Used to the calling and called AE titles for receiving MPPS messages.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mppsscp.MPPSScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MPPSScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<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="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 MPPS N-CREATE
|
||||
message contains no patient ID.
|
||||
<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 MPPS SCP (=Called) AE by
|
||||
its AE configuration entry. If no <i>Issuer of Patient ID</i> is configured for
|
||||
the MPPS 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
|
||||
MPPS 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 MPPS 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
|
||||
MPPS 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 MPPS N-CREATE message containing
|
||||
<i>Scheduled Step Attributes Sequence</i> items with a non-empty <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 MPPS 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="isSupplementByHostName"
|
||||
setMethod="setSupplementByHostName">
|
||||
<description><![CDATA[If there is no <i>Issuer of Patient ID</i> or
|
||||
<i>Issuer of Accession Number</i> associated to the MPPS 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 MPPS SCU AE will be considered to
|
||||
determine the associated <i>Issuer of Patient ID</i> or <i>Issuer of Accession
|
||||
Number</i>. If there are several AE configuration entries with matching host
|
||||
name with different non-zero values for <i>Issuer of Patient ID</i> or
|
||||
<i>Issuer of Accession Number</i>, no <i>Issuer of Patient ID</i> or
|
||||
<i>Issuer of Accession Number</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> or
|
||||
<i>Issuer of Accession Number</i> associated to the MPPS 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 MPPS SCU AE will be considered to
|
||||
determine the associated <i>Issuer of Patient ID</i> or <i>Issuer of Accession
|
||||
Number</i>. If there are several AE configuration entries with matching host
|
||||
name with different non-zero values for <i>Issuer of Patient ID</i> or
|
||||
<i>Issuer of Accession Number</i>, no <i>Issuer of Patient ID</i> or
|
||||
<i>Issuer of Accession Number</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 MPPS SCUs for which the
|
||||
Patient ID in received MPPS N-CREATE request 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 MPPS N-CREATE
|
||||
requests without Scheduled Procedure Step reference received from
|
||||
<b>any</b> MPPS SCUs, <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 MPPS N-CREATE request from
|
||||
any MPPS 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 received
|
||||
MPPS 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 MPPS
|
||||
N-CREATE request. Attribute names without question marks specifies, that DICOM
|
||||
MPPS 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 MPPS 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 MPPS N-CREATE request *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause MPPS 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="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="getCoerceConfigDir"
|
||||
setMethod="setCoerceConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for attribute
|
||||
coercion are located: if XSL stylesheet "mpps-ncreaterq.xsl" or
|
||||
"mpps-nsetrq.xsl" exists in this directory or in a sub-directory equal
|
||||
to the AE Title of a MPPS SCU, attributes of MPPS N-CREATE or MPPS N-SET
|
||||
requests 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="getAddMwlAttrsToMppsXsl"
|
||||
setMethod="setAddMwlAttrsToMppsXsl">
|
||||
<description><![CDATA[ Stylesheet to add MWL Attributes to MPPS Dataset for 'MPPS Linked' notification.<br/>
|
||||
This allow the use of additional MWL attributes to create ORM message in MPPS2ORM service.
|
||||
A relative path name is resolved relative to <i>archive-install-directory</i>/server/default/.<br/>
|
||||
NONE..use MPPS Attributes.
|
||||
]]>
|
||||
</description>
|
||||
<name>AddMwlAttrsToMppsXsl</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isWriteCoercionXmlLog"
|
||||
setMethod="setWriteCoercionXmlLog">
|
||||
<description><![CDATA[Enable logging of coercions in separate log files.<br/>
|
||||
FileName: <LOG_DIR>/coercion/<timestamp>.<xsl file>.[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="getLogCallingAETs"
|
||||
setMethod="setLogCallingAETs">
|
||||
<description><![CDATA[List of the AE titles for the MPPS SCUs for which XMLized
|
||||
N-CREATE and N-SET request attributes are logged into files
|
||||
<i>AET</i>/<i>timestamp</i>-mpps-ncreaterq.xml and
|
||||
<i>AET</i>/<i>timestamp</i>-mpps-nsetrq.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="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="0"/>
|
||||
</descriptors>
|
||||
</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="getAEServiceName"
|
||||
setMethod="setAEServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>AEServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Link MPPS to MWL entries (LOCAL Modality Worklist).</description>
|
||||
<name>linkMppsToMwl</name>
|
||||
<parameter>
|
||||
<description>List of Scheduled Procedure Step IDs</description>
|
||||
<name>spsIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of MPPS SOP Instance UIDs</description>
|
||||
<name>mppsIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Map</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Link MPPS to MWL entries of external Modality worklist.</description>
|
||||
<name>linkMppsToMwl</name>
|
||||
<parameter>
|
||||
<description>List of Scheduled Procedure Step Attributes</description>
|
||||
<name>spsAttrs</name>
|
||||
<type>[Lorg.dcm4che.data.Dataset;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of MPPS SOP Instance UIDs</description>
|
||||
<name>mppsIUIDs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Map</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Unlink MPPS to MWL entries.</description>
|
||||
<name>unlinkMpps</name>
|
||||
<parameter>
|
||||
<description>MPPS SOP Instance UID</description>
|
||||
<name>mppsIUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Deletes a list of MPPS entries.</description>
|
||||
<name>deleteMPPSEntries</name>
|
||||
<parameter>
|
||||
<description>List of MPPS Instance UIDs</description>
|
||||
<name>iuids</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
127
dcm4chee/default/conf/xmdesc/dcm4chee-mppsscu-xmbean.xml
Normal file
127
dcm4chee/default/conf/xmdesc/dcm4chee-mppsscu-xmbean.xml
Normal file
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>DICOM Modality Performed Procedure Step SCU Service. Used to forward MPPS messages received by
|
||||
the MPPS SCP Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mppsscu.MPPSScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MPPSScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getForwardingRules" setMethod="setForwardingRules">
|
||||
<description><![CDATA[List of forwarding rules, dependent upon which
|
||||
application - identified by the Calling AE title - sent the MPPS.
|
||||
The comma separated list of AE titles after the (optional) condition
|
||||
defines the forwarding destination (the other MPPS SCP) by its Called
|
||||
AE Title.
|
||||
<br><br>Syntax:
|
||||
<br> rules = ( rule { newline rule } | 'NONE' ) (* 'NONE' = no forwarding *)
|
||||
<br> rule = ['[' 'calling' ['!'] '=' from ']'] to
|
||||
<br> from = aet { '|' aet } (* calling AE titles *)
|
||||
<br> to = aet { ',' aet } (* destination AE titles *)
|
||||
<br><br>Example: [calling!=ORDER_FILLER]ORDER_FILLER
|
||||
<br>=> Forwards received MPPS to ORDER_FILLER, except MPPS received
|
||||
from ORDER_FILLER]]>
|
||||
</description>
|
||||
<name>ForwardingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AE Ttle used in the Association Request.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent forwarded MPPS messages.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description>Number and intervals of retries for failed
|
||||
MPPS forward requests. <br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</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="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Send MPPS to Application Entity specified by AET.</description>
|
||||
<name>sendMPPS</name>
|
||||
<parameter>
|
||||
<description>if true, send N-CREATE, otherwise N-SET MPPS message.</description>
|
||||
<name>create</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>MPPS Dataset</description>
|
||||
<name>mpps</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Application Entity Title</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
327
dcm4chee/default/conf/xmdesc/dcm4chee-mwlreplica-xmbean.xml
Normal file
327
dcm4chee/default/conf/xmdesc/dcm4chee-mwlreplica-xmbean.xml
Normal file
@@ -0,0 +1,327 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description><![CDATA[<b>Modality Worklist Replication Service</b><br/>
|
||||
Provides a Service to replicate a MWL SCP with ABPACS Modality worklist.<br/>.
|
||||
You can use XSL Templates to change MWL C-FIND Request for MWL SCPs.<br/>
|
||||
Therefore put either mwl-replica-rq.xsl and/or mwl-replica-rsp.xsl in conf/dcm4chee-aet/[AET].
|
||||
]]> </description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.tool.mwlreplica.MwlReplicaService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MwlReplicaService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description><![CDATA[The AE title(s) of the Modality Worklist SCP to query for replication.<br/>
|
||||
Multible AET's must be separated by \(backslash). For example, MWL_SCP1\MWL_SCP2.]]>
|
||||
</description>
|
||||
<name>CalledAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MWL_SCP"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AET.
|
||||
</description>
|
||||
<name>CallingAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTaskInterval" setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which to replicate local Modality Work List with remote MWL SCP.<br/>
|
||||
Format: interval (##s (in seconds), ##m (in minutes), ##h (in hours) or NEVER]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTimeBefore" setMethod="setTimeBefore">
|
||||
<description><![CDATA[Time interval to calculate left border of time range.<br/>
|
||||
Format: interval (##s (in seconds), ##m (in minutes), ##h (in hours) or NONE.<br/>
|
||||
NONE means either no (time) left border or, if TimeAfter is also NONE the whole day.<br/>
|
||||
E.g.: TimeBefore = 1h, TimeAfter = 2h, current time is 13:00 -> search for all MWL with start date between 12:00 and 15:00.<br/>
|
||||
TimeBefore = 1h, TimeAfter = NONE, current time is 13:00 -> search for all MWL with start date between 12:00 and 23:59.59.<br/>
|
||||
TimeBefore = NONE, TimeAfter = 2h, current time is 13:00 -> search for all MWL with start date before 15:00.<br/>
|
||||
TimeBefore = NONE, TimeAfter = NONE, current time is 13:00 -> search for all MWL for current date.<br/>
|
||||
]]></description>
|
||||
<name>TimeBefore</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getTimeAfter" setMethod="setTimeAfter">
|
||||
<description><![CDATA[Time interval to calculate left border of time range.<br/>
|
||||
Format: interval (##s (in seconds), ##m (in minutes), ##h (in hours) or NONE.<br/>
|
||||
NONE means either no (time) right border or, if TimeBefore is also NONE the whole day.
|
||||
]]></description>
|
||||
<name>TimeAfter</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getIssuerOfPatient" setMethod="setIssuerOfPatient">
|
||||
<description>Default Issuer Of Patient ID to coerce empty IssuerOfPatient attribute in MWL results. Use NONE to disable coercion.
|
||||
</description>
|
||||
<name>IssuerOfPatient</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isForceIssuerCoercion" setMethod="setForceIssuerCoercion">
|
||||
<description>Force coercion of IssuerOfPatient attribute in MWL results even when result contains IssuerOfPatient.
|
||||
</description>
|
||||
<name>ForceIssuerCoercion</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCoerceConfigDir"
|
||||
setMethod="setCoerceConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for attribute
|
||||
coercion are located: if XSL stylesheet "mwl-replica-rq.xsl" or
|
||||
"mwl-replica-rsp.xsl" exists in this directory or in a sub-directory equal
|
||||
to the AE Title of the MWL SCP, attributes of MWL C-FIND Request or Response
|
||||
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="getPatientMatching"
|
||||
setMethod="setPatientMatching">
|
||||
<description><![CDATA[Defines which Patient Attributes in received HL7
|
||||
ORM messages are considered for selecting existing Patient records 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 field name specifies that a missing value in
|
||||
received HL7 ORM messages will match with any value for that field in
|
||||
existing Patient Records, as Patient Records with missing values for that field
|
||||
will match with any value for that field in received HL7 ORM messages. Field
|
||||
names without question marks specifies, that HL7 ORM messages without values
|
||||
for such fields will not match any existing Patient Record, and Patient Records
|
||||
without values for such fields will not get selected on receive of any HL7 ORM
|
||||
message.
|
||||
<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
|
||||
HL7 ORM message *and* in the matching Patient Record.
|
||||
<p><b>Attention:</b>
|
||||
<br/>Configuration of considertion of demographic fields for the selection of
|
||||
existing Patient records disables the update of such Patient Demographics
|
||||
attributes by HL7 ORM messages! => Only change the default value of
|
||||
<code>pid,issuer?</code>, if you know, what you are doing!
|
||||
<p><b>Warning:</b>Improper configuration may cause MWL assignments to wrong patient.<br/>
|
||||
<p>Default: <code>pid,issuer?</code>
|
||||
]]>
|
||||
</description>
|
||||
<name>PatientMatching</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid,issuer?" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isDebugMode" setMethod="setDebugMode">
|
||||
<description>Enable DEBUG mode. No MWL query will be performed but the Query Dataset will be logged!
|
||||
</description>
|
||||
<name>DebugMode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if replication task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority for C-Find requests. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
Only effective for queries of a remote Modality Worlist SCP which actual
|
||||
interprets the priority attribute in the DICOM C-FIND request.
|
||||
</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</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="getSchedulerServiceName"
|
||||
setMethod="setSchedulerServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>SchedulerServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDMwlReplica"
|
||||
setMethod="setTimerIDMwlReplica">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TimerIDMwlReplica"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getErrorCount" >
|
||||
<description>ErrorCount since last reset.
|
||||
</description>
|
||||
<name>ErrorCount</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
<attribute access="read-only" getMethod="getTotalErrorCount" >
|
||||
<description>ErrorCount since service start.
|
||||
</description>
|
||||
<name>TotalErrorCount</name>
|
||||
<type>int</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Replicate modality worklist entries for given date.
|
||||
</description>
|
||||
<name>replicateMWLEntriesForDate</name>
|
||||
<parameter>
|
||||
<description>AET of MWL SCP to query. (null means configured calledAET - must be configured in AE Managment!)</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Date for which MWL items should be replicated. Use yyyy/MM/dd or null for current date.</description>
|
||||
<name>Date</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Replicate modality worklist entries for given date.
|
||||
</description>
|
||||
<name>replicateMWLEntriesForDateRange</name>
|
||||
<parameter>
|
||||
<description>AET of MWL SCP to query. (null means configured calledAET - must be configured in AE Managment!)</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Start Date/Time for which MWL items should be replicated. Use 'yyyy/MM/dd hh:mm' or null for current date.</description>
|
||||
<name>StartDate</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>End Date/Time for which MWL items should be replicated. Use 'yyyy/MM/dd hh:mm' or null for current date.</description>
|
||||
<name>EndDate</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Replicate modality worklist entries of aet for given queryDS.
|
||||
(MWL C-FIND Request Dataset)
|
||||
</description>
|
||||
<name>replicateMWLEntries</name>
|
||||
<parameter>
|
||||
<description>AET of MWL SCP to query. (must be configured in AE Managment!)</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Dataset for MWL C-Find. <br/>
|
||||
Use <null> to use a Search Dataset with almost all
|
||||
MWL attributes as return attributes, and matching SPS Start Date
|
||||
for current date.
|
||||
]]></description>
|
||||
<name>queryDS</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Show error history.
|
||||
</description>
|
||||
<name>showErrorHistory</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Clear error history.
|
||||
</description>
|
||||
<name>resetErrorHistory</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>The start lifecycle operation.
|
||||
</description>
|
||||
<name>start</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>The stop lifecycle operation.
|
||||
</description>
|
||||
<name>stop</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
236
dcm4chee/default/conf/xmdesc/dcm4chee-mwlscp-xmbean.xml
Normal file
236
dcm4chee/default/conf/xmdesc/dcm4chee-mwlscp-xmbean.xml
Normal file
@@ -0,0 +1,236 @@
|
||||
<?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>DICOM Modality Worklist SCP</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mwlscp.MWLScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MWLScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAETs"
|
||||
setMethod="setCalledAETs">
|
||||
<description>Accepted called AE titles, separated by \ (backslash).
|
||||
|
||||
</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="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="isUseProxy"
|
||||
setMethod="setUseProxy">
|
||||
<description>Enable proxy C-FIND to remote MWL SCP.
|
||||
Proxy MWL SCP is configured in MWL SCU Service.
|
||||
</description>
|
||||
<name>UseProxy</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCheckMatchingKeySupported"
|
||||
setMethod="setCheckMatchingKeySupported">
|
||||
<description>Enable check if unsupported matching key(s) are used in C-FIND.
|
||||
In this case the C-FIND PENDING status is changed from 0xff00 to 0xff01.
|
||||
(Not used if proxy is enabled!)
|
||||
</description>
|
||||
<name>CheckMatchingKeySupported</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</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="getLogCallingAETs"
|
||||
setMethod="setLogCallingAETs">
|
||||
<description><![CDATA[List of the AE titles for the MWL SCUs for which XMLized
|
||||
query and result attributes are logged into files
|
||||
<i>AET</i>/<i>timestamp</i>-mwl-cfindrq.xml and
|
||||
<i>AET</i>/<i>timestamp</i>-mwl-cfindrsp.xml in the log directory.
|
||||
Useful for creation of XSL stylesheets for query/result 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 query/result
|
||||
attribute coercion are located: if XSL stylesheet "mwl-cfindrq.xsl" or
|
||||
"mwl-cfindrsp.xsl" exists in this directory or in a sub-directory equal
|
||||
to the AE Title of a MWL SCU, query/result attributes from/to 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: <LOG_DIR>/coercion/<timestamp>.<xsl file>.[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="getDcmServerName"
|
||||
setMethod="setDcmServerName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>DcmServerName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<!-- Notifications -->
|
||||
</mbean>
|
||||
|
||||
202
dcm4chee/default/conf/xmdesc/dcm4chee-mwlscu-xmbean.xml
Normal file
202
dcm4chee/default/conf/xmdesc/dcm4chee-mwlscu-xmbean.xml
Normal file
@@ -0,0 +1,202 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Modality Worklist SCU. Used by the Modality Worklist Console
|
||||
of the Archive Web Administration tool and by the Storage SCP service to
|
||||
query the configured Modality Worklist SCP for Scheduled Procedure Steps.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.mwlscu.MWLScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>MWLScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>The calling AE title.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCalledAET" setMethod="setCalledAET">
|
||||
<description><![CDATA[The AE title of the Modality Worklist SCP to query.
|
||||
Use <tt>LOCAL</tt> if the DICOM modality worklist is provided by the
|
||||
archive and can be accessed directly from the database.<br/>
|
||||
<b>Note:</b> Deletion of worklist entries by the Modality Worklist
|
||||
Console of the Archive Web Administration tool is only possible if this
|
||||
attribute is set to <tt>LOCAL</tt>.]]>
|
||||
</description>
|
||||
<name>CalledAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="LOCAL"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMaxResults" setMethod="setMaxResults">
|
||||
<description>Limit number of returned matching MWL items by operation
|
||||
findMWLEntries. If an external Modality Worklist SCP is queried, a cancel
|
||||
request will be invoked after receive of the specified number of query responses.
|
||||
</description>
|
||||
<name>MaxResults</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isForceMatchingKeyCheck" setMethod="setForceMatchingKeyCheck">
|
||||
<description>Force additional check of Matching Keys! This will only effect external MWL SCP queries.
|
||||
You should enable this feature only if you need a 'unique' matching key (Accession Number, Study IUID or SPS ID) which the MWL SCP
|
||||
doesn't support as matching key! (e.g. if you need to update image attributes with MWL entries)
|
||||
</description>
|
||||
<name>ForceMatchingKeyCheck</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isNoMatchForNoValue"
|
||||
setMethod="setNoMatchForNoValue">
|
||||
<description><![CDATA[Do not match entities with zero-length value for
|
||||
specified matching keys. Effective if
|
||||
<b>CalledAETitle</b> = <tt>LOCAL</tt>. Also effective for MWL SCP Service with
|
||||
<b>UseProxy</b> = <tt>false</tt>.]]>
|
||||
</description>
|
||||
<name>NoMatchForNoValue</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="isLocal">
|
||||
<description>This value is is set to true if the <b>CalledAETitle</b> attribute is set to LOCAL.
|
||||
</description>
|
||||
<name>Local</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPriority" setMethod="setPriority">
|
||||
<description>Priority for C-Find requests. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
Only effective for queries of a remote Modality Worlist SCP which actual
|
||||
interprets the priority attribute in the DICOM C-FIND request.
|
||||
</description>
|
||||
<name>Priority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</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.
|
||||
Only effective with CalledAETitle = LOCAL and with Oracle as DB.
|
||||
</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.
|
||||
Only effective with CalledAETitle = LOCAL.
|
||||
</description>
|
||||
<name>TransactionIsolationLevel</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT"/>
|
||||
</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>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Get a list of modality worklist entries.
|
||||
</description>
|
||||
<name>findMWLEntries</name>
|
||||
<parameter>
|
||||
<description>Dataset for C-Find</description>
|
||||
<name>searchDS</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>fuzzy semantic matching of person names</description>
|
||||
<name>fuzzyMatchingOfPN</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Result list</description>
|
||||
<name>result</name>
|
||||
<type>java.util.List</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get a list of modality worklist entries using local database access.
|
||||
</description>
|
||||
<name>findMWLEntriesLocal</name>
|
||||
<parameter>
|
||||
<description>Dataset for C-Find</description>
|
||||
<name>searchDS</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>fuzzy semantic matching of person names</description>
|
||||
<name>fuzzyMatchingOfPN</name>
|
||||
<type>boolean</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Result list</description>
|
||||
<name>result</name>
|
||||
<type>java.util.List</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Delete a modality worklist entry.
|
||||
</description>
|
||||
<name>deleteMWLEntry</name>
|
||||
<parameter>
|
||||
<description>Requested Procedure ID \ Scheduled Procedure Step ID</description>
|
||||
<name>rqIDspsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
50
dcm4chee/default/conf/xmdesc/dcm4chee-onswitchfs-xmbean.xml
Normal file
50
dcm4chee/default/conf/xmdesc/dcm4chee-onswitchfs-xmbean.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?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[OnSwitchStorageFileSystem Service. Executes
|
||||
configurable system command when the current storage file system becomes
|
||||
full and is switched to the next configured. ]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
<class>org.dcm4chex.archive.mbean.OnSwitchStorageFileSystemService</class>
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>OnSwitchStorageFileSystemService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes --> &defaultAttributes;
|
||||
|
||||
<attribute access="read-write" getMethod="getOnSwitchStorageFileSystemInvoke"
|
||||
setMethod="setOnSwitchStorageFileSystemInvoke">
|
||||
<description><![CDATA[Executes specified command when the current
|
||||
storage file system becomes full and is switched to the next configured.
|
||||
'{0}' will be replaced by the directory path of the previous,
|
||||
'{1}' with the directory path of the new storage file system.
|
||||
NONE = service disabled.]]>
|
||||
</description>
|
||||
<name>OnSwitchStorageFilesystemInvoke</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileSystemMgtName"
|
||||
setMethod="setFileSystemMgtName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>FileSystemMgtName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
439
dcm4chee/default/conf/xmdesc/dcm4chee-permission-xmbean.xml
Normal file
439
dcm4chee/default/conf/xmdesc/dcm4chee-permission-xmbean.xml
Normal file
@@ -0,0 +1,439 @@
|
||||
<?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[The <b>Study Permission Service</b> grants/revokes
|
||||
study access permissions to particular roles on receive of HL7 messages,
|
||||
MPPS N-CREATE messages, Series Stored events or by direct user interaction.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.StudyPermissionService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StudyPermissionService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOnHl7Received"
|
||||
setMethod="setUpdateOnHl7Received">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Activates grant/revoke of study permissions on
|
||||
receive of HL7 messages according specified <i>Hl7ReceivedStylesheet</i>.]]>
|
||||
</description>
|
||||
<name>UpdateOnHl7Received</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHl7ReceivedStylesheet"
|
||||
setMethod="setHl7ReceivedStylesheet">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Stylesheet defining study permissions to
|
||||
grant/revoke on receive of HL7 messages. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Hl7ReceivedStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-permission/hl7-permission.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOnMppsCreate"
|
||||
setMethod="setUpdateOnMppsCreate">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Activates grant/revoke of study permissions on
|
||||
receive of MPPS N-CREATE requests according specified
|
||||
<i>MppsCreateStylesheet</i>.]]>
|
||||
</description>
|
||||
<name>UpdateOnMppsCreate</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsCreateStylesheet"
|
||||
setMethod="setMppsCreateStylesheet">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Stylesheet defining study permissions to
|
||||
grant/revoke on receive of MPPS N-CREATE requests. A relative path name is
|
||||
resolved relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>MppsCreateStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-permission/mpps-permission.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOnSeriesStored"
|
||||
setMethod="setUpdateOnSeriesStored">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Activates grant/revoke of study permissions on
|
||||
Series Stored events according specified <i>SeriesStoredStylesheet</i>.]]>
|
||||
</description>
|
||||
<name>UpdateOnSeriesStored</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSeriesStoredStylesheet"
|
||||
setMethod="setSeriesStoredStylesheet">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Stylesheet defining study permissions to
|
||||
grant/revoke on Series Stored events. A relative path name is resolved
|
||||
relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>SeriesStoredStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-permission/series-permission.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOnNewStudy"
|
||||
setMethod="setUpdateOnNewStudy">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Activates grant/revoke of study permissions on
|
||||
NewStudy events according specified <i>SeriesStoredStylesheet</i>.]]>
|
||||
</description>
|
||||
<name>UpdateOnNewStudy</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isUpdateOnIanNotification"
|
||||
setMethod="setUpdateOnIanNotification">
|
||||
<description><![CDATA[Activates grant/revoke of study permissions on
|
||||
receive of IAN JMX Notification according specified <i>MppsCreateStylesheet</i>.]]>
|
||||
</description>
|
||||
<name>UpdateOnIanNotification</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIanStylesheet"
|
||||
setMethod="setIanStylesheet">
|
||||
<description><![CDATA[Stylesheet defining study permissions to
|
||||
grant/revoke on receive ofIAN JMX Notification.<br />
|
||||
A relative path name is resolved relative to <i>archive-install-directory</i>/server/default/.<br />
|
||||
The input is the MPPS dataset.]]>
|
||||
</description>
|
||||
<name>IanNotificationStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-permission/ian_mpps-permission.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getContentEditServiceName"
|
||||
setMethod="setContentEditServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>ContentEditServiceName</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="getIanScuServiceName"
|
||||
setMethod="setIanScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>IanScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Returns <code>true</code> if <i>role</i> has
|
||||
permission for <i>action</i> on Study with given
|
||||
<i>Study Instance UID</i>, otherwise returns <code>false</code>.]]>
|
||||
</description>
|
||||
<name>hasPermission</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Action</description>
|
||||
<name>action</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Returns Study Permissions currently granted
|
||||
on all existing Studies of Patient with given primary key.]]>
|
||||
</description>
|
||||
<name>findByPatientPk</name>
|
||||
<parameter>
|
||||
<description>Patient Primary Key</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Returns Study Permissions currently granted on
|
||||
Study with given <i>Study Instance UID</i>.]]>
|
||||
</description>
|
||||
<name>findByStudyIuid</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Returns Study Permissions for <i>action</i>
|
||||
currently granted on Study with given <i>Study Instance UID</i>.]]>
|
||||
</description>
|
||||
<name>findByStudyIuidAndAction</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Action</description>
|
||||
<name>action</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Grant permission for <i>actions</i> on Study with
|
||||
given <i>Study Instance UID</i> to <i>role</i>. Returns number of new
|
||||
granted Study Permissions.]]>
|
||||
</description>
|
||||
<name>grant</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Comma separated list of actions</description>
|
||||
<name>actions</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Revoke permission for <i>actions</i> on Study with
|
||||
given <i>Study Instance UID</i> from <i>role</i>. Returns number of
|
||||
revoked Study Permissions..]]>
|
||||
</description>
|
||||
<name>revoke</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Comma separated list of actions</description>
|
||||
<name>actions</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Revoke given <i>Study Permission</i>. Returns
|
||||
<code>true</code>, if an existing Study Permission was revoked, or
|
||||
<code>false</code>, if there was no such Study Permission.]]>
|
||||
</description>
|
||||
<name>revoke</name>
|
||||
<parameter>
|
||||
<description>Study Permission</description>
|
||||
<name>permission</name>
|
||||
<type>org.dcm4chex.archive.ejb.interfaces.StudyPermissionDTO</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Grant permission for <i>actions</i> on all existing
|
||||
Studies of Patient with given primary key to <i>role</i>. Returns number
|
||||
of new granted Study Permissions.]]>
|
||||
</description>
|
||||
<name>grantForPatient</name>
|
||||
<parameter>
|
||||
<description>Patient Primary Key</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Comma separated list of actions</description>
|
||||
<name>actions</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Grant permission for <i>actions</i> on all existing
|
||||
Studies of Patient with given <i>Patient ID</i> and
|
||||
<i>Issuer of Patient ID</i> to <i>role</i>. Returns number of new granted
|
||||
Study Permissions.]]>
|
||||
</description>
|
||||
<name>grantForPatient</name>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Issuer of Patient ID</description>
|
||||
<name>issuer</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Comma separated list of actions</description>
|
||||
<name>actions</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Revoke permission for <i>actions</i> on all existing
|
||||
Studies of Patient with given primary key to <i>role</i>. Returns number
|
||||
of revoked Study Permissions.]]>
|
||||
</description>
|
||||
<name>revokeForPatient</name>
|
||||
<parameter>
|
||||
<description>Patient Primary Key</description>
|
||||
<name>pk</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Comma separated list of actions</description>
|
||||
<name>actions</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Revoke permission for <i>actions</i> on all existing
|
||||
Studies of Patient with given <i>Patient ID</i> and
|
||||
<i>Issuer of Patient ID</i> to <i>role</i>. Returns number of revoked
|
||||
Study Permissions.]]>
|
||||
</description>
|
||||
<name>revokeForPatient</name>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Issuer of Patient ID</description>
|
||||
<name>issuer</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Actions</description>
|
||||
<name>actions</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Role</description>
|
||||
<name>role</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Collection</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Return total number of studies for given patient.]]>
|
||||
</description>
|
||||
<name>countStudiesOfPatient</name>
|
||||
<parameter>
|
||||
<description>Patient Pk</description>
|
||||
<name>patPk</name>
|
||||
<type>java.lang.Long</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
150
dcm4chee/default/conf/xmdesc/dcm4chee-pixquery-xmbean.xml
Normal file
150
dcm4chee/default/conf/xmdesc/dcm4chee-pixquery-xmbean.xml
Normal file
@@ -0,0 +1,150 @@
|
||||
<?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[The <b>PIX Query Service</b> is used to find out the
|
||||
identification of a patient in different Patient Identifier Domains by
|
||||
query the data base for Patients linked by Other Patient IDs or by sending a
|
||||
HL7 v2.5 QBP^Q23 message to the specified <i>Patient Identifier
|
||||
Cross-reference (PIX) Manager</i> and evaluating the returned HL7 RSP^K23
|
||||
message.]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.PIXQueryService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>PIXQueryService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getPIXManager"
|
||||
setMethod="setPIXManager">
|
||||
<description><![CDATA[External PIX Manager <Application>^<Facility>
|
||||
or <code>LOCAL</code> (=> query data base for Patients linked by Other Patient IDs)]]>
|
||||
</description>
|
||||
<name>PIXManager</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="LOCAL" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isPIXManagerLocal">
|
||||
<description><![CDATA[<code>true</code>, if <i>PIXManager</i>=<code>LOCAL</code>]]>
|
||||
</description>
|
||||
<name>PIXManagerLocal</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPIXQueryName"
|
||||
setMethod="setPIXQueryName">
|
||||
<description><![CDATA[Message Query Name (QPD-1) used in PIX Query for
|
||||
Corresponding Patient IDs.
|
||||
Only effective if <i>PIXManager</i>!=<code>LOCAL</code>.]]>
|
||||
</description>
|
||||
<name>PIXQueryName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="IHE PIX Query" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIssuersOfOnlyOtherPatientIDs"
|
||||
setMethod="setIssuersOfOnlyOtherPatientIDs">
|
||||
<description><![CDATA[Comma separated list of Issuers/Authorities,
|
||||
which only qualifies Other Patient IDs - and NOT primary Patient IDs.
|
||||
Used to optimize data base queries.
|
||||
Only effective if <i>PIXManager</i>=<code>LOCAL</code>.]]>
|
||||
</description>
|
||||
<name>IssuersOfOnlyOtherPatientIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="SSN" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIssuersOfOnlyPrimaryPatientIDs"
|
||||
setMethod="setIssuersOfOnlyPrimaryPatientIDs">
|
||||
<description><![CDATA[Comma separated list of Issuers/Authorities,
|
||||
which only qualifies primary Patient IDs - and NOT Other Patient IDs.
|
||||
Used to optimize data base queries.
|
||||
Only effective if <i>PIXManager</i>=<code>LOCAL</code>.]]>
|
||||
</description>
|
||||
<name>IssuersOfOnlyPrimaryPatientIDs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMockResponse"
|
||||
setMethod="setMockResponse">
|
||||
<description><![CDATA[If specified (!= '-'), return list of Patient IDs
|
||||
(<ID>^^^<namespace ID>&<universal ID>&<universal ID type>)
|
||||
separated by '~'. Useful for debugging service clients.]]>
|
||||
</description>
|
||||
<name>MockResponse</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="-" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7SendServiceName"
|
||||
setMethod="setHL7SendServiceName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7SendServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Show corresponding Patient IDs of all domains.</description>
|
||||
<name>showCorrespondingPIDs</name>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Issuer Of Patient ID/Assigning Authority</description>
|
||||
<name>authority</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Query PIX Manger for corresponding Patient IDs of specific domain(s).</description>
|
||||
<name>queryCorrespondingPIDs</name>
|
||||
<parameter>
|
||||
<description>Patient ID</description>
|
||||
<name>pid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Issuer Of Patient ID/Assigning Authority</description>
|
||||
<name>authority</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of returned domains (What domains returned).
|
||||
</description>
|
||||
<name>domains</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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[Service for IHE Transaction 'Modality Procedure Step Completed/Dicontinued' Option: PPS Exception Managment.<br>
|
||||
Checks a received MPPS for Discontinuation Reason Code 'Incorrect Worklist Entry Selected' (code:110514 designator:DCM)
|
||||
and move all referenced series to trash folder.<br>
|
||||
Instances stored after receiving such an MPPS will be ignored in StoreSCP directly. (if <i>CheckIncorrectWorklistEntry</i> is enabled)
|
||||
]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.PPSExceptionMgtService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>PPSExceptionMgtService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
|
||||
<attribute access="read-write" getMethod="getDelay" setMethod="setDelay">
|
||||
<description>Set delay for removing discontinued series in millisecond after MPPS received.
|
||||
</description>
|
||||
<name>Delay</name>
|
||||
<type>long</type>
|
||||
<descriptors>
|
||||
<value value="0"/>
|
||||
</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="getMppsScpServiceName"
|
||||
setMethod="setMppsScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>MppsScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
171
dcm4chee/default/conf/xmdesc/dcm4chee-ppsscu-xmbean.xml
Normal file
171
dcm4chee/default/conf/xmdesc/dcm4chee-ppsscu-xmbean.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>PPS SCU Service to forward GP-PPS messages received by
|
||||
the PPS SCP Service
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.gpwlscp.PPSScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>GPPPSScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getDestAETs" setMethod="setDestAETs">
|
||||
<description>List of the AE titles of application entities being notified
|
||||
about Work item status changes by GP-PPS messages, separated by \(backslash).
|
||||
NONE = do not send GP-PPS messages to any application entities. Duplicate
|
||||
GP-PPS N-CREATE messages triggered by multiple GP-SPS N-ACTION with status
|
||||
IN PROGRESS can be avoided by configuration of local GP-PPS SCP as
|
||||
additional destination.
|
||||
</description>
|
||||
<name>DestinationAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AE title used in the Association Request.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getPpsUidSuffix" setMethod="setPpsUidSuffix">
|
||||
<description>Suffix used to derive SOP Instance UID of emitted GP-PPS from
|
||||
SOP Instance UID of corresponding GP-SPS.
|
||||
</description>
|
||||
<name>PpsUidSuffix</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=".1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCopyWorkitemCode"
|
||||
setMethod="setCopyWorkitemCode">
|
||||
<description>Specifies if Scheduled Workitem Code of GP-SPS
|
||||
is set as Performed Workitem Code in emitted GP-PPS.
|
||||
</description>
|
||||
<name>CopyWorkitemCode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCopyStationNameCode"
|
||||
setMethod="setCopyStationNameCode">
|
||||
<description>Specifies if Scheduled Station Name Code of GP-SPS
|
||||
is set as Performed Station Name Code in emitted GP-PPS.
|
||||
</description>
|
||||
<name>CopyStationNameCode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCopyStationClassCode"
|
||||
setMethod="setCopyStationClassCode">
|
||||
<description>Specifies if Scheduled Station Class Code of GP-SPS
|
||||
is set as Performed Station Class Code in emitted GP-PPS.
|
||||
</description>
|
||||
<name>CopyStationClassCode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCopyStationGeographicLocationCode"
|
||||
setMethod="setCopyStationGeographicLocationCode">
|
||||
<description>Specifies if Scheduled Station Geographic Location Code of GP-SPS
|
||||
is set as Performed Station Geographic Location Code in emitted GP-PPS.
|
||||
</description>
|
||||
<name>CopyStationGeographicLocationCode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCopyProcessingApplicationsCode"
|
||||
setMethod="setCopyProcessingApplicationsCode">
|
||||
<description>Specifies if Scheduled Processing Applications Code of GP-SPS
|
||||
is set as Performed Processing Applications Code in emitted GP-PPS.
|
||||
</description>
|
||||
<name>CopyProcessingApplicationsCode</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent forwarded GP-PPS messages.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description>Number and intervals of retries of failed
|
||||
GP-PPS forward requests.<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</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="getGpwlScpServiceName"
|
||||
setMethod="setGpwlScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>GpwlScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
372
dcm4chee/default/conf/xmdesc/dcm4chee-prefetch-xmbean.xml
Normal file
372
dcm4chee/default/conf/xmdesc/dcm4chee-prefetch-xmbean.xml
Normal file
@@ -0,0 +1,372 @@
|
||||
<?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[The <b>Prefetch Service</b> prefetches no longer
|
||||
ONLINE available studies from an external archive or attached NEARLINE
|
||||
storage on receive of a HL7 Order Message (ORM^O01) for the patient.<br/>
|
||||
Therefore <code>Stylesheet</code> is used to create a C-FIND Request from the received HL7 message
|
||||
which is sent to source and destination AET. The results are used to get a list of series that are available on source but not on destination.<br />
|
||||
The <code>PostSelectStylesheet</code> can be used for further, more detailed selection and/or to specify the schedule time of the C-MOVE request.
|
||||
]]></description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hl7.PrefetchService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>PrefetchService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getStylesheet"
|
||||
setMethod="setStylesheet">
|
||||
<description><![CDATA[Stylesheet for HL7 to C-FIND RQ mapping.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>Stylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-hl7/hl72prefetch.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isOnlyKnownSeries"
|
||||
setMethod="setOnlyKnownSeries">
|
||||
<description><![CDATA[Prefetch only series that are already known on destination?]]>
|
||||
</description>
|
||||
<name>OnlyKnownSeries</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPostSelectStylesheet"
|
||||
setMethod="setPostSelectStylesheet">
|
||||
<description><![CDATA[Stylesheet for post selection of C-FIND responses.<br/>
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.<br/>
|
||||
Use NONE to disable post selection (use the 'notAvailable' list gathered from C-FIND responses instead)<br/>
|
||||
This stylesheet should create a 'schedule' tag for each series that should be prefetched:
|
||||
<schedule seriesIUID='...' [scheduleAt='yyyyMMddHHmmss.SSS'] [reason='some reason'] /><br/>
|
||||
The 'input' xml format:<br/><code>
|
||||
<prefetch><br/>
|
||||
<hl7> ... <hl7><br/>
|
||||
<dataset> ... <dataset><br/>
|
||||
...<br/>
|
||||
</prefetch></code>
|
||||
]]></description>
|
||||
<name>PostSelectStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogPostSelectXML"
|
||||
setMethod="setLogPostSelectXML">
|
||||
<description><![CDATA[Log XML data for post selection as file. (in <log_dir>/postselect)]]>
|
||||
</description>
|
||||
<name>LogPostSelectXML</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPrefetchMessageTypes"
|
||||
setMethod="setPrefetchMessageTypes">
|
||||
<description><![CDATA[Comma separated list of HL7 message types which
|
||||
shall trigger prefetch of studies. For each listed message type a value for a
|
||||
particular message field can be specified as additional condition.
|
||||
<p>Format:<br/>
|
||||
<i>message-type</i> '^' <i>trigger-event</i> [<i>condition</i>[|<i>condition</i>[|...]]] [,...]<br/>
|
||||
| 'NONE' (* prefetch disabled *)<br/>
|
||||
<i>condition</i> := '[' <i>field-name</i> '=' <i>field-value</i> ']'<br/>
|
||||
<i>field-name</i> := <i>segment</i> '-' <i>seq</i>
|
||||
<p>Example:<br/>
|
||||
<tt>ORM^O01[ORC-1=NW]</tt> (* trigger prefetch on receive of new order *)]]>
|
||||
</description>
|
||||
<name>PrefetchMessageTypes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPrefetchSourceAET"
|
||||
setMethod="setPrefetchSourceAET">
|
||||
<description><![CDATA[AE title of C-FIND SCP, which shall be queried for
|
||||
available studies of a particular patient.]]>
|
||||
</description>
|
||||
<name>PrefetchSourceAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="PACS_CENTRAL" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSourceQueryPriority"
|
||||
setMethod="setSourceQueryPriority">
|
||||
<description><![CDATA[Priority of query requests to the Prefetch Source AE.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.]]>
|
||||
</description>
|
||||
<name>SourceQueryPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDestinationQueryAET"
|
||||
setMethod="setDestinationQueryAET">
|
||||
<description><![CDATA[AE title of C-FIND SCP, which shall be queried to
|
||||
identify the availability of studies. Studies which are not ONLINE
|
||||
available - which includes (parts of) studies which are not available
|
||||
on this AE at all - will be retrieved to the configured Destination
|
||||
Storage AE.]]>
|
||||
</description>
|
||||
<name>DestinationQueryAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDestinationQueryPriority"
|
||||
setMethod="setDestinationQueryPriority">
|
||||
<description><![CDATA[Priority of query requests to the Destination Query AE.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.]]>
|
||||
</description>
|
||||
<name>DestinationQueryPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDestinationStorageAET"
|
||||
setMethod="setDestinationStorageAET">
|
||||
<description><![CDATA[AE title of C-STORE SCP, to which (parts of)
|
||||
studies of a patient shall be retrieved, which are known by the
|
||||
Prefetch Source AE, but are not ONLINE available from the Destination
|
||||
Query AE.]]>
|
||||
</description>
|
||||
<name>DestinationStorageAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getCallingAET"
|
||||
setMethod="setCallingAET">
|
||||
<description>Calling AE title of the Move SCU.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetrievePriority"
|
||||
setMethod="setRetrievePriority">
|
||||
<description><![CDATA[Priority of invoked retrieve requests.
|
||||
Enumerated Values: LOW, MEDIUM, HIGH.]]>
|
||||
</description>
|
||||
<name>RetrievePriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute> <attribute access="read-write"
|
||||
getMethod="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and intervalls of retries of failed
|
||||
prefetch requests by a list of comma separated NUMBERxINTERVAL pairs.
|
||||
The intervall can be specified in seconds (##s), minutes (##m),
|
||||
hours (##h) or days (##d).]]>
|
||||
</description>
|
||||
<name>RetryIntervalls</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,12x5m,12x1h" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximal number of concurrent processed prefetch orders.
|
||||
</description>
|
||||
<name>Concurrency</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 ms. 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="getMaxPDULength"
|
||||
setMethod="setMaxPDULength">
|
||||
<description>Maximum protocol data unit (PDU) package length for receiving PDUs.
|
||||
</description>
|
||||
<name>MaximumPDULength</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="16352"/>
|
||||
</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="getPrefetchAuditEventID"
|
||||
setMethod="setPrefetchAuditEventID">
|
||||
<description><![CDATA[EventID of 'Prefetch Schedule' audit message or NONE to disable audit log.<br/>
|
||||
Format: <code>^<code system>^<display name> <br />
|
||||
Note: Neither DICOM Supplement 95 nor IHE defines a applicable audit message for such an event.
|
||||
Therefore we use a RFC 3881 compliant audit message with this EventID. e.g. prefetch^dcm4chee^Schedule Series Prefetch
|
||||
]]></description>
|
||||
<name>PrefetchScheduleAuditEventID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</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="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>MoveScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHL7ServerName"
|
||||
setMethod="setHL7ServerName">
|
||||
<description>Used internally - do NOT modify.
|
||||
</description>
|
||||
<name>HL7ServerName</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>
|
||||
<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="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule 'Test' Pre-Fetch Order.</description>
|
||||
<name>processFile</name>
|
||||
<parameter>
|
||||
<description>Filename of hl7 file containing ORM message</description>
|
||||
<name>filename</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
1517
dcm4chee/default/conf/xmdesc/dcm4chee-qrscp-xmbean.xml
Normal file
1517
dcm4chee/default/conf/xmdesc/dcm4chee-qrscp-xmbean.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,169 @@
|
||||
<?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[<b>Rejection Note Stored Service</b>. Responsible to
|
||||
move previous received DICOM Composite Objects referenced in <i>Key Object
|
||||
Selection Documents</i> with particular Document Titles (=<i>Rejection Note</i>
|
||||
received afterwards into the trash.
|
||||
<p>
|
||||
Fullfills the requirement for <i>IHE Mammography Acquisition Workflow (MAWF)
|
||||
Integration Profile</i> compliant <i>Image Managers</i> to support
|
||||
<i>Transaction: Image Rejection Note Stored [RAD-66]</i>.
|
||||
</p><p>
|
||||
To also notify <i>Application Entities</i> configured in the
|
||||
<b>IAN SCU Service</b> by <i>Instance Availability Notifications</i> about
|
||||
the deletion of DICOM Composite Objects referenced in the received <i>Rejection
|
||||
Note</i> - as required by IHE MAWF - <b>Content Edit Service</b> attribute
|
||||
<tt>CreateIANonMoveToTrash</tt> must be <tt>= true</tt>.
|
||||
</p>]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mawf.RejectionNoteStoredService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>RejectionNoteStoredService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRejectionNoteCodes"
|
||||
setMethod="setRejectionNoteCodes">
|
||||
<description><![CDATA[Controls which Key Object Selection Objects,
|
||||
identified by its document title, shall trigger the move of referenced
|
||||
DICOM Composite Objects from the archive. For compliance with
|
||||
<i>IHE Mammography Acquisition Workflow (MAWF) Integration Profile</i>, the
|
||||
list must contain
|
||||
<pre>
|
||||
(113037, DCM, "Rejected for Patient Safety Reasons")</code>,
|
||||
</pre>
|
||||
and optionally also
|
||||
<pre>
|
||||
(113001,, DCM, "Rejected for Quality Reasons")
|
||||
</pre>,
|
||||
]]></description>
|
||||
<name>RejectionNoteCodes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value='
|
||||
(113001, DCM, "Rejected for Quality Reasons")
|
||||
(113037, DCM, "Rejected for Patient Safety Reasons")
|
||||
'/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isCheckCallingAET"
|
||||
setMethod="setCheckCallingAET">
|
||||
<description><![CDATA[Check source AET of series with calling AET of RejectionNote request.<br/>
|
||||
Skip Instances of Series if source and calling AET's are different.
|
||||
]]></description>
|
||||
<name>CheckCallingAET</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDeletionDelay"
|
||||
setMethod="setDeletionDelay">
|
||||
<description><![CDATA[Controls the delay between the receive of an
|
||||
Key Object Selection Objects which document title match one of the configured
|
||||
<b>RejectionNoteCodes</b> and the deletion of the referenced objects in
|
||||
seconds (##s), minutes (##m) or hours (##h). If <b>KeepRejectionNote</b>
|
||||
=<code>false</code>, the delay shall be configured large enough, so the
|
||||
Storage Commitment Request for Key Object Selection Object is always received
|
||||
before its deletion.]]>
|
||||
</description>
|
||||
<name>DeletionDelay</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1m"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isKeepRejectionNote"
|
||||
setMethod="setKeepRejectionNote">
|
||||
<description><![CDATA[Controls, if the Key Object Selection Object, which
|
||||
triggered the deletion of referenced objects, will not be deleted, but be kept
|
||||
stored in the archive. ]]>
|
||||
</description>
|
||||
<name>KeepRejectionNote</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getRetryIntervals"
|
||||
setMethod="setRetryIntervals">
|
||||
<description><![CDATA[Number and interval of retries made for failed
|
||||
deletion of referenced objects.
|
||||
<p>
|
||||
Format: Comma separated list of <i>number</i>x<i>interval</i> pairs. The
|
||||
interval can be specified in seconds (##s), minutes (##m), hours (##h) or
|
||||
days (##d).
|
||||
</p><p>
|
||||
Example: <code>5x1m,10x10m</code>, means 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>]]>
|
||||
</description>
|
||||
<name>RetryIntervalsForJmsOrder</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,1x1h,1x1d" />
|
||||
</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="getContentEditServiceName"
|
||||
setMethod="setContentEditServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>ContentEditServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
338
dcm4chee/default/conf/xmdesc/dcm4chee-rid-xmbean.xml
Normal file
338
dcm4chee/default/conf/xmdesc/dcm4chee-rid-xmbean.xml
Normal file
@@ -0,0 +1,338 @@
|
||||
<?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[<b>Retrieve Information for Display Service</b><br/>
|
||||
Provides a RID Information Source Actor with ECG support.<br/>
|
||||
This Information Source is based on this PACs system and therefore only allows access to DICOM documents (Structured Reports, Waveforms (RID-ECG) and encapsulated Documents (PDF,CDA) <br/>
|
||||
The enumerated DICOM objects can be queried via RID retrieve information request
|
||||
and are rendered (and cached) as PDF documents for a RID retrieve document request.<br/>
|
||||
DICOM waveform objects are only visible in cardiology related queries and due to the resolution requirements
|
||||
of ECG RID profile rendered as vector graphic (PDF or xml+svg).
|
||||
<p>
|
||||
To allow domain specific queries (radiology, cardiology..), the Concept Name Code is used to assign 'document titles'
|
||||
to info request type (e.g requestType=SUMMARY-RADIOLOGY). This can be done in 'ConceptNameCodes'.
|
||||
</p><p>
|
||||
You may also define a list of SOP Class UIDs that are aware of Concept Name Code and always visible in a SUMMARY info request. (CuidsForSummaryAll)
|
||||
</p>]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.rid.mbean.RIDService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>RIDService</name>
|
||||
</constructor>
|
||||
|
||||
<attribute access="read-write" getMethod="getECGSopCuids"
|
||||
setMethod="setECGSopCuids">
|
||||
<description> List of SOP Class UIDs that are used to find ECG
|
||||
documents (seperated with semicolon or newline). Use either the
|
||||
SOP Class UID or the symbolic name! Use an empty value to reset
|
||||
this list. </description>
|
||||
<name>ECGSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSRSopCuids"
|
||||
setMethod="setSRSopCuids">
|
||||
<description> List of SOP Class UIDs that are used to find SR (text)
|
||||
documents (separated with semicolon or newline). Use either the
|
||||
SOP Class UID or the symbolic name! </description>
|
||||
<name>SRSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="
|
||||
BasicTextSR;
|
||||
EnhancedSR;
|
||||
ComprehensiveSR;
|
||||
ProcedureLogStorage;
|
||||
MammographyCADSR;
|
||||
KeyObjectSelectionDocument;
|
||||
ChestCADSR;
|
||||
XRayRadiationDoseSR;
|
||||
StructuredReportTextStorageRetired;
|
||||
StructuredReportDetailStorageRetired;
|
||||
StructuredComprehensiveStorageRetired
|
||||
" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getEncapsulatedDocumentSopCuids"
|
||||
setMethod="setEncapsulatedDocumentSopCuids">
|
||||
<description><![CDATA[List of SOP Class UIDs that are used to find encapsulated documents (PDF, CDA or others(private))<br/>
|
||||
Use either the SOP Class UID or the symbolic name! (seperated with semicolon or newline).<br/>
|
||||
Default: EncapsulatedPDFStorage;EncapsulatedCDAStorage
|
||||
]]></description>
|
||||
<name>EncapsulatedDocumentSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="EncapsulatedPDFStorage;
|
||||
EncapsulatedCDAStorage" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCuidsForSummaryAll"
|
||||
setMethod="setCuidsForSummaryAll">
|
||||
<description><![CDATA[List of SOP Class UIDs that should be added to a SUMMARY (all) list.<br/>
|
||||
Use either the SOP Class UID or the symbolic name (seperated with semicolon or newline).<br/>
|
||||
Use NONE to disable this feature.
|
||||
]]></description>
|
||||
<name>CuidsForSummaryAll</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSopCuidGroups"
|
||||
setMethod="setSopCuidGroups">
|
||||
<description><![CDATA[List of SOP Class UID Groups.(seperated with semicolon or newline)<br/>
|
||||
<dl><dt>Format: <cuidGrpID>:<SOPClassUID></dt>
|
||||
<dd>cuidGrpID: configurable (case sensitive) with exception to default groups:
|
||||
<dd> SR - Structured Reports</dd>
|
||||
<dd> ECG - ECG Waveforms</dd>
|
||||
<dd> DOC - Encapsulated Documents</dd>
|
||||
<dd/>
|
||||
<dd> SOPClassUID:Use either the SOP Class UID or the symbolic name</dd>
|
||||
</dl>
|
||||
]]></description>
|
||||
<name>SOPClassUIDGroups</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getConceptNameCodes"
|
||||
setMethod="setConceptNameCodes">
|
||||
<description><![CDATA[List of Concept Name Codes to assign 'document titles' to domains (requestType).<br/>
|
||||
<dl><dt>Format: <Code>:<reqTypes></dt>
|
||||
<dd> Code:<CodeValue>^<Designator>[^<Meaning>]</dd>
|
||||
<dd> reqTypes:<reqType>[,<reqType>[,..]]</dd>
|
||||
<dd> reqType :<reqTypeID>[(<cuidGrp>,<cuidGrp>,..)]</dd>
|
||||
<dd> cuidGrp: List of SOPClassUID Groups that are used to find document for this ConceptNameCode.
|
||||
(if not specified: all configured SOPClassUIDs in SOPClassUIDGroups)</dd>
|
||||
</dl>
|
||||
<dl><dt>reqType: Following reqTypeID can be used:</dt>
|
||||
<dd> A - SUMMARY</dd>
|
||||
<dd> R - SUMMARY-RADIOLOGY</dd>
|
||||
<dd> C - SUMMARY-CARDIOLOGY</dd>
|
||||
<dd> ECG - SUMMARY-CARDIOLOGY-ECG</dd>
|
||||
<dd> L - SUMMARY-LABORATORY</dd>
|
||||
<dd> S - SUMMARY-SURGERY</dd>
|
||||
<dd> E - SUMMARY-EMERGENCY</dd>
|
||||
<dd> D - SUMMARY-DISCHARGE</dd>
|
||||
<dd> I - SUMMARY-ICU (Intensive Care Report)</dd>
|
||||
<dd> P - SUMMARY-RX (Prescription Report)</dd>
|
||||
</dl>
|
||||
<dl><dt>cuidGrp: Each cuidGrpID defined in SOPClassUIDGroups can be used. Default groups:</dt>
|
||||
<dd> SR - Structured Reports</dd>
|
||||
<dd> ECG - ECG Waveforms</dd>
|
||||
<dd> DOC - Encapsulated Documents</dd>
|
||||
</dl>
|
||||
]]></description>
|
||||
<name>ConceptNameCodes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="
|
||||
11522-0^LN^Echocardiography Report:A,C;
|
||||
11538-6^LN^CT Chest Report:R,A;
|
||||
18760-9^LN^Ultrasound Report:R,A;
|
||||
18758-3^LN^PET Scan Report:R,A;
|
||||
18757-5^LN^Nuclear Medicine Report:R,A;
|
||||
18745-0^LN^Cardiac Catheteization Report:A,C;
|
||||
11541-0^LN^MRI Head Report:R,A;
|
||||
11540-2^LN^CT Abdomen Report:R,A;
|
||||
18756-7^LN^MRI Spine Report:R,A;
|
||||
18755-9^LN^MRI Report:R,A;
|
||||
125200^DCM^Adult Echocardiography Procedure Report:A,C;
|
||||
11525-3^LN^Ultrasound Obstetric and Gyn Report:R,A;
|
||||
18747-6^LN^CT Report:R,A;
|
||||
10001^99SUPP97^Quantitative Arteriography report:A,C;
|
||||
122291^DCM^CT/MR Cardiovascular Report:A,C;
|
||||
18748-4^LN^Diagnostic Imaging Report:R,A;
|
||||
122292^DCM^Quantitative Ventriculography Report:A,C;
|
||||
11539-4^LN^CT Head Report:R,A;
|
||||
11528-7^LN^Radiology Report:R,A" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDocTitlePatterns"
|
||||
setMethod="setDocTitlePatterns">
|
||||
<description><![CDATA[List of RegEx patterns to find encapsulated documents by Document Title (0042,0010).<br/>
|
||||
<dl><dt>Format: <reqType>:<title></dt>
|
||||
<dt>reqType: Following IDs can be used:</dt>
|
||||
<dd> A - SUMMARY</dd>
|
||||
<dd> R - SUMMARY-RADIOLOGY</dd>
|
||||
<dd> C - SUMMARY-CARDIOLOGY</dd>
|
||||
<dd> ECG - SUMMARY-CARDIOLOGY-ECG</dd>
|
||||
<dd> L - SUMMARY-LABORATORY</dd>
|
||||
<dd> S - SUMMARY-SURGERY</dd>
|
||||
<dd> E - SUMMARY-EMERGENCY</dd>
|
||||
<dd> D - SUMMARY-DISCHARGE</dd>
|
||||
<dd> I - SUMMARY-ICU (Intensive Care Report)</dd>
|
||||
<dd> P - SUMMARY-RX (Prescription Report)</dd>
|
||||
<dt>title: Regular expression for selecting Document Title</dt>
|
||||
</dl>
|
||||
]]></description>
|
||||
<name>DocTitlePatterns</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getWadoURL"
|
||||
setMethod="setWadoURL">
|
||||
<description> URL to WADO service to get images for reports.
|
||||
</description>
|
||||
<name>WadoURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="http://localhost:8080/wado" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRIDSummaryXsl"
|
||||
setMethod="setRIDSummaryXsl">
|
||||
<description> Path and name of XSL file to render RID Summary
|
||||
request. </description>
|
||||
<name>RIDSummaryXsl</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="xsl/IHEDocumentList.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isUseXSLInstruction"
|
||||
setMethod="setUseXSLInstruction">
|
||||
<description> Enables XSL processing instruction in xml file.
|
||||
</description>
|
||||
<name>UseXSLInstruction</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isUseOrigFile"
|
||||
setMethod="setUseOrigFile">
|
||||
<description> If enabled, A RID request will use the original dicom
|
||||
file to generate a document. </description>
|
||||
<name>UseOrigFile</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSrImageRows"
|
||||
setMethod="setSrImageRows">
|
||||
<description> Set fixed size of referenced images in rendered
|
||||
Structured Reports (by rows). NONE means original image size.
|
||||
</description>
|
||||
<name>SRfixedImageRows</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getWaveformCorrection"
|
||||
setMethod="setWaveformCorrection">
|
||||
<description>Waveform Correction factor.</description>
|
||||
<name>WaveformCorrection</name>
|
||||
<type>float</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getConfigDir"
|
||||
setMethod="setConfigDir">
|
||||
<description><![CDATA[Directory where XSL stylesheet <code>fobsr.xsl</code> to render SR exists.<br/>
|
||||
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-rid"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getQueryRetrieveScpName"
|
||||
setMethod="setQueryRetrieveScpName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>QueryRetrieveScpName</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>
|
||||
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description> Retrieve Information for Display (Summary)
|
||||
</description>
|
||||
<name>getRIDSummary</name>
|
||||
<parameter>
|
||||
<description>Value object of the request.</description>
|
||||
<name>reqVO</name>
|
||||
<type>org.dcm4chex.rid.common.RIDRequestObject</type>
|
||||
</parameter>
|
||||
<return-type> org.dcm4chex.rid.common.RIDResponseObject
|
||||
</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Retrieve Document for Display</description>
|
||||
<name>getRIDDocument</name>
|
||||
<parameter>
|
||||
<description>Value object of the request.</description>
|
||||
<name>reqVO</name>
|
||||
<type>org.dcm4chex.rid.common.RIDRequestObject</type>
|
||||
</parameter>
|
||||
<return-type> org.dcm4chex.rid.common.RIDResponseObject
|
||||
</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Get DataHandler for Document</description>
|
||||
<name>getDocumentDataHandler</name>
|
||||
<parameter>
|
||||
<description>ObjectUID of Document.</description>
|
||||
<name>objectUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Content Type (MIME Type).</description>
|
||||
<name>contentType</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>javax.activation.DataHandler</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
85
dcm4chee/default/conf/xmdesc/dcm4chee-routeonpps-xmbean.xml
Normal file
85
dcm4chee/default/conf/xmdesc/dcm4chee-routeonpps-xmbean.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<?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[Route Studies triggered by receiving
|
||||
General Purpose Performed Procedure Step N-CREATE-RQ with particular
|
||||
Performed Work Item Code by General Purpose Performed Procedure Step SCP.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.movescu.RouteOnPPSService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>RouteOnPPSService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getRoutingRules"
|
||||
setMethod="setRoutingRules">
|
||||
<description><![CDATA[
|
||||
Maps Performed Work Item Codes in received General Purpose
|
||||
Performed Procedure Step N-CREATE-RQ to destination AETs.
|
||||
Format: CODE_VALUE^CODING_SCHEMEDESIGNATOR:AET1,AET2
|
||||
(e.g.: 110001^DCM:CENTRAL1,CENTRAL2).
|
||||
Multiple mappings can be specified, separated by new line (or semicolon).
|
||||
NONE = no routing of Studies.
|
||||
]]>
|
||||
</description>
|
||||
<name>RoutingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRoutingPriority" setMethod="setRoutingPriority">
|
||||
<description>Routing priority. Enumerated Values: LOW, MEDIUM, HIGH.
|
||||
</description>
|
||||
<name>RoutingPriority</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="MEDIUM"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getGpwlScpServiceName"
|
||||
setMethod="setGpwlScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>GpwlScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>MoveScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a test routing by handling a fake GPPPS Notification</description>
|
||||
<name>testRouting</name>
|
||||
<parameter>
|
||||
<description>Code (Format:codeValue^designator)</description>
|
||||
<name>code</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>studyUID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
66
dcm4chee/default/conf/xmdesc/dcm4chee-scheduler-xmbean.xml
Normal file
66
dcm4chee/default/conf/xmdesc/dcm4chee-scheduler-xmbean.xml
Normal file
@@ -0,0 +1,66 @@
|
||||
<?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[Scheduler Service used by other Services to register
|
||||
callbacks for periodical invocation by the JMX Timer Service]]>
|
||||
</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="Never"/>
|
||||
<!--persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/-->
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.SchedulerService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>SchedulerService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Register callback, return Scheduler ID</description>
|
||||
<name>startScheduler</name>
|
||||
<parameter>
|
||||
<description>Scheduler Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Period in ms</description>
|
||||
<name>period</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Callback</description>
|
||||
<name>listener</name>
|
||||
<type>javax.management.NotificationListener</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.Integer</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Unregister callback</description>
|
||||
<name>stopScheduler</name>
|
||||
<parameter>
|
||||
<description>Scheduler Name</description>
|
||||
<name>name</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Scheduler ID</description>
|
||||
<name>id</name>
|
||||
<type>java.lang.Integer</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Callback</description>
|
||||
<name>listener</name>
|
||||
<type>javax.management.NotificationListener</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
101
dcm4chee/default/conf/xmdesc/dcm4chee-scu-xmbean.dtd
Normal file
101
dcm4chee/default/conf/xmdesc/dcm4chee-scu-xmbean.dtd
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!ENTITY % mbean.dtd PUBLIC "-//JBoss//DTD JBOSS XMBEAN 1.1//EN"
|
||||
"http://www.jboss.org/j2ee/dtd/jboss_xmbean_1_1.dtd">
|
||||
|
||||
%mbean.dtd;
|
||||
|
||||
<!ENTITY defaultSCUAttributes '
|
||||
<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="30000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getDimseTimeout"
|
||||
setMethod="setDimseTimeout">
|
||||
<description>DIMSE message timeout in ms. 0 = no timeout.
|
||||
</description>
|
||||
<name>DIMSETimeout</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1200000"/>
|
||||
</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="getMaxPDULength"
|
||||
setMethod="setMaxPDULength">
|
||||
<description>Maximum protocol data unit (PDU) package length for receiving PDUs.
|
||||
</description>
|
||||
<name>MaximumPDULength</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="16352"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isTcpNoDelay"
|
||||
setMethod="setTcpNoDelay">
|
||||
<description>Send packets as quickly as possible (Disable Nagle 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="getTLSConfigName"
|
||||
setMethod="setTLSConfigName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TLSConfigName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
'>
|
||||
|
||||
130
dcm4chee/default/conf/xmdesc/dcm4chee-sendmail-xmbean.xml
Normal file
130
dcm4chee/default/conf/xmdesc/dcm4chee-sendmail-xmbean.xml
Normal file
@@ -0,0 +1,130 @@
|
||||
<?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>Simple SMTP Mail Sender. Use to send email messages through SMTP.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.SendMailService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>SendMailService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getSmtpHost" setMethod="setSmtpHost">
|
||||
<!-- Network -->
|
||||
<description>The SMTP host name of your mail server.
|
||||
</description>
|
||||
<name>SmtpHost</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="localhost"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSmtpPort" setMethod="setSmtpPort">
|
||||
<!-- Network -->
|
||||
<description>The SMTP port of your mail server (default is 25).
|
||||
</description>
|
||||
<name>SmtpPort</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="25"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isSmtpAuth" setMethod="setSmtpAuth">
|
||||
<description>If true, attempt to authenticate the user using the AUTH command. Defaults to false.
|
||||
</description>
|
||||
<name>SmtpAuthentication</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSmtpUser" setMethod="setSmtpUser">
|
||||
<description>Optional - if you use authenticated SMTP to send email, enter your username.
|
||||
</description>
|
||||
<name>SmtpUser</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="write-only" setMethod="setSmtpPassword">
|
||||
<description>Optional - as above, enter your password if you use authenticated SMTP.
|
||||
</description>
|
||||
<name>SmtpPassword</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value=""/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description>Number and intervals of retries for a failed
|
||||
email delivery. <br>Format:
|
||||
<br>Comma separated list of <i>number</i> x <i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Send email.
|
||||
</description>
|
||||
<name>send</name>
|
||||
<parameter>
|
||||
<description>Subject</description>
|
||||
<name>subject</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>from address</description>
|
||||
<name>fromAddr</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>destination address</description>
|
||||
<name>toAddr</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Mail Body</description>
|
||||
<name>body</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
63
dcm4chee/default/conf/xmdesc/dcm4chee-soundex-xmbean.xml
Normal file
63
dcm4chee/default/conf/xmdesc/dcm4chee-soundex-xmbean.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?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[Soundex service. Provides operations to update Soundex
|
||||
codes for person names after change of Soundex algorithm configured in
|
||||
<code>conf/dcm4chee-attribute-filter.xml</code>.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.SoundexUpdateService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>SoundexUpdateService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Patient name.</description>
|
||||
<name>updatePatientNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Referring Physician name.</description>
|
||||
<name>updateReferringPhysicianNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Performing Physician name.</description>
|
||||
<name>updatePerformingPhysicianNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Requesting Physician name.</description>
|
||||
<name>updateRequestingPhysicianNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Verifying Observer name.</description>
|
||||
<name>updateVerifyingObserverNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Performing Physician name in MWL items.</description>
|
||||
<name>updateMWLPerformingPhysicianNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Update Soundex code of Human Performer name in GPSPS.</description>
|
||||
<name>updateGPSPSHumanPerformerNameSoundex</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
449
dcm4chee/default/conf/xmdesc/dcm4chee-stgcmt-xmbean.xml
Normal file
449
dcm4chee/default/conf/xmdesc/dcm4chee-stgcmt-xmbean.xml
Normal file
@@ -0,0 +1,449 @@
|
||||
<?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>DICOM Storage Commitment SCU/SCP. Provides a DICOM Storage
|
||||
Commitment Service in the Service Class Provider
|
||||
(SCP) and the Service Class User (SCU) Role. When acting as the SCP,
|
||||
the service handles storage commitment requests that it receives
|
||||
from modalities or evidence creators (workstations).
|
||||
When acting as the SCU, it may request storage
|
||||
commitment for objects for itself that were retrieved from the archive to a remote
|
||||
application. Typically this application is a further archive
|
||||
instance acting as a long-term or central archive.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.stgcmt.StgCmtScuScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StgCmtScuScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAETs"
|
||||
setMethod="setCalledAETs">
|
||||
<description>Accepted called AE titles, separated by \ (backslash).
|
||||
</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="getRequestStgCmtFromAETs"
|
||||
setMethod="setRequestStgCmtFromAETs">
|
||||
<description><![CDATA[Move Destination AE titles, from which Storage
|
||||
Commitment for transmitted objects shall be requested.
|
||||
<br>Format:
|
||||
<br><i>STORAGE_AET</i>:<i>STGCMT_AET</i>.
|
||||
<br>The AE title of the Storage Commitment Service (<i>STGCMT_AET</i>)
|
||||
can be omitted, if identical to the AE title of the
|
||||
Move Destination (<i>STORAGE_AET</i>).
|
||||
Separate multiple values with a \(backslash).
|
||||
NONE = No Move Destination from which Storage Commitment
|
||||
will be requested.]]>
|
||||
</description>
|
||||
<name>RequestStorageCommitFromAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTrustStgCmtFromAETs"
|
||||
setMethod="setTrustStgCmtFromAETs">
|
||||
<description><![CDATA[AE titles of trusted Storage Commitment SCPs.
|
||||
Only Storage Commitment results received from these sources will cause
|
||||
to mark referenced instances as external retrievable.
|
||||
Separate multiple values with a \(backslash).
|
||||
<br>NONE = Do not mark instances as external retrievable.
|
||||
<br>ANY = Trust Storage Commitment results from any Storage
|
||||
Commitment SCP.]]>
|
||||
</description>
|
||||
<name>TrustStorageCommitFromAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getReceiveResultInSameAssocTimeout"
|
||||
setMethod="setReceiveResultInSameAssocTimeout">
|
||||
<description>Time in milliseconds that the Storage Commit SCU waits to
|
||||
receive the Storage Commit Result in the same association
|
||||
as the storage commit was requested, before releasing the association.
|
||||
</description>
|
||||
<name>ReceiveResultInSameAssociationTimeout</name>
|
||||
<type>long</type>
|
||||
<descriptors>
|
||||
<value value="0"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getScuRetryIntervalls"
|
||||
setMethod="setScuRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries by the SCU to invoke
|
||||
Storage Commitment Requests.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i> x <i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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>SCURetryIntervals</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,12x5m"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getScpRetryIntervalls"
|
||||
setMethod="setScpRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries by the SCP to send
|
||||
Storage Commitment Results to the SCU.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example: 5x1m,10x10m means 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>SCPRetryIntervals</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x1m,12x5m"/>
|
||||
</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="getCoerceConfigDir"
|
||||
setMethod="setCoerceConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for Storage
|
||||
Commitment Result attribute coercion are located: if XSL stylesheet
|
||||
"stgcmt-neventreportrq.xsl" exists in this directory or a sub-directory
|
||||
equal to the AE Title of a Storage Commitment SCP, Storage Commitment
|
||||
Result attributes from this SCP will be coerced according this stylesheet.
|
||||
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="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent invoked or processed
|
||||
Storage Commit Requests.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</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="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="getQueryRetrieveScpServiceName"
|
||||
setMethod="setQueryRetrieveScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>QueryRetrieveScpServiceName</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="getTLSConfigName"
|
||||
setMethod="setTLSConfigName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TLSConfigName</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="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Used internally.</description>
|
||||
<name>onInstancesRetrieved</name>
|
||||
<parameter>
|
||||
<description>Called AE Title of Move SCP</description>
|
||||
<name>moveScp</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>AE Title of Move Destination.</description>
|
||||
<name>moveDest</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Dataset for StgCmt N-ACTION request.</description>
|
||||
<name>actionInfo</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Delay of sending StgCmt in ms.</description>
|
||||
<name>Delay</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Storage Commitment Request for Study.
|
||||
Return number of instances of scheduled StgCmt request.</description>
|
||||
<name>scheduleStgCmtForStudy</name>
|
||||
<parameter>
|
||||
<description>Study Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Called AET of StgCmt SCP to send request.</description>
|
||||
<name>called</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Calling AET in StgCmt request. (Use first AET of CalledAETs attribute as default)</description>
|
||||
<name>calling</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Schedule Storage Commitment Request for Series.
|
||||
Return number of instances of scheduled StgCmt request.</description>
|
||||
<name>scheduleStgCmtForSeries</name>
|
||||
<parameter>
|
||||
<description>Series Instance UID</description>
|
||||
<name>suid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Called AET of StgCmt SCP to send request.</description>
|
||||
<name>called</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Calling AET in StgCmt request. (Use first AET of CalledAETs attribute as default)</description>
|
||||
<name>calling</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
</mbean>
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
<?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 Commitment SCU requesting storage
|
||||
commitment for objects received from specific AETs.<br/>
|
||||
Use case: Request Storage Commit (and set external retrieve AET in consequence)
|
||||
for objects received from central archive without need to forward the objects
|
||||
back to central archive. (Migration, Prefetching, ..)
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.stgcmt.StgCmtScuBySeriesStoredService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StgCmtScuBySeriesStoredService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getRqStgCmtOnReceiveFromAETs"
|
||||
setMethod="setRqStgCmtOnReceiveFromAETs">
|
||||
<description><![CDATA[
|
||||
List of AET's for which a Storage Commit should be requested when objects are received from there.<br/>
|
||||
Use NONE to disable this service.
|
||||
Format:
|
||||
<AET>[=[<callingAET>:]<calledAET><br/>
|
||||
AET : The callingAET of C-STORE that should trigger a StgCmt request.<br/>
|
||||
callingAET : Calling AET of StgCmt request (default: first entry of CalledAETs attribute in StgCmtScuScp service) <br/>
|
||||
calledAET : Called AET of StgCmt request (default: <AET>)
|
||||
]]>
|
||||
</description>
|
||||
<name>RequestStgCmtOnReceiveFromAETs</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNoStgCmtIfExternalRetrieveAET"
|
||||
setMethod="setNoStgCmtIfExternalRetrieveAET">
|
||||
<description><![CDATA[
|
||||
Dont request a Storage Commit if objects are external retrievable.<br/>
|
||||
Possible Values:<br />
|
||||
NONE : Do always request a StgCmt.<br />
|
||||
ANY : Only request a StgCmt if a object is not external retrievable.<br />
|
||||
<AET>: Only request a StgCmt if a object is not external retrievable from this AET.<br/>
|
||||
]]>
|
||||
</description>
|
||||
<name>NoStgCmtIfExternalRetrieveAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getDelay"
|
||||
setMethod="setDelay">
|
||||
<description>Delay of sending StgCmt request in ms. This can be used to avoid DB deadlocks (SeriesStored.commit and StgCmt update)
|
||||
</description>
|
||||
<name>Delay</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="0"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStgCmtServiceName"
|
||||
setMethod="setStgCmtServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StgCmtServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
|
||||
1396
dcm4chee/default/conf/xmdesc/dcm4chee-storescp-xmbean.xml
Normal file
1396
dcm4chee/default/conf/xmdesc/dcm4chee-storescp-xmbean.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,180 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Study Reconciliation Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.StudyReconciliationService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StudyReconciliationService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getTaskInterval" setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which to check for studies for Reconciliation.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no Study Reconciliation should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no Study Reconciliation should be performed
|
||||
<br>NEVER = disable automatic Study Reconciliation
|
||||
<br>Example:10s!9-17 means every 10 seconds, poll the database and
|
||||
check study that need Reconciliation, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can ensure checks occur outside of peak imaging hours.]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if StudyReconciliation task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAET"
|
||||
setMethod="setCalledAET">
|
||||
<description>AE Title of reference FIND SCP.
|
||||
</description>
|
||||
<name>FindSCPAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TIANI_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCallingAET"
|
||||
setMethod="setCallingAET">
|
||||
<description>Calling AE Title used in association request to reference FIND SCP.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getMinStudyAge" setMethod="setMinStudyAge">
|
||||
<description>Minimum age of a study that will be checked for need of Reconciliation, in
|
||||
##w (in weeks), ##d (in days), or ##h (in hours).</description>
|
||||
<name>MinStudyAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLimitNumberOfStudiesPerTask" setMethod="setLimitNumberOfStudiesPerTask">
|
||||
<description>Maximum number of studies that are checked in one task.
|
||||
</description>
|
||||
<name>LimitNumberOfStudiesPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getScheduledStatus"
|
||||
setMethod="setScheduledStatus">
|
||||
<description>Status indicating studies scheduled for reconciliation..
|
||||
</description>
|
||||
<name>ScheduledStatus</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSuccessStatus"
|
||||
setMethod="setSuccessStatus">
|
||||
<description>Status to indicate successful reconciliation.
|
||||
</description>
|
||||
<name>SuccessStatus</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="0"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFailureStatus"
|
||||
setMethod="setFailureStatus">
|
||||
<description>Status to indicate failed reconciliation.
|
||||
</description>
|
||||
<name>FailureStatus</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="-1"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isKeepPriorPatientAfterMerge"
|
||||
setMethod="setKeepPriorPatientAfterMerge">
|
||||
<description><![CDATA[Keep prior patient after Patient Merge.<br/>
|
||||
This will allow to get correct patient information even the received DICOM objects contains a patient id of an merged patient.<br />
|
||||
If disabled, the prior patient will be deleted.
|
||||
]]></description>
|
||||
<name>KeepPriorPatientAfterMerge</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckStudyReconciliation"
|
||||
setMethod="setTimerIDCheckStudyReconciliation">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckStudyReconciliation</name>
|
||||
<type>java.lang.String</type>
|
||||
</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="getSchedulerServiceName"
|
||||
setMethod="setSchedulerServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>SchedulerServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Used internally.</description>
|
||||
<name>check</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Reschedule failed Reconciliations.</description>
|
||||
<name>reschedule</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
54
dcm4chee/default/conf/xmdesc/dcm4chee-studystatus-xmbean.xml
Normal file
54
dcm4chee/default/conf/xmdesc/dcm4chee-studystatus-xmbean.xml
Normal file
@@ -0,0 +1,54 @@
|
||||
<?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[Study Status Service to update Study Status triggered by receive
|
||||
of General Purpose Performed Procedure Step N-CREATE-RQ with particular
|
||||
Performed Work Item Code by General Purpose Performed Procedure Step SCP.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.StudyStatusService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StudyStatusService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getStatusUpdateRules"
|
||||
setMethod="setStatusUpdateRules">
|
||||
<description><![CDATA[
|
||||
Maps Performed Work Item Codes in received General Purpose
|
||||
Performed Procedure Step N-CREATE-RQ to Study Status IDs.
|
||||
Format: CODE_VALUE^CODING_SCHEMEDESIGNATOR:STUDY_STATUS_ID
|
||||
(e.g.: 110005^DCM:READ).
|
||||
Multiple mappings can be specified, separated by new line (or semicolon).
|
||||
NONE = no update of Study Status.
|
||||
]]>
|
||||
</description>
|
||||
<name>StatusUpdateRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="110001^DCM:COMPLETED;110005^DCM:READ"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getGpwlScpServiceName"
|
||||
setMethod="setGpwlScpServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>GpwlScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
253
dcm4chee/default/conf/xmdesc/dcm4chee-stymgtscp-xmbean.xml
Normal file
253
dcm4chee/default/conf/xmdesc/dcm4chee-stymgtscp-xmbean.xml
Normal file
@@ -0,0 +1,253 @@
|
||||
<?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>Private Study Management Service SCP</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.stymgt.StudyMgtScpService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StudyMgtScpService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getCalledAETs"
|
||||
setMethod="setCalledAETs">
|
||||
<description>List of accepted called AE titles, separated by \ (backslash).
|
||||
</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="isIgnoreDeleteFailed"
|
||||
setMethod="setIgnoreDeleteFailed">
|
||||
<description>Ignore study deletion failures if the study was not found.
|
||||
</description>
|
||||
<name>IgnoreStudyDeleteFailed</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPatientMatching"
|
||||
setMethod="setPatientMatching">
|
||||
<description><![CDATA[Defines which Patient Attributes in received
|
||||
N-CREATE requests for a Study Create action 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 STUDY MANAGEMENT
|
||||
N-CREATE request. Attribute names without question marks specifies, that DICOM
|
||||
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 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 N-CREATE request *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause study assignments to wrong patient.<br/>
|
||||
<p>Default: <code>pid,issuer?</code>
|
||||
]]>
|
||||
</description>
|
||||
<name>PatientMatching</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid,issuer?" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getStudyMovePatientMatching"
|
||||
setMethod="setStudyMovePatientMatching">
|
||||
<description><![CDATA[Defines which Patient Attributes in received
|
||||
N-SET requests for a Study Move action 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 a value with only one
|
||||
character will be interpreted as initial, and match with any value starting
|
||||
with this character.
|
||||
<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 STUDY MANAGEMENT
|
||||
N-CREATE request. Attribute names without question marks specifies, that DICOM
|
||||
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 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 N-CREATE request *and* in the matching Patient Record.
|
||||
<p><b>Warning:</b>Improper configuration may cause study assignments to wrong patient.<br/>
|
||||
<p>Default: <code>pid,issuer</code>
|
||||
]]>
|
||||
</description>
|
||||
<name>StudyMovePatientMatching</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="pid,issuer" />
|
||||
</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="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="getContentEditServiceName"
|
||||
setMethod="setContentEditServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>ContentEditServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
228
dcm4chee/default/conf/xmdesc/dcm4chee-stymgtscu-xmbean.xml
Normal file
228
dcm4chee/default/conf/xmdesc/dcm4chee-stymgtscu-xmbean.xml
Normal file
@@ -0,0 +1,228 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mbean PUBLIC "DCMSCU attributes template extends jboss_xmbean_1_1.dtd" "dcm4chee-scu-xmbean.dtd">
|
||||
|
||||
<mbean>
|
||||
<description>Private Study Management Service SCU Service used to forward
|
||||
messages received by private Study Management Service SCP Service. You must use the Content Edit service to identify where study information updates are sent and received. Use the values in the CalledAETitle and the CallingAETitle attributesto configure
|
||||
specific forwarding rules in this StudyMgtScu Service for study information updates
|
||||
received from the Content Edit Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.stymgt.StudyMgtScuService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>StudyMgtScuService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
&defaultSCUAttributes;
|
||||
<attribute access="read-write" getMethod="getForwardingRules" setMethod="setForwardingRules">
|
||||
<description>List of forwarding rules.
|
||||
<br>Format:<br>[<i>condition</i>=<i>value</i>,<i>condition</i>=<i>value</i>,...]<i>aeTitle</i>, <i>aeTitle</i>,... | NONE
|
||||
|
||||
<br>where
|
||||
<br><i>condition</i> = calling|called|command
|
||||
<br><i>value</i> =
|
||||
the <i>value</i> is dependant on the condition variable used:<br>calling - if the condition variable is calling, the value is the AE title. Possible values can be configured in the ContentEdit service.
|
||||
<br>called - if the condition variable is called, the value is the called AE title. Possible values can be configured in the ContentEdit service.
|
||||
<br>command - if the condition variable is command, the values can be N_CREATE_RQ | N_SET_RQ | N_DELETE_RQ | N_ACTION_RQ(1) | N_ACTION_RQ(2)
|
||||
<br>Note that you can optionally have a comma-separated list of <i>condition</i>=<i>value</i> statements.
|
||||
<br><i>aeTitle</i> = the AE title the forward rule applies to
|
||||
<br>Note that you can have a comma-separate list of <i>aeTitles</i> to which the forwarding rule applies.
|
||||
</description>
|
||||
<name>ForwardingRules</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="[calling=PACS_NODEXX]PACS_CENTRAL"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isRetryIfNoSuchSOPInstance" setMethod="setRetryIfNoSuchSOPInstance">
|
||||
<description>Retry forward if SCP returns status 0112H (No Such SOP Instance).
|
||||
</description>
|
||||
<name>RetryIfNoSuchSOPInstance</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getCallingAET" setMethod="setCallingAET">
|
||||
<description>Calling AET used in Association Request.
|
||||
</description>
|
||||
<name>CallingAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getRetryIntervalls" setMethod="setRetryIntervalls">
|
||||
<description>Number and intervals of retries for the failed
|
||||
forward requests.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i> x <i>interval</i> pairs.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br>Example:
|
||||
<br>5x1m,10x10m means 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="5x1m,12x5m,24x1h,7x1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency" setMethod="setConcurrency">
|
||||
<description>Maximum number of concurrent forwarded messages.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1"/>
|
||||
</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="getStudyMgtScpServiceName" setMethod="setStudyMgtScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StudyMgtScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Forward DIMSE according to the configured ForwardingRules</description>
|
||||
<name>forward</name>
|
||||
<parameter>
|
||||
<description>Original Calling AE title</description>
|
||||
<name>origCallingAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Original Called AE title</description>
|
||||
<name>origCalledAET</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UID</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Command Field</description>
|
||||
<name>cmdfield</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Action Type ID</description>
|
||||
<name>actionTypeID</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Data Set</description>
|
||||
<name>dataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Invoke N_CREATE at remote AE.</description>
|
||||
<name>ncreate</name>
|
||||
<parameter>
|
||||
<description>AET of Remote AE</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UID</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Data Set</description>
|
||||
<name>dataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Invoke N_SET at remote AE.</description>
|
||||
<name>nset</name>
|
||||
<parameter>
|
||||
<description>AET of Remote AE</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UID</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Data Set</description>
|
||||
<name>dataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Invoke N_ACTION at remote AE.</description>
|
||||
<name>naction</name>
|
||||
<parameter>
|
||||
<description>AET of Remote AE</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UID</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Action Type ID</description>
|
||||
<name>actionTypeID</name>
|
||||
<type>int</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Data Set</description>
|
||||
<name>dataset</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Invoke N_DELETE at remote AE.</description>
|
||||
<name>ndelete</name>
|
||||
<parameter>
|
||||
<description>AET of Remote AE</description>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>SOP Instance UID</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
249
dcm4chee/default/conf/xmdesc/dcm4chee-syncfilestatus-xmbean.xml
Normal file
249
dcm4chee/default/conf/xmdesc/dcm4chee-syncfilestatus-xmbean.xml
Normal file
@@ -0,0 +1,249 @@
|
||||
<?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[Check File Status Service.<br />
|
||||
Check one or more file systems for files with given file status <b>CheckFileStatus</b> and query file stati via
|
||||
configured HSM Module for update.<br />
|
||||
By configuring <b>HSMModulServicename</b> to Mapped HSMModule (<i>service=FileCopyHSMModule,type=Mapped</i>)
|
||||
the monitored file systems can be of different types (FileBased, Command,..)
|
||||
]]></description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.hsm.SyncFileStatusService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>SyncFileStatusService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileSystem"
|
||||
setMethod="setFileSystem">
|
||||
<description><![CDATA[Directory/Mount Points of the monitored File Systems. <br />
|
||||
NONE = disabled this service.]]>
|
||||
</description>
|
||||
<name>MonitoredFileSystem</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getHSMModulServicename"
|
||||
setMethod="setHSMModulServicename">
|
||||
<description><![CDATA[HSM Module to query status of files on HSM systems.<br />
|
||||
Module 'dcm4chee.archive:service=FileCopyHSMModule,type=Mapped' can be used if more than one HSM modules are active.
|
||||
]]></description>
|
||||
<name>HSMModulServicename</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="dcm4chee.archive:service=FileCopyHSMModule,type=Command"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMinimumFileAge"
|
||||
setMethod="setMinimumFileAge">
|
||||
<description><![CDATA[Only files created longer ago than the specified intervall
|
||||
##w (in weeks), ##d (in days), ##h (in hours) are checked for status change.]]>
|
||||
</description>
|
||||
<name>MinimumFileAge</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCheckFileStatus"
|
||||
setMethod="setCheckFileStatus">
|
||||
<description>Checks files with the specified status for status change.
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED
|
||||
</description>
|
||||
<name>CheckFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TO_ARCHIVE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isVerifyTar"
|
||||
setMethod="setVerifyTar">
|
||||
<description><![CDATA[Enables verification of tar files.<br />
|
||||
If enabled the tar file is verified by <br />
|
||||
1) checking MD5 sums of the tar content.<br />
|
||||
2) check if tar file contains the file.<br />
|
||||
Only applicable if filesystem is a tar filesystem!
|
||||
]]></description>
|
||||
<name>VerifyTar</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getSkipVerifyTarHSMStati"
|
||||
setMethod="setSkipVerifyTarHSMStati">
|
||||
<description><![CDATA[List of HSM stati for which tar verify should be skipped.<br />
|
||||
Enumerated values: DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED or NONE.<br />
|
||||
Optionally HSM status can be overwritten by <hsmStatus>=<newStatus><br />
|
||||
newStatus can be DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED or DELETE.<br />
|
||||
Only applicable if VeryfyTar is enabled!
|
||||
]]></description>
|
||||
<name>SkipVerifyTarHSMStati</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getInvalidTarStatus"
|
||||
setMethod="setInvalidTarStatus">
|
||||
<description><![CDATA[New file status or DELETE if verification of tar failed.<br />
|
||||
Enumerated values: DELETE or DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED, MD5_CHECK_FAILED<br />
|
||||
DELETE..Delete all file entities related to this invalid tar file.<br />
|
||||
Only applicable if VerifyTar is enabled.
|
||||
]]></description>
|
||||
<name>InvalidTarStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNotInTarStatus"
|
||||
setMethod="setNotInTarStatus">
|
||||
<description><![CDATA[New file status or DELETE if file is not found in related tar file.<br />
|
||||
Enumerated values: DELETE or DEFAULT, TO_ARCHIVE, ARCHIVED, QUERY_HSM_FAILED<br />
|
||||
DELETE..Delete such invalid file entities.
|
||||
Only applicable if VerifyTar is enabled.
|
||||
]]></description>
|
||||
<name>NotInTarStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="DEFAULT"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTaskInterval"
|
||||
setMethod="setTaskInterval">
|
||||
<description><![CDATA[Interval in which the File status is checked.
|
||||
<br>Format:
|
||||
<br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
|
||||
<br><i>interval</i> = ##m (in minutes), ##h (in hours).
|
||||
<br><i>from</i> = start hour (0-23) when no file status check should be performed
|
||||
<br><i>to</i> = end hour (0-23) when no file status check should be performed
|
||||
<br>NEVER = disable file status checking
|
||||
<br>Example:<br>1h!9-17 means every hour,
|
||||
synchronize file status, except between the hours of 9:00am and 5:00pm.
|
||||
By setting this type of TaskInterval, you can perform file status synchronisation outside of peak hours.
|
||||
]]>
|
||||
</description>
|
||||
<name>TaskInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="getOldestCreatedTimeOfCheckFileStatus">
|
||||
<description>Creation Date of oldest file on configured filesystem with file status of configured CheckFileStatus.
|
||||
</description>
|
||||
<name>OldestCreatedTimeOfCheckFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getLimitNumberOfFilesPerTask"
|
||||
setMethod="setLimitNumberOfFilesPerTask">
|
||||
<description>Maximum number of files which are checked for status change in one task.
|
||||
</description>
|
||||
<name>NumberOfFilesPerTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1000"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if syncFileStatus task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDCheckSyncFileStatus"
|
||||
setMethod="setTimerIDCheckSyncFileStatus">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDCheckSyncFileStatus</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTarRetrieverName"
|
||||
setMethod="setTarRetrieverName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TarRetrieverName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Check files for status changes.<br />
|
||||
Return number of updated files or -1 if check is already running (Timer).
|
||||
]]></description>
|
||||
<name>check</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Update OldestCreatedTimeOfCheckFileStatus.
|
||||
This will be done automatically every day after midnight if this service is enabled.
|
||||
]]></description>
|
||||
<name>updateOldestCreatedTimeOfCheckFileStatus</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Set ARCHIVED flag of Instances where files on given file system has file_status=2 (ARCHIVED).<br />
|
||||
This can be used to update instances that are already copied with a version prior to 2.16.0.
|
||||
]]></description>
|
||||
<name>syncArchivedStatusOfInstances</name>
|
||||
<parameter>
|
||||
<description>File System ID where files must have file status ARCHIVED.
|
||||
</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[Limit number of files that are processed. (values < 1 --> default of 1000)
|
||||
]]></description>
|
||||
<name>limit</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
192
dcm4chee/default/conf/xmdesc/dcm4chee-tarretriever-xmbean.xml
Normal file
192
dcm4chee/default/conf/xmdesc/dcm4chee-tarretriever-xmbean.xml
Normal file
@@ -0,0 +1,192 @@
|
||||
<?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>TAR Retriever Service.</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.hsm.TarRetrieverService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>TarRetrieverService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getHSMModulServicename"
|
||||
setMethod="setHSMModulServicename">
|
||||
<description><![CDATA[HSM Module to retrieve files/tarballs from HSM systems.<br />
|
||||
Use NONE if filesystem has no HSM support.<br />
|
||||
Module 'dcm4chee.archive:service=FileCopyHSMModule,type=Mapped' can be used if more than one HSM modules are active.
|
||||
]]></description>
|
||||
<name>HSMModulServicename</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getCacheRoot"
|
||||
setMethod="setCacheRoot">
|
||||
<description><![CDATA[Root directory in which retrieved tars are extracted.
|
||||
A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.
|
||||
<b>Attention</b>: For reliable function of the deletion of least recent
|
||||
accessed objects, a separate file system should be used for the cache.
|
||||
You also have to take care for moving existing files in the cache to the
|
||||
new location yourself!]]>
|
||||
</description>
|
||||
<name>CacheRoot</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-extracted"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCacheJournalRootDir"
|
||||
setMethod="setCacheJournalRootDir">
|
||||
<description><![CDATA[Root directory for cache journal files. A relative
|
||||
path name is resolved relative to
|
||||
<i><archive-install-directory></i>/server/default/.
|
||||
<b>Attention:</b> You have to take care for moving existing journal files
|
||||
to the new location yourself!]]>
|
||||
</description>
|
||||
<name>CacheJournalRootDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="tar-extracted-journal" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getCacheJournalFilePathFormat"
|
||||
setMethod="setCacheJournalFilePathFormat">
|
||||
<description><![CDATA[Defines journal file path, with 'yyyy' will be
|
||||
replaced by the current year, 'MM' by the current month, 'dd' by the
|
||||
current date, 'HH' by the current hour and 'mm' by the current minute.
|
||||
<b>Attention:</b> Can only be modified if the cache is empty!]]>
|
||||
</description>
|
||||
<name>CacheJournalFilePathFormat</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="yyyy/MM/dd/HH/mm" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMinFreeDiskSpace"
|
||||
setMethod="setMinFreeDiskSpace">
|
||||
<description><![CDATA[Minimum free disk space on Cache Directory. If the
|
||||
free available disk space on the cache directory falls below this value,
|
||||
least recent accessed sub-directories are deleted, BEFORE further TARs
|
||||
are retrieved and extracted. 1MB = 1000000 bytes, 1GB = 1000MB.]]>
|
||||
</description>
|
||||
<name>MinimumFreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="50MB"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getPreferredFreeDiskSpace"
|
||||
setMethod="setPreferredFreeDiskSpace">
|
||||
<description><![CDATA[Preferred free disk space on Cache Directory. If the
|
||||
free available disk space on the cache directory falls below this value,
|
||||
least recent accessed sub-directories are deleted, WITHOUT blocking
|
||||
retrieve and extraction of further TARs. 1MB = 1000000 bytes, 1GB = 1000MB.]]>
|
||||
</description>
|
||||
<name>PreferredFreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="100MB"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getFreeDiskSpace">
|
||||
<description><![CDATA[Current free disk space on Cache Directory.
|
||||
1MB = 1000000 bytes, 1GB = 1000MB.]]>
|
||||
</description>
|
||||
<name>FreeDiskSpace</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isCheckMD5"
|
||||
setMethod="setCheckMD5">
|
||||
<description><![CDATA[
|
||||
Defines if the MD5 sum of TAR file entries shall be checked against
|
||||
values in first entry <code>MD5SUM</code> file during retrieval. If
|
||||
the check fails, the retrieval will fail. If activated, but the first
|
||||
TAR entry is not the <code>MD5SUM</code> file, a WARN messages will be
|
||||
logged in <code>server.log</code>.]]>
|
||||
</description>
|
||||
<name>CheckMD5</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>Size of write byte buffer.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Retrieve file from TAR specified by File System ID and File ID.
|
||||
</description>
|
||||
<name>retrieveFile</name>
|
||||
<parameter>
|
||||
<description>File System ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>File ID</description>
|
||||
<name>fileID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[Fetch TAR file by File System ID and TAR path.
|
||||
]]></description>
|
||||
<name>fetchTarFile</name>
|
||||
<parameter>
|
||||
<description>File System ID</description>
|
||||
<name>fsID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description><![CDATA[TAR Path (File ID without file reference (!<FilePath in tar file>))]]></description>
|
||||
<name>tarPath</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.io.File</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Delete oldest directories to free specified amount of disk space.
|
||||
</description>
|
||||
<name>free</name>
|
||||
<parameter>
|
||||
<description>minimal amount of disk space to be released</description>
|
||||
<name>amount</name>
|
||||
<type>long</type>
|
||||
</parameter>
|
||||
<return-type>long</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
85
dcm4chee/default/conf/xmdesc/dcm4chee-templates-xmbean.xml
Normal file
85
dcm4chee/default/conf/xmdesc/dcm4chee-templates-xmbean.xml
Normal file
@@ -0,0 +1,85 @@
|
||||
<?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[Cache compiled XSL Stylesheets.]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.TemplatesService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>TemplatesService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="ACTION">
|
||||
<description>Get compiled stylesheet for specified XSL file.</description>
|
||||
<name>getTemplates</name>
|
||||
<parameter>
|
||||
<name>xslfile</name>
|
||||
<type>java.io.File</type>
|
||||
</parameter>
|
||||
<return-type>javax.xml.transform.Templates</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Get compiled stylesheet for specified AE title and file name.</description>
|
||||
<name>getTemplatesForAET</name>
|
||||
<parameter>
|
||||
<name>configDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>aet</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>fileName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>javax.xml.transform.Templates</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[find compiled stylesheet in list of subdirectories and file names.<br>
|
||||
A filename has following format: [<prefix>]<fileNames[i]>[<postfix>] <br />
|
||||
The first file that exists in given subdirectories or configDirectory is used to get the Template.
|
||||
]]></description>
|
||||
<name>findTemplates</name>
|
||||
<parameter>
|
||||
<name>configDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>subdirs</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>prefix</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>fileNames</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>postfix</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>javax.xml.transform.Templates</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Clear cache to force recompile at next access.</description>
|
||||
<name>clearCache</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
|
||||
165
dcm4chee/default/conf/xmdesc/dcm4chee-tlsconf-xmbean.xml
Normal file
165
dcm4chee/default/conf/xmdesc/dcm4chee-tlsconf-xmbean.xml
Normal file
@@ -0,0 +1,165 @@
|
||||
<?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>TLS Configuration</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.TLSConfigService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>TLSConfigService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getEnabledProtocols"
|
||||
setMethod="setEnabledProtocols">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Comma separated list of protocol versions enabled
|
||||
for use on this connection. See <b>SupportedProtocols</b> for possible
|
||||
values. Default: TLSv1,SSLv3]]>
|
||||
</description>
|
||||
<name>EnabledProtocols</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="TLSv1,SSLv3" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-only"
|
||||
getMethod="getSupportedProtocols">
|
||||
<description><![CDATA[Supported protocol versions by the used SSL provider.
|
||||
Defines possible values for <b>EnabledProtocols</b>.]]>
|
||||
</description>
|
||||
<name>SupportedProtocols</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isNeedClientAuth"
|
||||
setMethod="setNeedClientAuth">
|
||||
<!-- Security -->
|
||||
<description><![CDATA[Set to <tt>true</tt> if client authentication is
|
||||
required, or <tt>false</tt> if no client authentication is desired.]]>
|
||||
</description>
|
||||
<name>NeedClientAuthentication</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getKeyStoreURL"
|
||||
setMethod="setKeyStoreURL">
|
||||
<!-- Security -->
|
||||
<description>URL of key store containing key used in SSL handshake,
|
||||
when running in TLS mode.
|
||||
</description>
|
||||
<name>KeyStoreURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="resource:certificates/test_sys_1.p12" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="write-only"
|
||||
setMethod="setKeyStorePassword">
|
||||
<!-- Security -->
|
||||
<description>The password for access to key store,
|
||||
specified by attribute KeyStoreURL.
|
||||
</description>
|
||||
<name>KeyStorePassword</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="secret" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getTrustStoreURL"
|
||||
setMethod="setTrustStoreURL">
|
||||
<!-- Security -->
|
||||
<description>URL of trust store containing accepted certificates,
|
||||
when running in TLS mode.
|
||||
</description>
|
||||
<name>TrustStoreURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="resource:certificates/mesa_certs.jks" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="write-only"
|
||||
setMethod="setTrustStorePassword">
|
||||
<!-- Security -->
|
||||
<description>The password for access to trust store,
|
||||
specified by attribute TrustStoreURL.
|
||||
</description>
|
||||
<name>TrustStorePassword</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="secret" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="INFO">
|
||||
<description>Used internally</description>
|
||||
<name>handshakeFailedListener</name>
|
||||
<return-type>org.dcm4che.util.HandshakeFailedListener</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Used internally</description>
|
||||
<name>handshakeCompletedListener</name>
|
||||
<return-type>javax.net.ssl.HandshakeCompletedListener</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Used internally</description>
|
||||
<name>serverSocketFactory</name>
|
||||
<parameter>
|
||||
<name>cipherSuites</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>javax.net.ServerSocketFactory</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Used internally</description>
|
||||
<name>socketFactory</name>
|
||||
<parameter>
|
||||
<name>cipherSuites</name>
|
||||
<type>[Ljava.lang.String;</type>
|
||||
</parameter>
|
||||
<return-type>javax.net.SocketFactory</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Used internally</description>
|
||||
<name>startHandshake</name>
|
||||
<parameter>
|
||||
<name>sock</name>
|
||||
<type>java.net.Socket</type>
|
||||
</parameter>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<!-- Notifications -->
|
||||
<notification>
|
||||
<description>The notification sent whenever a SSL handshake failed on a
|
||||
given SSL connection.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>org.dcm4che.util.HandshakeFailedEvent</notification-type>
|
||||
</notification>
|
||||
<notification>
|
||||
<description>The notification sent whenever a SSL handshake completed on
|
||||
a given SSL connection.
|
||||
</description>
|
||||
<name>javax.management.Notification</name>
|
||||
<notification-type>javax.net.ssl.HandshakeCompletedEvent</notification-type>
|
||||
</notification>
|
||||
</mbean>
|
||||
|
||||
234
dcm4chee/default/conf/xmdesc/dcm4chee-updateattrs-xmbean.xml
Normal file
234
dcm4chee/default/conf/xmdesc/dcm4chee-updateattrs-xmbean.xml
Normal file
@@ -0,0 +1,234 @@
|
||||
<?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>
|
||||
Service to update patient.pat_attrs, study.study_attrs, series.series_attrs
|
||||
and instance.inst_attrs BLOB columns from filed instances. Useful after
|
||||
modification/extension of attribute filter configuration
|
||||
conf/dcm4chee-attribute-filter.xml.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.UpdateAttributesService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>UpdateAttributesService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getModality"
|
||||
setMethod="setModality">
|
||||
<description>
|
||||
Limit update to Series with specified Modality. 'ANY' = update Series
|
||||
with any Modality.
|
||||
</description>
|
||||
<name>Modality</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ANY" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getSourceAETitle"
|
||||
setMethod="setSourceAETitle">
|
||||
<description>
|
||||
Limit update to Series received from Storage SCU with specified AE
|
||||
Title. 'ANY' = update Series received from any Storage SCU.
|
||||
</description>
|
||||
<name>SourceAETitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ANY" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getUpdatedAfter"
|
||||
setMethod="setUpdatedAfter">
|
||||
<description>
|
||||
Limit update to Series which were last updated after the specified time.
|
||||
Format: YYYY-MM-DD hh:mm:ss, with YYYY = Year, MM = Month, DD = Day,
|
||||
hh = Hour, mm = Minute, ss = Second.
|
||||
|
||||
</description>
|
||||
<name>UpdatedAfter</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="2004-01-01 00:00:00" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getUpdatedBefore"
|
||||
setMethod="setUpdatedBefore">
|
||||
<description>
|
||||
Limit update to Series which were last updated before the specified time.
|
||||
Format: YYYY-MM-DD hh:mm:ss, with YYYY = Year, MM = Month, DD = Day, hh =
|
||||
Hour, mm = Minute, ss = Second. 'AUTO' will be replaced by modification
|
||||
date of attribute filter configuration conf/dcm4chee-attribute-filter.xml.
|
||||
</description>
|
||||
<name>UpdatedBefore</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AUTO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAvailability"
|
||||
setMethod="setAvailability">
|
||||
<description>
|
||||
Update Series with specified Availability: 'ONLINE' or 'NEARLINE'.
|
||||
</description>
|
||||
<name>Availability</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getMaximalNumberOfSeriesToUpdateByOneTask"
|
||||
setMethod="setMaximalNumberOfSeriesToUpdateByOneTask">
|
||||
<description>
|
||||
Limit maximal number of Series updated by operation updateMatchingSeries().
|
||||
</description>
|
||||
<name>MaximalNumberOfSeriesToUpdateByOneTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getCoerceConfigDir"
|
||||
setMethod="setCoerceConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for
|
||||
attribute coercion are located.<br /> 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="getCoerceStylesheet"
|
||||
setMethod="setCoerceStylesheet">
|
||||
<description><![CDATA[Name of stylesheet to coerce attributes after updating.<br />
|
||||
Use NONE to disable coercion]]>
|
||||
</description>
|
||||
<name>CoerceStylesheet</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isCoerceInstanceLevel"
|
||||
setMethod="setCoerceInstanceLevel">
|
||||
<description><![CDATA[Enable coercion via stylsheet also on instance level. <br />
|
||||
If disabled coercion is applied on Series/Study/Patient level.<br />
|
||||
Caution: enable this will be a performance issue!]]>
|
||||
</description>
|
||||
<name>CoerceInstanceLevel</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</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="getQueryRetrieveScpServiceName"
|
||||
setMethod="setQueryRetrieveScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>QueryRetrieveScpServiceName</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>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="INFO">
|
||||
<description>
|
||||
Returns number of Series which match specified Modality, source AE Title
|
||||
and last update time.
|
||||
</description>
|
||||
<name>countNumberOfMatchingSeriesToUpdate</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>
|
||||
Update attributes of instances of Series which match specified Modality,
|
||||
Source AE Title and last update time, limited by configured
|
||||
MaximalNumberOfSeriesToUpdateByOneTask. Returns number of updated Series.
|
||||
</description>
|
||||
<name>updateMatchingSeries</name>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>
|
||||
Update attributes of instances of Series which match specified Modality,
|
||||
Source AE Title and last update time, limited by configured
|
||||
MaximalNumberOfSeriesToUpdateByOneTask. Returns number of updated Series
|
||||
and elapsed time in string message.
|
||||
</description>
|
||||
<name>updateMatchingSeriesShowElapsedTime</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>
|
||||
Update attributes of instances of Series with specified Series Instance
|
||||
UID. Returns number of updated Instances.
|
||||
</description>
|
||||
<name>updateSeries</name>
|
||||
<parameter>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>
|
||||
Update attributes of instance with specified SOP Instance UID.
|
||||
Returns number of updated Instances.
|
||||
</description>
|
||||
<name>updateInstance</name>
|
||||
<parameter>
|
||||
<name>uid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>int</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description><![CDATA[
|
||||
Reload Attribute Filter configuration from
|
||||
<i>conf/dcm4chee-attribute-filter.xml</i>. Implicit invoked by
|
||||
operations <b>updateMatchingSeries()</b>,
|
||||
<b>updateMatchingSeriesShowElapsedTime()</b> and <b>updateSeries()</b>.]]>
|
||||
</description>
|
||||
<name>reloadAttributeFilter</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
</mbean>
|
||||
182
dcm4chee/default/conf/xmdesc/dcm4chee-upgrade2emf-xmbean.xml
Normal file
182
dcm4chee/default/conf/xmdesc/dcm4chee-upgrade2emf-xmbean.xml
Normal file
@@ -0,0 +1,182 @@
|
||||
<?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>
|
||||
Upgrade to Enhanced Multi-frame Image Service. Upgrades received Series of
|
||||
legacy DICOM CT/MR/PET Single-frame images to a Private ABPACS Upgraded
|
||||
CT/MR/PET Multi-frame image, which IOD match that of a regular DICOM Enhanced
|
||||
CT/MR/PET Multi-frame image at maximum degree.
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.emf.UpgradeToEnhancedMFService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>UpgradeToEnhancedMFService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getConfigDir"
|
||||
setMethod="setConfigDir">
|
||||
<description>
|
||||
Directory where XML configuration files defining the generation of ABPACS
|
||||
Upgraded Multi-frame images from DICOM CT, MR or PET Single-frame images are
|
||||
located: if "upgrade-ct.xml", "upgrade-mr.xml" or "upgrade-pet.xml" exists in
|
||||
this directory or in a sub-directory equal to the AE Title of the Storage
|
||||
SCU, received CT, MR or PET Series will be upgraded ABPACS Upgraded CT, MR
|
||||
or PET Multi-frame images. A relative path name is resolved relative to
|
||||
archive-install-directory/server/default/.
|
||||
</description>
|
||||
<name>ConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFileSystemGroupID"
|
||||
setMethod="setFileSystemGroupID">
|
||||
<description>ID of file system group, on which generated Upgraded Multi-frame
|
||||
images are stored.
|
||||
</description>
|
||||
<name>FileSystemGroupID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ONLINE_STORAGE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isMergePatientStudySeriesAttributesFromDB"
|
||||
setMethod="setMergePatientStudySeriesAttributesFromDB">
|
||||
<description>
|
||||
<p>Defines, if Patient, Study and Series attributes are merged from
|
||||
corresponding DB records into the generated Multi-frame image, so they need
|
||||
not be specified in upgrade-XX.xml to be copied from the Single-frame images
|
||||
to the generated Multi-frame image. Attributes not specified in
|
||||
upgrade-XX.xml are not verified for equality of values over all source
|
||||
images. Therefore, skipping such attributes from upgrade-XX.xml allows the
|
||||
generation of the Multi-frame image even if the attribute value differs
|
||||
between source images.</p> <p>Series Instance UID is never merged
|
||||
from the DB, so it can be defined by upgrade-XX.xml - including an entry for
|
||||
the Series Instance UID attribute or not - if the generated Multi-frame image
|
||||
shall be put into the same Series as the source images, or not.</p>
|
||||
</description>
|
||||
<name>MergePatientStudySeriesAttributesFromDB</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isNoPixelData"
|
||||
setMethod="setNoPixelData">
|
||||
<description>
|
||||
Defines, if the generated Multi-frame image is stored with DICOM Transfer
|
||||
Syntax: No Pixel Data [Deflate] without pixel data. If
|
||||
<code>false</code>, pixel data is copied from the original
|
||||
Single-frame images into the generated Multi-frame image.
|
||||
</description>
|
||||
<name>NoPixelData</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isDeflate" setMethod="setDeflate">
|
||||
<description>
|
||||
Defines, if the generated Multi-frame image is stored with DICOM Transfer
|
||||
Syntax <i>No Pixel Data</i> or <i>No Pixel Data
|
||||
Deflate</i>. Only effective, if attribute
|
||||
<b>NoPixelData</b> is <code>true</code>.
|
||||
</description>
|
||||
<name>Deflate</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isDeleteOriginalStoredSeries"
|
||||
setMethod="setDeleteOriginalStoredSeries">
|
||||
<description>
|
||||
Defines, if original stored Series of legacy CT/MR/PET Single-frame images
|
||||
are deleted after successful storage of the generated Enhanced Multi-frame
|
||||
image.<br/> Warning: Will break configured forwarding, file copy to HSM
|
||||
file system and Image Available Notification. Also cause loss of private
|
||||
attributes of legacy CT/MR/PET Single-frame images, which are not included in
|
||||
the generated Enhanced Multi-frame image.
|
||||
</description>
|
||||
<name>DeleteOriginalStoredSeries</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getBufferSize"
|
||||
setMethod="setBufferSize">
|
||||
<description>
|
||||
Size of byte buffer used for copying pixel data to generated Multi-frame
|
||||
image file.
|
||||
</description>
|
||||
<name>BufferSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="8192" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConcurrency"
|
||||
setMethod="setConcurrency">
|
||||
<description>
|
||||
Maximum number of concurrent processed Upgrade Requests.
|
||||
</description>
|
||||
<name>Concurrency</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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="getQueryRetrieveScpServiceName"
|
||||
setMethod="setQueryRetrieveScpServiceName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>QueryRetrieveScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
<operation impact="INFO">
|
||||
<description>Check if upgrade of stored Series is enabled</description>
|
||||
<name>isUpgradeEnabled</name>
|
||||
<parameter>
|
||||
<name>storedSeries</name>
|
||||
<type>org.dcm4chex.archive.common.SeriesStored</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
|
||||
71
dcm4chee/default/conf/xmdesc/dcm4chee-upsfeed-xmbean.xml
Normal file
71
dcm4chee/default/conf/xmdesc/dcm4chee-upsfeed-xmbean.xml
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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>UPS Feed Service. Used to add entries to the Unified Worklist,
|
||||
triggered by received MPPS N-Set messages.</description>
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.dcm.ups.UPSFeedService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>UPSFeedService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
&defaultAttributes;
|
||||
<attribute access="read-write"
|
||||
getMethod="getWorkItemConfigDir"
|
||||
setMethod="setWorkItemConfigDir">
|
||||
<description><![CDATA[Directory where configuration files for
|
||||
creation of work items on receive of final MPPS messages are located:
|
||||
if XSL stylesheet "mpps2ups.xsl" exists in this directory or in a
|
||||
sub-directory equal to the AE Title of the modality, a work item will be
|
||||
created on receive of the last object refered in the final MPPS,
|
||||
according these stylesheet. A relative path name is resolved relative to
|
||||
<i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>WorkItemConfigDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-ae"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getUPSScpServiceName"
|
||||
setMethod="setUPSScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>UPSScpServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getIANScuServiceName"
|
||||
setMethod="setIANScuServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>IANScuServiceName</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>
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<!-- Notifications -->
|
||||
|
||||
</mbean>
|
||||
|
||||
655
dcm4chee/default/conf/xmdesc/dcm4chee-upsscp-xmbean.xml
Normal file
655
dcm4chee/default/conf/xmdesc/dcm4chee-upsscp-xmbean.xml
Normal file
@@ -0,0 +1,655 @@
|
||||
<?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>
|
||||
|
||||
564
dcm4chee/default/conf/xmdesc/dcm4chee-wado-xmbean.xml
Normal file
564
dcm4chee/default/conf/xmdesc/dcm4chee-wado-xmbean.xml
Normal file
@@ -0,0 +1,564 @@
|
||||
<?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[<b>WADO Service</b><br/>
|
||||
Provides a Web Enabled DICOM Server to allow <b>W</b>eb <b>A</b>ccess for <b>D</b>ICOM persistent <b>O</b>bjects.<br/>
|
||||
Supported mime-types are <tt>application/dicom</tt> ,<tt>image/jpeg</tt> ,<tt>image/png</tt>.<br>
|
||||
Supported Optional request parameter: <i>rows, column, frameNumber, transferSyntax</i> and <i>contentType</i>.
|
||||
<p>
|
||||
<dl>
|
||||
<dt>particular features:</dt>
|
||||
<dd>This implementation use relational query support.<br>
|
||||
Therefore the request parameter <i>studyUID</i> and <i>seriesUID</i> may be empty.
|
||||
(it is NOT allowed to omit these parameters due to WADO specification)</dd>
|
||||
<dd>Redirect: If this WADO service handles a request for an object that is external retrievable,
|
||||
a client- or server side redirect can be initiated (see <tt>useClientRedirect</tt>).</dd>
|
||||
<dd> special mime types:
|
||||
<dl>
|
||||
<dt>image/png16:</dt>
|
||||
<dd>Get 16 bit grayscale PNG without applied LUT's</dd>
|
||||
<dt>application/dicom+xml:</dt>
|
||||
<dd>get XML representation (dcm4che14 format) of dicom header (note: '+' is %2B in URL).</dd>
|
||||
<dd>This XML can be transformed with an XSL stylesheet configured by <code>DicomXslURL</code> MBean attribute.</dd>
|
||||
<dd>Use DicomXslURL=NONE to get the xml without transformation</dd>
|
||||
<dd>With the URL parameter <code>privateTags=no</code> the private tags will be removed from output.</dd>
|
||||
</dd>
|
||||
</dl>
|
||||
<dd>
|
||||
</dl>
|
||||
</p>
|
||||
]]>
|
||||
</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate" />
|
||||
<persistence-manager
|
||||
value="org.jboss.mx.persistence.DelegatingPersistenceManager" />
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.wado.mbean.WADOService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>WADOService</name>
|
||||
</constructor>
|
||||
|
||||
<attribute access="read-write" getMethod="getCacheDataRootDir"
|
||||
setMethod="setCacheDataRootDir">
|
||||
<description><![CDATA[Root directory of JPEG file cache.
|
||||
A relative path name is resolved relative to
|
||||
<i><archive-install-directory></i>/server/default/.<br/>
|
||||
<b>Attention:</b> You have to take care for moving existing JPEG files in the
|
||||
cache to the new location yourself!]]>
|
||||
</description>
|
||||
<name>CacheDataRootDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="wadocachedata" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCacheNumberOfStudyBags"
|
||||
setMethod="setCacheNumberOfStudyBags">
|
||||
<description><![CDATA[Defines numbers of sub-directories to which study
|
||||
directories are distributed to reduce the number of sub-directories in the
|
||||
root directory. Examples:<br/>
|
||||
'1' - no distribution of study directores - the root directory
|
||||
contains as many sub-directories as different studies in the cache.<br/>
|
||||
'67'- study directories are distributed across 67 sub-directories of the root
|
||||
directory.<br/>
|
||||
'67*71' - study directories are distributed across 67*71 sub-directories,
|
||||
where the root directory contains 67 sub-directories, which each is itself
|
||||
splitted into 71 sub-directories.<br/>
|
||||
<b>Attention:</b> Can only be modified if the cache is empty!]]>
|
||||
</description>
|
||||
<name>CacheNumbersOfStudyBags</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCacheJournalRootDir"
|
||||
setMethod="setCacheJournalRootDir">
|
||||
<description><![CDATA[Root directory for JPEG file cache journal files.
|
||||
A relative path name is resolved relative to
|
||||
<i><archive-install-directory></i>/server/default/.<br/>
|
||||
<b>Attention:</b> You have to take care for moving existing journal files to
|
||||
the new location yourself!]]>
|
||||
</description>
|
||||
<name>CachJournalRootDirectory</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="wadocachejournal" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getCacheJournalFilePathFormat"
|
||||
setMethod="setCacheJournalFilePathFormat">
|
||||
<description><![CDATA[Defines Journal File path, with 'yyyy' will be
|
||||
replaced by the current year, 'MM' by the current month, 'dd' by the current
|
||||
date, 'HH' by the current hour and 'mm' by the current minute.<br/>
|
||||
<b>Attention:</b> Can only be modified if the cache is empty!]]>
|
||||
</description>
|
||||
<name>CacheJournalFilePathFormat</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="yyyy/MM/dd/HH/mm" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isDisableCache"
|
||||
setMethod="setDisableCache">
|
||||
<description>Disable/enable File caching of generated images. </description>
|
||||
<name>DisableCache</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isEnableClearCacheForReceivedSeries"
|
||||
setMethod="setEnableClearCacheForReceivedSeries">
|
||||
<description>Disable/enable removing cache entries when a series is received.
|
||||
This is only required when modified objects are resent with the same SOP Instance UID (NOT DICOM conform!).
|
||||
</description>
|
||||
<name>EnableClearCacheForReceivedSeries</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
|
||||
<attribute access="read-write" getMethod="getDeleterThresholds"
|
||||
setMethod="setDeleterThresholds">
|
||||
<description><![CDATA[Defines thresholds dependent on hour of day, for deleting the most
|
||||
infrequently accessed images. Format: HOUR:##MB or HOUR:##GB,
|
||||
multiple thresholds with different (start) hour separated by ';'.]]>
|
||||
</description>
|
||||
<name>DeleterThresholds</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="7:10MB;19:100MB" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFreeDiskSpaceInterval"
|
||||
setMethod="setFreeDiskSpaceInterval">
|
||||
<description>Interval in which the available disk space is
|
||||
checked and, if necessary, the cache is cleaned. Format: ##m (in
|
||||
minutes), ##h (in hours), ##d (in days). NEVER (= disable cache
|
||||
deletion). </description>
|
||||
<name>FreeDiskSpaceInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="10m" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only" getMethod="getImageSopCuids">
|
||||
<description><![CDATA[
|
||||
List of image SOP Classes that this WADO service can handled as image.
|
||||
(List is defined as AcceptedImageSOPClasses in StoreScp Service]]>
|
||||
</description>
|
||||
<name>ImageSOPClasses</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getImageQuality"
|
||||
setMethod="setImageQuality">
|
||||
<description>The quality of JPEG images to be returned within the
|
||||
range 1 to 100, 100 being the best quality. </description>
|
||||
<name>ImageQuality</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="75" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getImageWriterClass"
|
||||
setMethod="setImageWriterClass">
|
||||
<description><![CDATA[Class name of used JPEG Encoder, either implementing
|
||||
<code>javax.imageio.ImageWriter</code> (e.g.:
|
||||
<code>com.sun.imageio.plugins.jpeg.JPEGImageWriter</code>,
|
||||
<code>com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter</code>) or
|
||||
- if provided by the JRE -
|
||||
<code>com.sun.image.codec.jpeg.JPEGImageEncoder</code>.]]>
|
||||
</description>
|
||||
<name>ImageWriterClass</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isJpgWriterSupportsByteColormap"
|
||||
setMethod="setJpgWriterSupportsByteColormap">
|
||||
<description><![CDATA[JPEG Writer supports 8 bit images with indexed colors.<br />
|
||||
If <code>false</code>: Force 8-bit RGB conversion to handle windowing,
|
||||
PALETTE COLOR images,.. directly in WADO Service.]]>
|
||||
</description>
|
||||
<name>JpgWriterSupportsByteColormap</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isJpgWriterSupportsShortColormap"
|
||||
setMethod="setJpgWriterSupportsShortColormap">
|
||||
<description><![CDATA[JPEG Writer supports >8 bit images with indexed colors.<br />
|
||||
If <code>false</code>: Force 8-bit RGB conversion for > 8bit/pixel images to handle windowing,
|
||||
PALETTE COLOR images,.. directly in WADO Service.]]>
|
||||
</description>
|
||||
<name>JpgWriterSupportsShortColormap</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPNGImageWriterClass"
|
||||
setMethod="setPNGImageWriterClass">
|
||||
<description><![CDATA[Class name of used PNG Encoder, implementing
|
||||
<code>javax.imageio.ImageWriter</code> <br/>
|
||||
e.g.: com.sun.imageio.plugins.png.PNGImageWriter, com.sun.media.imageioimpl.plugins.png.CLibPNGImageWriter ]]>
|
||||
</description>
|
||||
<name>PNGImageWriterClass</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="com.sun.imageio.plugins.png.PNGImageWriter" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isClientRedirect"
|
||||
setMethod="setClientRedirect">
|
||||
<description>Enables client side redirection if requested
|
||||
DICOM object is no locally available. If client side redirect is
|
||||
disabled, the server side redirect is enabled! </description>
|
||||
<name>useClientRedirect</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isRedirectCaching"
|
||||
setMethod="setRedirectCaching">
|
||||
<description>Enables caching for server side redirect! has no
|
||||
effect if client side redirect is enabled! </description>
|
||||
<name>useRedirectCaching</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isUseTransferSyntaxOfFileAsDefault"
|
||||
setMethod="setUseTransferSyntaxOfFileAsDefault">
|
||||
<description>Set the handling of missing transfersyntax parameter
|
||||
if content type is application/dicom. If enabled, the default
|
||||
transfer syntax is chosen from the file.(NOT WADO conform!) If
|
||||
disabled, the default transfer syntax is explicit VR little endian
|
||||
(as defined in part 18). </description>
|
||||
<name>UseTransferSyntaxOfFileAsDefault</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getSrImageRows"
|
||||
setMethod="setSrImageRows">
|
||||
<description>Set fixed size of referenced images in rendered
|
||||
Structured Reports (by rows). NONE means original image size.
|
||||
</description>
|
||||
<name>SRfixedImageRows</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getHtmlXslURL"
|
||||
setMethod="setHtmlXslURL">
|
||||
<description><![CDATA[Filepath or URL to XSLT stylesheet to render DICOM SR to HTML<br/>
|
||||
A relative path name (filepath or File URL) is resolved relative to <i><archive-install-directory></i>/server/default/
|
||||
(Use NONE to disable this transformation). ]]></description>
|
||||
<name>HtmlXslURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-wado/sr_html.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getXHtmlXslURL"
|
||||
setMethod="setXHtmlXslURL">
|
||||
<description><![CDATA[Filepath or URL to XSLT stylesheet to render DICOM SR to XHTML<br/>
|
||||
A relative path name (filepath or File URL) is resolved relative to <i><archive-install-directory></i>/server/default/
|
||||
(Use NONE to disable this transformation). ]]></description>
|
||||
<name>XHtmlXslURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-wado/sr_html.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getXmlXslURL"
|
||||
setMethod="setXmlXslURL">
|
||||
<description><![CDATA[Filepath or URL to XSLT stylesheet to render DICOM SR to XML<br/>
|
||||
A relative path name (filepath or File URL) is resolved relative to <i><archive-install-directory></i>/server/default/
|
||||
(Use NONE to disable this transformation). ]]></description>
|
||||
<name>XmlXslURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-wado/sr_xml_style.xsl" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDicomXslURL"
|
||||
setMethod="setDicomXslURL">
|
||||
<description><![CDATA[Filepath or URL to XSLT stylesheet to transform xml output of requests with contentType application/dicom+xml<br/>
|
||||
A relative path name (filepath or File URL) is resolved relative to <i><archive-install-directory></i>/server/default/
|
||||
Use NONE to disable this transformation for pure xml representation of requested DICOM object (dcm4che14 format).<br />
|
||||
Use <i>conf/dcm4chee-wado/dicom_html.xsl</i> to render attributes of DICOM object as HTML.]]></description>
|
||||
<name>DicomXslURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getContentTypeDicomXML"
|
||||
setMethod="setContentTypeDicomXML">
|
||||
<description>Response Content type (mime type) of request
|
||||
with application/dicom+xml. Use NONE to disable
|
||||
application/dicom+xml requests. </description>
|
||||
<name>ContentTypeDicomXML</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="text/html" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTextSopCuids"
|
||||
setMethod="setTextSopCuids">
|
||||
<description>List of SOP Class UIDs that are used to find Text
|
||||
(SR) documents (separated with semicolon or newline). Use either
|
||||
the SOP Class UID or the symbolic name! Use an empty value to
|
||||
reset this list. </description>
|
||||
<name>TextSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getVideoSopCuids"
|
||||
setMethod="setVideoSopCuids">
|
||||
<description>List of Video SOP Class UIDs for mpeg2 support
|
||||
(separated with semicolon or newline). Use either the SOP Class
|
||||
UID or the symbolic name! Use NONE to disable mpeg2 support.
|
||||
</description>
|
||||
<name>VideoSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value
|
||||
value="VideoEndoscopicImageStorage;VideoMicroscopicImageStorage;VideoPhotographicImageStorage" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getEncapsulatedSopCuids"
|
||||
setMethod="setEncapsulatedSopCuids">
|
||||
<description>List of SOP Class UIDs where content is
|
||||
encapsulated like EncapsulatedPDFStorage. (separated with
|
||||
semicolon or newline). Use either the SOP Class UID or the
|
||||
symbolic name! Use NONE to disable encapsulated DICOM support.
|
||||
</description>
|
||||
<name>EncapsulatedSopCuids</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="EncapsulatedPDFStorage;Dcm4cheEncapsulatedDocumentStorage" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDisabledAuditLogHosts"
|
||||
setMethod="setDisabledAuditLogHosts">
|
||||
<description><![CDATA[List of host names where audit log is disabled. Use NONE
|
||||
or ALL to enable/disable audit log for all WADO requests.<br />
|
||||
<b>Note:</b>Using host name(s) will force DNS lookup!
|
||||
]]></description>
|
||||
<name>DisabledAuditLogHosts</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isDisableDNS"
|
||||
setMethod="setDisableDNS">
|
||||
<description>Disable/enable Hostname Lookup (DNS) for
|
||||
Audit Log. </description>
|
||||
<name>DisableHostLookup</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="isRenderOverlays"
|
||||
setMethod="setRenderOverlays">
|
||||
<description>Disable/enable rendering of overlays when generating JPEGS. </description>
|
||||
<name>RenderOverlays</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getFetchDestAET"
|
||||
setMethod="setFetchDestAET">
|
||||
<description>Destination AET for fetching objects if they are not locally available and the external retrieve AET has no WADO support.
|
||||
(You have to define this in AE management by setting WADOUrl 'DICOM_QR_ONLY'!)
|
||||
</description>
|
||||
<name>FetchDestinationAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isUseSeriesLevelFetch"
|
||||
setMethod="setUseSeriesLevelFetch">
|
||||
<description><![CDATA[Use SERIES level fetch? <br/>
|
||||
true : Use a SERIES level C-MOVE request. (May fetch instances that are already online!)<br/>
|
||||
false: Use a C-MOVE on INSTANCE level with all instances of the series that are not online
|
||||
and retrievable from the external retrieve AET. ]]>
|
||||
</description>
|
||||
<name>UseSeriesLevelFetch</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getFetchTimeout"
|
||||
setMethod="setFetchTimeout">
|
||||
<description>Fetch timeout in ms. A requested object will be fetched if it is not locally available and the external retrieve AET doesn't support WADO.
|
||||
(You have to define this in AE management by setting WADOUrl to 'DICOM_QR_ONLY'!)
|
||||
In this case the object will be fetched via a C-MOVE request and the WADO request waits until the object is received.
|
||||
If the object get not received within this timeout, the WADO request will fail.
|
||||
</description>
|
||||
<name>FetchTimeout</name>
|
||||
<type>long</type>
|
||||
<descriptors>
|
||||
<value value="10000" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getTimerID"
|
||||
setMethod="setTimerID">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>TimerID</name>
|
||||
<type>java.lang.String</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getQueryRetrieveScpName"
|
||||
setMethod="setQueryRetrieveScpName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>QueryRetrieveScpName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getMoveScuServiceName"
|
||||
setMethod="setMoveScuServiceName">
|
||||
<description>Used internally. Do NOT modify.</description>
|
||||
<name>MoveScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify. </description>
|
||||
<name>StoreScpServiceName</name>
|
||||
<type>javax.management.ObjectName</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>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Show free disk space</description>
|
||||
<name>showFreeSpace</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description><![CDATA[Show current effective deleter threshold according
|
||||
configured <i>DeleterThreshold</i>.]]>
|
||||
</description>
|
||||
<name>showMinFreeSpace</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Clear Cache</description>
|
||||
<name>clearCache</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Show available ImageWriter for given format name</description>
|
||||
<name>showImageWriter</name>
|
||||
<parameter>
|
||||
<description>Format name (e.g. JPEG, PNG,..).</description>
|
||||
<name>formatName</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Free Disk Space.
|
||||
Delete old files from cache to free disk space.
|
||||
</description>
|
||||
<name>freeDiskSpace</name>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Get WADO response object</description>
|
||||
<name>getWADOObject</name>
|
||||
<parameter>
|
||||
<description>Value object of the request.</description>
|
||||
<name>reqVO</name>
|
||||
<type>org.dcm4chex.wado.common.WADORequestObject</type>
|
||||
</parameter>
|
||||
<return-type>org.dcm4chex.wado.common.WADOResponseObject</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Clear Template Cache</description>
|
||||
<name>clearTemplateCache</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Reconfigure WADO Service. Update list of image SOPClass UID's from StoreSCP service'</description>
|
||||
<name>reconfigure</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
</mbean>
|
||||
141
dcm4chee/default/conf/xmdesc/dcm4chee-wadoprefetch-xmbean.xml
Normal file
141
dcm4chee/default/conf/xmdesc/dcm4chee-wadoprefetch-xmbean.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<?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[WADO Prefetch Service.<br/>
|
||||
This service is triggered by SeriesStored notifications and use a stylesheet (<code>wado-prefetch.xsl</code>)
|
||||
to get WADO URLs and optional an exportPath.<br>
|
||||
Both are based on series level and will be extended with the SOP InstanceUIDs
|
||||
in Referenced Series Sequence (0008,1115)
|
||||
<dl>
|
||||
<dt>Output format of <code>wado-prefetch.xsl</code>:</dt>
|
||||
<dd><wado-prefetches></dd>
|
||||
<dd>&nbrsp;&nbrsp;<prefetch wadourl="" [exportPath=""] /></dd>
|
||||
<dd>&nbrsp;&nbrsp;...</dd>
|
||||
<dd></wado-prefetches></dd>
|
||||
<dd/>
|
||||
<dd>wadourl : WADO URL without objectUID parameter. (will be added for every image of the series)</dd>
|
||||
<dd>exportPath : Directory path for exported images. '{0}' will be replaced with SOP Instance UID</dd>
|
||||
<dd>e.g.: <prefetch wado="http://localhost:8080/wado?requestType=WADO&studyUID=1.2.3&seriesUID=1.2.4"</dd>
|
||||
<dd> exportPath="exported/1.2.3/1.2.4/{0}.jpg" /></dd>
|
||||
</dl>
|
||||
]]></description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.mbean.WadoPrefetchService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>WadoPrefetchService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write"
|
||||
getMethod="getWadoBaseUrl"
|
||||
setMethod="setWadoBaseUrl">
|
||||
<description><![CDATA[Base WADO URL that can be extended in a stylesheet to get
|
||||
the <code>wadourl</code> attribute.<br />
|
||||
This URL should contain request parameter 'requestType=WADO'
|
||||
]]></description>
|
||||
<name>WadoBaseUrl</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="http://localhost:8080/wado?requestType=WADO" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getExportBasePath"
|
||||
setMethod="setExportBasePath">
|
||||
<description><![CDATA[Base directory path where exported images will be stored.<br />
|
||||
This directory can be used in a stylesheet to build the <code>exportPath</code> attribute.
|
||||
A relative path name is resolved relative to <i>archive-install-directory</i>/server/default/.]]>
|
||||
</description>
|
||||
<name>ExportBasePath</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="exported/images" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getConfigDir"
|
||||
setMethod="setConfigDir">
|
||||
<description><![CDATA[Directory where configuration files defining
|
||||
WADO Prefetch rules are located: if XSL stylesheet <code>wado-prefetch.xsl</code> exists in
|
||||
this directory or in a sub-directory equal to the AE Title of the
|
||||
Storage SCU, images of received Series will be prefetched (and optional exported)
|
||||
according the rules in the stylesheet.
|
||||
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="getRetryIntervalls"
|
||||
setMethod="setRetryIntervalls">
|
||||
<description><![CDATA[Number and interval of retries made for
|
||||
failed WADO Prefetch orders.
|
||||
<br>Format:
|
||||
<br>Comma separated list of <i>number</i>x<i>interval</i> pairs or NEVER to disable retry for any destinations.
|
||||
<br>The interval can be specified in seconds (##s),
|
||||
minutes (##m), hours (##h) or days (##d).
|
||||
<br/>Example:
|
||||
<br/>5x1m,10x10m means retry a total of 5 times, one minute
|
||||
apart for each retry; then retry a total of 10 times, 10 minutes
|
||||
]]>
|
||||
</description>
|
||||
<name>RetryIntervals</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="5x5m,24x1h,7x1d" />
|
||||
</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="getStoreScpServiceName"
|
||||
setMethod="setStoreScpServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>StoreScpServiceName</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="getJmsServiceName"
|
||||
setMethod="setJmsServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>JMSServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
&defaultAttributes;
|
||||
<!-- Operations -->
|
||||
&defaultOperations;
|
||||
|
||||
</mbean>
|
||||
|
||||
747
dcm4chee/default/conf/xmdesc/dcm4chee-xdsi-xmbean.xml
Normal file
747
dcm4chee/default/conf/xmdesc/dcm4chee-xdsi-xmbean.xml
Normal file
@@ -0,0 +1,747 @@
|
||||
<?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>XDS-I Service. Cross-enterprise Document Sharing for Imaging. (Imaging Document Source actor)</description>
|
||||
|
||||
<descriptors>
|
||||
<persistence persistPolicy="OnUpdate"/>
|
||||
<persistence-manager value="org.jboss.mx.persistence.DelegatingPersistenceManager"/>
|
||||
</descriptors>
|
||||
|
||||
<class>org.dcm4chex.archive.xdsi.XDSIService</class>
|
||||
|
||||
<constructor>
|
||||
<description>The default constructor</description>
|
||||
<name>XDSIService</name>
|
||||
</constructor>
|
||||
|
||||
<!-- Attributes -->
|
||||
<attribute access="read-write" getMethod="getSourceID" setMethod="setSourceID">
|
||||
<description>Source ID - unique identifier of this Document Source.
|
||||
</description>
|
||||
<name>SourceID</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1.3.6.1.4.1.21367.2009.1.2.134.54.1.30.1"/> <!-- 2008-2009 OID Base: 1.3.6.1.4.1.21367.2009.1.2. -->
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAutoPublishAETs"
|
||||
setMethod="setAutoPublishAETs">
|
||||
<description>List of Source (Modality) AE titles separated by \(backslash),
|
||||
from which studies shall be automatically published to the configured
|
||||
XDS-I Repository. NONE = do not publish studies received from any source
|
||||
automatically.
|
||||
</description>
|
||||
<name>AutoPublishSourceAETitles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDocRepositoryURI" setMethod="setDocRepositoryURI">
|
||||
<description>Document Repository URI.
|
||||
</description>
|
||||
<name>DocRepositoryURI</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="http://localhost:8080/dcm4chee-xds/XDSRepository"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getDocRepositoryAET" setMethod="setDocRepositoryAET">
|
||||
<description>AET of Document Repository (for Audit Log only).
|
||||
</description>
|
||||
<name>DocRepositoryAET</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getPropertyFile" setMethod="setPropertyFile">
|
||||
<description>Metadata Property File.
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>MetadataPropertyFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/metadata.conf"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAutoPublishPropertyFile" setMethod="setAutoPublishPropertyFile">
|
||||
<description>Metadata Property File for AutoPublish.
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>AutoPublishPropertyFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/nist/metadata.conf"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAutoPublishXSLFile" setMethod="setAutoPublishXSLFile">
|
||||
<description>XSL File for AutoPublish to get metadata from manifest info (Dataset with patient, study and series attributes).
|
||||
Use NONE to disable this XSLT processing.
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>AutoPublishXSLFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAutoPublishStudyDeletedPDFFile" setMethod="setAutoPublishStudyDeletedPDFFile">
|
||||
<description><![CDATA[PDF or text (.txt) File or 'TEXT' to mark a published study as deleted.<br />
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.<br />
|
||||
With TEXT a simple text/plain document will be registered for a deleted study. <br />
|
||||
Content: Study has been removed from Source PACS System!
|
||||
]]>
|
||||
</description>
|
||||
<name>AutoPublishStudyDeletedPDFFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/study_deleted.pdf" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getAutoPublishInterval"
|
||||
setMethod="setAutoPublishInterval">
|
||||
<description><![CDATA[Interval in hours (#h), minutes (#m) or
|
||||
seconds (#s) in which the data base is polled for Studies that are not published to XDS.<br/>
|
||||
Use NEVER to disable this feature.<br />
|
||||
Note: This feature requires XdsQueryServiceName]]>
|
||||
</description>
|
||||
<name>AutoPublishInterval</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NEVER"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-only"
|
||||
getMethod="isRunning">
|
||||
<description>Current state if a AutoPublish task is running. Used to avoid concurrency!
|
||||
</description>
|
||||
<name>isRunning</name>
|
||||
<type>boolean</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getAutoPublishSQL"
|
||||
setMethod="setAutoPublishSQL">
|
||||
<description><![CDATA[SQL Statements to select studies for XDS auto publish. <br />
|
||||
Format: Each line can contain a complete SQL Statement or a comment (Line starts with '*')<br />
|
||||
The statement must return only one column with study.pk!<br />
|
||||
<dl><dt>Following named parameter can be used:</dt>
|
||||
<dd>:AfterDate</dd>
|
||||
<dd>:BeforeDate</dd>
|
||||
<dd>:OlderThan</dd>
|
||||
<dd>:NotOlderThan</dd>
|
||||
</dl>
|
||||
<dl><dt>Example:</dt>
|
||||
<dd>*</dd>
|
||||
<dd>* All studies with updated_time between configured AfterDate and BeforeDate:</dd>
|
||||
<dd>SELECT pk FROM study WHERE updated_time > :AfterDate AND updated_time < :BeforeDate</dd>
|
||||
<dd>*</dd>
|
||||
<dd>* All studies that are created before n days:</dd>
|
||||
<dd>SELECT pk FROM study WHERE created_time < :OlderThan</dd>
|
||||
</dl>
|
||||
Note: the configured queries are used as subquery of a query which exclude studies that are already published (via table published_study) <br />
|
||||
This behaviour can be disabled by using '@' as first character in SQL statement. In this case
|
||||
the first culumns must be study.pk, published_study.pk and published_study.docentry_uid!<br /><br />
|
||||
If the SQL statement starts with '[<startHour>-<endHour>]' this query will be only performed between start and end hour (0-23).<br />
|
||||
e.g.: '[23-4]SELECT pk from study' check all (unpublished) studies between 23:00:00 and 4:59:59.
|
||||
]]>
|
||||
</description>
|
||||
<name>AutoPublishSQL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isDisableStudyDeleteSQL" setMethod="setDisableStudyDeleteSQL">
|
||||
<description><![CDATA[Disable Query for deleted published studies.<br />
|
||||
Should be only disabled if a similar query is defined in AutoPublishSQL!<br />
|
||||
(@SELECT study_fk, pk, docentry_uid from published_study where study_fk IS NULL)
|
||||
]]>
|
||||
</description>
|
||||
<name>DisableStudyDeleteSQL</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAfterDate" setMethod="setAfterDate">
|
||||
<description><![CDATA[AfterDate SQL parameter for auto publish migration. <br />
|
||||
Usage: ':AfterDate' in WHERE clause. e.g WHERE study.updated_time > :AfterDate <br />
|
||||
Format:yyyy[-MM[-dd[ HH[:mm[:ss]]]]] or NONE<br />
|
||||
Note: Missing parts are set to corresponding minimum. eg. '2013-03' -> '2013-03-01 00:00:00'
|
||||
]]>
|
||||
</description>
|
||||
<name>AfterDate</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getBeforeDate" setMethod="setBeforeDate">
|
||||
<description><![CDATA[BeforeDate SQL parameter for auto publish. <br />
|
||||
Usage: ':BeforeDate' in WHERE clause. e.g WHERE study.updated_time < :BeforeDate <br />
|
||||
Format:yyyy[-MM[-dd[ HH[:mm[:ss]]]]] or NONE<br />
|
||||
Note: Missing parts are set to corresponding maximun. eg. '2012-02' -> '2012-02-29 23:55:55' (and 999 milliseconds)
|
||||
]]>
|
||||
</description>
|
||||
<name>BeforeDate</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getOlderThan"
|
||||
setMethod="setOlderThan">
|
||||
<description><![CDATA[OlderThan SQL parameter for auto publish. <br />
|
||||
Usage: ':OlderThan' in WHERE clause. e.g WHERE study.updated_time < :OlderThan <br />
|
||||
Format: days(#d), weeks (#w), hours (#h), minutes (#m) or seconds (#s)<br/>
|
||||
Note: the SQL parameter value is a timestamp calculated as currentDate - olderThan.]]>
|
||||
</description>
|
||||
<name>OlderThan</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="1d"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getNotOlderThan"
|
||||
setMethod="setNotOlderThan">
|
||||
<description><![CDATA[NotOlderThan SQL parameter for auto publish. <br />
|
||||
Usage: ':NotOlderThan' in WHERE clause. e.g WHERE study.updated_time > :NotOlderThan <br />
|
||||
Format: days(#d), weeks (#w), hours (#h), minutes (#m) or seconds (#s)<br/>
|
||||
Note: the SQL parameter value is a timestamp calculated as currentDate - NotOlderThan.]]>
|
||||
</description>
|
||||
<name>NotOlderThan</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="10w"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getMaxNumberOfStudiesByOneTask" setMethod="setMaxNumberOfStudiesByOneTask">
|
||||
<description><![CDATA[Maximum number of Migrated MPPS by one task. <br />
|
||||
]]>
|
||||
</description>
|
||||
<name>MaxNumberOfStudiesByOneTask</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="100"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="isAddStudyInstanceUIDSlot" setMethod="setAddStudyInstanceUIDSlot">
|
||||
<description><![CDATA[Add Study Instance UID as extra metadata (Slot with name 'studyInstanceUID') to published studies. <br />
|
||||
]]>
|
||||
</description>
|
||||
<name>AddStudyInstanceUIDSlot</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getFetchSize"
|
||||
setMethod="setFetchSize">
|
||||
<description>JDBC Fetch size. (-1 means: use Limit)
|
||||
</description>
|
||||
<name>FetchSize</name>
|
||||
<type>int</type>
|
||||
<descriptors>
|
||||
<value value="50"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getAutoPublishDocTitle" setMethod="setAutoPublishDocTitle">
|
||||
<description><![CDATA[Document title for auto published metainfo KOS. <br>
|
||||
Format:<CodeValue>^<CodeMeaning>[^<CodeDesignator>] ]]>
|
||||
</description>
|
||||
<name>AutoPublishDocTitle</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="AutoPublish^Automatic XDS-I export of received images"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getRidURL" setMethod="setRidURL">
|
||||
<description>RID URL to get PDF Document for exportPDF.
|
||||
</description>
|
||||
<name>RidURL</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="http://localhost:8080/rid/IHERetrieveDocument?requestType=DOCUMENT&preferredContentType=application/pdf&documentUID="/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getLocalDomain" setMethod="setLocalDomain">
|
||||
<description><![CDATA[Local Affinity Domain (Authority)<br/>
|
||||
Name of the patient ID authorithy of this Document Source.<br/>
|
||||
This is normally the 'Issuer of patient ID' (issuer) DICOM attribute.<br/>
|
||||
We can overwrite this default behaviour with:<br/>
|
||||
'<Domain>' : use <Domain> if issuer is missing.<br/>
|
||||
'=<Domain>' : use always <Domain> as local authority. <br/>
|
||||
'NONE' : default behaviour: use always issuer as local authority.
|
||||
]]></description>
|
||||
<name>LocalDomain</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAffinityDomain" setMethod="setAffinityDomain">
|
||||
<description><![CDATA[XDS Affinity Domain (Authority)<br/>
|
||||
This name is used in PIX Query Service to get patient id of affinity domain.<br/>
|
||||
You can disable PIX Query by setting this value with '=' as first character.<br/>
|
||||
'=' : use the source patient ID and issuer.<br/>
|
||||
'=?<Domain>' : use patientID from source and <Domain> as issuer. <br/>
|
||||
'=?[<issuer>]<Domain>' : Dedicated issuer replacement: Only patientID's with given
|
||||
<issuer> will be exported as <patId>^^^<domain>. <br/>
|
||||
'=<patient>' : use <patient> for patientID and issuer (patid^^^issuer).
|
||||
]]></description>
|
||||
<name>AffinityDomain</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="=?AffinityDomain"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isRemoveNamespaceID"
|
||||
setMethod="setRemoveNamespaceID">
|
||||
<description><![CDATA[Remove Namespace ID subcomponent from assigning authority.<br/>
|
||||
Patient ID's are in HL7 CX format but since revision 7 this is restricted by:<br/>
|
||||
<i>...this specification restricts them to the use of two components, the ID Number, and the Assigning Authority (AA).<br/>
|
||||
No other values/modifications in other components or subcomponents are allowed.
|
||||
Specifically, components 2 and 3 shall be empty as listed above.</i><br/>
|
||||
see <code>Table 4.1-3 Data Types</code> in
|
||||
<code>IT Infrastructure Technical Framework Volume 3 (ITI TF-3) revision 7.0</code>
|
||||
]]></description>
|
||||
<name>RemoveNamespaceID</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogSOAPMessage"
|
||||
setMethod="setLogSOAPMessage">
|
||||
<description>Enable logging of SOAP message.
|
||||
</description>
|
||||
<name>LogSOAPMessage</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isIndentSOAPLog"
|
||||
setMethod="setIndentSOAPLog">
|
||||
<description>Enable/disable indention of logged SOAP message.
|
||||
</description>
|
||||
<name>IndentSOAPLog</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="isLogITI15"
|
||||
setMethod="setLogITI15">
|
||||
<description><![CDATA[ Enable/disable audit logging of ITI-15 export message (XDS audit log).<br/>
|
||||
If enabled an XDS audit message will be sent in addition to the Dicom export audit log message.<br/>
|
||||
Note: ITI-15 logging requires XdsbSourceServiceName!
|
||||
]]>
|
||||
</description>
|
||||
<name>LogITI15</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="true" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getPixQueryServiceName"
|
||||
setMethod="setPixQueryServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>PixQueryServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getIANScuServiceName"
|
||||
setMethod="setIANScuServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>IANScuServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getKeyObjectServiceName"
|
||||
setMethod="setKeyObjectServiceName">
|
||||
<description>Used internally. Do not modify.
|
||||
</description>
|
||||
<name>KeyObjectServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getXdsHttpCfgServiceName"
|
||||
setMethod="setXdsHttpCfgServiceName">
|
||||
<description><![CDATA[ internally. Do not modify. (dcm4chee.xds:service=XdsHttpCfgService)<br/>
|
||||
This service is part of dcm4chee-xds and you have to set proxy and ssl configuration in
|
||||
start script when it is not installed!
|
||||
]]></description>
|
||||
<name>XdsHttpCfgServiceName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="isUseXDSb"
|
||||
setMethod="setUseXDSb">
|
||||
<description><![CDATA[Use XDS.b rather than XDS.a to export documents.<br />
|
||||
Note: XDS.b requires XdsbSourceServiceName]]>
|
||||
</description>
|
||||
<name>UseXDSb</name>
|
||||
<type>boolean</type>
|
||||
<descriptors>
|
||||
<value value="false" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getXdsbSourceServiceName"
|
||||
setMethod="setXdsbSourceServiceName">
|
||||
<description><![CDATA[Used internally. Do not modify (dcm4chee.xds:service=XDSbSourceService).<br />
|
||||
Note: Requires installed dcm4chee.xds services!]]>
|
||||
</description>
|
||||
<name>XdsbSourceServiceName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write"
|
||||
getMethod="getXdsQueryServiceName"
|
||||
setMethod="setXdsQueryServiceName">
|
||||
<description>Used internally. Used if AutoPublishSQL is configured! Do not modify (dcm4chee.xds:service=XDSQueryService).
|
||||
</description>
|
||||
<name>XdsQueryServiceName</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="NONE" />
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write"
|
||||
getMethod="getTimerIDAutoPublish"
|
||||
setMethod="setTimerIDAutoPublish">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TimerIDAutoPublish</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="getTemplatesServiceName"
|
||||
setMethod="setTemplatesServiceName">
|
||||
<description>Used internally. Do NOT modify.
|
||||
</description>
|
||||
<name>TemplatesServiceName</name>
|
||||
<type>javax.management.ObjectName</type>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getDocTitleCodeListFile" setMethod="setDocTitleCodeListFile">
|
||||
<description>File containing Codes for Document Title for web2 XDS-I export(for KOS object and therefore xds metadata 'title').
|
||||
Format: [designator^]codevalue^meaning
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>DocTitleCodeListFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/web2/docTitleCodes.txt"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getEventCodeListFile" setMethod="setEventCodeListFile">
|
||||
<description>File containing Codes for eventCodeList for web2 XDS-I export.
|
||||
Format: [designator^]codevalue^meaning
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>EventCodeListFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/web2/eventCodes.txt"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getClassCodeListFile" setMethod="setClassCodeListFile">
|
||||
<description>File containing Codes for ClassCode for web2 XDS-I export.
|
||||
Format: [designator^]codevalue^meaning
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>ClassCodeListFile</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/web2/classCodes.txt"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getContentTypeCodeListFile" setMethod="setContentTypeCodeListFile">
|
||||
<description>File containing codes for Content Type Codes for web2 XDS-I export.
|
||||
Format: [designator^]codevalue^meaning
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>ContentTypeCodes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/web2/contentTypeCodes.txt"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getHealthCareFacilityCodeListFile" setMethod="setHealthCareFacilityCodeListFile">
|
||||
<description>File containing codes for Healthcare Facility Type Codes for web2 XDS-I export.
|
||||
Format: [designator^]codevalue^meaning
|
||||
A relative path name is resolved relative to dcm4chee_home/server/default/.
|
||||
</description>
|
||||
<name>HealthCareFacilityTypeCode</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="conf/dcm4chee-xdsi/web2/healthCareFacilityTypeCodes.txt"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getConfidentialityCodes" setMethod="setConfidentialityCodes">
|
||||
<description>Code list for confidentialityCode for web2 XDS-I export.
|
||||
Format: [designator^]codevalue^meaning
|
||||
Use either newline or semicolon to seperate codes
|
||||
</description>
|
||||
<name>ConfidentialityCodes</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="cc1^confidentialityCode"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
<attribute access="read-write" getMethod="getAuthorPersonMapping" setMethod="setAuthorPersonMapping">
|
||||
<description><![CDATA[Set either a fix authorPerson or a user to authorPerson mapping for web2 XDS-I export.
|
||||
<br/>
|
||||
Mapping format: <user>=<authorPerson><br/>
|
||||
Use either newline or semicolon to seperate mappings.
|
||||
<br/>
|
||||
If '=' is ommited, a fix (global) authorPerson is set]]>
|
||||
</description>
|
||||
<name>AuthorPersonMapping</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="ABPACS^^^XDSITEST"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
<attribute access="read-write" getMethod="getAuthorRoles" setMethod="setAuthorRoles">
|
||||
<description><![CDATA[List of author roles (with display name) for web2 XDS-I export.<br/>
|
||||
Format: <role>^<displayName><br/>
|
||||
Use either newline or semicolon to seperate codes.
|
||||
]]>
|
||||
</description>
|
||||
<name>AuthorRoles</name>
|
||||
<type>java.lang.String</type>
|
||||
<descriptors>
|
||||
<value value="stdRole^Standard Role;adminRole^Admin Role"/>
|
||||
</descriptors>
|
||||
</attribute>
|
||||
|
||||
&defaultAttributes;
|
||||
|
||||
<!-- Operations -->
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a NIST test.</description>
|
||||
<name>nistTest</name>
|
||||
<parameter>
|
||||
<description>TestID</description>
|
||||
<name>testID</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a simple soap test.</description>
|
||||
<name>sendSOAP</name>
|
||||
<parameter>
|
||||
<description>SOP Instance UID of Key Object</description>
|
||||
<name>kosIuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Metadata properties</description>
|
||||
<name>mdProps</name>
|
||||
<type>java.util.Properties</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a simple soap test.</description>
|
||||
<name>sendSOAP</name>
|
||||
<parameter>
|
||||
<description>SOP Instance UID of Key Object</description>
|
||||
<name>kosIuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a simple soap test.</description>
|
||||
<name>exportPDF</name>
|
||||
<parameter>
|
||||
<description>SOP Instance UID of PDF RID document</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Metadata properties</description>
|
||||
<name>mdProps</name>
|
||||
<type>java.util.Properties</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Performs a simple soap test.</description>
|
||||
<name>exportPDF</name>
|
||||
<parameter>
|
||||
<description>SOP Instance UID of PDF RID document</description>
|
||||
<name>iuid</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send a SOAP message to DocRepositoryURI.</description>
|
||||
<name>sendSOAP</name>
|
||||
<parameter>
|
||||
<description>Filename of metadata file</description>
|
||||
<name>metadataFilename</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>List of documents (Format:filename|mimiType|docUID[,filename|mimeType|docUID[,..]])</description>
|
||||
<name>docNames</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
<operation impact="ACTION">
|
||||
<description>Send a SOAP message to DocRepositoryURI.</description>
|
||||
<name>sendSOAP</name>
|
||||
<parameter>
|
||||
<description>Key Object Selection Dataset to submit.</description>
|
||||
<name>kos</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<description>Metadata Properties</description>
|
||||
<name>mdProps</name>
|
||||
<type>java.util.Properties</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Create a new XDS Folder.</description>
|
||||
<name>createFolder</name>
|
||||
<parameter>
|
||||
<description>Metadata properties</description>
|
||||
<name>mdProps</name>
|
||||
<type>java.util.Properties</type>
|
||||
</parameter>
|
||||
<return-type>boolean</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Get the authorPerson for a user.</description>
|
||||
<name>getAuthorPerson</name>
|
||||
<parameter>
|
||||
<description>user</description>
|
||||
<name>user</name>
|
||||
<type>java.lang.String</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>Join Metadata Properties with properties from Metadata Property File.</description>
|
||||
<name>joinMetadataProperties</name>
|
||||
<parameter>
|
||||
<description>Additional Metadata properties</description>
|
||||
<name>props</name>
|
||||
<type>java.util.Properties</type>
|
||||
</parameter>
|
||||
<return-type>java.util.Properties</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of roles used by web2 XDS-I export.</description>
|
||||
<name>listAuthorRoles</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of document titles used by web2 XDS-I export.</description>
|
||||
<name>listDocTitleCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of Event Type Codes used by web2 XDS-I export.</description>
|
||||
<name>listEventCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of Class Codes used by web2 XDS-I export.</description>
|
||||
<name>listClassCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of Content Type Codes used by web2 XDS-I export.</description>
|
||||
<name>listContentTypeCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of Healthcare Facility Type Codes used by web2 XDS-I export.</description>
|
||||
<name>listHealthCareFacilityTypeCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>get list of Confidentiality Codes used by web2 XDS-I export.</description>
|
||||
<name>listConfidentialityCodes</name>
|
||||
<return-type>java.util.List</return-type>
|
||||
</operation>
|
||||
<operation impact="INFO">
|
||||
<description>clear CodeFileCache (only used by web2 XDS-I export).</description>
|
||||
<name>clearCodeFileCache</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="ACTION">
|
||||
<description>Read the configured Metadata Property File</description>
|
||||
<name>readPropertyFile</name>
|
||||
<return-type>void</return-type>
|
||||
</operation>
|
||||
|
||||
<operation impact="INFO">
|
||||
<description>Obtain Affinity Domain patient ID for given patient information</description>
|
||||
<name>getAffinityDomainPatientID</name>
|
||||
<parameter>
|
||||
<description>Dataset containing local patient id and issuer of id</description>
|
||||
<name>kos</name>
|
||||
<type>org.dcm4che.data.Dataset</type>
|
||||
</parameter>
|
||||
<return-type>java.lang.String</return-type>
|
||||
</operation>
|
||||
|
||||
&defaultOperations;
|
||||
</mbean>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user