Wir lesen als Orthopäden und Unfallchirurgen viele externe radiologische Bilder ein. Allerdings möchte ich die Bilder nicht auf unserem DICOM-Server speichern und diesen damit "zumüllen". Daher habe ich mir auf einer Synology Diskstation Orthanc-Server als Docker installiert. Die Bilder werden an einem der Clients an der Anmeldung per Horos von CD eingelesen oder die aus einem der Onlineportale in Horos importiert. Anschließend routet Horos automatisch die Bilder zu dem DICOM-Server (Orthanc). Die Bilder in Horos werden nach 1 Woche automatisch gelöscht.
Das Installation von Orthanc auf der Synology funktioniert wie folgt:
- „Container Manager“ über Paketzentrum installieren (Standardeinstellungen verwenden, es sei denn es kommt zu Komplikationen mit Praxisnetzwerk-Bereich)
- Im Container Manager auf „Image“, dann „Importieren“, dann „von URL hinzufügen“
- Im Feld „Hub-Seite“ „orthancteam/orthanc“ eintragen (auf Groß-/Kleinschreibung achten)
- Klick auf Import
- in Dropdown Menu „latest-full“ wählen und „Auswählen“ anklicken. Danach warten bis Image heruntergeladen ist.
- Ordner auf der Synology erstellen:
docker
- orthanc
- db
- etc
-lua
- storage
- Projektdatei erstellen (z.B. mit TextEdit, Brackets) und unter docker-compose.yml speichern
version: '3'
services:
orthanc:
image: orthancteam/orthanc:latest-full
container_name: orthanc
restart: unless-stopped
ports:
- "8042:8042"
- "4242:4242"
volumes:
- /volume1/docker/orthanc/etc/orthanc.json:/etc/orthanc/orthanc.json:ro
- /volume1/docker/orthanc/db:/var/lib/orthanc/db:rw
- /volume1/docker/orthanc/storage:/var/lib/orthanc/storage:rw
- /volume1/docker/orthanc/etc/:/etc/orthanc:rw
command: ["/etc/orthanc/"]
- orthanc.json (mit TextEdit oder Brackets) erstellen und in docker/etc/ ablegen. Die IP-Adresse (an insgesamt 3 Stellen) auf die IP-Adresse der Diskstation ändern.
{
"Name": "Orthanc PACS",
"HttpPort": 8042,
"DicomPort": 4242,
"DicomAet": "DCMSVR",
"StorageDirectory": "/var/lib/orthanc/db",
"RemoteAccessAllowed": true,
"AuthenticationEnabled": false,
"RegisteredUsers": {
"admin": "orthanc",
"user": "orthanc"
},
"DicomModalitiesInDatabase": false,
"DicomAlwaysAllowEcho": true,
"DicomAlwaysAllowStore": true,
"DicomAlwaysAllowFind": true,
"DicomAlwaysAllowGet": true,
"DicomAlwaysAllowMove": true,
"RestApiWriteToFileSystemEnabled": true,
"HttpServerEnableCors": true,
"HttpsCACertificates": "/etc/ssl/certs/ca-certificates.crt",
"Plugins": [
"/usr/share/orthanc/plugins"
],
"Gdcm": {
"Throttling": 4,
"RestrictTransferSyntaxes": [
"1.2.840.10008.1.2.4.90",
"1.2.840.10008.1.2.4.91",
"1.2.840.10008.1.2.4.92",
"1.2.840.10008.1.2.4.93"
]
},
"OrthancExplorer2": {
"Enable": true,
"IsDefaultOrthancUI": true,
"UiOptions": {
"EnableOpenInOhifViewer3": true,
"EnableOpenInStoneViewer": true,
"EnableOpenInVolView": true,
"OhifViewer3PublicRoot": "http://192.168.110.253:8042/ohif/",
"StoneViewerPublicRoot": "http://192.168.110.253:8042/stone-webviewer/index.html"
}
},
"DicomWeb": {
"Enable": true,
"Root": "/dicom-web/",
"StowMaxInstances": 20,
"StowMaxStorageSize": 10,
"QidoCaseSensitive": false,
"PublicRoot": "/dicom-web/",
"Host": "192.168.110.253",
"Port": 8042
},
"StoneWebViewer": {
"Enable": true,
"DateFormat": "DD/MM/YYYY"
},
"Ohif": {
"DataSource": "dicom-web",
"RouterBasename": "/ohif/"
},
"VolView": {
"Enable": true
},
"Worklists": {
"Enable": true,
"DicomAET" : "DCMSVR",
"AllowAdd": true,
"Database": "/etc/orthanc/wl"
}
}
- Projekt wählen im Container Manager
- "Erstellen" klicken
- Projektname „orthanc“
Pfad: /docker/orthanc
Datei: docker-compose.yml auswählen - weiter klicken
- Einstellungen für Webportal unverändert lassen und Klick auf Weiter
- „Fertig“ klicken
- Container im starten (Container -> Aktion -> Start)
Die Einstellungen sind so gewählt, dass man sich nicht jedes Mal einloggen muss und auch nicht jeden einzelnen Viewer registrieren muss.
In den Horos legt man den Orthanc-Server als Lokalität an: Settings -> Locations. Wichtig dabei ist, dass man C-GET auswählt, weil sonst die Übertragung der Bilder fehl schlägt, wenn die DICOM Modalität nicht in Orthanc hinterlegt ist:
Anschließend legt man die Route an: Settings -> Routing
Nach dem Import kann man die Bilder auf die Orthanc-Oberfläche gehen (http://IP-Synology:8042), die Studie auswählen und die Patienten-ID auf die von tomedo ändern. Leider habe ich es noch geschafft, das dies nach dem Import automatisch über eine Worklist mittels einem LUA-Script funktioniert:
In tomedo habe ich mir AppleScript erstellt, dass die PatientenID in die Zwischenablage kopiert und dieses als Button in die Symbolleiste gelegt:
set the clipboard to "$[pid]$"