Vzpostavitev strežnika PACS

Dcm4chee je upravitelj slik/arhiv za slike. Vsebuje storitve DICOM in HL7, ki so potrebne za zagotavljanje shranjevanja in pridobivanja slik. Dcm4chee deluje na aplikacijskem strežniku JBoss, ki je napisan v programskem jeziku Java, kar omogoča delovanje na različnih platformah (Linux, Windows, macOS).

Uradna stran

Namestitev v operacijskem sistemu Ubuntu

Namestitev v operacijskem sistemu Windows

Namestitev Dcm4chee

Namestitev je bila opravljena v operacijskem sistemu Linux Ubuntu 18.04.2 LTS.

Najprej je potrebno namestiti Java Development Kit verzije 7u80. Na spletu poiščemo jdk-7u80-linux-i586.tar.gz. To je 32-bitna verzija, ker na 64-bitni Dcm4chee ne deluje.

Za namestitev Jave se najprej prijavimo kot administrator z ukazom sudo su. Potem izvedemo naslednja ukaza, ki omogočita delovanje 32-bitne Jave:

apt-get update

apt-get install libc6-i386

Če zgornja dva ukaza ne delujeta, izvedemo prej še ta ukaz dpkg – -add-architecture i386

Z ukazom mkdir /opt/jdk naredimo novo mapo, kamor bomo odpakirali Javo. Nato se premaknemo v mesto, kamor smo prenesli datoteko z Javo in jo z ukazom tar – -zxf jdk-7u80-linux-i586.tar.gz -C /opt/jdk odpakiramo v prej narejeno mapo.

S tema dvema ukazoma določimo mesto, kamor kaže ukaz java:

update-alternatives – -install /usr/bin/java java /opt/jdk/jdk1.7.0_80/bin/java 100

update-alternatives – -install /usr/bin/javac javac /opt/jdk/jdk1.7.0_80/bin/javac 100

Zdaj je potrebno določiti še pot spremeljivke JAVA_HOME. Z ukazom gksudo gedit /etc/environment odpremo datoteko v urejevalniku teksta in na konec dodamo: JAVA_HOME=”/opt/jdk/jdk1.7.0_80/”

Izvedemo še ukaz source /etc/environment

S temi tremi ukazi pa preverimo, če vse deluje:

update-alternatives – -display java

update-alternatives – -display javac

java -version

 

Postopek nadaljujemo z namestitvijo MySQL. To storimo z ukazom apt-get install mysql-server

Po namestitivi se z ukazom mysql -uroot -p***** povežemo v MySQL. Potem naredimo shemo za pacs:

create schema pacsdb;

grant all on pacsdb.* to pacs@localhost identified by ‘pacs’;

flush privileges;

\q

 

Iz tega naslova prenesemo JBoss 4.2.3.GA. Od tukaj pa prenesemo Dcm4chee verziji 2.18.3 in 2.18.1.

Odpakiramo vse 3 datoteke. Vsebino iz mape dcm4chee-2.18.3 kopiramo v mapo 2.18.1 in zamenjamo vse datoteke, za katere nam računalnik javi, da so enake. Mapo 2.18.3 izbrišemo in 2.18.1 preimenujemo v 2.18.3. Potem se premaknemo v dcm4chee-2.18.3-mysql/server/default/deploy in izbrišemo dcm4chee-web-ear-3.0.5-mysql.ear.

Zdaj se premaknemo v dcm4chee-2.18.3-mysql/bin in vnesemo ukaz ./install_jboss.sh pot_do_mape_jboss/jboss-4.2.3.GA, ki bo skopiral datoteke iz JBoss v Dcm4chee.

Potrebno je še ustvariti podatkovno bazo za Dcm4chee. Premaknemo se v dcm4chee-2.18.3-mysql/sql in uporabimo ukaz mysql -upacs -ppacs pacsdb < create.mysql.

Za zagon Dcm4chee se premaknemo v dcm4chee-2.18.3-mysql/bin in izvedemo ukaz sudo ./run.sh.

Počakamo, da se strežnik zažene (traja 1-2 min), in gremo z brskalnikom na naslov localhost:8080/dcm4chee-web3 (privzeto ime in geslo sta admin).

Konfiguracija strežnika

Na naslovu localhost:8080/jmx-console spreminjamo nastavitve strežnika (privzeto ime in geslo sta admin). Pri našem strežniku smo spremenili naslednje stvari:

  • v service=HL7 Service,type=ORM smo spremenili, kako strežnik pretvarja sporočila ORM v naročila, ki gredo na MWL. Vsem novim naročilom samodejno nastavi SPS Status v SCHEDULED (NW:XO(SCHEDULED)).
  • V service=AE smo nastavili samodejno posodobitev naslovov IP naprav, ko uporabijo storitev C-MOVE, kar je uporabno, ko imajo naprave dinamične naslove IP. Tukaj lahko tudi spremenimo privzet AET strežnika z operacijo updateAETitle().
  • V service=StoreScp smo nastavili, da strežnik sprejme samo naprave, katerih AET so vnešeni v strežnik (CONFIGURED_AETS).
  • V service=DeviceService smo z operacijo importDeviceMapping() dodali datoteko, na podlagi katere strežnik določi glede na preiskavo/protokol, kateri modaliteti pripada naročilo (slika 1).
  • Na mestu ..\dcm4chee-2.18.3-mysql\server\default\conf\dcm4chee-ae smo za posamezne AET naprav dodali datoteke, s katerimi lahko še natančneje določamo obnašanje strežnika v določenih pogojih (coercion). Najprej je potrebno narediti novo mapo z istim imenom, kot je AET naprave. Z datoteko mwl-cfindrq.xsl smo določili, da modaliteta iz seznama naročil (MWL) pridobi samo tista naročila, ki se ujemajo z njenim AET in imajo SPS Status SCHEDULED. Če ima naročilo status IN PROGRESS ali COMPLETED, ga naprava ne more ponovno pridobiti (slika 2). Zaradi težav pri sporočilih MPPS pri eni izmed ultrazvočnih naprav smo naredili še »coercion« z datotekama mpp-ncreaterq.xsl in mpps-nsetrq.xsl (slika 3).
  • Nastavljamo lahko tudi beleženje dnevnikov (log) za posamezne storitve. Mi smo ga uporabili pri service=MPPSScp zaradi prej omenjenih težav. S tem smo videli, kaj je ultrazvok poslal v sporočilu MPPS.

 

Slika 1: primer datoteke devices-mapping.xml, 123 = code value, US heart = code meaning, PACS = coding scheme designator

 

Slika 2: primer datoteke mwl-cfindrq.xsl

 

Slika 3: primer datotek mpps-nceraterq.xsl in mpps-nsetrq.xsl