医疗数位影像传输协定 (DICOM, D igital I maging and Co mmunications in M edicine)是一组通用的标准协定,在对于医学影像的处理、储存、打印、传输上。它包含了档案格式的定义及网络通信协定。DICOM是以TCP/IP为基础的应用协定,并以TCP/IP联系各个系统。两个能接受DICOM格式的医疗仪器间,可借由DICOM格式的档案,来接收与交换影像及病人资料。
DICOM可以整合不同厂商的医疗影像仪器、服务器、工作站、打印机和网络设备,使它们都能整合在PACS系统中。许多不同厂商的仪器、服务器、工作站都根据DICOM的标准,来制造支援DICOM机器。DICOM已经广泛地被医院所采用,并且在牙医和一般的诊所中获得小规模的运用。目前,DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。
DICOM支持的设备有下列项目:
- AS = Angioscopy 血管镜
- BI = Biomagnetic Imaging 生物磁场成像
- CD = Color Flow Doppler 彩色血流多普勒
- CF = Cinefluorography 荧光透视
- CP = Colposcopy 阴道镜
- CR = Computed Radiography 电脑X光摄影
- CS = Cystoscopy 膀胱镜
- CT = Computed Tomography 电脑断层摄影
- DD = Duplex Doppler 双工多普勒
- DF = Digital Fluoroscopy 数位荧光透视
- DG = Diaphanography 透视摄影
- DM = Digital Microscopy 数字显微镜
- DSA = Digital Subtraction Angiography 数位减影心血管造影
- DX = Digital Radiography 数位X光摄影
- EC = Echocardiography 超声心动图
- ES = Endoscopy 内视镜
- FA = Fluorescein Angiography 透视血管摄影
- FS = Fundoscopy 眼底检查
- HC = Hard Copy 硬拷贝
- LP = Laparoscopy 腹腔镜
- LS = Laser Surface Scan 激光体表扫描
- MA = Magnetic Resonance Angiography 磁共振血管摄影
- MR = Magnetic Resonance 核磁共振成像
- MS = Magnetic Resonance Spectroscopy 核磁共振波谱
- NM = Nuclear Medicine 核子医学(简体:核医学)
- OT = Other 其他
- PT = Positron Emission Tomography (PET) 正电子发射断层显像
- RF = Radio Fluoroscopy 透视摄影
- RG = Radiographic Imaging (conventional film screen) X光成像(传统底片)
- RTDOSE = Radiotherapy Dose 放射治疗剂量
- RTIMAGE = Radiotherapy Image 放射治疗影像
- RTPLAN = Radiotherapy Plan 放射治疗计划
- RTSTRUCT = Radiotherapy Structure Set 放射治疗结构装置
- ST = Single-photon Emission Computed Tomography 单光子放射断层摄影(单光子发射计算机断层摄影)
- TG = Thermography 热影像技术
- US = Ultrasound 超音波检查
- VF = Videofluorography 视频透视
- VL = Visible Light Microscope 光学显微镜
- XA = X-Ray Angiography X光血管摄影
- XC = eXternal Camera 外置镜头
- ECG = Electrocardiograms 心电图
DICOM的存储格式
Dicom基本数据结构就这样,刚开始学习时可以自己动手解析下,体验下上面说的几个步骤。实际工作或者软件开发中都是使用第三方开源库进行操作,比如比较著名的 C++ 系的DCMTK,JAVA系的 dcm4che, python系的 pyDicom等等,本文乃至以后的文章主要以 DCMTK为主.
DICOM文件的整体结构如图2.1所示,先是128字节的导言部分(没有实际信息),接着是四个字节组成的"DICM"字符串,然后是若干DataElement元素依次排列直至文件结束。

DICOM文件存储结构示意图
DataElement是存储文件信息的主体,DataElement的总体结构

DataElement的结构图
Tag由2 Byte的组号和2 Byte的元素号组成,VR是DICOM特有的值表示法,关于值表示法的解释见2.3节。按照VR的类型以及是否显示VR,DataElement又分为三种具体的结构
显示VR:VR为OB OW OF UT SQ UN的元素
显示VR:VR为普通类型时元素结构(少了预留那一行)
隐式VR
DataElement的Tag
DataElement的Tag用于标识Element的数据内容,比如病人信息、图像的格式等。Tag总共有2000多个,常用的主要组号:0002组描述设备通讯,0008组描述特征参数,0010组描述患者信息,0028组描述图像信息参数。
Dicom文件数据中所有dataElement从前到后按tag又可简单分段:文件元Tag,普通Tag,像素Tag。
1) 文件元Tag(组号+0000):不受传输语法影响,总是以显示VR方式表示,用于定义了传输语法;文件元Tag的dataElement,并没有多大的意义,它的值长度是整个组所有DataElement的字节长度,一个Dicom中可以只有一个文件元Tag,也可以有多个文件元Tag。
2) 普通Tag:除了文件元Tag和像素Tag,其余的都是普通Tag数据。包括:图像宽,高,数据传输格式,病人姓名,病人生日,病历医院,病历科室,病情的描述等等数据;
3) 像素Tag(7fe0,0010):表示DataElement存储的是病历的图像数据。
常用的Tag分类表见文末。
2.3 DataElement的VR
VR(Value Representation)值表示法是DICOM文件*特中**有的一种数据类型表示方式,规定了不同数据类型的含义及存储格,共有27种VR。在隐式VR的结构中会根据元素标识进行判断。Tag和VR是有对应关系的,每一种Tag其实是有一个固定的VR类型。
27中VR表附在文末。
2.4 DataElement的数据长度
数据长度用两个字节存储了数据元素值的长度,所有DICOM数据元素都应该为偶数长度,若为奇数,追加空格或空NULL。当数据长度为0xFFFFFFFF时,数据一直到截止符为止。
DICOM模块
一般指的是三大模块,包含DICOM Storage、DICOM Worklist、DICOM MPPS。
1. DICOM Storage:(必要)
指的是仪器将影像打包成DICOM影像后,通过DICOM通讯,传送至PACS服务器。此为必要功能,当检查结束后,仪器经由院内网络将影像上传。
2. DICOM Worklist:(非必要)
指的是仪器获取病患资料信息任务栏表的功能。在三大模块内,此为非必要功能,具备的优点在于,任务栏表可以避免基本数据的重复输入,亦可避免数据错误;若不具备此功能,人员在RIS登记时录入数据后,亦需在仪器上手动录入一次。
3. DICOM MPPS:(非必要)
指的是仪器在检查的过程当中,通知PACS服务器,传送当前病患数据的检查状态,分别有检查中、检查结束、影像传送结束三种状态。通常具备DICOM Storage的仪器,此功能会附加,但有时候因为工程师的疏忽,可能忘记开启此功能。
二、仪器具备DICOM模块的优点
1. DICOM Storage:
检查结束后,可以直接上传影像到PACS服务器,毋须人工介入。所传出的影像,由于具备相关DICOM参数(如Pixel Data、Study Info…等),可以透过相关后处理工作站,进行影像后处理。
2. DICOM Worklist:
透过此功能,可向PACS服务器查询工作清单,检查医师可以减少重复录入的动作。
3. DICOM MPPS:
PACS服务器可以透过仪器的通知,更改目前收到的影像状态(IN PROGRESSING、COMPLETED),并可依此通知HIS/RIS,该检查为检查中或是已经完成。
三、仪器不具备DICOM模块的缺点
1. DICOM Storage:
无法上线。
部分仪器(如超声、内窥等)虽可透过第三方软件视频采集转档,但采集出来的图像,属Secondary Capture,不具备任何影像讯息,只能进行简单的放大缩小、明亮度调整,无法进行测量,甚至是高阶的影像后处理。
2. DICOM Worklist:
病患讯息重复录入。除了在排程登记系统上录入一次外,还需在仪器上再次录入,可能会因为人为疏失造成数据错误。因PACS系统上线后,需要与HIS/RIS作整合,讲求的是数据的完整性及正确性,若只单纯的在仪器上录入住院号(或门诊号),此单一数据实无法提供PACS系统相关完整的讯息。
3. DICOM MPPS:
就完整的DICOM通讯而言,需要先测试彼此双方通讯是否正常,接下来再实际传输图像,最后再通知彼此结束此次通讯。
由于PACS服务器属被动方,故只能等仪器主动通知是否结束,否则只能一直等候,如某次检查影像张数为100张影像,服务器根本无法判定第99张或是第100张为最后一张,若仪器没有通知,服务器只能视为此次通讯尚未结束,连带会影响到后续的检查通讯,因而造成PACS服务器的延宕。