1. 文章主题
- dicom标准介绍
- dicomserver业务功能介绍
2. 培训目标
- 了解dicom标准相关知识及其协议中的一些重要概念;
- 熟悉dicom服务、ris系统、检查设备之间的数据交互;
3. 背景知识介绍
3.1 Ris 和 pacs的关系
目前医院大多时候包括影像科人员都把影像系统称为PACS,即医院检查科室(放射、超声、内镜、病理)所用的系统(例如我们平时接触到的X光、核磁、CT等),真正的影像/检查系统应该包含PACS和RIS。
RIS系统:放射信息管理系统。主要有登记预约、排队叫号、技师模块、报告模块、主任模块、采集模块等模块。即之前讲的corexpacs的主要功能其实是对RIS系统的实现。
PACS系统:医学影像存档与通信系统。现在要讲的dicomserver才是实现的PACS 功能,整个corexpacs+dicomserver系统是对 RIS 和 PACS 的完整实现。
3.2 dicom标准简介
DICOM,即Digital Imaging and Communications in Medicine(医学数字成像和通信),是由国际电工委员会
(IEC)制定的一种全球通用的医学图像和数据交换标准(ISO 12052)。这种标准的目的是为了提高医学图像和信息的采集,存储,传输和显示的效率,以及使医疗机构之间的通信更加简单、高效。
DCQM标准涵盖了医学图像存储和传输的全部要素,包括文件格式、图像格式、数据结构、接口和协议。文件格式包括文件结构,文件头和文件内容;图像格式包括图像数据类型、图像宽高度和灰度等;数据结构包括元数据和数据元;接口和协议包括网络及其他的通信协议。
DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。在数以万计的在用医学成像设备中,DICOM是部署最为广泛的医疗信息标准之一。当前大约有百亿级符合DICOM标准的医学图像用于临床使用。(目前也有一些超声的医疗设备使用dicom标准传输影像)
dicom标准的官网:https://www.dicomstandard.org/about
3.3 dicom协议名词解释
在正式介绍前我们需要先弄明白一些名词。
SCU\SCP:
DICOM通讯方式采用的是C/S模式进行连接,SCU端向SCP端发送连接请求,请求服务及相关数据;其中对SCU与SCP的理解,就类似于QQ、微信聊天,主动发消息方为SCU(客户端),接受消息方SCP(服务端);
AE:
ApplicationEntity,应用实体。分为以下两种:
Calling AE Title为请求端实体名称,在DICOM通讯服务中,用于指代SCU端实体的名称;
Called AE Title为被请求端实体名称,在DICOM通讯服务中,用于指代SCP端实体的名称;
注意:一个服务可能即是SCU又是SCP,只是针对在具体的业务中才会有区分。AE 和 SCU\SCP的概念是对应的。
SOP Class:
客户端用DICOM标识符来标识每种服务,即SOP Class UID(Service Object Pair Class Unique Identifier),在DICOM标准的第4部分有详细介绍。在连接上下文中,被发送的SOP Class 也被叫做抽象语义Abstract Syntax;因此Abstract Syntax就是SOP Class UID的同义词。
备注:其中对于SOP Class的理解,就类型与老板(SCU)下发某个任务,而下属(SCP)你要告诉你的老板你能否完成该任务;而该任务,在dicom通讯中抽象成了SOP Class,也代表着某一中服务(CECHO等)。
transfer syntax:
在传输SOP Class UID(即Abstract Syntax)的同时,会发送与该服务对应的编码格式,即Transfer Syntaxes。
ACSE:
ACSE是在DICOM3.0中的第8部分介绍,该部分的标题为Network Communication Support for Message Exchange,因此可以断定ACSE主要应用户连接建立阶段。
ACSE服务主要有A-ASSOCIATE、A-RELEASE、A-ABORT、A-P-ABORT、P-DATA五类,对应的PDU有A-ASSOCIATE-RQ、A-ASSOCIATE-AC、A-ASSOCIATE-RJ、P-DATA-TF、A-RELEASE-RQ、A-RELEASE-RP、A-ABORT七种。
DIMSE:DICOM Message Service Element(DICOM 消息服务元素)
- DIMSE-C:DICOM Message Service Element - Composite(复合 DICOM 消息服务元素)
- DIMSE-N:DICOM Message Service Element - Normalized(标准化的 DICOM 消息服务元素)
- DIMSE-service-user:that part of an application entity that makes use of the DICOM Message Service Element.(使用 DICOM 消息服务元素的应用实体部分)
DIMSE-C 服务是支持在有同等 DIMSE-service-user 复合信息对象定义的复合 SOP 实例上操作的 DIMSE 服务的子集,复合 SOP 实例大致可以理解为不会被改变的文档类的实体,例如 dicom 影像文件。包含5个服务:C-ECHO、C-FIND、C-GET、C-STORE、C-MOVE
C-ECHO:C-Echo 服务就是用来验证两个同等的 DIMSE-service-user 之间端到端的通信是否成功。在实际场景中,用来验证两个 PACS 系统之间或设备和 PACS 系统之间的通信是否成功。
C-STORE:用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上存储一个复合 SOP 实例;其实就是存储服务,可以用来归档影像,也可以用来获取影像。
C-FIND:查询服务,用于一个 DIMSE-service-user 在同等的DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例;我们可以通过此服务查询某一 PatientID 为xx的患者的所有检查影像;
C-GET:获取服务,用于一个 DIMSE-service-user 在同等的DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例,并取回这些符合条件的复合 SOP 实例,同时在这个过程中将触发一个或多个 C-STORE 子操作过程,所有的操作(包含 C-STORE 子操作)均在同一个 TCP 连接中;
C-MOVE:也是获取服务,但是获取的发起方和接收方可以是同一个实体也可以是两个不同的实体。标准中是这么定义的:用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例,并取回这些符合条件的复合 SOP 实例,同时在这个过程中将触发一个或多个 C-STORE 子操作过程,所有的 C-STORE 子操作触发在另外一个单独的 TCP 连接中;和 C-GET 最大的区别是这个是两个 TCP 连接,而 C-GET 服务是一个;
DIMSE-N 服务是支持在有对等 DIMSE-service-user 规格化信息对象定义的规格化 SOP 实例上操作和通知的 DIMSE 服务的子集。这类服务会在打印中使用到。DIMSE-N 服务包含以下6个服务:
N-EVENT-REPORT:用来由一个 DIMSE-service-user 给对等的另一个 DIMSE-service-user 报告一个事件;唯一一个通知类型的服务;
N-GET:用于一个 DIMSE-service-user 从对等的另一个 DIMSE-service-user 取回属性值;
N-SET:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求属性值修改;
N-ACTION:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求一个操作;
N-CREATE:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求创建新的托管 SOP 实例,完成其标识和相关属性的值,同时注册其标识。
N-DELETE:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求删除一个托管 SOP 实例,同时注销其标识。
4.功能流程
4.1 dicomserver 介绍
DicomServer是美智医疗基于SprinaBoot开发的dicom影像存储和信息维护系统。在实现dicom协议的基础上封装了corexpacs与检查设备之间交互所需的功能,如接收保存图像(C-STORE)、worklist信息查询(C-FIND)、提供图像获取(C-MOVE)、修改图像信息等。
4.2 worklist功能流程
Modality Worklist
The DICOM Modality Worklist service provides a list of imaging procedures that have been scheduled for performance by an image acquisition device (sometimes referred to as a modality system). The items in the worklist include relevant details about the subject of the procedure (patient ID, name, sex, and age), the type of procedure (equipment type, procedure description, procedure code) and the procedure order (referring physician, accession number, reason for exam). An image acquisition device, such as a CT scanner, queries a service provider, such as a RIS, to get this information which is then presented to the system operator and is used by the imaging device to populate details in the image metadata. Prior to the use of the DICOM Modality Worklist service, the scanner operator was required to manually enter all the relevant details. Manual entry is slower and introduces the risk of misspelled patient names, and other data entry errors.
以上是DICOM标准中对worklist的说明,直接翻译过来是:Worklist 服务提供了一个由图像采集设备(有时称为Modality 系统)调度执行的成像过程列表。工作列表中的项目包括手术主题(患者ID、姓名、性别和年龄)、手术类型(设备类型、手术说明、手术代码)和手术顺序(转诊医生、就诊编号、检查原因)的相关详细信息。图像采集设备(如CT扫描仪)查询服务提供者(如RIS)以获取该信息,然后将该信息呈现给系统操作员,并由成像设备用于填充图像元数据中的详细信息。在使用DICOM模态工作列表服务之前,扫描仪操作员需要手动输入所有相关详细信息。手动输入速度较慢,并且存在患者姓名拼写错误和其他数据输入错误的风险。
本质上是对CFindSCP的实现。
dicomserver 中使用一个独立的worklist表来存储需要给设备查询的worklist信息,现在corexpacs的实现中仅支持放射科的登记信息会生成worklist数据,并推送到dicomserver,dicomserver将其存储到数据表中,等待设备查询。
4.3 图像归档功能
Store
The DICOM Store service is used to send images or other persistent objects (structured reports, etc.) to a picture archiving and communication system (PACS) or workstation.Storage Commitment
The DICOM Storage Commitment service is used to confirm that an image has been permanently stored by a device (either on redundant disks or on backup media, e.g. burnt to a CD). The Service Class User (SCU: similar to a client), a modality or workstation, etc., uses the confirmation from the Service Class Provider (SCP: similar to a server), an archive station for instance, to make sure that it is safe to delete the images locally.
以上是DICOM标准中对存储过程和存储介质的说明,简而言之就是说dicom存储服务是用于将图像或其他持久对象(结构化报告等)发送到图像存档和通信系统(PACS)或工作站的。要求dicom存储服务(C-STORE SCP)可以将影像永久存储在存储介质上,以便其他调用此服务的用户(C-STORE SCU)可以删除本地的影像。
dicomserver的图像归档功能就是对C-STORE SCP的本地化实现,由影像科的设备调用,将患者的检查图像上传至该服务,并对影像文件进行解析、存储、归档至corexpacs以便报告工作站可以调阅。
4.4 queryRetrieve 功能
Query/Retrieve
This enables a workstation to find lists of images or other such objects and then retrieve them from a picture archiving and communication system.
以上是DICOM标准中对queryRetrieve 的说明,直接翻译过来是:该功能使工作站能够找到图像或其他这样的对象的列表,然后从图片存档和通信系统中检索它们。
即需要dicomserver提供给设备一定的查询服务(四个级别:患者、检查、序列、图像),调用corexpacs进行基础数据的查询,封装为dicom属性,完成query行为;然后根据query到的信息调用corexpacs获取图像路径,通过图像路径获取dicom图像返回给设备。