How DICOM Storage Works
DICOM transfers images and other data as a stream of Composite Objects. Normally, an image or multi-frame image is stored in a single Composite Object. Each Composite Object has identifiers that link it to fellow composite objects in a Series, Study or Patient, but there is no wrapper that encloses all the images of, for example, a Study. Instead, a DICOM Study is the set of Composite Objects that all have the same Study Instance Unique Identifier (“Study UID”).
What Archives Do
Because of this, it is the responsibility of the receiving system—the archive—to sort an essentially random stream of incoming objects into Series, Studies and Patient folders according to the respective identifiers in the data objects. A result of this is that DICOM storage services do not explicitly indicate when all the items in a Study have been received, and the receiver must infer, usually by a timeout or other context-dependent indicators, when a Study is complete. (A recently-standardized method of stating that the study is complete is by transmitting a Key Object Selection (KO) with the Document title Code DCM 113032 “Complete Study Content” however this is optional and supported by few vendors.)
Receiving archives must also check for syntactic validity of the DICOM objects, and must check for consistency of the hierarchical data replicated in the objects. For example, Accession Number is a Study-Level attribute, and thus every image in a Study (i.e., every image with a particular Study Instance UID) must have the same Accession Number. Similarly, each study is about only one patient, and therefore every image within that study must have an identical set of patient-level attributes. But what if they don’t? Archives have to do the best they can with the data they receive, and a significant part of archive design is the art of fixing little inconsistencies without introducing or compounding errors in patient data.
Implications for Migration
Laitek’s early data migration tools left the task of fixing syntactic errors and reconciling inconsistencies to the destination archive. Feed all the DICOM objects to the destination archive, and the new archive will take care of them just as it does for inbound data from modalities.
Laitek’s migration approach has evolved to one of performing all the automated reconciliation possible in the migration server, as the destination systems vary in their approach and ability to do reconciliation on the large scale demanded by migration. Relying too much on the destination archive slows down and complicates the migration process.
Having addressed all the most difficult issues of archive design, Laitek has decided to offer a complete archive as a storage solution. The Company’s Semperdata™ storage solutions are available in all Migratek® data migration projects.