Hi everyone,
I need to migrate specific Hemodynamics (XA) studies from a source Orthanc instance (HMSJ) to a destination Orthanc instance (HEMO).
Context & Scope:
- Volume: ~450 studies
- Study size: Very large (~3 GB per study, average total ~1.35 TB)
- Migration direction: Destination (HEMO) pulling studies from Source (HMSJ) using a Python script.
Environment Details:
- Source Server (HMSJ):
- OS: Windows Server 2016
- Database: PostgreSQL
- Destination Server (HEMO):
- OS: Ubuntu 24.04
- Database: SQLite
Current Approach & Questions:
I am currently working on a Python script using the Orthanc REST API to handle the transfer. Given the large study sizes, I would appreciate advice on the best practices to avoid timeouts and high memory usage:
- Transfer Mechanism: Is it better to use the
/peers/.../store(Orthanc Peer mechanism) via REST API, C-MOVE via DICOM, or stream the DICOM files directly study-by-study/series-by-series? - Performance & Stability: Are there specific REST API parameters or chunking strategies recommended when pulling/pushing multi-gigabyte XA studies?
- Database considerations: Since the destination uses SQLite, should I expect I/O bottlenecks during concurrent or rapid ingestion of 3 GB studies?
Any code snippets, architectural recommendations, or best practices for handling high-volume DICOM transfers between Orthanc servers would be greatly appreciated.
Thanks in advance!