【问题标题】:Should a C-MOVE success message only be received after the associated C-STORE completes?是否应该仅在关联的 C-STORE 完成后才收到 C-MOVE 成功消息?
【发布时间】:2025-12-23 21:45:06
【问题描述】:

我们有一个客户端向 PACS 服务器发出 C-MOVE 请求。我的理解是,在关闭 C-MOVE 关联并返回成功状态之前,将打开二级关联并完成 C-STORE 操作。

对于一个特定的 PACS,我们仅在 C-STORE 子操作实际发生后才收到 C-MOVE 成功完成状态。成功消息的状态表明它们都已发生。

(0000,0002) UI =Study Root Query/Retrieve Information Model - MOVE #   28 Affected SOP Class UID 1
(0000,0100) US 32801                                    #    2 Command Field 1
(0000,0120) US 1                                        #    2 Message ID Being Responded To 1
(0000,0800) US 257                                      #    2 Data Set Type 1
(0000,0900) US 0                                        #    2 Status 1
(0000,0902) LO (no value available)                     #    0 Error Comment 1
(0000,1020) US (no value available)                     #    0 Number of Remaining Sub-operations 1
(0000,1021) US 248                                      #    2 Number of Completed Sub-operations 1
(0000,1022) US 0                                        #    2 Number of Failed Sub-operations 1
(0000,1023) US 0                                        #    2 Number of Warning Sub-operations 1

在我们收到此状态后,剩余的 C-STORE 操作就完成了。

根据我对 DICOM 标准第 7 部分的理解,在所有 C-STORE 子操作实际完成之前,我们不应收到具有成功状态的 C-MOVE 响应。我是否正确解释了这一点,这个 PACS 是否不符合标准?

如果这是正常的,C-MOVE 请求者如何知道传输成功完成的时间?

【问题讨论】:

    标签: dicom clearcanvas


    【解决方案1】:

    C-MOVE SCP 应等到 C-STORE 子操作完成后才以最终 C-MOVE-RSP 响应。尽管在 DICOM 标准的第 4 部分中没有明确说明这一点,但类似这样的语句暗示了在子操作完成后发送最终状态:

    PS 3.4, C.4.2.3.1

    "当 Remaining 子操作数达到零时,SCP 应生成状态等于 Success、Warning、Failure 或 Refused 的最终响应。该响应应指示 Completed 子操作数,失败的子操作数,以及警告状态的子操作数。"

    也许您遇到问题的 PACS 有一个体系结构,它将请求排队,也许在确保请求排队之后,它会返回,但谁知道呢。

    无论如何,至于如何判断什么时候完成,成功操作次数中返回的计数是否正确?您可以将此计数与 C-STORE-SCP 接收到的实例数相关联,并确保计数等于知道一切何时真正完成。如果您的 C-MOVE 目标是第 3 方服务器,这不起作用,但如果您控制 C-MOVE-SCU 和 C-STORE-SCP,它应该可以工作。或者,如果您的目标 C-STORE-SCP 也是 C-FIND-SCP,您可以查询它以检查正在移动的研究的实例计数(即检查与研究相关的实例标签的数量)以确保计数匹配.

    【讨论】:

    • 谢谢。这和我想的差不多。我有点犹豫是否要依赖接收到的图像计数,因为我不确定 C-MOVE-SCU 是否能够确定计数是否错误,因为图像仍在发送或出现错误。
    • PACS 供应商表示他们可以打开直接模式来纠正此行为。我不完全确定这意味着什么,但我怀疑您的“请求已排队”评论可能是正确的。