CREATE OR REPLACE PROCEDURE SP_SST_ZY_JSQR_YKT ( P_ZDBH00 in varchar2, --终端编号 P_FZXBH0 in varchar2, --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算) P_YYJGDM in varchar2, --医院机构代码(员工编码) P_CARDTYPE in varchar2, --0 代表院内卡 1 代表社保卡 2:住院号 P_CARDNO in varchar2, --IC卡号或住院号 P_BYRC00 in varchar2, --备用入参 P_XTGZH0 in varchar2, --系统跟踪号 P_DDLSH0 in varchar2 default '', --订单流水号 P_CZY000 in number default 0 , --操作员编码 P_ZYID00 in number default 0 , --住院ID PKTJE00 out number , --可退金额>0 可退 =0 无可退 <0:需补交金额 P_ERRMSG out varchar2 --出错信息 ) -- MODIFICATION HISTORY -- Person Date Comments --zhangyc 2019.07.23 created by ZYSF-20190723-004 (参考5.0) --zhangyc 2019.07.25 修改执行过程SP_ZY_DDJS_YBJK00_DATA 报错 by ZYSF-20190725-001 --zhangyc 2019.08.30 增加入参P_CZY000 by ZYSF-20190830-003 --zhangyc 2019.09.02 增加插入参数日志表BM_ZFPTCS 增加医院支付功能 by ZYSF-20190903-005 --dsm 2019.10.30 20024住院预结算结果写入ZY_BRZHXX --zhangyc 2020.02.10 YBYL35-->改为YBYL14 和增加账户余额不足提示 by ZZJJK-20200210-001 --zhangyc 2020.02.14 注释掉,商保统筹基金、商保帐户支付,写入到缴费表(同需求ZYSF-20200119-001一样处理)by ZZJJK-20200214-001 --zhangyc 2020.02.28 床边结算限制不能退银行 by BQ-20200210-002 --zhangyc 2020.02.28 床边结算修改 by ZYSF-20200212-005 --zhangyc 2020.03.02 结算前先做预结算处理 by BQ-20200210-003 --zhangyc 2020.03.04 单病种病种标准(统筹基金+医保账户支付+个人支付) by ZYSF-20200305-002 --zhnagyc 2020.03.05 LS_CYYSK0变量改成0否则现金收入审核表和缴款表会错误 by ZYSF-20200305-004 --zhangyc 2020.04.09 增加插入表ZY_PJSYMX 和表ZY_PJHSQK by ZYSF-20200414-001 --zhangyc 2020.04.21 增加插入zy_jzmxxm --zhangyc 2020.05.08 增加参数CBCYJSZFTKMS控制院内是否优先退款 --zhangyc 2020.06.06 增加CBCYJSZFTKMS=Y 时,有现金退款直接报错 by ZYSF-20200609-002 -- jlg 2020.06.22 ZYSF9-20200619-001 -- zhangyc 2020.06.30 增加调用SP_ZY_BRJFB0_INSERT ZYSF9-20200624-001 -- jlg 2020.07.02 预结算增加ZY_BRZHXX记录的修改 ZYSF9-20200702-001 -- zhangyc 2020.07.01 LS_CBCYJSZFTKMS 参数直接改成Y -- zhangyc 2020.07.04 增加出参 -- jlg 2020.07.04 增加 YBSM09,YBSM10,YBSM11,XZQH00,TYDWMC,YBYL43,YBYL44,YBYL45 等的处理 ZYSF9-20200702-001 --zhangyc 2020.07.08 增加结算金额和院内金额 cdrg和单病种病人不校验 --zhangyc 2020.07.10 如果有现金可退金额时,提示预交金总额、自费金额、 可退总额 --zhangyc 2020.08.14 预交金退款插入HSCZY0,HSCZXM,HSRQ00,HSSJ00 by ZYSF9-20200814-002 --zhangyc 2020.11.23 增加获取参数XJTKYGH_ZY是否允许退微信、支付宝 by ZYSF9-20201124-001 --zhangyc 2021.05.12 增加新医保接口 by ZYSF9-20210513-001 --zhangyc 2021.05.27 ZY_JZB000.TSBZBH和FFBZBM取AAZ149 by ZZJJK9-20210528-002 --zhangyc 2021.07.14 表ZY_YBBZMX增加保存ghhzje:工会互助补助金额 by ZYSF9-20210714-001 --zhangyc 2021.09.02 SST_JSDP_JBXX.BAE465:国家病种代码取值 --zhangyc 2021.12.07 LS_YBSM09:= RJSJBXX.BQBM00; --病情编码或CDRG组别 bqbm00 新医保取aaz149 以及 ZY_JZB000.CBYPF0:C-DRG超标药品费(SF_ZY_DBZCBFY获取) --zhangyc 2021.12.30 自费病人结算时,缴费表插入统筹基金=0 数据,避免SP_ZY_JKKJXX_TJ0000 只根据ZY_BRJFB0 未查到数据 --zhangyc 2022.03.20 国家医保接口改造 --zhangyc 2022.03.28 修改结账表写入国家医保接口数据 --zhangyc 2022.06.28 增加修改,ZY_BRXXB0,PSN_NO等等 --zhangyc 2023.04.20 修正修改结账表clr_way=substrb(LS_clr_way,10)-->clr_way=substrb(LS_clr_way,1,10) --zhangyc 2023.09.22 增加修改BM_BRXXB0.XZQH00等信息 --zhangyc 2023.10.23 接口优化 by ZYSF9-20231023-002 --linzetao 2024.04.08 CDRG病人更新ZY_JZB000.WPCWFY字段 ZYSF9-20240403-002 --zhangyc 2024.08.07 CYDJZT='1',修改住院病人信息表,YBCYRQ,和YBCYSJ,取中间表 endtime=akc194:出院时间,以及调用SP_ZY_YBCYDJ --zhangyc 2025.04.10 修改结账表medfee_sumamt、ZY_JZB000.insuplc_admdvs、mdtrtarea_admvs、psn_no、dise_codg、dise_name等等字段 --zhangyc 2025.05.26 YBBZ00=1或2(1:新医保,0:旧医保 2:国家版本)住院病人缴费表只取统筹基金总额和医保账户支付 --zhangyc 2025.09.26 修正修改ZY_BRZHXX.WJSJE0 为空报错 --zhangyc 2025.11.21 如果有转账余额,直接报错 --zhangyc 2026.02.26 院长绩效考核:插入表ZY_YBSFMX生成SP_SST_ZY_Nation_JSRZ处理,然后调用SP_SST_ZY_Nation_YNJSQR as LS_ERRORS varchar2(100); LS_CZRQ00 varchar2(8); --操作日期 LS_CZSJ00 varchar2(8); --操作时间 LS_KSRQ00 char(8); --开始日期 LS_YHKSRQ char(8); --开始日期 LS_JSRQ00 char(8); --结束日期 LS_QSDJH0 number(10); --起始单号 LS_JZDJH0 number(10); --截止单号 LS_COUNT0 number(12,2); LS_YJJZJE number(12,2); LS_JKLXBM ZY_YBJK00.JKLXBM%type; --接口编码 LS_JKLXMC ZY_YBJK00.JKLXMC%type; --接口类型名称 LS_BRID00 ZY_YBJK00.BRID00%type; --病人ID LS_ZYID00 ZY_YBJK00.ZYID00%type; --住院ID LS_ZYH000 ZY_YBJK00.ZYH000%type; --住院号 LS_YBKH00 ZY_YBJK00.YBKH00%type; --医保卡号 LS_YBID00 ZY_YBJK00.YBID00%type; --医保ID LS_DDLSH0 ZY_YBJK00.ZYH000%type; --订单流水号 LS_ZHZYE0 ZY_YBJK00.ZHZYE0%type; --账户总余额 LS_XJYE00 ZY_YBJK00.XJYE00%type; --现金余额 LS_ZZYE00 ZY_YBJK00.ZZYE00%type; --转账余额 LS_YBZFJE ZY_YBJK00.YBZFJE%type; --医保支付金额 LS_YSXJZE ZY_YBJK00.YSZJE0%type; --预收总金额 LS_YSZZZE ZY_YBJK00.ZZZJE0%type; --预收转账总金额 LS_YBBHSB IC_YBBRLB.YBBHSB%type; LS_YBZXLB ZY_BRXXB0.YBZXLB%type; LS_YBBRLB ZY_BRXXB0.YBBRLB%type; LS_YBLB00 ZY_BRXXB0.YBLB00%type; LS_FBBH00 ZY_BRXXB0.FBBH00%type; LS_XTGZH0 SST_JSDP_JBXX.XTGZH0%type; --中间表系统跟踪号 RJSJBXX SST_JSDP_JBXX%rowtype; --结算中间表主表 RZYYBJK ZY_YBJK00%rowtype; --院内日志主表 RZYXX ZY_BRXXB0%rowtype; --住院基本信息 LS_YBDJH0 ZY_JZB000.YBDJH0%type; --医保单据号 LS_JZDH00 ZY_JZB000.JZDH00%type; --结账单号 LS_PJH000 ZY_PJSYQK.PJH000%type; --票据流水号 LS_JFLBID ZY_BRJFB0.JFLBID%type; --病人交费类别ID LS_CZYBM0 ZY_BRJFB0.JFCZY0%type; --操作员编码 LS_CZYXM0 ZY_BRJFB0.CZYXM0%type; --操作员姓名 LS_JYLXMC ZY_BRJFB0.JYLXMC%type; --交易类型名称 LS_JGBM00 ZY_BRJFB0.JGBM00%type; --机构编码 LS_JGMC00 ZY_BRJFB0.JGMC00%type; --机构名称 LS_JYLSH0 ZY_BRJFB0.JYLSH0%type; --交易流水号 LS_YKTSH0 ZY_BRJFB0.JYLSH0%type; --渠道流水号 LS_JFBDJH ZY_BRJFB0.DJH000%type; --缴费单据号 LS_XJDJH0 ZY_BRJFB0.DJH000%type; --现金单据号 LS_ZZDJH0 ZY_BRJFB0.DJH000%type; --现金单据号 LS_CZYKS0 ZY_BRJFB0.CZYKS0%type; --操作员科室 LS_DQBQ00 ZY_BRJFB0.DQBQ00%type; --当前病区 LS_JFYY00 ZY_BRJFB0.JFYY00%type; --缴费原因 LS_HJJE00 ZY_JZB000.HJJE00%type; --院内费用总额 LS_BCBXF0 ZY_JZB000.BCBXF0%type; --医保费用总额 LS_TCJJZF ZY_JZB000.TCJJZF%type; --统筹基金 LS_GRZHZF ZY_JZB000.GRZHZF%type; --医保账户支付 LS_GWYBZ0 ZY_JZB000.GWYBZ0%type; --公务员补助 LS_SBGRZH ZY_JZB000.SBGRZH%type; --商保个人帐户 LS_SBTCJJ ZY_JZB000.SBTCJJ%type; --商保统筹基金 LS_SYBXZF ZY_JZB000.SYBXZF%type; --商业保险 LS_BJZFE0 ZY_JZB000.BJZFE0%type; --保健基金 LS_JZJE00 ZY_JZB000.JZJE00%type; --记账金额 LS_GFJE00 ZY_JZB000.GFJE00%type; --公费金额 LS_JMJE00 ZY_JZB000.JMJE00%type; --减免金额 LS_ZFJE00 ZY_JZB000.ZFJE00%type; --自费金额 LS_CYYSK0 ZY_JZB000.CYYSK0%type; --出院欠款金额 LS_CYYTK0 ZY_JZB000.CYYTK0%type; --出院应退款 LS_FYQSRQ ZY_JZB000.FYQSRQ%type; --费用起始日期 LS_FYJZRQ ZY_JZB000.FYJZRQ%type; --费用截止日期 LS_DBZBM0 ZY_JZB000.DBZBM0%type; --单病种编码 --LS_DBZMC0 ZY_JZB000.DBZMC0%type; --单病种名称 --LS_DBZBL0 ZY_JZB000.DBZBL0%type; --单病种比率 --LS_BZBMLB ZY_JZB000.BZBMLB%type; --病种类别 LS_YBYL01 ZY_JZB000.YBYL01%type; --民政救助总额 LS_YBYL02 ZY_JZB000.YBYL01%type; --计生救助总额 LS_YBYL03 ZY_JZB000.YBYL01%type; --残联救助总额 LS_YBYL04 ZY_JZB000.YBYL01%type; --病种定额 LS_YBYL05 ZY_JZB000.YBYL01%type; --医院支付 LS_YBYL06 ZY_JZB000.YBYL01%type; --医保预留06 LS_YBYL07 ZY_JZB000.YBYL01%type; --医保预留07 LS_YBYL08 ZY_JZB000.YBYL01%type; --医保预留08 LS_YBYL09 ZY_JZB000.YBYL01%type; --医保预留09 LS_YBYL10 ZY_JZB000.YBYL01%type; --医保预留00 LS_YBYL11 ZY_JZB000.YBYL01%type; --医保预留11 LS_YBYL12 ZY_JZB000.YBYL01%type; --医保预留12 LS_YBYL13 ZY_JZB000.YBYL01%type; --医保预留13 LS_YBYL14 ZY_JZB000.YBYL01%type; LS_YBYL15 ZY_JZB000.YBYL01%type; LS_YBYL16 ZY_JZB000.YBYL01%type; LS_YBYL17 ZY_JZB000.YBYL01%type; LS_YBYL18 ZY_JZB000.YBYL01%type; LS_YBYL19 ZY_JZB000.YBYL01%type; LS_YBYL20 ZY_JZB000.YBYL01%type; LS_YBYL21 ZY_JZB000.YBYL01%type; LS_YBYL22 ZY_JZB000.YBYL01%type; LS_YBYL23 ZY_JZB000.YBYL01%type; LS_YBYL24 ZY_JZB000.YBYL01%type; LS_YBYL25 ZY_JZB000.YBYL01%type; LS_YBYL26 ZY_JZB000.YBYL01%type; LS_YBYL27 ZY_JZB000.YBYL01%type; LS_YBYL28 ZY_JZB000.YBYL01%type; LS_YBYL29 ZY_JZB000.YBYL01%type; LS_YBYL30 ZY_JZB000.YBYL01%type; LS_YBYL31 ZY_JZB000.YBYL01%type; LS_YBYL32 ZY_JZB000.YBYL01%type; LS_YBYL33 ZY_JZB000.YBYL01%type; LS_YBYL34 ZY_JZB000.YBYL01%type; LS_YBYL35 ZY_JZB000.YBYL01%type; LS_YBYL36 ZY_JZB000.YBYL01%type; LS_YBYL37 ZY_JZB000.YBYL01%type; LS_YBYL38 ZY_JZB000.YBYL01%type; LS_YBYL39 ZY_JZB000.YBYL01%type; LS_YBYL40 ZY_JZB000.YBYL01%type; LS_YBYL41 ZY_JZB000.YBYL01%type; LS_YBYL42 ZY_JZB000.YBYL01%type; LS_YBYL43 ZY_JZB000.YBYL01%type; LS_YBYL44 ZY_JZB000.YBYL01%type; LS_YBYL45 ZY_JZB000.YBYL01%type; LS_YBYL46 ZY_JZB000.YBYL01%type; LS_YBYL47 ZY_JZB000.YBYL01%type; LS_YBYL48 ZY_JZB000.YBYL01%type; LS_YBYL49 ZY_JZB000.YBYL01%type; LS_YBSM01 ZY_JZB000.YBSM01%type; LS_YBSM02 ZY_JZB000.YBSM02%type; LS_YBSM03 ZY_JZB000.YBSM03%type; LS_YBSM04 ZY_JZB000.YBSM04%type; LS_YBSM05 ZY_JZB000.YBSM05%type; LS_YBSM06 ZY_JZB000.YBSM06%type; LS_YBSM07 ZY_JZB000.YBSM07%type; LS_YBSM08 ZY_JZB000.YBSM08%type; LS_YBSM09 ZY_JZB000.YBSM09%type; LS_YBSM10 ZY_JZB000.YBSM10%type; LS_YBSM11 ZY_JZB000.YBSM11%type; LS_CFXMS0 ZY_JZB000.CFXMS0%type; --处方项目数 LS_DBZCWF number(12,2);--单病种超标床位费用 LS_DBZHCF number(12,2);--单病种除外耗材费用 LS_TXYLFW number(12,2);--特需医疗服务费用(付费单病种) LS_FYHJJE ZY_JZB000.HJJE00%type; --费用总额 LS_JZHJJE ZY_JZB000.HJJE00%type; --结账总额 LS_JSLX00 ZY_JZB000.JSLX00%type; --结算类型 0:中途结算,1:出院结算2:呆账结算3:年度结算 LS_SFDY00 ZY_PJSYQK.SFDY00%type; --是否打印 Y':票据已打印,'N':票据未打印 LS_CBJSTK varchar2(100);--床边出院结算账户余额退款参数(第一位是否允许退现金:N:否 Y:是 M:银行卡退出,第二位原路退款:Y:是 N:否) 默认值:N,Y LS_DDJSZDBH varchar2(30);--多点结算操作员终端编号对应(=SST_YGBHDY.ZZJBH0),未维护按实际操作员 LS_ZDBH00 SST_YGBHDY.ZZJBH0%type;--终端编码 --LS_JKQQCS BM_ZFPTCS.JKQQCS%type; LS_JKQQCS varchar2(2000);-- LS_CYQKJE number(12,2); LS_QFJE00 number(12,2); --欠费金额<0 >=0 退款 --调用SP_ZY_PAY_TKDATA的参数 OUT_CXLSH0 varchar2(30) ;--退款查询流水号 OUT_BCFYZE number(12,2) ;--本次费用总额 OUT_YBBCJC number(12,2) ;--本次医保补偿金额 OUT_BCZFJE number(12,2) ;--本次自付金额 OUT_YJJZE0 number(12,2) ;--预交金总额 OUT_YTZJE0 number(12,2) ;--应退总额 OUT_TKXJ00 number(12,2) ;--可退款现金 OUT_TKZZ00 number(12,2) ;--可退款转账 OUT_TKPOS0 number(12,2) ;--可退款POS OUT_TKWX00 number(12,2) ;--可退款微信 OUT_TKZFB0 number(12,2) ;--可退款支付宝 OUT_TKDZZF number(12,2) ;--可退款电子支付 OUT_TKQTJE number(12,2) ;--可退款其它 OUT_TKJLS0 number(12,2) ;--退款记录数 OUT_TKZJE0 number(12,2) ;--退款总金额 OUT_ERRSTR varchar2(400) ;--错误信息 OUT_PAYJE0 number(12,2) ;--微信、支付宝、银行卡、聚会支付 LS_CBCYJSZFTKMS varchar2(100);--床边出院结算微信、支付宝是否启用院内优先退款模式 Y:是 N:否 默认值:N LS_BZXX00 varchar2(200);--备注信息 LS_JKLXBH BM_ZFRZ00.JKLXBH%type; -- LS_ZFDDH0 BM_ZFRZ00.DDLSH0%type; --支付订单号BM_ZFRZ00.DDLSH0 LS_ZFDJH0 BM_ZFRZ00.DJH000%type; --支付订单号BM_ZFRZ00.DJH000 LS_ZFQDBM BM_ZFRZ00.ZFQDBM%type; --支付渠道编码 LS_ZFJKCS varchar2(100);--支付接口参数住院是否启用微信或支付宝接口 Y:易惠公司 M:医信公司 P:联空网络 R:健康之路当面付 Q:医联支付 D:多厂家支付 N:都不开启 LS_ZXZT00 number(12); --执行状态:0:失败 1:成功 2:不执行 LS_TQTK00 BM_ZFRZ00.TQTK00%type; ----支付退款状态 0:正常模式 1:交互前院内优先退款 2:结算后院内优先退款 3:平台退款成功 LS_ERRMSG varchar2(400);--错误信息 ls_PLBH00 BM_PJLXB0.PLBH00%type; LS_ZXCGBZ number(1); --执行成功标志 1成功 0失败 2存在项目总额为负 3余病人额不足4医保支付金额大于病人费用 LS_TSXX00 varchar2(400); --执行结果提示信息,成功的情况下也可能有警告信息 LS_XXXX00 varchar2(400); --执行结果详细信息,成功的情况下也可能有警告信息,一般用来显示参数等指标 LS_PJXH00 ZY_PJSYQK.PJXH00%type; --票据序号 LS_PJLYID BM_PJLYQK.PJLYID%type; ls_XJYJZE ZY_JZB000.XJYJZE%type; ls_ZZYJZE ZY_JZB000.ZZYJZE%type; ls_FPPJXH ZY_PJSYQK.PJXH00%type; --住院发票的票据序号 ls_XZQH00 BM_BRXXB0.XZQH00%Type; ls_TYDWMC BM_BRXXB0.TYDWMC%Type; ls_JFBZ00 ZY_BRJFB0.JFBZ00%type; --交费标志 '0'交预交金,'1'退预交金 '2'作废 ls_ID0000 ZY_YBFSMX.ID0000%type; --医保发送明细的ID LS_XJTKYGH_ZY varchar2(100);--住院收费系统出院结算不允许退微信、支付宝等,内部员工(BM_YGBM00.YGBH00)参数多个用,隔开(如:A,B) LS_CBJSTXJBZ varchar2(10);--床边结算退现金标志(Y:全部退现金 N:否) LS_YBBZ00 SST_JSDP_JBXX.YBBZ00%type;--自助机填写:医保标志(区分新旧医保)1:新医保,0:旧医保 LS_YBZYH0 varchar2(30);--医保住院号 LS_JKCJMC BM_YBJKLS.JKCJMC%type;-- LS_YBYL52 ZY_JZB000.YBYL52%type;-- akc227 医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_YBYL53 ZY_JZB000.YBYL53%type;-- bkc102 基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_YBYL54 ZY_JZB000.YBYL54%type;-- bkc040 个人现金支付金额(实付现金) LS_YBYL55 ZY_JZB000.YBYL55%type;-- bkc041 个人帐户支付总额=医保帐户支付+健康帐户支付+家庭共济帐户支付 LS_YBYL56 ZY_JZB000.YBYL56%type;-- bkc045 其中:统筹基金支付 LS_YBYL57 ZY_JZB000.YBYL57%type;-- bkc059 其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3) LS_YBYL58 ZY_JZB000.YBYL58%type;-- bkc052 其中:大病保险基金支付(商业保险支付) LS_YBYL59 ZY_JZB000.YBYL59%type;-- bkc062 其中:精准扶贫医疗叠加 LS_YBYL60 ZY_JZB000.YBYL60%type;-- bkc060 其中:医疗救助基金 LS_YBYL61 ZY_JZB000.YBYL61%type;-- ake173 其中:其他基金支付 LS_YBYL62 ZY_JZB000.YBYL62%type;-- ake026 其中:企业补充 LS_YBYL63 ZY_JZB000.YBYL63%type;-- bkc011 个人自费(非医保费用) LS_YBYL64 ZY_JZB000.YBYL64%type;-- akc087 个人账户余额 LS_YBYL65 ZY_JZB000.YBYL65%type;-- aka151 统筹支付医保费用起付标准 LS_YBYL66 ZY_JZB000.YBYL66%type;-- aka150 住院次数或就诊次数 LS_YBYL67 ZY_JZB000.YBYL67%type;-- bkc612 补助基金支付bkc612=bkc052 大病保险基金支付+bkc059公务员医疗补助+bkc062精准扶贫医疗叠加+bkc060医疗救助基金+ake173 其他基金支付+ake026企业补充+bkc061保健基金支付 LS_YBYL68 ZY_JZB000.YBYL68%type;-- bkc064 产前检查费(医保返回) LS_YBYL69 ZY_JZB000.YBYL69%type;-- txylfwfy 特需医疗服务费用(医保未返回) LS_YBSXZD_VALUE0 BM_YBSXZD.VALUE0%type;--医保属性字典值 YBXZQH_mdtrtarea_admvs varchar2(10);--[国家医保]就医地医保区划 LS_aab034 SST_JSDP_JBXX.aab034%type;--varchar2(8) ,--医保返回:所属经办机构编码(分中心编码) LS_aab034_mc SST_JSDP_JBXX.aab034_mc%type;--varchar2(100) ,--医保返回:所属经办机构编码名称(分中心名称) LS_bke042 SST_JSDP_JBXX.bke042%type;--his填写:his流水号 LS_OrdNewyb varchar2(2);--新旧医保标识 0:旧 1:新 LS_YBTYPE varchar2(2);-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] zy_bkc001_mc ZY_BRXXB0.bkc001_mc%type;--人员待遇类别名称(城乡居民、普通在职人员等等) zy_aae140 ZY_BRXXB0.aae140%type;--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 zy_aae140_mc ZY_BRXXB0.aae140_mc%type;--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 zy_psn_no ZY_BRXXB0.psn_no%type;--人员编码 LS_aae140 ZY_JZB000.aae140%type;--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 LS_aae140_mc ZY_JZB000.aae140_mc%type;--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 LS_bkc001_mc ZY_JZB000.bkc001_mc%type;--人员待遇类别名称(城乡居民、普通在职人员等等) LS_bke174 ZY_JZB000.bke174%type;--异地就医类型编码:1 省内 2 省外 3 市内 4 市外 LS_bke174_mc ZY_JZB000.bke174_mc%type;--异地就医类型名称:(省内、省外、市内、市外) LS_aaz149 SST_JSDP_JBXX.aaz149%type;--[aaz149]病情编码 LS_bkc166 SST_JSDP_JBXX.bkc166%type;--[bkc166]一般诊疗费补偿金额 LS_bkc167 SST_JSDP_JBXX.bkc167%type;--[bkc167]一般诊疗费费个人支付金额 LS_bkc076 SST_JSDP_JBXX.bkc076%type;--[bkc076]健康账户支付 LS_bkc079 SST_JSDP_JBXX.bkc079%type;--[bkc079]健康账户余额 LS_bkc591 SST_JSDP_JBXX.bkc591%type;--[bkc591]共济账户余额 LS_bka531 SST_JSDP_JBXX.bka531%type;--[bka531]是否精准扶贫 Y是 N否 LS_TMQFLJ SST_JSDP_JBXX.TMQFLJ%type;--[TMQFLJ]特殊门诊起付线累计 LS_TMJJLJ SST_JSDP_JBXX.TMJJLJ%type;--[TMJJLJ]特殊门诊基金累计 LS_bke856 SST_JSDP_JBXX.bke856%type;--[bke856] 超封顶线金额 LS_bkc134 SST_JSDP_JBXX.bkc134%type;--[bkc134] 乙类先行自付额 LS_BKE921 SST_JSDP_JBXX.BKE921%type;-- LS_BKE922 SST_JSDP_JBXX.BKE922%type;-- LS_bkc620 SST_JSDP_JBXX.bkc620%type;-- LS_BKC619 SST_JSDP_JBXX.BKC619%type;-- LS_bke297 SST_JSDP_JBXX.bke297%type;-- LS_bka555 SST_JSDP_JBXX.bka555%type;-- LS_bka188 SST_JSDP_JBXX.bka188%type;-- LS_YBJKID SST_JSDP_JBXX.YBJKID%type;-- LS_bke284 SST_JSDP_JBXX.bke284%type;--[bke284]身份认证类型(01:读卡02:融合码06:医保码20:医疗证) LS_akc190 SST_JSDP_JBXX.akc190%type;--varchar2(16) ,--医保返回:医保门诊挂号流水号/住院登记流水号 LS_aae072 SST_JSDP_JBXX.aae072%type;--varchar2(16) ,--医保返回:医保收费流水号 LS_akc227 SST_JSDP_JBXX.akc227%type;--number(12,2) ,--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_bkc040 SST_JSDP_JBXX.bkc040%type;--number(12,2) ,--医保返回:个人现金支付金额(实付现金) LS_bkc041 SST_JSDP_JBXX.bkc041%type;--number(12,2) ,--医保返回:个人账户支付金额 LS_bkc102 SST_JSDP_JBXX.bkc102%type;--number(12,2) ,--医保返回:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_bkc045 SST_JSDP_JBXX.bkc045%type;--number(12,2) ,--医保返回:其中:统筹基金支付 LS_bkc052 SST_JSDP_JBXX.bkc052%type;--number(12,2) ,--医保返回:其中:大病保险基金支付(商保支付或商业保险) LS_bkc059 SST_JSDP_JBXX.bkc059%type;--number(12,2) ,--医保返回:公务员医疗补助 LS_bkc062 SST_JSDP_JBXX.bkc062%type;--number(12,2) ,--医保返回:其中:精准扶贫医疗叠加 LS_bkc060 SST_JSDP_JBXX.bkc060%type;--number(12,2) ,--医保返回:其中:医疗救助基金 LS_ake173 SST_JSDP_JBXX.ake173%type;--number(12,2) ,--医保返回:其中:其他基金支付 LS_ake026 SST_JSDP_JBXX.ake026%type;--number(12,2) ,--医保返回:其中:企业补充 LS_bkc011 SST_JSDP_JBXX.bkc011%type;--bkc011 个人自费(非医保费用) LS_bkc075 SST_JSDP_JBXX.bkc075%type;--bkc075 家庭共济账户支付 LS_bkc053 SST_JSDP_JBXX.bkc053%type;--bkc053 商保现金支付 LS_bkc054 SST_JSDP_JBXX.bkc054%type;--bkc054 商保账户支付 LS_akc087 SST_JSDP_JBXX.akc087%type;--akc087 个人账户余额 LS_aka151 SST_JSDP_JBXX.aka151%type;--aka151 统筹支付医保费用起付标准 LS_aka150 SST_JSDP_JBXX.aka150%type;--aka150 本年度住院次数 LS_bkc612 SST_JSDP_JBXX.bkc612%type;--bkc612 补助基金支付bkc612=bkc052 大病保险基金支付+bkc059公务员医疗补助+bkc062精准扶贫医疗叠加+bkc060医疗救助基金+ake173 其他基金支付+ake026企业补充+bkc061保健基金支付 LS_bkc064 SST_JSDP_JBXX.bkc064%type;--bkc064 产前检查费(医保返回) LS_insuplc_admdvs SST_JSDP_JBXX.insuplc_admdvs%type;--varchar2(10) null ,--[国家医保]参保地行政区划(aab301) LS_mdtrtarea_admvs SST_JSDP_JBXX.mdtrtarea_admvs%type;--varchar2(10) null ,--[国家医保]就医地医保区划 LS_insutype SST_JSDP_JBXX.insutype%type;--varchar2(10) null ,--[国家医保]险种类型(aae140) LS_mdtrt_cert_type SST_JSDP_JBXX.mdtrt_cert_type%type;--varchar2(10) null ,--[国家医保]就诊凭证类型(bke284)01:医保凭证 02:身份证号 03:社保卡 LS_mdtrt_cert_no SST_JSDP_JBXX.mdtrt_cert_no%type;--varchar2(50) null ,--[国家医保]卡号(aaz500) LS_certno SST_JSDP_JBXX.certno%type;--varchar2(50) null ,--[国家医保]证件号码(aac002) LS_psn_name SST_JSDP_JBXX.psn_name%type;--varchar2(50) null ,--[国家医保]姓名(aac003) LS_gend SST_JSDP_JBXX.gend%type;--varchar2(10) null ,--[国家医保]性别(aac004) LS_age SST_JSDP_JBXX.age%type;--varchar2(10) null ,--[国家医保]病人年龄 LS_med_type SST_JSDP_JBXX.med_type%type;--varchar2(10) null ,--[国家医保]医疗类别(aka130) LS_chrg_bchno SST_JSDP_JBXX.chrg_bchno%type;--varchar2(30) null ,--[国家医保]系统跟踪号(bke298) LS_ipt_otp_no SST_JSDP_JBXX.ipt_otp_no%type;--varchar2(30) null ,--[国家医保]his流水号(bke042) LS_dise_codg SST_JSDP_JBXX.dise_codg%type;--varchar2(30) null ,--[国家医保]病情编码(aaz149) LS_dise_name SST_JSDP_JBXX.dise_name%type;--varchar2(100) null ,--[国家医保]病情名称 LS_psn_setlway SST_JSDP_JBXX.psn_setlway%type;--varchar2(10) null ,--[国家医保]个人结算方式 LS_acct_used_flag SST_JSDP_JBXX.acct_used_flag %type;--varchar2(10) null ,--[国家医保]个人账户使用标志 LS_invono SST_JSDP_JBXX.invono%type;--varchar2(30) null ,--[国家医保]发票流水号 LS_pub_hosp_rfom_flag SST_JSDP_JBXX.pub_hosp_rfom_flag%type;--varchar2(10) null ,--[国家医保]公立医院改革标志 LS_dept_code SST_JSDP_JBXX.dept_code%type;--varchar2(30) null ,--[国家医保]科室编码(bkf237) LS_dept_name SST_JSDP_JBXX.dept_name %type;--varchar2(50) null ,--[国家医保]科室名称(bkf238) LS_caty SST_JSDP_JBXX.caty%type;--varchar2(30) null ,--[国家医保]科别 LS_psn_no SST_JSDP_JBXX.psn_no%type;--varchar2(30) null ,--[国家医保]人员编号 LS_main_cond_dscr SST_JSDP_JBXX.main_cond_dscr%type;--varchar2(1000) null ,--[国家医保]主要病情描述 LS_begntime SST_JSDP_JBXX.begntime%type;--varchar2(20) null ,--[国家医保]实际就诊日期(bkc014) LS_endtime SST_JSDP_JBXX.endtime%type;--varchar2(20) null ,--[国家医保]结束时间(bkc194) LS_akc194 SST_JSDP_JBXX.akc194%type; LS_birctrl_type SST_JSDP_JBXX.birctrl_type%type;--varchar2(10) null ,--[国家医保]计划生育手术类别(amc029) LS_matn_type SST_JSDP_JBXX.matn_type%type;--varchar2(10) null ,--[国家医保]生育类别(amc026) LS_birctrl_matn_date SST_JSDP_JBXX.birctrl_matn_date%type;--varchar2(20) null ,--[国家医保]计划生育手术或生育日期(amc020) LS_geso_val SST_JSDP_JBXX.geso_val%type;--varchar2(10) null ,--[国家医保]孕周数 LS_dr_name SST_JSDP_JBXX.dr_name%type;--varchar2(50) null ,--[国家医保]医生姓名(bkc006) LS_atddr_no SST_JSDP_JBXX.atddr_no%type;--varchar2(30) null ,--[国家医保]医生证件号(bkc007) LS_YYJGDM SST_JSDP_JBXX.YYJGDM%type;--varchar2(20) null ,--[国家医保]医院机构代码 LS_cshsj0 SST_JSDP_JBXX.cshsj0%type;--varchar2(20) null ,--[国家医保]数据初始化时间 LS_mdtrt_id SST_JSDP_JBXX.mdtrt_id%type;--varchar2(30) null ,--[国家医保]门诊流水号(akc190) LS_setl_id SST_JSDP_JBXX.setl_id%type;--varchar2(30) null ,--[国家医保]单据流水号(aae072) LS_psn_cert_type SST_JSDP_JBXX.psn_cert_type%type;--varchar2(10) null ,--[国家医保]人员证件类型(aac058) LS_naty SST_JSDP_JBXX.naty%type;--varchar2(10) null ,--[国家医保]民族() LS_brdy SST_JSDP_JBXX.brdy%type;--varchar2(20) null ,--[国家医保]出生日期(aac006) LS_psn_type SST_JSDP_JBXX.psn_type%type;--varchar2(10) null ,--[国家医保]人员待遇类别(bkc001) LS_cvlserv_flag SST_JSDP_JBXX.cvlserv_flag%type;--varchar2(10) null ,--[国家医保]公务员标志 LS_medfee_sumamt SST_JSDP_JBXX.medfee_sumamt%type;--number(16,2) null ,--[国家医保]本次费用总额(akc227) LS_fund_pay_sumamt SST_JSDP_JBXX.fund_pay_sumamt%type;--number(16,2) null ,--[国家医保]基金支付额(bkc102) LS_hifp_pay SST_JSDP_JBXX.hifp_pay%type;--number(16,2) null ,--[国家医保]其中:统筹基金支付(bkc045) LS_psn_cash_pay SST_JSDP_JBXX.psn_cash_pay%type;--number(16,2) null ,--[国家医保]个人现金支出(bkc040) LS_acct_pay SST_JSDP_JBXX.acct_pay%type;--number(16,2) null ,--[国家医保]个人账户支出(bkc041) LS_cvlserv_pay SST_JSDP_JBXX.cvlserv_pay%type;--number(16,2) null ,--[国家医保]其中:公务员补助(bkc059) LS_hifes_pay SST_JSDP_JBXX.hifes_pay%type;--number(16,2) null ,--[国家医保]其中:企业补充(ake026) LS_hifmi_pay SST_JSDP_JBXX.hifmi_pay%type;--number(16,2) null ,--[国家医保]其中:大病保险基金支付(商保支付)(bkc052) LS_hifob_pay SST_JSDP_JBXX.hifob_pay%type;--number(16,2) null ,--[国家医保]职工医疗费补助(bkeh73) LS_maf_pay SST_JSDP_JBXX.maf_pay%type;--number(16,2) null ,--[国家医保]其中:医疗救助基金(bkc060) LS_oth_pay SST_JSDP_JBXX.oth_pay%type;--number(16,2) null ,--[国家医保]其中:其他基金支付(ake173) LS_hifdm_pay SST_JSDP_JBXX.hifdm_pay%type;--number(16,2) null ,--[国家医保]伤残人员医疗保障基金支出 LS_pool_prop_selfpay SST_JSDP_JBXX.pool_prop_selfpay %type;--number(16,2) null ,--[国家医保]基本医疗保险统筹基金支付比例 LS_act_pay_dedc SST_JSDP_JBXX.act_pay_dedc%type;--number(16,2) null ,--[国家医保]统筹支付医保费用起付标准(aka151) LS_psn_part_amt SST_JSDP_JBXX.psn_part_amt%type;--number(16,2) null ,--[国家医保]非医保费用(bkc011) LS_hosp_part_amt SST_JSDP_JBXX.hosp_part_amt%type;--number(16,2) null ,--[国家医保]医院负担金额 LS_balc SST_JSDP_JBXX.balc%type;--number(16,2) null ,--[国家医保]个人账户余额(akc087) LS_acct_mulaid_pay SST_JSDP_JBXX.acct_mulaid_pay%type;--number(16,2) null ,--[国家医保]家庭共济账户支付(bkc075) LS_fulamt_ownpay_amt SST_JSDP_JBXX.fulamt_ownpay_amt%type;--number(16,2) null ,--[国家医保]全自费金额 LS_overlmt_selfpay SST_JSDP_JBXX.overlmt_selfpay%type;--number(16,2) null ,--[国家医保]超限价金额 LS_preselfpay_amt SST_JSDP_JBXX.preselfpay_amt%type;--number(16,2) null ,--[国家医保]先行自付金额 LS_inscp_scp_amt SST_JSDP_JBXX.inscp_scp_amt%type;--number(16,2) null ,--[国家医保]符合政策范围金额 LS_medins_setl_id SST_JSDP_JBXX.medins_setl_id%type;--varchar2(30) null ,--[国家医保]医药机构结算 LS_clr_optins SST_JSDP_JBXX.clr_optins%type;--varchar2(10) null ,--[国家医保]清算经办机构 LS_clr_way SST_JSDP_JBXX.clr_way%type;--varchar2(10) null ,--[国家医保]清算方式 LS_clr_type SST_JSDP_JBXX.clr_type%type;--varchar2(10) null ,--[国家医保]清算类别 LS_setl_time SST_JSDP_JBXX.setl_time%type;--varchar2(20) null --[国家医保]收费日期 LS_adm_diag_dscr SST_JSDP_JBXX.adm_diag_dscr%type;--varchar2(1000) null ,--[国家医保]adm_diag_dscr:入院诊断描述 LS_adm_dept_codg SST_JSDP_JBXX.adm_dept_codg%type;--varchar2(30) null ,--[国家医保]adm_dept_codg:入院科室编码 LS_adm_dept_name SST_JSDP_JBXX.adm_dept_name%type;--varchar2(50) null ,--[国家医保]adm_dept_name:入院科室名称 LS_adm_bed SST_JSDP_JBXX.adm_bed%type;--varchar2(30) null ,--[国家医保]adm_bed:入院床位 LS_dscg_maindiag_code SST_JSDP_JBXX.dscg_maindiag_code%type;--varchar2(50) null ,--[国家医保]dscg_maindiag_code:住院主诊断代码 LS_dscg_maindiag_name SST_JSDP_JBXX.dscg_maindiag_name%type;--varchar2(200) null ,--[国家医保]dscg_maindiag_name:住院主诊断名称 LS_latechb_flag SST_JSDP_JBXX.latechb_flag%type;--varchar2(10) null ,--[国家医保]latechb_flag:晚育标志 LS_pret_flag SST_JSDP_JBXX.pret_flag%type;--varchar2(10) null ,--[国家医保]pret_flag:早产标志 LS_dscg_dept_codg SST_JSDP_JBXX.dscg_dept_codg%type;--varchar2(30) null ,--[国家医保]dscg_dept_codg:出院科室编码 LS_dscg_dept_name SST_JSDP_JBXX.dscg_dept_name%type;--varchar2(50) null ,--[国家医保]dscg_dept_name:出院科室名称 LS_dscg_way SST_JSDP_JBXX.dscg_way%type;--varchar2(10) null --[国家医保]dscg_way:离院方式 LS_YBCYRQ char(8);--医保出院日期 LS_YBCYSJ char(8);--医保出院时间 LS_WJSJE0 ZY_BRZHXX.WJSJE0%type;--未结算金额 LS_YJSJE0 ZY_BRZHXX.YJSJE0%type;--已结算金额 LS_WJXJJE ZY_BRZHXX.WJXJJE%type;--未结算现金预交金总额 LS_WJZZJE ZY_BRZHXX.WJZZJE%type;--未结算转账预交金总额 in_BRID00 number(12) ;--输入:病人ID in_ZYID00 number(12) ;--输入:住院ID in_XTGZH0 varchar2(50);--输入:系统跟踪号 in_CARDTYPE varchar2(50);--输入:0 代表院内卡 1 代表社保卡 in_CARDNO varchar2(50);--输入:IC卡号 in_ZDBH00 varchar2(100);--输入:终端编号 in_FZXBH0 varchar2(100);--输入:参保机构编号 in_YYJGDM varchar2(100);--输入:医院机构代码 in_BYRC00 varchar2(1000);--输入:备用入参 in_INXML0 varchar2(1000);--输入:备用出参xml out_ERRMSG varchar2(400); --输出:出错信息 out_ZXZT00 number(12); --输出:执行状态 0:失败 1:成功 out_OUTXML varchar2(1000);--输出:备用出参xml Pro_out_YHMSG0 varchar2(400);--存储过程提示的错误信息 Pro_out_SYSMSG varchar2(400);--系统提示的错误信息 --支付微信、支付宝优先退款 cursor CUR_CYJSTK is select * from PAY_YJJ_MXCX where CXLSH0=OUT_CXLSH0 and BRID00=LS_BRID00 and nvl(TKJE00,0)<>0 and STATE='Y' order by ZFFS00 desc,DJH000 desc; begin --保存接口请求参数--begin-- LS_JKQQCS:=''; LS_JKQQCS:=substrb(LS_JKQQCS||''||P_ZDBH00||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_FZXBH0||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_YYJGDM||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_CARDTYPE||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_CARDNO||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_BYRC00||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_XTGZH0||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_DDLSH0||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_CZY000||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_ZYID00||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||'',1,2000); --保存接口请求参数--End-- PKTJE00:=0;--可退金额>0 可退 =0 无可退 <0:需补交金额 LS_COUNT0:=0; LS_ZDBH00:=P_ZDBH00; if P_FZXBH0='DD' then --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算) LS_JKCJMC:='住院_多点结算'; elsif P_FZXBH0='YD' then LS_JKCJMC:='住院_移动结算'; elsif P_FZXBH0='YB' then LS_JKCJMC:='住院_医保结算'; elsif P_FZXBH0='WLZS' then LS_JKCJMC:='住院_网络诊室'; elsif P_FZXBH0='APP_DD' then LS_JKCJMC:='住院_线上App'; else LS_JKCJMC:='住院_通用收费'; end if; --床边出院结算账户余额退款参数(第一位是否允许退现金:N:否 Y:是 M:银行卡退出,第二位原路退款:Y:是 N:否) 默认值:N,Y begin select substrb(SF_SF_TYZD00('多点结算接口参数','CBJSTK_ZY'),1,20) into LS_CBJSTK from dual; exception when others then LS_CBJSTK:='N,Y'; end; if LS_CBJSTK is null then LS_CBJSTK:='N,Y'; end if; --CBCYJSZFTKMS 床边出院结算微信、支付宝是否启用院内优先退款模式 Y:是 N:否 默认值:N LS_CBCYJSZFTKMS:='Y';--9.0默认按Y处理,不在根据参数判断 --Open_ZY 支付接口参数住院是否启用微信或支付宝接口 Y:易惠公司 M:医信公司 P:联空网络 R:健康之路当面付 Q:医联支付 D:多厂家支付 N:都不开启 begin select substrb(SF_SF_TYZD00('支付统一平台参数','Open_ZY'),1,20) into LS_ZFJKCS from dual; exception when others then LS_ZFJKCS:='N'; end; if LS_ZFJKCS='Y' then LS_ZFQDBM:='YHPAY'; elsif LS_ZFJKCS='M' then LS_ZFQDBM:='YXPAY'; elsif LS_ZFJKCS='R' then LS_ZFQDBM:='JKZLPAY'; elsif LS_ZFJKCS='Q' then LS_ZFQDBM:='YLPAY'; else LS_ZFQDBM:=''; end if; if P_FZXBH0='DD' then --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算) --获取字典对应的操作员 begin select substrb(SF_SF_TYZD00('多点结算接口参数','DDJSZDBH_ZY'),1,30) into LS_DDJSZDBH from dual; exception when others then LS_DDJSZDBH:=''; end; --获取操作员编号和姓名 if trim(LS_DDJSZDBH) is not null and trim(LS_DDJSZDBH) not in ('0') then select count(*) into LS_COUNT0 from VW_SST_YGBMDYXX where ZZJBH0=LS_DDJSZDBH; if nvl(LS_COUNT0,0)>0 then LS_ZDBH00:=LS_DDJSZDBH; begin select YGBH00,ZWXM00,BMBH00 into LS_CZYBM0,LS_CZYXM0,LS_CZYKS0 from VW_SST_YGBMDYXX where ZZJBH0=LS_ZDBH00; exception when others then P_ERRMSG:='终端编号:'||P_ZDBH00||'在本院SST_YGBHDY表中未对应收费员!'; rollback; return; end; else begin select YGBH00,ZWXM00,BMBH00 into LS_CZYBM0,LS_CZYXM0,LS_CZYKS0 from BM_YGBM00 where YGBH00=P_CZY000; exception when others then P_ERRMSG:='住院结算确认失败:未找到有效的操作员员工信息!YGBH00='||P_CZY000; rollback; return; end; end if; else begin select YGBH00,ZWXM00,BMBH00 into LS_CZYBM0,LS_CZYXM0,LS_CZYKS0 from BM_YGBM00 where YGBH00=P_CZY000; exception when others then P_ERRMSG:='住院结算确认失败:未找到有效的操作员员工信息!YGBH00='||P_CZY000; rollback; return; end; end if; else begin select YGBH00,ZWXM00,BMBH00 into LS_CZYBM0,LS_CZYXM0,LS_CZYKS0 from BM_YGBM00 where YGBH00=P_CZY000; exception when others then P_ERRMSG:='住院结算确认失败:未找到有效的操作员员工信息!YGBH00='||P_CZY000; rollback; return; end; end if; --判断系统参数设置是否允许某个操作员只能退现金---begin---- LS_CBJSTXJBZ:='N';--床边结算退现金标志(Y:全部退现金 N:否) LS_XJTKYGH_ZY:=nvl(substrb(SF_SF_TYZD00('支付统一平台参数','XJTKYGH_ZY'),1,100),'');--住院收费系统出院结算不允许退微信、支付宝等,内部员工(BM_YGBM00.YGBH00)参数多个用,隔开(如:A,B) if instrb(','||trim(LS_XJTKYGH_ZY)||',',','||to_char(P_CZY000)||',')>0 then LS_CBJSTXJBZ:='Y';--床边结算退现金标志(Y:全部退现金 N:否) LS_CBCYJSZFTKMS:='N'; --床边出院结算微信、支付宝是否启用院内优先退款模式 Y:是 N:否 默认值:N LS_CBJSTK:='Y,N'; --床边出院结算账户余额退款参数(第一位是否允许退现金:N:否 Y:是 M:银行卡退出,第二位原路退款:Y:是 N:否) 默认值:N,Y begin select YGBH00,ZWXM00,BMBH00 into LS_CZYBM0,LS_CZYXM0,LS_CZYKS0 from BM_YGBM00 where YGBH00=P_CZY000; exception when others then P_ERRMSG:='住院结算确认失败:未找到有效的操作员员工信息!YGBH00='||P_CZY000; rollback; return; end; end if; --判断系统参数设置是否允许某个操作员只能退现金---end---- /* 20011:门诊刷卡 20012:门诊挂号 20013:门诊挂号冲销 20014:门诊收费 20015:门诊收费冲销 20021:住院刷卡 20022:入院登记 20023:入院登记冲销 20024:住院预结算 20025:住院收费 20026:住院收费冲销 20027:出院登记 20028:出院登记冲销 20001:门诊交易查询 20002:门诊收费明细查询 20003:住院交易查询 20004:住院收费明细查询 */ LS_QSDJH0:=0;--起始单号 LS_JZDJH0:=0;--截止单号 LS_YBYL01:=0; LS_YBYL02:=0; LS_YBYL03:=0; LS_YBYL04:=0; LS_YBYL05:=0; LS_YBYL06:=0; LS_YBYL07:=0; LS_YBYL08:=0; LS_YBYL09:=0; LS_YBYL10:=0; LS_YBYL11:=0; LS_YBYL12:=0; LS_YBYL13:=0; LS_YBYL14:=0; LS_YBYL15:=0; LS_YBYL16:=0; LS_YBYL17:=0; LS_YBYL18:=0; LS_YBYL19:=0; LS_YBYL20:=0; LS_YBYL21:=0; LS_YBYL22:=0; LS_YBYL23:=0; LS_YBYL24:=0; LS_YBYL25:=0; LS_YBYL26:=0; LS_YBYL27:=0; LS_YBYL28:=0; LS_YBYL29:=0; LS_YBYL30:=0; LS_YBYL31:=0; LS_YBYL32:=0; LS_YBYL33:=0; LS_YBYL34:=0; LS_YBYL35:=0; LS_YBYL36:=0; LS_YBYL37:=0; LS_YBYL38:=0; LS_YBYL39:=0; LS_YBYL40:=0; LS_YBYL41:=0; LS_YBYL42:=0; LS_YBYL43:=0; LS_YBYL44:=0; LS_YBYL45:=0; LS_YBYL46:=0; LS_YBYL47:=0; LS_YBYL48:=0; LS_YBYL49:=0; LS_YBSM01:=''; LS_YBSM02:=''; LS_YBSM03:=''; LS_YBSM04:=P_XTGZH0; LS_YBSM05:=''; LS_YBSM06:='DDJS'; LS_YBSM07:=''; LS_YBSM08:=''; LS_YBSM09:=''; LS_YBSM10:=''; LS_YBSM11:=''; LS_DDLSH0:=P_DDLSH0; --订单流水号 LS_XTGZH0:=P_XTGZH0; --中间表系统跟踪号 LS_ZHZYE0:=0; --账户总余额 LS_XJYE00:=0; --现金余额 LS_ZZYE00:=0; --转账余额 LS_YBZFJE:=0; --医保支付金额 LS_YSXJZE:=0; --预收总金额 LS_YSZZZE:=0; --预收转账总金额 LS_CZRQ00:=to_char(sysdate,'YYYYMMDD'); --操作日期 LS_CZSJ00:=to_char(sysdate,'HH24:MI:ss'); --操作时间 LS_JFLBID:=2; --病人交费类别ID LS_JYLXMC:='住院收费[床边结算]'; --交易类型名称 LS_JGBM00:=P_FZXBH0; --机构编码 LS_JGMC00:='多点结算'; --机构名称 LS_JYLSH0:=P_XTGZH0; --交易流水号 LS_YKTSH0:=null; --渠道流水号 LS_JFYY00:='住院床边结算'; --缴费原因 LS_CYQKJE:=0; ls_XJYJZE:=0; ls_ZZYJZE:=0; LS_OrdNewyb:='0';--新旧医保标识 0:旧 1:新 LS_YBTYPE:='-1';-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] OUT_CXLSH0:=null;--退款查询流水号 OUT_BCFYZE:=0;--本次费用总额 OUT_YBBCJC:=0;--本次医保补偿金额 OUT_BCZFJE:=0;--本次自付金额 OUT_YJJZE0:=0;--预交金总额 OUT_YTZJE0:=0;--应退总额 OUT_TKXJ00:=0;--可退款现金 OUT_TKZZ00:=0;--可退款转账 OUT_TKPOS0:=0;--可退款POS OUT_TKWX00:=0;--可退款微信 OUT_TKZFB0:=0;--可退款支付宝 OUT_TKDZZF:=0;--可退款电子支付 OUT_TKQTJE:=0;--可退款其它 OUT_TKJLS0:=0;--退款记录数 OUT_TKZJE0:=0;--退款总金额 OUT_ERRSTR:=null;--错误信息 OUT_PAYJE0:=0;--微信、支付宝、银行卡、聚会支付 LS_TQTK00:='0'; ----支付退款状态 0:正常模式 1:交互前院内优先退款 2:结算后院内优先退款 3:平台退款成功 LS_YBYL33:=0; --超标床位费用(付费单病种写入) LS_YBYL34:=0; --除外耗材费用(付费单病种写入) LS_ERRORS:='查找中间表SST_JSDP_JBXX数据'; begin select * into RJSJBXX from SST_JSDP_JBXX where XTGZH0=LS_XTGZH0 and ZYID00=P_ZYID00; if P_DDLSH0 is not null then select * into RZYYBJK from ZY_YBJK00 where DDLSH0=LS_DDLSH0 and ZYID00=P_ZYID00; end if; exception when others then P_ERRMSG:='住院结算确认失败:中间表SST_JSDP_JBXX未找到有效的记录!'; rollback; return; end; begin select * into RZYXX from ZY_BRXXB0 where ZYID00=RJSJBXX.ZYID00; exception when others then P_ERRMSG:='住院结算确认失败:未找到有效的住院基本信息(ZY_BRXXB0)!ZYID00='||RJSJBXX.ZYID00; rollback; return; end; zy_bkc001_mc :=trim(RZYXX.bkc001_mc);--人员待遇类别名称(城乡居民、普通在职人员等等) zy_aae140 :=trim(RZYXX.aae140);--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 zy_aae140_mc :=trim(RZYXX.aae140_mc);--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 zy_psn_no :=trim(RZYXX.psn_no);--人员编码 LS_JKLXBM:=RZYYBJK.JKLXBM; --接口编码 LS_JKLXMC:=RZYYBJK.JKLXMC; --接口类型名称 LS_BRID00:=RZYXX.BRID00; --病人ID LS_ZYID00:=RZYXX.ZYID00; --住院ID LS_ZYH000:=RZYXX.ZYH000; --住院号 LS_DBZBM0:=RZYXX.FFBZBM; --单病种编码 --LS_DBZMC0:=RZYXX.DBZMC0; --单病种名称 --LS_DBZBL0:=RZYXX.DBZBL0;--单病种比率 --LS_BZBMLB:=RZYXX.BZBMLB; --病种类别 LS_YBZXLB:=RZYXX.YBZXLB;--医保中心类别 LS_YBBRLB:=RZYXX.YBBRLB;--医保病人类别 LS_YBLB00:=RZYXX.YBLB00;--医保类别 LS_FBBH00:=RZYXX.FBBH00;--费别编号 LS_YKTSH0:=substrb(trim(RJSJBXX.DJLSH0),1,30); --渠道流水号 LS_DQBQ00:=RZYXX.DQBQ00; --当前病区 LS_YBDJH0:=substrb(trim(RJSJBXX.DJLSH0),1,30); --医保单据号 LS_YBSM05:=LS_YBDJH0;--医保单据流水号 LS_JZHJJE:=nvl(RJSJBXX.HJJE00,0); --结账总额 LS_HJJE00:=nvl(RJSJBXX.HJJE00,0); --院内费用总额 LS_BCBXF0:=nvl(RJSJBXX.BCBXF0,0); --医保费用总额 LS_YBYL14:=LS_BCBXF0;--本次费用总额 LS_TCJJZF:=nvl(RJSJBXX.JJZFE0,0); --统筹基金 LS_GRZHZF:=nvl(RJSJBXX.ZHZFE0,0); --医保账户支付 LS_GWYBZ0:=nvl(RJSJBXX.GWYBZ0,0); --公务员补助 LS_SBGRZH:=nvl(RJSJBXX.SBGRZF,0); --商保个人帐户 LS_SBTCJJ:=nvl(RJSJBXX.SBTCJJ,0); --商保统筹基金 LS_SYBXZF:=nvl(RJSJBXX.SYBXZF,0); --商业保险 LS_BJZFE0:=nvl(RJSJBXX.BJJJZF,0); --保健基金 LS_YBKH00:=RJSJBXX.YBKH00; --医保卡号 LS_YBID00:=RJSJBXX.YBID00; --医保ID LS_JZJE00:=0; --记账金额 LS_GFJE00:=0; --公费金额 LS_JMJE00:=0; --减免金额 LS_ZFJE00:=nvl(RJSJBXX.GRZFE0,0); --自费金额 LS_YBYL12:=LS_ZFJE00;--自付金额 LS_CYYSK0:=0; --出院欠款金额 LS_CYYTK0:=0; --出院应退款 LS_CFXMS0:=0; --处方项目数 LS_YBYL04:=0; --单病种定额 LS_YBYL05:=0; --医院支付金额 LS_DBZCWF:=0; --单病种超标床位费 LS_DBZHCF:=0; --单病种另收耗材费 LS_TXYLFW:=0; --特需医疗服务费用(付费单病种) LS_QFJE00:=0; --欠费金额>0 欠费 =0 无欠费 LS_YBSM10:= RJSJBXX.JSBLLX; --CDRG病例类型 jsbllx LS_YBSM09:= RJSJBXX.BQBM00; --病情编码或CDRG组别 bqbm00 if LS_YBSM09 ='无' then LS_YBSM09:=''; end if; LS_YBYL39:= RJSJBXX.DRGZFE; --CDRG个人支付金额 drgzfe LS_YBYL35:= RJSJBXX.BCBXF0; --医保返回的BCBXF0(付费单病种写入) LS_YBYL31:= RJSJBXX.GRZFE0; --个人支付金额(医保返回) LS_aab034 :=trim(RJSJBXX.aab034);--医保返回:所属经办机构编码(分中心编码) LS_aab034_mc :=trim(RJSJBXX.aab034_mc);--医保返回:所属经办机构编码名称(分中心名称) LS_bke042 :=trim(RJSJBXX.bke042);--his填写:his流水号 LS_aaz149 :=trim(RJSJBXX.aaz149);--[aaz149]病情编码 LS_bkc166 :=RJSJBXX.bkc166;--[bkc166]一般诊疗费补偿金额 LS_bkc167 :=RJSJBXX.bkc167;--[bkc167]一般诊疗费费个人支付金额 LS_bkc076 :=RJSJBXX.bkc076;--[bkc076]健康账户支付 LS_bkc079 :=RJSJBXX.bkc079;--[bkc079]健康账户余额 LS_bkc591 :=RJSJBXX.bkc591;--[bkc591]共济账户余额 LS_bka531 :=RJSJBXX.bka531;--[bka531]是否精准扶贫 Y是 N否 LS_TMQFLJ :=RJSJBXX.TMQFLJ;--[TMQFLJ]特殊门诊起付线累计 LS_TMJJLJ :=RJSJBXX.TMJJLJ;--[TMJJLJ]特殊门诊基金累计 LS_bke856 :=RJSJBXX.bke856;--[bke856] 超封顶线金额 LS_bkc134 :=RJSJBXX.bkc134;--[bkc134] 乙类先行自付额 LS_BKE921 :=RJSJBXX.BKE921;-- LS_BKE922 :=RJSJBXX.BKE922;-- LS_bkc620 :=RJSJBXX.bkc620;-- LS_BKC619 :=RJSJBXX.BKC619;-- LS_bke297 :=RJSJBXX.bke297;-- LS_bka555 :=RJSJBXX.bka555;-- LS_bka188 :=RJSJBXX.bka188;-- LS_YBJKID :=RJSJBXX.YBJKID;-- LS_bke284 :=RJSJBXX.bke284;--[bke284]身份认证类型(01:读卡02:融合码06:医保码20:医疗证) LS_akc190 :=RJSJBXX.akc190;--varchar2(16) ,--医保返回:医保门诊挂号流水号/住院登记流水号 LS_aae072 :=RJSJBXX.aae072;--varchar2(16) ,--医保返回:医保收费流水号 LS_akc227 :=RJSJBXX.akc227;--number(12,2) ,--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_bkc040 :=RJSJBXX.bkc040;--number(12,2) ,--医保返回:个人现金支付金额(实付现金) LS_bkc041 :=RJSJBXX.bkc041;--number(12,2) ,--医保返回:个人账户支付金额 LS_bkc102 :=RJSJBXX.bkc102;--number(12,2) ,--医保返回:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_bkc045 :=RJSJBXX.bkc045;--number(12,2) ,--医保返回:其中:统筹基金支付 LS_bkc052 :=RJSJBXX.bkc052;--number(12,2) ,--医保返回:其中:大病保险基金支付(商保支付或商业保险) LS_bkc059 :=RJSJBXX.bkc059;--number(12,2) ,--医保返回:公务员医疗补助 LS_bkc062 :=RJSJBXX.bkc062;--number(12,2) ,--医保返回:其中:精准扶贫医疗叠加 LS_bkc060 :=RJSJBXX.bkc060;--number(12,2) ,--医保返回:其中:医疗救助基金 LS_ake173 :=RJSJBXX.ake173;--number(12,2) ,--医保返回:其中:其他基金支付 LS_ake026 :=RJSJBXX.ake026;--number(12,2) ,--医保返回:其中:企业补充 LS_bkc011 :=RJSJBXX.bkc011;--bkc011 个人自费(非医保费用) LS_bkc075 :=RJSJBXX.bkc075;--bkc075 家庭共济账户支付 LS_bkc053 :=RJSJBXX.bkc053;--bkc053 商保现金支付 LS_bkc054 :=RJSJBXX.bkc054;--bkc054 商保账户支付 LS_akc087 :=RJSJBXX.akc087;--akc087 个人账户余额 LS_aka151 :=RJSJBXX.aka151;--aka151 统筹支付医保费用起付标准 LS_aka150 :=RJSJBXX.aka150;--aka150 本年度住院次数 LS_bkc612 :=RJSJBXX.bkc612;--bkc612 补助基金支付 LS_bkc064 :=RJSJBXX.bkc064;--bkc064 产前检查费(医保返回) LS_insuplc_admdvs :=RJSJBXX.insuplc_admdvs;--varchar2(10) null ,--[国家医保]参保地行政区划(aab301) LS_mdtrtarea_admvs :=RJSJBXX.mdtrtarea_admvs;--varchar2(10) null ,--[国家医保]就医地医保区划 LS_insutype :=RJSJBXX.insutype;--varchar2(10) null ,--[国家医保]险种类型(aae140) LS_mdtrt_cert_type :=RJSJBXX.mdtrt_cert_type;--varchar2(10) null ,--[国家医保]就诊凭证类型(bke284)01:医保凭证 02:身份证号 03:社保卡 LS_mdtrt_cert_no :=RJSJBXX.mdtrt_cert_no;--varchar2(50) null ,--[国家医保]卡号(aaz500) LS_certno :=RJSJBXX.certno;--varchar2(50) null ,--[国家医保]证件号码(aac002) LS_psn_name :=RJSJBXX.psn_name;--varchar2(50) null ,--[国家医保]姓名(aac003) LS_gend :=RJSJBXX.gend;--varchar2(10) null ,--[国家医保]性别(aac004) LS_age :=RJSJBXX.age;--varchar2(10) null ,--[国家医保]病人年龄 LS_med_type :=RJSJBXX.med_type;--varchar2(10) null ,--[国家医保]医疗类别(aka130) LS_chrg_bchno :=RJSJBXX.chrg_bchno;--varchar2(30) null ,--[国家医保]系统跟踪号(bke298) LS_ipt_otp_no :=RJSJBXX.ipt_otp_no;--varchar2(30) null ,--[国家医保]his流水号(bke042) LS_dise_codg :=RJSJBXX.dise_codg;--varchar2(30) null ,--[国家医保]病情编码(aaz149) LS_dise_name :=RJSJBXX.dise_name;--varchar2(100) null ,--[国家医保]病情名称 LS_psn_setlway :=RJSJBXX.psn_setlway;--varchar2(10) null ,--[国家医保]个人结算方式 LS_acct_used_flag :=RJSJBXX.acct_used_flag ;--varchar2(10) null ,--[国家医保]个人账户使用标志 LS_invono :=RJSJBXX.invono;--varchar2(30) null ,--[国家医保]发票流水号 LS_pub_hosp_rfom_flag :=RJSJBXX.pub_hosp_rfom_flag;--varchar2(10) null ,--[国家医保]公立医院改革标志 LS_dept_code :=RJSJBXX.dept_code;--varchar2(30) null ,--[国家医保]科室编码(bkf237) LS_dept_name :=RJSJBXX.dept_name ;--varchar2(50) null ,--[国家医保]科室名称(bkf238) LS_caty :=RJSJBXX.caty;--varchar2(30) null ,--[国家医保]科别 LS_psn_no :=RJSJBXX.psn_no;--varchar2(30) null ,--[国家医保]人员编号 LS_main_cond_dscr :=RJSJBXX.main_cond_dscr;--varchar2(1000) null ,--[国家医保]主要病情描述 LS_begntime :=RJSJBXX.begntime;--varchar2(20) null ,--[国家医保]实际就诊日期(bkc014) LS_endtime :=RJSJBXX.endtime;--varchar2(20) null ,--[国家医保]结束时间(bkc194) LS_akc194 :=RJSJBXX.akc194; LS_birctrl_type :=RJSJBXX.birctrl_type;--varchar2(10) null ,--[国家医保]计划生育手术类别(amc029) LS_matn_type :=RJSJBXX.matn_type;--varchar2(10) null ,--[国家医保]生育类别(amc026) LS_birctrl_matn_date :=RJSJBXX.birctrl_matn_date;--varchar2(20) null ,--[国家医保]计划生育手术或生育日期(amc020) LS_geso_val :=RJSJBXX.geso_val;--varchar2(10) null ,--[国家医保]孕周数 LS_dr_name :=RJSJBXX.dr_name;--varchar2(50) null ,--[国家医保]医生姓名(bkc006) LS_atddr_no :=RJSJBXX.atddr_no;--varchar2(30) null ,--[国家医保]医生证件号(bkc007) LS_YYJGDM :=RJSJBXX.YYJGDM;--varchar2(20) null ,--[国家医保]医院机构代码 LS_cshsj0 :=RJSJBXX.cshsj0;--varchar2(20) null ,--[国家医保]数据初始化时间 LS_mdtrt_id :=RJSJBXX.mdtrt_id;--varchar2(30) null ,--[国家医保]门诊流水号(akc190) LS_setl_id :=RJSJBXX.setl_id;--varchar2(30) null ,--[国家医保]单据流水号(aae072) LS_psn_cert_type :=RJSJBXX.psn_cert_type;--varchar2(10) null ,--[国家医保]人员证件类型(aac058) LS_naty :=RJSJBXX.naty;--varchar2(10) null ,--[国家医保]民族() LS_brdy :=RJSJBXX.brdy;--varchar2(20) null ,--[国家医保]出生日期(aac006) LS_psn_type :=RJSJBXX.psn_type;--varchar2(10) null ,--[国家医保]人员待遇类别(bkc001) LS_cvlserv_flag :=RJSJBXX.cvlserv_flag;--varchar2(10) null ,--[国家医保]公务员标志 LS_medfee_sumamt :=RJSJBXX.medfee_sumamt;--number(16,2) null ,--[国家医保]本次费用总额(akc227) LS_fund_pay_sumamt :=RJSJBXX.fund_pay_sumamt;--number(16,2) null ,--[国家医保]基金支付额(bkc102) LS_hifp_pay :=RJSJBXX.hifp_pay;--number(16,2) null ,--[国家医保]其中:统筹基金支付(bkc045) LS_psn_cash_pay :=RJSJBXX.psn_cash_pay;--number(16,2) null ,--[国家医保]个人现金支出(bkc040) LS_acct_pay :=RJSJBXX.acct_pay;--number(16,2) null ,--[国家医保]个人账户支出(bkc041) LS_cvlserv_pay :=RJSJBXX.cvlserv_pay;--number(16,2) null ,--[国家医保]其中:公务员补助(bkc059) LS_hifes_pay :=RJSJBXX.hifes_pay;--number(16,2) null ,--[国家医保]其中:企业补充(ake026) LS_hifmi_pay :=RJSJBXX.hifmi_pay;--number(16,2) null ,--[国家医保]其中:大病保险基金支付(商保支付)(bkc052) LS_hifob_pay :=RJSJBXX.hifob_pay;--number(16,2) null ,--[国家医保]职工医疗费补助(bkeh73) LS_maf_pay :=RJSJBXX.maf_pay;--number(16,2) null ,--[国家医保]其中:医疗救助基金(bkc060) LS_oth_pay :=RJSJBXX.oth_pay;--number(16,2) null ,--[国家医保]其中:其他基金支付(ake173) LS_hifdm_pay :=RJSJBXX.hifdm_pay;--number(16,2) null ,--[国家医保]伤残人员医疗保障基金支出 LS_pool_prop_selfpay :=RJSJBXX.pool_prop_selfpay ;--number(16,2) null ,--[国家医保]基本医疗保险统筹基金支付比例 LS_act_pay_dedc :=RJSJBXX.act_pay_dedc;--number(16,2) null ,--[国家医保]统筹支付医保费用起付标准(aka151) LS_psn_part_amt :=RJSJBXX.psn_part_amt;--number(16,2) null ,--[国家医保]非医保费用(bkc011) LS_hosp_part_amt :=RJSJBXX.hosp_part_amt;--number(16,2) null ,--[国家医保]医院负担金额 LS_balc :=RJSJBXX.balc;--number(16,2) null ,--[国家医保]个人账户余额(akc087) LS_acct_mulaid_pay :=RJSJBXX.acct_mulaid_pay;--number(16,2) null ,--[国家医保]家庭共济账户支付(bkc075) LS_fulamt_ownpay_amt :=RJSJBXX.fulamt_ownpay_amt;--number(16,2) null ,--[国家医保]全自费金额 LS_overlmt_selfpay :=RJSJBXX.overlmt_selfpay;--number(16,2) null ,--[国家医保]超限价金额 LS_preselfpay_amt :=RJSJBXX.preselfpay_amt;--number(16,2) null ,--[国家医保]先行自付金额 LS_inscp_scp_amt :=RJSJBXX.inscp_scp_amt;--number(16,2) null ,--[国家医保]符合政策范围金额 LS_medins_setl_id :=RJSJBXX.medins_setl_id;--varchar2(30) null ,--[国家医保]医药机构结算 LS_clr_optins :=RJSJBXX.clr_optins;--varchar2(10) null ,--[国家医保]清算经办机构 LS_clr_way :=RJSJBXX.clr_way;--varchar2(10) null ,--[国家医保]清算方式 LS_clr_type :=RJSJBXX.clr_type;--varchar2(10) null ,--[国家医保]清算类别 LS_setl_time :=RJSJBXX.setl_time;--varchar2(20) null --[国家医保]收费日期 LS_adm_diag_dscr :=RJSJBXX.adm_diag_dscr;--varchar2(1000) null ,--[国家医保]adm_diag_dscr:入院诊断描述 LS_adm_dept_codg :=RJSJBXX.adm_dept_codg;--varchar2(30) null ,--[国家医保]adm_dept_codg:入院科室编码 LS_adm_dept_name :=RJSJBXX.adm_dept_name;--varchar2(50) null ,--[国家医保]adm_dept_name:入院科室名称 LS_adm_bed :=RJSJBXX.adm_bed;--varchar2(30) null ,--[国家医保]adm_bed:入院床位 LS_dscg_maindiag_code :=RJSJBXX.dscg_maindiag_code;--varchar2(50) null ,--[国家医保]dscg_maindiag_code:住院主诊断代码 LS_dscg_maindiag_name :=RJSJBXX.dscg_maindiag_name;--varchar2(200) null ,--[国家医保]dscg_maindiag_name:住院主诊断名称 LS_latechb_flag :=RJSJBXX.latechb_flag;--varchar2(10) null ,--[国家医保]latechb_flag:晚育标志 LS_pret_flag :=RJSJBXX.pret_flag;--varchar2(10) null ,--[国家医保]pret_flag:早产标志 LS_dscg_dept_codg :=RJSJBXX.dscg_dept_codg;--varchar2(30) null ,--[国家医保]dscg_dept_codg:出院科室编码 LS_dscg_dept_name :=RJSJBXX.dscg_dept_name;--varchar2(50) null ,--[国家医保]dscg_dept_name:出院科室名称 LS_dscg_way :=RJSJBXX.dscg_way;--varchar2(10) null --[国家医保]dscg_way:离院方式 ls_XJYJZE:=0; ls_ZZYJZE:=0; if RZYXX.FBBH00 in (1) then LS_BCBXF0:=LS_HJJE00; LS_TCJJZF:=0; LS_GRZHZF:=0; LS_ZFJE00:=LS_HJJE00; LS_YBDJH0:='0'; end if; --ZY_JZB000.YBSM06-结算类型 DD:多点结算 YD:移动结算 YB:医保结算,WLZS:互联网 ,APP_DD:APP结算 ZZJ:自助机 LS_YBSM06:=substrb(P_FZXBH0,1,50); LS_YBBZ00:=nvl(RJSJBXX.YBBZ00,'0'); --自助机填写:医保标志(区分新旧医保)1:新医保,0:旧医保 2:国家版本 if LS_FBBH00=3 then --医保出院日期、医保出院时间 if LS_endtime is not null then LS_YBCYRQ := substrb(replace(substr(LS_endtime,1,10),'-',''),1,8); LS_YBCYSJ := substrb(LS_endtime,12,8); elsif LS_akc194 is not null then LS_YBCYRQ := substrb(LS_akc194,1,8); LS_YBCYSJ := substrb(LS_akc194,9,2)||':'||substrb(LS_akc194,11,2)||':'||substrb(LS_akc194,13,2); end if; if trim(LS_setl_id) is not null and LS_YBBZ00 not in ('2') then ---[国家医保]单据流水号(aae072) LS_YBBZ00:='2'; --医保标志-1 :自费 0:旧医保 1:福建 2:国家 end if; if trim(LS_mdtrt_id) is not null and LS_akc190 is null then LS_akc190:=substrb(LS_mdtrt_id,1,30);--医保返回:医保门诊挂号流水号/住院登记流水号 end if; if trim(LS_setl_id) is not null and LS_aae072 is null then LS_aae072:=substrb(LS_setl_id,1,30);--医保返回:医保收费流水号 end if; if LS_YBBZ00 in ('1') then LS_YBTYPE:='0';-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] elsif LS_YBBZ00 in ('2') then LS_YBTYPE:='1';-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] end if; end if; --医保病人启用新接口算法 if LS_FBBH00=3 and LS_YBBZ00 in ('1','2') then LS_YBBZ00:='1'; LS_OrdNewyb:='1';--新旧医保标识 0:旧 1:新 else LS_YBBZ00:='0'; LS_OrdNewyb:='0';--新旧医保标识 0:旧 1:新 end if; --启用新医保接口--begin--- if LS_OrdNewyb in ('1') then --[国家医保]参保地行政区划 if trim(LS_insuplc_admdvs) is null and LS_aab034 is not null then LS_insuplc_admdvs:=substrb(LS_aab034,1,10); end if; --[国家医保]就医地医保区划 if trim(LS_mdtrtarea_admvs) is null then --获取BM_YBXZQH.mdtrtarea_admvs if LS_insuplc_admdvs is not null then begin select A.mdtrtarea_admvs into YBXZQH_mdtrtarea_admvs from BM_YBXZQH A where A.admdvs_code=LS_insuplc_admdvs; exception when others then YBXZQH_mdtrtarea_admvs:=null;--[国家医保]就医地医保区划 end; end if; if YBXZQH_mdtrtarea_admvs is not null then LS_mdtrtarea_admvs:=YBXZQH_mdtrtarea_admvs;--就医地医保区划 end if; if LS_mdtrtarea_admvs is null then LS_mdtrtarea_admvs :=substrb(SF_SF_TYZD00('医保新接口参数设置','mdtrtarea_admvs'),1,10); end if; end if; -- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版]---begin--- if LS_YBTYPE='1' then LS_akc190 :=substrb(RJSJBXX.mdtrt_id,1,30);--医保返回:医保门诊挂号流水号/住院登记流水号=mdtrt_id LS_aae072 :=substrb(RJSJBXX.setl_id,1,30);--医保返回:医保收费流水号=setl_id LS_akc227 :=nvl(RJSJBXX.medfee_sumamt,0);--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_bkc040 :=nvl(RJSJBXX.psn_cash_pay,0);--医保返回:个人现金支付金额(实付现金) LS_bkc041 :=nvl(RJSJBXX.acct_pay,0);--医保返回:个人账户支付金额 LS_bkc102 :=nvl(RJSJBXX.fund_pay_sumamt,0);--医保返回:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_bkc045 :=nvl(RJSJBXX.hifp_pay,0);--医保返回:其中:统筹基金支付 LS_bkc052 :=0;--number(12,2) ,--医保返回:其中:大病保险基金支付(商保支付或商业保险) LS_bkc059 :=nvl(RJSJBXX.cvlserv_pay,0);--医保返回:公务员医疗补助 LS_bkc062 :=RJSJBXX.bkc062;--医保返回:其中:精准扶贫医疗叠加 LS_bkc060 :=nvl(RJSJBXX.maf_pay,0);--医保返回:其中:医疗救助基金 LS_ake173 :=nvl(RJSJBXX.oth_pay,0);--医保返回:其中:其他基金支付 oth_pay LS_ake026 :=RJSJBXX.ake026;--number(12,2) ,--医保返回:其中:企业补充 LS_bkc011 :=RJSJBXX.bkc011;--bkc011 个人自费(非医保费用) LS_bkc075 :=RJSJBXX.bkc075;--bkc075 家庭共济账户支付 LS_bkc053 :=RJSJBXX.bkc053;--bkc053 商保现金支付 LS_bkc054 :=RJSJBXX.bkc054;--bkc054 商保账户支付 LS_akc087 :=nvl(RJSJBXX.balc,0);--akc087 个人账户余额 balc LS_aka151 :=RJSJBXX.aka151;--aka151 统筹支付医保费用起付标准 LS_aka150 :=RJSJBXX.aka150;--aka150 本年度住院次数 LS_bkc612 :=RJSJBXX.bkc612;--bkc612 补助基金支付 end if; -- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版]---end--- if trim(LS_akc190) is not null then LS_YBZYH0:=substrb(LS_akc190,1,30); end if; --[akc190]医保挂号号医保住院号 if trim(LS_aae072) is not null then LS_YBDJH0:=substrb(LS_aae072,1,30); end if; --[aae072]医保单据号 LS_BCBXF0:=nvl(LS_akc227,0); --医保费用总额[akc227]本次费用总额 LS_TCJJZF:=nvl(LS_bkc102,0); --统筹基金[bkc102]基金支付\基金支付总额 LS_GRZHZF:=nvl(LS_bkc041,0); --医保账户支付[bkc041]医保账户支付 LS_ZFJE00:=nvl(LS_bkc040,0); --自费金额[bkc040]个人现金支付 LS_GWYBZ0:=nvl(LS_bkc059,0); --公务员补助[bkc059]公务补助 LS_SBGRZH:=0; --商保个人帐户 LS_SBTCJJ:=0; --商保统筹基金 LS_SYBXZF:=0; --商业保险 LS_BJZFE0:=0; --保健基金 LS_YBYL52:=nvl(LS_akc227,0);-- akc227 医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_YBYL53:=nvl(LS_bkc102,0);-- bkc102 基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_YBYL54:=nvl(LS_bkc040,0);-- bkc040 个人现金支付金额(实付现金) LS_YBYL55:=nvl(LS_bkc041,0);-- bkc041 个人帐户支付总额=医保帐户支付+健康帐户支付+家庭共济帐户支付 LS_YBYL56:=nvl(LS_bkc045,0);-- bkc045 其中:统筹基金支付 LS_YBYL57:=nvl(LS_bkc059,0);-- bkc059 其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3) LS_YBYL58:=nvl(LS_bkc052,0);-- bkc052 其中:大病保险基金支付(商业保险支付) LS_YBYL59:=nvl(LS_bkc062,0);-- bkc062 其中:精准扶贫医疗叠加 LS_YBYL60:=nvl(LS_bkc060,0);-- bkc060 其中:医疗救助基金 LS_YBYL61:=nvl(LS_ake173,0);-- ake173 其中:其他基金支付 LS_YBYL62:=nvl(LS_ake026,0);-- ake026 其中:企业补充 LS_YBYL63:=nvl(LS_bkc011,0);-- bkc011 个人自费(非医保费用) LS_YBYL64:=nvl(LS_akc087,0);-- akc087 个人账户余额 LS_YBYL65:=nvl(LS_aka151,0);-- aka151 统筹支付医保费用起付标准 LS_YBYL66:=nvl(LS_aka150,1);-- aka150 住院次数或就诊次数 LS_YBYL67:=nvl(LS_bkc612,1);-- bkc612 补助基金支付bkc612=bkc052 大病保险基金支付+bkc059公务员医疗补助+bkc062精准扶贫医疗叠加+bkc060医疗救助基金+ake173 其他基金支付+ake026企业补充+bkc061保健基金支付 LS_YBYL68:=nvl(LS_bkc064,1);-- bkc064 产前检查费(医保返回) LS_YBYL69:=0;-- txylfwfy 特需医疗服务费用(医保未返回) LS_YBYL35:=nvl(LS_akc227,0); --医保返回的BCBXF0(付费单病种写入) LS_YBSM09:=substrb(LS_aaz149,1,50); --病情编码或CDRG组别 bqbm00 end if; --启用新医保接口--End--- select XZQH00,TYDWMC into ls_XZQH00,ls_TYDWMC from BM_BRXXB0 where BRID00=ls_BRID00; if RZYXX.FBBH00 in (1) and LS_DBZBM0 is not null then P_ERRMSG:='住院结算确认失败:接口暂时不支持自费单病种结算!'; rollback; return; end if; --获取处方项目数 begin select count(1) into LS_CFXMS0 from SST_JSDP_JSMX where XTGZH0=LS_XTGZH0; exception when others then LS_CFXMS0:=0; end; --获取住院病人账户余额 select nvl(sum(XJYE00),0),nvl(sum(ZYE000),0),nvl(sum(ZZYE00),0) into LS_XJYE00,LS_ZHZYE0,LS_ZZYE00 from ZY_BRZHXX where ZYID00=LS_ZYID00 and JFLBID=2; --查询IC_YBBRLB.YBBHSB(判断公务员补助和商保支付) select B.YBBHSB into LS_YBBHSB from BM_BRXXB0 A,IC_YBBRLB B where BRID00=LS_BRID00 and A.YBLB00=B.YBLB00 and A.FBBH00=B.FBBH00; --预收总金额 begin select nvl(sum(JFJE00),0) into LS_YSXJZE from ZY_BRJFB0 where ZYID00=LS_ZYID00 and JFLBID=2 and JZDH00+0=0 and ZFFS00 in(1,8,18,20,24,25,26,28); exception when others then LS_YSXJZE:=0; end; --预收转账总金额 begin select nvl(sum(JFJE00),0) into LS_YSZZZE from ZY_BRJFB0 where ZYID00=LS_ZYID00 and JFLBID=2 and JZDH00+0=0 and ZFFS00 in(2); exception when others then LS_YSZZZE:=0; end; LS_ERRORS:='判断中间表医保单据号'; if nvl(trim(RJSJBXX.MZLSH0),'0') in ('0') and RZYXX.FBBH00 in (3) then P_ERRMSG:=substrb('医保单据号不能为空或为0,请确认是否已经与医保交互!医保单据号='||trim(RJSJBXX.MZLSH0),1,200); rollback; return; end if; --限制只有(20024:住院预结算 20025:住院收费)执行SP_SST_ZY_JSQR_YKT if LS_JKLXBM not in ('20024','20025') then --20024:住院预结算 20025:住院收费 P_ERRMSG:=substrb('调用院内结算结算异常!接口类型='||LS_JKLXMC,1,200); rollback; return; end if; --获取LS_YBZFJE医保支付金额 begin select SF_ZY_GETYBZF(LS_XTGZH0,LS_BRID00,LS_ZYID00,0,LS_YBBHSB,'0') into LS_YBZFJE from dual; exception when others then LS_YBZFJE:=0; end; --单病种业务处理 if (LS_DBZBM0 is not null) or (LS_YBSM10 is not null) then LS_YBYL04:=nvl(LS_TCJJZF,0)+nvl(LS_GRZHZF,0)+nvl(LS_ZFJE00,0); --定额:统筹基金+医保账户支付+自费金额; LS_YBYL05:=nvl(LS_HJJE00,0)-(nvl(LS_TCJJZF,0)+nvl(LS_GRZHZF,0)+nvl(LS_ZFJE00,0)); end if; --算出院应退应补 LS_CYQKJE:=nvl(LS_YSXJZE,0)+nvl(LS_YSZZZE,0)-nvl(LS_ZFJE00,0); --现金+转账-自付金额 /* if LS_CYQKJE>0 then LS_CYYSK0:=0; --出院欠款金额 LS_CYYTK0:=LS_CYQKJE; --出院应退款 else LS_CYYSK0:=-LS_CYQKJE; --出院欠款金额 LS_CYYTK0:=0; --出院应退款 end if; */ PKTJE00:=nvl(LS_CYQKJE,0);--可退金额>0 可退 =0 无可退 <0:需补交金额 --余额不足提示补交 if nvl(LS_CYQKJE,0)<0 and LS_JKLXBM not in ('20024') then --预算不提示余额不足 P_ERRMSG:='病人账户余额不足,至少需要补交:'||trim(to_char(abs(nvl(LS_CYQKJE,0)),'999999990.99'))||'元,补交成功后再次结算或请到住院收费窗口结算! '; rollback; return; end if; --判断现金可退金额 if nvl(LS_YSZZZE,0) > nvl(LS_ZFJE00,0) then LS_XJYE00 := nvl(LS_YSXJZE,0); LS_ZZYE00 := nvl(LS_YSZZZE,0) -nvl(LS_ZFJE00,0) ; --转账余额= -拆分自费金额 else LS_XJYE00 :=nvl(LS_YSXJZE,0)+nvl(LS_YSZZZE,0)-nvl(LS_ZFJE00,0); --现金交费金额+转帐交费金额-合计自付金额-拆分自费金额 LS_ZZYE00 := 0; end if; LS_QFJE00:=nvl(LS_CYQKJE,0); --欠费金额<0 >=0 退款 --更新ZY_YBJK00 LS_ERRORS:='更新ZY_YBJK00:编码='||LS_JKLXBM; update ZY_YBJK00 set YBDJH0=nvl(LS_YBDJH0,'0'), --医保单据号 HJJE00=nvl(LS_HJJE00,0), --院内合计 BCBXF0=nvl(LS_BCBXF0,0), --医保返回金额 TCJJZF=nvl(LS_TCJJZF,0), --统筹支付 GRZHZF=nvl(LS_GRZHZF,0), --医保账户支付 GRZFE0=nvl(RJSJBXX.GRZFE0,0), --医保个人支付 GWYBZ0=nvl(LS_GWYBZ0,0), --公务员补助 ZHZFE0=nvl(RJSJBXX.ZHZFE0,0), --医保账户支付 ZFJE00=nvl(RJSJBXX.GRZFE0,0), --个人自费 YBZHYE=nvl(RJSJBXX.GRZHYE,0), --医保账户余额 SBGRZH=nvl(LS_SBGRZH,0), --商保账户支付 SBTCJJ=nvl(LS_SBTCJJ,0), --商保统筹基金 SYBXZF=nvl(LS_SYBXZF,0), --商业保险支付金额 BJZFE0=nvl(LS_BJZFE0,0), --保健基金支付金额 YBZFJE=nvl(LS_YBZFJE,0), --医保支付金额 ZHZYE0=nvl(LS_ZHZYE0,0), --账户总余额 XJYE00=nvl(LS_XJYE00,0), --现金余额 ZZYE00=nvl(LS_ZZYE00,0), --转账余额 YSZJE0=nvl(LS_YSXJZE,0), --预收总金额 ZZZJE0=nvl(LS_YSZZZE,0), --预收转账总金额 YBYL04=nvl(LS_YBYL04,0), --单病种定额 YBYL05=nvl(LS_YBYL05,0), --医院支付金额 QFJE00=nvl(LS_QFJE00,0) --欠费金额>0 欠费 =0 无欠费 where 1=1 and ZYID00=LS_ZYID00 and DDLSH0=LS_DDLSH0; if LS_JKLXBM in ('20024') then --20024:住院预结算 20025:住院收费 LS_ERRORS:='更新ZY_BRZHXX预结算支付金额'; update ZY_BRZHXX set YBYJS0=nvl(LS_BCBXF0,0), YBYZF0=nvl(LS_TCJJZF,0)+ nvl(LS_GRZHZF,0), YJZFJE = RJSJBXX.GRZFE0, YJZHJE = LS_GRZHZF, YJTCJE = LS_TCJJZF, YJQTJE = 0 where ZYID00=LS_ZYID00; elsif LS_JKLXBM in ('20025') then --20024:住院预结算 20025:住院收费 --20025:住院收费--begin-- if RZYXX.FBBH00 in (3) then LS_JSLX00:='1'; --结算类型 0:中途结算,1:出院结算2:呆账结算3:年度结算 else LS_JSLX00:='1'; --结算类型 0:中途结算,1:出院结算2:呆账结算3:年度结算 if nvl(LS_BCBXF0,0)=0 then LS_BCBXF0:=nvl(LS_HJJE00,0); end if; end if; select SQ_ZY_JZB000_JZDH00.nextval into LS_JZDH00 from dual; select SQ_ZY_PJSYQK_PJH000.nextval into LS_PJH000 from dual; LS_ERRORS:='更新ZY_BRJFB0'; --修改缴费表记录 update ZY_BRJFB0 set JZDH00=LS_JZDH00, BZ0000=substrb('床边结算回收操作员|'||LS_CZYBM0,1,30) where 1=1 and ZYID00=LS_ZYID00 and JFLBID=2 and JZDH00+0=0 and ZFFS00 in(1,2,8,18,20,24,25,26,28); --更新预交金交款的回收状态 update ZY_PJSYQK set HSCZY0 = LS_CZYBM0, HSCZXM = LS_CZYXM0, HSRQ00 = LS_CZRQ00, HSSJ00 = LS_CZSJ00, FSJKBZ = 'H',--发送标志 0:未发送 1:已发送 2:已回收 D:多点结算 H:多点结算回收 JDPH00 =LS_CZYBM0, PJHM00 =LS_CZYXM0, FPQTXX = substrb(FPQTXX||'@'||LS_CZYBM0||'|'||LS_CZYXM0,1,200) where 1=1 and PLBH00 in (4,8) and PJH000 in(select PJH000 from ZY_BRJFB0 where 1=1 and ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00); --插入回收票据情况表 insert into ZY_PJHSQK(ZYID00,JZDH00,DJH000,PJH000,HSJE00,HSCZY0,HSCZXM,HSRQ00,HSSJ00,HSLX00) select ZYID00,LS_JZDH00,DJH000,PJH000,JFJE00,LS_CZYBM0,LS_CZYXM0,LS_CZRQ00,LS_CZSJ00,'1' from ZY_BRJFB0 where ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00; LS_ERRORS:='更新ZY_FYMX00'; --修改费用主表 update ZY_BRFY00 set YBDJH0 =LS_YBDJH0, --医保的单据流水号 JZDH00 =LS_JZDH00 --结算单号 where 1=1 and JZDH00+0=0 --未结算的病人 and ZYID00 = LS_ZYID00; update ZY_FYMX00 set YBDJH0 =LS_YBDJH0, --医保的单据流水号 JZDH00 =LS_JZDH00 --结算单号 where 1=1 and ZYID00 = LS_ZYID00 and JZDH00+0=0; update ZY_YBFSMX set JZDH00 =LS_JZDH00 --结算单号 where 1=1 and ZYID00 = LS_ZYID00 and JZDH00+0=0 and DDLSH0=P_DDLSH0; --获取费用起始日期和截止日期 begin select min(CZRQ00)FYQSRQ,max(CZRQ00)FYJZRQ,min(DJH000),max(DJH000) into LS_FYQSRQ,LS_FYJZRQ,LS_QSDJH0,LS_JZDJH0 from ZY_FYMX00 where ZYID00 = LS_ZYID00 and JZDH00=LS_JZDH00; exception when others then LS_FYQSRQ:=null; LS_FYJZRQ:=null; end; if RZYXX.FBBH00 in (3) then --医保病人插入缴费--begin--- --插入缴费表(医保统筹基金)LS_TCJJZF select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,LS_TCJJZF,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=4; --医保统筹基金 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; --插入缴费表(医保个人账户)LS_GRZHZF select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,LS_GRZHZF,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=3; --医保个人账户 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; /* --插入缴费表(公务员补助)LS_GWYBZ0 if instrb(','||trim(LS_YBBHSB)||',',',15,')=0 and nvl(LS_GWYBZ0,0)<>0 then select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,LS_GWYBZ0,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=16; --公务员补助 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; end if; */ --插入医院支付 if nvl(LS_YBYL05,0)<>0 then select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,LS_YBYL05,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=20; --医院支付 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; end if; --医保病人插入缴费--end--- else --非医保病人插入缴费金额=0--begin--- --插入缴费表(医保统筹基金)LS_TCJJZF select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,0,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=4; --医保统筹基金 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; --插入缴费表(医保个人账户)LS_GRZHZF select SQ_ZY_BRJFB0_DJH000.nextval into LS_JFBDJH from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,JFYY00,PLBH00) select LS_JFBDJH,LS_BRID00,LS_JFLBID,0,ZFFSBH,ZFFSMC,null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'0',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,LS_JFYY00,3 from BM_BRZFFS where ZFFSBH=3; --医保个人账户 SP_ZY_BRJFB0_INSERT(LS_JFBDJH, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; --非医保病人插入缴费金额=0--end--- end if; if LS_mdtrt_cert_type is not null then --[国家医保]就诊凭证类型(bke284)01:医保凭证 02:身份证号 03:社保卡 if LS_mdtrt_cert_type='01' then LS_bke284:='06';--身份认证类型(01:读卡02:融合码06:医保码20:医疗证) elsif LS_mdtrt_cert_type='02' then LS_bke284:='20';--身份认证类型(01:读卡02:融合码06:医保码20:医疗证) elsif LS_mdtrt_cert_type='03' then LS_bke284:='01';--身份认证类型(01:读卡02:融合码06:医保码20:医疗证)LS_aae140 else --2023.07.27 取医保属性对照字典值 begin select trim(VALUE0) into LS_YBSXZD_VALUE0 from bm_ybsxzd where jkbm00=1 and SXBM00='bke284' and JKDZBM=LS_mdtrt_cert_type and rownum=1;--医保属性字典值 exception when others then LS_YBSXZD_VALUE0:=null; end; LS_bke284:=substrb(nvl(LS_YBSXZD_VALUE0,LS_mdtrt_cert_type),1,3); end if; end if; LS_aae140:=nvl(LS_insutype,ZY_aae140);--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 LS_aae140_mc:=nvl(LS_aae140_mc,ZY_aae140_mc);--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 LS_bkc001_mc:=nvl(LS_bkc001_mc,ZY_bkc001_mc);--人员待遇类别名称(城乡居民、普通在职人员等等) if LS_aae140 is not null then LS_aae140_mc:=substrb(SF_XT_GETYBSXZD('insutype',LS_aae140,'3','2'),1,50); end if; if LS_psn_type is not null then --[国家医保]人员待遇类别(bkc001) LS_BKC001_MC := substrb(SF_XT_GETYBSXZD('psn_type',LS_psn_type,'3','2'),1,50); --人员待遇类别名称 end if; LS_psn_no:=nvl(LS_psn_no,zy_psn_no);--[国家医保]人员编号 --插入结账表 LS_ERRORS:='插入ZY_JZB000'; insert into ZY_JZB000( JZDH00,BRID00,ZYID00,FBBH00,YBZXLB,YBBRLB,YBLB00,BRZJE0,JZJE00,GFJE00, HJJE00,JMJE00,GRZHZF,TCJJZF,ZFJE00,PJH000,YBZHYE,JZRQ00,JZSJ00,JZY000, JMYY00,YSZJE0,ZZZJE0,XJFKJE,ZZFKJE,XJYE00,ZZYE00,CYYSK0,CYYTK0,JZBQH0, FYQSRQ,FYJZRQ,BJZFE0,SYBXZF,BCBXF0,CFXMS0,SBGRZH,SBTCJJ,DBZBM0,FFBZBM,TSBZBH, CSLX00,GWYBZ0,JSLX00,DDLSH0,YBYL01,YBYL02, --CYJSLX,DBZMC0,DBZBL0,BZBMLB, YBYL03,YBYL04,YBYL05,YBYL06,YBYL07,YBYL08,YBYL09,YBYL10,YBYL11,YBYL12, YBYL13,YBYL14,YBYL15,YBYL16,YBYL17,YBYL18,YBYL19,YBYL20,YBYL21,YBYL22, YBYL23,YBYL24,YBYL25,YBYL26,YBYL27,YBYL28,YBYL29,YBYL30,YBYL31,YBYL32, YBYL33,YBYL34,YBYL35,YBYL36,YBYL37,YBYL38,YBYL39,YBYL40,YBYL41,YBYL42, YBYL43,YBYL44,YBYL45,YBYL46,YBYL47,YBYL48,YBYL49,YBSM01,YBSM02,YBSM03, YBSM04,YBSM05,YBSM06,YBSM07,YBSM08,YBSM09,YBSM10,YBSM11,YBDJH0, CZYKS0,YBZYH0,XJYJZE,ZZYJZE,XZQH00,TYDWMC, YBYL52,YBYL53,YBYL54,YBYL55,YBYL56,YBYL57,YBYL58,YBYL59,YBYL60, YBYL61,YBYL62,YBYL63,YBYL64,YBYL65,YBYL66,YBYL67,YBYL68,YBYL69) values( LS_JZDH00,LS_BRID00,LS_ZYID00,LS_FBBH00,LS_YBZXLB,LS_YBBRLB,LS_YBLB00,LS_HJJE00,LS_JZJE00,LS_GFJE00, LS_HJJE00,LS_JMJE00,LS_GRZHZF,LS_TCJJZF,LS_ZFJE00,LS_PJH000,0,LS_CZRQ00,LS_CZSJ00,LS_CZYBM0, '多点结算',LS_YSXJZE,LS_YSZZZE,LS_ZFJE00,0,0,0,LS_CYYSK0,LS_CYYTK0,LS_DQBQ00, LS_FYQSRQ,LS_FYJZRQ,0,0,LS_BCBXF0,LS_CFXMS0,0,0,LS_DBZBM0,LS_DBZBM0,LS_DBZBM0, '1',LS_GWYBZ0,LS_JSLX00,LS_DDLSH0,LS_YBYL01,LS_YBYL02, --LS_DBZMC0,LS_DBZBL0,LS_BZBMLB, LS_YBYL03,LS_YBYL04,LS_YBYL05,LS_YBYL06,LS_YBYL07,LS_YBYL08,LS_YBYL09,LS_YBYL10,LS_YBYL11,LS_YBYL12, LS_YBYL13,LS_YBYL14,LS_YBYL15,LS_YBYL16,LS_YBYL17,LS_YBYL18,LS_YBYL19,LS_YBYL20,LS_YBYL21,LS_YBYL22, LS_YBYL23,LS_YBYL24,LS_YBYL25,LS_YBYL26,LS_YBYL27,LS_YBYL28,LS_YBYL29,LS_YBYL30,LS_YBYL31,LS_YBYL32, LS_YBYL33,LS_YBYL34,LS_YBYL35,LS_YBYL36,LS_YBYL37,LS_YBYL38,LS_YBYL39,LS_YBYL40,LS_YBYL41,LS_YBYL42, LS_YBYL43,LS_YBYL44,LS_YBYL45,LS_YBYL46,LS_YBYL47,LS_YBYL48,LS_YBYL49,LS_YBSM01,LS_YBSM02,LS_YBSM03, LS_YBSM04,LS_YBSM05,LS_YBSM06,LS_YBSM07,LS_YBSM08,LS_YBSM09,LS_YBSM10,LS_YBSM11,LS_YBDJH0, LS_CZYKS0,nvl(LS_YBZYH0,RZYXX.YBZYH0),LS_XJYJZE,LS_ZZYJZE,ls_XZQH00,ls_TYDWMC, LS_YBYL52,LS_YBYL53,LS_YBYL54,LS_YBYL55,LS_YBYL56,LS_YBYL57,LS_YBYL58,LS_YBYL59,LS_YBYL60, LS_YBYL61,LS_YBYL62,LS_YBYL63,LS_YBYL64,LS_YBYL65,LS_YBYL66,LS_YBYL67,LS_YBYL68,LS_YBYL69 ); if nvl(LS_JZDH00,0)>0 then update ZY_JZB000 set bke284=LS_bke284, bkc001_mc=substrb(LS_bkc001_mc,1,50), aae140=substrb(nvl(LS_AAE140,AAE140),1,10) ,--险种类型:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 aae140_mc=substrb(nvl(LS_AAE140_MC,AAE140_MC),1,50) ,--险种类型名称(城乡居民基本医疗保险、城镇职工基本医疗保险等等) bke174=substrb(LS_bke174,1,10) ,--异地就医类型编码:1 省内 2 省外 3 市内 4 市外 bke174_mc=substrb(LS_bke174_mc,1,50) ,--异地就医类型名称:(省内、省外、市内、市外) ybtype=substrb(LS_ybtype,1,2) ,--医保接口类型[-1:自费 0:福建版本 1:国家基线版] med_type=substrb(LS_med_type,1,10) ,--[国家医保]医疗类别(aka130) psn_type=substrb(LS_psn_type,1,10) , --[国家医保]人员类别(bkc001) medins_setl_id=substrb(LS_medins_setl_id,1,30) ,--[国家医保]医药机构结算ID clr_optins=substrb(LS_clr_optins,1,20) ,--[国家医保]清算经办机构 clr_way=substrb(LS_clr_way,1,10) ,--[国家医保]清算方式 clr_type=substrb(LS_clr_type,1,10) ,--[国家医保]清算类别 medfee_sumamt=nvl(LS_medfee_sumamt,0) ,--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 fulamt_ownpay_amt=LS_fulamt_ownpay_amt ,--[国家医保]全自费金额 overlmt_selfpay=LS_overlmt_selfpay ,--[国家医保]超限价自费费用 preselfpay_amt=LS_preselfpay_amt ,--[国家医保]先行自付金额 inscp_scp_amt=LS_inscp_scp_amt ,--[国家医保]符合政策范围金额 hifmi_pay=LS_hifmi_pay ,--[国家医保]居民大病保险资金支出 hifob_pay=LS_hifob_pay ,--[国家医保]职工大额医疗费用补助基金支出 acct_mulaid_pay=LS_acct_mulaid_pay ,--[国家医保]个人账户共济支付金额 pool_prop_selfpay=LS_pool_prop_selfpay ,--[国家医保]基本医疗保险统筹基金支付比例 hifdm_pay=LS_hifdm_pay ,--[国家医保]伤残人员医疗保障基金支出 hosp_part_amt=LS_hosp_part_amt ,--[国家医保]医院负担金额 psn_part_amt=LS_psn_part_amt ,--[国家医保]个人负担总金额 insuplc_admdvs=substrb(nvl(LS_insuplc_admdvs,insuplc_admdvs),1,10) ,--参保地行政区划 mdtrtarea_admvs=substrb(nvl(LS_mdtrtarea_admvs,mdtrtarea_admvs),1,10) ,--就医地医保区划 psn_no=substrb(nvl(LS_psn_no,psn_no),1,30) ,--人员编号 dise_codg=substrb(LS_dise_codg,1,30) ,--病种编码 dise_name=substrb(LS_dise_name,1,200) --病种名称 where BRID00=ls_BRID00 and ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00; end if; if RZYXX.FBBH00 in (3) then insert into ZY_YBFS00(BRID00,ZYID00,QSDJH0,ZZDJH0,YBFSDH,FSRQ00,FSSJ00,GRZFE0,GRZHZF,TCJJZF, SBGRZH,SBTCJJ,HJJE00,DBGRZF,GSJJZF,GSZFJE,FGSFY0,BJJJZF,GWYBZ0,SYBXZF, FYBFY0,YLZFJE,CFDXJE,SBZFE0,BJZFE0,GRZHYE,YPWQZF,YPBFZF,XMWQZF,XMBFZF, ZFJE00,GRZHHJ,TCJJHJ,CXBZ00,YBID00,YBKH00,BJJBIE,YBJZRQ,YBJZSJ,TSBZBH, YBYL01,YBYL02,YBYL03,YBYL04,YBYL05,YBYL06,YBYL07,YBYL08,YBYL09,YBYL10, YBYL11,YBYL12,YBYL13,CFXMS0,BCBXF0,--DBZBM0,DBZMC0,DBZBL0,CSLX00, YBYL14,YBYL15,YBYL16,YBYL17,YBYL18,YBYL19,YBYL20,YBYL21,YBYL22,YBYL23, YBYL24,YBYL25,YBYL26,YBYL27,YBYL28,YBYL29,YBYL30,YBYL31,YBYL32,YBYL33, YBYL34,YBYL35,YBYL36,YBYL37,YBYL38,YBYL39,YBYL40,YBYL41,YBYL42,YBYL43, YBYL44,YBYL45,YBYL46,YBYL47,YBYL48,YBYL49,YBSM01,YBSM02,YBSM03,YBSM04, YBSM05,YBSM06,YBSM07,YBSM08,YBSM09,YBSM10,YBSM11,JZDH00,CZY000) values(LS_BRID00,LS_ZYID00,LS_QSDJH0,LS_JZDJH0,LS_YBDJH0,LS_CZRQ00,LS_CZSJ00,LS_ZFJE00,LS_GRZHZF,LS_TCJJZF, 0,0,LS_HJJE00,0,0,0,0,0,LS_GWYBZ0,LS_SYBXZF, 0,0,0,0,0,0,0,0,0,0, 0,0,0,'0',LS_YBID00,LS_YBKH00,0,to_char(sysdate,'YYYYMMDD'),to_char(sysdate,'HH24:MI:SS'),'', LS_YBYL01,LS_YBYL02,LS_YBYL03,LS_YBYL04,LS_YBYL05,LS_YBYL06,LS_YBYL07,LS_YBYL08,LS_YBYL09,LS_YBYL10, LS_YBYL11,LS_YBYL12,LS_YBYL13,LS_CFXMS0,LS_BCBXF0,--LS_DBZBM0,LS_DBZMC0,LS_DBZBL0,null, LS_YBYL14,LS_YBYL15,LS_YBYL16,LS_YBYL17,LS_YBYL18,LS_YBYL19,LS_YBYL20,LS_YBYL21,LS_YBYL22,LS_YBYL23, LS_YBYL24,LS_YBYL25,LS_YBYL26,LS_YBYL27,LS_YBYL28,LS_YBYL29,LS_YBYL30,LS_YBYL31,LS_YBYL32,LS_YBYL33, LS_YBYL34,LS_YBYL35,LS_YBYL36,LS_YBYL37,LS_YBYL38,LS_YBYL39,LS_YBYL40,LS_YBYL41,LS_YBYL42,LS_YBYL43, LS_YBYL44,LS_YBYL45,LS_YBYL46,LS_YBYL47,LS_YBYL48,LS_YBYL49,LS_YBSM01,LS_YBSM02,LS_YBSM03,LS_YBSM04, LS_YBSM05,LS_YBSM06,LS_YBSM07,LS_YBSM08,LS_YBSM09,LS_YBSM10,LS_YBSM11,LS_JZDH00,LS_CZYBM0 ); update ZY_JZB000 set YBJZRQ=to_char(sysdate,'YYYYMMDD'),YBJZSJ=to_char(sysdate,'HH24:MI:SS') where JZDH00=LS_JZDH00 and ZYID00=LS_ZYID00; --启用新医保接口--begin-- if LS_OrdNewyb in ('1') then --更新结账表数据 update ZY_JZB000 set YBJKID=RJSJBXX.YBJKID,YBSM19= RJSJBXX.YBJKID,MXLSH0=substrb(RJSJBXX.bke297,1,50), bkc001_mc=substrb(RJSJBXX.bkc001_mc,1,50),bke174=substrb(RJSJBXX.bke174,1,10),bke174_mc=substrb(RJSJBXX.bke174_mc,1,50) where BRID00=LS_BRID00 and JZDH00=LS_JZDH00; --更新ZY_BRXXB0 update ZY_BRXXB0 set bkc001_mc=substrb(nvl(LS_BKC001_MC,BKC001_MC),1,50) ,--人员待遇类别名称(城乡居民、普通在职人员等等) aae140=substrb(nvl(LS_AAE140,AAE140),1,10) ,--险种类型:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 aae140_mc=substrb(nvl(LS_AAE140_MC,AAE140_MC),1,50) ,--险种类型名称(城乡居民基本医疗保险、城镇职工基本医疗保险等等) psn_no=substrb(nvl(LS_psn_no,psn_no),1,30) ,--psn_no[国家医保]人员编号 insuplc_admdvs=substrb(nvl(LS_insuplc_admdvs,insuplc_admdvs),1,10) --参保地信息 where ZYID00=LS_ZYID00; update bm_BRXXB0 set bkc001_mc=substrb(nvl(LS_BKC001_MC,BKC001_MC),1,50) ,--人员待遇类别名称(城乡居民、普通在职人员等等) aae140=substrb(nvl(LS_AAE140,AAE140),1,10) ,--险种类型:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 aae140_mc=substrb(nvl(LS_AAE140_MC,AAE140_MC),1,50) ,--险种类型名称(城乡居民基本医疗保险、城镇职工基本医疗保险等等) psn_no=substrb(nvl(LS_psn_no,psn_no),1,30) ,--psn_no[国家医保]人员编号 xzqh00=substrb(nvl(LS_insuplc_admdvs,xzqh00),1,10) --参保地信息 where BRID00=LS_BRID00; --更新中间表医保挂号和医保单据号 update SST.SST_JSDP_JBXX set Mzlsh0=nvl(trim(LS_akc190),'0'), --[akc190]医保挂号号 Djlsh0=nvl(trim(LS_aae072),'0'), --[aae072]医保单据号 Bcbxf0=nvl(LS_akc227,0),--[akc227]本次费用总额 ZHZFE0=nvl(LS_GRZHZF,0),--[bkc041]医保账户支付 GRZFE0=nvl(LS_bkc040,0),--[bkc040]个人现金支付 JJZFE0=nvl(LS_TCJJZF,0), --[bkc102]基金支付\基金支付总额 GWYBZ0=nvl(LS_GWYBZ0,0),--公务员补助 SBTCJJ=nvl(LS_SBTCJJ,0),--商保统筹基金 SBGRZF=0,--商保个人支付 SYBXZF=nvl(LS_SYBXZF,0),--商业保险 SBJJZF=0,--商保基金支付(省属三家市属九家医疗机构) SSBJJJ=0,--保健基金支付(省属三家市属九家医疗机构) BJJJZF=0,--保健商保统筹基金 SBZFJE=0,--大额医疗费用报销金额(sbzfje) DBGRZF=0,--大病互助(商保)个人支付(dbgrzf=SF_JZB000.YBYL29) DBJJZF=0,--大病互助(商保)基金支付(dbjjzf=SF_JZB000.YBYL31) DBZHZF=0 --大病互助(商保)账户支付(dbzhzf=SF_JZB000.YBYL30) where XTGZH0=LS_XTGZH0 and BRID00=LS_BRID00; end if; --启用新医保接口--end-- end if; --插入结账明细表 LS_ERRORS:='插入ZY_JZMX00'; insert into ZY_JZMX00(JZDH00,XMBH00,XMMC00,XMJE00,JMJE00,JMSHR0,JMYY00,ZFBL00,SFYLXM,ZFJE00,QZFJE0) select LS_JZDH00,B.FPXMID,B.XMMC00,nvl(sum(A.HJJE00),0)HJJE00,0,null,null,max(A.ZFBL00)ZFBL00,B.SFYLXM,nvl(sum(A.ZFJE00),0)ZFJE00,nvl(sum(A.QZFJE0),0)QZFJE0 from ZY_FYMX00 A,BM_FPXM00 B where 1=1 and A.ZYFPID = B.FPXMID and A.ZYID00 = LS_ZYID00 and A.JZDH00+0=LS_JZDH00 group by B.FPXMID,B.XMMC00,B.SFYLXM; --LS_ERRORS:='插入ZY_JZMXXM'; insert into ZY_JZMXXM(JZDH00,MXID00,BZ0000) select LS_JZDH00,MXID00,1 from ZY_FYMX00 a where 1=1 and a.ZYID00=LS_ZYID00 and a.JZDH00+0=LS_JZDH00; --插入票据使用情况表 LS_ERRORS:='插入ZY_PJSYQK'; LS_SFDY00:='Y'; --是否打印 Y':票据已打印,'N':票据未打印 ls_FPPJXH:= SF_ZY_GETPJXH(LS_CZYBM0,3,LS_CZYKS0); --正常发票的票据号 insert into ZY_PJSYQK(PJH000,PLBH00,PLMC00,PJXH00,XJJE00,ZZJE00,CZY000,CZYXM0,DYRQ00,DYSJ00, SFDY00,PJZT00,XM0000,XB0000,YEXM00,FZPJH0,ZYID00,CZYKS0,PHLYXZ,FPQTXX,FSJKBZ, HJJE00,ZFJE00,JZJE00,JMJE00,YHJE00) select LS_PJH000,PLBH00,PLMC00,ls_FPPJXH,LS_HJJE00,0,LS_CZYBM0,LS_CZYXM0,LS_CZRQ00,LS_CZSJ00, LS_SFDY00,'0',RZYXX.XM0000,RZYXX.XB0000,'全部',LS_PJH000,LS_ZYID00,LS_CZYKS0,'N',LS_JFYY00,'D', LS_HJJE00,LS_ZFJE00,LS_JZJE00,LS_JMJE00,0 from BM_PJLXB0 where PLBH00 = 3; SP_ZY_PJSYQK_INSERT(ls_PJH000, LS_CZYBM0, LS_CZYKS0, 'N', LS_ZXCGBZ, LS_TSXX00, LS_XXXX00); LS_ERRORS:='插入ZY_PJSYMX'; insert into ZY_PJSYMX(PJH000,XMBH00,XMMC00,XMJE00,XMBZ00,ZFBL00,QZFJE0,SFYLXM) select LS_PJH000,XMBH00,XMMC00,XMJE00,0,ZFBL00,QZFJE0,SFYLXM from ZY_JZMX00 where JZDH00=LS_JZDH00; --插入单病种发票信息 if (LS_DBZBM0 is not null) then --select SF_ZY_DBZCBFY(LS_ZYID00,LS_BRID00,LS_DBZBM0,0,0,LS_DDLSH0) into LS_DBZCWF from dual;--超标床位费 --select SF_ZY_DBZCBFY(LS_ZYID00,LS_BRID00,LS_DBZBM0,0,1,LS_DDLSH0) into LS_DBZHCF from dual;--除外耗材费 --2021.05.27 超标床位费,除外耗材费 select nvl(max(DBZCWF),0)DBZCWF,nvl(max(DBZHCF),0)DBZHCF,nvl(max(TXYLFW),0)TXYLFW into LS_DBZCWF,LS_DBZHCF,LS_TXYLFW from ZY_BRZHXX where ZYID00 = LS_ZYID00 and JFLBID = 2; update ZY_JZB000 set YBYL33 =nvl(LS_DBZCWF,0),--超标床位费用(付费单病种写入) YBYL34 =nvl(LS_DBZHCF,0),--除外耗材费用(付费单病种写入) YBYL69 =nvl(ls_TXYLFW,0) --特需医疗服务费用(医保未返回) where ZYID00 = LS_ZYID00 and JZDH00 = LS_JZDH00; --2018.10.11 (YBYL14:bcbxf0:医保结算返回本次费用总额) if (nvl(LS_YBYL04,0)>0) and (nvl(LS_YBYL04,0)-nvl(LS_DBZCWF,0)-nvl(LS_DBZHCF,0)>0) then LS_YBYL04:=nvl(LS_YBYL04,0)-nvl(LS_DBZCWF,0)-nvl(LS_DBZHCF,0); --单病种标准=医保结算返回本次费用总额-超标床位费-除外耗材费 end if; update ZY_JZB000 set YBYL04=nvl(LS_YBYL04,0),YBYL45=nvl(LS_DBZCWF,0),YBYL46=nvl(LS_DBZHCF,0) where JZDH00=LS_JZDH00 and ZYID00=LS_ZYID00; delete ZY_BZFPMX where ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00; insert into ZY_BZFPMX(ZYID00,JZDH00,XMBH00,XMMC00,XMJE00,ZFJE00,QZFJE0,SFYLXM,ZFBL00,BZ0000) values(LS_ZYID00,LS_JZDH00,'YBYL04','单病种标准',nvl(LS_YBYL04,0),nvl(LS_YBYL04,0),0,'Y',1,''); --单病种超标床位费 insert into ZY_BZFPMX(ZYID00,JZDH00,XMBH00,XMMC00,XMJE00,ZFJE00,QZFJE0,SFYLXM,ZFBL00,BZ0000) values(LS_ZYID00,LS_JZDH00,'YBYL16','超标床位费',nvl(LS_DBZCWF,0),nvl(LS_DBZCWF,0),0,'Y',1,''); --单病种另收耗材费 insert into ZY_BZFPMX(ZYID00,JZDH00,XMBH00,XMMC00,XMJE00,ZFJE00,QZFJE0,SFYLXM,ZFBL00,BZ0000) values(LS_ZYID00,LS_JZDH00,'YBYL17','除外耗材费',nvl(LS_DBZHCF,0),nvl(LS_DBZHCF,0),0,'Y',1,''); --特需医疗服务费用(医保未返回) if nvl(ls_TXYLFW,0)<>0 then insert into ZY_BZFPMX(ZYID00,JZDH00,XMBH00,XMMC00,XMJE00,ZFJE00,QZFJE0,SFYLXM,ZFBL00,BZ0000) values(LS_ZYID00,LS_JZDH00,'YBYL69','特需医疗服务费用',nvl(ls_TXYLFW,0),nvl(ls_TXYLFW,0),0,'Y',1,''); end if; elsif (LS_YBSM10 is not null) then --C-DRG结算流程,重新计算一些值 select nvl(max(ID0000),0) into ls_ID0000 from ZY_YBFSMX where ZYID00=LS_ZYID00 and nvl(JZDH00,0)=LS_JZDH00 and CXBZ00='0'; --update ZY_YBFSMX set JZDH00=LS_JZDH00 where ID0000 = ls_ID0000; update ZY_JZB000 set YBYL43 = SF_ZY_DBZCBFY(LS_ZYID00,ls_BRID00,null,ls_ID0000,3,P_DDLSH0), YBYL44 = SF_ZY_DBZCBFY(LS_ZYID00,ls_BRID00,null,ls_ID0000,0,P_DDLSH0), YBYL45 = SF_ZY_DBZCBFY(LS_ZYID00,ls_BRID00,null,ls_ID0000,2,P_DDLSH0), CBYPF0 = SF_ZY_DBZCBFY(LS_ZYID00,ls_BRID00,null,ls_ID0000,5,P_DDLSH0), -- C-DRG超标药品费 WPCWFY = SF_ZY_DBZCBFY(LS_ZYID00,ls_BRID00,null,ls_ID0000,7,P_DDLSH0) -- CDRG无陪护除外费用 where ZYID00 = LS_ZYID00 and JZDH00 = LS_JZDH00; end if; --获取账户总余额、现金余额、转账余额 begin select nvl(sum(ZYE000),0) into LS_ZHZYE0 from ZY_BRZHXX where ZYID00=LS_ZYID00 and JFLBID=2; exception when others then LS_ZHZYE0:=0; end; --2020.02.10 增加账户余额小于0 不允许结算--begin-- if nvl(LS_ZHZYE0,0)<0 then --PZXZT00:='0';--0:失败 1:成功 P_ERRMSG:='住院结算确认失败:病人账户余额不足,至少需要补交:'||trim(to_char(abs(nvl(LS_ZHZYE0,0)),'999999990.99'))||'元! '; return; end if; --院内本次结算金额 begin select sum(A.HJJE00) into LS_FYHJJE from ZY_FYMX00 A where a.ZYID00 = LS_ZYID00 and a.JZDH00+0=LS_JZDH00; exception when others then LS_FYHJJE:=0; end; --判断结账合计金额和医保费用总额是否一致 if nvl(LS_HJJE00,0)<>nvl(LS_BCBXF0,0) and (LS_DBZBM0 is null and LS_YBSM10 is null) then P_ERRMSG := '住院结算确认失败:院内结算总额和医保返回总额不一致!'||'院内结算总额:'||trim(to_char(nvl(LS_HJJE00,0),'999999990.99'))||' 医保返回总额:'||trim(to_char(nvl(LS_BCBXF0,0),'999999990.99')); rollback; return; end if; --判断结账合计总额和费用总额是否一致 if nvl(LS_JZHJJE,0)<>nvl(LS_FYHJJE,0) and (LS_DBZBM0 is null and LS_YBSM10 is null) then P_ERRMSG := '住院结算确认失败:本次结账总额和费用总额不一致!'||'结账总额:'||trim(to_char(nvl(LS_JZHJJE,0),'999999990.99'))||' 费用总额:'||trim(to_char(nvl(LS_FYHJJE,0),'999999990.99')); rollback; return; end if; --执行院内优先退款---begin---- if LS_CBCYJSZFTKMS in ('Y') and abs(nvl(LS_XJYE00,0))>0 then --步骤1:执行过程SP_ZY_GETCYJSPAYKTJE判断,现金可退、转账可退、电子支付可退(微信、支付宝、银行刷卡、聚合支付) SP_ZY_GETCYJSPAYKTJE ( LS_BRID00,--入参:BRID00 LS_ZYID00,--入参:ZYID00 '11',--入参:PCZBZ00结算类型 0:中途结算,1:出院结算 2:重新结算 11:床边出院结算 LS_JZDH00,--入参:PJZDH00结账单号 nvl(LS_XJYE00,0),--入参:PXJYE00现金余额 nvl(LS_ZZYE00,0),--入参:PZZYE00转账余额 null,--入参:PQTCS00其他参数 OUT_CXLSH0,--出参:PCXLSH0退款查询流水号 OUT_TKXJ00,--出参:PKTXJ00可退现金 OUT_TKZZ00,--出参:PKTZZ00可退转账 OUT_PAYJE0,--出参:PPAYJE0可退电子支付(微信、支付宝、银行刷卡、聚合支付) OUT_ERRSTR--出参:PERRSTR错误信息 ); --步骤2:有现金退款提示报错 if abs(nvl(OUT_TKXJ00,0))>0 and substrb(LS_CBJSTK,1,1) not in ('Y') then --有退款金额直接报错 P_ERRMSG := '本次结算存在[现金]退款,现金可退:'||trim(to_char(abs(nvl(OUT_TKXJ00,0)),'999999990.99'))||'元,'; P_ERRMSG :=P_ERRMSG||'其中:【预交金总额:'||trim(to_char(nvl(LS_YSXJZE,0)+nvl(LS_YSZZZE,0),'999999990.99'))||'元,'; P_ERRMSG :=P_ERRMSG||'结算自付金额:'||trim(to_char(nvl(LS_ZFJE00,0),'999999990.99'))||'元,'; P_ERRMSG :=P_ERRMSG||'可退总额:'||trim(to_char(nvl(LS_XJYE00,0)+nvl(LS_ZZYE00,0),'999999990.99')) ||'元'; P_ERRMSG :=P_ERRMSG||'】请到收费窗口办理!'; rollback; return; end if; if nvl(OUT_PAYJE0,0)>0 then --步骤3:循环院内退款 for TK in CUR_CYJSTK loop LS_ZXZT00:=0;--PZXZT00输出:执行状态 0:失败 1:成功 2:不执行 LS_ERRMSG:='';--PERRMSG输出:错误信息 SP_ZY_EXECYJSPAYKTJE( TK.ZFQDBM,--PZFQDBM输入:支付渠道编码 Y(YHPAY):易惠公司 M(YXPAY):医信公司 P(LKWLPAY):联空网络 R(JKZLPAY):健康之路当面付 Q(YLPAY):医联支付 'DD',--PJGBM00输入:机构编码:DD:多点结算 YD:移动结算 ZYSF:住院收费 43,--PJKLXBH输入:接口类型编号 43:院内优先退款 LS_BRID00,--PBRID00输入:BRID00 LS_ZYID00,--PZYGHID输入:住院(ZYID00)或门诊(GHID000)流水号 LS_ZYH000,--PZYHGHH输入:住院(ZYH000)或门诊(GHH000)号 LS_CZYBM0,--PCZY000输入:操作员编码 LS_CZYXM0,--PCZYXM0输入:操作员姓名 LS_CZYKS0,--PCZYKS0输入:操作员科室 '1',--PMZZYBZ输入:门诊住院标志 0:门诊 1:住院 '1',--PJFBZ00输入:缴费备注0:交,1:退 TK.TKDDH0,--PTKDDH0输入:退款订单号 TK.ZFFS00,--PZFFS00输入:支付编码 TK.ZFFSMC,--PZFFSMC输入:支付名称 TK.ZFMXBH,--PZFMXBH输入:支付编码 TK.TKJE00,--PJFJE00输入:缴费金额 LS_JZDH00,--PJZDH00输入:结账单号 LS_PJH000,--PPJH000输入:票据号 '0',--PPJXH00输入:票据序号 'N',--PCOMMIT输入:是否提交事务 Y:提交 N:不提交 '',--PINCS00输入:其它参数 LS_ZFDDH0,--PDDLSH0输出:订单流水号 LS_ZFDJH0,--PDJH000输出:单据号=ZY_BRJFB0.DJH000 LS_ZXZT00,--PZXZT00输出:执行状态 0:失败 1:成功 2:不执行 LS_ERRMSG--PERRMSG输出:错误信息 ); if LS_ZXZT00=0 then P_ERRMSG := '住院结算确认失败:微信、支付宝院内优先退款失败!原因:'||LS_ERRMSG; rollback; return; end if; if TK.ZFFS00=1 then OUT_TKXJ00:=nvl(OUT_TKXJ00,0)+abs(TK.TKJE00);--可退现金 elsif TK.ZFFS00=8 then OUT_TKZZ00:=nvl(OUT_TKZZ00,0)+abs(TK.TKJE00);--可退转账 elsif TK.ZFFS00=8 then OUT_TKPOS0:=nvl(OUT_TKPOS0,0)+abs(TK.TKJE00); --可退款POS elsif TK.ZFFS00=24 then OUT_TKWX00:=nvl(OUT_TKWX00,0)+abs(TK.TKJE00);--可退款微信 elsif TK.ZFFS00=25 then OUT_TKZFB0:=nvl(OUT_TKZFB0,0)+abs(TK.TKJE00);--可退款支付宝 elsif TK.ZFFS00=28 then OUT_TKDZZF:=nvl(OUT_TKDZZF,0)+abs(TK.TKJE00);--可退款电子支付 else OUT_TKQTJE:=nvl(OUT_TKQTJE,0)+abs(TK.TKJE00);--可退款其它 end if; update PAY_YJJ_MXCX set DJH000=LS_ZFDJH0 ,--ZY_BRJFB0.DJH000 TRANS_MODE='10' ,--交易方式 01:入账;02:出账 10:床边结算院内优先退款 TRACENO=LS_ZFDDH0 where CXLSH0=TK.CXLSH0 and BILLSN=TK.BILLSN; end loop; LS_XJYE00:=OUT_TKXJ00; --现金退款 LS_ZZYE00:=OUT_TKZZ00; --转账退款 LS_TQTK00:='2'; ----支付退款状态 0:正常模式 1:交互前院内优先退款 2:结算后院内优先退款 3:平台退款成功 end if; end if; --执行院内优先退款---end---- OUT_BCFYZE:=nvl(LS_HJJE00,0);--本次费用总额 OUT_YBBCJC:=nvl(LS_YBZFJE,0);--本次医保补偿金额 OUT_BCZFJE:=nvl(LS_ZFJE00,0);--本次自付金额 OUT_YJJZE0:=nvl(LS_YSXJZE,0)+nvl(LS_YSZZZE,0);--预交金总额 OUT_YTZJE0:=nvl(LS_XJYE00,0)+nvl(LS_ZZYE00,0)+nvl(OUT_PAYJE0,0);--应退总额 select SF_ZY_GETYJJPLBH into ls_PLBH00 from dual; --获取收费员的票据序号-- begin select PJDQH0,PJLYID into LS_PJXH00,LS_PJLYID from BM_PJLYQK where PJLXBM =ls_PLBH00 and SYBZ00='Y' and PJSYR0=LS_CZYBM0; exception when others then LS_PJXH00:='0'; LS_PJLYID:=0; end; --插入现金退款金额 if nvl(LS_XJYE00,0)>0 then select SQ_ZY_PJSYQK_PJH000.nextval into LS_PJH000 from dual; select SQ_ZY_BRJFB0_DJH000.nextval into LS_XJDJH0 from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,PLBH00) values(LS_XJDJH0,LS_BRID00,LS_JFLBID,-nvl(LS_XJYE00,0),1,'现金',null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'1',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,ls_PLBH00 ); SP_ZY_BRJFB0_INSERT(LS_XJDJH0, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; insert into ZY_PJSYQK(PJH000,PLBH00,PLMC00,PJXH00,XJJE00,ZZJE00,YHKJE0,CZY000,CZYXM0, DYRQ00,DYSJ00,SFDY00,PJZT00,XM0000,XB0000,CZYKS0,PJLYID,ZYID00,PHLYXZ, HJJE00,ZFJE00,JZJE00,JMJE00,YHJE00,HSCZY0,HSCZXM,HSRQ00,HSSJ00) select LS_PJH000,PLBH00,PLMC00,LS_PJXH00,-nvl(LS_XJYE00,0),0,0,LS_CZYBM0,LS_CZYXM0, LS_CZRQ00,LS_CZSJ00,'Y','0',RZYXX.XM0000,RZYXX.XB0000,LS_CZYKS0,LS_PJLYID,LS_ZYID00,'N',-nvl(LS_XJYE00,0), 0,0,0,0, LS_CZYBM0,LS_CZYXM0,LS_CZRQ00,LS_CZSJ00 from BM_PJLXB0 where PLBH00 = ls_PLBH00; SP_ZY_PJSYQK_INSERT(LS_PJH000, LS_CZYBM0, LS_CZYKS0, 'N', LS_ZXCGBZ, LS_tsxx00, LS_xxxx00); end if; if nvl(LS_ZZYE00,0)>0 then --有退款金额直接报错 P_ERRMSG := '本次结算存在[转账]余额,可退转账余额:【'||trim(to_char(nvl(LS_ZZYE00,0),'999999990.99')) ||'元】请到收费窗口办理!'; rollback; return; end if; --插入转账退款金额 if nvl(LS_ZZYE00,0)>0 then select SQ_ZY_PJSYQK_PJH000.nextval into LS_PJH000 from dual; select SQ_ZY_BRJFB0_DJH000.nextval into LS_ZZDJH0 from dual; insert into ZY_BRJFB0( DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,ZPZH00,PJH000,JFRQ00,JFSJ00, JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00,JYLSH0,YKTSH0,JYLXMC,JGBM00, JGMC00,DDLSH0,ZYID00,CZYKS0,DQBQ00,PLBH00) values(LS_ZZDJH0,LS_BRID00,LS_JFLBID,-nvl(LS_ZZYE00,0),2,'转账',null,LS_PJH000,LS_CZRQ00,LS_CZSJ00, LS_CZYBM0,LS_CZYXM0,0,'1',0,LS_JZDH00,LS_JYLSH0,LS_YKTSH0,LS_JYLXMC,LS_JGBM00, LS_JGMC00,LS_DDLSH0,LS_ZYID00,LS_CZYKS0,LS_DQBQ00,ls_PLBH00 ); SP_ZY_BRJFB0_INSERT(LS_ZZDJH0, LS_CZYBM0, LS_CZYKS0, 'N', LS_zxcgbz, LS_tsxx00, LS_xxxx00); if LS_zxcgbz not in (1) then P_ERRMSG:=LS_xxxx00; return; end if; insert into ZY_PJSYQK(PJH000,PLBH00,PLMC00,PJXH00,XJJE00,ZZJE00,YHKJE0,CZY000,CZYXM0, DYRQ00,DYSJ00,SFDY00,PJZT00,XM0000,XB0000,CZYKS0,PJLYID,ZYID00,PHLYXZ, HJJE00,ZFJE00,JZJE00,JMJE00,YHJE00,HSCZY0,HSCZXM,HSRQ00,HSSJ00) select LS_PJH000,PLBH00,PLMC00,LS_PJXH00,0,-nvl(LS_ZZYE00,0),0,LS_CZYBM0,LS_CZYXM0, LS_CZRQ00,LS_CZSJ00,'Y','0',RZYXX.XM0000,RZYXX.XB0000,LS_CZYKS0,LS_PJLYID,LS_ZYID00,'N',-nvl(LS_ZZYE00,0), 0,0,0,0, LS_CZYBM0,LS_CZYXM0,LS_CZRQ00,LS_CZSJ00 from BM_PJLXB0 where PLBH00 = ls_PLBH00; SP_ZY_PJSYQK_INSERT(LS_PJH000, LS_CZYBM0, LS_CZYKS0, 'N', LS_ZXCGBZ, LS_tsxx00, LS_xxxx00); end if; --修改结账表单据号 update ZY_JZB000 set XJYE00=nvl(LS_XJYE00,0), --现金余额 XJFKJE=nvl(LS_XJYE00,0), --现金付款金额 ZZFKJE=nvl(LS_ZZYE00,0), --转账付款金额 ZZYE00=nvl(LS_ZZYE00,0), --转账余额 YBSM07=OUT_CXLSH0 where 1=1 and ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00; --修改中间表数据 update ZY_YBJK00 set JZDH00=nvl(LS_JZDH00,0), --结账单号 INCS00=LS_XJDJH0, --现金单据号 INCS01=LS_ZZDJH0, --转账单据号 XJYE00=nvl(LS_XJYE00,0), --现金余额 ZZYE00=nvl(LS_ZZYE00,0) --转账余额 where 1=1 and ZYID00=LS_ZYID00 and DDLSH0=LS_DDLSH0; update SST_JSDP_JBXX set JZDH00=LS_JZDH00, --结账单号 DDLSH0=LS_DDLSH0, --订单流水号 JSHYE0=nvl(LS_XJYE00,0), --结算后(现金余额) JSHQBE=nvl(LS_ZZYE00,0) --结算后(转账余额) where 1=1 and ZYID00=LS_ZYID00 and XTGZH0=LS_XTGZH0; LS_BZXX00:=substrb('退现金:'||OUT_TKXJ00||',退转账:'||OUT_TKZZ00 ||',退POS:'||OUT_TKPOS0 ||',退微信:'||OUT_TKWX00 ||',退支付宝:'||OUT_TKZFB0 ||',电子支付:'||OUT_TKDZZF,1,200); update ZY_JZB000 set YBSM04=OUT_CXLSH0,JMYY00=LS_BZXX00 where 1=1 and ZYID00=LS_ZYID00 and JZDH00=LS_JZDH00; update ZY_YBJK00 set BZXX00=LS_BZXX00, --备注信息 YBSM01=LS_XJDJH0,--结算退现金单号 YBSM02=LS_ZZDJH0,--结算退转账单号 YBSM03=LS_TQTK00,--支付退款状态 0:正常模式 1:交互前院内优先退款 2:结算后院内优先退款 3:平台退款成功 YBSM04=OUT_CXLSH0,--退款查询流水号 YBSM05=OUT_BCFYZE,--本次费用总额 YBSM06=OUT_YBBCJC,--本次医保补偿金额 YBSM07=OUT_BCZFJE,--本次自付金额 YBSM08=OUT_YJJZE0,--预交金总额 YBSM09=OUT_YTZJE0,--应退总额 YBSM10=OUT_TKXJ00,--可退款现金 YBSM11=OUT_TKZZ00,--可退款转账 YBSM12=OUT_TKPOS0,--可退款POS YBSM13=OUT_TKWX00,--可退款微信 YBSM14=OUT_TKZFB0,--可退款支付宝 YBSM15=OUT_TKDZZF,--可退款电子支付 YBSM16=OUT_TKQTJE,--可退款其它 YBSM17=OUT_TKJLS0,--退款记录数 YBSM18=OUT_TKZJE0,--退款总金额 YBSM19=OUT_PAYJE0 --微信、支付宝、银行卡、聚会支付 where 1=1 and ZYID00=LS_ZYID00 and DDLSH0=LS_DDLSH0; select nvl(sum(ZFJE00),0) into LS_WJSJE0 from ZY_FYMX00 where ZYID00=LS_ZYID00 and JZDH00+0=0;--未结算金额 select nvl(sum(ZFJE00),0) into LS_YJSJE0 from ZY_FYMX00 where ZYID00=LS_ZYID00 and JZDH00+0>0;--已结算金额 select nvl(sum(JFJE00),0) into LS_WJXJJE from ZY_BRJFB0 where ZYID00=LS_ZYID00 and JFLBID ='2' and JZDH00+0=0 and ZFFS00 in (1,8,18,24,25,28) and JFBZ00<>'2';--未结算现金预交金总额 select nvl(sum(JFJE00),0) into LS_WJZZJE from ZY_BRJFB0 where ZYID00=LS_ZYID00 and JFLBID ='2' and JZDH00+0=0 and ZFFS00 = 2 and JFBZ00<>'2';--未结算转账预交金总额 update ZY_BRZHXX set XJYE00=0, --病人现金余额 ZZYE00=0, --病人转帐余额 ZYE000=0, --帐户实际总余额 YKZYE0=0, --预扣后的总余额 YBYZF0=0, --医保预支付 YBYJS0=0, --医保预结算金额 YBTCJE=0, --医保统筹金额 YBZFJE=0, --医保自付金额 BZWFY0=0, --病种外费用(结算或预结算后清零) WJSJE0 =nvl(LS_WJSJE0,0),--未结算金额 YJSJE0 =nvl(LS_YJSJE0,0),--已结算金额 WJXJJE =nvl(LS_WJXJJE,0),--未结算现金预交金总额 WJZZJE =nvl(LS_WJZZJE,0) --未结算转账预交金总额 where ZYID00 = LS_ZYID00 and JFLBID = '2'; --2021.06.24 增加直接结算后出院登记(出院登记状态 1:结算确认时,HIS直接出院登记 0或空,HIS单独发起出院登记) if RJSJBXX.CYDJZT='1' then --修改住院病人信息表医保出院日期 update ZY_BRXXB0 Set YBCYRQ=nvl(LS_YBCYRQ,YBCYRQ) ,--医保出院日期 YBCYSJ=nvl(LS_YBCYSJ,YBCYSJ) --医保出院时间 where ZYID00=LS_ZYID00; --调用过程SP_ZY_YBCYDJ SP_ZY_YBCYDJ ( LS_CZYBM0,--ad_JZY000 in number, --结账操作员编码 LS_CZYXM0,--as_JZYXM0 in char, --结账操作员姓名 LS_BRID00,--ad_BRID00 in number, --病人ID LS_JFLBID,--ad_JFLBID in number, --交费类别ID LS_ZYID00,--ad_ZYID00 in number, --病人住院信息表ID '4',--as_BRZT00 in char, --'4':正常出院病人,'5':逃跑病人,'6':医保年度结算病人 Pro_out_YHMSG0,--as_YHMSG0 out varchar, --存储过程提示的错误信息 Pro_out_SYSMSG--as_SYSMSG out varchar --系统提示的错误信息 ); if trim(Pro_out_YHMSG0) is not null then P_ERRMSG:='院内出院登记失败!错误原因:'||Pro_out_YHMSG0; return; end if; /* --修改住院病人信息表中的在院状态 update ZY_BRXXB0 set CYRQ00=LS_CZRQ00, CYSJ00=LS_CZSJ00, CYCZY0=LS_CZYBM0, CYYGXM=LS_CZYXM0, BRZT00='4', --'4':正常出院病人,'5':逃跑病人,'6':医保年度结算病人 CYJSRQ= LS_CZRQ00, --出院结算日期 CYJSSJ= LS_CZSJ00 --出院结算时间 where ZYID00 =LS_ZYID00; --修改基本病人信息表中的在院状态 update BM_BRXXB0 set ZYZT00 = '3' --病人在院状态,'0':门诊,'1':住院,'2':其它,'3':出院 where BRID00 = LS_BRID00; --修改担保金额表 update ZY_BRDB00 set SFYX00 = '0' where BRID00 = LS_BRID00 and SFYX00 ='Y'; */ end if; end if; --20025:住院收费--End-- --启用新医保接口--生成对应的日志表--begin-- if LS_OrdNewyb in ('1') and RJSJBXX.YBJKID>0 and RJSJBXX.YBJKID is not null and nvl(LS_JZDH00,0)>0 and RZYXX.FBBH00 in (3) then --步骤2:插入医保补助明细表ZY_YBBZMX LS_ERRORS:='插入医保补助明细表ZY_YBBZMX'; if LS_YBTYPE='0' then --医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'akc227','医疗费总金额',nvl(RJSJBXX.akc227,0),'data'); --akc227:医疗费总金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc102','医保基金支付总额=统筹基金+商保基金+公务员补助+精准扶贫叠加+医疗救助基金+其他基金+企业补充',nvl(RJSJBXX.bkc102,0),'data'); --bkc102:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc040','个人现金支付金额(实付现金)',nvl(RJSJBXX.bkc040,0),'data'); --bkc040:个人现金支付金额(实付现金) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc041','医保账户支付',nvl(RJSJBXX.bkc041,0),'data'); --bkc041:医保账户支付金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc045','其中:统筹基金支付',nvl(RJSJBXX.bkc045,0),'data'); --bkc045:其中:统筹基金支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc052','其中:大病保险基金支付(商业保险支付)',nvl(RJSJBXX.bkc052,0),'data'); --bkc052:其中:大病保险基金支付(商业保险支付) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc059','其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3)',nvl(RJSJBXX.bkc059,0),'data'); --bkc059:其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc062','其中:精准扶贫医疗叠加',nvl(RJSJBXX.bkc062,0),'data'); --bkc062:其中:精准扶贫医疗叠加 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc060','其中:医疗救助基金',nvl(RJSJBXX.bkc060,0),'data'); --bkc060:其中:医疗救助基金 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'ake173','其中:其他基金支付',nvl(RJSJBXX.ake173,0),'data'); --ake173 其中:其他基金支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'ake026','其中:企业补充',nvl(RJSJBXX.ake026,0),'data'); --ake026 其中:企业补充 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc075','家庭共济账户支付',nvl(RJSJBXX.bkc075,0),'data'); --bkc075 家庭共济账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc166','一般诊疗费补偿金额',nvl(RJSJBXX.bkc166,0),'data'); --bkc166 一般诊疗费补偿金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc167','一般诊疗费个人支付',nvl(RJSJBXX.bkc167,0),'data'); --bkc167 一般诊疗费个人支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc612','其中:精准扶贫医疗叠加',nvl(RJSJBXX.bkc612,0),'data'); --bkc612 其中:精准扶贫医疗叠加 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc061','其中:保健基金支付 ',nvl(RJSJBXX.bkc061,0),'data'); --bkc061 其中:保健基金支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc076','其中:健康账户支付',nvl(RJSJBXX.bkc076,0),'data'); --bkc076 其中:健康账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc134','其中:乙类先行自付额',nvl(RJSJBXX.bkc134,0),'data'); --bkc134 乙类先行自付额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bke856','其中:超封顶线金额',nvl(RJSJBXX.bke856,0),'data'); --bke856 超封顶线金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc053','其中:商保现金支付',nvl(RJSJBXX.bkc053,0),'data');--bkc053 其中:商保现金支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc054','其中:商保账户支付',nvl(RJSJBXX.bkc054,0),'data');--bkc054 其中:商保账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc620','(本地)成员共济账户支付',nvl(RJSJBXX.bkc620,0),'data'); --bkc620 (本地)成员共济账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc619','(异地)成员共济账户支付',nvl(RJSJBXX.bkc619,0),'data'); --bkc619 (异地)成员共济账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkeg12','(他人)家庭共济账户支付',nvl(RJSJBXX.bkeg12,0),'data'); --bkeg12 (他人)家庭共济账户支付 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkeh73','其中:职工医疗费补助',nvl(RJSJBXX.bkeh73,0),'data'); --bkeh73 其中:职工医疗费补助 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc048','其中:处级及以上干部补助',nvl(RJSJBXX.bkc048,0),'data'); --bkc048 其中:处级及以上干部补助 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkzfe0','其中:三明离休b卡支付额',nvl(RJSJBXX.bkzfe0,0),'data');--bkzfe0 其中:三明离休b卡支付额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkzhye','其中:三明离休b卡账户余额',nvl(RJSJBXX.bkzhye,0),'data');--bkzhye 其中:三明离休b卡账户余额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bke361','其中:普门累计或特门累计',nvl(RJSJBXX.bke361,0),'data');--bke361 普门累计或特门累计 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc064','产前检查费',nvl(RJSJBXX.bkc064,0),'data');--bkc064 产前检查费 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc101','其中:除外耗材范围内费用',nvl(RJSJBXX.bkc101,0),'data');--bkc101其中:除外耗材范围内费用 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'bkc125','其中:超标床位费',nvl(RJSJBXX.bkc125,0),'data');--bkc125其中:超标床位费 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'ghhzje','其中:工会互助补助金额',nvl(RJSJBXX.ghhzje,0),'data');--ghhzje 其中:工会互助补助金额 elsif LS_YBTYPE='1' then insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'medfee_sumamt','费用总额',nvl(RJSJBXX.medfee_sumamt,0),'data');--medfee_sumamt [国家医保]本次费用总额(akc227) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'fund_pay_sumamt','基金支付额',nvl(RJSJBXX.fund_pay_sumamt,0),'data');--fund_pay_sumamt [国家医保]基金支付额(bkc102) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hifp_pay','其中:统筹基金支付',nvl(RJSJBXX.hifp_pay,0),'data');--hifp_pay [国家医保]其中:统筹基金支付(bkc045) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'psn_cash_pay','个人现金支出',nvl(RJSJBXX.psn_cash_pay,0),'data');--psn_cash_pay [国家医保]个人现金支出(bkc040) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'acct_pay','个人账户支出',nvl(RJSJBXX.acct_pay,0),'data');--acct_pay [国家医保]个人账户支出(bkc041) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'cvlserv_pay','其中:公务员补助',nvl(RJSJBXX.cvlserv_pay,0),'data');--cvlserv_pay [国家医保]其中:公务员补助(bkc059) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hifes_pay','其中:企业补充',nvl(RJSJBXX.hifes_pay,0),'data');--hifes_pay [国家医保]其中:企业补充(ake026) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hifmi_pay','其中:大病保险基金支付',nvl(RJSJBXX.hifmi_pay,0),'data');--hifmi_pay [国家医保]其中:大病保险基金支付(商保支付)(bkc052) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hifob_pay','其中:职工医疗费补助',nvl(RJSJBXX.hifob_pay,0),'data');--hifob_pay [国家医保]职工医疗费补助(bkeh73) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'maf_pay','其中:医疗救助基金',nvl(RJSJBXX.maf_pay,0),'data');--maf_pay [国家医保]其中:医疗救助基金(bkc060) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'oth_pay','其中:其他基金支付',nvl(RJSJBXX.oth_pay,0),'data');--oth_pay [国家医保]其中:其他基金支付(ake173) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hifdm_pay','其中:伤残人员医疗保障基金支出',nvl(RJSJBXX.hifdm_pay,0),'data');--hifdm_pay [国家医保]伤残人员医疗保障基金支出 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'pool_prop_selfpay','基本医疗保险统筹基金支付比例',nvl(RJSJBXX.pool_prop_selfpay,0),'data');--pool_prop_selfpay [国家医保]基本医疗保险统筹基金支付比例 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'act_pay_dedc','统筹支付医保费用起付标准',nvl(RJSJBXX.act_pay_dedc,0),'data');--act_pay_dedc [国家医保]统筹支付医保费用起付标准(aka151) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'psn_part_amt','非医保费用',nvl(RJSJBXX.psn_part_amt,0),'data');--psn_part_amt [国家医保]非医保费用(bkc011) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'hosp_part_amt','医院负担金额',nvl(RJSJBXX.hosp_part_amt,0),'data');--hosp_part_amt [国家医保]医院负担金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'balc','个人账户余额',nvl(RJSJBXX.balc,0),'data');--balc [国家医保]个人账户余额(akc087) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'acct_mulaid_pay','家庭共济账户支付',nvl(RJSJBXX.acct_mulaid_pay,0),'data');--acct_mulaid_pay [国家医保]家庭共济账户支付(bkc075) insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'fulamt_ownpay_amt','全自费金额',nvl(RJSJBXX.fulamt_ownpay_amt,0),'data');--fulamt_ownpay_amt [国家医保]全自费金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'overlmt_selfpay','超限价金额',nvl(RJSJBXX.overlmt_selfpay,0),'data');--overlmt_selfpay [国家医保]超限价金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'preselfpay_amt','先行自付金额',nvl(RJSJBXX.preselfpay_amt,0),'data');--preselfpay_amt [国家医保]先行自付金额 insert into ZY_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RJSJBXX.YBJKID,LS_JZDH00,'inscp_scp_amt','符合政策范围金额',nvl(RJSJBXX.inscp_scp_amt,0),'data');--inscp_scp_amt [国家医保]符合政策范围金额 end if; end if; --启用新医保接口--生成对应的日志表--end-- if LS_JKLXBM in ('20025') then --20024:住院预结算 20025:住院收费 --变量赋值 in_BRID00:=LS_BRID00;--输入:病人ID in_ZYID00:=LS_ZYID00;--输入:住院ID in_XTGZH0:=substrb(P_XTGZH0,1,50);--输入:系统跟踪号 in_CARDTYPE:=substrb(P_CARDTYPE,1,50);--输入:0 代表院内卡 1 代表社保卡 in_CARDNO:=substrb(P_CARDNO,1,50);--输入:IC卡号 in_ZDBH00:=substrb(P_ZDBH00,1,100);--输入:终端编号 in_FZXBH0:=substrb(P_FZXBH0,1,100);--输入:参保机构编号 in_YYJGDM:=substrb(P_YYJGDM,1,100);--输入:医院机构代码 in_BYRC00:=substrb(P_BYRC00,1,1000);--输入:备用入参 --调用过程:SP_SST_ZY_Nation_JSRZ 门诊自助结算日志 in_INXML0:=null;--输入:入参xml out_ERRMSG:=null;--输出:出错信息 out_ZXZT00:=0;--输出:执行状态 0:失败 1:成功 out_OUTXML:=null;--输出:备用出参xml SP_SST_ZY_Nation_JSRZ ( in_BRID00,--P_BRID00 in number ,--输入:病人ID in_ZYID00,--P_ZYID00 in number ,--输入:住院ID LS_JZDH00,--P_JZDH00 in number ,--输入:结账单号 LS_YBTYPE,--P_YBTYPE in varchar2 ,--输入: 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] LS_CZYBM0,--P_CZY000 in number ,--输入:操作员编码 LS_CZYXM0,--P_CZYXM0 in varchar2 ,--输入:操作员姓名 in_XTGZH0,--P_XTGZH0 in varchar2 ,--输入:系统跟踪号 in_CARDTYPE,--P_CARDTYPE in varchar2 ,--输入:0 代表院内卡 1 代表社保卡 in_CARDNO,--P_CARDNO in varchar2 ,--输入:IC卡号 in_ZDBH00,--P_ZDBH00 in varchar2 ,--输入:终端编号 in_FZXBH0,--P_FZXBH0 in varchar2 ,--输入:参保机构编号 in_YYJGDM,--P_YYJGDM in varchar2 ,--输入:医院机构代码 in_BYRC00,--P_BYRC00 in varchar2 ,--输入:备用入参 in_INXML0,--P_INXML0 in varchar2 ,--输入:入xml out_ERRMSG,--P_ERRMSG out varchar2 ,--输出:出错信息 out_ZXZT00,--P_ZXZT00 out number ,--输出:执行状态 0:失败 1:成功 out_OUTXML--P_OUTXML out varchar2 --输出:备用出参xml ); if out_ZXZT00<>1 then if out_ERRMSG is not null then P_ERRMSG:=substrb(out_ERRMSG,1,200); else P_ERRMSG:='住院结算确认失败:调用过程SP_SST_ZY_NATION_JSRZ整理数据异常!'; end if; return; end if; --调用过程:SP_SST_ZY_Nation_YNJSQR in_INXML0:=null;--输入:备用出参xml out_ERRMSG:=null;--输出:出错信息 out_ZXZT00:=0;--输出:执行状态 0:失败 1:成功 out_OUTXML:=null;--输出:备用出参xml --调用院内过程:SP_SST_ZY_Nation_YNJSQR SP_SST_ZY_Nation_YNJSQR ( in_BRID00,--P_BRID00 in number ,--输入:病人ID in_ZYID00,--P_ZYID00 in number ,--输入:住院ID LS_JZDH00,--P_JZDH00 in number ,--输入:结账单号 LS_YBTYPE,--P_YBTYPE in varchar2 ,--输入: 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] LS_CZYBM0,--P_CZY000 in number ,--输入:操作员编码 LS_CZYXM0,--P_CZYXM0 in varchar2 ,--输入:操作员姓名 in_XTGZH0,--P_XTGZH0 in varchar2 ,--输入:系统跟踪号 in_BYRC00,--P_BYRC00 in varchar2 ,--输入:备用入参 in_INXML0,--P_INXML0 in varchar2 ,--输入:入参xml out_ERRMSG,--P_ERRMSG out varchar2 ,--输出:出错信息 out_ZXZT00,--P_ZXZT00 out number ,--输出:执行状态 0:失败 1:成功 out_OUTXML--P_OUTXML out varchar2 --输出:备用出参xml ); if out_ZXZT00<>1 then if out_ERRMSG is not null then P_ERRMSG:=substrb(out_ERRMSG,1,200); else P_ERRMSG:='住院结算确认失败:调用过程SP_SST_ZY_NATION_YNJSQR整理数据异常!'; end if; return; end if; end if; exception when no_data_found then P_ERRMSG:=substrb('住院结算确认失败:'||'位置:['||LS_ERRORS||']原因:'||sqlerrm,1,255); rollback; when others then P_ERRMSG:=substrb('住院结算确认失败:'||'位置:['||LS_ERRORS||']原因:'||sqlerrm,1,255); rollback; end;