328 lines
14 KiB
XML
328 lines
14 KiB
XML
<?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>
|