Import Instances on Storage - dcm4che/dcm4chee-arc-light GitHub Wiki
This page explains briefly how one can migrate study objects to Dcm4chee Archive 5.x without having to resend the objects to archive. This benefits the user as the objects could be on a storage system of an old archive, and user just has to reference this storage in a RESTful service. The invoked RESTful service then starts importing the objects from this storage system and creates database records for them.
-
Configure the storage system containing the objects, as explained in Generic Storage
-
Sample storage configuration in DCM4CHEE archive v5.x referencing old storage directory
dn: dcmStorageID=migrate-old-storage,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org dcmProperty: pathFormat={now,date,yyyy/MM/dd}/{0020000D,hash}/{0020000E,hash}/{00080018,hash} dcmProperty: checkMountFile=NO_MOUNT dcmDigestAlgorithm: MD5 objectClass: dcmStorage dcmStorageID: migrate-old-storage dcmURI: path/to/old/storage/directory
Assuming the objects present in path/to/old/storage/directory/2010
folder are to be imported and the Generic Storage
which refers this storage directory path/to/old/storage/directory
is configured as migrated-data
, the
Import Instances
RESTful service can be invoked as follows :
$ cd path/to/old/storage/directory
$ find 2010 -type f | curl -v -H "Content-Type: text/plain" --data-binary @- http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/migrated-data
There may be scenarios wherein while importing objects from a storage you may want to coerce / correct one or more attributes to these objects on the insertion of their records in DCM4CHEE Archive 5.x database. Consider following examples where you may want to correct the Patient Name or supplement Issuer of Patient ID for certain studies while importing them from an older storage into the new archive.
-
Correct the Patient Name for a particular CT Study (wherein the folder of this study is known on the old storage directory)
$ cd path/to/old/storage/directory $ find 2020/11/13/4210C2A3 -type f | curl -v -H "Content-Type: text/plain" --data-binary @- 'http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/migrated-data?PatientName=CorrectFN%5ECorrectGN&reasonForModification=CORRECT&sourceOfPreviousValues=DCM4CHEE2'
-
Supplement Issuer Of Patient ID if it's not present for a particular study (wherein the folder of this study is known on the old storage directory)
$ cd path/to/old/storage/directory $ find 2020/11/13/F18C0EF9 -type f | curl -v -H "Content-Type: text/plain" --data-binary @- 'http://localhost:8080/dcm4chee-arc/aets/DCM4CHEE/rs/instances/storage/migrated-data?IssuerOfPatientID=PIDIssuer&updatePolicy=SUPPLEMENT'