C-Find 查询 - 系列级别查询是否需要 StudyInstanceUID?

kof*_*fus 3 dicom

这个答案中它说:

在 DICOM 中,您必须提供所有唯一键(患者 ID、研究实例 UID、系列实例 UID 和 SOP 实例 UID)直到您查询的级别

我正在寻找对 DICOM 标准的引用?

特别是,我需要“证明”系列级别查询需要 StudyInstanceUID。

Ami*_*shi 6

查看您对@kritzel_sw 的其他答案的评论,我试图进一步解释这一点并添加更多“证据”。

特定级别的标识符列表:
- 患者级别:患者 ID
- 研究级别:研究实例 UID
- 系列级别:系列实例 UID
- 图像级别:SOP 实例 UID

以下是从这里复制的:查询级别 - 患者根:

查询级别 - 患者根

以下是从这里复制的(C.3.2 研究根查询/检索信息模型):

除了最高级别是研究级别之外,研究根查询/检索信息模型与患者根查询/检索信息模型相同。患者的属性被认为是研究的属性。

对于任何模型,都支持两种类型的查询 - 分层和关系。其他答案中引用的内容,此答案是关于默认实现的分层查询。关系查询支持是可选的扩展协商的一部分。

以下是从这里复制的(C.5 Association Negotiation)

查询/检索服务类的 SOP 类,包括基于 C-FIND 操作的查询服务,可以使用 SOP 类扩展协商子项来协商诸如关系查询和增强多帧图像转换等选项。

这里(C.4.1.2.2 SCU 的扩展行为)

扩展的 SCU 行为应在协会建立时协商。如果扩展行为中的一个选项在协商中没有达成一致,则只应针对该选项执行基线 SCU 行为。扩展 SCU 行为包括具有以下选项的所有基线行为:

  • 关系查询
  • 增强的多帧图像转换

在 Patient Root Hierarchical 模型中,首先应该在 PATIENT 级别查询以获取研究列表(以研究实例 UID 作为响应)。然后,进一步查询 STUDY 级别以获取系列列表(响应系列实例 UID)等等....

在 Study Root 模型中,STUDY 是最高级别。所以在 PATIENT 级别查询是不适用的。

以下引用来自规范 - DICOM第 4 部分(服务类规范),第 C.4.1.2.1 章 SCU 的基线行为:

C-FIND 请求中包含的标识符应在查询/检索级别之上的每个级别的唯一键属性中包含单个值。不得指定与查询/检索级别以上的级别相关联的必需或可选密钥。

这意味着,在查询下一级时,SCU 必须指定其前一级的标识符。在 Patient Root STUDY Level 查询中,您必须指定 Patient ID。在研究根学习水平的查询,没有以上的水平。因此,SCU 可以在不指定 Patient ID 的情况下进行过滤。

与查询/检索级别相关联的唯一键属性应包含在 C-FIND 请求中,并且可以指定单值匹配、通用值匹配或 UID 匹配列表。

在上述查询的响应中,SCU 已收到此级别的标识符。这些应该包括在查询中。在 SERIES 级别查询时,指定在早期响应中收到的研究实例 UID。

此外,与查询/检索级别相关联的必需和可选键可以包含在标识符中。

查询中还可以包含其他参数。

关于可选参数:

  • SCU 可能不假设 SCP 支持任何可选密钥。因此,当 SCP 支持可选密钥时,它们仅用于减少与网络相关的开销。

  • 当 SCP 无法支持 C-FIND 请求中指定的可选密钥时,SCU 必须准备好过滤 C-FIND 响应。

SCP 必须支持对相应级别的标识符进行过滤 - 这是强制性的。SCP 还可以额外支持过滤其他可选参数;但 SCU 不应该中继它。

现在,回答您的评论:

这是否意味着我什至不能在没有患者 ID 的情况下发出 STUDY 级别的查询?如果我只有一个研究 ID/登录号怎么办

在这种情况下,使用 Patient Root 查询,与严格执行规范的 SCP 的通信将失败。使用 Study Root,STUDY 是顶级水平。如果 SCP 支持,您的过滤器应该可以工作。

在实践中,大多数 SCP 都是自由派。登录号和患者 ID 是研究级别上广泛使用的过滤器。