Skip to content

CarlLester/weasis-pacs-connector

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

weasis-pacs-connector

weasis-pacs-connector provides the easiest way to launch Weasis from a web context (see URL examples below) and to connect Weasis to any PACS supporting WADO.

This component gathers different services:

  • /viewer launching Weasis with the patient ID, study UID... (can be configured to use a combination of UIDs or to hide some of them)
  • /IHEInvokeImageDisplay launching Weasis at Patient and Study level, compliant to the IHE IID profile
  • /viewer-applet same as /viewer but it can launch Weasis as Applet in a web page (the service returns an html page). This method is not recommended as several browsers block Java plugin.
  • /manifest building the xml manifest (containing the necessary UIDs) consumed by Weasis to retrieve all the images by WADO requests
  • /[name of the template] (default template: /weasis.jnlp) building a jnlp file from a template (jnlp template path, jnlp properties and jnp arguments can be passed via URL parameters, see the JNLP Builder documentation)

New features in weasis-pacs-connector 5

  • Used weasis-dicom-tools (based on dcm4che3) for building the manifest
  • Starting Weasis and building manifest are executed in parallel (improve the time to get the images)
  • The manifest is not embedded any more by default in the jnlp, only an url with an id can be called once within 5 min. That means clicking on a jnlp a second time won't show any images (this behavior is desirable for security reasons as most browsers downloads jnlp)
  • Configure the maximum number of manifests treated simultaneous and the maximum life time of a building manifest process (5 min by default)
  • Error messages (when building the manifest) are transmitted to the viewer via the manifest
  • New context (/IHEInvokeImageDisplay) compliant to the IHE IID profile
  • Parameters at patient level defined in IID profile (mostRecentResults, lowerDateTime, upperDateTime, modalitiesInStudy) are also available in the other contexts (/viewer, /viewer-applet and /manifest)
  • Allows to have on different servers the following components: weasis-pacs-connector, PACS, Weasis, weasis-ext (additional plugins) and jnlp templates
  • Major improvement of the JNLP builder servlet (allows dynamic injection of arguments, properties and templates)
  • Option for DICOM query in TLS mode
  • Launching Weasis as an Applet in web page
  • Uploading the manifest by http POST
  • Option to embed the manifest into the jnlp

Build weasis-pacs-connector

Prerequisites: JDK 6 and Maven

  • Execute the maven command mvn clean package in the root directory of the project and get the package from /target/weasis-pacs-connector.war. Official releases can be downloaded here.

  • Use the loggerless profile for web application container which already embeds slf4j and log4j (like JBoss): mvn clean package -Ploggerless

Note: with a snapshot version, it can be necessary to build first the library weasis-dicom-tools

Launching Weasis with IHE IID profile

Launching Weasis

Note: It is allowed to have multiple UIDs for patient, study, series and instance but within the same level. The configuration file enables to set which ID is allowed and if a combination of UIDs is required. When using a combination of UIDs, the order is not relevant.

Getting the xml manifest

Build an XML file containing the UIDs of the images which will be retrieved in Weasis. There is an XLS schema to validate the content of xml. This file can be either compressed in gzip or uncompressed. Here are examples:

JNLP Builder

See the JNLP Builder documentation

Configuration of weasis-pacs-connector

The default configurations works directly with dcm4che-web3. To override the configuration of weasis-pacs-connector, download weasis-connector-default.properties and rename it weasis-pacs-connector.properties. This file named weasis-pacs-connector.properties must be placed in the classpath of the application:

  • In JBoss inferior to version 7, the best location would be "/server/default/conf/"
  • In JBoss 7.2 and 8.x, see here
  • In Tomcat just specify the directory in shared.loader property of /conf/catalina.properties

To add properties or arguments in the JNLP there are two possibilities:

  1. Add parameters via the URL, see the JNLP Builder documentation (arg, prop, and src)
  2. Change the default template, see jnlp.default.name in weasis-connector-default.properties

For dcm4chee-arc:

  • change the configuration of the wado server property to pacs.wado.url=${server.base.url}/dcm4chee-arc/wado/DCM4CHEE
  • in JBoss WildFly 8.x place the file named weasis-pacs-connector.properties into /modules/org/weasis/weasis-pacs-connector/main
  • create a file module.xml and place it in the same directory. The content of this file is:
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.weasis.weasis-pacs-connector">
        <resources>
            <resource-root path="."/>
        </resources>
    </module>

Security

There are different ways to treat the security aspects. Here are some:

  • Make a proxy servlet (URL forwarding) to handle authentication and authorization you want and configure weasis-pacs-connector to be called only by the proxy server (hosts.allow=serverhostname)
  • Configure weasis-pacs-connector for UIDs encryption in the URL with a paraphrase (encrypt.key=paraphraseForIDs: just uncomment and set a new key). It works by default with dcm4chee-web3. For other web interface it requires to use the same algorithm with the same key.
  • Configure weasis-pacs-connector for accepting only request with a combination of several UIDs

Architecture of weasis-pacs-connector

weasis-pacs-connector schema

See How to launch Weasis from any environments

About

Connect Weasis to any PACS supporting WADO

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 84.9%
  • JavaScript 15.1%