过去几年,Linux在服务器端的应用方面已经取得了很大成绩。随着国内软件汉化和本地化开发的发展,包括办公、多媒体、网络等应用软件日益丰富,Linux在桌面应用方面也取得了长足的进步。经过这些年的发展和政府的推动, Linux解决方案在行业系统应用中不断得到扩展和充实,在各行业中都有各具特色的Linux应用出现。
医疗行业是计算机业界争相角逐的一个主战场。由于医疗应用系统的特殊性,包括医疗卫生法律的严肃性、医务流程的复杂性和医疗数据的保密性,医疗应用系统在高可用、稳定和安全性方面对系统提出了有别于其它行业系统的更高要求。
PACS(医学影像存档和传输系统)是医院用于管理医疗成像设备(如CT、MRI、CR/DR、PET等)所产生的医学图像的信息系统。PACS按照应用范围分为full-PACS(全院PACS)和mini-PACS(科室PACS)。目前,PACS中广泛应用了DICOM协议(数字医学图像传输协议),这是由ACR-NEMA(美国放射学会-美国国家电器制造学会)提出的主要用于医学系统之间互连的通信协议,该协议建立在 TCP/IP基础上,详细定义了病人及相关图像信息的存储、传输、访问格式和要求。
本文主要研讨基于Linux的PACS技术设计,并总结这些技术的优势和需要拓展加强的薄弱环节,希望扩大Linux在医疗行业领域的应用范围。
系统分析
系统组成包括:
◆ 标准DICOM设备
包括CT(X线计算机断层)、MRI(磁共振)、PET(正电子发射成像)、CR/DR (数字X线)、DSA(数字剪影)、超声等。这些设备传统的操作系统平台一般是SGI、Sun、HP等厂商的Unix系统。从技术上说,Linux在高端应用方面完全具备医学成像及后处理的科学计算功能,而且部分中小型设备可以采用Linux嵌入式系统完成数据采集部分的工作。基于Linux的开源项目 MiniGUI作为图形界面支持系统,可以应用于包括激光医疗设备、激光美容设备、CT设备等在内的众多医疗设备。
◆ 非标准DICOM设备
包括不支持DICOM的模拟和数字成像设备。设备类型一般包括早期超声、各种内窥镜、各种显微镜(如病理切片、血液涂片等)。根据DICOM标准,对非标准格式图像进行标准化,支持动态采集,得到视频影像或序列图像。因此,这种设备处理要通过视频采集卡来实现。
国内视频采集卡厂商目前还没有对Linux提供硬件驱动,这样,在Linux的应用推广上受到了一定的限制,而单独开发嵌入式Linux系统又大大增加了技术的复杂度和成本。
◆ DICOM网关部分
DICOM网关常与文件服务器合称为DICOM服务器,其主要功能是遵循DICOM 3.0国际标准,完成医学图像的传输归档。DICOM标准参考ISO的七层协议,定义了DICOM物理层、DICOM数据链接和DICOM对话、传输、网络层。针对IP网络,还定义了DICOM基于TCP/IP的上层协议。目前国内已有完全支持DICOM 3.0、基于Linux的归档服务器,支持Linux下的影像存储、归档和管理。
◆ HIS/RIS(医院信息系统/放射信息系统)数据库系统
从概念上,HIS不在PACS的领域内。但从信息一致性的设计角度,理想状况是PACS与HIS的无缝集成。也就是说,PACS中的申请预约及采集图像中的病人信息等都来源于HIS,让 HIS/PACS来自同一个数据库源,从而真正地保证信息的一致融合。考虑到系统复杂性和现实情况,科室级建立了独立的RIS系统,为PACS中图像及流转过程提供病人和检查的相关信息。使用RIS的情况下,要求全院PACS通信遵循HL7(医疗第七层)国际标准。
大的国际数据库厂商Infomix和Oracle均推出了Linux版本,轻量级的可以选用MySQL等。基于Linux的 HIS/RIS系统也不断地有报道。北京人民医院放射科的PACS使用美国GE公司的Redworks系统,是一个国际上非常著名的PACS系统。在此基础上,GE公司与人民医院合作开发出本地化的RIS系统。该系统采用Linux操作系统及MySQL数据库,实现了放射检查的预约、划价、收费、报告共享及各种统计功能。
◆ 图像库系统
即PACS的海量存储系统。美国1996年颁布HIPPA(健康保险便利及责任法案)要求所有病人资料保存长达7年之久,因而对MRI、PET、CT扫描的存储量将是巨大的。一个病人做一次MRI图像可以多达千幅,按一幅500KB计算,一次检查可以达到500MB。
国内对医疗数据的管理验证也将越来越强化和细化。一般设计良好的全院PACS系统从存储角度会有两级以上的在线库,目前最新的研究倡导采用两级永久在线,而不设离线存储(如图1所示),或者随着应用的复杂度进行增加。可以说这将是一个海量的文件服务器,主要根据医院的规模、每天产生的图像数量、数据总容量及要求的访问量来确定其使用的技术框架。
PACS系统中存储设备的选择是重头。大型和特大型医院(床位1000张或以上)一般采用SAN(存储区域网络)、光纤通道的磁盘阵列;中等医院或大型医院的一级存储可以采用NAS、SCSI磁盘阵列、IDE磁盘阵列等。
PACS中存放数据的商用数据库也是其中重要的部件之一,它将为每个PACS检索点创建一条相应的记录,以检索到原始数据。
在存储设备和数据库之间,还有一个关键环节,那就是存储管理软件。该层面软件的主要任务是在大型存储设备上构建虚拟的文件系统,让面向用户的应用软件可以在该层面上直接运行,而无需考虑底层硬件设备的配置与控制。
在存储管理软件之上的内容管理软件与数据库并列,只是该内容管理软件其实就是直接面向用户的一个MIS系统,其结构与标准的 MIS系统没有大的差别。通常这类内容管理软件由系统集成商开发,或者使用第三方内容管理产品,它们将外存设备上的图像文件与元数据建立有机连接,并提供友好易用的用户界面,供用户实现对各类数据的存储操作。
数据迁移软件融会PACS的智能。在医疗PACS系统中,分层存储管理软件是连接前端数据采集与后端数据存储的中间环节,它能够把所有的外存和硬盘自动共建为一个完整的虚拟存储设备,使用户能够透明地访问所需数据。
诞生于AT&T贝尔实验室的贝克软件,其数据保护解决方案可以为PACS系统提供优秀的服务。因为医疗数据除了数量庞大,还兼有私有性、法律文书性质等特点,所以对数据的备份恢复和安全保护异常重要。贝克软件还积极推动Linux的发展,为国内Linux厂商提供了集成的解决方案,有许多值得借鉴的地方。
◆ 诊断医生工作站和临床医生工作站
这里对Linux提出了更多桌面功能的要求,如图像处理的算法实现、图像信息及病人信息操作和图像界面及功能的实用。在支持会诊模式的情况下,还必须具有多媒体功能,成为基于Linux的协同系统,其它功能还包括光盘刻录、胶片打印等
◆ Web服务器
采用HTTP协议进行数据传输,具有完善的权限管理,组成全院的影像Intranet网络,为将来接入Internet做好准备。网络中的任何站点都可以浏览授权的影像资料,也可以查阅或编辑诊断报告(受权限保护)。远程的用户可以登入该服务器,如同在局域网中,进行阅片及诊断工作,缩短距离,实现远程会诊。利用Linux Apache服务器可以很好地实现以上功能。
2.管理维护
作为医院业务频繁使用的局域网,即使是千兆以太网,当医院PACS实施以后仍然会遇到带宽不足、网络阻塞的情况。之所以规划二级在线存储,就是考虑将检查科室内部对图像的调阅直接在一组交换机上的一级在线库进行,这样相对占用带宽高的图像传输不会挤占主干的带宽,而临床部分调阅图像则可以从全院的二级在线库调阅。
Linux在网络管理方面具有Windows无法比拟的优势,iptables框架对数据包具有强大的过滤管理功能,加上TC (流量控制)功能模块,通过如FIFO、令牌桶等算法定义规则,从流量特性上对数据包进行控制,实现对医院网络的带宽调度,分时段将带宽交给最重要、最紧急的部门使用。
系统开发
几乎所有的PACS开发人员都从开源项目中获益,包括DCMTK、eFilm等。目前,国内PACS开发一般采取三种途径,一是按照标准完全自主版权开发,这种情况要求开发小组有较高的技术水平,第一军医大学网络中心的JW-PACS就属于这种情况;二是购买国外专业厂商的开发包,进行二次开发,只要根据开发包提供的API就可以实现原包所带的各种特性,这种情况在技术实现上较容易,但是在购买和升级开发包方面会有比较大的投入,小型的软件公司会有较大压力;三是利用开源项目提供的代码,进行整合,不断跟进开源进程,完善其功能特性,这种方式风险较低,同样要求开发人员有较高的读码能力。
基于Linux平台的开发目前在PACS领域相对比较少,这主要与各级程序员和软件工程师对Linux平台上开发工具的熟悉程度,以及国内软件公司对开发工具的选择有关。落实到根本上,还是要对Linux平台开发工具的普及和实用下功夫。
小结
通过上述对Linux平台上PACS技术设计的分析可以看到,医疗行业内Linux实用层面的准入还有许多困难。不同技术领域存在不同程度的风险,这就要求广大的Linux从业者深挖潜力,细化需求,与国际、国内相关厂商建立友好合作关系。相信在不久的将来,通过广大开源同仁的共同努力,Linux在医疗行业也会取得骄人业绩。