利用Oracle触发器排除HIS系统故障2例

2016-11-09 07:24王兴强刘长兴
智慧健康 2016年8期
关键词:触发器长兴病历

王兴强,刘长兴

(济南军区总医院信息科,山东济南,250031)

利用Oracle触发器排除HIS系统故障2例

王兴强,刘长兴

(济南军区总医院信息科,山东济南,250031)

本文介绍了2例“军卫一号”系统故障的分析与利用Oracle触发器的解决方法。

军卫一号;数据库;触发器

0 前言

“军卫一号”医院信息系统在我院已运行十多年,系统稳定,运行良好。但随着LIS、PACS、电子病历、感染控制、手术麻醉、成本核算、移动医疗、虚拟化等系统的上线,要求HIS系统提供接口,实现信息共享,甚至对HIS系统的数据还有严格要求,需要对“军卫一号”Oracle数据库不断升级改造[1-3],对HIS系统不断完善及开发[4-8]。本文介绍2例通过Oracle触发器排除HIS系统数据不规范引起的故障。

1 故障一

我院执行全成本核算,全成本核算系统根据开单科室、执行科室等多种因素计算成本分摊、收入分成等数据,要求HIS系统数据完整规范,如数据不完整或不规范,无法核算或核算不准确。

1.1 故障现象

成本核算系统试运行期间,部分科室反映核算数据不准确,成本分摊、收入分成都比科室自行掌握的数据少。

1.2 故障分析

在住院费用明细表INP_BILL_DETAIL中,部分数据开单科室字段ORDERED_BY为空。对不完整数据分析,为住院计价录入时误操作,未录入开单科室或删除。

1.3 故障排除

通过建立Oracle触发器,从后台解决此问题。对住院费用明细表INP_BILL_DETAIL,建立插入操作INSERT触发器,如下:

CREATE OR REPLACE TRIGGER INPBILL.INP_BILL_DETAIL_INSERT_ORDERED //创建触发器

计价录入项目开单科室均为本科室,因此直接将患者所在病区代码赋值给开单科室即可。这样避免信息科工程师进行后台维护,既减少维护工作量,又规范完善了数据。

2 故障二

在HIS系统中,患者需要转科时,转出、转入科室的医生和护士都要进行相应转科操作。首先应该是转出科室医生将患者在住院医生工作站中做“移出”操作,后转出科室护士在护士工作站中做“转科”操作,转入科室护士在护士工作站做“转入”操作,最后转出科室医生在医生工作站做“移入”操作,完成整个转科流程。

2.1 故障现象

科室医生在医生工作站的患者列表中看不到转入患者信息,只能在全科患者列表中找到,也无法做“移入”操作,可能会造成主管医生在集中处理患者医嘱或病历时遗漏该患者。

2.2 故障分析

没有按正常的转科流程进行操作,转出科室医生还没有将患者“移出”,转出科室护士就进行了“转科”操作,转入科室继续“转入”,造成转入科室医生无法进行“移入”操作,也无法在自己的患者列表中找到该患者。如果及时发现问题,转入科室护士做“取消入科”操作,重新按照正常的转科流程进行操作也可以进行补救,但如果转入科室医生已经下了医嘱,就不能再重新转科,只能在后台修改联机病历描述MR_ON_LINE中的REQUEST_DOCTOR_ID字段。

2.3 故障排除

转出科室护士在进行“转出”操作时,在后台数据库中生成一条患者转科记录PATS_IN_TRANSFERRING,对该表建立插入操作INSERT触发器,判断是否为医生未做“移出”操作,如果没有,则后台修改数据,将患者“移出”,具体如下:

CREATE OR REPLACE TRIGGER INPADM.”PATS_IN_TRANSFERRING_INSERT” //创建触发器

BEFORE INSERT ON "INPADM"."PATS_IN_TRANSFERRING" FOR EACH ROW

WHEN (NEW.DEPT_TRANSFERED_FROM IS NOT NULL) //条件为转出科室非空

DECLARE

医生在做“移出”操作时,将联机病历描述MR_ON_LINE的REQUEST_DOCTOR_ID字段置为“*”,STATUS字段也置为“*”。通过创建触发器PATS_IN_TRANSFERRING_INSERT,提取转科患者未移出病历,后台修改联机病历描述,置为移出状态后,转入科室医生可将患者病历“移入”,在自己的患者列表中即可看到该患者病历。

3 总结

上述故障是由操作人员非正常操作而引起的数据不规范、不完整的故障。通过对相应的数据库表创建触发器,筛选执行条件,实现后台数据自动修改,排除故障。通过触发器排除故障,简单高效,但在正式服务器启用触发器时要进行反复测试,一旦触发器出现问题,可能对整个系统带来非常严重的后果,影响正常的系统运行。

[1] 李志勇,崔珊珊,韩菲.“军卫一号”医保结算中存在的问题及解决办法[J].中国医疗设备,2012,27(12):96-97.

[2] 王兴强,刘长兴,刘国伟. “军卫一号”数据库从64位到32位的异地重建[J].医疗卫生装备,2014,35(4):61-62.

[3] 王兴强,刘长兴,刘国伟. “军卫一号”数据库“瘦身”方法设计[J].医疗卫生装备,2014,35(8):67-68.

[4] 王兴强,刘长兴,刘国伟.改进的药品便捷输入法在“军卫一号”上的应用[J].医疗卫生装备,2011,32(6):55-56.

[5] 王兴强,刘长兴,刘国伟.“军卫一号”中出现“一号多人”问题的分析与对策[J].中国医疗设备,2011,26(6):45-46.

[6] 王兴强,刘长兴,刘国伟.基于“军卫一号”工程的二次开发模式[J].中国医疗设备,2011,26(4):49-51.

[7] 王兴强,徐茂云.基于“军卫一号”的危急值警示功能的设计与实现[J].中国医疗设备,2012,27(3):98-99.

[8] 王兴强,刘长兴,刘国伟. 抗菌药物联用警示在“军卫一号”上的应用[J].医疗卫生装备,2013,34(10):51-53.

Two Cases of Troubleshooting for HIS System’s Failure by Oracle Trigger

WANG Xing-qiang,LIU Chang-xing
(Department of Information, General Hospital of Jinan Military Region, Jinan 250031)

This paper introduces the analysis of the failure of 2 cases of "military health No. 1" system and the solution of the Oracle trigger.

No.1 Military Medical System; Database; Trigger

国家自然科学基金(81502896);山东省自然科学基金(BS2015YY022)

刘长兴,E-mail: xingqiangwang@163.com。

猜你喜欢
触发器长兴病历
以长兴百叶龙文化为例谈非遗的视频化传播策略
强迫症病历簿
浅谈时序逻辑电路的成长记忆
“大数的认识”的诊断病历
长兴古银杏长廊之旅
触发器在酒店管理系统中的应用
长兴吊瓜籽油脂肪酸组成分析和毒理学初步评价
长兴推进林业综合行政执法改革省级试点
为何要公开全部病历?
村医未写病历,谁之过?