当前位置:文档之家› (V 2.0.0.1)蓝星新型农村合作医疗DLL接口规范(潜江)

(V 2.0.0.1)蓝星新型农村合作医疗DLL接口规范(潜江)

(V 2.0.0.1)蓝星新型农村合作医疗DLL接口规范(潜江)
(V 2.0.0.1)蓝星新型农村合作医疗DLL接口规范(潜江)

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

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

V er 1.0.0

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

2008年11月

变更说明

时间修改人员函数修改说明注意:示例部分未做调动,请参照函数说明的参数

目录

1.目的 (4)

2.方案介绍 (4)

2.1.方案图解 (4)

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

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

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

住院部分 (5)

4.新农合接口函数说明 (6)

4.1.函数说明 (6)

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

4.1.2.获取病人信息 (8)

4.1.3.入院登记 (8)

4.1.4.费用明细录入 (9)

4.1.5.新农合病人结算、预结算 (11)

4.1.6.取消住院结算 (12)

4.1.7.读取住院结算信息和审批表 (12)

4.1.8.获取已审批通过的药品和诊疗项目列表................................. 错误!未定义书签。

4.1.9.读取疾病信息表和报销公式 (13)

4.2.函数示例 .................................................................................................................... 错误!未定义书签。

4.2.1.DELPHI引用及示例 (21)

4.2.2.POWERBUILDER引用及示例 (22)

1. 目的

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

2. 方案介绍

2.1. 方案图解

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

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

医院需要根据合管办提供的三个基本目录,包括病种信息、药品信息、诊疗项目信息建立与医院内码对应的对照信息。 ● 对于那些无法找到对应关系的收费项目信息,医院按照新农合中心费用分类编码,维护收费项目信息。 ●

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

报销计算

办法DLL

新农合前置机数据库

医院收费终端计算请求发起 报销计算结果写入HIS 系统中

HIS

统数据库

传送

计算结果

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

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

●病种信息对照表

●药品信息对照表

●诊疗项目对照表

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

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

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

操作系统:WIN2K/2K SERVER/XP/2003

硬件要求:PIIII 1.7G/512M/40G

数据库要求:WIN SQL SERVER 2000

网络要求:内网通(能访问HIS)并且外网通(能访问新农合),最好是单独能上网的专线(1。5M以上)。

网络安全:软件防火墙/硬件防火墙/网闸

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

3.1. 住院部分

1、获取病人信息

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

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

提交合作医疗证及个人编号和获取的就诊号进行住院病人的就诊登记。如因退合或者被列入黑名单,则可采用自费方法处理。

3、药品、诊疗明细录入

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

4、出院结算(0:预结算;1:结算)

进行入院登记收费前必须保证已经进行了新合入院就诊登记。写入费用结束后调用“新农合病人结算、预结算”,生成新农合结算信息。

5、取消费用结算

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

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

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

4.新农合接口函数说明

调用DLL 基本流程:

1、调用InitDLL 初始化DLL;

2、调用GetParmItem 获取基本信息;(基本信息要定期更新)

3、调用UpdateHosOffice 上传医院科室信息;(可选)

4、进行项目对应;

5、调用UpdateInterItem 上传对应项目;

6、进行住院登记。

7、…..

动态链接库名称:QJ_NH_InterFace.DLL

配置文件LxHzInterface.ini

[AppServer]

//中心服务器

UpServerConnect=2..5*la,jwxfal,uuu;capsmQ-_r_B9JWXFRQ;emj_r_A-j_grglG9ctjqgf;BG-pcqS9cspR;mdlG-wrgpsacQ-rqg qpcN9

uqn2.0.7..0qgf;bpmuqq_N9/,@BCJMJOQ;pcbgtmpN

AcountY ear=2010 //帐套年度(HIS 提供一个设置给用户选择农合帐套,保存用户帐套的年度在这里)

Remaks:

参数DataBuffer说明:

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

日期类型格式:yyyy-mm-dd hh:mm:ss,如果没有时间,则后6位均为0。

返回值:成功=0 失败<0

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

以“|”分隔,详见每个交易的参数表, 分项之间使用管道分割符‘|’分割,最后必须要以管道分割符号‘|’结尾,不以‘|’开始。如果入参为多条记录,记录之间以‘$$’分割,不同数据项之间以‘|’分割

4.1. DLL函数说明

函数列表

序号函数名代码

1 初始化DLL(首先必须初始化)不需经常调用InitDLL

2 释放DLL DestroyDll

3 获取病人信息GetHzPersonInfo

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

5 费用明细录入SaveFreeList

6 费用明细录入――XML

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

8 取消住院结算CanceCalcFee

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

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

11 取消入院登记信息(包括费用明细一起删除)DeleteHosInfo

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

13 删除已经上传而未审核的项目DelunCheckItem

14 删除已上传费用明细(全部)DeleteFeeList

15 上传医院科室信息UpdateHosOffice

16 删除医院科室信息DelHosOffice

17 门诊登记mz_SaveInfo

18 门诊登记明细mz_SaveInfoList

19 删除门诊登记mz_DelInfo

20 获取结算报销费用信息mz_GetCalcFee

21 门诊结算mz_CalcOK

22 取消门诊结算mz_CalcCancel

23 删除门诊明细(单条)mz_DelList

24 读卡(新农合医疗卡)User_ReadCard

25 根据读取的卡信息获取卡号GetCardIDByCode

26 根据卡号获得农合证号GetCoopMedCodeByCardID

27 测试串口连接TestComConn

28 村卫生室同步乡镇卫生院的审核项目QJ_UpdateCheckItem

Remarks:

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

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

syntax:

int InitDLL()

Return :成功0 ;失败< 0

4.1.2.动态链接库释放函数

syntax:

int DestroyDll()

Return :成功0 ;失败< 0

4.1.3.获取病人信息

Syntax:

function GetHzPersonInfo(StrArea, aOrgCode, CardID: pchar; DataBuffer: pchar): integer; stdcall;

参数

序号参数名称输入/

输出

参数说明数据类型最多长度是否

为空

备注

1 AsOrganID IN 转诊区划V ARCHAR1

2 N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 合作医疗证

V ARCHAR 20

N

4 DataBuffer OUT 返回信息

Return :成功0 ;失败< 0

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.4.入院登记[住院]

Syntax:

function SaveInHosInfo(AsOrganID, aOrgCode, AsCoopMedCode, AsExpressionsID, AsPatientName: pchar; AiIDNo: Integer; AsIllCode, AsIllName, AInDate, Adke, AdLimitDef, AsDoctorName, AsPatientId, AsFlag, AiDiagNo, AsExpenseKind, AsLimitIllCode: pchar; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入

/ 输

参数说明数据类型最多

长度

是否为

备注

1 AsOrganID IN 转诊区划V ARCHAR 1

2 N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 农合证号V ARCHAR 18 N

4 AsExpressionsID IN 报销公式ID V ARCHAR 4 N

5 AsPatientName IN 入院病人姓名V ARCHAR 10 N

6 AiIDNo IN 个人序号Integer N

7 AsIllCode IN 入院诊断(合管办提

供的疾病代码)

V ARCHAR

10

N

8 AsIllName IN 入院诊断(合管办提

供的疾病名称)

V ARCHAR

40

N

9 AInDate IN 入院日期(YYYY-MM-DD

HH:MM:SS)

N

10 Adke IN 扣额–

报销公式没有调整

时:扣额=‘’

只调整起付线:扣额=

调整后起付金额+ $

V ARCHAR

12

Y

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

两个都调整:扣额=调整后起付金额+ $ + 调整后报销比率

11 AdLimitDef IN 限额定义(0-不

限;1-限额;2-定

第一位为上面的三个

字符(0、1、2),从

第二位开始为金额,

金额不为空,为空时

补0)

V ARCHAR

10

N

12 AsDoctorName IN 主治医生V ARCHAR 12 Y

13 AsPatientId IN 住院号+@@+科室

号+@@+档案号

V ARCHAR

60

Y

14 AsFlag IN 是入院还是修改住

院信息(0-入院登记,

DA TABUFFER返回

就诊次数;1-住院信

息修改,

DA TABUFFER为输

入就诊次数)

V ARCHAR

1

N

15 AiDiagNo IN 就诊次数V ARCHAR

2

Y当

ASFLA

G=1,

不能为

16 AsExpenseKind IN 21--普通住院

22--单病种住院

23—正常分娩住院

29—其他住院

90—其他

V ARCHAR

2

Y

17 AsLimitIllCode IN 单病种疾病编码V ARCHAR

4

Y当

AsExpe

nseKind

=22时

不能为

18 DataBuffer OUT 返回值V ARCHAR 100

Return :成功0 ;失败< 0

ReMarks:

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

4.1.

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

Syntax:

function SaveFreeList(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo: Integer; AsItemCode, AsHosCode, ADInputDate: pchar; AfPrice, AfNum, AfFee: double; AsUnit, AsOfficeName, AsDoctor, AsCompound: pchar; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入

/ 输

参数说明数据类型是否为空

1

AsOrganID IN 转诊区划V ARCHAR(12) N

2 aOrgCode IN 机构码V ARCHAR(12) N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR(20) N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 AsItemCode IN 新合项目编码V ARCHAR(20) Y

7 AsHosCode IN 医院项目编码V ARCHAR(20) N

8 ADInputDate IN 录入时间(YYYY-MM-DD

HH:MM:SS)

N

9 AfPrice IN 单价Double N

10 AfNum IN 数量Double N

11 AfFee IN 金额Double N

12 AsUnit IN 单位量V ARCHAR(10) Y

13 AsOfficeName IN 用药科室V ARCHAR(20) N

14 AsDoctor IN 医生V ARCHAR(20) Y

15 AsCompound IN 处方标致:

‘2’单/ ‘1’

复方

V ARCHAR(1) N

16

DataBuffer OUT V ARCHAR(6) Y

Remarks:

Compound参数是在项目为药品时才生效。如果是草药,则需要判断该草药是复方还是单味,如果是单味,则Compound 传2;如果是复方,则Compound传1;

Return :成功0 ;失败< 0

4.1.6.费用明细录入[住院]―――XML文件

Syntax:

function QJ_SaveFeeList(aOrganID, aOrgCode, aCoopMedCode: PChar; aIDNo, aDiagNo: Integer; aListFile: PChar; DataBuffer: PChar): Integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型是否为空

1

AsOrganID IN 转诊区划V ARCHAR(12) N

2 aOrgCode IN 机构码V ARCHAR(12) N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR(20) N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 aListFile IN 明细文件

(XML文件,

含路径)

V ARCHAR(100) N

7

DataBuffer OUT V ARCHAR(6) Y

XML

05107902 --医院项目编号

2.00 --数量

18.5000 --单价

37.0000 --费用

2125 --处方号

1 --单复方标识

内科 --用药科室

2010-6-10 8:55:10 --用药时间

2010-6-10 9:25:10--录入时间

05109401 --医院项目编号

2.00 --数量

18.5000 --单价

37.0000 --费用

2125 --处方号

1 --单复方标识

内科 --用药科室

2010-6-10 8:55:10 --用药时间

2010-6-10 9:25:10--录入时间

Remarks:

Return :成功0 ;失败< 0

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

Syntax:

function PreClearing(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo, APreClearFlag: Integer; ADayCount: Integer; AOutDate, AJsDate, AOutStatus: pchar; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 AsOrganID IN 转诊区划V ARCHAR

12

N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR 20 N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 APreClearFlag IN 预/结算标致(0-

预结算,1-结算)

Integer N

7 ADayCount IN 住院天数Integer N

8 AOutDate IN 出院时间(YYYY-MM-DD

HH:MM:SS)

N

9 AJsDate IN 结算时间(YYYY-MM-DD

HH:MM:SS)

N

10 AOutStatus IN 出院状态(1-治

愈;2-好转;3-

未愈;4-死亡;9

-其他)

V ARCHAR

1

N

11 DataBuffer OUT Y

结算输出(DataBuffer):

0医疗费总额|1可报销费用|2报销费用|3医院优惠|4民政补助|5保险金额|6医院承担金额|7起付线|8保留|9年度报销总费用(包含本次)|10保留|11保留|12保留

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

Return :成功0 ;失败< 0

Remarks:

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

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

Syntax:

function CanceCalcFee(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo: integer; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 AsOrganID IN 转诊区划V ARCHAR

12

N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR 20 N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 DataBuffer OUT Y

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

此函数在正式结算后调用。

Syntax:

function GetCalcFee(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo: integer; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 AsOrganID IN 行政区划V ARCHAR

12

N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR 20 N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 DataBuffer OUT Y

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.10.读取转诊基本信息

Syntax:

function GetParmItem(StrArea, aOrgCode, strkind, StrFileName: pchar; DataBuffer: pchar): integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

1 AsOrganID IN 转诊区划V ARCHAR(12) 1

2 N

2 aOrgCode IN 机构码V ARCHAR(12) 12 N

3 Askind IN 类型

0:帐套信息

1:疾病代码表;

2:报销公式目录;

3:项目目录;

4:已审核项目;

5:转诊区域;

6:单病种信息表;

7:统计科室

V ARCHAR(1)

1

N

4 StrFileName IN 文件名(不含路径)V archar(20) 20 N

5 DataBuffer OUT 错误返回信息

Return :成功0 ;失败< 0

Remarks:

该函数运行后在当前目录的\DOWNLOAD目录中生成指定文件名的文本。

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

文本文件字段顺序说明:

0:帐套信息:字段顺序:(帐套名,帐套描述,帐套年度)

1:疾病代码表:字段顺序:(IllCode 疾病编号,IllName 疾病名称,Spell 拼音码,FiveStrokes 五笔码,If_Modified 修改标志)

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,V alid 可用标志(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 区划名称, orgCode 医院机构码,OrgName医院名称)

6单病种信息表:字段顺序(病种编号,病种名称,标准金额,补偿金额)

7统计科室:字段顺序(科室编号,科室名称)

4.1.11.取消入院登记(包括费用明细一起删除)

Syntax:

function DeleteHosInfo(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo: integer; DataBuffer: pchar): Integer; stdcall;

参数:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 AsOrganID IN 转诊区划V ARCHAR

12

N

2 aOrgCode IN 机构码V ARCHAR 12 N

3 AsCoopMedCode IN 合作医疗证号V ARCHAR 20 N

4 AiIDNo IN 户个人序号Integer N

5 AiDiagNo IN 就医序号Integer N

6 DataBuffer OUT 错误信息Y

Remarks:

取消已入院登记的病人信息,如存在费用明细,也会自动清除明细

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

Syntax:

function UpdateInterItem(AsOrganID, aOrgCode, AsFlag, AsHosCode, AsHosName, AsHosSpec, AsHosUnit, AsHosCd, AsHosType, AsHosKind, AsHosPym, AsHosWbx, AsItemCode, AsDetail: pchar; Databuffer: pchar): Integer; stdcall;

参数:

Return :成功0 ;失败< 0

Remarks:

ASFLAG=0时上传或修改已上传的医院项目对应信息. ASFLAG=1申请撤消合管已审核的项目对应信息.

4.1.13. 删除 已经上传而未审核的项目

Syntax:

序号 参数名称

输入 / 输出 参数说明 数据类型 最多长度 是否为空 备注

1 AsOrganID In 行政区划 V archar 1

2 N 2 aOrgCode IN 机构码 V ARCHAR 12 N

3 aHosCode In 医院项目编号 V archar 20 N 4

DataBuffer

Out

返回信息

V archar

100

Y

DataBuffer 说明:成功返回空,否则返回错误信息。 Return :成功0 ;失败< 0

4.1.14. 删除已上传费用明细(全部)

功能描述:在新农合系统中删除住院费用明细。

调用说明:HIS 系统在处理费用明细时,删除费用明细(当前病人所有的费用明细)。

function DeleteFeeList(AsOrganID, aOrgCode, AsCoopMedCode: pchar; AiIDNo, AiDiagNo: integer; DataBuffer: pchar): Integer; stdcall;

序号 参数名称 输入 / 输出 参数说明 数据类型 最多长度 是否为空 备注 1 AsOrganID IN 转诊区划 V ARCHAR 12 N 2 aOrgCode IN 机构码 V ARCHAR 12 N 3 AsFlag IN 0-增加或修改,1-撤消审核

CHAR 1 N 4 AsHosCode IN 医院项目编码(唯一)

V ARCHAR 20 N 5 AsHosName IN 医院项目名称 V ARCHAR 80 N 6 AsHosSpec IN 规格

V ARCHAR 40 Y 7 AsHosUnit IN 包装单位 V ARCHAR 10 Y 8 AsHosCd IN 产地 V ARCHAR 20 Y 9 AsHosT ype IN 剂型

V ARCHAR

20 Y 10 AsHosKind

IN

类型(1-诊疗项目 2手术项目 3西药 4中草药)

CHAR 1 N 11 AsHosPym IN 拼音码

V ARCHAR 10 N 12 AsHosWbx IN 五笔码

V ARCHAR 10 Y 13 AsItemCode IN 对应的新合编码

V ARCHAR 20 Y 14 AsDetail IN 撤消说明 V ARCHAR 100 Y 15 DataBuffer

OUT

错误信息

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 AsOrganID In 行政区划V archar 1

2 N

2 aOrgCode IN 机构码V ARCHAR12 N

3 AsCoopMedCode In 农合证号V archar 12 N

4 AiIDNo In 个人序号int N

5 AiDiagNo In 就医序号Int N

6 DataBuffer Out 返回信息V archar 100 Y

DataBuffer说明:成功返回空,否则返回错误信息。

Return :成功0 ;失败< 0

4.1.1

5.上传医院科室信息

功能描述:上传医院科室基本信息

调用说明:HIS系统在录入科室信息时调用或一次性上传科室信息调用。

function UpdateHosOffice(aOrganID, aOrgCode, aOfficeNo, aOfficeName, aStatCode: pchar; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aOrganID In 行政区划V archar 1

2 N

2 aOrgCode IN 机构码V ARCHAR12 N

3 aOfficeNo In 科室编号V archar 8 N

4 aOfficeName In 科室名称V archar 50 N

5 aStatCode In 统计科室V archar 8 N

6 DataBuffer Out 返回信息V archar 100 Y

DataBuffer说明:成功返回空,否则返回错误信息。

Return :成功0 ;失败< 0

4.1.16.删除医院科室信息

功能描述:删除医院科室基本信息

调用说明:HIS系统在录入科室信息时调用。

function DelHosOffice(aOrganID, aOrgCode, aOfficeNo: pchar; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aOrganID In 行政区划V archar 1

2 N

2 aOrgCode IN 机构码V ARCHAR12 N

3 aOfficeNo In 科室编号V archar 8 N

4 DataBuffer Out 返回信息V archar 100 Y DataBuffer说明:成功返回空,否则返回错误信息。

Return :成功0 ;失败< 0

4.1.17.门诊登记

功能描述:在新农合系统中记载参合患者的门诊费用信息。

调用说明:HIS系统在办理门诊项目就医时调用。

function mz_SaveInfo(aXZQH, aOrgCode, aCoopMedCode: pchar; aIDNO: Integer; aInDate, aIllCode, aIllName, aExpenseKind, aDoctorName: pchar; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类

最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 18 N

4 aIDNO In 个人序号Int N

5 aInDate In 就诊时间varchar 10 N yyyy-MM-dd

6 aIllCode In 疾病编号V archar 10 Y

7 aIllName In 疾病名称V archar 40 Y

8 aExpenseKind In

补偿类别V archar 2 N

11普通门诊13预防接种

19门诊特殊疾病90其他

9 aDoctorName In 医生姓名V archar 20 Y

10 DataBuffer Out 返回信息V archar 100 Y

DataBuffer说明:返回就诊序号。

Return :成功0 ;失败< 0

4.1.18.门诊登记明细

功能描述:在新农合系统中记载参合患者的门诊费用信息明细。

调用说明:HIS系统在办理门诊项目就医时调用。

function mz_SaveInfoList(aXZQH, aOrgCode, aCoopMedCode: pchar; aIDNO, aDiagNo: Integer; aItemCode, aUnit: pchar; aPrice, aNum: double; aOfficeName, aRecipeNo, aYyDate, aGrade: pchar; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 aHosCode In 项目编号V archar 8 N 医院项目编号

7 aUnit In 单位V archar 10 Y

8 aPrice In 单价Numeric(10,4) N

9 aNum In 数量Numeric (6,2)N

10 aOfficeName In 用药科室V archar 40 Y

11 aRecipeNo In 处方号V archar 12 Y

12 aYyDate In 用药时间Date Y

13 aGrade In

价格级别V archar 1 N

0无限价 1 一级

2 二级

3 三级

14 DataBuffer Out 返回信息V archar 100 Y

Return :成功0 ;失败< 0

4.1.19.删除门诊登记

功能描述:在新农合系统中删除参合患者的门诊费用信息及明细。

调用说明:HIS系统在办理门诊项目就医时调用。

function mz_DelInfo(aXZQH, aOrgCode, aCoopMedCode: Pchar; aIDNO, aDiagNo: Integer; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 医疗服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 DataBuffer Out 返回信息V archar 100 Y

Return :成功0 ;失败< 0

4.1.20.获取门诊结算报销费用信息

功能描述:获取患者门诊报销费用信息。

调用说明:HIS在门诊结算时调用。

function mz_GetCalcFee(aXZqh, aOrgCode, aCoopMedCode: pchar; aIDNO, aDiagNo: Integer; aRecFile: pchar; DataBuffer: pchar): integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 医疗服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 aRecFile IN 文件名(不含

路径)

V archar 20 N

7 DataBuffer Out 返回信息V archar 1000 Y

结算明细输出到文件,文件结构(字段顺序):(医院名称;农合号;病人姓名;性别;年龄;就诊日期;疾病名称;医生姓名;项目名称;是否可报;单位;单价;数量;金额;可报金额。)其中字段间以软换行符(#10)分隔。

Return :成功0 ;失败< 0

4.1.21.门诊结算

功能描述:计算患者门诊报销费用。

调用说明:HIS在门诊结算时调用。

function mz_CalcOK(aXZqh, aOrgCode, aCoopMedCode: pchar; aIDNO, aDiagNo: Integer; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 医疗服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 DataBuffer Out 返回信息V archar 1000 Y

DataBuffer 说明:0 总费用| 1 可报销费用| 2 报销费用| 预留| 预留| 预留| 预留|

Return :成功0 ;失败< 0

4.1.22.取消门诊结算

功能描述:取消计算患者门诊报销费用。

调用说明:HIS在门诊结算时调用。

function mz_CalcCancel(aXZqh, aOrgCode, aCoopMedCode: pchar; aIDNO, aDiagNo: Integer; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 医疗服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 DataBuffer Out 返回信息V archar 100 Y

DataBuffer 说明:失败时返回错误信息,否则为空。

Return :成功0 ;失败< 0

4.1.23.删除门诊明细(单条)

功能描述:单条删除患者门诊费用明细。

调用说明:HIS在登记门诊费用时调用。

function mz_DelList(aXZqh, aOrgCode, aCoopMedCode: pchar; aIDNO, aDiagNo, aFeeNo: Integer; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数名称输入/

输出

参数说明数据类型最多

长度

是否

为空

备注

1 aXZQH In 行政区划V archar 1

2 N

2 aOrgCode In 医疗服务单位V archar 12 N

3 aCoopMedCode In 新农合证号V archar 10 N

4 aIDNO In 个人序号Int N

5 aDiagNo In 就诊序号Int N

6 aFeeNo In 费用序号Int N

7 DataBuffer Out 返回信息V archar 100 Y

DataBuffer 说明:失败时返回错误信息,否则为被删除的费用序号。

Return :成功0 ;失败< 0

4.1.24.用读卡器读卡

功能描述:读取刷卡信息并解密获得卡号(使用本公司提供的读卡器和卡)

调用说明:HIS在录入病人信息,病人刷农合卡时调用。

function User_ReadCard(COMi: integer; rData: PChar): integer; stdcall;

参数定义:

序号参数输入/输出参数名是否可空类型

1 COMi IN 串口号N INT

2 rData Out 卡号Y V ARCHAR(300)

rData:返回卡号,需要预设一定长度。出错时返回错误提示信息。

Return :成功0 ;失败< 0

4.1.2

5.根据读取的卡信息获得卡号

功能描述:解密卡信息获得卡号(适用本公司提供的卡)

调用说明:HIS在录入病人信息,病人刷农合卡时调用。

function GetCardIDByCode(Code: PChar; CardID: PChar): integer;

参数定义:

序号参数输入/输出参数名是否可空类型

1 Code IN 卡信息N V ARCHAR(300)

2 CardID Out 卡号Y V ARCHAR(300)

rData:返回卡号,需要预设一定长度。出错时返回错误提示信息。

Return :成功0 ;失败< 0

4.1.26.根据卡号获得农合证号

功能描述:根据卡号获得农合证号

调用说明:HIS在录入病人信息,病人刷农合卡时调用。

function GetCoopMedCodeByCardID(aOrganID, aOrgCode, aCardID: pchar; DataBuffer: pchar): Integer; stdcall;

参数定义:

序号参数输入/输出参数名是否可空类型

1 aOrganID IN 行政区划N V ARCHAR(12)

2 aOrgCode IN 机构码N V ARCHAR(12)

3 aCardID IN 卡号N V ARCHAR(300)

4 DataBuffer OUT V ARCHAR(300)

DataBuffer:返回农合证号,失败返回错误信息。

相关主题
文本预览
相关文档 最新文档