{"id":143,"date":"2015-09-16T11:56:47","date_gmt":"2015-09-16T10:56:47","guid":{"rendered":"http:\/\/coneixement.info\/blog\/?p=143"},"modified":"2021-02-04T10:25:46","modified_gmt":"2021-02-04T09:25:46","slug":"how-to-install-and-setup-a-pacs-dcm4chee","status":"publish","type":"post","link":"https:\/\/coneixement.info\/blog\/how-to-install-and-setup-a-pacs-dcm4chee\/","title":{"rendered":"How to install and setup a PACS (dcm4chee)"},"content":{"rendered":"<h2 id=\"ii1\" dir=\"ltr\">Introduction<\/h2>\n<p dir=\"ltr\">A\u00a0<b>Picture Archiving and Communication System<\/b>\u00a0(<b>PACS<\/b>) is a\u00a0<a title=\"Medical imaging\" href=\"http:\/\/en.wikipedia.org\/wiki\/Medical_imaging\">medical imaging<\/a>\u00a0technology which provides economical storage of and convenient access to images from multiple modalities (source machine types).<\/p>\n<p dir=\"ltr\">In our case we can use it to create pre-production environments to test PACS communications. For example, we can setup a PACS to send endoscopy images and retrieve radiology samples to an application.<\/p>\n<p dir=\"ltr\">We are going to use the <strong><a href=\"http:\/\/www.dcm4che.org\/confluence\/display\/ee2\/Home\" target=\"_blank\" rel=\"noopener\">dcm4chee<\/a><\/strong>\u00a0open source solution from <a href=\"http:\/\/www.dcm4che.org\/\" target=\"_blank\" rel=\"noopener\">dcm4che.org<\/a>.\u00a0This is a JEE and JMX system which is deployed within the\u00a0<a class=\"external-link\" href=\"http:\/\/labs.jboss.com\/\" rel=\"nofollow\">JBoss Application Server<\/a>\u00a0to provide a number of clinical services. It may be used for a variety of different purposes, the most popular being:<\/p>\n<ol dir=\"ltr\">\n<li>a DICOM archive and image manager<\/li>\n<li>a PACS, when coupled with a viewer such as\u00a0<a class=\"external-link\" href=\"http:\/\/www.osirix-viewer.com\/\" rel=\"nofollow\">OsiriX<\/a>,\u00a0<a class=\"external-link\" href=\"http:\/\/www.k-pacs.net\/\" rel=\"nofollow\">K-PACS<\/a>,\u00a0<a class=\"external-link\" href=\"http:\/\/www.clearcanvas.ca\/\" rel=\"nofollow\">ClearCanvas<\/a>,\u00a0<a class=\"external-link\" href=\"http:\/\/ginkgo-cadx.com\/\" rel=\"nofollow\">Ginkgo CADx<\/a>, etc.<\/li>\n<\/ol>\n<p dir=\"ltr\">As a host, trying to use always open source solutions, we are going to use a GNU\/Linux operating system, specifically <strong><a href=\"http:\/\/www.kubuntu.org\/news\/kubuntu-14.04\">Kubuntu\u00a014.04\u00a0LTS\u00a0(Long\u00a0Term\u00a0Supported)<\/a><\/strong>.<\/p>\n<p dir=\"ltr\">\u00a0As a database we are going to use PostgresSQL (9.3).<\/p>\n<p dir=\"ltr\">We can find <strong><a href=\"http:\/\/www.dcm4che.org\/confluence\/display\/ee2\/Installation\" target=\"_blank\" rel=\"noopener\">installation\u00a0instructions\u00a0at\u00a0dcm4chee\u00a0page<\/a><\/strong>, but there are not always updated, so I will show all the steps for the current versions.<\/p>\n<h2 id=\"ii3\" dir=\"ltr\">Installation of JDK<\/h2>\n<p dir=\"ltr\">Although we can use the openjdk that comes with kubuntu, we are going to use the one from Oracle.<\/p>\n<p dir=\"ltr\">First we have to download the package from Oracle site:<\/p>\n<p dir=\"ltr\"><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk8-downloads-2133151.html\">http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk8-downloads-2133151.html<\/a><\/p>\n<p dir=\"ltr\">And choose the one that fits our platform (x86 tar.gz in my case)<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_19_48-Java-SE-Development-Kit-8-Downloads.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-144 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_19_48-Java-SE-Development-Kit-8-Downloads.png\" alt=\"2014-11-27 17_19_48-Java SE Development Kit 8 - Downloads\" width=\"562\" height=\"614\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_19_48-Java-SE-Development-Kit-8-Downloads.png 562w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_19_48-Java-SE-Development-Kit-8-Downloads-275x300.png 275w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/a><\/p>\n<p dir=\"ltr\">Once decrompressed, just copy the folder to \/usr\/lib and add the following lines at the end of the ~\/.bashrc file:<\/p>\n<p dir=\"ltr\">JAVA_HOME=\/usr\/lib\/jvm\/jdk1.8.0_25<br \/>\nPATH=$JAVA_HOME\/bin:$PATH<br \/>\nexport JAVA_HOME<br \/>\nexport PATH<\/p>\n<p dir=\"ltr\">We can check the version using the command &#8220;java -version&#8221;<\/p>\n<p dir=\"ltr\">$ java -version<br \/>\njava version &#8220;1.8.0_25&#8221;<br \/>\nJava(TM) SE Runtime Environment (build 1.8.0_25-b17)<br \/>\nJava HotSpot(TM) Server VM (build 25.25-b02, mixed mode)<\/p>\n<h2 id=\"ii3\" dir=\"ltr\">Installation procedure<\/h2>\n<h4 id=\"ii5\" dir=\"ltr\">1. Download and extract the binary distribution package of dcm4chee:<\/h4>\n<p dir=\"ltr\">We have to download the latest version of dcm4chee that is relevant to the database we want from <strong><a href=\"http:\/\/sourceforge.net\/projects\/dcm4che\/files\/dcm4chee\/\" target=\"_blank\" rel=\"noopener\">sourceforge<\/a>.\u00a0<\/strong>In our case, the postgres one.<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_39_40-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee_2.18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-145 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_39_40-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee_2.18.png\" alt=\"2014-11-27 17_39_40-dcm4che, a DICOM Implementation in JAVA - Browse _dcm4chee_2.18\" width=\"617\" height=\"409\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_39_40-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee_2.18.png 617w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-17_39_40-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee_2.18-300x199.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><\/a><\/p>\n<h4 id=\"ii6\" dir=\"ltr\">2. Download the binary distribution package of JBoss Application Server 4.2.3.GA<\/h4>\n<p dir=\"ltr\">Download the binary distribution of JBoss 4.2.3.GA from\u00a0<a href=\"http:\/\/sourceforge.net\/projects\/jboss\/files\/JBoss\/JBoss-4.2.3.GA\/\">here<\/a>\u00a0and extract it into a different directory.<\/p>\n<p dir=\"ltr\"><em>Use neither JBoss 5 nor JBoss 6, because it is completely re-architected and is significantly different than the 4.2 line of JBoss!\u00a0<\/em><\/p>\n<p dir=\"ltr\"><em>If you want to use JDK 5, don&#8217;t download JBoss for JDK 6 (jboss-4.2.3.GA-jdk6.zip) &#8211; use jboss-4.2.3.GA.zip!<\/em><\/p>\n<h4 id=\"ii7\" dir=\"ltr\">3. Copy files from JBoss to dcm4chee<\/h4>\n<p dir=\"ltr\">Go to the dcm4chee-2.18.1-xxx\/bin directory and execute the install_jboss.sh script, with the path of your JBoss as installation directory as a parameter.<\/p>\n<p dir=\"ltr\">For example, if we have JBoss downloaded in the same directory as dcm4chee:<\/p>\n<p dir=\"ltr\">dcm4chee-2.18.0-psql\/bin$ sh install_jboss.sh ..\/..\/jboss-4.2.3.GA\/<\/p>\n<h4 id=\"ii8\" dir=\"ltr\">4. Install the Database Software and create the DCM4CHEE Database<\/h4>\n<p dir=\"ltr\">Set permissions on Postgres database. The following setting will trust only connections from the localhost, which is reasonable for a development machine, but may need to be changed for production.<\/p>\n<p dir=\"ltr\">Edit the pg_hba.conf file in order to set the right permissions.<\/p>\n<pre dir=\"ltr\">$ sudo vim \/etc\/postgresql\/9.3\/main\/pg_hba.conf<\/pre>\n<p dir=\"ltr\">Set a password for the postgres user<\/p>\n<pre class=\"code-java\" dir=\"ltr\">$export PGUSER=postgres\r\n$createdb pacsdb\r\n$psql pacsdb -f dcm4chee-psql-2.18.0\/sql\/create.psql<\/pre>\n<p dir=\"ltr\">This will create all the database structure. Now we have to setup the database access from dcm4chee.\u00a0In your dcm4chee installation, use a text editor to edit\u00a0<tt>server\/default\/deploy\/pacs-postgres-ds.xml\u00a0<\/tt>and set the database password. This file controls the dcm4chee connections to the main archive application database.<a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/PostgressPWD.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-151 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/PostgressPWD.png\" alt=\"PostgressPWD\" width=\"715\" height=\"442\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/PostgressPWD.png 715w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/PostgressPWD-300x185.png 300w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/a><\/p>\n<h4 id=\"ii9\" dir=\"ltr\">5. Deploy the Audit Record Repository (ARR)<\/h4>\n<p dir=\"ltr\">The Audit Record Repository will help us track any movement in dcm4chee.<\/p>\n<p dir=\"ltr\">Starting with dcm4chee-2.12.0, the binary distribution package of the archive application does NOT include the dcm4chee Audit Record Repository (ARR) anymore. The ARR maintains an audit log of all transactions within the archive. This is necessary for HIPAA and IHE. Some dcm4chee deployment scenarios call for the deployment of the ARR in a standalone fashion because it acts as an ARR for more than one dcm4chee instance, or multiple applications which can take advantage of an external ARR. Commonly though it is deployed within the dcm4chee archive itself.<\/p>\n<p dir=\"ltr\">Download the latest version from <strong><a href=\"http:\/\/sourceforge.net\/projects\/dcm4che\/files\/dcm4chee-arr\/\">soruceforge<\/a><\/strong>\u00a0related with the database we have chosen (postgres in our case)<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-19_28_29-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee-arr_3.0.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-146 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-19_28_29-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee-arr_3.0.png\" alt=\"2014-11-27 19_28_29-dcm4che, a DICOM Implementation in JAVA - Browse _dcm4chee-arr_3.0\" width=\"459\" height=\"363\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-19_28_29-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee-arr_3.0.png 459w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-27-19_28_29-dcm4che-a-DICOM-Implementation-in-JAVA-Browse-_dcm4chee-arr_3.0-300x237.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/a><\/p>\n<p dir=\"ltr\">Go to the dcm4chee-*-xxx\/bin directory and execute the install_arr.sh script with the path of the dcm4chee-arr-* installation directory as\u00a0parameter.<\/p>\n<p dir=\"ltr\"><span style=\"color: #000000; font-family: Helvetica,Arial,sans-serif;\"><strong>NOTE:<\/strong> Due to a bug, we have to modify two lines of the installer dcm4chee-2.18.psql\/bin\/install_arr.sh<\/span><\/p>\n<p dir=\"ltr\"><span style=\"color: #000000; font-family: Helvetica,Arial,sans-serif;\">VERS=3.0.11 should be VERS=3.0.12<\/span><\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-152 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug1.png\" alt=\"Bug1\" width=\"396\" height=\"182\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug1.png 396w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug1-300x138.png 300w\" sizes=\"auto, (max-width: 396px) 100vw, 396px\" \/><\/a><\/p>\n<p dir=\"ltr\"><span style=\"color: #000000; font-family: Helvetica,Arial,sans-serif;\">cp -v &#8220;$ARR_SERV&#8221; \/lib\/dcm4che-core-2.0.25.jar \\ should be\u00a0<\/span>cp -v &#8220;$ARR_SERV&#8221; \/lib\/dcm4che-core-2.0.27.jar \\<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-153 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug2.png\" alt=\"Bug2\" width=\"430\" height=\"99\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug2.png 430w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/Bug2-300x69.png 300w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/><\/a><\/p>\n<p dir=\"ltr\">Now we can run the installer without problem.<\/p>\n<p dir=\"ltr\">dcm4chee-2.18.0-psql\/bin$ sh install_arr.sh ..\/..\/dcm4chee-arr-3.0.12-psql\/<\/p>\n<p dir=\"ltr\">We have to create the arr database in Postgres and create the structure using the script from the dcm4chee-arr sql folder:<\/p>\n<p dir=\"ltr\">dcm4chee-arr-3.0.12-psql\/sql$ psql arrdb -f dcm4chee-arr-psql.ddl<\/p>\n<p dir=\"ltr\">Now we have to set the ARR database acces. In your dcm4chee installation, use a text editor to edit\u00a0<tt>server\/default\/deploy\/arr-psql-ds.xml<\/tt>\u00a0and set the database password. This file control the dcm4chee connections to the\u00a0Audit Record Repository (ARR)\u00a0database.<\/p>\n<p dir=\"ltr\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/ARR-PostgresPwd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-154 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/ARR-PostgresPwd.png\" alt=\"ARR-PostgresPwd\" width=\"682\" height=\"408\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/ARR-PostgresPwd.png 682w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/ARR-PostgresPwd-300x179.png 300w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/a><\/p>\n<h4 id=\"ii10\" dir=\"ltr\">6. Set environment variable JAVA_HOME to JDK location<\/h4>\n<p dir=\"ltr\">The dcm4chee startup\/shutdown scripts depend on the\u00a0<tt>JAVA_HOME<\/tt>\u00a0environment variable in order to find the Java executables and libraries. For example, if your JDK is installed at &#8220;\/usr\/lib\/jvm\/jdk1.8.0_25&#8221; then that is the path to JAVA_HOME.<\/p>\n<p dir=\"ltr\">If you choose to add in the ~\/.bashrc file, remember the PACS would not start unless you start the session.<\/p>\n<h4 id=\"ii11\" dir=\"ltr\">7.\u00a0<em>Optional:<\/em>\u00a0Adjust maximum allocation of heap memory<\/h4>\n<p dir=\"ltr\">Java programs run with a finite amount of memory allocated to them. If you anticipate high volumes of storage and retrievals, or very large datasets, you may want to increase the max (-Xmx) heap size of the Java process.<\/p>\n<p dir=\"ltr\">Linux\/Unix\/OSX: dcm4chee-2.xx-xxx\/bin\/run.conf<\/p>\n<div class=\"preformatted panel\" dir=\"ltr\">\n<div class=\"preformattedContent panelContent\">\n<pre># Specify options to pass to the Java VM.\r\nif [ \"x$JAVA_OPTS\" = \"x\" ]; then\r\nJAVA_OPTS=\"-Xms128m -Xmx512m -XX:MaxPermSize=128m ..\r\nfi<\/pre>\n<\/div>\n<\/div>\n<p dir=\"ltr\">according to available RAM and memory requirements of other processes on this node.<\/p>\n<p>E.g.: if only 512 MB RAM are available, you should decrease the default value -Xmx512m to (e.g.) -Xmx300.<\/p>\n<h4 id=\"ii12\" dir=\"ltr\">8. Test the installation<\/h4>\n<p dir=\"ltr\">To test your installation, go to the dcm4chee-2.xx-xxx\/bin directory and execute the run.sh script. Your output should look like the following and contains no error or exception messages:<\/p>\n<div class=\"preformatted panel\" dir=\"ltr\">\n<pre class=\"preformattedContent panelContent\">=========================================================================\r\n \r\n JBoss Bootstrap Environment\r\n \r\n JBOSS_HOME: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\r\n \r\n JAVA: \/usr\/lib\/jvm\/jdk1.8.0_25\/bin\/java\r\n \r\n JAVA_OPTS: -Dprogram.name=run.sh -server -Xms128m -Xmx512m -XX:MaxPermSize=128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.messaging.ServerPeerID=0 -Djavax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl -Djava.awt.headless=true -Dapp.name=dcm4chee -Djava.net.preferIPv4Stack=true -Djava.library.path=\/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/bin\/native\r\n \r\n CLASSPATH: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/bin\/run.jar:\/usr\/lib\/jvm\/jdk1.8.0_25\/lib\/tools.jar\r\n \r\n=========================================================================\r\n \r\nJava HotSpot(TM) Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0\r\n19:43:15,087 INFO [Server] Starting JBoss (MX MicroKernel)...\r\n19:43:15,088 INFO [Server] Release ID: JBoss [Trinity] 4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)\r\n19:43:15,089 INFO [Server] Home Dir: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\r\n19:43:15,089 INFO [Server] Home URL: file:\/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/\r\n19:43:15,090 INFO [Server] Patch URL: null\r\n19:43:15,090 INFO [Server] Server Name: default\r\n19:43:15,090 INFO [Server] Server Home Dir: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/server\/default\r\n19:43:15,090 INFO [Server] Server Home URL: file:\/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/server\/default\/\r\n19:43:15,090 INFO [Server] Server Log Dir: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/server\/default\/log\r\n19:43:15,090 INFO [Server] Server Temp Dir: \/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/server\/default\/tmp\r\n19:43:15,091 INFO [Server] Root Deployment Filename: jboss-service.xml\r\n19:43:15,359 INFO [ServerInfo] Java version: 1.8.0_25,Oracle Corporation\r\n19:43:15,359 INFO [ServerInfo] Java VM: Java HotSpot(TM) Server VM 25.25-b02,Oracle Corporation\r\n19:43:15,359 INFO [ServerInfo] OS-System: Linux 3.13.0-40-generic,i386\r\n19:43:15,654 INFO [Server] Core system initialized\r\n19:43:17,680 INFO [WebService] Using RMI server codebase: http:\/\/daniel-VirtualBox:8083\/\r\n19:43:17,682 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:jboss-log4j.xml\r\n19:43:18,095 INFO [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.\r\n....\r\n19:43:49,281 INFO [RequestListenerInterface] registered listener interface [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]\r\n19:43:49,281 INFO [Application] [WicketApplication] init: Wicket extensions initializer\r\n19:43:49,281 INFO [WebApplication] [WicketApplication] Started Wicket version 1.4.22 in deployment mode\r\n19:43:49,347 INFO [EARDeployer] Started J2EE application: file:\/home\/daniel\/Downloads\/dcm4chee-2.18.0-psql\/server\/default\/deploy\/dcm4chee-web-ear-3.0.4-psql.ear\r\n19:43:49,378 INFO [ServerImpl] Start Server listening on 0.0.0.0:2575\r\n19:43:49,414 INFO [Http11Protocol] Starting Coyote HTTP\/1.1 on http-0.0.0.0-8080\r\n19:43:49,440 INFO [Http11Protocol] Starting Coyote HTTP\/1.1 on http-8443\r\n19:43:49,460 INFO [AjpProtocol] Starting Coyote AJP\/1.3 on ajp-0.0.0.0-8009\r\n19:43:49,472 INFO [ServerImpl] Start Server listening on 0.0.0.0:11112\r\n19:43:49,473 INFO [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBoss_4_2_3_GA date=200807181439)] Started in 34s:379ms<\/pre>\n<\/div>\n<h4 id=\"ii13\" dir=\"ltr\">9. Login into web interface<\/h4>\n<p dir=\"ltr\">Connect to the Web Interface at\u00a0<a href=\"http:\/\/localhost:8080\/dcm4chee-web3\/\">http:\/\/localhost:8080\/dcm4chee-web3\/<\/a>\u00a0of the archive using any Web Browser. You should get the User Login Screen. Login in using default Administrator account &#8216;admin&#8217;, with password &#8216;admin&#8217;.<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_09_43-dcm4chee-Login.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-147 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_09_43-dcm4chee-Login.png\" alt=\"2014-11-28 08_09_43-dcm4chee Login\" width=\"565\" height=\"544\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_09_43-dcm4chee-Login.png 565w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_09_43-dcm4chee-Login-300x289.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_10_49-dcm4chee-after-login.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-148 size-large\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_10_49-dcm4chee-after-login-1024x449.png\" alt=\"2014-11-28 08_10_49-dcm4chee after login\" width=\"474\" height=\"208\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_10_49-dcm4chee-after-login-1024x449.png 1024w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_10_49-dcm4chee-after-login-300x131.png 300w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_10_49-dcm4chee-after-login.png 1114w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<h4 id=\"ii14\" dir=\"ltr\">10. Login to JMX Console<\/h4>\n<p dir=\"ltr\">Connect to JBoss&#8217;s JMX Console at\u00a0<a href=\"http:\/\/localhost:8080\/jmx-console\/\">http:\/\/localhost:8080\/jmx-console\/<\/a>\u00a0and login using also the Administrator account &#8216;admin&#8217;, with password &#8216;admin&#8217;.<br \/>\nFollow the link &#8220;group=ONLINE_STORAGE,service=FileSystemMgt&#8221; to the configuration page for File System Management service under the &#8220;dcm4chee.archive&#8221; heading.<br \/>\nInvoke the operation addRWFileSystem(), with argument dirPath specifying the directory, where the archive shall store received objects\/images.<\/p>\n<p dir=\"ltr\">If no Storage File System is configured, the archive will auto-configure dcm4chee-2.xx.1-xxx\/server\/default\/archive as Storage File System, when receiving the first object\/image.<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_11_35-dcm4chee-logs.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-149 size-large\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_11_35-dcm4chee-logs-1024x552.png\" alt=\"2014-11-28 08_11_35-dcm4chee logs\" width=\"474\" height=\"256\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_11_35-dcm4chee-logs-1024x552.png 1024w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_11_35-dcm4chee-logs-300x162.png 300w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_11_35-dcm4chee-logs.png 1090w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<h4 id=\"ii15\" dir=\"ltr\">11.<em>\u00a0Optional:<\/em>\u00a0Change the default AE Title<\/h4>\n<p dir=\"ltr\">Connect to JBoss&#8217;s JMX Console at\u00a0<a href=\"http:\/\/localhost:8080\/jmx-console\/\">http:\/\/localhost:8080\/jmx-console\/<\/a>\u00a0and login using also the Administrator account &#8216;admin&#8217;, with password &#8216;admin&#8217;.<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><a href=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_12_25-dcm4chee-Catalina.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-150 size-full\" src=\"http:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_12_25-dcm4chee-Catalina.png\" alt=\"2014-11-28 08_12_25-dcm4chee Catalina\" width=\"651\" height=\"645\" srcset=\"https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_12_25-dcm4chee-Catalina.png 651w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_12_25-dcm4chee-Catalina-150x150.png 150w, https:\/\/coneixement.info\/blog\/wp-content\/uploads\/2015\/09\/2014-11-28-08_12_25-dcm4chee-Catalina-300x297.png 300w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/a><\/p>\n<p dir=\"ltr\">Follow the link &#8220;service=AE&#8221; to the configuration page for AE (Application Entity &#8211; a DICOM term for a DICOM node on the network) service under the &#8220;dcm4chee.archive&#8221; heading.<br \/>\nInvoke the operation update AETitle with the old AE Title (DCM4CHEE if unchanged from the default), and new AE Title as parameters.<br \/>\nThis will update the following configurations:<\/p>\n<ul dir=\"ltr\">\n<li>update\u00a0 the &#8220;retrieve AET&#8221; of file systems, associated to the current retrieve AET of this node<\/li>\n<li>update &#8220;retrieve AETs&#8221; of all instances, series and studies that have files on these filesystems<\/li>\n<li>update the entry for the &#8220;retrieve AE&#8221; in the AE Configuration<\/li>\n<li>update the AE Title of all services listed by attribute OtherServiceAETitleAttributesToUpdate<\/li>\n<\/ul>\n<h4 id=\"ii2\" dir=\"ltr\">12. Install as a service<\/h4>\n<div class=\"panelMacro\" dir=\"ltr\">\n<table class=\"tipMacro\">\n<tbody>\n<tr>\n<td valign=\"top\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.dcm4che.org\/confluence\/images\/icons\/emoticons\/check.gif\" alt=\"\" width=\"16\" height=\"16\" align=\"absMiddle\" border=\"0\" \/><\/td>\n<td>If running as a service or daemon on any operating system, you should disable CONSOLE logging as noted here:<a href=\"http:\/\/forums.dcm4che.org\/jiveforums\/thread.jspa?messageID=4787\u12b3\">http:\/\/forums.dcm4che.org\/jiveforums\/thread.jspa?messageID=4787\u12b3<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p dir=\"ltr\">After verifying that the archive works, you may want to run it as a service so that it stays running even when you log out. If still running in the console window, you may stop the archive by Ctrl+C, and\u00a0copy the init script dcm4chee_init_redhat.sh to \/etc\/init.d\/ and adjust it according your installation location of the archive and the JDK and under which user the archive application shall run.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction A\u00a0Picture Archiving and Communication System\u00a0(PACS) is a\u00a0medical imaging\u00a0technology which provides economical storage of and convenient access to images from multiple modalities (source machine types). In our case we can use it to create pre-production environments to test PACS communications. For example, we can setup a PACS to send endoscopy images and retrieve radiology samples &hellip; <a href=\"https:\/\/coneixement.info\/blog\/how-to-install-and-setup-a-pacs-dcm4chee\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How to install and setup a PACS (dcm4chee)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[22,40,23],"class_list":["post-143","post","type-post","status-publish","format-standard","hentry","category-opensource","tag-dicom","tag-own","tag-pacs"],"_links":{"self":[{"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/posts\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":5,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/posts\/143\/revisions"}],"predecessor-version":[{"id":348,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/posts\/143\/revisions\/348"}],"wp:attachment":[{"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/categories?post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coneixement.info\/blog\/wp-json\/wp\/v2\/tags?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}