简短回答: 每个 DICOM 对象(图像、报告、剂量记录)都是一个数据元素列表,每个元素都由一个标签标识:一个组号和一个元素号,都写成四个十六进制数字,例如 (0010,0010) 表示患者姓名。每个元素都有一个值表示(VR),说明它包含什么类型的数据(文本、日期、UID、整数、二进制),然后是值本身。像素只是另一个元素,(7FE0,0010) 像素数据。完整的字典在标准第 6 部分,包含大约 5,000 个公共标签;供应商可以添加带有奇数组号的私有标签。
层级
DICOM 标签按照 DICOM 的四层层级进行组织:患者(姓名、ID、出生日期、性别)、检查(Study Instance UID、日期、登记号、描述、转诊医生)、序列(Series Instance UID、成像方式、身体部位)和图像(SOP Instance UID、SOP Class UID、行数、列数、位数、窗位设置、像素数据)。每个文件都会重复所有四个层级的值。
DICOM 按它们描述的层级结构对属性进行分组。同一研究的每个文件都会重复相同的数值,这就是为什么单个图像可以独立正确归档的原因。
| 层级 | 标签 | 名称 | VR | 示例 |
|---|---|---|---|---|
| 患者 | (0010,0010) | 患者姓名 | PN | DOE^JANE^^^ |
| 患者 | (0010,0020) | 患者 ID | LO | MRN-00012345 |
| 患者 | (0010,0030) | 患者出生日期 | DA | 19800523 |
| 患者 | (0010,0040) | 患者性别 | CS | F |
| 研究 | (0020,000D) | 研究实例 UID | UI | 1.2.840.113619.2.55… |
| 研究 | (0008,0020) | 研究日期 | DA | 20260314 |
| 研究 | (0008,0050) | 登记号 | SH | RAD2026-77812 |
| 研究 | (0008,1030) | 研究描述 | LO | CT CHEST W/O CONTRAST |
| 研究 | (0008,0090) | 送检医师姓名 | PN | SMITH^JOHN |
| 系列 | (0020,000E) | 系列实例 UID | UI | 1.2.840.113619.2.55… |
| 系列 | (0008,0060) | 模态 | CS | CT |
| 系列 | (0018,0015) | 检查的身体部位 | CS | CHEST |
| 图像 | (0008,0018) | SOP 实例 UID | UI | 1.2.840.113619.2.55… |
| 图像 | (0008,0016) | SOP 类 UID | UI | 1.2.840.10008.5.1.4.1.1.2 (CT 图像存储) |
| 图像 | (0028,0010) / (0028,0011) | 行 / 列 | US | 512 / 512 |
| 图像 | (0028,0100) | 分配的位数 | US | 16 |
| 图像 | (0028,1050) / (0028,1051) | 窗中心 / 窗宽 | DS | 40 / 400 |
| 图像 | (7FE0,0010) | 像素数据 | OB or OW | the bytes |
值表示
DICOM 值表示 (VR) 是一个两位字母的代码,用于告知软件如何读取元素的字节:PN 用于人名,LO 和 SH 用于字符串,CS 用于代码字符串,DA、TM 和 DT 用于日期和时间,UI 用于唯一标识符,IS 和 DS 用于数字字符串,US 用于无符号短整型,SQ 用于序列,OB 或 OW 用于二进制。
VR 告诉软件如何读取字节。常见的有:PN 人名(组件用 ^ 分隔:姓^名^中间名^前缀^后缀);LO 长字符串;SH 短字符串;CS 代码字符串(大写,来自固定列表);DA 日期 YYYYMMDD;TM 时间;DT 日期时间;UI 唯一标识符(点分隔的数字,最多 64 个字符);IS 整数字符串;DS 十进制字符串;US 无符号短整型;SQ 序列,是进一步数据元素的嵌套列表;OB/OW 其他字节或字,原始二进制。在 DICOMweb JSON 中,每个属性都写成 {"vr": "PN", "Value": [...]},如 DICOMweb 详解 所示。
UID:必须不变的标识符
DICOM 的 Study、Series 和 SOP Instance UIDs 是由扫描仪在制造商注册的根目录下生成的全局唯一标识符,并被 PACS 索引、FHIR ImagingStudy 和 DICOMweb URL 重用。它们绝不能被不一致地重写,否则检查将无法关联。相比之下,SOP Class UID 标识的是对象的类型,而不是图像。
三个 UID(研究、系列、实例)是系统中唯一全局唯一的标识符。它们由扫描仪在制造商注册的根目录下生成,并在所有地方重复使用:PACS 索引、FHIR ImagingStudy、DICOMweb URL。如果某个工具不一致地重写它们(仅对一个文件进行去标识化,而对其邻居不做),研究就会崩溃。SOP 类 UID 不同:它不是此图像的标识符,而是对象的类型(CT 图像、MR 图像、结构化报告)的标识符,由标准固定。
包含个人数据的标签
承载个人数据的 DICOM 标签列在标准第 15 部分的附录 E 中,即基本应用层保密性配置文件:患者姓名、ID、出生日期、地址和电话、医生和机构名称、设备序列号、各个层级的日期和时间、自由文本描述、私有标签、包含标识符的嵌套序列,以及烧录到像素中的文本。
标准第 15 部分,附录 E 定义了基本应用程序级别保密性配置文件:一个标识患者、临床医生或机构的属性列表,每个属性都有一个操作(删除、替换为虚拟值、保留、清理)。显而易见的有患者姓名、ID、出生日期、地址和电话,医师姓名,机构名称和地址,以及设备序列号。不太明显的有:
- 各级(研究、系列、采集、内容)的日期和时间,根据研究需求进行移位或删除;
- 技术人员有时会填入姓名的自由文本字段(研究描述、图像注释、协议名称);
- 私有标签,只有供应商知道其含义;安全默认是删除它们;
- 烧录的注释:直接绘制到像素中的文本(超声和某些屏幕截图),由
(0028,0301)Burned In Annotation 标记,只能通过编辑图像来移除; - 序列,如 Referenced Patient Sequence 或 Other Patient IDs,其中标识符隐藏在嵌套元素中。
良好的去标识化工具遵循第 15 部分,将旧 UID 和新 UID 的映射保存在安全的地方,并记录它们所做的更改。有关更广泛的图景(HIPAA Safe Harbor、GDPR 匿名化和假名化),请参阅 健康数据去标识化。
自己阅读头部信息
您可以使用任何 DICOM 查看器或命令行工具(如 DCMTK 的 dcmdump 或 Python 的 pydicom)自行读取 DICOM 头部信息,这些工具会将文件打印为标签列表。头部会显示患者姓名、出生日期、检查日期和检查描述,因此您可以确认从医院获取的图像确实是您的。
任何 DICOM 查看器都会显示头部信息;命令行工具(DCMTK 的 dcmdump,Python 的 pydicom)将其打印为标签列表。如果您从医院获取了自己的图像,头部信息就是您确认姓名、出生日期和研究日期是您的,并且研究描述与您接受的检查相符的地方。请参阅 如何获取您的 CT 或 MRI 图像。
相关页面
来源
- DICOM PS3.6: 数据字典
- DICOM PS3.5: 数据结构和编码 (值表示)
- DICOM PS3.15 附录 E: 属性保密性配置文件
- DICOM PS3.3: 信息对象定义
- pydicom 文档
常见问题
为什么标签写成 (0010,0010) 也写成 00100010?
它们是同一回事:十六进制的组 0010 和元素 0010。括号形式用于文档和查看器;八位数字形式用作 DICOMweb JSON 中的键。
什么是私有标签?
由供应商而不是标准定义的元素,位于奇数编号的组中(例如 (0009,xxxx) 或 (0029,xxxx)),并带有一个私有创建者元素,该元素命名了供应商块。只有该供应商的软件才知道其含义;去标识化默认会删除它们。
DICOM 标签与 FHIR 元素相同吗?
不。FHIR ImagingStudy 包含其中一小部分(UID、模态、身体部位、计数、日期);头部信息的其余部分保留在 DICOM 中。DICOM 标准的第 16 部分和 FHIR 规范记录了存在的少数映射。
我需要哪些标签才能在档案中找到图像?
患者 ID 或姓名用于查找研究,然后是研究实例 UID 用于检索正确的研究。QIDO-RS 正是基于这些进行搜索;系列和实例 UID 会在响应中返回。

