蓝星新型农村合作医疗DLL接口规范.docx

上传人:b****5 文档编号:4293651 上传时间:2022-11-28 格式:DOCX 页数:32 大小:48.45KB
下载 相关 举报
蓝星新型农村合作医疗DLL接口规范.docx_第1页
第1页 / 共32页
蓝星新型农村合作医疗DLL接口规范.docx_第2页
第2页 / 共32页
蓝星新型农村合作医疗DLL接口规范.docx_第3页
第3页 / 共32页
蓝星新型农村合作医疗DLL接口规范.docx_第4页
第4页 / 共32页
蓝星新型农村合作医疗DLL接口规范.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

蓝星新型农村合作医疗DLL接口规范.docx

《蓝星新型农村合作医疗DLL接口规范.docx》由会员分享,可在线阅读,更多相关《蓝星新型农村合作医疗DLL接口规范.docx(32页珍藏版)》请在冰豆网上搜索。

蓝星新型农村合作医疗DLL接口规范.docx

蓝星新型农村合作医疗DLL接口规范

蓝星软件农村合作医疗转诊接口

Ver1.0.0

武汉蓝星软件技术有限公司

2008年11月

变更说明

时间

修改人员

函数

修改说明

2009-02-12

LLMCW

SaveInHosInfo

增加AsExpenseKind参数

21--普通住院

22--单病种住院

23—正常分娩住院

29—其他住院

90—其他

2009-02-25

ProcessFeeList

整理直接写前置数据库明细后的处理事务

2009-05-08

更新本结算程序

LxHzInterface.ini的[DataBaseInfo]

增加DEBUG=YES

(本地结算要配置本地连的各区空数据库,否则不能进行本地结算)

2009-10-26

更新单病种结算

入院登记SaveInHosInfo增加参数AsLimitIllCode单病种编码

当AsExpenseKind=22时不能为空

GetParmItem函数增加参加参数为6

6单病种信息表

新农合病人结算、预结算PreClearing返回值第7值为医院承担费用

注意:

示例部分未做调动,请参照函数说明的参数

1.目的

为了更好的加快城市新型农村合作医疗建设,对于新农合报销算法的准确性、可控性、可维护性和安全性等多方面的考虑,在对医院原有系统的改造的过程中,我们准备采用开发新农合报销算法的动态链接库的办法来解决。

2.方案介绍

2.1.方案图解

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

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

●医院需要根据合管办提供的三个基本目录,包括病种信息、药品信息、诊疗项目信息建立与医院内码对应的对照信息。

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

●此动态链接库的方式只适合于Windows98以上平台的HIS系统。

2.3.医院开发商需要提供的小应用

维护一个对照表,每个都是一对多的关系.也就是在原表基础上加新农合对应编码。

●病种信息对照表

●药品信息对照表

●诊疗项目对照表

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

蓝星新农合客户端提供相应的对应工作程序,对应完成后上报后提交合管办进行对应审核。

2.4.新农合转诊服务器一台

操作系统:

WIN2K/2KSERVER/XP/2003

硬件要求:

PIIII1.7G/512M/40G

数据库要求:

WINSQLSERVER2000

网络要求:

内网通(能访问HIS)并且外网通(能访问新农合),最好是单独能上网的专线(1。

5M以上)。

网络安全:

软件防火墙/硬件防火墙/网闸

3.医院管理信息系统改造实施详细说明

3.1.住院部分

1、获取病人信息

根据病人提供的合作医疗证号进行查询,选择病人后返回该病人的个人编号、姓名、性别、出生日期等相关信息。

2、入院登记(入院信息修改)

提交合作医疗证及个人编号和获取的就诊号进行住院病人的就诊登记。

如因退合或者被列入黑名单,则可采用自费方法处理。

3、药品、诊疗明细录入

调用接口函数“费用明细录入”把划价信息写入新农合前置机中。

4、出院结算(0:

预结算;1:

结算)

进行入院登记收费前必须保证已经进行了新合入院就诊登记。

写入费用结束后调用“新农合病人结算、预结算”,生成新农合结算信息。

5、取消费用结算

将已出院的病人取消费用结算,重新值为新合在院病人

6、取病人新合结算信息和审批表

取已经结算病人的报销结算单和新合报销审批表信息。

3.2.离线结算

1.在LxHzInterface.ini的[DataBaseInfo]

增加DEBUG=YES

(本地结算要配置本地连的各区空数据库,否则不能进行本地结算)

2.打开前置机表P_hiOrgSet

IP

DataBaseName

UserName

PassWord

指向本地结算的各区数据库表

4.新农合接口函数说明

动态链接库名称:

LXSETUP.INI

[Synch]

Host=192.168.50.117[前置服务器的IP地址]

Port=1899[前置服务器开放的端口号,可自定义]

Remaks:

注意服务端防火墙对端口号的开放状态,前置机和客户端的端口号必须保持一致

LxClient.dll

DataBuffer说明:

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

日期类型格式:

yyyy-mm-ddhh:

mm:

ss,如果没有时间,则后6位均为0。

返回值:

成功=0失败<0

输出是以“$$、|、##、@@”分割的字符串

以“|”分隔,详见每个交易的参数表,分项之间使用管道分割符‘|’分割,最后必须要以管道分割符号‘|’结尾,不以‘|’开始。

如果入参为多条记录,记录之间以‘$$’分割,不同数据项之间以‘|’分割

4.1.函数说明

函数列表

序号

函数名

代码

1

通讯测试函数(与前置机)可不用

InitDLL

2

获取病人信息

GetHzPersonInfo

3

就诊登记(住院、住院修改)

SaveInHosInfo

4

费用明细录入

SaveFreeList

5

费用预结算/结算(住院)

PreClearing

6

取消住院结算

CanceCalcFee

7

读取住院结算信息和审批表

GetCalcFee

8

获取已审批通过的药品和诊疗项目列表

GetCheckItem

9

读取基本信息(疾病信息表和报销公式)

GetParmItem

10

取消入院登记信息(包括费用明细)

DeleteHosInfo

11

上传或取消医院项目对应编码

UpdateInterItem

12

上传明细后的处理

ProcessFeeList

13

门诊登记

mz_SaveInfo

14

门诊登记明细

mz_SaveInfoList

15

删除门诊登记

mz_DelInfo

16

获取结算报销费用信息

mz_GetCalcFee

17

读卡(新农合医疗卡)

User_ReadCard

18

测试串口连接

TestComConn

19

转诊入院登记

zzSaveInHosInfo

20

获取转诊区划信息

GetXZQHinfo_zz

21

获取区划内转诊病人信息

GetZzinfo_zz

22

Remarks:

红色部分为必选函数

在所有函数中不存在唯一的住院号,唯一值是CoopMedCode+IDNo+DiagNo,即农户新合医疗证号+个人序号+就诊序号

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

syntax:

intInitDLL(Char*DataBuffer)

Parameter:

参数

参数

输入/输出

参数名

是否可空

类型

DataBuffer

OUT

返回信息

Return(s):

0-SUCCESS

-1-FAILURE

Remarks:

此函数主要是测试前置机是否启动,非编程必用函数。

4.1.2.获取病人信息

Syntax:

intGetHzPersonInfo(char*AsOrganID,char*AsCoopMedCode,Char*DataBuffer);

Parameter

参数

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

AsCoopMedCode

IN

合作医疗证号

N

VARCHAR(20)

DataBuffer

OUT

返回信息

Return(s):

0–Succuss

-1-Failure

DataBuffer说明:

0户编号|1人员序号|2区划代码 |3人员姓名|4拼音码 |5五笔码 |6性别|7出生日期|8家庭住址 |9亲属关系代码 |10亲属关系名称 |11身份证号|12承办人代码 |13承办人姓名 |14户属性[1-一般农户;2-五保户;3-贫困户;4-特困户;5-烈军属;9-其他;24表示既是五保户又是特困户] |15是否户主[1-是;2-否] |16是否参合[1-是;2-否] |17人员状态[1-正常;2-迁入;4-迁出;4-死亡] |18异动日期 |19参合年份 |20保留|21保留|22保留|23保留|24保留|25保留|26保留

4.1.3.入院登记[住院]

Syntax:

IntSaveInHosInfo(char*AsOrganID,char*aAreaCode,char*AsCoopMedCode,char*AsExpressionsID;IntAiIDNo;char*AsIllCode,char*AsIllName,char*AInDate,char*Adke,char*AdLimitDef,char*AsDoctorName,char*AsPatientId,char*AsFlag,char*AiDiagNo,char*AsExpenseKind,AsLimitIllCode,char*DataBuffer)

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

aAreaCode

IN

病人所属区划

N

VARCHAR(12)

AsCoopMedCode

IN

户编号

N

VARCHAR(18)

AsExpressionsID

IN

报销公式ID

N

VARCHAR(4)

AiIDNo

IN

个人序号

N

Integer

AsIllCode

IN

入院诊断(合管办提供的疾病代码)

N

VARCHAR(10)

AsIllName

IN

入院诊断(合管办提供的疾病名称)

N

VARCHAR(40)

AInDate

IN

入院日期

N

(YYYY-MM-DDHH:

MM:

SS)

Adke

IN

扣额 –

报销公式没有调整时:

扣额=‘’

只调整起付线:

扣额=调整后起付金额+$

只调整报销比率:

扣额=$+调整后报销比率

两个都调整:

扣额=调整后起付金额+$+调整后报销比率

Y

VARCHAR(12)

AdLimitDef

IN

限额定义(0-不限;1-限额;2-定额

第一位为上面的三个字符(0、1、2),从第二位开始为金额,金额不为空,为空时补0)

N

VARCHAR(10)

AsDoctorName

IN

主治医生

Y

VARCHAR(12)

AsPatientId

IN

住院号

Y

VARCHAR(12)

AsFlag

IN

是入院还是修改住院信息(0-入院登记,DATABUFFER返回就诊次数;1-住院信息修改,DATABUFFER为输入就诊次数)

N

VARCHAR

(1)

AiDiagNo

IN

就诊次数

Y当ASFLAG=1,不能为空

VARCHAR

(1)

AsExpenseKind

IN

21--普通住院

22--单病种住院

23—正常分娩住院

29—其他住院

90—其他

Y

VARCHAR

(2)

AsLimitIllCode

IN

单病种疾病编码

Y

VARCHAR(4)当AsExpenseKind=22时不能为空

DataBuffer

OUT

返回值

VARCHAR(100)

Returns:

0–SUCCESS

-1–FAILURE

ReMarks:

当ASFLAG=0增加状态时,DataBuffer返回就诊次数,当ASFLAG=1时返回错误信息。

4.1.4.费用明细录入[住院]

Syntax:

IntSaveFreeList(char*AsOrganID,char*AsCoopMedCode,IntAiIDNo,IntAiDiagNo,char*AsItemCode,char*AsHosCode,char*ADInputDate,doubleAfPrice,doubleAfNum,doubleAfFee,char*AsOfficeName,char*AsDoctor,char*AsCompound,char*DataBuffer)

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

AsCoopMedCode

IN

合作医疗证号

N

VARCHAR(20)

AiIDNo

IN

户个人序号

N

Integer

AiDiagNo

IN

就医序号

N

Integer

AsItemCode

IN

新合项目编码

Y

VARCHAR(20)

AsHosCode

IN

医院项目编码

N

VARCHAR(20)

ADInputDate

IN

录入时间

N

(YYYY-MM-DDHH:

MM:

SS)

AfPrice

IN

单价

N

Double

AfNum

IN

数量

N

Double

AfFee

IN

金额

N

Double

AsUnit

IN

单位量

Y

VARCHAR(10)

AsOfficeName

IN

科室名称

N

VARCHAR(20)

AsDoctor

IN

医生

Y

VARCHAR(20)

AsCompound

IN

单/复方处方标致

N

VARCHAR

(1)

DataBuffer

OUT

Y

 

Remarks:

Compound参数是在FeeType=2时才生效。

如果是草药,则需要判断该草药是复方还是单味,如果是单味,则Compound传1;如果是复方,则Compound传0;

Returns:

0–SUCCESS

-1–FAILURE

4.1.5.新农合病人结算、预结算[住院]

Syntax:

IntPreClearing(char*AsOrganID,char*AsCoopMedCode,intAiIDNo,intAiDiagNo,intAPreClearFlag,intADayCount,char*AOutDate,char*AJsDate,char*AOutStatus,char*DataBuffer);

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

AsCoopMedCode

IN

合作医疗证号

N

VARCHAR(20)

AiIDNo

IN

户个人序号

N

Integer

AiDiagNo

IN

就医序号

N

Integer

APreClearFlag

IN

预/结算标致(0-预结算,1-结算)

N

Integer

ADayCount

IN

住院天数

N

Integer

AOutDate

IN

出院时间

N

(YYYY-MM-DDHH:

MM:

SS)

AJsDate

IN

结算时间

N

(YYYY-MM-DDHH:

MM:

SS)

AOutStatus

IN

出院状态(1-治愈;2-好转;3-未愈;4-死亡;9-其他)

N

VARCHAR

(1)

DataBuffer

OUT

Y

Parameter:

结算输出(DataBuffer):

0医疗费总额|1可报销费用 |2报销费用 |3医院减免|4民政补助|5保险金额|6医院承担金额|7保留|8保留|年度报销总费用(包涵本次)

注意:

医院发票上要反映医院减免,医院承担费用

Remarks:

病人支付费用=医疗费总额-医院减免-医院承担-报销费用

4.1.6.取消住院结算[住院]

Syntax:

intCanceCalcFee(char*AsOrganID,char*AsCoopMedCode,intAiIDNo,intAiDiagNo,char*DataBuffer)

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

AsCoopMedCode

IN

合作医疗证号

N

VARCHAR(20)

AiIDNo

IN

户个人序号

N

Integer

AiDiagNo

IN

就医序号

N

Integer

DataBuffer

OUT

Y

Return(s):

0–SUCCESS

-1—FAILURE

4.1.7.读取住院结算信息和审批表[住院]

Syntax:

intGetCalcFee(char*AsOrganID,char*AsCoopMedCode,intAiIDNo,intAiDiagNo,char*DataBuffer);

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

行政区划

N

VARCHAR(6)

AsCoopMedCode

IN

合作医疗证号

N

VARCHAR(20)

AiIDNo

IN

户个人序号

N

Integer

AiDiagNo

IN

就医序号

N

Integer

DataBuffer

OUT

Y

Return(s):

0–SUCCESS

-1—FAILURE

Remarks:

第一段--基本信息

0医疗证号|1户主姓名|2患者姓名|3性别|4出生年月|5与户主关系|6住址|7经治医院|8入院时间|9出院时间|10住院天数|11住院号|12疾病名称|13年度入院次数|14总费用|15可报销费用|16报销费用|17保留|18保留|19保留|20保留|21保留|22保留

第二段--住院医疗费用

费用编码|费用名称|费用金额|纳入补偿费用|报销费用

第三段—报销公式及分段线核算

分段线@@可报销费用@@报销比例@@报销费用

4.1.8.获取已审批通过的药品和诊疗项目列表

Syntax:

intGetCheckItem(char*AsOrganID);

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

Return(s):

0–SUCCESS

-1—FAILURE

Remarks:

当医院有新项目增加后,在新合软件中进行对应经审批后,请及时运行此函数,否则在‘新合费用明细录入’中返回错误值。

注意此函数不要频繁使用。

4.1.9.读取转诊基本信息

Syntax:

intGetParmItem(char*AsOrganID,char*Askind,char*DataBuffer);

Parameter:

参数

输入/输出

参数名

是否可空

类型

AsOrganID

IN

转诊区划

N

VARCHAR(6)

Askind

IN

类型1:

疾病代码表2:

报销公式目录3项目目录4已审核项目5转诊区域6单病种信息表

N

VARCHAR

(1)

DataBuffer

OUT

错误返回信息

Return(s):

0–SUCCESS

-1—FAILURE

Remarks:

该函数运行后在当前目录的\DOWNLOAD目录中生成以ILL+年月日时分秒,BXGS+年月日时分秒,ITEM+年月日时分秒,BXITEM+年月日时分秒和AREA+年月日时分秒为开头的TXT文本

文本中字符之间‘用软换行符#10’分隔

文本文件字段顺序说明:

1:

疾病代码表:

字段顺序:

(IllCode疾病编号,IllName疾病名称,Spell拼音码,FiveStrokes五笔码)

2:

报销公式目录:

字段顺序:

(ExpressionsId公式编号,ExpressionsName公式名称,grade等级,kind补偿类别【0不限,1限额,2定额】,typefee限定金额)

3项目目录的字段顺序:

ItemCode项目编号,ItemName项目名称,Unit单位,WipeOut报销标志(1报销,2不报销),Gg规格,

Cd产地,Jx剂型,Remark备注,SpName别名,Price1单价1,LimitPrice1限价1,Price2单价2,

LimitPrice2限价2,Price3单价3,LimitPrice3限价3,Valid可用标志(1可用,2停用),Spell拼音码,

FiveStrokes五笔码,GradeToPrice等级限价,Grade等级,WjCode,FeeTypeCode类型编号,

FeeTypeName类型名称)

4已审核项目字段顺序(OrganId区划编号,hoscode医院项目号,hositem医院项目名称,hosspec医院项目规格,

manufacturer项目产地,hoskind类别,hostype剂型,incode对应项目号,inkind对应类别,orgcode医疗机构编号,orgflag,itemname对应项目名称,feetypecode类型编号,feetypename类型名称,wipeout是否报销,

grade药品等级,LimitPrice1限价1,LimitPrice2限价2,LimitPrice3限价3,HosGrade医院登等级)

5转诊区域字段顺序(OrganID区划编号,OrganName区划名称,year年度)

6单病种信息表:

字段顺序(病种编号,病种名称,标准金额,补偿金额)

4.1.10.取消入院登记(包括费用明细)

Syntax:

intDeleteHosInfo(char*AsOrganID,char*AsCoopMedCode,intAiIDNo,intAiDi

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

当前位置:首页 > 小学教育 > 英语

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

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