Overview
在我第一次看到DICOM到现在已经有5-6年的时间了,现在还清晰的记得当初学习DICOM时候的茫然,其他的不用多说,光那18部分的PDF标准文档就让人怯步。但是随着时间的推移,加之自己一直没有放弃,现在也慢慢的进入了这个门道。在这里,把自己多年来的学习的经历,经验及教训用文字记录下来,希望能给那些想学习DICOM或刚入门的人一些有用的帮助。
废话少说,让我们进入正题。首先让我们看看什么是DICOM,为什么我们需要DICOM(我相信任何一项新技术或标准的出现都是为了解决某一类具体问题的,当然也有例外)。那什么是DICOM呢,我们现从它的字面去看看它是什么。DICOM是Digital Imaging and Communication in Medicine的缩写,它描述了医学影像及和医学影像相关流程的信息在网络中的通信协议,各种媒介中的文件存储格式,通信中信息的定义(IOD),以及为了满足各种临床应用的服务(Service)。除了上述基本的定义之外,DICOM还定义了辅助于临床应用的一些其他服务,比如,安全,悬挂协议(Hanging Protocol),灰阶显示(Graystyle display),结构化报告(Structured Reporting)等等。所有的这些定义只有一个目的,那就是在不同的厂商或系统之间进行数据交换。
DICOM定义了4种级别的数据交换,它们分别是
- 基于网络通信的影像信息交换
- 用于和影像相关的管理信息交换
- 基于媒介的影像信息交换
- 基于网络的影像打印
基于网络通信的影像交换
和很多通信协议一样,DICOM(在这里DICOM的版本指的是3.0)也是基于TCP/IP之上的协议。DICOM信息交换的双方需要进行协商来决定是否可以进行数据交换。一旦双方达成协商,可以交换数据之后,双方开始传输数据。下面我们以一个具体的例子来说明这一过程。
我们以一种故事叙述的方式描述了CT设备存储图像到PACS的整个过程。这种方式在以后的文章中会经常出现。那么在DICOM中,它是如何表示的呢?
在这个图中,我们描述了在DICOM中,双方是如何开始数据交换的。Modality发送一个A-ASSOCIATE-RQ给Archive来发起连接请求。这里的A-ASSOCIATE-RQ对应于"Hi, AR1, Can I storage a MR image in you side?”。这是一个协商的过程,用来确认网络通信的另外一端有没有能力存储MR图像及使用什么样的编码方式将数据发送过去。当Archive收到连接请求后,它会返回一个A-ASSOCIATE-AC(对应"Yes, you can”.)或A-ASSOCIATE-RJ来表示接受或拒绝Modality的连接请求。一旦双方达成一致并建立了连接,Modality就可以向Archive发送消息(DICOM Message)。在后续的章节中,我会详细描述A-ASSOCIATE-RQ/AC/RJ,A-RELEASE-RQ/RSP和A-ABORT等定义。
从上述的描述中我们不难发现,DICOM的通信过程基本上分为三个步骤,一、建立网络连接。二、传送数据。三、断开连接。这和大部分的TCP/IP上层协议一样。
那么在DICOM中基于网络通信的影像交换包含些什么内容呢。它们有:
- 图像信息的交换,比如,CT,MR,DX,CR,US等等。
- SR及基于SR的对象(比如,Mammo CAD,Key Objects)的信息交换,
- Waveforms
- PDF等
为了支持这些信息的交换,DICOM定义了DICOM storage服务类型来支持这些数据的交换,同时也定义了Query/Retrieve来查询其他系统中可用的图像并交换。我们会在后续的文章中详细讨论DICOM服务。
用于和影像相关的管理信息交换
上一文中我们介绍了DICOM基于网络的图像信息交换。在DICOM中,除了这些最基本的图像信息的交换外,还定义了一些辅助与图像的管理信息交换。这些信息的交换有助于改善医学影像部门的工作流程,提高他们的工作效率。下图是一个典型的放射科工作流程。
从这个流程中我们不难发现,各个系统之间需要进行各种各样的信息交换,其中步骤5-9和a是需要DICOM的支持的。那它们是如何对应到DICOM服务中的呢,我们来看下面的图:
从5-9及a,每一步DICOM都定义了相应的服务以实现不同系统之间的信息交互及改善工作流程。
DICOM Modality Worklist
当病人需要做的检查在RIS中预约完成后,设备可以通过DICOM MWL查询RIS相应的信息。每一个MWL item包含了如下的信息:
- Patient及Patient related information
- Visit
- Image Request information (Order)
- Requested Procedure
- Scheduled procedure step (包含Protocol codes)
MWL给设备和RIS之间提供了一个桥梁,保证双方数据的一致性和完整性。减少信息重复录入工作,同时避免不同地方录入可能发生的错误。
DICOM Modality Performed Procedure Step
前面提到的MWL给设备提供了RIS中预约的信息,但是很多时候真正执行的和预约会有不一致的地方,比如预约了CT胸部平扫,可技师在执行扫描的时候,根据病人的情况,执行了CT胸部增强扫描。那么RIS如何获取真正执行的信息呢?DICOM MPPS定义了检查从开始到结束的整个过程的信息交换。设备可以通知RIS如下的信息:
- 检查状态 (开始,进行中,中断及完成)
- 真正执行的检查方法
- 扫描过程中产生的图像信息
- 放射剂量
- 需要计费的材料
RIS在获取这些信息后可以很好的管理整个放射科的工作流程。
DICOM Storage Commitment
一旦检查完成之后,设备会将图像存储到PACS中,同时设备本地也会保留图像数据,久而久之,随着图像数据的增加,设备的本地存储会占满,我们不得不删除一些数据来保证足够的存储空间来完成其他检查。所以当我们删除设备本地图像的时候,需要一个机制来保证删除的数据已经安全的存储,作为病人的历史数据,将来可以重新获取。针对这一问题,DICOM定义Storage Commitment服务来告诉设备,图像已经安全存储与否。(可能有人会说,当设备将所有图像发送给PACS后,就表示图像可以删除了,这是一个理解上的误区。当设备将图像发送给PACS只是表示图像已经传送成功,而不能知道对方收到图像后是怎么处理这些图像的。图像怎么处理并没有在DICOM中定义,不同厂商根据自己的需要会有不同的实现。有的PACS收到图像后就将图像放到存储中,有的PACS则要经过一系列的处理之后,才将图像存储。)
设备发送图像给PACS的同时,也会给PACS发送一个Storage Commitment的请求,并等待PACS返回Storage Commitment确认消息。一旦PACS确认图像已经安全存储,它就会发送一个Storage Commitment确认消息给设备,此时,设备可以安全删除本地图像。
DICOM Instance Availability Notification
随着信息化的发展,RIS已经慢慢的成为驱动放射科流程的重要角色,RIS和PACS的集成也越来越紧密。这就要求RIS知道更多PACS中的图像信息,其中一个重要的信息就是关于图像在PACS中的状态。图像的状态分为三种(Online,Offline及Nearline)。当PACS中的图像状态发生变化时,需要告诉RIS,以便用户或系统获知状态信息后,能够做出正确的判断,进而决定下一步动作。
DICOM定义IAN服务来完成一个信息通知。当图像状态发生变化时,图像存储系统可以向RIS发送DICOM IAN消息来通知RIS图像的状态。