SynthIQ
Intelligent DICOM Load Balancer
live v last activity

Dashboard?

Active bindings
in h cache window
Cache hit rate
decisions / hits
C-STORE received
total since boot
Associations
opened / rejected
C-ECHO received
verification probes
License
Expires: —
Licensed to: —

Pools 0?

Loading pools…

Study-affinity cache 0?

Study UID Pool Backend Instances First seen Last seen Committed
No bindings yet — send a study to populate the cache.

Recent routing decisions 0?

At From Modality SUID → Backend Decision Status
No routing decisions yet.

Queues

This instance's live outbound + Storage-Commitment queue state. Per-instance operational view — complements the pool-wide load-balancer Analytics.

Active inbound assoc.
SCU→SynthIQ, live now
Pending storage-commit
N-ACTION sent, awaiting report
Committed
confirmed since boot
Timed out
no report within threshold
Registered: Commit failures: C-STORE received: C-ECHO received: Timeout threshold: Last activity:

Per-backend forward → commit Storage-Commitment funnel to each backend Router this instance forwards to

Loading…

Analytics

System Overview

Uptime
since boot
Active bindings
in cache window
Cache hit rate
decisions / hits
C-STORE received
total since boot
Associations
opened / rejected
C-ECHO received
verification probes
Backends healthy
of total
Commits
completed / pending

Queue Health load per pool — the routing family SynthIQ balances

Loading…

Destination Health per-backend heartbeat + queue + disk

Loading…

Processing Performance Association → Storage Commitment (ms)

Outbound Wait Time last C-STORE → Storage Commitment (ms)

Disk Usage cards + history

Loading…

Statistics routing events over time

Top Source AEs

none yet

Modality Mix

none yet

Fleet Analytics aggregated across all pool Routers

Fleet Overview

Nodes
/
healthy / total
Received 24h
across all Routers
Forwarded 24h
across all Routers
Active Assoc
in-flight right now
Avg Load
lower = less busy

Per-Router Snapshot

Node Status Rx 24h Fwd 24h Assoc Queues (proc/out/hold/fail) Load Disk Free Last seen
Loading…

Throughput Timeline

Queue Depth Timeline processing (solid) + outbound (dashed)

Pool Management

Vendor Backends

Visual Dataflow

Settings read-only

Display Timezone
Controls how all dashboard timestamps render. Stored server-side under {dataDir}/display_timezone.json. Three-tier resolution: this setting (if set) → browser auto (if blank). Applies to every authenticated session.

Other SynthIqConfig values from appsettings.json below are read-only. To change them, edit appsettings.Production.json on the host and restart the service.

Loading…

Configuration Backup & Migration

Export the full configuration (pools, SMTP, watermark, study-cache, disk-monitor, auth policy) as a JSON file for backup or migration, or import a previously exported file. Secrets are redacted by default (re-entered on import from the running config); tick "Include credentials" to export them passphrase-encrypted for a full cross-host clone. LDAP connection settings are host-configured and not part of this backup.

Authentication

Session lifetime + account lockout policy. SynthIQ always requires login; toggling auth off is a deploy-time appsettings.json concern, not an operator-runtime control. LDAP/AD accounts follow Active Directory Group Policy and are not affected by the Max Login Attempts setting (Phase 3 will add the LDAP card).

How long a login session stays active without activity. 1..720 (30 days max).
Consecutive failed logins before lockout. 0 disables lockout. Default: 5.

Storage-Commit Listener

The dedicated DICOM listener for Storage Commitment (N-EVENT-REPORT) reverse-associations from backend Routers. Changes are saved immediately but apply to the running listener on the next SynthIQ restart (the listener binds once at startup).

Blank/0 = disabled
Max 16 chars (PS3.5 §6.2)
Blank = default 16; range 1–256

LDAP / Active Directory

When enabled, the login flow tries the local SynthIQ user store first; on miss, it falls through to LDAP/AD. Test Bind is on the Roles & LDAP page.

If set, login does a direct bind using {username} substitution. Leave blank to use service-account search-then-bind.
Map LDAP group DN → SynthIQ role. First match wins. Falls through to Default Role.

Support Agent

License Activation

Help & Docs

Loading help topics…