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.
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
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-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.
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
1Source: legacy PACS via Q/R or filesystem export
2Migration plan: per-modality, per-date-range, prioritized by clinical relevance
3Run in scheduled off-peak windows so source PACS isn't impacted
4Per-study verification on every move; quarantine queue for any mismatch
6Closeout: 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
1Multiple sources: vendor A PACS, vendor B PACS, vendor C VNA, etc.
2Conditional transformation rules normalize tag schemas, separating vendor A from vendor B inside a single rule set
3Single migration plan orchestrates all sources concurrently with priority
4Target receives unified, transformed studies
5Source-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
1Pre-close: discovery against the source archive (no data movement)
2Migration plan signed off by both legal teams
3Migration window opens at deal close
4Per-study verification reconciles source against destination down to the SOP-UID list; every stored instance additionally carries a SHA-256 recorded at ingest
5Verification 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
1Source: on-prem PACS / VNA
2Migration host runs on-prem during the source-read phase
3Cloud target receives via HTTPS / STOW-RS
4Bandwidth caps prevent the migration from saturating the WAN
5Cutover: clinical workflow redirects to the cloud archive
6Source 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
1Migration plan defines the study filter (date range, patient set, etc.)
2Selected studies extracted to a defined target (often a sealed archive)
3Per-study verification proves what was extracted
4Per-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
5Receiving 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)
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.
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.
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.
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.