最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx

上传人:b****5 文档编号:4828727 上传时间:2022-12-10 格式:DOCX 页数:24 大小:88.77KB
下载 相关 举报
最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx_第1页
第1页 / 共24页
最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx_第2页
第2页 / 共24页
最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx_第3页
第3页 / 共24页
最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx_第4页
第4页 / 共24页
最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx

《最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx》由会员分享,可在线阅读,更多相关《最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx(24页珍藏版)》请在冰豆网上搜索。

最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料.docx

最新山西省新型农村合作医疗信息系统与医院信息管理系统接口标准资料

山西省新型农村合作医疗信息系统

与医院信息管理系统接口标准

 

方案介绍

方案图解

医院HIS系统通过我们提供的dll调用函数与农合数据库进行交互。

全部文件包括一个dll动态链接库和一个ini配置文件。

运行环境

1.windows操作系统

2.能连接到农合专用网络

3.如果需要通过代理服务器的话,目前只支持http代理

医院系统需要做的改造工作

1.首先医院需要根据新农合政策的需要,按照我们所提供的接口DLL改造医院的HIS系统,使其HIS系统能够适应新农合的需要。

2.医院需要根据农合中心提供的基本目录,包括病种信息、药品信息、诊疗项目信息、费用类别信息建立与医院内码对应的对照信息。

3.无法对应的目录信息,可以直接上传医院的中文名称。

4.HIS系统启动的时候调用dll的initNhDll()函数初始化DLL,系统关闭的时候调用closeNhDll()关闭DLL。

初始和关闭都只调用一次。

5.提供普通病人住院或门诊转农合的功能。

业务流程说明

入院登记

病人入院登记流程图

流程说明:

HIS系统首先输入病人医疗证号,调用接口程序提供的getNhMembers函数获取家庭成员信息,选择正确的农民开始入院登记,如果发现有误,重新输入医疗证号,重新查询。

入院录入结束后,调用doRegister上传入院登记到农合服务器。

入院登记上传到农合服务器之后,如果保存成功会返回一个入院登记编码(32位的字符串),需要保存起来,以后上传费用和出院结算的时候需要使用这个作为本次入院的唯一标记识别。

如果入院登记有误,可以调用unRegister函数撤销入院登记。

上传住院费用

上传住院费用流程图

流程说明:

病人费用信息录入之后调用函数impItem上传费用信息,上传成功会返回费用唯一编码(32位字符串),需要保存起来。

如果发现费用上传错误,可以调用函数removeItem删除费用信息。

病人出院结算

病人出院结算流程图

流程说明:

在入院登记之后随时都可以调用函数preExpense预结算,获取当天为止住院费用的报销信息。

病人在HIS处出院之后就可以调用函数leave上传出院信息,如果出院有误可以调用unleave撤销出院。

出院成功之后随时可以调用函数expense做正式结算。

正式结算之后还是随时调用getExpenseInfo获取报销信息。

预结算可以调用多次,但正式结算只能调用一次。

门诊登记及结算

门诊登记流程图

流程说明:

门诊登记是一次性将病人的门诊信息(包括费用明细)传上服务器。

调用函数getNhMembers获取家庭成员信息,选择病人进行登记,录入费用明细,最后调用regMz上传。

如果上传成功会返回门诊唯一编码(32位字符串),需要保存起来。

如果信息有误,可以调用removeMz作废此门诊。

门诊登记上传之后可以调用preExpense进行预结算,或者调用expense正式结算。

预结算可以调用多次,但正式结算只能调用一次。

配置说明

配置文件名必须为nhhis.ini,放在his程序所在目录。

样例:

[his]

code=141201---医院唯一编码,由我们提供

licence=141201000000540a0a1287701c286937---校验码,由我们提供

[server]

encode=gb2312---编码,根据his系统的编码定

servername=221.204.249.174---农合服务器

port=8080---农合服务器端口

app=/hisimp/imp---his接口名字,由我们提供

buffersize=10240---数据处理缓冲区大小(字节)

[proxy]

proxy=HTTP=HTTP:

//192.168.1.198:

808---代理服务器,不用代理的不要写

API说明

(一)通用参数说明:

a.DataBuffer说明:

DataBuffer为函数返回参数,Char*类型,如果函数执行成功,返回值多个参数,使用‘|’分割;如果执行失败,那么DataBuffer中含有错误详细信息。

所有返回的DataBuffer,都需要分配1024个字符以上的空间。

b.日期格式:

参数中的所有时间格式都是:

‘yyyy-mm-dd’

c.返回值

返回0都是成功,小于0都是失败

(二)公有函数说明:

函数列表

序号

函数名

代码

1

动态链接库初始化函数

initNhDll

2

动态链接库初始化函数2

initNhDll2

3

关闭动态链接库

closeNhDll

4

获取参合家庭成员信息

getNhMembers

5

住院登记

doRegister

6

撤销住院登记

unRegister

7

病人出院

leave

8

撤销出院

unleave

9

费用明细录入

impItem

10

删除费用明细

removeItem

11

结算

expense

12

预结算

preExpense

13

获取结算信息

getExpenseInfo

14

获取药品目录

getMedicine

15

获取药品目录生成文件

getMedicine2

16

获取诊疗项目目录

getClinicItem

17

获取诊疗项目目录生成文件

getClinicItem2

18

门诊登记

regMz

19

门诊作废

removeMz

20

修改住院登记信息

editRegister

 

i.动态链接库初始化函数

intinitNhDll()

参数:

返回:

0:

成功

小于0:

失败

注:

如果需要获取初始化的日志信息,可以传入char*参数。

ii.动态链接库初始化函数2

intinitNhDll2(char*hcode,char*encode,char*licence,char*servername,char*app,intport,intbuffersize);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

hcode

IN

医疗机构代码

N

16

2

encode

IN

His程序使用的字符编码,比如”gb2312”,”utf-8”,”gbk”

N

12

3

licence

IN

验证码

N

32

4

servername

IN

服务器,如:

221.204.249.174

N

32

5

app

IN

应用名,“/hisimp/imp”

N

32

6

port

IN

端口,8080

N

7

buffersize

IN

DLL内部使用的缓冲区大小,一般为10240

N

10240

返回:

0:

成功

小于0:

失败

iii.关闭动态链接库

intcloseNhDll()

参数:

返回:

0:

成功

小于0:

失败

iv.获取参合家庭成员信息

intgetNhMembers(char*ylzh,char*members)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

ylzh

IN

医疗证号

N

16

2

members

OUT

参合人员信息/错误信息

10240

说明:

成员的各个信息用|隔开,成员之间用||隔开。

返回的格式是[成员1编码|成员1姓名|成员1性别|成员1身份证号|成员1年龄|成员1地址|成员1出生日期|成员1医疗证号|成员1本年门诊补偿额|成员1本年住院补偿额||成员2编码|成员2姓名|成员2性别|成员2身份证号|成员2年龄|成员2地址|成员2出生日期|成员2医疗证号|成员2本年门诊补偿额|成员2本年住院补偿额]。

性别1是男,2是女。

如:

1013400|王巨双|1|140111111111111111|51岁|盂县北下庄乡北下庄村|1957-01-01|1403221001010074||1013401|付壮荷|2|140111111111111111|46岁|盂县北下庄乡北下庄村|1962-01-01|1403221001010074|0|0||1013402|王成东|1|140111111111111111|21岁|盂县北下庄乡北下庄村|1987-01-01|1403221001010074|0|0

注意:

家庭成员信息信息只能在本次作住院登记的时候使用,下次登记的时候要重新获取。

年龄如果是1岁以上,后面的单位是岁,如果不足一岁一个月以上的单位是月,如果不足一月的单位是天。

家庭成员信息根据需要可能以后还会增加到后面。

目前的程序一定要保证未来增加新信息的时候不影响使用。

返回:

0:

成功

小于0:

失败

v.住院登记

intdoRegister(char*zyh,inttimes,char*grbm,char*ryrq,char*jbbm,char*ksbm,intisjz,char*zybm)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

Zyh

IN

住院号

N

18

2

Times

IN

同一住院号的住院次数,一般为1

N

3

grbm

IN

个人编码,从家庭成员信息中获取

N

12

4

Ryrq

IN

入院日期,格式为yyyy-mm-dd

N

10

5

Jbbm

IN

疾病编码(ICD10),如果没有对照可以发中文名

N

20

6

Ksbm

IN

科室编码,可以直接传中文名

N

6

7

isjz

IN

是否急诊(0:

否,1:

是)

N

1

The鍦version柟Geng$the悊鐗╄祫2

TheYue呭熀鍦issuestheJiao鐢ㄦ潈zybm

OUT

住院登记唯一编码/错误信息

TheQi濈◣Luх墿

The鐗╄祫Fenrules祦Ma愯緭1024

返回:

0:

成功

The鎸佹湁Xi撳簱小于0:

失败

vi.

vii.TheJuan埆Bi勬湰撤销住院登记

intunRegister(char*zybm,char*err)

参数:

序号

参数

TheChenヤ笟Chenョ▼输入/输出

参数名

TheHeng笁鏂Gui墿Xian佸叕鍙?

是否可空

长度

The鍗曚竴閰嶉€?

XiFeng?

1

TheXid粯Luт笟鍔?

zybm

IN

住院登记唯一编码

N

32

2

err

OUT

错误信息

1024

返回:

0:

成功

小于0:

失败

viii.病人出院

intleave(char*zybm,char*cyrq,char*jbbm,char*err)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

zybm

IN

住院登记唯一编码

N

32

2

Cyrq

IN

出院日期

N

10

3

Jbbm

IN

出院诊断疾病编码(ICD10),如果没有对照可以发中文名

N

20

4

err

OUT

错误信息

1024

返回:

0:

成功

小于0:

失败

ix.撤销出院

intunleave(char*zybm,char*err)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

zybm

IN

住院登记唯一编码

N

32

2

err

OUT

错误信息

1024

返回:

0:

成功

小于0:

失败

x.费用明细录入

intimpItem(char*zybm,char*hisname,char*nhcode,char*nhname,char*lbbm,char*spec,char*dose,char*unit,char*num,char*price,char*je,char*date,char*mxbm)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

zybm

IN

住院登记唯一编码

N

32

2

hisname

IN

医院定义的药品或项目名称

N

64

3

nhcode

IN

对应的农合编码

N

20

4

nhname

IN

对应的农合名称

N

64

5

lbbm

IN

费用类别编码

N

4

6

spec

IN

规格

N

32

7

dose

IN

剂型

N

16

8

unit

IN

单位

N

16

9

num

IN

数量

N

16

10

price

IN

单价

N

16

11

Je

IN

金额

N

16

12

Date

IN

费用划价日期

N

10

13

mxbm

OUT

费用明细唯一编码/错误信息

1024

返回:

0:

成功

小于0:

失败

说明:

对于没有对应的药品或诊疗项目,nhcode和nhname传入空字符串(“”)

xi.删除费用明细

intremoveItem(char*bm,int_type,char*err)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

bm

IN

住院登记唯一编码或费用明细唯一编码

N

32

2

_type

IN

1—删除全部明细,2—删除指定明细

N

3

err

OUT

错误信息

1024

返回:

0:

成功

小于0:

失败

 

xii.结算

intexpense(int_type,char*bm,char*result)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

_type

IN

19—门诊结算,21—住院结算,22—单病种

N

2

bm

IN

住院登记唯一编码

N

32

3

result

OUT

结算信息

1024

返回:

0:

成功

小于0:

失败

返回住院结算的数据结构:

总金额|可报费用|实际补偿金额|起付线|补偿比例|未转诊扣除|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}|住院天数|单据号

如:

279|250|200.00|0|0|0|{10:

15:

15;2:

229:

200;9:

5:

5;1:

24:

24;12:

6:

6}|4|dbzyqdhszzrx08100001。

门诊结算的数据结构:

总金额|可报费用|实际补偿金额|账户内补偿|账户外补偿|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}|单据号

注意:

只能结算一次。

单病种补偿是指特殊的住院补偿,单病种目录见附录,假如疾病编码对应正确,结算的时候类型也可以传入21。

xiii.预结算

intpreExpense(int_type,char*bm,char*result)

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

_type

IN

19—门诊结算,21—住院结算,22—单病种

N

2

bm

IN

住院登记唯一编码

N

32

3

result

OUT

结算信息。

1024

返回:

0:

成功

小于0:

失败

返回结算的数据结构:

总金额|可报费用|实际补偿金额|起付线|补偿比例|未转诊扣除|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}|住院天数

如:

279|250|200.00|0|0|0|{10:

15:

15;2:

229:

200;9:

5:

5;1:

24:

24;12:

6:

6}|4

门诊结算的数据结构:

总金额|可报费用|实际补偿金额|账户内补偿|账户外补偿|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}

 

xiv.获取结算信息

intgetExpenseInfo(int_type,char*bm,char*result);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

_type

IN

19—门诊结算,21—住院结算,22—单病种

N

2

bm

IN

住院登记唯一编码(32位那个)。

N

32

3

result

OUT

结算信息。

1024

返回:

0:

成功

小于0:

失败

返回住院结算的数据结构:

总金额|可报费用|实际补偿金额|起付线|补偿比例|未转诊扣除|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}|住院天数|单据号

如:

279|250|200.00|0|0|0|{10:

15:

15;2:

229:

200;9:

5:

5;1:

24:

24;12:

6:

6}|4|dbzyqdhszzrx08100001。

门诊结算的数据结构:

总金额|可报费用|实际补偿金额|账户内补偿|账户外补偿|{大类类型1:

大类1金额:

大类1可报;大类类型2:

大类2金额:

大类2可报}

 

xv.获取药品目录

intgetMedicine(char*date,char*result);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

date

IN

日期,格式为”yyyy-mm-dd”,如2008-10-01。

Y

2

result

OUT

药品信息。

1048576

说明:

获取指定日期之后的药品目录,如果为空则获取全部药品目录。

注意如果某个药品被修改了,日期会更新为当前日期,所以获取最新药品目录的时候要考虑到有些以前已经下载过但是已经发生修改。

返回:

0:

成功

小于0:

失败

返回结构的数据结构:

编码1#名称1#剂型1##编码2#名称2#剂型2….如:

X10029#复方贝母氯化铵片#片剂##X10030#双扑口服液#口服液

注意:

药品之间用##隔开,药品信息目前只返回编码、名称和剂型,以后可能还会追加其它信息。

 

xvi.获取药品目录生成文件

intgetMedicine2(char*date,char*filename);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

date

IN

日期,格式为”yyyy-mm-dd”,如2008-10-01。

Y

2

filename

IN

生成的文件的路径名称。

N

说明:

获取指定日期之后的药品目录,如果为空则获取全部药品目录。

返回:

0:

成功

小于0:

失败

产生的文件的格式:

每行是一条药品记录,格式是编码+tab键+名称,如果以后要追加其它信息,按这个格式加在后面。

xvii.获取诊疗项目目录

intgetClinicItem(char*date,char*result);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

date

IN

日期,格式为”yyyy-mm-dd”,如2008-10-01。

Y

2

result

OUT

药品信息。

1048576

说明:

获取指定日期之后的诊疗项目目录,如果为空则获取全部诊疗项目目录。

注意如果某个项目被修改了,日期会更新为当前日期,所以获取最新项目目录的时候要考虑到有些以前已经下载过但是已经发生修改。

返回:

0:

成功

小于0:

失败

返回结构的数据结构:

编码1#名称1##编码2#名称2….如:

331512017#骨移植术##331513009#截指术

注意:

诊疗项目之间用##隔开,诊疗项目信息目前只返回编码和名称,以后可能还会追加其它信息。

 

xviii.获取诊疗项目目录生成文件

intgetClinicItem2(char*date,char*filename);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

date

IN

日期,格式为”yyyy-mm-dd”,如2008-10-01。

Y

2

filename

IN

生成的文件的路径名称。

N

说明:

获取指定日期之后的诊疗项目目录,如果为空则获取全部诊疗项目目录。

返回:

0:

成功

小于0:

失败

产生的文件的格式:

每行是一条诊疗项目记录,格式是编码+tab键+名称,如果以后要追加其它信息,按这个格式加在后面。

 

xix.门诊登记

intregMz(char*mzh,char*grbm,char*jzrq,char*jbbm,char*ksbm,char*mxs,char*mzbm);

参数:

序号

参数

输入/输出

参数名

是否可空

长度

1

mzh

IN

门诊号。

类似于住院号那种。

Y

2

grbm

IN

个人编码,从家庭成员信息中获取

N

12

3

jzrq

IN

就诊日期,格式为yyyy-mm-dd

N

10

4

jbbm

IN

疾病编码(ICD10),如果没有对照可以发中文名

Y

20

5

ksbm

IN

科室编码,可以直接传中文

Y

6

6

mxs

IN

明细。

多个费用放到一块,用xml格式组织。

N

尽量大一些

7

mzbm

OUT

门诊登记唯一编码/错误信息

1024

返回:

0:

成功

小于0:

失败

门诊登记要求一次性把病人信息和相关的所有费用全部传过来。

费用明细的格式:

【医院定义的药品或项目名称】

【对应的农合编码】

【对应的农合名称】

【费用类别编码】

【规格】

【剂型】

【单位】

【数量】

【单价】

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

当前位置:首页 > 高等教育 > 军事

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

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