医院信息系统医保接口系统手册.docx

上传人:b****3 文档编号:12665695 上传时间:2023-04-21 格式:DOCX 页数:43 大小:287.97KB
下载 相关 举报
医院信息系统医保接口系统手册.docx_第1页
第1页 / 共43页
医院信息系统医保接口系统手册.docx_第2页
第2页 / 共43页
医院信息系统医保接口系统手册.docx_第3页
第3页 / 共43页
医院信息系统医保接口系统手册.docx_第4页
第4页 / 共43页
医院信息系统医保接口系统手册.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

医院信息系统医保接口系统手册.docx

《医院信息系统医保接口系统手册.docx》由会员分享,可在线阅读,更多相关《医院信息系统医保接口系统手册.docx(43页珍藏版)》请在冰豆网上搜索。

医院信息系统医保接口系统手册.docx

医院信息系统医保接口系统手册

临沂市定点医疗机构信息系统

医保接口使用说明

(V1.1)

 

沈阳东软软件股份有限公司

2007年10月

 

1目的

为了更好的落实国家医疗保险政策,加快临沂市医疗保险工作建设,临沂市社会保险中心和各医院建立统一的医疗和保险体系网络,为了使各家医院(或定点药店,下简称医院)和全市参保人员的医疗数据能及时、准确的汇总到社会保险中心,考虑到对算法的准确性、可控性、可维护性以及安全性等多方面的原因,在对各医院原有系统的改造过程中,我们决定采用在原医院HIS系统中加入统一的算法动态链接库的办法来解决。

为实现金穗社保IC卡项目系统优化,纠正受诸多因素影响所产生的程序执行偏离度;梳理银行、社保和定点医院三方数据信息响应的一致性;整合账务核算、清算流程,使系统更加完善。

确保系统的平稳运行,进一步提高社会信誉度和服务质量、维护参保人利益,并在原交易流程基本框架基础上,制定本交易渠道改造实施方案。

注:

黄色填充字体为改造部分;

 

为了配合此次改造,文档修改设计面较广而且细,特别是数据格式控制等方面需求将有所增减,由此给各位开发商造成的不便表示歉意!

 

2方案的介绍

2.1平台

1DLL适合于Windows98及以上平台的HIS系统

2采用BEA的Weblogic交易中间件

3临沂社会保险系统采用C/S/S结构。

2.2目前现状

1、采用网络协议或数据库自带的协议进行数据的直接传输。

缺点:

不能够完全保证交易的完整性,存在万分之一的数据丢失或数据错误的可能。

2、大量的数据直接Client/Server传送。

缺点:

安全性差(非法客户端可能直接闯入数据库中修改数据)。

网络容易阻塞,在业务高峰期容易造成网络流量暴增,进而造成网络阻塞数据无法传输或客户端长时间等待。

3、如果业务规则发生变化,需要随时更新Client端程序,维护使用不方便。

4、每一个Client端都要直接连到数据库服务器。

缺点:

服务器需要为每个Client端建立连接,而且不管是客户端是否在用,都要保持连接,因而消耗大量本来就紧张的服务器资源。

5、解决3方对帐不平问题。

2.3解决方案

 

2.4方案图解

3

系统特点

由于我们是在以上平台的基础上开发这个算法动态链接库,因此我们的动态链接库有以下几个显著的特点:

1、大用户量与实时性

数据通过高速数据通道进行传输,速度快,交易服务中与数据库无关的逻辑处理任务由中间件完成,减少数据库系统的负载。

2、保证交易完整性

交易数据完整性由动态链接库完成。

由于采用XA协议,所以异地或异构数据的事务完整性操作同样可以得到保证。

同时,我们采用人工应答的方式,在保证交易完整性的基础上,使得医院和医保中心的对帐准确、快速。

3、3、具有多服务进程、负载平衡和故障恢复的特点。

4、数据依赖路由,不同的数据经由不同的数据传输通道,保证数据的高速传输。

5、为减少数据传输量和保证数据安全,数据在传输过程中采用压缩和加密技术。

6、采用并行数据通道传输数据,同时具有容错和数据恢复能力。

7、同时具有一般动态库的灵活性、易维护性等特点。

4信息系统接口改造

4.1准备工作

●首先医院需要根据医疗保险政策的需要,按照我们所提供的医疗保险的接口改造医院现有的HIS系统,使新的HIS系统能够适应医保的需要。

●医院需要根据医保中心提供的四个基本目录,病种信息、药品信息、诊疗项目信息和服务设施信息建立与医院内码相对应的病种编码、药品编码、诊疗编码和服务设施信息编码的对应信息。

●对于那些无法找到对应关系的收费项目信息,医院按照医保中心费用分类编码,维护和更新收费项目信息。

4.2开发商提供的应用

维护四个对照表,每个都是一对多的关系.也就是在原有的表中加入医保对应编码。

●病种信息对照表(所有的病种必须对照)

●药品信息对照表(西药和中成药采用准入法,草药为排除法)

●诊疗项目对照表(采用准入法)

●服务设施对照表(采用准入法)

●没有对应关系的收费项目信息,按照医保中心的费用分类办法修改收费项目信息

4.3医院信息系统改造实施详细说明(注:

改造部分黄色标识)

4.3.1门诊部分

1、挂号

挂号系统中加入“读卡”按钮,实现从CPU卡中读取参保就诊病人的基本信息和参保信息,然后将病人信息显示在HIS系统界面上。

在挂号完成之前:

挂号信息写到本地的数据库中之前,如果是参保病人,那么在动态链接库的输入串中,写入挂号交易的交易类别码和相关信息的组合串,(注意:

输出参数要分配足够得内存,以备传回来的数据保存)动态库会把挂号信息写入医保前置机,最后发起应答,修改交易日志,医保交易完成。

挂号交易的流程图如下:

挂号交易流程(注:

tuxdeo改为weblogic)

挂号时:

1.挂号的交易码按不同的就诊类别分别使用,医保病人挂号的交易类别代码是33102

2.医保挂号是参保对象到定点医疗机构就诊时的身份确认和信息登记,是必须有的;挂号时若产生了挂号费、诊疗费等费用请在门诊收费模块进行收费。

退号时:

1.退号交易的流程和挂号的处理流程是相同的。

在系统中,退号是挂号的反过程。

2.调用反交易退号时,应该取得医保系统返回的挂号的交易流水号,各个医院或实施点可根据具体情况记录交易的流水号,已备反交易使用。

3.退号不再产生weblogic医保交易流水号。

2、门诊划价

需要把门诊的明细信息写入并提交给医保接口数据表“费用明细记录表”,具体的费用信息由对照表产生:

系统通过输入的药品编码(或者是诊疗项目编码),根据对照表中的自负比例和医保政策计算产生相应的处方明细信息。

划价流程如下:

3、门诊收款(结算)(已改,详见附录一说明,改造重点)

医保病人结算需要先进行“读卡”操作,并根据先前挂号时产生的挂号信息中查出保险人员的划价信息。

然后在相应的程序中将没有结算的处方信息全部写入医保前置机中。

写入处方结束后,进行收集数据,生成医保结算信息,结算后定时的将该笔结算信息传递给社保中心。

如果医保交易成功,则调用农行卡消费接口,扣除卡中账户金,如果扣除成功,则生成农行交易流水号,然后完成HIS收费结算的其他操作,并保存医保流水号和农行交易流水号;如果医保交易失败,则此次HIS系统收费结算失败,需要将刚才已提交的数据人工的回退到结算前的状态,需要退还卡中的金额(即做冲正处理)。

(注意,在门诊结算时,必须将消费处方信息上传到医保中心,即调用33105操作)

门诊收费的流程图如下所示:

(流程更改,请参照附录一中IC卡消费流程)

4、门诊收费反交易(已改,详见附录一说明,改造重点)

完成医保结算后,如果发现结算有错误,可进行如下操作:

利用医院各自存储的根据住院流水号和发票号,取得医保交易号和农行交易流水号,其中医保交易流水号和卡号进行组串,把相关的结算数据和已经传上去的数据进行反交易;同时,利用农行交易流水号,调用农行反交易函数进行反交易。

取消以前的结算数据,以便重新进行交易。

反交易的流程和收费交易流程相同。

4.3.2住院部分

1、入院登记

当参保患者需要住院时,首先“读卡”得到参保人的基本信息和帐户信息等,然后,则调用动态库“入院登记交易服务”把保险人住院信息定时的传递到社保中心,从而更新数据,这样在社保中心的数据就是和事实相符的。

住院登记流程如下:

(注:

tuxdeo改为weblogic)

2、医嘱录入

因为在前置机计算的时候,需要到医院接口表中汇总和计算相关数据,所以涉及到的药品、诊疗、服务设施等明细信息需要录入到医院接口表中。

只有这样,前置机上的服务才有可能根据这些详细的每个病人的数据计算出我们所需要的汇总信息,由此我们完成了数据收集的任务。

这个服务中的单据号是一个临时单据号,用而且必须用住院流水号代替。

3、诊疗医嘱录入

诊疗医嘱录入的处理同药品医嘱。

同样的把这些项目的医院代码,社保中心代码,等级、价格、数量等录入的医院接口表中

4、住院退费

住院退费可以是单条明细的冲正,也可以是负处方。

单条明细的冲正交易,是将该条明细包括单价、数量、金额全部作废。

5、结算

住院结算的原理和门诊结算是一样的,系统首先汇总参保对象该次住院的费用明细,然后根据医保相关政策和算法计算出相关的结算信息。

6、结算召回

住院结算完成后,如果发现结算有误,可将结算如回,将先前的住院结算单作废,利用反交易类型,对前面的住院结算进行冲正。

在医院接口表有相关的发生费用的交易的每一次的交易流水号。

对于CPU卡结算召回时必须读卡,以便与结算时的卡片信息对照;结算召回后必须写卡,将卡中的医保累计信息写回。

7、无费退院

不能算是一次住院,也就是说起付线不变。

所以应该调用住院登记的反交易,同样取得交易流水号,然后发起交易就可以了,可以说是社保中心的取消住院。

无费退院将不再产生交易流水号。

对于CPU卡无费退院必须写卡,将住院登记置的住院状态置回为不在院。

8、参保患者住院费用查询

可以在任何时候调用“医保病人预结算”计算在院人员的费用信息,除了门诊结算,因为门诊病人,在结算之后,再去查询预结算信息将毫无意义。

预结算操作,基本上可以说,预结算与结算是相同的,不过能预结算没有正式的发票号,只是用住院流水号代替而已。

5动态链接库()

5.1交易编码说明

5.1.1交易码

1、交易码总长度是5位

2、第一位是交易类型:

3交易

6查询

9认证

3、第二位和第三位是业务类型:

01公共业务

11养老业务

21失业业务

31医疗业务

41工伤业务

51生育业务

4、第四位和第五位是服务代码,范围从01-99

1

2

3

4

5

功能简介

交易性质

备注

3

3

1

0

1

医疗登记(住院登记)

交易

3

3

1

0

2

医疗登记(门诊挂号)

交易

3

3

1

0

3

医疗结算(住院结算)

交易

3

3

1

0

4

医疗结算(门诊结算)

交易

3

3

1

0

5

费用明细录入

交易

3

3

1

0

6

反交易

交易

3

3

1

0

7

费用明细批量删除

交易

3

3

1

0

8

住院结算反交易

交易

3

3

1

0

9

门诊结算反交易

交易

6

3

1

0

3

预结算

查询

6

3

1

0

4

查询医疗参保人员基本信息

查询

6

3

1

0

5

查询医疗参保人员帐户信息

查询

6

3

1

0

6

对帐(废弃)

查询

6

3

1

0

7

特殊项目审批信息查询

查询

5.2对帐表(保留该接口,但对帐模式改变,见附录一,改造重点)

查询医院前置机中表(TRADE_LOG):

名称

代码

类型

P

M

交易流水号

TRADE_CODE

CHAR(26)

Yes

Yes

被冲正交易流水号

RETRADE_CODE

CHAR(33)

No

No

交易状态

TRADE_STATUS

CHAR

(2)

No

No

说明:

TRADE_STATUS:

1医保中心交易处理成功

2医院人工应答成功

3已冲正

医院在处理完成交易以后,需要人工应答确认交易处理已经完成,初始状态没有记录数据,所以也就不存在什么状态之说,当数据从中心机回到前置机的时候,相关的服务会把返回结果写到TRADE_LOG中。

此时:

如果状态为1,则说明医保中心已经交易处理完成并成功提交数据库,但医院方还没有完成应答,如果对帐过程中交易日志中有此中状态,可发起冲正交易,将医保中心交易作废,也可以补发应答信息,确认。

如果状态是2,则说明医院和医保中心都已经完成交易处理,可作为结算依据。

5.3编码说明及其他注意事项

药品等级:

1-甲类、2-乙类、3-丙类

医院等级 1、一级 2、二级 3、三级

收费编码:

编码

名称

备注

01

护理、诊疗费

诊疗

02

化验费

诊疗

03

检查、放射费

诊疗

04

治疗费

诊疗

05

手术费

诊疗

06

材料费

诊疗

07

其它

诊疗

08

麻醉

诊疗

11

西药费

药品

12

中药费

药品

13

中草药费

药品

34

床位费

服务设施

36

特殊材料费

服务设施

注意:

因银行开发商的原因,凡是从卡中读出的personaccount串和结算(预结算)输出串中写卡部分的金额均是以分为单位的,例如3043则代表30.43元,在文档的具体部分会有详细注解,其他地方正常,请医院开发商在读出personaccount串和结算(预结算)输出串时注意处理。

5.4交易函数接口(SiInterface.dll)

5.4.1查询读卡函数

Synatax:

intReadCard(IntReadType,char*DataBuffer)

Description:

DataBuffer必须分配1024字节的空间或者更大。

Returnvalue:

0:

正确执行;

-1:

运行出错;

5.4.1.1读持卡人基本信息

ReadType=1

OUTPUTDATA:

1

公民身份证号

Varchar2(18)

2

姓名

Varchar2(20)

3

性别

Varchar2(3)1:

男2:

4

民族

Varchar2(3)

5

IC卡号

Varchar2(10)

6

出生日期

格式:

yyyymmdd

7

单位编码

Varchar2(14)

8

个人社保编号

Varchar2(18)

9

医疗人员类别

11在职12在职长期驻外

21退休22退休异地安置

31离休32离休异地安置

33二等乙级以上革命伤残军人

34二等乙级以上革命伤残军人异地安置

91其它

10

修改日期

格式:

yyyymmdd

11

其它1

临沂改为:

门诊慢性病补助证号varchar2(15)

12

其它2

临沂改为:

门诊慢性病发证日期yyyymmdd

13

其它3

14

在院状态

0:

出院1:

在院

5.4.1.2读个人账户累计信息Personaccout串

ReadType=2

1

个人编号

2

单位编号

3

医疗人员类别

11在职12在职长期驻外

21退休22退休异地安置

31离休32离休异地安置

33二等乙级以上革命伤残军人

34二等乙级以上革命伤残军人异地安置

91其它

4

统筹支出累计

若从卡中读出,则以分为单位

5

救助金支出累计

若从卡中读出,则以分为单位

6

账户余额

若从卡中读出,则以分为单位

7

转出医院起付标准

若从卡中读出,则以分为单位

临沂暂时未用

8

转出医院起付标准自付

若从卡中读出,则以分为单位

临沂暂时未用

9

本年度住院次数

10

账户支出累计

若从卡中读出,则以分为单位

11

门诊大病统筹支出累计

若从卡中读出,则以分为单位

临沂暂时未用

12

门诊慢性病统筹支出累计

若从卡中读出,则以分为单位

13

个人现金支出累计

若从卡中读出,则以分为单位

14

乙类自理费用累计

若从卡中读出,则以分为单位

15

公务员补助支出累计

若从卡中读出,则以分为单位

16

个人自费费用累计

若从卡中读出,则以分为单位

17

进入统筹费用累计

若从卡中读出,则以分为单位

18

第一次住院医院等级

19

第一次住院起付标准自付

若从卡中读出,则以分为单位

20

第二次住院医院等级

21

第二次住院起付标准自付

若从卡中读出,则以分为单位

22

三次以上住院起付标准自付累计

若从卡中读出,则以分为单位

23

门诊慢性病起付标准自付累计

若从卡中读出,则以分为单位

现在帐号信息从中心读取,不是从卡中读,所以改为元为单位,对此表示歉意!

5.4.1.3查找最后一笔未应答的交易(该接口废弃,已经不提供)

INPUTDATA:

完成

1

住院(门诊)流水号

Varchar2(18)

2

医院编号

Varchar2(18)

OUTPUTDATA:

1

OUTPUTDATA如果大于等于0成功,否则失败

长度:

6

类型:

stirng

2

交易流水号

函数说明:

FUNCTIONIntHIS_FINDLAST(constchar*inputdata,char*outputdata)library"SiInterface.dll"

Synatax:

intHIS_FINDLAST(constchar*inputData,

char*outputDat)

Description:

响应来自于HIS的查询请求,包括对帐查询,返回这个病人的最后一条错误交易的交易流水号(如果经过查询

Returnvalue:

0:

正确执行;

-1:

运行出错;

ArgumentDescription:

INPUT:

inputData输入数据char*IN

OUTPUT:

outputData输出结果char*OUT

例如:

strcpy(inputData,”zy0000000001|100023|”

outputData=malloc(100);

ret=HIS_FINDLAST(inputData,outputData)

if(ret!

=0)

{

printf(“%s”,”动态库执行不成功,可能是网络不通或者相关变量设置不正确”);

return;

}

strncpy(appcChar,outputData,6);

appcode=atoi(appChar);

if(appcode!

=0)/*取得前置机上标志位*/

{

printf(“%s”,outputData);

return;

}

5.4.1.5系统对帐(63106交易废弃,对帐模式改变,见附录一)

INPUTDATA:

交易类别代码63106

1

交易类别代码

63106

2

开始时间

YYYYMMDD

3

结束时间

YYYYMMDD

4

医院编号

Varchar2(5)

OUTPUTDATA:

1

OUTPUTDATA如果大于等于0成功,否则失败

2

交易总条数

不包括冲正交易笔数

3

交易总金额

函数说明:

FUNCTIONIntQUERY_HANDLE(constchar*inputdata,char*outputdata)library"SiInterface.dll"

Synatax:

IntQUERY_HANDLE(constchar*inputData,

char*outputDat)

Description:

响应来自于HIS的查询请求,进行对帐查询,返回时间段内的交易总笔数和总金额Returnvalue:

0:

正确执行;

-1:

运行出错;

ArgumentDescription:

INPUT:

inputData输入数据char*IN

OUTPUT:

outputData输出结果char*OUT

例如:

strcpy(inputData,”63106|200209061524|200209071524|100023|”

/*inputData=交易类别代码+开始时间+结束时间+医院编号*/

outputData=malloc(1024);

ret=QUERY_HANDLE(inputData,outputData)

if(ret!

=0)

{

printf(“%s”,”动态库执行不成功,可能是网络不通或者相关变量设置不正确”);

return;

}

strncpy(appcChar,outputData,6);

appcode=atoi(appChar);/*取得前置机上标志位*/

if(appcode!

=0)

{

printf(“%s”,outputData);

return;

}

5.4.1.6特殊项目审批查询

交易类别代码:

63107

INPUTDATA:

编号

描述

格式与约束

备注

1

交易类别代码

63107

Notnull

2

医院编号

Notnull

3

住院流水号

Notnull

4

项目编码(医保)

Varchar2(20)

Notnull

5

处方日期

YYYYMMDD

Notnull

6

审批类别

5:

特药审批

6:

特殊诊疗项目审批

Notnull

OUTPUTDATA:

1

OUTPUTDATA如果大于等于0成功,否则失败(数据库错误或者没有找到有效的审批信息)

2

审批编码(00000代表未审批通过)

3

开始时间

4

终止时间

若为空,表示终止时间不限制

5

医保意见

5.4.2交易

//---交易部分

FUNCTIONintBUSINESS_HANDLE(stringinputData,refstringoutputData)library"SiInterface.dll"

Synatax:

intBUSINESS_HANDLE(constchar*inputData,

char*outputDat)

Description:

响应来自于HIS的查询请求,进行相关医疗业务处理

Returnvalue:

0:

正确执行;

-1:

运行出错;(出错的原因有可能是网络、硬件、oracle后台执行错误等)

ArgumentDescription:

INPUT:

inputData输入数据char*IN

OUTPUT:

outputData输出结果char*OUT

注意:

由于大部分写卡操作现已废弃,写卡操作仅为调用农行卡消费函数和置卡在院状态位,而写卡消费函数现由HIS开发商自行调用。

当执行住院登记、写结算信息或反结算,以及反交易中的反登记冲正,结算冲正操作时,将进行在院状态更改,在执行上述操作时,如出现写卡不成功时,则outputData第一个参数会输出-1,其余参数仍然正确输出,请开发商注意将输出串outputData的交易流水号取出,或者记录HIS数据库的单据号,以便进行数据库结算冲正(仅仅是数据库的冲正,不进行写卡)。

调用农行接口函数时,PB入参一定要分配足够的空间。

5.4.2.1挂号、入院登记交易

交易类别代码:

医保住院(含门诊慢性病)登记:

33101医保门诊挂号:

33102

INPUTDATA:

编号

描述

约束/备注

1

交易类别代码

Notnull

2

个人及帐户信息(从I

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1