与HIS接口解决方
案
电子病历系统与HIS接口
概述
电子病历系统是一套完整的信息系统,涉及的病人基本信息、住院基本信息、住院状态变更信息、医嘱信息、用户信息、检验报告信息、检查报告信息等数据内容在电子病历系统中都有对应的数据表来存储。但在数字化医院的范畴内,要求各种数据都应该有唯一的入口,并实现各系统之间数据的共享。当前医院已经成功地上线了HIS(包括部分住院医生工作站的功能)、LIS、PACS、等专业系统,专门来实现对上述业务逻辑和数据的处理。为了保持电子病历系统的完整性,确保各方数据的统一和延续,我们需要开发专门的电子病历接口程序,从上述系统中分别导入相关的数据。
PACS、B超、手术麻醉等应用系统也需要能够查看病人的病历内容,为此,我们也将发布专门的WebService,来支持其它系统对EMR 系统数据的访问。
本文档做为项目指导性文档,直接指导电子病历系统与其它各应用系统的开发工作,同时也做为项目测试和验收工作的重要参考依据。
总体结构
由于EMR、HIS、LIS、PACS等系统都是独立的应用系统,每套系统都有自己专门的数据库来存储相关内容,对数据的逻辑处理上也存在差
异,因此我们需要分别开发EMR与HIS、LIS、PACS系统之间的接口应用程序,经过引入线程处理机制和保存最新的成功导入时间(sync_info),周期性地导入自上次导入时间以来变化的数据内容。导入接口程序独立与EMR及其它应用系统而存在。具体导入接口结构图如下:
对上述导入接口图做如下说明:
开发专门的与HIS间的接口程序,电子病历系统从HIS中实时导入病人基本信息、住院信息、医嘱执行信息、住院状态变更信息、用户信息、其它信息;
对于其它系统需要调用我们EMR中的病历数据,我们将单独发布专门的WebService应用程序。经过外露各种接口来实现对EMR数据的实时访问。结构图如下:
解决方案
要同步的数据:
1.基础数据信息对接。
2.病人基本信息,病人状态信息。
3.医嘱执行报告单。
案例——病人入院:
?方案一:基于数据库的被动通信。流程图:
评估结果:此方案不需要现有HIS 程序做任何改动,由于不是频繁对HIS 数据库请求,对HIS 数据库造成压力较小。难点在于HIS 数据库的分析,缺点在于程序耦合性高,封装性差。需要在电子病历上手工同步新病人。
?
方案二:基于数据库的主动通信。 流程图:
评估结果:此方案不需要现有HIS 程序做任何改动,由于采用定时轮训同步机制,对HIS 数据库有一些压力。难点在于HIS 数据库的分
析,缺点在于程序耦合性高,封装性差。但不需要在电子病历上手工同步新病人。
?方案三:基于WEB服务的友好通信。
流程图:
评估结果:此方案需要HIS增加一些服务接口代码。但业务封装性好,对HIS数据库几乎不造成压力,可扩展性和维护性强,双方系统几乎无缝结合,HIS完成一个新病人录入,电子病历数据库中,即同步有
这个新病人的数据。
案例——基础及其它数据:
方案一:基于数据库。
描述:直接访问HIS数据库,进行定期/手动同步。类似于病人入院方案一,二的架构。
评估结果:类同于入院方案一、二。
方案二:基于WEB服务。
描述:基于WEB服务进行数据同步。类似于病人入院方案三的架构。
评估结果:类同于入院方案三。
手术麻醉系统与HIS接口
和HIS的接口,准备分为两种方式,一种方式是和HIS的数据实时交互,当前预约数据采用这种方式;一种方式是数据在程序开始运行时一次性导入,以后HIS数据发生变化时在TRACKAO系统中增删维护,当前基础数据采用这种方式。
1、手术预约
一种方法是HIS中以视图的形式建立以下信息(可能缺少如:身
高,体重,血型这样的信息),格式如下:?姓名
?年龄
?性别
?身高
?体重
?血型
?住院号
?病区(科别)
?床号
?术前诊断
?拟施手术
?拟施麻醉方法
?术者
?手术日期
?手术时间
?手术室
?麻醉师
?护士
?预约状态
HIS系统中的预约视图结构:
在Trackao系统中构建HIS预约到Trackao预约的中间表,在Trackao系统中每次进入HIS预约模块时读取相关的HIS预约信息,将HIS手术预约信息导入到HIS_REG_OPT中间表,有助于减少麻醉科工作量以及有利于与HIS系统保持数据上的同步和一致性。
对于术前诊断、拟施手术、拟施麻醉方法,由于HIS与Trackao系统存在一定的差异,无论在HIS中是名称还是编码,都需要做一定的转
换才能由HIS_REG_OPT中间表形成Trackao系统中的实际预约信息,转换程序由TRACKAO系统来完成。
Trackao系统中的HIS_REG_OPT(HIS到Trackao系统的中间表)
1)、由于HIS中无住院号,因此此处以病案号+病人姓名+手术日
期来确认一条手术。
2)、在HIS数据库中单独为Trackao麻醉系统建立一个视图表,采用人工方式将某时间段内的手术预约导入到Trackao数据库的HIS_REG_OPT中间表中;考虑到数据库负荷,网络负荷等原因建议采用定时刷性的方式,刷新频率暂定为五分钟。
读取某时间段内的所有预约,清空中间表,然后和Trackao系统中的已经确认的预约及手术做比较,已经确认的预约或者手术不再写入中间表,未确认的建立相应的中间表
还有一种方法是在Trackao麻醉系统中直接建立一个HIS_REG_OPT中间表,在HIS程序中建立某触发器,当HIS中产生新的预约时由HIS程序触发Trackao数据库中的Create_His_Registry_Operation存储过程写入到HIS预约表中。
当HIS中产生预约变更时触发Trackao数据库中的Update_His_Registry_Operation存储过程写入到HIS预约表中。当中间表存在此条预约则更新该预约,如果不存在该预约则查找已经确认的预约或者手术,如果存在则不写入中间表,不存在则创立一条新HIS预约。然后Trackao系统依然按照人工方式将某时间段内的HIS手术预约转换为正式的预约。
当预约取消时触发Trackao数据库中的Delete_ His_Registry_Operation存储过程写入到HIS预约表中。
存储过程:Create_His_Registry_Operation(Package His_Registry_Operation);
Update_His_Registry_Operation(Package His_Registry_Operation);
Delete_His_Registry_Operation(Package His_Registry_Operation);
Package就是以上中间表的结构。
2、实验室检验检查
2.1、EXAMINE表
2.2、EXAM_ITEM检验子项目表
3、药品收费提供相关信息
4、基础数据
以下基础数据在建立系统时一次性导入。
4.1、药品库MEDICINE
4.2、液体入量基础数据维护IO_DEFINATION
由于液体中类似于葡萄糖等均属于药品范畴,基本结构类似于药品。属于药品范畴的均能够到药品价格表中查询相关内容。液体入量基础数据维护依然利用原来的IO_DEFINATION出入量信息维护表。
4.3、价格表 PRICE
4.4、收费项目表
说明:麻醉中的其它收费项目,包括技术性收费,术中检验检查,麻醉耗材,仪器使用等,这些费用项目的说明表
4.5、麻醉收费套餐
说明:麻醉收费的套餐,由用户维护套餐内容和收费项目,作为一个收费包的形式出现
4.6、套餐与项目关系表
4.7、手术名称库
4.8、诊断名称库
4.9、系统用户信息
4.10、术者信息
4.11、病区
4.12、术中检验检查