dicom

DICOM C-StoreSCP: Is there any way to know for sure that the study is received completely?


This question is next part of my other question. My SCP receive images from multiple clients. Each client behaves differently. Some clients send complete study on only one association; so in this case, when association is closed, SCP can know that complete study is received.

Some clients send multiple studies on same association; which is DICOM legal.

Some clients send one study on multiple associations; which is DICOM legal.

Data transfer happens on unstable internet. If study is being transferred and connection disconnects for any reason, instances those were successfully stored will not be sent again. Only failed/pending instances will be sent in next attempt.

Considering all above, is there any DICOM way to know study is received completely.

Storage commitment is not good solution in my understanding. Most of the users do not support it. Also, this feature is designed for SCU to know if instance is stored on SCP; not other way around.

MPPS is also not reliable. Please refer Conclusion section of my other question.

I read this post which has similar requirement. Timeout solution mentioned there is not reliable in my understanding.


Solution

  • The goal of DICOM Storage Service is to allow simple transfer of information Instances (objects) such as images, waveform, reports etc. So the concept of Study is not associated with this service.

    Also, there is no clear cut definition of what constitutes a "Study" and standard does not constrain how a study is transferred from SCU to SCP (e.g. in a single association, multiple association or any time constrain).

    Storage Commitment Service also operates on Instances and it is in implementer desecration when to send the Storage Commitment request. As for example, each time modality captures an image and stores it to PACS or once all images are transferred to PACS or when modality needs to free-up the local drive space etc.

    However, an SCU can send study level C-MOVE to an SCP for transfer all Instances sharing the same Study Instance UID (a study) to a destination SCP.

    So, there is no definitive way to know if a client completed sending a study.