QUERY/RETRIEVE 服务类 (一) 简介

QUERY/RETRIEVE 服务类

1.   简介

Query/Retrieve服务类定义了一个简单管理SOP Instances的应用。Query的类型并不复杂,不要求提供像SQL那样高级的数据查询功能。Query/Retrieve 服务类专注基本的SOP Instances查询,它用一些常用关键属性作为查询值. Query/Retrieve服务类能够获取/传输一组具有规范标识的SOP Instances. 获取/传输功能允许一个DICOM应用实体从一个远程DICOM应用实体获取SOP Instances或者请求远程DICOM应用实体将SOP Instances传输到另一个DICOM应用实体。

1.1             Query/retrieve 信息模型

       Query/Retrieve服务类的SCP方拥有一定数量的SOP Instances的信息。这些信息是按照某个规范的Query/retrieve信息模型组织而成. Query/retrieve信息模型或者是标准的(DICOM标准部分里定义)或者是私有的(在实现者的Conformance Statement定义).

一个特定的Query/Retrieve服务类的SOP Class是由一个信息模型定义和一组DIMSE-C服务构成. 信息模型定义扮演类似其他DICOM服务类的IOD那样的角色.

1.1.1       服务定义

实现Query/Retrieve服务类的两端DICOM实体,一个是SCU角色,一个是SCP角色.  Query/Retrieve服务类采用DIMSE-C服务中的C-FIND, C-MOVE C-GET 服务.
   
服务包含了基本和扩展行为,基本行为考虑到互操作性,对所有的实现指定最低水平的一致性.而扩展行为增强了基本行为,提供了额外的特点,而这是需要在建立协商的过程中单独协商的.

 

1.1.1.1             C-FIND, C-MOVEC-GET服务中SCU/SCP的语义:

a) C-FIND服务:

— SCU请求SCP对请求标识符(identifier)指定的所有关键值进行匹配查找, 查找方式依赖SCP拥有的信息和请求的水平(Patient, Study, Series或者Composite SOP Instances).

: “标识符(identifier)”指在PS 3.7章节里C-FIND, C-MOVE, C-GET服务定义的参数”identifier”.

— SCP对每条匹配产生一个C-FIND响应, 响应消息的Identifier包含所有关键值属性的值以及所有已知请求的属性.响应的Status值都为Pending, Pending表示这个匹配的过程还没有结束.

当匹配的过程结束, 发出最后一条响应,Status值为Success且不带有Identifier.

拒绝或者失败的C-FIND响应表示SCP无法处理查询请求.

— SCU 可以在SCP查询过程中发送C-FIND-CANCEL请求取消C-FIND服务, SCP会中断服务并返回Cancel标志.

b) C-MOVE服务:

— SCU提供唯一关键值确定并获取一个实体, SCP启动与该关键值关联的SOP InstancesC-STORE 子操作. 这些C-STORE子操作是在与C-MOVEAssociation不同的Association进行. Query/Retrieve服务的SCPStorage服务的SCU可以在不同的应用程序中运行,所以它们也不一定在同一个系统里. 至于启动C-STORE的机制不在DICOM标准讨论范围内.

: 这意味着它们不一定使用同一个AET.请参考C.6.1.2.2.2, C.6.2.2.2.2 and C.6.3.2.2.2 关于C-MOVE SCP conformance的要求.

— SCP可以选择在C-STORE的过程中发送带有Pending状态的C-MOVE响应. 这些C-MOVE响应指出还剩多少数量的C-STORE操作没有完成以及完成结果分别为成功,警告,失败的C-STORE操作的数量.

C-STORE操作结束, SCP给出最终的响应,响应状态值可以为Success, Warning, Failed 或者 Refused. 这个响应可以给出C-STORE操作成功,警告,失败的数量. 如果C-STORE失败, 会返回一个UID列表.

— SCU可以发送C-MOVE-CANCEL请求取消C-MOVE服务. SCP会终止所有的C-STORE操作返回CANCEL标志.

c) C-GET 服务

—SCU提供唯一关键值确定并获取一个实体, SCP启动与该关键值关联的SOP InstancesC-STORE 子操作.这些C-STORE子操作与C-GET在同一个Association下进行.而在C-STORE服务中, SCU/SCP的角色反过来了.

— SCP可以选择在C-STORE的过程中发送带有Pending状态的C-GET响应. 这些C-GET响应指出还剩多少数量的C-STORE操作没有完成以及完成结果分别为成功,警告,失败的C-STORE操作的数量.

C-STORE操作结束, SCP给出最终的响应,响应状态值可以为Success, Warning, Failed 或者 Refused. 这个响应可以给出C-STORE操作成功,警告,失败的数量. 如果C-STORE失败, 会返回一个UID列表.

—SCU可以发送C-GET-CANCEL请求取消C-MOVE服务. SCP会终止所有的C-STORE操作返回CANCEL标志.

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值