资源描述
电子病历系统和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中以视图形式建立以下信息(可能缺乏如:身高,体重,血型这么信息),格式以下:
n 姓名
n 年纪
n 性别
n 身高
n 体重
n 血型
n 住院号
n 病区(科别)
n 床号
n 术前诊疗
n 拟施手术
n 拟施麻醉方法
n 术者
n 手术日期
n 手术时间
n 手术室
n 麻醉师
n 护士
n 预约状态
HIS系统中预约视图结构:
字段名
说明
类型
空值
备注
ID
ID
Number(9)
Not null
NAME
姓名
Varchar2(40)
Not null
AGE
年纪
Varchar2 (8)
BIRTHDAY
出生日期
Varchar2 (20)
SEX
性别
Varchar2 (8)
MEDICAL_TYPE
医疗费类型
Varchar2 (8)
IDENTITY_NO
证件号
Varchar2(40)
HID
住院号
Varchar2(40)
Not null
CID
病案号
Varchar2(40)
REGION_NO
病区号
Varchar2(40)
Not null
REGION_NAME
病区名称
Varchar2(40)
Not null
DEPT
科室
Varchar2(40)
BED
床号
Varchar2(40)
DIAGNOSIS_CODE
诊疗代码
Varchar2(200)
Not null
多个诊疗用“,”分割。
DIAGNOSIS_NAME
诊疗名称
Varchar2(200)
Not null
多个诊疗用“,”分割。
DESIGNEDOPERATION_CODE
拟施手术代码
Varchar2(200)
Not null
多个手术用“,”分割。
DESIGNEDOPERATION_NAME
拟施手术名称
Varchar2(200)
Not null
多个手术用“,”分割。
OPERATOR
手术人员
Varchar2(40)
OPERATIONDATE
手术日期
Timestamp(6)
Not null
OPERATIONTIME
手术时间
Timestamp (6)
Not null
ROOM
手术室
Varchar2(40)
Not null
OPERATINGTABLE
手术台
Varchar2(2)
ANAESTHETIST
手术麻醉师
Varchar2(40)
CIRCUANESTHETIST
巡台麻醉师
Varchar2(40)
ANAES_ASSISTANT
麻醉助理
Varchar2(40)
ASSISTANT1
一助
Varchar2(40)
ASSISTANT2
二助
Varchar2(40)
INSTRNURSE1
第一巡回护士
Varchar2(40)
INSTRNURSE2
第二巡回护士
Varchar2(40)
CIRCUNURSE1
第一器械护士
Varchar2(40)
CIRCUNURSE2
第二器械护士
Varchar2(40)
HYPERSUSCEPTIBILITY
药品过敏
Varchar2(600)
OPT_LEVEL
手术等级
Varchar2(4)
EMERGENCY
是否紧急手术
Boolean
CHARGES_TYPE
收费类型
Varchar2(4)
STATE
预约状态
Varchar2(1)
在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系统中间表)
字段名
说明
类型
空值
备注
ID
ID
Number(9)
Not null
NAME
姓名
Varchar2(40)
Not null
AGE
年纪
Varchar2 (8)
BIRTHDAY
出生日期
Varchar2 (20)
SEX
性别
Varchar2 (8)
MEDICAL_TYPE
医疗费类型
Varchar2 (8)
IDENTITY_NO
证件号
Varchar2(40)
HID
住院号
Varchar2(40)
Not null
CID
病案号
Varchar2(40)
REGION_NO
病区号
Varchar2(40)
Not null
REGION_NAME
病区名称
Varchar2(40)
Not null
DEPT
科室
Varchar2(40)
BED
床号
Varchar2(40)
DIAGNOSIS_CODE
诊疗代码
Varchar2(200)
Not null
多个诊疗用“,”分割。
DIAGNOSIS_NAME
诊疗名称
Varchar2(200)
Not null
多个诊疗用“,”分割。
DESIGNEDOPERATION_CODE
拟施手术代码
Varchar2(200)
Not null
多个手术用“,”分割。
DESIGNEDOPERATION_NAME
拟施手术名称
Varchar2(200)
Not null
多个手术用“,”分割。
OPERATOR
手术人员
Varchar2(40)
OPERATIONDATE
手术日期
Timestamp(6)
Not null
OPERATIONTIME
手术时间
Timestamp (6)
Not null
ROOM
手术室
Varchar2(40)
Not null
OPERATINGTABLE
手术台
Varchar2(2)
ANAESTHETIST
手术麻醉师
Varchar2(40)
CIRCUANESTHETIST
巡台麻醉师
Varchar2(40)
ANAES_ASSISTANT
麻醉助理
Varchar2(40)
ASSISTANT1
一助
Varchar2(40)
ASSISTANT2
二助
Varchar2(40)
INSTRNURSE1
第一巡回护士
Varchar2(40)
INSTRNURSE2
第二巡回护士
Varchar2(40)
CIRCUNURSE1
第一器械护士
Varchar2(40)
CIRCUNURSE2
第二器械护士
Varchar2(40)
HYPERSUSCEPTIBILITY
药品过敏
Varchar2(600)
OPT_LEVEL
手术等级
Varchar2(4)
EMERGENCY
是否紧急手术
Boolean
CHARGES_TYPE
收费类型
Varchar2(4)
STATE
预约状态
Varchar2(1)
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表
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
TORC
检验检验标识字段
Varchar2(1)
Not null
INPATIENT_ID
住院病人关联ID
Varchar2(20)
CODE
检验检验代码
Varchar2(20)
NAME
检验检验项目名称
Varchar2(50)
STATE
状态
Varchar2(1)
1.申请未完成,2.申请已完成,3.预约,4.汇报完成
USER_ID
引用用户ID
Varchar(20)
BESPEAK_DATE
预约日期
timestamp
BESPEAK_CREATE_TIME
预约统计时间
timestamp
BESPEAK_CREATOR
预约创建人ID
Varchar2(20)
BESPEAK_CREATOR_NAME
预约创建人
Varchar2(20)
AUDITING_TIME
审核日期
timestamp
SPEAK_TIME
汇报日期
timestamp
APPLY_TIME
申请日期
timestamp
SPEAKER
汇报人ID
Varchar2(20)
SPEAKER_NAME
汇报人
Varchar2(20)
AUDITING_MAN
审核人ID
Varchar2(20)
AUDITING_MAN_NAME
审核人
Varchar2(20)
EXAM_DIAGNOSE
病理诊疗
Varchar2(1000)
SECTION_ID
科室ID
Varchar2(20)
SECTION_NAME
科室名
Varchar2(50)
SAMPLE
检验样本
Varchar2(20)
CLINIC_CIRCS
检验临床情况
Varchar2(50)
PICTURE
检验图像路径
Varchar2(50)
EXAMCHECK_PART
检验部位
Varchar2(20)
EXAMCHECK_AIM
检验目标
Varchar2(50)
REPORT_CONTENT
汇报内容
Varchar2(500)
EXAMCHECK_MODE
检验方法
Varchar2(50)
EXAMCHECK_SEE
检验所见
Varchar2(50)
IDEA
意见
Varchar2(50)
INPATIENT_CONTENT
病人入院情况及诊治经过
Varchar2(50)
FEE
费用
Float
2.2、EXAM_ITEM检验子项目表
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
EXAMINE_ID
关联EXAMINE表ID
Varchar2(20)
Not null
ITEM_CODE
项目代码
Varchar2(20)
ITEM_NAME
项目名称
Varchar2(50)
REF_VALUE
参考值
Varchar2(50)
VALUE_TYPE
值类型
Varchar2(20)
UNIT_CODE
单位代码
Varchar2(20)
VALUE_NUM
数值型结果
Float
VALUE_STR
文本型结果
Varchar2(50)
VALUR_CODE
代码型结果
Varchar2(20)
3、药品收费提供相关信息
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
MEDICINE_ID
药品表ID
Number
Not null
MEDICINE_CODE
药品代码
Varchar2(20)
HIS_MEDICINE_CODE
HIS药品名称
Varchar2(50)
MEDICINE_NAME
药品名称
Varchar2(50)
SPEC
规格
Varchar2
FIRM
厂家
Varchar2
BATCH
批次
Varchar2
备用
PRICE_MIN_PACKAGE
价格
Float
最小计价单位对应价格
MIN_PACKAGE_UNIT
最小计价(包装)单位
Varchar2
SOURCE
起源
Varchar2
Trackao、HIS
PACKAGE_AMOUNT
计价用量
Float
DISCOUNT
折扣率
Float
IS_CHARGED
是否计费
Varchar2(1)
4、基础数据
以下基础数据在建立系统时一次性导入。
4.1、药品库MEDICINE
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CODE
代码
Varchar2
Not null
HISMEDICINE_CODE
HIS中代码
Varchar2
SPEC
规格
Varchar2
NAME
名称
Varchar2
TYPE
类型
Varchar2
全科、麻醉……(常量)
ENABLE
可用标志
Number
SOURCE
起源
Varchar2
Trackao、HIS
PINYIN
快捷码
Varchar2
BRIEF_NAME
简称
Varchar2
DOSAGE_UNIT
剂量单位
Varchar2
4.2、液体入量基础数据维护IO_DEFINATION
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CODE
代码
Varchar2
Not null
NAME
名称
Varchar2
TYPE
类型
Varchar2
出量/入量
SUBTYPE
子类型
Varchar2
输血、晶体液、胶体液、其它……
ENABLE
可用标志
Varchar2
PINYIN
快捷码
Varchar2
SPEC
规格
Varchar2
BRIEF_NAME
简称
Varchar2
DOSAGE_UNIT
剂量单位
Varchar2
因为液体中类似于葡萄糖等均属于药品范围,基础结构类似于药品。属于药品范围均能够到药品价格表中查询相关内容。液体入量基础数据维护仍然利用原来IO_DEFINATION出入量信息维护表。
4.3、价格表 PRICE
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
MEDICINE_CODE
药品代码
Varchar2
Not null
HISMEDICINE_CODE
HIS中代码
Varchar2
SPEC
规格
Varchar2
FIRM
厂家
Varchar2
BATCH
批次
Varchar2
备用
PRICE_MIN_PACKAGE
价格
Float
最小计价单位对应价格
MIN_PACKAGE_UNIT
最小计价(包装)单位
Varchar2
SOURCE
起源
Varchar2
Trackao、HIS
ENABLE
可用标志
Varchar2
4.4、收费项目表
说明:麻醉中其它收费项目,包含技术性收费,术中检验检验,麻醉耗材,仪器使用等,这些费用项目标说明表
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CHARGE_ITEM_CODE
收费项目代码
Varchar2(20)
Not null
PK
CHARGE_ITEM_NAME
收费项目名称
Varchar2(40)
HIS_CHARGE_ITEM_CODE
HIS中代码
Varchar2(20)
SPEC
规格
Varchar2(40)
PINYIN
快捷码
Varchar2(20)
UNIT
计价单位
Varchar2(10)
次,小时,只等
PRICE
价格
Float
TYPE
类型
Varchar2(2)
医技、耗材、仪器使用等
ENABLE
可用标志
Varchar2(1)
BASIC_UNIT_AMOUNT
基础收费单位
Float
BASIC_UNIT_PRICE
基础收费价格
Float
CHARGE_TYPE
收费类型
CHARGE_ITEM_ID
和ChargeItemPackagesRel关联
4.5、麻醉收费套餐
说明:麻醉收费套餐,由用户维护套餐内容和收费项目,作为一个收费包形式出现
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CHARGE_PACKAGES_CODE
套餐代码
Varchar2(20)
Not null
PK
CHARGE_PACKAGES_NAME
套餐名称
Varchar2(40)
PINYIN
快捷码
Varchar2(20)
TYPE
类型
Varchar2(2)
医技、耗材器械包等
ENABLE
可用标志
Varchar2(1)
CHARGE_PACKAGES_ID
和ChargeItemPackagesRel关联
4.6、套餐和项目关系表
字段名
说明
类型
空值
备注
ID
ID
NUMBER
Not null
CHARGE_PACKAGES_ID
套餐代码
Varchar2(20)
Not null
CHARGE_ITEM_ID
收费项目代码
Varchar2(20)
Not null
CHARGE_ITEM_AMOUNT
收费项目使用数量
Float
Not null
4.7、手术名称库
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CODE
代码
Varchar2
Not null
NAME
名称
Varchar2
PINYIN
类型
Varchar2
ENABLE
可用标志
Varchar2
4.8、诊疗名称库
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CODE
代码
Varchar2
Not null
NAME
名称
Varchar2
PINYIN
类型
Varchar2
ENABLE
可用标志
Varchar2
4.9、系统用户信息
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
ACTUALNAME
姓名
Varchar2
Not null
POSITION
职位
Varchar2
PASSWORD
密码
Varchar2
ROLE_ID
权限
Number
ENABLE
可用标志
Varchar2
TITLE
职称
Varchar2
EXECUTIVE_LEVEL
行政等级
Varchar2
4.10、术者信息
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
CODE
代码
Varchar2
Not null
NAME
名称
Varchar2
PINYIN
类型
Varchar2
ENABLE
可用标志
Varchar2
REGION
所属病区
Number
4.11、病区
字段名
说明
类型
空值
备注
ID
ID
Number
Not null
NAME
名称
Varchar2
SOURCE
起源
Varchar2
ENABLE
可用标志
Varchar2
4.12、术中检验检验
字段名
说明
类型
空值
备注
CODE
代码
Varchar2
Not null
NAME
名称
Varchar2
UNIT
单位
Varchar2
ENABLE
可用标志
Varchar2
展开阅读全文