1、医疗保险定点医院接口设计方案 荆州普爱康复医院 医保定点医院接口设计方案 【摘要】本文主要介绍了医疗保险定点接口医院的医保信息系统的及院内HIS系统的接口设计方案。 引言 为了更好的加快金保工程医保信息系统统一应用软件的实施,制定医疗保险定点医院院内HIS系统及医保系统的对接接口。医保接口做为连接医疗保险及诸多定点医疗机构之间的桥梁,医保接口方案采用了联机、脱机相结合的处理方案,社保卡全部采用Memory卡. 一、 总体设计 1、软件体系结构 医保接口系统主要由医保交易、社保卡交易、圈存、数据传输等子系统组成,如下图所示: 2、系统运行体系 医保
2、接口系统主要由医保接口交易、社保卡交易、圈存系统、数据传输系统、数据库系统组成。 n 联机方案 n 脱机方案 增加医保前置机, 圈存系统和数据传输系统. 3、系统物理结构 n 硬件物理环境 u 联机方案 医保中心大型定点医疗机构要求以太网10兆以上局域网或宽带网。 小型定点医疗机构也建议采用宽带网,但可以采用ISDN或普通拔号上网。 u 脱机方案 n 软件环境 操作系统:服务端为UNIX,客户端为WINDOWS2000以上; 应用服务器:WEBLOGIC8以上版本; 数据库:ORACLE10.2; 4、技术路线 n 联机时: 由医保接口
3、动态库通过向医保接口WEB应用发送HTTP请求进行交易;医保接口的事务提交则由医保接口WEB应用管理;所有业务均通过交易体现。 n 脱机时: 由医保接口动态库通过OCI接口,向数据库发送数据操作请求,医保接口的事务提交是用接口内部来实现的,它需要HIS有医保前置机,所有业务均通过交易体现, 及联机方式的交易格式是相同的。 n 脱机/联机时: 在中心网络畅通时使用联机交易, 在网络不通时走脱机模式,在读卡和登记两个交易判断是否联机,并返回给HIS联机标识,之后的业务(费用录入)需要按照这个联机标识,建议只在不使用医保基金的业务才使用脱机,其他必须联机. 联机交易注
4、意事项: 动态库返回成功,开发商才能处理,否则容易造成中心和医院事务不一致。如果由于线路等问题,动态库无法接收web应用返回的交易处理结果,则返回失败,由动态库保证中心业务的冲正。 脱联结合时各地市业务脱机情况: 城市: 连云港, 淮安, 宿迁 只使用帐户,没有基金支出的业务(只有普通门诊),可以使用脱机或联机, 对于有基金支出的业务和其他查询类业务都要求使用联机,联机不通的情况下不允许做业务处理. 特殊情况在联机做住院登记后,再录入费用明细网络不通时,要求HIS方对费用明细信息保存在HIS数据库中, 在网络畅通时再将本地的HIS数据上传到中心,最后在联机时做出
5、院结算,完成整个的住院就医流程. 对这种方式只对帐户及其帐户支出累计做写卡操作,其它数据以中心的为准. 二、用户接口函数 本系统提供给医院的是一个动态库接口,无用户界面,输入输出均通过DLL完成。 程序文件名:SiInterface.dll 对外提供的接口函数: n 初始化函数: int INIT(char * pErrMsg) 功能描述: 检查整个运行环境:包括网络环境、运行所需文件、参数等的检查 返回值: 成功:返回0 ; 失败:返回 -1 n 交易函数: int BUSINESS_HANDLE( char* inputData, char* outputData
6、) 输入参数:inputData 输出参数:outputData char* 返回值: 成功 =0 失败 <0 输入参数是以“^、$、|”分割的字符串 输出也是以“^、$、|”分割的字符串 参数说明: 入参格式: inputData 业务编号^医疗机构编号^操作员编号^业务周期号^医院交易流水号^中心编码^入参^联机标志^动态库参数^ 业务编号(4位) 宏定义, 分别对应后台的一项业务操作 医院编号(8位) 操作员编号(8位) 医院分配给操作员的唯一标识 业务周期号(最大34位) 签到时的返回的业务周期号 医院交易流水号(发送
7、方交易流水号)(最大30位) 建议规则:时间(14)+医院编号(8)+流水号(4) 例:20060101083030-10011001-0001 中心编码 固定为0000 入参 以“|”分隔,详见每个交易的参数表, 分项之间使用管道分割符‘|’分割,最后必须要以管道分割符号‘|’结尾,不以‘|’开始。如果入参为多条记录,记录之间以‘$’分割,不同数据项之间以‘|’分割 联机标志 0:脱机 1:联机。 注意:在做读卡和门诊挂号这两个交易时,联机标识必须传1。 动态库入参 签到交易为:客户端MAC地址|用户数目| 其他交易为:客户端MAC地址| 出参格式: outp
8、utData char* 中心交易流水号^业务周期号^输出参数^联机标志^ 中心交易流水号 中心交易流水号(最大30位)中心返回 业务周期号 中心根据操作员和中心时间,生成业务周期号 输出参数 (该参数为输出参数,客户程序必须在调用本函数之前分配足够长 的空间,其最小值为1024字节,如果未给本参数分配空间或分配的空间长度小于实际返回的长度,客户程序将会出现内存保护错误),最后以管道分割符号’|’结尾。 联机标志 在读卡和门诊挂号时,从动态库的返回参数中取该笔业务是联机还是脱机交易,HIS需要保存,后续的明细录入和结算交易时,需要传入该标识。 返回值说明 : 0
9、 – 成功,表示此次交易请求成功,业务处理也正常 < 0 - 错误,包括系统级别错误(网络、主机、数据库)和业务级别错误,系统级别错误由动态库将错误信息写入输出参数,业务级别错误由后台通过输出参数提示错误信息。 错误输出机制说明 : Web应用返回给动态库的返回参数格式为:中心交易流水号^业务周期号^输出参数^交易相应码^,动态库接收到返回参数后,根据交易相应码判断交易处理成功及否,交易处理成功,则动态库返回值为0,否则,将交易相应码转换为小于0的返回值。动态库返回给开发商的出参,去掉交易相应码 交易流水号说明: 规则:时间(14)+医院编号(8)+流水号(4),之间用-
10、分隔 例:20060101083030-10011001-0001 业务周期号说明: 说明:医院编号(8)+操作员编号(最大8位)+时间(14)+流水号(4),之间用-分隔 例:10011001-99999999-20060101083030-0001 注:4位流水号可以循环使用 交易编码说明: 交易编码为四位编码,第一位标志交易性质,后面三位表示流水号 序号 交易码 功能简介 交易性质 1 1 1 1 0 医疗费用信息汇总 查询 2 1 2 1 0 明细对帐请求 查询 3 1 1 0 0 医疗费用信息查询 查询 4 1 2
11、 0 0 费用明细信息查询 查询 5 1 3 0 0 信息批量下载 查询 6 1 4 0 0 参保人员基本信息及其医保个人帐户查询 查询 7 1 5 0 0 医疗待遇封锁信息查询 查询 8 1 6 0 0 个人审批信息 查询 9 9 1 0 0 签到 认证交易 10 9 1 1 0 签退 认证交易 11 2 1 0 0 读卡 主体交易 12 2 1 1 0 修改卡密码 主体交易 13 2 1 2 0 校验卡密码 动态库交易 14 2 2 1 0 门诊
12、/住院登记 主体交易 15 2 2 3 0 登记(挂号)信息修改 主体交易 16 2 2 4 0 登记(挂号)撤销 主体交易 17 2 3 1 0 费用明细上报 主体交易 18 2 3 2 0 费用明细撤销 主体交易 19 2 4 1 0 结算 主体交易 20 2 4 2 0 预结算 主体交易 21 2 4 3 0 结算撤销/取消报销 主体交易 22 2 6 1 0 药店收费预结算 主体交易 23 2 6 2 0 药店收费结算 主体交易 24 2
13、5 1 0 中心报销保存处方 主体交易 25 3 1 1 0 医院审批信息上报 申报业务 26 3 1 2 0 医院审批信息上报撤销 申报业务 27 3 1 3 0 个人参加险种信息 查询 28 4 3 0 0 结算信息冲正 主体交易 29 4 5 0 0 查询系统时间 查询 30 5 1 0 0 将卡中密码存入数据库 主体交易 31 5 1 1 0 从数据库获取卡密码 查询 32 6 1 0 0 医疗类别变更 主体交易 33 5 2 0 0 医院端卡封锁 主体
14、交易 三、 接口交易设计 1、查询类 A、交易功能 该交易主要完成诸如中心药品目录、诊疗项目目录、服务设施目录、病种目录等的查询及下载,同时还包括个人基本信息及帐户信息、封锁信息等的查询业务。对于中心药品目录、诊疗项目目录、服务设施目录、病种目录等的查询交易,下载时提供以TAB分隔的TXT文件。 B、交易设计 1)、批量数据查询下载 交易说明:批量下载中心目录等基础数据,然后对中心的药品目录和诊疗项目目录在his系统进行对照,上传处方时,根据对照结果,同时上传医院编码名称和中心编码。 项目编码 项目名称 说明 01 药品目录 02 诊疗项目信息 03 费
15、用类别信息 04 病种信息 05 项目和一次性材料对应关系 此交易为了HIS对项目及一次性材料的控制。 输入参数: 编号 名称 长度 约束 说明 1 项目编码 VARCHAR2(3) NOT NULL 确定需要下载信息的种类 2 开始日期 VARCHAR2(14) NOT NULL YYYYMMDDHH24MISS 开始时间之后维护和发生变化的时间. 输出参数: 编号 名称 长度 约束 说明 1 文件路径及文件名称 VARCHAR2(200) 参见配置信息 说明:下载文件的路径为:当前文件绝对路径\YBDLOAD\文
16、件名.txt;文件名的命名规则为: 01:YPML_下载数据开始日期; 02:ZLXM_下载数据开始日期; 03:SFXMBM_下载数据开始日期; 04:BZXX_下载数据开始日期; 05:XMDYGX_下载数据开始日期; 2)、医疗费信息汇总 说明:该请求返回医疗费总额和各项费用合计,HIS系统中要进行对帐,先医疗费信息汇总请求,当返回的费用合计及HIS系统中不符时,才有必要发送医疗费用信息查询交易。 输入参数: 编号 名称 长度 约束 说明 1 业务周期号 VARCHAR2(36) NOT NULL 2 his医疗费总额 VARCHAR2(10)
17、 NOT NULL 含两位小数 3 His帐户支付合计 VARCHAR2(10) 含两位小数 4 His现金支付合计 VARCHAR2(10) 含两位小数 5 His统筹基金支付合计 VARCHAR2(10) 含两位小数 6 His救助金支付合计 VARCHAR2(10) 含两位小数 7 His公务员补助合计 VARCHAR2(10) 含两位小数 8 His建国前老工人基金合计 VARCHAR2(10) 含两位小数 输出参数: 编号 名称 长度 约束 说明 1 医疗费总额 VARCHAR2(10)
18、 含两位小数 2 帐户支付合计 VARCHAR2(10) 含两位小数 3 现金支付合计 VARCHAR2(10) 含两位小数 4 统筹基金支付合计 VARCHAR2(10) 含两位小数 5 救助金支付合计 VARCHAR2(10) 含两位小数 6 公务员补助合计 VARCHAR2(10) 含两位小数 7 建国前老工人基金合计 VARCHAR2(10) 含两位小数 8 对帐标志 VARCHAR2(10) 0 :HIS及中心基金相同 1 :HIS及中心基金不同 3)、明细对帐请求 输入参数: 编号
19、名称 长度 约束 说明 1 住院号 VARCHAR2(18) NOT NULL 输出参数: 编号 名称 长度 约束 说明 1 费用总额 VARCHAR2 (10) NOT NULL 含两位小数 2 自理费用总额 VARCHAR2(10) 含两位小数 3 自费费用总额 VARCHAR2(10) 含两位小数 4)、医疗费信息查询 说明:当汇总医疗费用信息查询结果及HIS不同时,发起该交易,由HIS提供程序进行对帐。 下载文件的路径为:当前文件绝对路径\YBDLOAD\ YLFY_下载数据开始日期.txt 输入参数: 编号
20、 名称 长度 约束 说明 1 开始时间 VARCHAR2(14) NOT NULL YYYYMMDDHH24MISS 2 终止时间 VARCHAR2(14) NOT NULL YYYYMMDDHH24MISS 输出参数: 编号 名称 长度 约束 说明 1 文件路径及文件名称 VARCHAR2(200) 参见配置信息 5)、医疗费用明细信息查询 当明细对帐结果及HIS不同时,发起该交易,由HIS提供程序进行对帐。 下载文件的路径为:当前文件绝对路径\YBDLOAD\ FYMX_住院流水号.txt。 输入参数: 编号 名称
21、 长度 约束 说明 1 住院(门诊)流水号 VARCHAR2(18) NOT NULL 输出参数: 编号 名称 长度 约束 说明 1 文件路径及文件名称 VARCHAR2(200) 参见配置信息 6)、医疗待遇封锁信息查询 输入参数: 编号 名称 长度 约束 说明 1 单位编号 VARCHAR2(14) NOT NULL 2 个人编号 VARCHAR2(14) NOT NULL 3 个人卡号 VARCHAR2(20) 4 医疗类别 VARCHAR2(3) NOT NULL 5 判断
22、时间 VARCHAR2(8) NOT NULL 判断有效期,YYYYMMDD 输出参数: 编号 说明 类型 备注 说明 1 封锁信息 VARCHAR2(100) 多个封锁信息用‘$’分割, 数据项目用‘|’。 封锁类别|封锁原因|基金类别|$ 注: 封锁类别:0表示没有封锁, 1表示全封锁, 2表示部分封锁, 3表示卡封锁。 在录入信息前进行封锁控制,避免录入挂号信息后再提示封锁。 7)、个人审批信息 输入参数: 编号 名称 长度 约束 说明 1 个人编号 VARCHAR2(14) NOT NULL 2
23、开始时间 VARCHAR2(14) NOT NULL YYYYMMDDHH24MISS 输出参数: 编号 名称 长度 约束 说明 1 审批信息 VARCHAR2(200) 多个审批信息用‘$’分割, 数据项目用‘|’。 审批类别|审批编号|$ 8) 、个人参加险种信息 输入参数: 编号 名称 长度 约束 说明 1 个人编号 VARCHAR2(14) NOT NULL 2 开始时间 VARCHAR2(14) NOT NULL YYYYMMDDHH24MISS 输出参数: 编号 名称 长度 约束 说明 1 险
24、种信息 VARCHAR2(200) 多个险种用‘$’分割, 多个数据项目用‘|’。 险种|$ 9)、查询系统时间 输入参数: 无。 输出参数: 编号 名称 长度 约束 说明 1 系统时间 VARCHAR2(14) YYYYMMDDHH24MISS 10)、将卡中密码存入数据库 输入参数: 编号 名称 长度 约束 说明 1 卡密码 VARCHAR2(20) 密文 输出参数: 无 11)、从数据库获取卡密码 输入参数:无 输出参数: 编号 名称 长度 约束 说明 1 卡密码 VARCHAR2(20
25、) 密文形式返回。如果没有取到,返回A 12)、医疗类别变更 输入参数: 编号 名称 长度 约束 说明 1 原发送方交易流水号 VARCHAR2(30) NOT NULL 2 门诊/住院流水号 VARCHAR2(30) NOT NULL 3 原医疗类别 VARCHAR2(3) NOT NULL 4 新医疗类别 VARCHAR2(3) NOT NULL 说明:原医疗类别只能为普通门诊、药店购药、未定住院. 对原医疗类别为普通门诊、药店购药,可以选择新医疗类别为门诊慢性病,门诊特殊病,门诊特定项目。 输出参数:无 2、 认证
26、类 A、交易功能 签入签出是为了验证客户端为合法的用户,一台客户端可以正常进行交易处理,必须要签入,不签入不允许交易。 为了满足联机方案下合理控制客户端的用户数,在签入时由动态库向医保接口的数据库里插入机器的物理MAC地址和用户数目做为交易的入参,并检索该医院的物理地址数量是否超过限制数量;在签出时由动态库更新该表内的该医院连接信息。 说明:认证交易开发商直接调用,不需要传入入参。动态库获取客户端的MAC地址和授权用户数目后做为入参传给接口。 B、交易设计 1)、签到 输入参数:无 输出参数: 编号 名称 长度 约束 说明 1 业务周期号 VARCHAR2(36
27、) NOT NULL 2)、签退 输入参数:无 输出参数:无 3、交易功能 该类交易主要完成参保患者挂号登记、处方上报、结算及撤销结算等的各项业务处理。 在有关事务提交方面,不管是联机情况还是脱机方案,都是由医保接口自动控制事务,而不是由客户端控制事务。如果客户端需要取消事务,则可以发起撤销交易请求。 4、动态库交易类 A、交易功能 该类交易主要完成接口部分只向动态库公开,不向开发商公开的交易。交易卡密码的输入参数为动态库截取后传给后台。 B、交易设计 开发商调用所有需要动态库读卡的交易时,动态库先调用校验卡密码的交易,校验成功再调用正常的业务。 输入参数: 编号 说明 类型 约束 备注 1 密码 VARCHAR2(20) 输出参数:无 四、故障处理说明: 本系统采用的基本错误处理方法和原则:统一采用C++ try-catch错误方法,所有错误最终必须以界面形式向用户说明。用一览表方式说明各类可能的错误或故障出现时系统的处理方法和补救措施。 - 21 - / 21






