Import old data in dcm4chee and update in its DB

371 views
Skip to first unread message

nutun

unread,
Feb 14, 2020, 12:27:55 AM2/14/20
to dcm4che
Hi,

I have deployed dcm4chee-arc-psql:5.21.0-secure (dockerized). I have DICOM images data of my old PACS server which is saved in data directory where the current dcm4chee server is saving its data.

Scenario # 01: I can view only data which is archived in current dcm4chee server which is obvious but my aim is to view my old data too from my current dcm4chee server. Now I want dcm4chee to scan the whole directory (may be through dcm4che toolkit etc) and update the record in its DB so that the old server data can also be view able through my current dcm4chee server.

Scenario # 02: Lets suppose my dcm4chee server is crashed and all the configurations lost and I do not have any DB backup etc but I have the DICOM images data saved at my storage.
I have reinstalled dcm4chee server and configured server storage path where my DICOM image data is saved. Now I want some way to scan my old data (may be through dcm4che toolkit etc) and be imported in dcm4chee (newly installed server) so I can view the images.

Need guidelines in this regard.

Vrinda Nayak

unread,
Feb 14, 2020, 4:28:15 AM2/14/20
to dcm4che
Additionally for scenario 2, as you are using dockerized version, the db and ldap data etc is anyway mapped out to a filesystem of your choice.

nutun

unread,
Feb 15, 2020, 12:01:09 AM2/15/20
to dcm4che
I have tried it but not succeeded. See following:

my command is:
$ find 2020/01/ -type f | curl -v -H "Content-Type: text/plain" --data-binary @- https://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/fs1

and returned the following.

root@dcm1:/data-old# find 2020/01/ -type f | curl -v -H "Content-Type: text/plain" --data-binary @- http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/fs1
* Expire in 0 ms for 6 (transfer 0x55c2938cfe80)
* Expire in 1 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 0 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 2 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 1 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 1 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 4 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 1 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 1 ms for 1 (transfer 0x55c2938cfe80)
* Expire in 2 ms for 1 (transfer 0x55c2938cfe80)
*   Trying ::1...
* TCP_NODELAY set
* Expire in 149997 ms for 3 (transfer 0x55c2938cfe80)
* Expire in 200 ms for 4 (transfer 0x55c2938cfe80)
* Connected to localhost (::1) port 8080 (#0)
> POST /dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/fs1 HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.64.0
> Accept: */*
> Content-Type: text/plain
> Content-Length: 93
* upload completely sent off: 93 out of 93 bytes
< HTTP/1.1 401 Unauthorized
< Expires: 0
< Connection: keep-alive
< WWW-Authenticate: Bearer realm="dcm4che"
< Cache-Control: no-cache, no-store, must-revalidate
< Pragma: no-cache
< Content-Type: text/html;charset=UTF-8
< Content-Length: 71
< Date: Sat, 15 Feb 2020 04:41:32 GMT
* Connection #0 to host localhost left intact
<html><head><title>Error</title></head><body>Unauthorized</body></html>root@dcm1:/data-old# 

Vrinda Nayak

unread,
Feb 15, 2020, 11:10:46 AM2/15/20
to dcm4che
Since you are using secured version, you will have to pass an authorization bearer token as well. This token you get from Keycloak. Refer Getting OIDC Access Token using curl : https://github.com/dcm4che/dcm4chee-arc-light/wiki/Getting-OIDC-Access-Token-using-curl

You can pass this token either in "Authorization" http header or as a query parameter "accept"

Reply all
Reply to author
Forward
0 new messages