DICOM Router - Main

DICOM Proxy/Router/PACS - Advanced Healthcare Imaging Solution

Overview

The DICOM Proxy/Router/PACS is a powerful, enterprise-grade healthcare imaging solution built on .NET 9.0 that provides comprehensive DICOM networking capabilities combined with modern web APIs. It functions as a bridge between traditional DICOM systems and modern web-based applications, enabling seamless integration in complex healthcare environments.

Key Features

πŸ₯ DICOM Network Services

  • Full DICOM 3.0 compliance
  • C-STORE SCP/SCU (Store operations)
  • C-FIND SCP/SCU (Query operations)
  • C-GET SCP/SCU (Retrieve operations)
  • C-MOVE SCU (Move operations)
  • C-ECHO SCP/SCU (Connectivity verification)

🌐 DICOMweb REST APIs

  • QIDO-RS (Query based on ID for DICOM Objects)
  • WADO-RS (Web Access to DICOM Objects)
  • STOW-RS (Store Over the Web)

πŸ”„ Proxy & Routing

  • Multi-PACS routing and load balancing
  • Connection pooling and management
  • Intelligent request forwarding
  • Real-time connection monitoring

πŸ’Ύ Storage Management

  • File-based DICOM storage with hierarchy
  • SQLite metadata indexing
  • Configurable storage quotas
  • Automatic cleanup policies

πŸ”’ Security & Enterprise Features

  • TLS/SSL support for secure communications
  • AE Title authentication
  • License management system
  • Comprehensive audit logging

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   DICOM Client  β”‚    β”‚   Web Client    β”‚    β”‚   PACS Server   β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
          β”‚                      β”‚                      β”‚
          β”‚ DICOM Protocol       β”‚ HTTP/REST            β”‚ DICOM Protocol
          β”‚                      β”‚                      β”‚
          β–Ό                      β–Ό                      β–²
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    DICOM Proxy/Router/PACS                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚  DICOM SCP/SCU  β”‚  β”‚   HTTP API      β”‚  β”‚  Storage Mgmt   β”‚     β”‚
β”‚  β”‚                 β”‚  β”‚                 β”‚  β”‚                 β”‚     β”‚
β”‚  β”‚ β€’ C-STORE       β”‚  β”‚ β€’ QIDO-RS       β”‚  β”‚ β€’ File System   β”‚     β”‚
β”‚  β”‚ β€’ C-FIND        β”‚  β”‚ β€’ WADO-RS       β”‚  β”‚ β€’ SQLite Index  β”‚     β”‚
β”‚  β”‚ β€’ C-GET         β”‚  β”‚ β€’ STOW-RS       β”‚  β”‚ β€’ Metadata      β”‚     β”‚
β”‚  β”‚ β€’ C-MOVE        β”‚  β”‚ β€’ Proxy APIs    β”‚  β”‚ β€’ Cleanup       β”‚     β”‚
β”‚  β”‚ β€’ C-ECHO        β”‚  β”‚                 β”‚  β”‚                 β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚                                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚ Connection Mgmt β”‚  β”‚ Config & Licensingβ”‚ β”‚   Logging &     β”‚     β”‚
β”‚  β”‚                 β”‚  β”‚                 β”‚  β”‚   Monitoring    β”‚     β”‚
β”‚  β”‚ β€’ Pool Managementβ”‚  β”‚ β€’ JSON Config   β”‚  β”‚ β€’ NLog          β”‚     β”‚
β”‚  β”‚ β€’ Load Balancingβ”‚  β”‚ β€’ AE Titles     β”‚  β”‚ β€’ Health Checks β”‚     β”‚
β”‚  β”‚ β€’ Failover      β”‚  β”‚ β€’ License Mgmt  β”‚  β”‚ β€’ Performance   β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Documentation Structure

This manual is organized into the following sections:

  1. Installation Guide - Setup and deployment instructions
  2. Configuration Reference - Complete configuration options
  3. API Reference - REST API endpoints and usage
  4. DICOM Services Guide - DICOM network operations
  5. SDK Documentation - Developer SDK and integration
  6. Examples & Tutorials - Practical implementation examples
  7. Troubleshooting Guide - Common issues and solutions
  8. Security Guide - Security configuration and best practices

Quick Start

  1. Download and Install

    # Extract the application to desired directory
    # Ensure .NET 9.0 Runtime is installed
    
  2. Basic Configuration

    {
      "DicomPort": 11112,
      "HttpPort": 8080,
      "HttpsPort": 8443,
      "StoragePath": "C:\\DicomStorage",
      "ThisModality": {
        "AE_Title": "DICOMPROXY",
        "Port": 11112,
        "IPAddress": "0.0.0.0"
      }
    }
    
  3. Run the Service

    # Windows Service
    sc create DicomProxy binPath="DicomProxyRTWindows.exe"
    sc start DicomProxy
    
    # Or run directly
    DicomProxyRTWindows.exe
    
  4. Verify Installation

    # Test DICOM echo
    echoscu localhost 11112 -aet TESTCLIENT -aec DICOMPROXY
    
    # Test HTTP API
    curl http://localhost:8080/api/studies
    

System Requirements

Minimum Requirements

  • OS: Windows 10/11, Windows Server 2019/2022
  • Runtime: .NET 9.0 Runtime
  • RAM: 4 GB minimum, 8 GB recommended
  • Disk: 100 MB application + storage space for DICOM files
  • Network: TCP ports for DICOM (default 11112) and HTTP/HTTPS (default 8080/8443)

Recommended Requirements

  • OS: Windows Server 2022
  • Runtime: .NET 9.0 Runtime with latest updates
  • RAM: 16 GB or higher for high-throughput environments
  • Disk: SSD storage with RAID configuration
  • Network: Dedicated network interface for DICOM traffic

Support and Documentation

  • API Documentation: Available at http://localhost:8080/openapi.json when running
  • Source Code: Advanced .NET 9.0 codebase with extensive inline documentation
  • Logging: Comprehensive NLog-based logging for troubleshooting
  • Configuration: JSON-based configuration with extensive customization options

License

This software requires a valid license for production use. Demo mode is available for evaluation purposes.


For detailed information on each component, please refer to the specific documentation sections linked above.