DICOM-- 网关 (路由器 / 适配器)
传统的 DICOM 医学影像文件传输,一般都是在院内局域网的环境下,设备通过 DIMSE 将 DICOM 文件发送给 PACS 系统或后处理工作站等。但是随着互联网云计算的发展,和前几年 AI 在医学影像这块的大热,还有医联体、电子胶片这些服务模式的发展需求,使得 DICOM 的使用范围需要从局域网扩展到互联网。
由于 DIMSE 它需要通讯双方有固定且已知的 IP、port、AE,并且在传输数据时会有多次握手的过程。在局域网环境下这种传输协议并没有问题,但是这显然无法满足互联网的延迟高、并发大的这些需求。所以 DICOM 标准推出了 DICOMWeb,用于面向互联网提供 DICOM 影像查询、调阅和存储服务。并采用了 RESTful 服务方式。
当然现在大部分设备并不会直接采用 DICOMWeb 的方式进行影像数据传输。或者说设备不能直接接入互联网(从安全上考虑也不能这样做)。所以我们需要有一个前置应用部署在院内局域网将 DIMSE 转成 DICOMWeb 用于在互联网传输。下面对比了 3 款这样的应用。
1、karnak
Karnak 是用于数据去标识化和 DICOM 属性规范化的 DICOM 网关。使用 DICOM 侦听器作为输入和 DICOM 和/或 DICOMWeb 作为输出来管理连续的 DICOM 流。
特点:
允许在源和一个或多个目的地之间建立映射
通过 AETitle 和/或主机名过滤图像提供者(以确保来源的真实性)
每个目的地都可以配置一个特定的去标识化配置文件
仅发送特定 SopClassUID 的配置
2、hermes
Hermes 是一种基于路由规则将 DICOM 医学图像路由到不同目标的解决方案,路由规则可以使用 Web 的界面进行配置的。
特点:
简单易用的个人帐户界面,用于管理路由规则和目标
用于定义路由规则的强大而直观的语言
模块化设计,实现高可用性、可靠性和可扩展性
广泛的监控功能
3、healthcare-dicom-dicomweb-adapter
Dicom adapter 是 GoogleCloudPlatform 的项目,在传统 DICOM DIMSE 协议(例如 C-STORE)和 RESTful DICOMweb 协议(例如 STOW-RS)之间转换的组件。包含两个组件,分别是导入适配器和导出适配器。
特点:
导入适配器将传入的 DIMSE 请求转换为相应的 DICOMWeb 请求(例如:C-STORE 到 STOW-RS,C-FIND 转 QIDO-RS),并将转换后的结果传递回 DIMSE 客户端。同时支持 DICOM 编辑和转码。
导出适配器侦听 Google Cloud Pub/Sub 中的新实例,使用 WADO-RS 获取它们,然后将它们发送到客户端。该二进制文件可以配置为通过命令行标志输出 C-STORE 或 STOW-RS。
业务场景分析及选型
由于我们的业务特点,会接入一些卫生院这样的信息化较为简陋并且设备量和日检查量较少的医疗机构。所以前置服务会部署在一个 box 上,并且这些 box 数量很多且硬件性能一般不会很高。所以我们需要这个前置服务安装部署运维要足够的简单。
并且需要支持传输中转码压缩,为了节约云存储的费用,我们需要对 DICOM 文件进行无损压缩,现在世面上很多解决方案是图像上传至服务器后,在服务器端进行转码压缩,但是如果医院数量很多时,会对服务器造成很大的处理压力。所以需要将这一步操作放在前置服务里完成。
对比这 3 个方案,hermes 和 karnak 的配置比较复杂,并且 hermes 需要安装 PostgreSQL 最终我们选择了第三个方案,GoogleCloudPlatform 的 Dicom adapter。
版权声明: 本文为 InfoQ 作者【bird-brother】的原创文章。
原文链接:【http://xie.infoq.cn/article/c6715e5bd6d48bce76e0b485d】。文章转载请联系作者。
评论