Hello everyone,
thanks for your help! We want to use orthancteam/orthanc under Docker as a scientific PACS in our clinic.
The Docker instance is currently running on an Ubuntu 20.04 LTS ESXi VM. A Deep Unity Diagnost (formerly Agfa IMPAX R20) is used as DICOM viewer.
I can send a C-Find request to Orthanc and get a response. However, as soon as I trigger a Q/R from a patient or image study, I only get some metadata but no images / series. C-Store Request or Response is set to “success”.
Unfortunately my DICOM knowledge is not very profound. Perhaps someone has an idea or has already successfully tested a similar configuration.
config:
Deep Unity Diagnost:
CalledAET: ORTHANC
Host: 193.196.214.129
Port: 4242
CallingAET: IMPAX6229UKF
RelationalQuery: true
CloseImmediatly: false
MultivaluedUIDs: true
SecureConnection: false
NoExtendedNegotation: true
WadoURL: http://193.196.214.129:8042/dicom-web/servers/orthanc
Docker-compose.yml:
version: ‘3.8’
services:
orthanc:
image: orthancteam/orthanc
ports:
- 4242:4242
- 8042:8042
environment:
- ORTHANC_NAME=ORTHANC_RAD
depends_on:
- postgres
volumes:
- OrthancStorage:/etc/orthanc/OrthancStorage
- ./orthanc.json:/etc/orthanc/orthanc.json:ro
# need to sync time
- “/etc/timezone:/etc/timezone:ro”
- “/etc/localtime:/etc/localtime:ro”
postgres:
image: postgres:13
container_name: orthanc_postgres
environment:
POSTGRES_DB: orthanc
POSTGRES_USER: orthanc
POSTGRES_PASSWORD: *****
volumes:
- OrthancDBbackup:/etc/orthanc/OrthancDBbackup
# postgres dir here in orthanc folder
- ./postgres_data:/var/lib/postgresql/data
- “/etc/timezone:/etc/timezone:ro”
- “/etc/localtime:/etc/localtime:ro”
volumes:
OrthancStorage:
driver_opts:
type: “nfs”
device: “:/mnt/IMG/orthanc/OrthancStorage”
o: “addr=193.196.214.184,nfsvers=4”
OrthancDBbackup:
driver_opts:
type: “nfs”
device: “:/mnt/IMG/orthanc/OrthancDBbackup”
o: “addr=193.196.214.184,nfsvers=4”
Orthanc.json:
"Name": "ORTHANC_RAD",
"DicomServerEnabled" : true,
"DicomAet": "ORTHANC",
"DicomPort" : 4242,
"DicomCheckCalledAet" : false,
"UnknownSopClassAccepted" : true,
"DicomScpTimeout" : 120,
"DicomScuTimeout" : 30,
// we can send to other pacs
"DicomModalities" :
{
"NORA_RAD" : [ "NORA_RAD", "10.231.0.161", 1104 ],
"NORA_MOVE" : [ "NORA_MOVE", "10.231.0.161", 1106 ],
"RAD-HGCP393" : [ "RAD-HGCP393", "193.196.198.119", 5105 ],
"PACS": {
"AET" : "IMPAX6229UKF",
"Host" : "193.196.214.76",
"Port" : 11112,
//"Manufacturer" : "Generic",
"AllowEcho" : true,
"AllowGet" : true,
"AllowFind" : true,
"AllowFindWorklist" : true,
"AllowMove" : true,
"AllowStore" : true,
"AllowTranscoding" : true,
"Timeout" : 120
}
},
"StorageDirectory": "/etc/orthanc/OrthancStorage",
"PostgreSQL" :
{
"EnableIndex" : true,
"EnableStorage" : false, // if true, all dicoms will be stored in database instead of StorageDirectory
"Host" : "postgres",
"Port" : 5432,
"Database" : "orthanc",
"Username" : "orthanc",
"Password" : "****"
},
// we could also enable http ssl, see template config
"HttpServerEnabled" : true,
"HttpDescribeErrors" : true,
"OrthancExplorerEnabled" : true,
"RemoteAccessAllowed" : true,
"HttpPort" : 8042,
"AuthenticationEnabled" : true,
"RegisteredUsers" :
{
"orthanc" : "thancor"
},
"DicomWeb" : {
"Enable" : true,
"Root" : "/dicom-web/",
"EnableWado" : true,
"EnableWadoUri" : true,
"EnableWadoRs" : true,
"WadoRoot" : "/wado",
"Ssl" : false,
"Host" : "193.196.214.129:8042",
"Port" : 8042,
"QidoCaseSensitive" : false,
"QidoExtendedNegotiation": false,
"QidoMaximumResults": 100,
"StudiesMetadata" : "Full",
"SeriesMetadata" : "Full",
"Servers" : {
"ORTHANC" : [ "http://193.196.214.129:8042/dicom-web/", "orthanc", "thancor" ]
}
},
"Gdcm" : {
"Throttling" : 4,
"RestrictTransferSyntaxes" : [
"1.2.840.1008.1.2.4.50",
"1.2.840.1008.1.2.4.51",
"1.2.840.1008.1.2.4.57",
"1.2.840.1008.1.2.4.70",
"1.2.840.1008.1.2.4.90",
"1.2.840.1008.1.2.4.91"
]
}
}
Logs: