XyDromatics Migration Router-pattern host · Migration

XyDromatics™ Migration — archive-to-archive at scale.

Multi-petabyte archive-to-archive migration. Multi-source ingestion from any DICOM-conformant PACS or VNA, per-study source-to-destination reconciliation, scheduled migration windows that respect your clinical operations, in-flight tag transformation for legacy-data cleanup, and the audit trail a regulated migration demands.

Capabilities

Built for multi-petabyte migrations.

A migration platform earns its keep over months, not minutes. Per-study verification, pause/resume, scheduled windows, stakeholder reporting — the capabilities below are the ones that distinguish a real migration tool from a clever cron script.

Multi-source ingestion

Read from any DICOM-conformant source — and from non-DICOM exports too.

  • C-STORE SCU (push from source PACS) + SCP (pull to migration host)
  • Q/R against the source archive (C-FIND + C-MOVE / C-GET)
  • STOW-RS for modern HTTP-based source systems
  • Runtime pipeline throttle — pause / resume plus a concurrent-job ceiling (1–10, default 2), both adjustable from the dashboard without a restart
  • Per-job retry budget — three attempts by default, with the wait between them widening on each successive attempt

Worklist seeding channels

A migration needs a job list before it needs images. Six channels can build one, and every channel hands its work to the same dispatcher — so de-duplication, idempotent pre-flight, pass-attempt provenance and post-migration reconciliation apply identically no matter how the work arrived.

  • REST / webhook — POST a batch document to the API and Migration seeds the retrieval jobs from it
  • HL7 v2 over MLLP — seed from ORM / ADT traffic, resolving the source archive from a per-sending-application mapping. An unmapped message still lands in the inbox and is annotated in the audit rather than silently dropped
  • File drop — CSV or JSON worklists on a watched share. CSV is header-driven, recognising accession number, Study Instance UID and MRN columns; each file moves to processed or failed when it is done
  • FHIR R4 poller — one job per ImagingStudy or ServiceRequest resource
  • Direct database connector — a parameterized, read-only SELECT against the source PACS database
  • SOAP — POST a configured envelope and seed from the parsed XML rows

Migration Engine front-end (recommended pattern)

For migrations >100 TB, deploy Migration Engine as a horizontal pre-processor in front of Migration. Cheap edge work happens at the front-end, freeing Migration to focus on verification and audit.

  • Normalization at the edge — character sets, malformed headers, deprecated tag VR mismatches, non-spec timestamp formats
  • Tag coercion — force common values into expected formats (accession-number padding, date-string normalization, VR coercion) before they reach Migration
  • Horizontal scaling — multiple Migration Engine workers parallelize source-side reads
  • Quarantine fixable issues at front-end so Migration sees clean data
  • Net effect: higher overall throughput by reducing retry / error-handling load on the audit-heavy Migration host
  • Packaged as a recommended deployment pattern — single SOW covers both products

Per-study verification

Every completed batch is re-queried at the source and reconciled against the destination archive — series and instance counts per study, with a SOP-UID-level diff and automatic re-queue of anything missing. The defense against silently leaving studies behind in a long-running migration.

  • Post-migration reconciliation: every completed batch re-queried at the source (C-FIND-STUDY) and cross-checked against the destination catalog
  • Re-verified at target-side ingest before commit
  • Mismatches route to a quarantine queue for clinical review
  • Per-study reconciliation record — study UID, source vs destination series and instance counts, the SOP-UID delta in both directions, status and timestamp
  • Verification reports exportable for migration closeout
  • Independent re-verification tool runs against finished migrations

Pause / resume + scheduling

Multi-month migrations can't run at maximum throughput 24x7. Schedule the work to fit your operational windows.

  • Pause / resume at any point with full state checkpointing
  • Scheduled migration windows (off-peak only, weekends only, etc.)
  • Per-job retry policy — each study job carries its own attempt budget (3 by default) inherited from the channel that seeded it, and the wait between tries widens with each attempt from a service-wide base delay
  • Operational throttling — e.g., back off when source PACS load spikes
  • Multi-day pause without state loss
  • Resume from any prior checkpoint (not just the most recent)

In-flight tag transformation

Migrations are the moment to clean up legacy data — wrong-patient corrections, scheme changes, AE-Title remappings, deprecated vendor tags.

  • Tag-level rewrite (set / unset / map values) per study
  • Conditional transformation rules — one rule set covers several legacy systems at once, because each rule fires on tag predicates (nine operators, including wildcard and regex) keyed on the tags that identify the sender: Manufacturer, InstitutionName, StationName
  • Modality-specific transformations
  • Custom private-tag handling (vendor-specific tag removal or remapping)
  • Transformation audit log — every change recorded against the source

Progress reporting

Multi-month migrations with stakeholders need accountable progress visibility — not just a CLI percent counter.

  • Real-time dashboard — hour, day, week and month throughput buckets (studies completed, failed, in flight, images moved) with a cumulative burn-up line, filterable per source
  • Per-source + per-modality + per-date-range breakdown
  • Quarantine queue depth + categorization
  • Weekly stakeholder reports (auto-generated, customizable)
  • Per-batch progress — completed, failed and in-flight counts, images moved, and first-pass success rate
  • Webhook / email notifications on milestones + anomalies

Operations & administration

Same shared admin shell as the rest of the XyDromatics family.

  • Web administration UI with shared sidebar shell
  • Role-based access control with full permission catalog
  • Multi-engineer support (different operators on different shifts during long migrations)
  • SynthQMS integration — every migration plan becomes a controlled document
  • Comprehensive audit log (21 CFR Part 11-aligned)
  • Backup/restore tooling for the migration state itself

Architecture

Source · Migration · Target.

A migration is fundamentally a three-actor system: a source archive being read, a target archive being written, and the migration host orchestrating the transfer with verification on every study.

XyDromatics Migration architecture (with Migration Engine front-end) The recommended packaged deployment for large migrations: Migration Engine sits in front of Migration as a normalization and tag-coercion pre-processor. The source archive (legacy PACS, VNA, or filesystem export) is read by Migration Engine, which normalizes character sets and malformed headers and coerces common tag misalignments before passing studies to Migration. Migration then applies per-study verification, full tag transformation, and a per-study integrity record before writing to the target archive. Verification mismatches route to a quarantine queue for clinical review. Source archive Legacy PACS / VNA Filesystem export Q/R · C-STORE · STOW-RS Migration Engine front-end · scales horizontally Normalization Tag coercion clean Migration Per-study verification Tag transformation Per-study integrity record Target archive Repository Clinical archive / etc. C-STORE · STOW-RS Quarantine queue Verification mismatches → clinical review SOURCE MIGRATION HOST Migration Engine + Migration (packaged) TARGET

The migration host can run multiple parallel worker processes for large migrations; the source-host throttling and target-host rate limits keep the overall move bounded by whichever side is slower. Quarantine queue volume is a meaningful health metric — a clean source rarely produces more than 0.01% quarantine rate.

On large engagements, the recommended deployment is the packaged pattern shown above: Migration Engine sits in front of Migration, normalizing character sets and coercing common tag misalignments at the edge so Migration sees clean data. Migration Engines scale horizontally to parallelize source-side reads cheaply; Migration then spends its CPU on the per-study verification and integrity-record work that actually matters. Net throughput increases meaningfully on sources with heavy syntactic baggage.

Common use cases

Five patterns that cover most migrations.

Most engagements combine two or three of these — vendor consolidation paired with cloud migration, or legacy retirement followed by a compliance export of the final state.

Pattern 1

Legacy PACS retirement

The classic shape: an aging PACS with 10-20 years of accumulated data, a contracted end-of-support date, and a target VNA waiting to receive everything. Months of careful migration with verification at every study.

Flow

  1. 1 Source: legacy PACS via Q/R or filesystem export
  2. 2 Migration plan: per-modality, per-date-range, prioritized by clinical relevance
  3. 3 Run in scheduled off-peak windows so source PACS isn't impacted
  4. 4 Per-study verification on every move; quarantine queue for any mismatch
  5. 5 Stakeholder reports weekly; forecast burn-down updated continuously
  6. 6 Closeout: verification report, audit log, signed-off migration record
Pattern 2

Vendor consolidation

Health-system mergers leave you with 3-5 different PACS / VNA platforms. Consolidate to one target archive — typically a clean greenfield Repository, but any DICOM-conformant target works.

Flow

  1. 1 Multiple sources: vendor A PACS, vendor B PACS, vendor C VNA, etc.
  2. 2 Conditional transformation rules normalize tag schemas, separating vendor A from vendor B inside a single rule set
  3. 3 Single migration plan orchestrates all sources concurrently with priority
  4. 4 Target receives unified, transformed studies
  5. 5 Source-by-source closeout as each finishes
Pattern 3

Cross-vendor data lifting (M&A)

A healthcare-system acquisition or hospital purchase comes with imaging archives whose ownership transitions on a deal-close date. Migrate the historical record while preserving full audit chain for the regulatory paper trail.

Flow

  1. 1 Pre-close: discovery against the source archive (no data movement)
  2. 2 Migration plan signed off by both legal teams
  3. 3 Migration window opens at deal close
  4. 4 Per-study verification reconciles source against destination down to the SOP-UID list; every stored instance additionally carries a SHA-256 recorded at ingest
  5. 5 Verification report becomes part of the M&A audit trail
Pattern 4

Cloud migration

On-prem archive to cloud-native archive (or vice versa). Different storage substrate; same migration mechanics with bandwidth-aware scheduling for the WAN crossing.

Flow

  1. 1 Source: on-prem PACS / VNA
  2. 2 Migration host runs on-prem during the source-read phase
  3. 3 Cloud target receives via HTTPS / STOW-RS
  4. 4 Bandwidth caps prevent the migration from saturating the WAN
  5. 5 Cutover: clinical workflow redirects to the cloud archive
  6. 6 Source archive retained read-only until verification confirms target
Pattern 5

Compliance / legal-hold export

A legal-hold or regulatory request demands extraction of a defined study set. Use Migration as a one-way export tool — same verification rigor, different scope.

Flow

  1. 1 Migration plan defines the study filter (date range, patient set, etc.)
  2. 2 Selected studies extracted to a defined target (often a sealed archive)
  3. 3 Per-study verification proves what was extracted
  4. 4 Per-study migration record — study UID, source vs destination counts and the SOP-UID delta, plus a SHA-256 on each stored instance — retained as legal-hold documentation
  5. 5 Receiving party (counsel, regulator) gets a verifiable handoff

Integration points

Sources, targets, and orchestration.

A migration platform lives or dies by the breadth of source systems it can read from. Anything DICOM-conformant works; the lists below highlight the systems we’ve worked with most often, organized by clinical specialty.

Every vendor product on these lists is a system Synthology principals have implemented, supported, or migrated from — not a vendor-research summary. Imaging is broader than radiology; cardiology, pathology, mammography, and ophthalmology all carry their own PACS / CVIS / image-management product lineages, often with 3–5 generations of products in deployment today. If your source isn’t on the lists, ask — as long as it speaks DICOM (or exports a sensible filesystem tree), we’ve probably worked with something close to it.

Radiology PACS / VNA sources

  • GE Centricity PACS (and predecessor GE PACS products)
  • Siemens syngo.plaza, syngo Imaging, and predecessor Siemens PACS (Cosmos, Magic)
  • Philips IntelliSpace PACS (originally Stentor)
  • Philips Vue PACS (formerly Carestream, before that Kodak DirectView)
  • Fujifilm Synapse PACS / Synapse VNA
  • Merative (Merge) PACS (formerly Cedara / AMICAS lineage)
  • Optum (Change) Radiology / McKesson Imaging legacy
  • Agfa Enterprise Imaging
  • Hyland Acuo VNA · NilRead

Cardiology PACS / CVIS sources

  • Merative (Merge) Cardio — the cardiology counterpart to Merge PACS
  • Agfa HeartLab
  • Optum (Change) Cardio
  • Siemens syngo Dynamics
  • Philips Xcelera (echo) and IntelliSpace Cardiovascular
  • GE Centricity Cardio
  • Baxter (Epiphany) Cardio
  • Fujifilm Cardio
  • And earlier-generation cardiology PACS / CVIS products

Pathology & specialty imaging sources

  • Sectra Digital Pathology
  • Philips IntelliSite Pathology Solution
  • Roche Navify Digital Pathology
  • 3DHistech CaseViewer / Pannoramic
  • Indica Labs Halo Link
  • Hologic SecurView (mammography)
  • Ophthalmology archives (Heidelberg, Topcon, Zeiss)
  • Other specialty modality outputs via DICOM Q/R

Catch-all sources

  • Any DICOM-conformant SCP via Q/R — vendor independence is the point
  • Direct read-only PACS database connector for source-side study discovery
  • STOW-RS / DICOMweb endpoints
  • Vendor-specific bulk-export tools (where the source PACS provides one)
  • If your source isn't on the lists above, ask — DICOM is DICOM

Target systems (write to)

  • XyDromatics Repository (most common)
  • Any DICOM-conformant SCP target
  • STOW-RS endpoints (cloud archives, AI vendors)
  • Filesystem export targets (for offline handoffs)

Orchestration & monitoring

  • XyDromatics Router (handles modality redirect during cutover)
  • Laurel Bridge / DicomSys / DataFirst (via IES-Advisors) — coexistence patterns
  • Operational metrics on /api/health plus a structured-JSON audit trail for SIEM collection
  • SynthQMS — migration plans as controlled documents

Identity & audit

  • Local accounts with RBAC, plus optional LDAP / Active Directory bind
  • Active Directory via LDAP bind (server, port, TLS, bind-DN template with group-to-role mapping)
  • Append-only audit trail of every job state change, retry attempt and tag transform, sealed at rest
  • Migration-record export in formats auditors accept

Availability

Verifiable, and restartable.

Consolidating a legacy archive is a batch with a defined end, so what matters is that the run is verifiable and restartable — not that traffic reroutes. Every study is a durable job record with its own status, attempt count and retry schedule, and transient source failures back off and retry automatically up to a configurable limit.

The stronger claim is verification. When a batch finishes, the platform independently re-queries the source archive study by study and reconciles what actually arrived against what the source still says it holds. A migration you cannot prove complete is a migration you are trusting, and decommissioning a legacy PACS on trust is how studies go missing years later.

To be clear about what this is not: migration is not a replication product and does not keep a second site continuously in step. It moves an archive once, and proves it moved.

System requirements & sizing

Sized to total migration volume + throughput.

Migration sizing factors in the total source volume, the desired throughput per day, and the source-system constraints (Q/R rate limits, network bandwidth, off-peak windows). Realistic forecasting comes out of discovery.

Tier Source size Throughput CPU RAM Typical engagement
Small migration < 100 TB source < 5 TB / day 8 vCPU 32 GB Single-PACS retirement at a community hospital. 1-3 month runway.
Medium migration 100 TB – 1 PB 5 – 25 TB / day 16 vCPU 64 GB Multi-site PACS migration or vendor consolidation. 6-12 month runway.
Large migration 1 PB – 10 PB 25 – 100 TB / day 32 vCPU + parallel workers 128 GB Health-system VNA replacement, cloud migration. 12-18 month runway.
Enterprise migration > 10 PB > 100 TB / day Multiple worker nodes, 64+ vCPU each 256+ GB per node IDN-scale consolidation. 18-36 month runway with phased cutovers.

Full hardware/software requirements are in DOC-2026-059 (HW/SW Requirements), available under NDA. Includes OS support matrix, source-system compatibility matrix, network requirements, and parallel-worker deployment patterns.

Licensing

Three packages, throughput-tiered.

Core handles small-scale migrations with verification. Transform adds in-flight tag rewriting and quarantine workflow. Enterprise unlocks parallel workers, anonymization, and stakeholder reporting for multi-petabyte engagements.

Migration Core

The base migration platform — DICOM source/target, per-study verification, basic scheduling.

  • C-STORE / Q/R / STOW-RS source + target
  • Per-study count and SOP-UID reconciliation, plus a per-instance SHA-256
  • Basic scheduling (off-peak windows)
  • Real-time dashboard
  • Up to 500 TB total migrated
  • Standard support

Migration + Transform

Adds in-flight tag transformation, per-source rules, and quarantine workflow.

  • Everything in Core
  • Tag-level rewrite — set, copy, prepend, append, regex, lookup, clear and delete, driven by conditional rules
  • Per-modality transformation rules
  • Custom private-tag handling
  • Quarantine queue with clinical review workflow
  • Up to 2 PB total migrated

Migration Enterprise

Everything, plus parallel worker nodes, anonymization profiles, and stakeholder reporting.

  • Everything in Core + Transform
  • Parallel worker-node deployment
  • Bandwidth-aware WAN scheduling
  • Anonymization profiles
  • Auto-generated weekly stakeholder reports
  • Append-only HIPAA audit log — count-capped ring with archive-before-evict to a durable 6-year store (45 CFR 164.316(b)(2))
  • Unlimited migration capacity
  • Premium support tier eligible

Migration licensing is typically project-scoped (fixed migration volume + window) rather than perpetual — you license the platform for the duration of the migration, with the option to retain it for follow-on cleanups or compliance exports. Specific pricing in your engagement SOW.

Documentation

The controlled-document set.

Current GA release v1.0.2.197 · released 2026-08-05

Every XyDromatics Migration deployment ships with the documents below, all managed under SynthQMS document control. The DICOM Conformance Statement is publicly available; the rest are shared under mutual NDA.

What’s new·v1.0.2.197

Batch DICOM migration with deterministic transforms and find-it-fast help

  • Plan and run batch migrations from a guided wizard — group studies into batches, pull from legacy source archives, and track every job with cancel/retry and per-study progress.
  • Deterministic, reviewable data transforms — normalization, validation with auto-correction, tag mapping, and crosswalk tables — applied per project before forwarding, with a Transit Audit that shows received-vs-sent tag differences.
  • HL7 ingest for prior-exam metadata reconciliation, a passive Discovery Scanner that profiles source data quality, and patient reconciliation across source systems.
  • Comprehensive in-app help across the console — each topic explains what the page does, how to do it, a worked example, and the permission it requires — with role-based access control that keeps support-role sessions out of patient data.
  • Ships with the approved End-User License Agreement and clears a full QA + security-test pass on the release build.
Document Title Notes
DOC-2026-129 Hardware & Software Requirements (XyDromatics Migration) Sizing, OS support, dependencies
DOC-2026-139 DICOM Conformance Statement (XyDromatics Migration) Public — full SOP class + transfer-syntax matrix
DOC-2026-134 EULA Annex (XyDromatics Migration) Annex to the Synthology Master EULA (DOC-2026-063)
DOC-2026-149 Penetration Test Results (XyDromatics Migration) Available under NDA
DOC-2026-144 QA Runner Manual (XyDromatics Migration) Internal QA + customer-validated test runs
DOC-2026-160 User Guide (XyDromatics Migration) Operator + administrator workflows
DOC-2026-165 Installation Guide (XyDromatics Migration) Includes MSI deploy + Linux tarball install

Frequently asked

The questions prospects ask.

How is Migration different from Migration Engine?

Different scale and different shape -- but they're often deployed together. Migration is the multi-petabyte archive-to-archive workhorse: full HA, parallel worker nodes, multi-month migration plans, per-study verification, transformation, and a per-study integrity record. Migration Engine is the smaller-footprint standalone appliance -- right-sized for short-lived migration projects (50-100 GB modality cleanups, single-site cutovers) AND, increasingly, for use as a horizontally-scaled normalization / tag-coercion front-end in front of Migration on large engagements. Same family, complementary roles.

When should we deploy Migration Engine + Migration as a package?

Generally for migrations larger than ~100 TB, or where the source archive is known to have heavy character-set / malformed-header / non-spec-VR baggage that's going to cause retries during verification. Deploying Migration Engine as a front-end means you can parallelize source-side reads on cheap compute (multiple Migration Engine workers) and clean up the common syntactic issues at the edge before Migration spends its CPU on verification + audit-trail work. Net effect is meaningfully higher overall throughput. Packaged deployments are quoted as a single SOW; the discovery phase will tell you whether the front-end is worth it for your specific source archive.

How is Migration different from the Router?

The Router can route studies between archives — that's a common pattern for parallel-run migrations during a PACS cutover window. But the Router's job is real-time routing of live clinical traffic, not bulk historical migration with verification. Migration is purpose-built for the bulk historical use case: per-study verification, pause/resume, scheduled windows, stakeholder reporting. Use both together during a cutover (Router for new traffic, Migration for historical) and the patterns reinforce each other.

What kind of migration speed should we expect?

Highly dependent on source PACS and network. Conservative targets: 5-10 TB/day per worker node against a typical legacy PACS Q/R interface. Modern source systems with STOW-RS or filesystem export can reach 50+ TB/day per worker. Multi-worker deployments scale roughly linearly until you hit source-side throttling. Discovery phase produces the realistic forecast specific to your sources.

What happens if we hit a study that won't migrate?

Routes to the quarantine queue. Common causes: corrupted pixel data on the source, malformed DICOM headers (legacy systems sometimes wrote non-spec-compliant data), or character-set encoding bugs. Each quarantined study is individually adjudicated -- clinical review decides repair, skip, or escalate. The audit trail captures every decision. Silently dropping studies is never the default.

Can we run a migration without disrupting clinical operations?

Yes -- this is the standard pattern. Source-side reads happen in scheduled off-peak windows (typically nights + weekends). Bandwidth caps prevent the migration from saturating your network or source-PACS load. The Router can be configured to send new clinical traffic to the target archive during the migration window, so by cutover day the target already has both the live recent data and the historical migrated data.

What's the audit trail?

Per study: the study UID, source vs destination series and instance counts, the SOP-UID delta in both directions, status, timestamp, operator identity and any transformation applied — each transformation also recorded in the object's Original Attributes Sequence. Per instance: a SHA-256 taken when the object is stored. To be precise about what that hash is and is not: it is computed on the destination side, so it proves the archived object has not changed since it landed. It is not a source-side digest, and there is no source-to-target hash comparison — completeness is established by count and SOP-UID reconciliation instead. The append-only audit trail covers the entire migration from start to finish. An independent re-verification tool can re-walk every record at any point. The audit trail is the deliverable -- not just the migration itself.

How do we validate a migration is complete?

Three layers. First: count reconciliation -- source study count vs target study count vs quarantine count, with named-reason buckets for any difference. Second: hash verification -- random sample of studies re-verified at target. Third: clinical-spot-check -- radiologist team picks studies and confirms diagnostic-quality match against source. All three are part of the standard closeout package.

What's the regulatory classification?

Non-device software under FD&C Act §520(o)(1)(D), the 21st Century Cures Act §3060 carve-out for software that transfers, stores, converts, or displays device data without interpreting or analyzing it. Same framework as Repository -- Migration handles storage and forwarding without modifying clinical interpretation. Tag transformation in flight is constrained to non-interpretive changes (anonymization, AE-Title remapping, etc.); clinical-tag-edit (changing PatientName, AccessionNumber, etc.) is out of scope for this product. Every Synthology product is non-device software under FD&C Act §520(o)(1)(D).

Talk through your migration.

Tell us your source archive, target archive, total volume, and target cutover date. We’ll come back within one business day with a discovery proposal and a realistic-not-marketing forecast for the migration window.