How to Configure Orthanc PACS Server

Abdulazeez AlaoAbdulazeez Alao
6 min read

Once you have installed Orthanc PACS Server on your system, the next step is to configure it according to your specific needs. The configuration process involves editing the Orthanc configuration file (Orthanc.json), setting up network and DICOM port settings, and adjusting basic server parameters. I will guide you through these steps to ensure your Orthanc server runs efficiently and securely.

Configuring the Orthanc Configuration File (Orthanc.json)

The primary configuration file for Orthanc is Orthanc.json. This file contains all the settings necessary to customize how Orthanc operates.

  1. Locate the Configuration File:

    • The Orthanc.json file is typically located in the installation directory or /etc/orthanc/ on Linux systems.
  2. Open the File:

    • Use a text editor to open Orthanc.json. For example:

        sudo nano /etc/orthanc/Orthanc.json
      
  3. Basic Structure:

    • The configuration file is structured in JSON format. Here is an example snippet:

        {
          "Name": "OrthancServer",
          "StorageDirectory": "/var/lib/orthanc/db",
          "HttpServerEnabled": true,
          "HttpPort": 8042,
          "DicomAet": "ORTHANC",
          "DicomPort": 4242
        }
      

Setting Up Network and DICOM Port Settings

Proper network and DICOM port settings are crucial for Orthanc to communicate with other medical imaging devices and systems.

  1. HTTP Server Settings:

    • Enable the HTTP server and specify the port number:

        "HttpServerEnabled": true,
        "HttpPort": 8042,
      
    • This allows you to access the Orthanc web interface at http://localhost:8042.

  2. DICOM Server Settings:

    • Set the Application Entity Title (AET) and port number for the DICOM server:

        "DicomAet": "ORTHANC",
        "DicomPort": 4242,
      
    • Ensure the chosen port (e.g., 4242) is open and not blocked by any firewall.

  3. Network Configuration:

    • If Orthanc is to be accessed over a network, ensure that the server’s IP address or hostname is correctly configured in your network settings.

    • Example:

        "DicomModalities": {
          "CT_SCANNER": [ "192.168.1.10", 104 ],
          "MR_SCANNER": [ "192.168.1.11", 104 ]
        }
      
    • This configuration allows Orthanc to communicate with CT and MR scanners on the specified IP addresses and ports.

Adjusting Basic Server Parameters

Customize various server parameters to optimize performance and security.

  1. Storage Directory:

    • Define the directory where Orthanc will store its database and DICOM files:

        "StorageDirectory": "/var/lib/orthanc/db",
      
    • Ensure the directory has sufficient disk space and appropriate permissions.

  2. Server Name:

    • Set a name for your Orthanc server:

        "Name": "OrthancServer",
      
  3. Logging:

    • Enable and configure logging to monitor server activities:

        "Verbose": true,
        "LogFile": "/var/log/orthanc.log",
      
  4. Security Settings:

    • Implement security settings to protect your server:

      • HTTP Authentication:

          "RegisteredUsers": {
            "admin": "password"
          }
        
      • CORS Policy:

          "HttpEnableCORS": true,
        
      • IP Filtering:

          "HttpAllowedIps": [ "127.0.0.1", "192.168.1.0/24" ]
        
  5. Advanced Settings:

    • Configure advanced settings for more control:

      • Maximum Storage Size:

          "MaximumStorageSize": 50000000000,
        
        • This sets the maximum storage size to 50 GB.
      • Maximum Number of Instances:

          "MaximumPatients": 1000,
          "MaximumStudies": 1000,
          "MaximumSeries": 1000,
          "MaximumInstances": 10000,
        
  6. Plugin Configuration:

    • If using plugins, configure them in the Orthanc.json file:

        "Plugins": [
          {
            "Name": "MyPlugin",
            "Library": "/usr/lib/orthanc/MyPlugin.so"
          }
        ]
      

Now , let me go deeply about advanced configuration :

Advanced Configuration of Orthanc: Enhancing Functionality with Plugins and Customization .

Orthanc PACS Server is a highly flexible and powerful tool for managing DICOM images. Beyond its basic configuration, Orthanc can be extended and customized to meet specific needs through plugins and advanced settings. This article provides a detailed guide on configuring plugins and extensions, as well as customizing Orthanc for your unique requirements.

Configuring Plugins and Extensions

Orthanc supports a wide range of plugins and extensions that can enhance its functionality, such as adding new features, improving performance, and integrating with other systems.

  1. Installing Plugins:

    • Plugins for Orthanc can be installed in various ways, depending on the operating system and the plugin itself. Common methods include downloading precompiled binaries, using package managers, or building from source.

    • Example: Installing the Orthanc PostgreSQL plugin on a Linux system.

        sudo apt-get install orthanc-postgresql
      
  2. Enabling Plugins:

    • Once installed, plugins must be enabled in the Orthanc.json configuration file. Add the path to the plugin’s shared library (.so, .dll, .dylib) in the "Plugins" section.

        jsonCopy code{
          "Plugins": [
            "/usr/lib/orthanc/OrthancPostgreSQL.so"
          ]
        }
      
  3. Configuring Plugins:

    • Each plugin may have its own configuration settings that need to be specified in the Orthanc.json file. Refer to the plugin’s documentation for specific configuration options.

    • Example configuration for the PostgreSQL plugin:

        {
          "PostgreSQL": {
            "EnableIndex": true,
            "EnableStorage": true,
            "Host": "127.0.0.1",
            "Port": 5432,
            "Database": "orthanc",
            "Username": "orthanc",
            "Password": "orthanc_password"
          }
        }
      
  4. Restarting Orthanc:

    • After modifying the configuration file to include and configure plugins, restart the Orthanc server to apply the changes.

        sudo systemctl restart orthanc
      

Customizing Orthanc for Specific Needs

Orthanc can be customized to fit specific workflows and operational requirements through advanced configuration settings.

  1. Storage Configuration:

    • Customize where and how Orthanc stores DICOM files. This includes setting up storage directories, configuring maximum storage sizes, and implementing storage policies.

        {
          "StorageDirectory": "/var/lib/orthanc/db",
          "MaximumStorageSize": 50000000000  // 50 GB
        }
      
  2. Security Settings:

    • Enhance the security of your Orthanc server by configuring access controls, enabling HTTPS, and setting up user authentication.

        {
          "HttpServerEnabled": true,
          "HttpPort": 8042,
          "HttpsPort": 8443,
          "SslCertificate": "/path/to/certificate.pem",
          "SslPrivateKey": "/path/to/private-key.pem",
          "RegisteredUsers": {
            "admin": "admin_password"
          }
        }
      
  3. Advanced Network Settings:

    • Configure Orthanc to communicate with other DICOM servers, modalities, and systems by setting up advanced network options.

        {
          "DicomModalities": {
            "CT_SCANNER": [ "192.168.1.10", 104 ],
            "MRI_SCANNER": [ "192.168.1.11", 104 ]
          },
          "DicomAet": "ORTHANC",
          "DicomPort": 4242
        }
      
  4. Custom Scripts and Automation:

    • Use custom scripts to automate routine tasks and enhance Orthanc’s functionality. This can include scripts for data migration, automatic anonymization, and integration with other systems.

        {
          "LuaScripts": [
            "/path/to/script.lua"
          ]
        }
      
    • Example of a Lua script for anonymization:

        function OnStoredInstance(instanceId, tags, metadata)
          tags["PatientName"] = "ANONYMIZED"
          tags["PatientID"] = "000000"
          return tags
        end
      
  5. Monitoring and Logging:

    • Implement detailed logging and monitoring to keep track of Orthanc’s operations and troubleshoot issues effectively.

        {
          "Verbose": true,
          "LogFile": "/var/log/orthanc/orthanc.log"
        }
      
  6. Web Interface Customization:

    • Customize the Orthanc web interface to better suit your workflow and preferences. This can include modifying the user interface, adding custom logos, and configuring the behavior of the web interface.

        {
          "HttpServerEnabled": true,
          "HttpPort": 8042,
          "EnableCors": true,
          "AllowImagePost": true
        }
      

Conclusion

Proper configuration of the Orthanc PACS Server is essential to ensure efficient, secure, and reliable management of medical imaging data. By carefully setting up the Orthanc.json file, adjusting network and DICOM port settings, and customizing server parameters, you can tailor Orthanc to meet the specific needs of your healthcare environment. With these configurations in place, Orthanc will be well-equipped to handle your medical imaging workflows and support your healthcare facility's operations effectively.

0
Subscribe to my newsletter

Read articles from Abdulazeez Alao directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Abdulazeez Alao
Abdulazeez Alao