系统时间错误对HIS系统的影响
2014-05-30王永艳鱼兆虎
王永艳 鱼兆虎
摘要:该文描述和讨论了由于终端系统时间错误引起HIS系统的数据不一致或者无效的现象和原因,旨在找到解决问题的策略和方法。
关键词:系统时间;HIS系统;问题;策略
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)08-1647-02
我院的“軍卫一号”HIS系统的开发是基于ORACLE数据库,要求客户端用户在插入、修改、删除数据时,要在数据库相应的表里记录这些数据插入、修改的时间以供其他应用的调用并供统计分析使用。为了保证数据的完整性和可靠性,各个客户端提供的数据时间必须是一致的。但往往由于各种原因时间的一致性无法实现,以下我将列举三个典型事例来进行探讨。
1问题现象
1.1 事例一
某住院病人出院结算时失败,提示:该病人收费项目计价时间大于结算时间。查询inp_bill_detail表该病人的未结算明细,发现有两条记录“伽玛刀治疗”的计价时间是2013年3月28日,结算时的时间是2013年2月28日,而其他记录的计价时间都是在正常的范围内。该项目是伽马刀科室单独计价产生的,检查伽马刀科室的终端电脑发现某台机器的系统时间不正确,要晚于正确的时间。修改机器时间,并修改inp_bill_detail表里相关科室所做的计价项目的计价时间。
1.2 事例二
某病区反映当天提取转抄的药疗医嘱,中心药房摆药系统里查询不到,其他病区当天摆药正常。查询已摆药记录,也没有该病区的当天摆药记录。查看中心药房和该病区护士站机器的系统时间,发现护士站的系统时间要大于正常的时间,所以摆药系统并未搜索到不在有效时间内的医嘱。修正护士站的机器时间,并要求该病区作废相关医嘱,重新下达医嘱,重新转抄执行。
1.3 事例三
某门诊医生反映有病人挂号很久,门诊医生站仍然看不到该病人的挂号信息,查询就诊记录:clinic_master,发现该病人的就诊时间比正常的系统时间晚20分钟,逐个检查挂号窗口的系统时间,发现其中一台有误,修改系统时间并在后台修改clinic_master该条记录的visit_date字段的挂号时间。由于窗口挂号系统时间跟医生工作站或者检查检验系统时间不一致,不论提前或者推后,只要存在时间差就会导致病人无法正常就诊。
2 原因分析及解决方案
HIS系统是个连续的过程,时间是个敏感因素,要求整个系统的时间一致才能保证数据的准确性和可靠性。一旦某个终端系统时间错误,将会导致很多病人的信息无法被正确读取而延误下一步的就诊。如不及时彻底解决,统计数据将出现错误,系统本身也将面临稳定性和可靠性的挑战。
2.1 原因分析
计算机系统时间错误的原因大致有以下两方面:一、终端机器本身的问题,如主板电池问题,时钟系统元件等的问题[1]。由于终端机器很多,仅靠维护人员在维护中检查或更换主板电池无法彻底避免由于机器本身原因造成系统时间错误的发生。二、由于操作人员误操作修改了系统时间,一般新手多或者工作人员流动性大的地方容易出现。操作人员在操作过程中很少会留意系统时间是否正确。
2.2 解决方案
方案一:目前市面上有很多自动校正计算机系统时钟的工具,如图一,只要在任务计划里添加该应用,并且输入局域网内指定的可以作为时间服务器的IP地址,即可实现。但这种工具功能单一,不能同步路由器和交换机的系统时间,不同域的计算机之间也无法同步。
方案二:在局域网内搭建NTP时间服务器来实现局域网内的时间同步。
步骤一:设立时间服务器:将一台PC机作为时间服务器,系统为windowsXP
1) 启用NTP服务:修改注册表子项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\
“AnnounceFlags”,为5。
2) 启用 NTPServer:修改注册表子项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\ “Enabled”,为1。
3) 关闭NTP client:修改注册表子项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\Ntpclient\ “Enabled”,0。
4) 设定标准时间源:修改注册表子项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\ NtpServer 为“IP, 0x1”, IP为该时间服务器地址。
5) 在命令提示符处,键入以下“net stop w32time”命令关闭Windows 时间服务,然后键入“net start w32time”命令重新启动时间服务。
步骤二:设置终端:
1) 修改注册表子项:
HKEY LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters. “Type”为NTP.
2)修改注册表子项:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config. “AnnounceFlags”,为5。
3) 修改注册表子项:
HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters。NtpServer 为“IP, 0x1”, IP为该时间服务器地址。
4)在命令提示符处,键入以下“net stop w32time”命令关闭Windows 时间服务,然后键入“net start w32time”命令重新启动时间服务。
5)如果需要立刻与新的时间服务器同步,则执行下面的命令:
w32tm /config /update
w32tm /resync /rediscover
3 总结
由于终端的系统时间是可以被随时修改的一个参数,机器使用者应该养成上岗前先检查机器时间是否正确的良好习惯,发现异常及时修改回正确的时间或者联系网络维护人员。在我院的实际操作中我们采用过自动校正计算机系统时钟的小工具,方便快捷。目前采用局域网内搭建NTP时间服务器来实现局域网内的时间同步。效果明显,大大减少了由于系统时间错误造成HIS系统数据错误的发生。
参考文献:
[1] 赵亚舒,李冬伟.由医疗仪器系统时间错误引发的思考[J].医疗卫生装备,2006,5(27):82-83.