DICOM store configuration (Orthanc)

Orthanc provides the DICOM Store functionality to enable scanners to send directly to OpenREM, and for query-retrieve to function. Configuration is in the orthanc section of docker-compose.yml

OpenREM Lua script configuration

This file is formatted as YAML:

  • Strings need to quoted or placed on a new line after a |

  • A : and a space separate the variable name and the value, and spaces are used at the start of the line to create a hierarchy. See the examples below.

Für Änderungen die Datei docker-compose.yml editieren. Diese werden beim nächsten Start von docker-compose wirksam.

Find the orthanc_1 definition near the end of the file.

Objects to be ignored

Lists of things to ignore. Orthanc will ignore anything matching the content of these comma separated lists: they will not be imported into OpenREM. Some examples have been added below - note the formatting syntax. STATION_NAMES_TO_IGNORE has the value on a new line with a | instead of being quoted, to show this syntax option:

environment:
  MANUFACTURERS_TO_IGNORE: "{'Faxitron X-Ray LLC', 'Gendex-KaVo'}"
  MODEL_NAMES_TO_IGNORE: "{'CR 85', 'CR 75'}"
  STATION_NAMES_TO_IGNORE: |
    {'CR85 Main', 'CR75 Main'}
  SOFTWARE_VERSIONS_TO_IGNORE: "{'VixWin Platinum v3.3'}"
  DEVICE_SERIAL_NUMBERS_TO_IGNORE: "{'SCB1312016'}"

Extraktor für ältere Toshiba Dosisdateien

Funktion für das extrahieren der Dosisinformation aus älteren Toshiba und GE Geräte ein- oder ausschalten und für welchen Gerätetyp dies erfolgen soll. Jedes System sollte in der Form {'Manufacturer', 'Model name'} aufgeführt werden, wie das nachstehende Beispiel zeigt:

environment:
  USE_TOSHIBA_CT_EXTRACTOR: "true"
  TOSHIBA_EXTRACTOR_SYSTEMS: |
    {{'Toshiba', 'Aquilion'}, {'GE Medical Systems', 'Discovery STE'},}

Physics Filtering

Diesen Wert auf true setzen, wenn Orthanc auch physikalische Teststudien speichern und diese im Ordner physics_to_keep_folder ablegen soll. Wird dieser Wert auf "false" gesetzt ist diese Funktion deaktiviert

environment:
  USE_PHYSICS_FILTERING: "true"

Eine Liste die mit Patientenname und ID abgeglichen wird um zu entscheiden ob die Bilder gespeichert werden sollen. Alles was mit dieser Liste übereinstimmt wird im Ordner physics_to_keep_folder abgelegt.

environment:
  PHYSICS_TO_KEEP: "{'physics',}"

Orthanc Konfiguration

This section is formatted as JSON. It can contain any configuration options that appear in the standard Orthanc orthanc.json file, but the ones that are needed for OpenREM are included as standard and described below.

  • Strings need to quoted with double quotes ".

DICOM Application Entity Title

Application Entity Title of the Store Server. Should be up to 16 characters, no spaces. This server isn’t fussy by default, so if remote nodes connect using a different AETitle that is ok.

ORTHANC_JSON: |
  {
    // DICOM Store configuration
    "DicomAet" : "OPENREM",
  }

DICOM Port

The default port for DICOM store is set to 104.

To use a different port, change the first number of the pair in ports. The first number is the port exposed outside of Docker, the second number is used internally by the Orthanc container.

For example, to use port 8104:

ports:
# DICOM store port (first number)
  - 8104:4242

Orthanc web interface

There will normally not be any studies in the Orthanc database once they have been processed, but if you want to enable the Orthanc web viewer, enable the port in and set RemoteAccessAllowed to true in the ORTHANC_JSON section. The first number in the port configuration can be changed if required:

ports:
# Othanc web interface
  - 8042:8042
ORTHANC_JSON: |
  {
    "Name" : "OpenREM Orthanc",
    "RemoteAccessAllowed" : true,
    "AuthenticationEnabled" : true,
    "RegisteredUsers" : {
      "orthancuser": "demo"
    },
  }

Pfad für Lua Skripte

Hier wird der Pfad im Orthanc-Container zum OpenREM Lua-Skript angegeben – dieser sollte nicht verändert werden (weitere Optionen siehe unten).

ORTHANC_JSON: |
  {
    // OpenREM Lua Script
    "LuaScripts" : [
      "/etc/share/orthanc/scripts/openrem_orthanc_config_docker.lua"
    ]
  }

Advanced options

Multiple stores

If you need more than one DICOM Store server, to listen on a different port for example, copy the whole orthanc_1 section in docker-compose.yml and paste it after the orthanc_1 block. Rename to orthanc_2.

Beim nächsten Starten von docker-compose wird der zusätzliche Orthanc Container gestartet. docker-compose.yml kann auch zum anhalten der Container verwendet werden, wenn Sie also den zusätzlichen Othanc Container löschen wollen, stoppen Sie zunächst die Container.

Advanced Orthanc configuration

Any of the Orthanc configuration settings can be set in the ORTHANC_JSON section. The default configuration can be seen on the Orthanc Server webpages including documentation as to how they are used.

A custom version of the openrem_orthanc_config_docker.lua script can be used if required. Copy the existing one and place the new one, with a new name, in the orthanc/ folder, and set the LuaScripts value in ORTHANC_JSON to match.

Pay special attention to the first sections, up to the ToAscii function, these sections have been changed for the Docker implementation.