2.7 KiB
2.7 KiB
Replace Java dcm4che2 dcmqr with dcmtk CLI
-
1. Replace Java dcmqr in
mkiso.php— seetodo/mkiso-replace-java-with-dcmtk.detail.md§ "mkiso.php"- Start
storescpas background receiver, run singlemovescuper accession (no modality loop) - Verify ISO generation, download, and cleanup still work
- Start
-
2. Replace Java dcmqr in
mkiso2.php— seetodo/mkiso-replace-java-with-dcmtk.detail.md§ "mkiso2.php"- ⚠️ LOW PRIORITY —
mkiso2.phpis NOT called by the HISpacs_downloadisomodule. It is a standalone DICOM relay script, possibly run manually or by cron. Seedocs/pacs_downloadiso-usage.mdfor integration analysis. - Same C-MOVE replacement as mkiso.php
- Also replace
/usr/bin/dcmsend(missing binary) with/data/dcmtk-bin/storescu +sd +r - Verify DICOM relay to
172.16.0.120:104works
- ⚠️ LOW PRIORITY —
-
3. Replace Java dcmqr in
mkiso_multiple.php— seetodo/mkiso-replace-java-with-dcmtk.detail.md§ "mkiso_multiple.php"- Start
storescponce, runmovescufor each accession in the list - DB lookup logic stays unchanged
- Verify multi-accession ISO download works with patient-name filenames
- Start
-
4. Environment setup
- Ensure
/data/dcmtk-bin/is readable and executable by the web server user - ⚠️ Concurrent requests confirmed — multiple HIS users can trigger downloads simultaneously via
pacs_downloadisomodule. Must use unique port per request. - If multiple concurrent requests are possible, use a unique port per request (e.g.,
$port = 10104 + getmypid() % 100) - No changes needed in the HIS
pacs_downloadisomodule — it calls scripts on the PACS host by URL only
- Ensure
-
5. Testing
- Test with real accession numbers on the production server
- Verify all DICOM files retrieved (spot-check file count and content)
- Verify ISO downloads work end-to-end (download + mount + open in viewer)
- Test through the HIS
pacs_downloadisoUI (Preview → Download ISO) to verify end-to-end integration still works - Test both single and multi-accession download flows
- Verify mkiso2.php relay to
172.16.0.120:104(if migrated) - Test error cases: invalid accession number, PACS unreachable, timeout
- Check storescp process is always cleaned up (no zombie processes)
- Verify concurrent downloads from multiple HIS users don't conflict
- Test Print ISO (CD Publisher) still works (not part of dcmtk migration, regression check only)
-
6. Remove Java dependency (after dcmtk verified in production)
- Remove
/usr/local/dcm4che/dcm4che2/if no other tools need it - Remove JDK 1.8.0_144 if no other Java apps on server
- Remove
JAVA_HOMEenvironment variable
- Remove