XyDromatics VNA Repository

Archive Totals

DICOM C-STORE SCP

Host

Recent Studies

Patient IDAccessionStudy DateModality Study UIDSeriesInstances
Loading…

Study Search

Results

Patient IDAccessionStudy DateModality DescriptionStudy UID SeriesInstances
Enter a search criterion and click Search.

DICOM Peers

Remote modalities and PACS systems the Repository interacts with. Sources (inbound ◀) are peers allowed to send us studies via C-STORE. Destinations (outbound ▶) are peers we forward studies to when answering C-MOVE requests from a Query/Retrieve SCU. A single peer can be both.

NameAE TitleHostPort DirectionTLSEnabledActions
Loading…

Add Node

Advanced — presentation-context filters (optional)
Leave empty to accept whatever the peer proposes (the common case). Non-empty = allow-list: inbound (source role) only accepts PCs whose SOP/TS appear here; outbound (dest role) only proposes these to the peer. Values are raw DICOM UIDs, one per line or comma-separated.

Installed License

Loading…

Upload License

Select a .lic file issued by the Synthology License Generator. The file is staged, decrypted, and — on successful parse — replaces the active license. Feature gating is re-evaluated on the next request; no restart is required.

Authentication & SCP

fo-dicom DicomServiceOptions.MaxPDULength. 256 KB reduces association round-trips for large pixel data (CT/MR/CR); pre-association negotiation will clamp if a peer doesn’t support it. 0 = use fo-dicom stock 16384. Restart the service to apply.

SynthGateway Support Agent — Identity (DCR-2026-200)

Sets the per-host identity that the in-process SupportAgent uses to connect to SynthGateway. Stored in . Changes require a SupportAgent service restart on this host.

Archive Catalog Database

Current engine
Configured

Changing the archive catalog DB engine or connection string requires a service restart. The SCP will refuse to start until the catalog is reachable.

Health

SCP Status

Archive Counts

Study Browser

Loading totals…

No search executed yet — fill in any field (or none, to list everything) and click Search.

Document Store

Upload

Documents

Loading…

Batch Import

Queue a server-side folder for import. The background service walks the folder recursively, parses each .dcm file, and ingests through the same path C-STORE uses. License: batch_import. RBAC: manage_document_store.

Job IDFolderStatusScannedIngestedSkippedFailedCreated
No jobs yet.

Export

Export up to 10 studies as a single zip (synchronous streaming). For larger batches, use the future Phase 3 job-queue workflow. License: export. RBAC: manage_document_store.

Dedup Analysis

Content-based deduplication scan — scans up to N instances, computes SHA-256, identifies duplicates and reports potential savings. License: dedup. RBAC: view_storage_tiers.

Archive Analytics

Loading summary…

Modality Distribution

Loading…

Retention Policies

Configure how long archived studies are kept. Phase 3A ships preview-only mode: policies compute matching study counts but actual deletion is deferred to Phase 3A.2. License: retention. RBAC: view_retention / manage_retention.

NameFilterAge (d)EnabledLast PreviewMatch / BytesActions
No policies yet.

Storage Tiers PHASE-3 PORTING

Configure hot / warm / cold storage tiers. Lifecycle automation moves studies between tiers by age, access pattern, or retention rule.

Tracked under DCR-2026-247 (Phase 3 port). License: storage_tiers. RBAC: view_storage_tiers / manage_storage_tiers.

Integrity

Walks the archive catalog + checks each instance's file is present + readable by fo-dicom. Records anomalies as findings. License: integrity. RBAC: view_storage_tiers. Hash-comparison verify is Phase 3B.2 follow-on.

FindingStudy UIDSOP UIDPathDetailsDetected
No findings.

Patient Merge

Merge configuration

Merge audit log

WhenSourceTargetStudiesByReason
No merges yet.

Consolidate patient records across MRN changes or source-system reconciliation. Merging re-keys every archived study from source to target patient_id in one transaction. Un-merge is not available — review carefully before executing. License: patient_merge. RBAC: view_patient_merge / manage_patient_merge.

 Patient IDNameBirthSexStudiesInstancesSize
Click Search to load patients.

IOCM Rejections

IHE PCC §4.1 Object Change Management. Mark a study, series, or instance as REJECTED with a reason code. Downstream consumers honor active rejections to hide affected objects from clinical workflows. License: iocm. RBAC: view_iocm / manage_iocm.

KindTarget UIDReasonDetailsStatusCreatedActions
No rejections.

Site-to-Site Replication

Replicate archive instances to one or more peer VNAs via DICOMweb STOW-RS. The replication service polls every 30 seconds, scans for new instances, and POSTs them to each enabled peer. License: replication. RBAC: view_replication / manage_replication.

Phase 4B: auth_type=none or bearer; mTLS support is Phase 4B.2 follow-on.

Add / edit peer

Configured peers

NameURLAuthModalityEnabledReplicatedLast successLast errorActions
No peers configured.

Recent jobs

StatusPeerSOP UIDAttemptsQueuedCompletedLast error
No replication jobs yet.

FHIR R4 Gateway

Read-only FHIR R4 endpoints projecting the archive catalog into ImagingStudy + DiagnosticReport resources. Standard FHIR JSON Bundle responses. License: fhir. RBAC: view_dicomweb.

Endpoint base
/fhir/
  • GET /fhir/metadata — CapabilityStatement
  • GET /fhir/ImagingStudy?patient=...&accession=...&modality=...&started=...
  • GET /fhir/ImagingStudy/{StudyInstanceUID}
  • GET /fhir/DiagnosticReport?patient=...&identifier=...
  • GET /fhir/DiagnosticReport/{AccessionNumber}

          

Storage Commitment Journal

DICOM Storage Commitment (PS3.4 Annex J) journal — records every N-ACTION-RQ + N-EVENT-REPORT-RQ pair. Status tracks whether the SCP confirmed each requested SOP UID. License: storage_commitments. RBAC: view_storage_commit / manage_storage_commit.

SCP-side wiring to actually post records is Phase 4A.2 follow-on; this pane ships the storage + REST today.
Transaction UIDCalling AESOP CountStatusRequestedResponded
No commitment requests recorded. SCP-side wire-up ships in Phase 4A.2.

AI Pipeline

AI-vendor-driven ingestion of SR, SC, and SEG DICOM objects. Each vendor authenticates with an opaque API key (X-Ai-Vendor-Key header). The ingest endpoint enforces a per-vendor allowed-SOP-class list. License: ai_pipeline. RBAC: view_study_browser.

Ingest endpoint
POST /api/ai_pipeline/ingest
Header: X-Ai-Vendor-Key: <vendor's API key>
Body: multipart/form-data with one file (DICOM bytes).
Response: 201 on accept; 401 on auth; 415 on disallowed SOP class.

Register vendor

NameAPI KeyEnabledSOP ClassesTotal IngestLast IngestActions
No vendors registered.

Ingest audit log

WhenVendorStatusSOP ClassStudy UIDSource IPReason
No ingest events yet.

Diagnostic Viewer

⚠ NOT FOR CLINICAL DIAGNOSIS OR DECISION MAKING
This viewer is display-only. It is non-device software under FD&C Act §520(o)(1)(D) and is not cleared, certified, or intended for diagnostic interpretation. Use a clinically-validated viewer (e.g., a 510(k)-cleared diagnostic workstation) for any reading that informs patient care.

Read-only image preview. Pick a study, browse instances, adjust window/level. Advanced viewer features (MPR, 3D, GSPS, comparison, mammography, measurements) are per-feature follow-on ports under DCR-2026-247. License: diagnostic_viewer. RBAC: view_study_browser.

Load a study first.
Pick a study + instance to display.

IHE Profiles

Per-profile config for the 5 IHE profiles allowed in Repository mode. Each profile has its own license feature. Status badge: green = licensed + enabled, amber = licensed not enabled, gray = not licensed.

Migration

One-shot bulk move of studies to a peer destination. Phase 7 ships config only: start jobs return 501 until Phase 7.A.x adds the DICOM C-STORE SCU dispatch. License: migration. RBAC: view_destinations / edit_destinations.

Scheduled Send

Cron-scheduled outbound rules. Phase 7 stores rules + cron expressions opaquely; the scheduler runtime ships in Phase 7.A.2. License: scheduled_send. RBAC: edit_destinations.

Smart Routing

Rule-based routing — match predicates (modality, source AE, age) to a destination. Phase 7 stores rules; the new-arrival match hook ships in Phase 7.A.3. License: smart_routing. RBAC: edit_destinations.