Oracle数据库在PACS/RIS系统中的应用
2013-11-19曹新志沈君姝郭辉李昂潘永泉
曹新志,沈君姝,郭辉,李昂,潘永泉
1.南京军区南京总医院 a.医学影像科;b.放疗科,江苏 南京 210002;2.南京航空航天大学 生物医学工程系,江苏南京 210016
0 前言
近年来,随着计算机技术的不断发展,国内很多医院都在打造自己的信息化工程,建设数字化医院。在医院信息系统(HIS)建设的基础上,越来越多的医院开始着手或已经完成了PACS/RIS(Picture Archiving and Communication System /Radiology Information System)[1-2]的建设。
影像科室通过PACS和RIS能够完成所有的医疗过程,即资料的存储、调用和标识,并且能够在相当长的时间段内在线调用[3-4]。但是要实现医学图像信息和病历信息的整合与应用,医学图像系统除了要能方便地实现图像的共享、分析处理功能外,还必须方便医生对图像对象的病历资料及其他相关资料的调阅,这就要求HIS与PACS/RIS系统进行数据整合。将Oracle数据库作为后台数据库已成为各大医院HIS的主流。因此,Oracle客户端的安装配置、调试与连接的成功与否关系到PACS/RIS在影像科的作用是否能够充分发挥,也关系到PACS/RIS对全院临床工作的重要性能否充分体现[4]。
1 Oracle数据库客户端的安装配置与调试
1.1 安装Oracle软件
安装前需注意计算机名称和用户名称必须为标准名称,不能为中文或含有特殊字符(包括斜线和横线等),硬盘的剩余空间≥1000 M。
运行Oracle的应用程序,按照软件默认的安装产品文件的全路径和Oracle主目录名及其全路径进行文件定位,安装类型设置为Administrator。需特别注意,若安装中出现错误一般可以点击,“忽略”,或跳过“停止安装该产品”。文件复制完成后会弹出服务名配置窗口,选择Oracle8i或更高版本的数据库或服务;在目录使用配置窗口中选择“否”,再进行命名方法配置,将Oracle作为选定的命名;接下来需输入服务名,因不同医院的HIS数据库名不一样,所以无统一标准,如输入“database”;在服务名配置协议里选择TCP后进行TCPIP协议配置,在主机名中切记一定要输入医院HIS服务器IP并使用默认的标准端口号1521;在服务名配置测试时选择“否”,使安装继续直至跳出成功安装Oracle9i client窗口。
1.2 Oracle客户端字符集的注册表修改
在客户端通过Import导入Oracle的dmp文件,如客户端的字符集与dmp文件对应的数据库字符集不一致,很有可能会导致导入的数据乱码。可以通过修改注册表来设置客户端的字符集以避免乱码的产生。运行注册表regedit, 将右侧数据名称中的 MSHelp_Tools、Oracle_Home、Oramts_Cp_Trace_Dir、SQLpath盘符路径名改为Oracle安装目录所在的盘符。操作如下:
Hkey_Local_MachineSoftwareOracleHome0
NLS_LANG=”AMERICAN_AMERICA.US7ASCII”
1.3 配置Oracle客户端
Oracle客户端安装后,还需要进一步配置才能连接到服务器[5],配置客户端的方式主要有两种:手动配置和通过Net Manager工具来配置。
1.3.1 手动配置
手动配置[6],在Oracle的安装目录中找到路径oracleoracle92 etworkadmin,在该路径下添加tnsnames.org。文件格式如下:
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.104)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = ora9i)))
起关键作用的参数有ORA9I、HOST、PORT、 SERVICE_NAME,只需将上面的代码设置相应的参数即可。ORA9I:服务名称,可随意取并记住该名称,它在PL/SQL登录时会出现;HOST:Oracle 服务器的 IP(192.168.0.102);PORT:Oracle服务的通讯端口,默认为1521;SERVICE_NAME:Oracle服务器上的数据库名(ORA9I)。
1.3.2 通过Net Manager工具来配置
使用Net Manager工具[6],在程序中找到Net Manager程序并运行。打开工具后会发现之前手动配置的连接可以在Net Manager中的服务中列出来,选中服务命名节点进行创建。选择TCP/IP(Internet协议),主机名中填写Oracle服务器的IP,端口默认为1521。填好服务名,测试连接是否成功。输入用户名及密码后进入下一窗口,看是否提示连接成功,退出时选择保存即可。配置完成后,找到路径oracleoracle92 etworkadmin下的tnsname.ora文件,会发现多了一个配置节点(ORA9I)。文件格式同手动配置。
此时,PL/SQL登录[11],数据库下拉列表会有刚才所配置的两个数据库。总之不管采用哪种方式,都是对Tnsname.ora文件进行配置。
1.4 建立配置数据源并测试
通过配置数据源(ODBC)并测试HIS/RIS集成[7]。从控制面板的管理工具中选择ODBC,在ODBC管理器中选择菜单DSN,点击添加,跳出创建新数据源窗口,选择“Oracle in oraHome92”作为ODBC的驱动程序。最后在系统DSN里选择系统数据源Database进行配置。点击Test Connection,提示Connection Successful 则表示测试通过并已建立连接。
1.5 配置报告和登记台工作站RIS中的HIS接口设置
先定义HIS数据库接口,再测试连接,最后启用HIS数据库连接[8]。因HISRIS集成部分的接口IP及数据库名称、用户名、口令分配每家医院的情况不一样,所以也没有统一的标准[9]。打开Centricity CMIS(临床医学影像系统),在菜单栏中选择接口定义并选中定义HIS数据库接口信息,点击测试连接,看是否提示连接HIS成功。
2 结果
通过以上步骤,成功安装了Oracle客户端并进行了相应的接口配置与调试。Oracle与HIS、PACS/RIS成功地建立起连接,实现了PACS/RIS系统实时为放射科诊断医生调阅病人的历史报告及相关电子病历等信息的功能(图1),充分发挥其在临床服务中的作用[10]。
图1 报告工作站中查看病人历史报告信息
3 讨论
Oracle安装配置过程可能出现的问题:
(1)在Visual studio2010[11]中调试程序时,跳出“未找到Oracle客户端和网络组件”提示。但注册表配置文件里也没有乱码,就是不能进行调试。Visual studio2010是微软公司推出的Windows平台应用程序开发环境,除了支持Microsoft SQL Server,它还支持IBM DB2和Oracle数据库。在解决问题之前,首先确定服务器端安装的Oracle是32 bit版本还是64 bit版本,Visual studio2010是32位的,只能调用32位(X86)程序来运行。安装时需要把客户端的版本尽量与服务器的版本一致。
(2)Sql*plus(与Oracle进行交互的客户端工具)中出现中文乱码或其他字符乱码。首先查看服务端字符集[12]:一种方法查select userenv(‘language’)from dual;另一种方法查select *from NLS_DATABASE_PAEAMETERS。假设查询出的服务端字符集为AMERICAN_AMERICA.US7ASCII,此时需要设置客户端字符集,方法一见上文(1.2 Oracle客户端字符集的注册表修改);方法二是修改环境变量,右键,选择我的电脑/属性/高级系统/高级/环境变量/新建用户变量,变量名写入NLS_LANG,变量值写入AMERICAN_AMERICA.US7ASCII。
[1]梁志刚,李坤成.医学图像存储与传输系统[J].中国医学影像技术,2003,19(3):365-366.
[2]言伟强,刘鹏程,高文清,等.PACS/RIS在放射科医生日常工作中的应用[J].医疗设备信息,2005,20(12):53-55.
[3]Steckel RJ.The current applications of PACS to radiology practice[J].Radiology,1994,190(3):50-52.
[4]罗敏,彭承琳,王小林,等.医学图像存储与传输系统的初步应用与效益分析[J].中华放射学杂志,2003,37(2):150-155.
[5]谈永奇,候道勇.基于Oracle的数据复制技术在HIS中的应用[J].医疗卫生装备,2010,31(10):66-67.
[6]滕永昌.Oracle 10g数据库系统原理[M].北京:机械工业出版社,2006:491-509.
[7]金重午,章士正.放射科RIS/PACS构建的技术应用探讨[J].中国医学计算机成像杂志,2006,12(4):286-288.
[8]蒋昆,罗二平,漆家学等.HIS与PACS软件融合方案的设计与实现[J].医疗卫生装备,2007,28(7):37-38.
[9]陆伟.基于Web技术的医生工作站调阅LIS/RIS/PACS图文报告的接口设计与实现[J].中国医疗设备,2012,27(3):38-40.
[10]辜丽川.PACS与HIS/RIS集成网点的研究与设计[J].医疗卫生装备,2005,26(11):35.
[11]景宇宁.完美世界—Visual Studio 2010新理念选析[J].科技情报开发与经济,2010,20(19):104-105.
[12]龚维荣,周顺平,万波.浅谈Oracle数据库基于索引的SQL语句优化方法[J].计算机工程与应用,2003,39(5):196-199.