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

更新时间:2024-04-14 01:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

机密

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

参 考 手 册

Ver 1.0.0

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

2008年11月

第 1 页 2013-4-21

变更说明

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

23 页 第 2 页 共

目录

1. 目的 .......................................................................................................................................................................... 4 2. 方案介绍 ................................................................................................................................................................. 4 2.1. 方案图解 .......................................................................................................................................................... 4 2.2. 医院系统需要做的改造工作....................................................................................................................... 4 2.3. 医院开发商需要提供的小应用 .................................................................................................................. 5 3. 医院管理信息系统改造实施详细说明............................................................................................................ 5 住院部分 ................................................................................................................................................................. 5 4. 新农合接口函数说明 ........................................................................................................................................... 6 4.1. 函数说明 .......................................................................................................................................................... 6 4.1.1. 4.1.2. 4.1.3. 4.1.4. 4.1.5. 4.1.6. 4.1.7. 4.1.8. 4.1.9. 4.2.1. 4.2.2.

动态链接库初始化函数 ...................................................................................................... 7 获取病人信息........................................................................................................................ 8 入院登记................................................................................................................................. 8 费用明细录入........................................................................................................................ 9 新农合病人结算、预结算 ............................................................................................... 11 取消住院结算...................................................................................................................... 12 读取住院结算信息和审批表 ........................................................................................... 12 获取已审批通过的药品和诊疗项目列表................................. 错误!未定义书签。 读取疾病信息表和报销公式 ........................................................................................... 13

DELPHI引用及示例 ......................................................................................................... 21 POWERBUILDER引用及示例 ....................................................................................... 22

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

23 页 第 3 页 共

1. 目的

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

2. 方案介绍

2.1. 方案图解

医院收费终端计算请求发起 报销计算HIS系 办法DLL 计算结果 统数据库 传送 新农合前置机数据库 报销计算结果写入HIS系统中 2.2. 医院系统需要做的改造工作

?

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

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

对于那些无法找到对应关系的收费项目信息,医院按照新农合中心费用分类编码,维护收费项目信息。 此动态链接库的方式只适合于Windows98以上平台的HIS系统。

23 页 第 4 页 共

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、取病人新合结算信息和审批表

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

23 页 第 5 页 共

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-rqgqpcN9??

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

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

Remaks:

参数DataBuffer说明:

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

日期类型格式:yyyy-mm-dd hh:mm:ss,如果没有时间,则后6位均为0。 返回值: 成功 =0 失败 <0

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

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

4.1. DLL函数说明

函数列表 序号 函数名 1 初始化DLL(首先必须初始化)不需经常调用 2 释放DLL 23 页 第 6 页 共

代码 InitDLL DestroyDll 3 GetHzPersonInfo 获取病人信息 4 SaveInHosInfo 就诊登记(住院登记、住院修改) 5 SaveFreeList 费用明细录入 6 费用明细录入――XML 7 PreClearing 费用预结算/结算(住院) 8 CanceCalcFee 取消住院结算 9 GetCalcFee 读取住院结算信息和审批表 10 GetParmItem 读取基本信息(疾病信息表和报销公式等) DeleteHosInfo 11 取消入院登记信息(包括费用明细一起删除) UpdateInterItem 12 上传或取消医院项目对应编码 DelunCheckItem 13 删除已经上传而未审核的项目 DeleteFeeList 14 删除已上传费用明细(全部) UpdateHosOffice 15 上传医院科室信息 DelHosOffice 16 删除医院科室信息 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

23 页 第 7 页 共

4.1.3. 获取病人信息

Syntax:

function GetHzPersonInfo(StrArea, aOrgCode, CardID: pchar; DataBuffer: pchar): integer; stdcall; 参数 序号 1 2 3 4 AsOrganID aOrgCode 参数名称 输入 / 输出 IN IN 参数说明 转诊区划 机构码 合作医疗证号 返回信息 数据类型 VARCHAR VARCHAR VARCHAR 20 最多长度 12 12 是否为空 N N N 备注 AsCoopMedCode IN 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 2 3 4 5 6 7 8 9 AsOrganID aOrgCode 参数名称 输入 / 输出 IN IN 转诊区划 机构码 农合证号 报销公式ID 入院病人姓名 个人序号 入院诊断(合管办提供的疾病代码) 入院诊断(合管办提供的疾病名称) 入院日期 扣额 – 报销公式没有调整时:扣额=‘’ 只调整起付线:扣额=调整后起付金额 + $ 参数说明 数据类型 最多长度 是否为空 N N N N N N N N N Y 备注 VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR Integer VARCHAR VARCHAR (YYYY-MM-DD HH:MM:SS) VARCHAR 12 12 18 4 10 10 40 AsCoopMedCode IN AsExpressionsID IN AsPatientName AiIDNo AsIllCode AsIllName AInDate Adke IN IN IN IN IN IN 10 12 23 页 第 8 页 共

只调整报销比率:扣额=$ + 调整后报销比率 两个都调整 :扣额=调整后起付金额 + $ + 调整后报销比率 AdLimitDef IN 限额定义(0-不限;1-限额;2-定额 第一位为上面的三个字符(0、1、2),从第二位开始为金额,金额不为空,为空时补 0) VARCHAR N 11 10 12 AsDoctorName AsPatientId 13 AsFlag IN IN IN 14 AiDiagNo 15 IN 主治医生 住院号+@@+科室号+@@+档案号 是入院还是修改住院信息(0-入院登记,DATABUFFER返回就诊次数;1-住院信息修改,DATABUFFER为输入就诊次数) 就诊次数 VARCHAR VARCHAR VARCHAR 12 60 Y Y N 1 VARCHAR 2 AsExpenseKind 16 IN AsLimitIllCode 17 IN 21--普通住院 22--单病种住院 23—正常分娩住院 29—其他住院 90—其他 单病种疾病编码 VARCHAR 2 Y当ASFLAG=1,不能为空 Y VARCHAR 4 18 DataBuffer Return :成功0 ;失败< 0 ReMarks:

OUT 返回值 VARCHAR 100 Y当AsExpenseKind=22时不能为空 当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;

23 页 第 9 页 共

参数:

序号 AsOrganID aOrgCode AsCoopMedCode AiIDNo AiDiagNo AsItemCode AsHosCode ADInputDate AfPrice AfNum AfFee AsUnit AsOfficeName AsDoctor AsCompound 15 16 DataBuffer OUT 参数名称 输入 / 输出 IN IN IN IN IN IN IN IN IN IN IN IN IN IN IN 转诊区划 机构码 合作医疗证号 户个人序号 就医序号 新合项目编码 医院项目编码 录入时间 单价 数量 金额 单位量 用药科室 医生 VARCHAR(12) VARCHAR(12) VARCHAR(20) Integer Integer VARCHAR(20) VARCHAR(20) (YYYY-MM-DD HH:MM:SS) Double Double Double VARCHAR(10) VARCHAR(20) VARCHAR(20) N N N N N Y N N N N N Y N Y N 参数说明 数据类型 是否为空 1 2 3 4 5 6 7 8 9 10 11 12 13 14 处方标致:VARCHAR(1) ‘2’单 / ‘1’复方 VARCHAR(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 2 3 4 5 6 AsOrganID aOrgCode AsCoopMedCode AiIDNo AiDiagNo aListFile 参数名称 输入 / 输出 IN IN IN IN IN IN 参数说明 转诊区划 机构码 合作医疗证号 户个人序号 就医序号 明细文件(XML文件,含路径) 23 页 第 10 页 共

数据类型 VARCHAR(12) VARCHAR(12) VARCHAR(20) Integer Integer VARCHAR(100) N N N N N N 是否为空

7 DataBuffer OUT VARCHAR(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 2 3 4 5 6 7 8 AsOrganID aOrgCode AsCoopMedCode AiIDNo AiDiagNo APreClearFlag ADayCount AOutDate 参数名称 输入 / 输出 IN IN IN IN IN IN IN IN 参数说明 转诊区划 机构码 合作医疗证号 户个人序号 就医序号 数据类型 VARCHAR VARCHAR VARCHAR Integer Integer 最多长度 12 12 20 是否为空 N N N N N N N N 备注 预/结算标致(0-Integer 预结算,1-结算) Integer 住院天数 (YYYY-MM-DD 出院时间 HH:MM:SS) 23 页 第 11 页 共

9 AJsDate AOutStatus IN IN (YYYY-MM-DD HH:MM:SS) 出院状态(1-治VARCHAR 结算时间 愈;2-好转;3-未愈;4-死亡;9-其他) N N 10 11 DataBuffer OUT 1 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 2 3 4 AsOrganID aOrgCode AsCoopMedCode AiIDNo 参数名称 输入 / 输出 IN IN IN IN 参数说明 转诊区划 机构码 合作医疗证号 户个人序号 就医序号 数据类型 VARCHAR VARCHAR VARCHAR Integer Integer 最多长度 12 12 20 是否为空 N N N N N Y 备注 IN 5 AiDiagNo OUT 6 DataBuffer Return :成功0 ;失败< 0 4.1.9. 读取住院结算信息和审批表[住院]

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

Syntax:

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

参数:

序号 1 2 3 4 AsOrganID aOrgCode AsCoopMedCode AiIDNo 参数名称 输入 / 输出 IN IN IN IN 参数说明 行政区划 机构码 合作医疗证号 户个人序号 数据类型 VARCHAR VARCHAR VARCHAR Integer 最多长度 12 12 20 是否为空 N N N N 备注 23 页 第 12 页 共

5 AiDiagNo IN OUT 6 DataBuffer Return :成功0 ;失败< 0 Remarks:

第一段--基本信息

就医序号 Integer N Y 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 2 AsOrganID aOrgCode Askind 参数名称 输入 / 输出 IN IN IN 参数说明 转诊区划 机构码 数据类型 VARCHAR(12) VARCHAR(12) 最多长度 12 12 是否为空 N N N 备注 3 4 5 StrFileName DataBuffer IN OUT VARCHAR(1) 类型 0:帐套信息 1:疾病代码表; 2:报销公式目录; 3:项目目录; 4:已审核项目; 5:转诊区域; 6:单病种信息表; 7:统计科室 文件名(不含路径) Varchar(20) 错误返回信息 1 20 N 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,Valid 可用标志(1可用,2停用),Spell 拼音码, FiveStrokes 五笔码,GradeToPrice 等级限价,Grade 等级,WjCode ,FeeTypeCode 类型编号,

23 页 第 13 页 共

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 2 3 4 5 6 AsOrganID aOrgCode AsCoopMedCode AiIDNo AiDiagNo DataBuffer 参数名称 输入 / 输出 IN IN IN IN IN OUT 参数说明 转诊区划 机构码 合作医疗证号 户个人序号 就医序号 错误信息 数据类型 VARCHAR VARCHAR VARCHAR Integer Integer 最多长度 12 12 20 是否为空 N N N N N Y 备注 Return :成功0 ;失败< 0 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;

参数:

23 页 第 14 页 共

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

参数名称 AsOrganID aOrgCode AsFlag AsHosCode AsHosName AsHosSpec AsHosUnit AsHosCd AsHosType AsHosKind 输入 / 输出 IN IN IN IN IN IN IN IN IN IN 参数说明 转诊区划 机构码 0-增加或修改,1-撤消审核 医院项目编码(唯一) 医院项目名称 规格 包装单位 产地 剂型 数据类型 VARCHAR VARCHAR CHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR 最多长度 12 12 1 20 80 40 10 20 20 1 10 10 20 100 是否为空 N N N N N Y Y Y Y N N Y Y Y 备注

AsHosPym AsHosWbx AsItemCode AsDetail DataBuffer IN IN IN IN OUT 类型(1-诊疗项CHAR 目 2手术项目 3西药 4中草药) VARCHAR 拼音码 VARCHAR 五笔码 对应的新合编VARCHAR 码 VARCHAR 撤消说明 错误信息 Return :成功0 ;失败< 0

Remarks:

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

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

Syntax:

function DelunCheckItem(aOrganID, aOrgCode, aHosCode: PChar; DataBuffer: pchar): Integer; stdcall; 序号 1 2 3 4 AsOrganID aOrgCode aHosCode DataBuffer 参数名称 输入 / 输出 In IN In Out 参数说明 行政区划 机构码 医院项目编号 返回信息 数据类型 Varchar VARCHAR Varchar Varchar 最多长度 12 12 20 100 是否为空 N N N Y 备注 DataBuffer说明:成功返回空,否则返回错误信息。 Return :成功0 ;失败< 0

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

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

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

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

23 页 第 15 页 共

参数定义: 序号 1 2 3 4 5 6 AsOrganID aOrgCode AsCoopMedCode AiIDNo AiDiagNo DataBuffer 参数名称 输入 / 输出 In IN In In In Out 参数说明 行政区划 机构码 农合证号 个人序号 就医序号 返回信息 数据类型 Varchar VARCHAR Varchar int Int Varchar 最多长度 12 12 12 100 是否为空 N N N N N Y 备注 DataBuffer说明:成功返回空,否则返回错误信息。 Return :成功0 ;失败< 0

4.1.15. 上传医院科室信息

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

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

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

参数定义:

序号 1 2 3 4 5 6 aOrganID aOrgCode aOfficeNo aOfficeName aStatCode DataBuffer 参数名称 输入 / 输出 In IN In In In Out 参数说明 行政区划 机构码 科室编号 科室名称 统计科室 返回信息 数据类型 Varchar VARCHAR Varchar Varchar Varchar Varchar 最多长度 12 12 8 50 8 100 是否为空 N N N N N Y 备注 DataBuffer说明:成功返回空,否则返回错误信息。 Return :成功0 ;失败< 0

4.1.16. 删除医院科室信息

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

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

function DelHosOffice(aOrganID, aOrgCode, aOfficeNo: pchar; DataBuffer: pchar): Integer; stdcall; 参数定义: 序号 1 2 3 4 aOrganID aOrgCode aOfficeNo DataBuffer 参数名称 输入 / 输出 In IN In Out 参数说明 行政区划 机构码 科室编号 返回信息 数据类型 Varchar VARCHAR Varchar Varchar 最多长度 12 12 8 100 是否为空 N N N Y 备注 DataBuffer说明:成功返回空,否则返回错误信息。

23 页 第 16 页 共

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 2 3 4 5 6 7 8 9 10 aXZQH aOrgCode aCoopMedCode aIDNO aInDate aIllCode aIllName aExpenseKind aDoctorName 参数名称 输入 / 输出 In In In In In In In In In Out 参数说明 行政区划 服务单位 新农合证号 个人序号 就诊时间 疾病编号 疾病名称 补偿类别 医生姓名 返回信息 数据类型 Varchar Varchar Varchar Int varchar Varchar Varchar Varchar Varchar Varchar 最多长度 12 12 18 10 10 40 2 20 100 是否为空 N N N N N Y Y N Y Y 备注 yyyy-MM-dd 11普通门诊 13预防接种 19门诊特殊疾病 90其他 DataBuffer 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 2 3 4 5 6 7 8 9 10 11 12 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo aHosCode aUnit aPrice aNum aOfficeName aRecipeNo aYyDate 参数名称 输入 / 输出 In In In In In In In In In In In In 参数说明 行政区划 服务单位 新农合证号 个人序号 就诊序号 项目编号 单位 单价 数量 用药科室 处方号 用药时间 数据类型 Varchar Varchar Varchar Int Int Varchar Varchar Numeric(10,4) Numeric (6,2) Varchar Varchar Date 最多长度 12 12 10 8 10 40 12 是否为空 N N N N N N Y N N Y Y Y 医院项目编号 备注 23 页 第 17 页 共

13 14 aGrade DataBuffer In Out 价格级别 返回信息 Varchar Varchar 1 100 N Y 0无限价 1 一级 2 二级3 三级 DataBuffer 说明:费用序号。 Return :成功0 ;失败< 0

4.1.19. 删除门诊登记

功能描述:在新农合系统中删除参合患者的门诊费用信息及明细。 调用说明:HIS系统在办理门诊项目就医时调用。

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

参数定义:

序号 1 2 3 4 5 6 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo DataBuffer 参数名称 输入 / 输出 In In In In In Out 参数说明 行政区划 医疗服务单位 新农合证号 个人序号 就诊序号 返回信息 数据类型 Varchar Varchar Varchar Int Int Varchar 最多长度 12 12 10 100 是否为空 N N N N N 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 2 3 4 5 6 7 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo aRecFile DataBuffer 参数名称 输入 / 输出 In In In In In IN Out 参数说明 行政区划 医疗服务单位 新农合证号 个人序号 就诊序号 文件名(不含路径) 返回信息 数据类型 Varchar Varchar Varchar Int Int Varchar Varchar 最多长度 12 12 10 20 1000 是否为空 N N N N N N Y 备注 DataBuffer 说明:0 总费用 | 1 可报销费用 | 2 报销费用 | 预留 | 预留 | 预留 | 预留 | 结算明细输出到文件,文件结构(字段顺序):(医院名称;农合号;病人姓名;性别;年龄;就诊日期;疾病名称;医生姓名;项目名称;是否可报;单位;单价;数量;金额;可报金额。)其中字段间以软换行符(#10)分隔。

Return :成功0 ;失败< 0

23 页 第 18 页 共

4.1.21. 门诊结算

功能描述:计算患者门诊报销费用。 调用说明:HIS在门诊结算时调用。

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

参数定义:

序号 1 2 3 4 5 6 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo DataBuffer 参数名称 输入 / 输出 In In In In In Out 参数说明 行政区划 医疗服务单位 新农合证号 个人序号 就诊序号 返回信息 数据类型 Varchar Varchar Varchar Int Int Varchar 最多长度 12 12 10 1000 是否为空 N N N N N 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 2 3 4 5 6 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo DataBuffer 参数名称 输入 / 输出 In In In In In Out 参数说明 行政区划 医疗服务单位 新农合证号 个人序号 就诊序号 返回信息 数据类型 Varchar Varchar Varchar Int Int Varchar 最多长度 12 12 10 100 是否为空 N N N N N Y 备注 DataBuffer 说明:失败时返回错误信息,否则为空。 Return :成功0 ;失败< 0

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

功能描述:单条删除患者门诊费用明细。 调用说明:HIS在登记门诊费用时调用。

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

参数定义:

序号 参数名称 输入 / 输出 23 页 第 19 页 共

参数说明 数据类型 最多长度 是否为空 备注 1 2 3 4 5 6 aXZQH aOrgCode aCoopMedCode aIDNO aDiagNo aFeeNo In In In In In In 行政区划 医疗服务单位 新农合证号 个人序号 就诊序号 费用序号 Varchar Varchar Varchar Int Int Int 12 12 10 N N N N N N Y 7 DataBuffer Out 返回信息 Varchar 100 DataBuffer 说明:失败时返回错误信息,否则为被删除的费用序号。 Return :成功0 ;失败< 0 4.1.24. 用读卡器读卡

功能描述:读取刷卡信息并解密获得卡号(使用本公司提供的读卡器和卡) 调用说明:HIS在录入病人信息,病人刷农合卡时调用。

function User_ReadCard(COMi: integer; rData: PChar): integer; stdcall; 参数定义: 序号 1 2 参数 COMi rData 输入/输出 IN Out 参数名 串口号 卡号 是否可空 N Y INT 类型 VARCHAR(300) COMi =( 1,2,3,4,,,,) rData:返回卡号,需要预设一定长度。出错时返回错误提示信息。 Return :成功0 ;失败< 0 4.1.25. 根据读取的卡信息获得卡号

功能描述:解密卡信息获得卡号(适用本公司提供的卡) 调用说明:HIS在录入病人信息,病人刷农合卡时调用。

function GetCardIDByCode(Code: PChar; CardID: PChar): integer; 参数定义:

参数 输入/输出 参数名 是否可空 序号 1 2 Code CardID IN Out 卡信息 卡号 N Y 类型 VARCHAR(300) VARCHAR(300) rData:返回卡号,需要预设一定长度。出错时返回错误提示信息。

Return :成功0 ;失败< 0 4.1.26. 根据卡号获得农合证号

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

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

function GetCoopMedCodeByCardID(aOrganID, aOrgCode, aCardID: pchar; DataBuffer: pchar): Integer; stdcall; 参数定义: 序号 1 2 3 4 参数 aOrganID aOrgCode aCardID DataBuffer 输入/输出 IN IN IN OUT 参数名 行政区划 机构码 卡号 是否可空 N N N 23 页 第 20 页 共

类型 VARCHAR(12) VARCHAR(12) VARCHAR(300) VARCHAR(300) DataBuffer:返回农合证号,失败返回错误信息。

Return :成功0 ;失败< 0 4.1.27. 测试串口连接

功能描述:安装读卡器时,测试连接串口(使用本公司提供的读卡器) 调用说明:测试读卡器是否连接正确时调用 function TestComConn (COMi: integer): integer; stdcall; 参数定义: 序号 1 参数 COMi 输入/输出 IN 参数名 串口号 是否可空 N INT 类型 COMi =( 1,2,3,4,,,,) Return :成功 0 ;失败 <0

刷卡 函数 调用 说明:

1、 本公司提供的读卡器 和 卡:(TestComConn;User_ReadCard;GetCoopMedCodeByCardID)。 2、 本公司提供的卡:(读卡;GetCardIDByCode; GetCoopMedCodeByCardID)。 3、 否则:(读卡;GetCoopMedCodeByCardID)。

4.1.28. 村卫生室同步乡镇卫生院的审核项目

功能描述:让村卫生室和乡镇卫生院的项目 保持同步。 调用说明:有新的项目产生时调用

function QJ_UpdateCheckItem(aOrganID, aOrgCode: PChar; DataBuffer: PChar): Integer; stdcall; 参数定义:

参数 输入/输出 参数名 是否可空 类型 序号 1 2 3 3 aOrganID aOrgCode aPOrgCode DataBuffer IN IN IN Out 行政区划 (村)机构码 (乡镇)机构码 N N N Y Varchar(12) Varchar(12) Varchar(12) Varchar(100) DataBuffer:失败返回错误信息。 Return :成功0 ;失败< 0

4.2. 示例

4.2.1. DELPHI引用及

function InitDLL(StrError:pchar):integer;stdcall;external 'LxClient.dll';

function GetHzPersonInfo(AsOrganID,AsCoopMedCode,DataBuffer:pchar):integer; stdcall;external 'LxClient.dll'; function GetParmItem(AsOrganID,AsKind,DataBuffer:pchar):integer; stdcall; external 'LxClient.dll'; //

function SaveInHosInfo(AsOrganID, AsCoopMedCode, AsExpressionsID, AsPatientName: pchar; AiIDNo: Integer; AsIllCode, AsIllName, AInDate,Adke,AdLimitDef,AsDoctorName,AsPatientNo,Asflag: pchar; AiDiagNo, AsExpenseKind ,DataBuffer:Pchar): Integer; stdcall; external 'LxClient.dll'; //

function GetCheckItem(AsOrganID:pchar):Integer; stdcall; external 'LxClient.dll'; // function SaveFreeList(AsOrganID, AsCoopMedCode:PChar;AiIDNo, AiDiagNo:Integer;

23 页 第 21 页 共

AsItemCode,AsHosCode,ADInputDate: pchar; AfPrice, AfNum, AfFee: Double; AsUnit,

AsOfficeName,AsDoctor,AsCompound: pchar;DataBuffer: Pchar): Integer; stdcall;external 'LxClient.dll';

function PreClearing(AsOrganID, AsCoopMedCode: pchar; AiIDNo, AiDiagNo, APreClearFlag: Integer; ADayCount: Integer; AOutDate, AJsDate, AOutStatus,DataBuffer : Pchar): Integer; stdcall;external 'LxClient.dll'; //

function CanceCalcFee(AsOrganID, AsCoopMedCode: pchar;AiIDNo, AiDiagNo:integer;DataBuffer:pchar): Integer; stdcall; external 'LxClient.dll';

function GetCalcFee(AsOrganID, AsCoopMedCode: pchar;AiIDNo, AiDiagNo:integer;DataBuffer:pchar): Integer; stdcall; external 'LxClient.dll';

代码: var

StrAreaid,strCardID,strDataBuffer:pchar; li_return:integer; begin

StrAreaid:='420105';

strCardID:='0101010001';

GetMem(strDataBuffer,10240);

li_return:=GetHzPersonInfo(StrAreaid,strCardID,strDataBuffer); ShowMessage('ss='+IntToStr( li_return)); ShowMessage('sss='+strDataBuffer);

Memo1.Text:=strDataBuffer; end;

4.2.2. POWERBUILDER引用及示例

引用:

Function integer InitDLL(ref string strError) Library \

Function integer GetHzPersonInfo(ref string AsOrganID,ref string AsCoopMedCode,ref string DataBuffer) Library \

Function integer SaveFreeList( string AsOrganID, string AsCoopMedCode,int AiIDNo,int AiDiagNo,& string AsItemCode, string AsHosCode, string ADInputDate, double AfPrice, double AfNum, double AfFee,string Asunit, string AsOfficeName, string AsDoctor, string AsCompound,ref string DataBuffer) Library \

function integer GetParmItem(string AsOrganID,string AsKind,ref string DataBuffer) Library \ function integer SaveInHosInfo(string AsOrganID,string AsCoopMedCode,string AsExpressionsID,string AsPatientName,&

int AiIDNo,string AsIllCode,string AsIllName,string AInDate,string Adke,string AdLimitDef, string

AsDoctorName ,string AsPatientNo,string Asflag,string AiDiagNo, string AsExpenseKind, ref string DataBuffer) Library \

function integer GetCheckItem(ref string AsOrganID) Library \

function integer PreClearing(string AsOrganID,string AsCoopMedCode,int AiIDNo,int AiDiagNo,int APreClearFlag,int ADayCount,string AOutDate,string AJsDate,string AOutStatus,ref string DataBuffer) Library \

function integer CanceCalcFee(string AsOrganID,string AsCoopMedCode,int AiIDNo,int AiDiagNo,ref string DataBuffer) Library \

function integer GetCalcFee(string AsOrganID,string AsCoopMedCode,int AiIDNo,int AiDiagNo,ref string DataBuffer) Library \

示例: integer i

23 页 第 22 页 共

string strarea,strcard,strdata strarea='420105'; strcard='0101010001'

strdata=space(1024)

i=GetHzPersonInfo(strarea,strcard,strdata) messagebox('aa','aa='+string(i)) messagebox('error','error='+strdata)

23 页 第 23 页 共

本文来源:https://www.bwwdw.com/article/spkp.html

Top