create or replace procedure SP_SST_JSDP_JSMXQR_YKT ( P_ZDBH00 in varchar2, --终端编号 P_FZXBH0 in varchar2, --参保机构编号 P_YYJGDM in varchar2, --医院机构代码 P_CARDTYPE in varchar2, --0 代表院内卡 1 代表社保卡 P_CARDNO in varchar2, --IC卡号 P_XTGZH0 in varchar2, --系统跟踪号 P_SERIALNO in varchar2, --序列号(备用) P_BYRC00 in varchar2, --备用入参 P_ERRMSG out varchar2 --出错信息 ) -- MODIFICATION HISTORY -- Person Date Comments -- zhangyc 2012.04.27 create; -- qks 2014.12.22 一卡通支付:YKTZFE,YKTLSH -- zhangyc 2014.12.23 一卡通支付记录到流水表SF_YKTKFB -- qks 2015.07.09 SF_JZB000.YBGHH0值写入 --zhangyc 2016.01.11 JSHYE0 -- qks 2017.10.25 如果查询统计中同时具有ghid00以及mzh000,去掉ghid00查询条件。 -- qks 2018.03.21 SP_SF_YJDJ00入参as_SFYDJ0新增功能:2自助机登记; for MZSF9-20180322-001 -- qks 2018.05.10 要求保存 特门累计、普门累计金额; for ZZJJK-20180510-001 -- qks 2018.05.24 当“医保统筹基金”或者“医保个人账户”出现负数问题,不允许结算; for ZZJJK-20180524-001 -- jlg 2018.06.29 处理SF_BRZHXX.WJSJE0的值 ZZJJK-20180428-001 -- qks 2018.07.21 对参数SST_CFYJJS进行扩展: Y全部,N否,M:指定部分执行科室(具体格式如 M,部门编号1,部门编号2 )对未记账医技单进行记账。for ZZJJK-20180718-001 -- qks 2019.06.06 (2019.07.10补归档)需要写入SF_JZB000.YBYL01-YBYL30,MZBZJE,YBSM01等值;修改SYBXZF取值。for MZSF9-20190610-001 -- zhangyc 2019.06.22 增加插入SST_CFLSH0 -- zhangyc 2019.06.24 增加参数YS_SFQYZDCFTSBZ控制 -- zhangyc 2019.06.25 修改获取挂号号异常报错 -- zhangyc 2019.07.14 增加写入SFYJZ0(是否已记账 Y:是 N:否) by MZSF9-20190715-006 -- jlg 2019.07.23 增加住院病人不能进行门诊费用结算的限制(根据参数SF_BRZYSFXZMZYWCZ) ZZJJK-20190722-001 -- zhangyc 2019.11.20 增加字段SFJZFP,JZFPJE by ZZJJK-20191120-001 -- qks 2020.01.02 商保个人支付直接改为0: nvl(Sbgrzf,0)->ad_SBZHJE 改为 0->ad_SBZHJE -- qks 2020.01.14 修正bug:修改写入SF_BRJFB0.YYID00值; for ZZJJK-20200114-001 --zhangyc 2020.03.24 增加网络诊室多点结算(WLZS) by MZSF9-20200331-002 --zhangyc 2020.04.14 自助机新医保接口改造 by --zhangyc 2020.06.03 修正网络诊室医保按自费结算报错 --zhangyc 2020.06.03 公务员补助按SP_SST_JSDP_JSMXQR_YKT 判断 --zhangyc 2020.06.05 网络诊室结修改 --zhangyc 2020.07.30 处理泉州地区商保基金支付金额dbjjzf独立计算的问题(ad_SBTJJE:=nvl(v_dbjjzf,0);--商保统筹基金额 ad_SBZHJE:=nvl(V_dbzhzf,0);--商保个人帐户支付金额 ) by MZSF9-20200729-003 --zhangyc 2020.09.01 新医保接口优化移动结算,多点结算项目允许结算 by ZZJJK-20200818-002 --zhangyc 2021.03.03 整理报文增加bkeh83、bkeh05、bkeh06、bakxml 以及根据参数change_zdbm_ssbm诊断编码转化 by ZZJJK-20210223-002 --zhangyc 2021.03.19 增加ad_ZFJE00小于0报错 以及单病种处理参考SP_SF_YBFYJS_REPLY(LS_SFDEZF='Y'业务处理) by ZZJJK9-20210320-001 --zhangyc 2021.04.17 写入sf_jzb000.BRYE00 by ZZJJK9-20210420-001 --zhangyc 2021.05.25 新医保接口bkc062:其中:精准扶贫医疗叠加(慈善救助)收费窗口对应到YBYL50现在自助机也对应到该值 by ZZJJK9-20210525-001 --zhangyc 2021.06.04 修正互联结算报错 P_FZXBH0 in ('DD','YD','WLZS') 时 LS_JZY000:=LS_JZY000;--结算操作员 LS_JZYXM0:=LS_JZYXM0;--结算操作员姓名 by ZZJJK9-20210604-002 --zhangyc 2021.06.24 增加保存 ghhzje:工会互助补助金额 --zhangyc 2021.08.11 日志表yyid00、orgCode、patientType by ZZJJK9-20210811-001 --zhangyc 2021.08.19 自助机结算优化 --zhangyc 2021.09.02 新医保接口升级 by ZZJJK9-20210902-001 --zhangyc 2021.10.05 贯标接口优化改造 --zhangyc 2021.10.18 移动结算接口改造 by ZZJJK9-20211018-001 --zhangyc 2021.12.15 增加SST.SST_JSDP_JBXX.recode 结算返回代码 1成功,0未成功 --zhangyc 2022.03.07 国家医保接口改造 --zhangyc 2022.04.18 SF_JZB000.MXLSH0=P_XTGZH0 --zhangyc 2022.05.07 国家医保接口LS_bkc052 =hifmi_pay:居民大病保险资金支出+hifob_pay:职工大病保险资金支出 --liwm 2022.05.16 罗源升级,his13参数引入新状态,增加生成摆药机的处理 ZZJJK9-20220516-001 -- qks 2022.07.07 启用结算功能情况下,需要写上YF_MZCF00.JZDH00,YJ_YW0000.JZDH00值。 ZZJJK9-20220709-001 -- qks 2022.07.17 HIS9.0需要去掉费用主表sf_brfy00:目前由于还有存在部分系统应用场景继续使用sf_brfy00判断,所以update sf_brfy00逻辑暂时要保留,其他情况下需要改用sf_fymx00取值。ZZJJK9-20220718-001 -- zhangyc 2022.07.19 增加获取cvl_acct_pay 公务员账户支付、cvl_acct_balc 公务员余额、hl_acct_pay 健康账户支付、hl_acct_balc 健康账户余额、acct_mulaid_pay 共济账户支付、fm_acct_balc 共济账户余额、pur_acct_pay 医疗账户支付 by -- zhangyc 2022.09.30 ls_YBZXLB改为取基本信息表,避免转费别后,SF_BRXXB0未修改 写入结账表数据错误 -- zhangyc 2022.12.23 优化执行SP_SF_YJDJ00过程后,两个中医代煎费。单据号重新生成导致未插入SST_CFLSH0 -- zhangyc 2023.01.13 接口优化 --zhangyc 2023.04.20 修正修改结账表clr_way=substrb(LS_clr_way,10)-->clr_way=substrb(LS_clr_way,1,10) --zhangyc 2023.05.05 扩展参数MZ_Medical_Para,2或3业务处理,参考5.0 by ZZJJK9-20230508-001 --zhangyc 2023.07.27 修改SF_JZB000.MXLSH0=P_XTGZH0 改为MXLSH0=nvl(LS_chrg_bchno,P_XTGZH0) --zhangyc 2023.07.27 mdtrt_cert_type=05(01:医保凭证 02:身份证号 03:社保卡 05:刷脸)转化未内部bke284(01:读卡02:融合码06:医保码20:医疗证) --zhangyc 2023.09.22 如果一次结算多笔,避免某笔余额不足报错,修改SF_BRZHXX.YXQFJE=nvl(YXQFJE,0)+nvl(LS_Toatlybyxqf,0)或nvl(YXQFJE,0)-nvl(LS_Toatlybyxqf,0) --zhangyc 2023.10.07 增加参数SST_TYJE00_YXQFJE控制【0:不修改 1:修改账户停用金额(TYJE00) 2:修改账户允许欠费金额(YXQFJE)】 --zhangyc 2023.11.01 修正余额不足报错“该病人院内账户金额不足!至少需要补交:xxxx元”,条件改为:账户总额+其它系统跟踪号医保报销总额(统筹基金+医保账户支付) 判断 as ls_ICKJE0 IC_YHXX00.ICKJE0%type; --就诊卡售卡金额 ls_SFDM00 IC_YHXX00.SFDM00%type; --收费代码 ls_DJH000 SF_BRFY00.DJH000%type; --病人单据号 ls_BRYE00 SF_BRFY00.BRYE00%type; ls_PJH000 SF_PJSYQK.PJH000%type; --票据流水号 ls_JFBPJH SF_PJSYQK.PJH000%type; --票据流水号 --ls_MZID00 SF_BRFY00.MZID00%type; --门诊挂号信息表ID ls_MZFPID BM_YYSFXM.MZFPID%type; --门诊发票ID ls_SFXMID BM_YYSFXM.SFXMID%type; --收费项目ID ls_ICKNBH IC_YHXX00.ICKNBH%type; --IC卡内码 ls_TMPPJH SF_PJSYQK.PJH000%type; ls_ZFBL00 SF_JZMX00.ZFBL00%type; --自付比例 ls_COUNT0 number(12,2); ls_JZMX00 SF_JZMX00%ROWtype; LS_SFCFFP varchar2(2); ls_ICKRQ0 varchar2(8); ls_Mzlsh0 SST.SST_JSDP_JBXX.Mzlsh0%type; --门诊流水号 LS_JSXXTS SST.SST_JSDP_JBXX.JSXXTS%type; --GHID00 ls_Bqbm00 SST.SST_JSDP_JBXX.Bqbm00%type; --病情编码 ls_Djlsh0 SST.SST_JSDP_JBXX.Djlsh0%type; --收费单据号流水号 ls_JZDH00 SF_JZB000.JZDH00%type; --结算单号 ls_BRID00 BM_BRXXB0.BRID00%type; --病人ID ls_ZPZH00 SF_BRJFB0.ZPZH00%type; --IC_YBBRLB.YBLB00 ls_SYDJH0 SF_BRJFB0.DJH000%type; --商业保险支付单据号 ls_YYKDJH SF_BRJFB0.DJH000%type; --银行卡单据号 ls_DZQBDJ SF_BRJFB0.DJH000%type; --电子钱包单据号 ls_YJJDJH SF_BRJFB0.DJH000%type; --预缴金单据号 ad_SBDJH0 SF_BRJFB0.DJH000%type; --保健基金支付单据流水号 ad_BJDJH0 SF_BRJFB0.DJH000%type; --商业保险支付单据号 ls_JZYXM0 BM_YGBM00.ZWXM00%type; --结算操作员姓名 ls_JZY000 BM_YGBM00.YGBH00%type; --结算操作员 Ecustom exception; --错误变量 ls_BRZJE0 number(12,2); --总金额(包括公费) ls_sfbrzg number(3); ls_YBSFYXQF varchar2(1); --取医保个人帐户余额作为允许欠费金额(建阳模式) ls_ICKSFCYJS varchar2(1); ls_HJJE00 SF_JZB000.HJJE00%type; --总金额 ls_JZJE00 number(12,2); --记账金额 ls_ybzhye SF_JZB000.YBZHYE%type; --医保账户金额 ls_GFJE00 number(12,2); --医保账户金额 ls_tydwmc BM_BRXXB0.tydwmc%type; --特约单位名称 ls_YBZXMC IC_YBBRLB.YBMC00%type; --医保中心名称 ls_YBKH00 BM_BRXXB0.YBKH00%type; --医保卡号 ls_YBID00 BM_BRXXB0.YBID00%type; --医保ID ls_YBLB00 BM_BRXXB0.YBLB00%type; --医保类别 LS_CARDNO SST_JSDP_JBXX.Cardno%type; --医保卡号; LS_FBBH00 BM_BRXXB0.FBBH00%type; --病人费别 ls_YBBRLB BM_BRXXB0.YBBRLB%type; --医保病人类别 ls_BRXM00 BM_BRXXB0.BRXM00%type; --病人姓名 ls_YBZXLB IC_YBBRLB.YBZXLB%type; --医保中心类别编码 ls_BCKBCS SF_JZB000.BCKBCS%type; --本次看病次数 ls_TSBZBH varchar2(20); --特殊病种编号 --医保返回的金额--BEGIN---- ls_Zhzfe0 SST.SST_JSDP_JBXX.Zhzfe0%type; --帐户支付额 ls_Grzfe0 SST.SST_JSDP_JBXX.Grzfe0%type; --个人支付额 ls_Jjzfe0 SST.SST_JSDP_JBXX.Jjzfe0%type; --基金支付额 ls_Gwybz0 SST.SST_JSDP_JBXX.Gwybz0%type; --公务员补助 ad_FYBJE0 SF_JZB000.FYBJE0%type; --非医保金额 ad_CFDXJE SF_JZB000.CFDXJE%type; --超封顶线金额 ls_Grzhye SST.SST_JSDP_JBXX.Grzhye%type; --医保帐户余额 ls_Ylzfje SST.SST_JSDP_JBXX.Ylzfje%type; --乙类支付额 ad_SBTJJE SF_BRJFB0.JFJE00%type; --商保统筹基金额 ad_SBZHJE SF_BRJFB0.JFJE00%type; --商保个人帐户支付金额 ad_SYBXZF SF_BRJFB0.JFJE00%type; --商业保险支付金额 ad_SBZFE0 SF_BRJFB0.JFJE00%type; --商保基金支付(省属三家市属九家医疗机构) ad_BJZFE0 SF_BRJFB0.JFJE00%type; --保健基金支付(省属三家市属九家医疗机构) ad_jjzfe0 SF_BRJFB0.JFJE00%type; --保健基金支付金额 ls_Bcbxf0 SST.SST_JSDP_JBXX.Bcbxf0%type; --本次总额 ls_Bcfyze SST.SST_JSDP_JBXX.Bcfyze%type; --本次费用总额(医院所有费用总额) ls_Yjjye0 SST.SST_JSDP_JBXX.Yjjye0%type; --结算前预交金余额 未用到该值 ls_Zhzfe2 SST.SST_JSDP_JBXX.Zhzfe2%type; --B卡支付额,针对离休人员 未用到该值 ls_Xjzffs SST.SST_JSDP_JBXX.Xjzffs%type; --现金支付方式 1、银行委托支付;2、预缴金支付;3、电子钱包支付 ls_jyje00 SST.SST_JSDP_JBXX.jyje00%type; --交易金额 ls_JYLB00 SST.SST_JSDP_JBXX.JYLB00%type; --银行交易类别 ls_YHJGDM SST.SST_JSDP_JBXX.YHJGDM%type; --银行机构代码 ls_TRANSOUTINFO SST.SST_JSDP_JBXX.TRANSOUTINFO%type; --交易输出信息 ls_TRANSCOUNTER SST.SST_JSDP_JBXX.TRANSCOUNTER%type; --卡片交易计数器 ls_BANKCARDNO SST.SST_JSDP_JBXX.BANKCARDNO%type; --电子钱包帐号 ls_CERTID SST.SST_JSDP_JBXX.CERTID%type; --证件号码 ls_TRANSATTACHMENT SST.SST_JSDP_JBXX.TRANSATTACHMENT%type; --交易附加域 ls_BALANCE SST.SST_JSDP_JBXX.BALANCE%type; ls_JBRQ00 SST.SST_JSDP_JBXX.JBRQ00%type; ls_JBSJ00 SST.SST_JSDP_JBXX.JBSJ00%type; ls_QBKKQR SST.SST_JSDP_JBXX.QBKKQR%type; --医保返回的金额--END---- SF_GRZFSFBHSB varchar2(5); ad_ZFJE00 SF_JZB000.ZFJE00%type; --自费金额 ls_XJFKJE SF_JZB000.XJFKJE%type; --现金付款金额 ls_ZZFKJE SF_JZB000.ZZFKJE%type; --转账付款金额 ls_ERRORS VARCHAR2(50); ls_PJXM00 SF_PJSYQK.XM0000%type; --姓名 ls_PJXB00 SF_PJSYQK.XB0000%type; --性别 ls_SFXNH0 IC_YBBRLB.SFXNH0%type; ls_BRXB00 BM_BRXXB0.BRXB00%type; --性别 ls_BRCSRQ BM_BRXXB0.BRCSRQ%type; --病人出生日期 LS_XJYE00 SF_BRZHXX.XJYE00%type; --现金余额 LS_ZYE000 SF_BRZHXX.ZYE000%type; --总余额 LS_TYJE00 SF_BRZHXX.TYJE00%type; --停用金额 LS_YXQFJE SF_BRZHXX.YXQFJE%type; --允许欠费金额 P_PDXLMC varchar2(400); ad_JZDH00 SF_JZB000.JZDH00%type; ls_ZJLX00 sf_dzqbls.ZJLX00%type; --证件类型 ls_ZJHM00 sf_dzqbls.ZJHM00%type; --证件号 ls_YHKH00 sf_dzqbls.YHKH00%type; --银行卡号 ls_SBKH00 sf_dzqbls.SBKH00%type; --社保卡号 ls_FLAG00 sf_dzqbls.FLAG00%type; ls_CZBZ00 sf_dzqbls.CZBZ00%type; ls_JYMXJL sf_dzqbls.JYMXJL%type; ls_CWXX00 sf_dzqbls.CWXX00%type; ls_JFLBMC sf_dzqbls.JFLBMC%type; ls_ZFFSMC sf_dzqbls.ZFFSMC%type; ls_CZRQ00 VARCHAR2(8); ls_CZSJ00 VARCHAR2(8); LS_ICKH00 IC_YHXX00.ICKH00%type; LS_ICKQZMC VARCHAR2(50); LS_CarNum number(5); --卡号位数 LS_GHID00 SF_BRXXB0.GHID00%type; LS_GHH000 SF_BRXXB0.GHH000%type; LS_JSFS00 varchar2(10); --结算方式 1:银行支付 2:预缴金支付 3:电子钱包支付 ls_sfscdj VARCHAR2(1); --(标记)是否需要生成单据号的序列号 Pzxcgbz number(12); Ptsxx00 Varchar2(400); Pxxxx00 Varchar2(400); MsgStr Varchar2(400); ls_ZXKS00 yj_yw0000.yjksbh%type; --执行科室 ls_YJZXYS yj_yw0000.kdys00%type; --开单医生 --LS_JZY000 BM_YGBM00.YGBH00%type; --LS_JZYXM0 BM_YGBM00.ZWXM00%type; LS_CZYKS0 SF_BRFY00.CZYKS0%type; as_HJJE00 number(12,4); as_ZFJE00 number(12,4); as_JZJE00 number(12,4); as_GFJE00 number(12,4); ls_SSTJE0 number(12,4); --提交给自助机结算的金额-- ls_KFJE00 number(12,4); --本次扣费结算金额-- as_CFLSH0 varchar2(16); --处方流水号 LS_YJDJH0 varchar2(4000); --处方流水号 LS_CFLSH0 varchar2(4000); --处方流水号 LS_CFYJBZ varchar2(10); --处方备注 0:处方 1:医技 SF_KFHCFSFSFPD XT_XTCS00.VALUE0%type; --收费处扣费后处方是否排队 MZPY_JZHSFZJFY XT_XTCS00.VALUE0%type; --配药自助取号记帐后是否直接发药 Y:是;N:不发药; 默认:N SST_TYJE00_YXQFJE XT_XTCS00.VALUE0%type; --0:不修改 1:修改账户停用金额(TYJE00) 2:修改账户允许欠费金额(YXQFJE) ls_PJXH00 SF_PJSYQK.PJXH00%type; ls_PJLYID BM_PJLYQK.PJLYID%type; ls_YYID00 XT_YYXX00.YYID00%type; LS_FPPLBH number(2); --发票票类编号 LS_XJPLBH number(2); --预交金票类编号 e_scphdl exception; --生成排号队列错误 LS_KFPC00 number(12); --扣费批次 ls_YBMC00 IC_YBBRLB.YBMC00%type; ls_SFGWYBZDL VARCHAR(2); --判断是否公务员补助独立 LS_ZFBRSFJS Varchar2(100); --自助机自费病人是否记账结算 Y:记账并结算 N:记账不结算 默认值:N LS_CFYJJS XT_XTCS00.VALUE0%type; --是否把医技,费用一起结算(医保病人都要 自费病人参数LS_ZFBRSFJS=Y 都要) LS_YJJZKS XT_XTCS00.VALUE0%type; --非医保病人,医技单一起记账科室(多个使用逗号分隔) lv_SBTJJE number(12,2); lv_SBZHJE number(12,2); lv_Gwybz0 number(12,2); lv_SYBXZF number(12,2); LS_YKTZFE SST.SST_JSDP_JBXX.YKTZFE%type; LS_YKTLSH SST.SST_JSDP_JBXX.YKTLSH%type; LS_SSTLSH SST.SST_JSDP_JBXX.SSTLSH%type; LS_ID0000 varchar2(30); LS_ZFFSID SF_DJZFFS.ID0000%type; LS_KYYE00 number(12,2); --可用余额 LS_YNFHZE number(12,2); --院内返还金额 LS_YKTYE0 number(12,2); --一卡通余额 LS_TMLJ00 number(12,2); --特门累计 LS_PMLJ00 number(12,2); --普门累计 LS_YS_SFQYZDCFTSBZ XT_XTCS00.VALUE0%type; --是否启用针对处方的特殊病种,Y:是,N否,默认N 门诊医生-特殊病种 ls_ZYXZCZ XT_XTCS00.VALUE0%type; --住院病人是否限制门诊取消结算操作 LS_JFBDJH SF_BRJFB0.DJH000%TYPE; --支付单据号 LS_MZBZJE SF_JZB000.YBYL18%type; --民政补助金额 LS_YBSM01 SST.SST_JSDP_JBXX.FZXBH0%type; --分中心编号 v_YBYL01 number(12,2); --民政救助bcyljz v_YBYL02 number(12,2); --计生救助jsjzze v_YBYL03 number(12,2); --残联救助cljzze v_YBYL04 number(12,2); --单病种限额 v_YBYL05 number(12,2); --医院支付(医保无返回) v_YBYL06 number(12,2); --低保基金支付ybjjzf v_YBYL07 number(12,2); --一般诊疗费补偿金额ybzlfbcje v_YBYL08 number(12,2); --一般诊疗费费个人支付金额 ybzlfgrzfje v_YBYL09 number(12,2); --特殊门诊起付线累计tmqflj v_YBYL10 number(12,2); --特殊门诊基金累计tmjjlj v_YBYL11 number(12,2); --健康账户支付额Jkzhzf v_YBYL12 number(12,2); --健康账户余额Jkzhye v_YBYL13 number(12,2); --共济账户支付GJZHZF v_YBYL14 number(12,2); --共济账户余额Gjzhye v_YBYL15 number(12,2); --健康账户支付医保费用Jkzfyb v_YBYL16 number(12,2); --健康账户支付非医保费用Jkzffyb v_YBYL17 number(12,2); --医保减免金额yyjmje v_YBYL18 number(12,2); --民政(医疗救助基金)补助金额Mzbzje v_YBYL19 number(12,2); --超医保上限金额或未发送金额(非医保返回)CYBSXJE v_YBYL20 number(12,2); --个人账户支付自付zhzfd0 v_YBYL21 number(12,2); --个人现金支付自付xjzfd0 v_YBYL22 number(12,2); --血费报销金额(血费系统) v_YBYL23 number(12,2); --医保结算金额误差(总费用-定额) v_YBYL24 number(12,2); --大额医疗费用报销金额sbzfje v_YBYL25 number(12,2); --单病种补偿金额(定额-总费用) v_YBYL26 number(12,2); --大病补充补偿金额dbbcbcje v_YBYL27 number(12,2); --保健医保统筹支付(已包含在统筹中)BJYBTCJJ v_YBYL28 number(12,2); --择日住院门诊总费用mzzfy0 v_YBYL29 number(12,2); --择日住院门诊范围内费用mzfwn0 v_YBYL30 number(12,2); --择日住院门诊统筹(医保未返回) V_Bcbxf0 number(12,2); --费用总额 V_dbgrzf number(12,2); --大病互助(商保)个人支付 V_dbjjzf number(12,2); --大病互助(商保)基金支付(sbzfje=YBYL24) V_dbzhzf number(12,2); --大病互助(商保)账户支付 LS_SFJZFP SST.SST_JSDP_JBXX.SFJZFP%type;--是否精准扶贫 Y:是 N:否 LS_JZFPJE SST.SST_JSDP_JBXX.JZFPJE%type;--精准扶贫金额 LS_JZFPZT varchar2(1);--精准扶贫状态是否精准扶贫 1:是,0:否 LS_WLZSJSCFZT varchar2(20);--网络诊室是否只结算网络处方 0:否 1:是 LS_WLZSYBJSZT varchar2(20);--医保是否自费结算 0:否 1:是 LS_BYRC00 varchar2(200);--备用入参 LS_YBBZ00 SST.SST_JSDP_JBXX.YBBZ00%type;--自助机填写:医保标志-1 :自费 0:旧医保 1:福建 2:国家 LS_TCJJQZFS varchar2(10);--新医保接口统筹基金取值发送(厦门医保无返回bkc102可设置为N) Y:取基金支付总额:bkc102,N:取其中基金支付总额:bkc045 默认:Y LS_QTTCJJ number(12,2);--统筹基金 LS_SBTCJJ number(12,2);--商保统筹基金 LS_SBZHZF number(12,2);--商保账户支付 --LS_GWYBZ0 number(12,2);--公务员补助 LS_SYBXZF number(12,2);--商业保险支付 RZZJS SST.SST_JSDP_JBXX%rowtype; LS_JSQYE0 SF_JZB000.JSQYE0%type;--结算前账户总余额 LS_JSHYE0 SF_JZB000.JSHYE0%type;--结算后账户总余额 LS_YBSM04 SF_JZB000.YBSM04%type;--血费报销ID(血费系统)或SST_JSDP_JBXX.XTGZH0 LS_YBSM05 SF_JZB000.YBSM05%type;--医保结算单据流水号 LS_YBSM06 SF_JZB000.YBSM06%type;--结算类型DD:多点结算 YD:移动结算 YB:医保结算,WLZS:互联网 ,APP_DD:APP结算 ZZJ:自助机 LS_YBSM11 SF_JZB000.YBSM11%type; --医保结算返回序列号 LS_YBSM20 SF_JZB000.YBSM20%type;--akc190 医保挂号或医保住院号 LS_YBSM24 SF_JZB000.YBSM24%type;--his收费单据流水号(bke298) LS_YBSM25 SF_JZB000.YBSM25%type;--his流水号(bke042) LS_SFXMYBJK varchar2(10);--是否厦门医保接口 Y:是 N:否 LS_JKQQCS varchar2(2000); --接口请求参数 LS_SFDEZF varchar2(100); --是否特殊病种定额支付 Y:是 N:否 LS_YBYL46 number(12,2); --[jzfp01]精准扶贫第一道补助 LS_YBYL47 number(12,2); --[jzfp02]精准扶贫第二道补助 LS_YBYL48 number(12,2); --[jzfp03]综合救助 LS_YBYL50 number(12,2); --[csjz00]慈善救助金额 LS_YBYL51 number(12,2); --[jzfpje]医保返回的精准扶贫金额 LS_bke042 SST_JSDP_JBXX.bke042%type;--his填写:his流水号 LS_OrdNewyb varchar2(2);--新旧医保标识 0:旧 1:新 LS_YBTYPE varchar2(2);-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] BM_bkc001_mc BM_BRXXB0.bkc001_mc%type;--人员待遇类别名称(城乡居民、普通在职人员等等) BM_aae140 BM_BRXXB0.aae140%type;--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 BM_aae140_mc BM_BRXXB0.aae140_mc%type;--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 LS_aae140 SF_JZB000.aae140%type;--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 LS_aae140_mc SF_JZB000.aae140_mc%type;--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 LS_bkc001_mc SF_JZB000.bkc001_mc%type;--人员待遇类别名称(城乡居民、普通在职人员等等) LS_bke174 SF_JZB000.bke174%type;--异地就医类型编码:1 省内 2 省外 3 市内 4 市外 LS_bke174_mc SF_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_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_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:离院方式 YBXZQH_mdtrtarea_admvs BM_YBXZQH.mdtrtarea_admvs%type;--[国家医保]就医地医保区划 LS_cvl_acct_pay number(12,2);--cvl_acct_pay 公务员账户支付 LS_cvl_acct_balc number(12,2);--cvl_acct_balc 公务员余额 LS_hl_acct_pay number(12,2);--hl_acct_pay 健康账户支付=YBYL11 LS_hl_acct_balc number(12,2);--hl_acct_balc 健康账户余额=YBYL12 LS_acct_mulaid_pay number(12,2);--acct_mulaid_pay 共济账户支付=YBYL13 LS_fm_acct_balc number(12,2);--fm_acct_balc 共济账户余额=YBYL14 LS_pur_acct_pay number(12,2);--pur_acct_pay 医疗账户支付 LS_YBSXZD_VALUE0 BM_YBSXZD.VALUE0%type;--医保属性字典值 LS_jsjzzt SST_JSDP_JBXX.jsjzzt%type;--结算记账状态:Y:记账并结算 M:只记账不结算 LS_ybjszt SST_JSDP_JBXX.ybjszt%type;--医保结算状态:Y:医保结算 M:医保转自费结算 LS_Toatlybyxqf number(12,2);--本次医保允许欠费 LS_ToatlNum number(12,2);--本次结算笔数 LS_Other_XtGZH0_YBBCJE number(12,2);--其它系统跟踪号医保报销总额(统筹基金+医保账户支付) LS_JSQTYJE00 SF_BRZHXX.TYJE00%type; --结算前停用金额 LS_JSQYXQFJE SF_BRZHXX.YXQFJE%type; --结算前允许欠费金额 in_BRID00 number(12) ;--输入:病人ID in_GHID00 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);--输入:备用入参 out_INXML0 varchar2(1000);--输入:备用出参xml out_ERRMSG varchar2(200); --输出:出错信息 out_ZXZT00 number(12); --输出:执行状态 0:失败 1:成功 out_OUTXML varchar2(1000);--输出:备用出参xml cursor CUR_SF_WJZCFYJ IS select distinct YJDJH0 DJLSH0,decode(SFLSCF,'1','0','2','1')CFYJBZ from SF_FYMX00_TEMP00 where XTGZH0=P_XTGZH0 and SFLSCF not in ('0'); 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_XTGZH0||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_SERIALNO||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||''||P_BYRC00||'',1,2000); LS_JKQQCS:=substrb(LS_JKQQCS||'',1,2000); --保存接口请求参数--End-- LS_Toatlybyxqf :=0;--本次医保允许欠费 LS_ToatlNum :=0;--本次结算笔数 LS_Other_XtGZH0_YBBCJE:=0;--其它系统跟踪号医保报销总额(统筹基金+医保账户支付) LS_FPPLBH:=1; --发票票类编号 LS_XJPLBH:=7; --预交金票类编号 ls_SSTJE0:=0; ls_KFJE00:=0; v_YBYL01:=0; v_YBYL02:=0; v_YBYL03:=0; v_YBYL04:=0; v_YBYL05:=0; v_YBYL06:=0; v_YBYL07:=0; v_YBYL08:=0; v_YBYL09:=0; v_YBYL10:=0; v_YBYL11:=0; v_YBYL12:=0; v_YBYL13:=0; v_YBYL14:=0; v_YBYL15:=0; v_YBYL16:=0; v_YBYL17:=0; v_YBYL18:=0; v_YBYL19:=0; v_YBYL20:=0; v_YBYL21:=0; v_YBYL22:=0; v_YBYL23:=0; v_YBYL24:=0; v_YBYL25:=0; v_YBYL26:=0; v_YBYL27:=0; v_YBYL28:=0; v_YBYL29:=0; v_YBYL30:=0; LS_MZBZJE:=0; ls_CZRQ00:=to_char(sysdate,'YYYYMMDD'); ls_CZSJ00:=to_char(sysdate,'HH24:MI:SS'); ls_ICKJE0 :=0; lv_SBTJJE :=0; lv_SBZHJE :=0; lv_Gwybz0 :=0; lv_SYBXZF :=0; ls_ZJLX00:=null; --证件类型 ls_YHKH00:=null; --银行卡号 ls_SBKH00:=substrb(ls_SBKH00,1,9); --社保卡号 ls_FLAG00:='0'; ls_CZBZ00:='0'; ls_JYMXJL:=null; ls_CWXX00:=null; ls_JFLBMC:='门诊预交金'; ls_ZFFSMC:='民生通支付'; LS_SFSCDJ := '1'; LS_YJJZKS := '0'; LS_WLZSJSCFZT:='0';--网络诊室是否只结算网络处方 0:否 1:是 LS_WLZSYBJSZT:='0';--医保是否自费结算 0:否 1:是 ls_Zhzfe0:=0; --医保账户支付 ls_Grzfe0:=0; --个人现金支付 ls_Jjzfe0:=0; --统筹基金支付 ls_Gwybz0:=0; --公务员补助 ls_Bcbxf0:=0; --本次费用总额(医保返回) ls_Bcfyze:=0; --本次费用总额 ls_Yjjye0:=0; --预交金余额 ls_Zhzfe2:=0; -- ls_Ylzfje:=0; -- ls_Grzhye:=0; --医保账户余额 ad_SBZHJE:=0; -- ad_SBTJJE:=0; -- ad_jjzfe0:=0; -- ad_SYBXZF:=0; --商业保险支付 ad_SBZFE0:=0; -- ad_BJZFE0:=0; -- ad_FYBJE0:=0; --非医保金额 ad_CFDXJE:=0; --超封顶线 LS_QTTCJJ:=0;--其它统筹基金 LS_SBTCJJ:=0;--商保统筹基金 LS_SBZHZF:=0;--商保账户支付 LS_GWYBZ0:=0;--公务员补助 LS_SYBXZF:=0;--商业保险支付 LS_SFDEZF:='N'; --是否特殊病种定额支付 Y:是 N:否 LS_YBYL46:=0;--[jzfp01]精准扶贫第一道补助 LS_YBYL47:=0;--[jzfp02]精准扶贫第二道补助 LS_YBYL48:=0;--[jzfp03]综合救助 LS_YBYL50:=0;--[csjz00]慈善救助金额=bkc062 LS_YBYL51:=0;--[jzfpje]医保返回的精准扶贫金额 LS_OrdNewyb:='0';--新旧医保标识 0:旧 1:新 LS_YBTYPE:='-1';-- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] --SF_JZB000.YBSM06-结算类型 DD:多点结算 YD:移动结算 YB:医保结算,WLZS:互联网 ,APP_DD:APP结算 ZZJ:自助机 if P_FZXBH0 in ('DD','YD','WLZS','APP_DD','YB') then LS_YBSM06:=substrb(P_FZXBH0,1,50); else LS_YBSM06:='ZZJ'; end if; LS_YBSM11:=substrb(P_SERIALNO,1,50);--医保结算返回序列号monitorID或第三方返回流水号 select SF_SST_GETICKH00_YKT(P_CARDNO) into LS_ICKH00 from dual; --获取操作员编号和姓名 begin select YGBH00,ZWXM00 into LS_JZY000,LS_JZYXM0 from VW_SST_YGBMDYXX where ZZJBH0=P_ZDBH00 and rownum=1; exception when no_data_found then if P_FZXBH0 in ('DD','YD','WLZS','APP_DD','YBDZPZ') then --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算,WLZS:网络诊室多点结算 ) begin select YGBH00,ZWXM00 into LS_JZY000,LS_JZYXM0 from BM_YGBM00 where YGBH00=P_YYJGDM; --医院机构代码(员工编码); exception when no_data_found then P_ERRMSG:='未找到有效的操作员员工信息!'; return; end; else P_ERRMSG:='终端编号:'||P_ZDBH00||'在本院SST_YGBHDY表中未对应收费员!'; return; end if; end; --是否厦门医保接口 Y:是 N:否 begin select substrb(trim(value0),1,10) into LS_SFXMYBJK from XT_XTCS00 where name00='SF_SFXMYBJK'; exception when others then LS_SFXMYBJK:='N'; end; begin select to_number(trim(value0)) into ls_SFDM00 from xt_xtcs00 where name00='IC_SFDM'; exception when others then LS_SFDM00:=0; end; --自助机自费病人是否记账结算 Y:记账并结算 N:记账不结算 默认值:N begin select upper(trim(VALUE0)) into LS_ZFBRSFJS from XT_XTCS00 where NAME00 = 'SST_ZFBRSFJS'; exception when others then LS_ZFBRSFJS:='N'; end; --2016.01.11 增加参数控制SST_CFYJJS 自助机结算自费病人是否把医技,费用一起结算(医保病人并且参数SST_ZFBRSFJS=Y 都参与结算) Y:参与结算 N:不参与结算 默认值:N begin select upper(trim(VALUE0)) into LS_CFYJJS from XT_XTCS00 where NAME00 = 'SST_CFYJJS'; exception when others then LS_CFYJJS:='N'; end; if substr(LS_CFYJJS,1,1)='M' then LS_YJJZKS := nvl(substr(LS_CFYJJS,3,length(LS_CFYJJS)-2),'0'); LS_CFYJJS := substr(LS_CFYJJS,1,1); end if; begin select trim(VALUE0) into ls_ICKSFCYJS from XT_XTCS00 where NAME00='SF_ICKSFCYJS'; exception when others then ls_ICKSFCYJS:='N'; end; begin select upper(trim(value0)) into SF_GRZFSFBHSB from xt_xtcs00 where name00='SF_GRZFSFBHSB'; exception when others then SF_GRZFSFBHSB:='Y'; end; --YS_SFQYZDCFTSBZ :是否启用针对处方的特殊病种,Y:是,N否,默认N 门诊医生-特殊病种 begin select upper(trim(VALUE0)) into LS_YS_SFQYZDCFTSBZ from XT_XTCS00 where NAME00 = 'YS_SFQYZDCFTSBZ'; exception when others then LS_YS_SFQYZDCFTSBZ:='N'; end; LS_YS_SFQYZDCFTSBZ:=nvl(LS_YS_SFQYZDCFTSBZ,'N'); select upper(substrb(nvl(max(trim(value0)),'N'),1,1)) into ls_YBSFYXQF from xt_xtcs00 where name00='SF_YBSFYXQF'; --门诊自助结算病人账户停用金额(TYJE00)或允许欠费金额(YXQFJE)修改模式参数【0:不修改 1:修改账户停用金额(TYJE00) 2:修改账户允许欠费金额(YXQFJE)】默认值:0 begin select trim(VALUE0) into SST_TYJE00_YXQFJE from XT_XTCS00 where NAME00 = 'SST_TYJE00_YXQFJE'; exception when others then SST_TYJE00_YXQFJE:='0'; end; --病人在住院时,是否限制门诊的一些业务操作,0、不限制,1、限制门诊结算、取消结算等操作 select nvl(max(trim(VALUE0)),'0') into ls_ZYXZCZ from XT_XTCS00 where NAME00='SF_BRZYSFXZMZYWCZ'; begin select BMBH00 into LS_CZYKS0 from BM_YGBM00 where YGBH00=LS_JZY000; exception when others then LS_CZYKS0:=0; end; --获取YYID begin --select SF_SF_GETYYID00() YYID00 into LS_YYID00 from dual; select SF_SF_GETYYID00(LS_CZYKS0) YYID00 into LS_YYID00 from dual; exception when others then LS_YYID00:='0'; end; begin select brid00 into LS_BRID00 from ic_yhxx00 where ICKH00 =LS_ICKH00 and ZT0000 ='1'; exception when no_data_found then P_ERRMSG:='未找到该病人的信息,请确认是否在院内已经建档登记!'; return; end; begin select A.YBLB00,A.YBBRLB,A.brxb00,A.YBKH00,A.ybid00,A.brxm00,A.FBBH00,A.BRCSRQ, A.BKC001_MC,A.AAE140,A.AAE140_MC,B.YBZXLB into ls_YBLB00,ls_YBBRLB,ls_BRXB00,ls_YBKH00,ls_YBID00,ls_BRXM00,ls_FBBH00,ls_BRCSRQ, BM_BKC001_MC,BM_AAE140,BM_AAE140_MC,LS_YBZXLB from BM_BRXXB0 A,IC_YBBRLB B where A.brid00=LS_BRID00 and B.YBLB00=A.YBLB00 and B.FBBH00=a.FBBH00; exception when no_data_found then P_ERRMSG:='未找到该病人的信息,请确认是否在院内已经建档登记!'; return; end; select count(1) into ls_COUNT0 from SST.SST_JSDP_JBXX where XTGZH0=P_XTGZH0; if ls_COUNT0 = 0 then P_ERRMSG := '未找到该病人当天的结算信息!'; return; end if; select count(*) into ls_COUNT0 from ZY_BRXXB0 where BRID00=LS_BRID00 and CYRQ00 is null; if (ls_COUNT0 >0) and (ls_ZYXZCZ ='1') then P_ERRMSG := '该病人当前在住院,系统限制不能进行费用结算操作!'; return; end if; --WLZS:网络诊室多点结算 if P_FZXBH0 in ('WLZS') then --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算 WLZS:网络诊室多点结算) LS_CFYJJS:='Y'; begin LS_BYRC00:=substrb(SF_SF_RETURNINDEXEH(trim(P_BYRC00),'|', 7),1,200);--备用入参 LS_WLZSJSCFZT:=nvl(substrb(SF_SF_RETURNINDEXEH(trim(LS_BYRC00),'&', 1),1,20),'0');--网络诊室是否只结算网络处方 0:否 1:是 LS_WLZSYBJSZT:=nvl(substrb(SF_SF_RETURNINDEXEH(trim(LS_BYRC00),'&', 2),1,20),'0');--医保是否自费结算 0:否 1:是 exception when others then LS_WLZSJSCFZT:='1';--网络诊室是否只结算网络处方 0:否 1:是 LS_WLZSYBJSZT:='0';--医保是否自费结算 0:否 1:是 end; end if; --移动结算,多点结算,允许项目参与结算 if P_FZXBH0 in ('DD','YD','WLZS','APP_DD','YBDZPZ') then LS_CFYJJS:='Y'; end if; --获取自助机中间表 select * into RZZJS from SST.SST_JSDP_JBXX where XTGZH0=P_XTGZH0; LS_CARDNO:=nvl(RZZJS.Cardno,P_CARDNO); --医保卡号 LS_GHID00:=RZZJS.GHID00; --挂号ID LS_GHH000:=substrb(RZZJS.GHH000,1,12); --挂号号 ls_Mzlsh0:=trim(RZZJS.Mzlsh0); --医保挂号号 ls_Djlsh0:=trim(RZZJS.Djlsh0); --医保单据号 ls_Zhzfe0:=nvl(RZZJS.Zhzfe0,0); --医保账户支付 ls_Grzfe0:=nvl(RZZJS.Grzfe0,0); --个人现金支付 ls_Jjzfe0:=nvl(RZZJS.Jjzfe0,0); --统筹基金支付 ls_Gwybz0:=nvl(RZZJS.Gwybz0,0); --公务员补助 ls_Bcbxf0:=nvl(RZZJS.Bcbxf0,0); --本次费用总额(医保返回) ls_Bcfyze:=nvl(RZZJS.Bcfyze,0); --本次费用总额 ls_Yjjye0:=nvl(RZZJS.Yjjye0,0); --预交金余额 ls_Zhzfe2:=nvl(RZZJS.Zhzfe2,0); -- ls_Ylzfje:=nvl(RZZJS.Ylzfje,0); -- ls_Grzhye:=nvl(RZZJS.Grzhye,0); -- ad_SBZHJE:=0; -- ad_SBTJJE:=nvl(RZZJS.Sbtcjj,0); -- ad_jjzfe0:=nvl(RZZJS.Bjjjzf,0); -- ad_SYBXZF:=nvl(RZZJS.Sybxzf,0); --商业保险支付 ad_SBZFE0:=nvl(RZZJS.Sbjjzf,0); -- ad_BJZFE0:=nvl(RZZJS.Ssbjjj,0); -- ad_FYBJE0:=nvl(RZZJS.Fybfy0,0); --非医保金额 ad_CFDXJE:=nvl(RZZJS.Cfdxje,0); --超封顶线 ls_BCKBCS:=nvl(RZZJS.Bckbcs,0); --本次看病次数 ls_TSBZBH:=trim(RZZJS.Bqbm00); --特殊病种 ls_Xjzffs:=trim(RZZJS.Xjzffs); -- ls_jyje00:=nvl(RZZJS.jyje00,0); -- ls_JYLB00:=RZZJS.JYLB00; -- ls_YHJGDM:=RZZJS.YHJGDM; -- ls_TRANSOUTINFO:=RZZJS.TRANSOUTINFO; -- ls_TRANSCOUNTER:=RZZJS.TRANSCOUNTER; -- ls_BANKCARDNO:=RZZJS.BANKCARDNO; -- ls_CERTID:=RZZJS.CERTID; -- ls_TRANSATTACHMENT:=RZZJS.TRANSATTACHMENT; -- ls_BALANCE:=RZZJS.BALANCE; -- ls_JBRQ00:=RZZJS.JBRQ00; -- ls_JBSJ00:=RZZJS.JBSJ00; -- ls_QBKKQR:=RZZJS.QBKKQR; -- ls_JSXXTS:=RZZJS.JSXXTS; -- LS_KFPC00:=RZZJS.KFPC00; --扣费批次 ls_YKTZFE:=nvl(RZZJS.YKTZFE,0); -- ls_YKTLSH:=RZZJS.YKTLSH; --一卡通流水号 LS_SSTLSH:=RZZJS.SSTLSH; --自助机流水号 LS_YKTYE0:=nvl(RZZJS.YKTYE0,0); -- LS_TMLJ00:=nvl(RZZJS.TMLJ00,0); --特门累计 LS_PMLJ00:=nvl(RZZJS.PMLJ00,0); --普门累计 V_YBYL01:=nvl(RZZJS.BCYLJZ,0); --民政救助 V_YBYL02:=nvl(RZZJS.JSJZZE,0); --计生救助 V_YBYL03:=nvl(RZZJS.CLJZZE,0); --残联救助 V_YBYL06:=nvl(RZZJS.YBJJZF,0); --低保基金支付 V_YBYL07:=nvl(RZZJS.YBZLFBCJE,0); --一般诊疗费补偿金额 V_YBYL08:=nvl(RZZJS.YBZLFGRZFJE,0); --一般诊疗费费个人支付金额 V_YBYL09:=nvl(RZZJS.TMQFLJ,0); --特殊门诊起付线累计 V_YBYL10:=nvl(RZZJS.TMJJLJ,0); --特殊门诊基金累计 V_YBYL11:=nvl(RZZJS.JKZHZF,0); --健康账户支付额 V_YBYL12:=nvl(RZZJS.JKZHYE,0); --健康账户余额 V_YBYL13:=nvl(RZZJS.GJZHZF,0); --共济账户支付 V_YBYL14:=nvl(RZZJS.GJZHYE,0); --共济账户余额 V_YBYL15:=nvl(RZZJS.JKZFYB,0); --健康账户支付医保费用 V_YBYL16:=nvl(RZZJS.JKZFFYB,0); --健康账户支付非医保费用 V_YBYL17:=nvl(RZZJS.YYJMJE,0); --医保减免金额 V_YBYL18:=nvl(RZZJS.MZBZJE,0); --民政(医疗救助基金)补助金额 V_YBYL20:=nvl(RZZJS.ZHZFD0,0); --个人账户支付起付段(三明地区商业保险接口) V_YBYL21:=nvl(RZZJS.XJZFD0,0); --个人现金支付起付段(三明地区商业保险接口) V_dbgrzf:=nvl(RZZJS.dbgrzf,0); -- v_dbjjzf:=nvl(RZZJS.dbjjzf,0); -- V_dbzhzf:=nvl(RZZJS.dbzhzf,0); -- LS_YBSM01:=RZZJS.fzxbh0; --分中心编码 LS_SFJZFP:=RZZJS.SFJZFP; --是否精准扶贫金额 LS_JZFPJE:=nvl(RZZJS.JZFPJE,0); --精准扶贫金额 --2020.07.31 ad_SBTJJE:=nvl(v_dbjjzf,0);--商保统筹基金额 ad_SBZHJE:=nvl(V_dbzhzf,0);--商保个人帐户支付金额 LS_YBSM04:=P_XTGZH0;--SST_JSDP_JBXX.XTGZH0 if trim(LS_Mzlsh0) not in ('0') then LS_YBSM20:=LS_Mzlsh0;--akc190 医保挂号或医保住院号 end if; LS_bke042 :=trim(RZZJS.bke042);--his填写:his流水号 LS_aaz149 :=RZZJS.aaz149;--[aaz149]病情编码 LS_bkc166 :=RZZJS.bkc166;--[bkc166]一般诊疗费补偿金额 LS_bkc167 :=RZZJS.bkc167;--[bkc167]一般诊疗费费个人支付金额 LS_bkc076 :=RZZJS.bkc076;--[bkc076]健康账户支付 LS_bkc079 :=RZZJS.bkc079;--[bkc079]健康账户余额 LS_bkc591 :=RZZJS.bkc591;--[bkc591]共济账户余额 LS_bka531 :=RZZJS.bka531;--[bka531]是否精准扶贫 Y是 N否 LS_TMQFLJ :=RZZJS.TMQFLJ;--[TMQFLJ]特殊门诊起付线累计 LS_TMJJLJ :=RZZJS.TMJJLJ;--[TMJJLJ]特殊门诊基金累计 LS_bke856 :=RZZJS.bke856;--[bke856] 超封顶线金额 LS_bkc134 :=RZZJS.bkc134;--[bkc134] 乙类先行自付额 LS_BKE921 :=RZZJS.BKE921;-- LS_BKE922 :=RZZJS.BKE922;-- LS_bkc620 :=RZZJS.bkc620;-- LS_BKC619 :=RZZJS.BKC619;-- LS_bke297 :=RZZJS.bke297;-- LS_bka555 :=RZZJS.bka555;-- LS_bka188 :=RZZJS.bka188;-- LS_YBJKID :=RZZJS.YBJKID;-- LS_bke284 :=RZZJS.bke284;--[bke284]身份认证类型(01:读卡02:融合码06:医保码20:医疗证) LS_akc190 :=RZZJS.akc190;--varchar2(16) ,--医保返回:医保门诊挂号流水号/住院登记流水号 LS_aae072 :=RZZJS.aae072;--varchar2(16) ,--医保返回:医保收费流水号 LS_akc227 :=RZZJS.akc227;--number(12,2) ,--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_bkc040 :=RZZJS.bkc040;--number(12,2) ,--医保返回:个人现金支付金额(实付现金) LS_bkc041 :=RZZJS.bkc041;--number(12,2) ,--医保返回:个人账户支付金额 LS_bkc102 :=RZZJS.bkc102;--number(12,2) ,--医保返回:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_bkc045 :=RZZJS.bkc045;--number(12,2) ,--医保返回:其中:统筹基金支付 LS_bkc052 :=RZZJS.bkc052;--number(12,2) ,--医保返回:其中:大病保险基金支付(商保支付或商业保险) LS_bkc059 :=RZZJS.bkc059;--number(12,2) ,--医保返回:公务员医疗补助 LS_bkc062 :=RZZJS.bkc062;--number(12,2) ,--医保返回:其中:精准扶贫医疗叠加 LS_bkc060 :=RZZJS.bkc060;--number(12,2) ,--医保返回:其中:医疗救助基金 LS_ake173 :=RZZJS.ake173;--number(12,2) ,--医保返回:其中:其他基金支付 LS_ake026 :=RZZJS.ake026;--number(12,2) ,--医保返回:其中:企业补充 LS_bkc011 :=RZZJS.bkc011;--bkc011 个人自费(非医保费用) LS_bkc075 :=RZZJS.bkc075;--bkc075 家庭共济账户支付 LS_bkc053 :=RZZJS.bkc053;--bkc053 商保现金支付 LS_bkc054 :=RZZJS.bkc054;--bkc054 商保账户支付 LS_akc087 :=RZZJS.akc087;--akc087 个人账户余额 LS_aka151 :=RZZJS.aka151;--aka151 统筹支付医保费用起付标准 LS_aka150 :=RZZJS.aka150;--aka150 本年度住院次数 LS_bkc612 :=RZZJS.bkc612;--bkc612 补助基金支付 LS_insuplc_admdvs :=RZZJS.insuplc_admdvs;--varchar2(10) null ,--[国家医保]参保地行政区划(aab301) LS_mdtrtarea_admvs :=RZZJS.mdtrtarea_admvs;--varchar2(10) null ,--就医地医保区划 LS_insutype :=RZZJS.insutype;--varchar2(10) null ,--[国家医保]险种类型(aae140) LS_mdtrt_cert_type :=RZZJS.mdtrt_cert_type;--varchar2(10) null ,--[国家医保]就诊凭证类型(bke284)01:医保凭证 02:身份证号 03:社保卡 LS_mdtrt_cert_no :=RZZJS.mdtrt_cert_no;--varchar2(50) null ,--[国家医保]卡号(aaz500) LS_certno :=RZZJS.certno;--varchar2(50) null ,--[国家医保]证件号码(aac002) LS_psn_name :=RZZJS.psn_name;--varchar2(50) null ,--[国家医保]姓名(aac003) LS_gend :=RZZJS.gend;--varchar2(10) null ,--[国家医保]性别(aac004) LS_age :=RZZJS.age;--varchar2(10) null ,--[国家医保]病人年龄 LS_med_type :=RZZJS.med_type;--varchar2(10) null ,--[国家医保]医疗类别(aka130) LS_chrg_bchno :=RZZJS.chrg_bchno;--varchar2(30) null ,--[国家医保]系统跟踪号(bke298) LS_ipt_otp_no :=RZZJS.ipt_otp_no;--varchar2(30) null ,--[国家医保]his流水号(bke042) LS_dise_codg :=RZZJS.dise_codg;--varchar2(30) null ,--[国家医保]病情编码(aaz149) LS_dise_name :=RZZJS.dise_name;--varchar2(100) null ,--[国家医保]病情名称 LS_psn_setlway :=RZZJS.psn_setlway;--varchar2(10) null ,--[国家医保]个人结算方式 LS_acct_used_flag :=RZZJS.acct_used_flag ;--varchar2(10) null ,--[国家医保]个人账户使用标志 LS_invono :=RZZJS.invono;--varchar2(30) null ,--[国家医保]发票流水号 LS_pub_hosp_rfom_flag :=RZZJS.pub_hosp_rfom_flag;--varchar2(10) null ,--[国家医保]公立医院改革标志 LS_dept_code :=RZZJS.dept_code;--varchar2(30) null ,--[国家医保]科室编码(bkf237) LS_dept_name :=RZZJS.dept_name ;--varchar2(50) null ,--[国家医保]科室名称(bkf238) LS_caty :=RZZJS.caty;--varchar2(30) null ,--[国家医保]科别 LS_psn_no :=RZZJS.psn_no;--varchar2(30) null ,--[国家医保]人员编号 LS_main_cond_dscr :=RZZJS.main_cond_dscr;--varchar2(1000) null ,--[国家医保]主要病情描述 LS_begntime :=RZZJS.begntime;--varchar2(20) null ,--[国家医保]实际就诊日期(bkc014) LS_endtime :=RZZJS.endtime;--varchar2(20) null ,--[国家医保]结束时间(bkc194) LS_birctrl_type :=RZZJS.birctrl_type;--varchar2(10) null ,--[国家医保]计划生育手术类别(amc029) LS_matn_type :=RZZJS.matn_type;--varchar2(10) null ,--[国家医保]生育类别(amc026) LS_birctrl_matn_date :=RZZJS.birctrl_matn_date;--varchar2(20) null ,--[国家医保]计划生育手术或生育日期(amc020) LS_geso_val :=RZZJS.geso_val;--varchar2(10) null ,--[国家医保]孕周数 LS_dr_name :=RZZJS.dr_name;--varchar2(50) null ,--[国家医保]医生姓名(bkc006) LS_atddr_no :=RZZJS.atddr_no;--varchar2(30) null ,--[国家医保]医生证件号(bkc007) LS_YYJGDM :=RZZJS.YYJGDM;--varchar2(20) null ,--[国家医保]医院机构代码 LS_cshsj0 :=RZZJS.cshsj0;--varchar2(20) null ,--[国家医保]数据初始化时间 LS_mdtrt_id :=RZZJS.mdtrt_id;--varchar2(30) null ,--[国家医保]门诊流水号(akc190) LS_setl_id :=RZZJS.setl_id;--varchar2(30) null ,--[国家医保]单据流水号(aae072) LS_psn_cert_type :=RZZJS.psn_cert_type;--varchar2(10) null ,--[国家医保]人员证件类型(aac058) LS_naty :=RZZJS.naty;--varchar2(10) null ,--[国家医保]民族() LS_brdy :=RZZJS.brdy;--varchar2(20) null ,--[国家医保]出生日期(aac006) LS_psn_type :=RZZJS.psn_type;--varchar2(10) null ,--[国家医保]人员待遇类别(bkc001) LS_cvlserv_flag :=RZZJS.cvlserv_flag;--varchar2(10) null ,--[国家医保]公务员标志 LS_medfee_sumamt :=RZZJS.medfee_sumamt;--number(16,2) null ,--[国家医保]本次费用总额(akc227) LS_fund_pay_sumamt :=RZZJS.fund_pay_sumamt;--number(16,2) null ,--[国家医保]基金支付额(bkc102) LS_hifp_pay :=RZZJS.hifp_pay;--number(16,2) null ,--[国家医保]其中:统筹基金支付(bkc045) LS_psn_cash_pay :=RZZJS.psn_cash_pay;--number(16,2) null ,--[国家医保]个人现金支出(bkc040) LS_acct_pay :=RZZJS.acct_pay;--number(16,2) null ,--[国家医保]个人账户支出(bkc041) LS_cvlserv_pay :=RZZJS.cvlserv_pay;--number(16,2) null ,--[国家医保]其中:公务员补助(bkc059) LS_hifes_pay :=RZZJS.hifes_pay;--number(16,2) null ,--[国家医保]其中:企业补充(ake026) LS_hifmi_pay :=RZZJS.hifmi_pay;--number(16,2) null ,--[国家医保]其中:大病保险基金支付(商保支付)(bkc052) LS_hifob_pay :=RZZJS.hifob_pay;--number(16,2) null ,--[国家医保]职工大额医疗费用补助基金支出 LS_maf_pay :=RZZJS.maf_pay;--number(16,2) null ,--[国家医保]其中:医疗救助基金(bkc060) LS_oth_pay :=RZZJS.oth_pay;--number(16,2) null ,--[国家医保]其中:其他基金支付(ake173) LS_hifdm_pay :=RZZJS.hifdm_pay;--number(16,2) null ,--[国家医保]伤残人员医疗保障基金支出 LS_pool_prop_selfpay :=RZZJS.pool_prop_selfpay ;--number(16,2) null ,--[国家医保]基本医疗保险统筹基金支付比例 LS_act_pay_dedc :=RZZJS.act_pay_dedc;--number(16,2) null ,--[国家医保]统筹支付医保费用起付标准(aka151) LS_psn_part_amt :=RZZJS.psn_part_amt;--number(16,2) null ,--[国家医保]非医保费用(bkc011) LS_hosp_part_amt :=RZZJS.hosp_part_amt;--number(16,2) null ,--[国家医保]医院负担金额 LS_balc :=RZZJS.balc;--number(16,2) null ,--[国家医保]个人账户余额(akc087) LS_acct_mulaid_pay :=RZZJS.acct_mulaid_pay;--number(16,2) null ,--[国家医保]家庭共济账户支付(bkc075) LS_fulamt_ownpay_amt :=RZZJS.fulamt_ownpay_amt;--number(16,2) null ,--[国家医保]全自费金额 LS_overlmt_selfpay :=RZZJS.overlmt_selfpay;--number(16,2) null ,--[国家医保]超限价金额 LS_preselfpay_amt :=RZZJS.preselfpay_amt;--number(16,2) null ,--[国家医保]先行自付金额 LS_inscp_scp_amt :=RZZJS.inscp_scp_amt;--number(16,2) null ,--[国家医保]符合政策范围金额 LS_medins_setl_id :=RZZJS.medins_setl_id;--varchar2(30) null ,--[国家医保]医药机构结算 LS_clr_optins :=RZZJS.clr_optins;--varchar2(10) null ,--[国家医保]清算经办机构 LS_clr_way :=RZZJS.clr_way;--varchar2(10) null ,--[国家医保]清算方式 LS_clr_type :=RZZJS.clr_type;--varchar2(10) null ,--[国家医保]清算类别 LS_setl_time :=RZZJS.setl_time;--varchar2(20) null --[国家医保]收费日期 LS_adm_diag_dscr :=RZZJS.adm_diag_dscr;--varchar2(1000) null ,--[国家医保]adm_diag_dscr:入院诊断描述 LS_adm_dept_codg :=RZZJS.adm_dept_codg;--varchar2(30) null ,--[国家医保]adm_dept_codg:入院科室编码 LS_adm_dept_name :=RZZJS.adm_dept_name;--varchar2(50) null ,--[国家医保]adm_dept_name:入院科室名称 LS_adm_bed :=RZZJS.adm_bed;--varchar2(30) null ,--[国家医保]adm_bed:入院床位 LS_dscg_maindiag_code :=RZZJS.dscg_maindiag_code;--varchar2(50) null ,--[国家医保]dscg_maindiag_code:住院主诊断代码 LS_dscg_maindiag_name :=RZZJS.dscg_maindiag_name;--varchar2(200) null ,--[国家医保]dscg_maindiag_name:住院主诊断名称 LS_latechb_flag :=RZZJS.latechb_flag;--varchar2(10) null ,--[国家医保]latechb_flag:晚育标志 LS_pret_flag :=RZZJS.pret_flag;--varchar2(10) null ,--[国家医保]pret_flag:早产标志 LS_dscg_dept_codg :=RZZJS.dscg_dept_codg;--varchar2(30) null ,--[国家医保]dscg_dept_codg:出院科室编码 LS_dscg_dept_name :=RZZJS.dscg_dept_name;--varchar2(50) null ,--[国家医保]dscg_dept_name:出院科室名称 LS_dscg_way :=RZZJS.dscg_way;--varchar2(10) null --[国家医保]dscg_way:离院方式 LS_YBBZ00 :=nvl(RZZJS.YBBZ00,'0'); --自助机填写:医保标志(区分新旧医保)1:新医保,0:旧医保 LS_jsjzzt :=RZZJS.jsjzzt;--结算记账状态:Y:记账并结算 M:只记账不结算 LS_ybjszt :=RZZJS.ybjszt;--医保结算状态:Y:医保结算 M:医保转自费结算 if LS_FBBH00=3 then 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; if LS_OrdNewyb in ('1') then --启用新医保接口 -- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版]---begin--- if LS_YBTYPE='1' then LS_akc190 :=substrb(RZZJS.mdtrt_id,1,30);--医保返回:医保门诊挂号流水号/住院登记流水号=mdtrt_id LS_aae072 :=substrb(RZZJS.setl_id,1,30);--医保返回:医保收费流水号=setl_id LS_akc227 :=nvl(RZZJS.medfee_sumamt,0);--医保返回:医疗费总金额=个人现金支付金额+个人账户支付金额+基金支付总额 LS_bkc040 :=nvl(RZZJS.psn_cash_pay,0);--医保返回:个人现金支付金额(实付现金) LS_bkc041 :=nvl(RZZJS.acct_pay,0);--医保返回:个人账户支付金额 LS_bkc102 :=nvl(RZZJS.fund_pay_sumamt,0);--医保返回:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 LS_bkc045 :=nvl(RZZJS.hifp_pay,0);--医保返回:其中:统筹基金支付 LS_bkc052 :=0;--number(12,2) ,--医保返回:其中:大病保险基金支付(商保支付或商业保险) LS_bkc059 :=nvl(RZZJS.cvlserv_pay,0);--医保返回:公务员医疗补助 LS_bkc062 :=RZZJS.bkc062;--医保返回:其中:精准扶贫医疗叠加 LS_bkc060 :=nvl(RZZJS.maf_pay,0);--医保返回:其中:医疗救助基金 LS_ake173 :=nvl(RZZJS.oth_pay,0);--医保返回:其中:其他基金支付 oth_pay LS_ake026 :=RZZJS.ake026;--number(12,2) ,--医保返回:其中:企业补充 LS_bkc011 :=RZZJS.bkc011;--bkc011 个人自费(非医保费用) LS_bkc075 :=RZZJS.bkc075;--bkc075 家庭共济账户支付 LS_bkc053 :=RZZJS.bkc053;--bkc053 商保现金支付 LS_bkc054 :=RZZJS.bkc054;--bkc054 商保账户支付 LS_akc087 :=nvl(RZZJS.balc,0);--akc087 个人账户余额 balc LS_aka151 :=RZZJS.aka151;--aka151 统筹支付医保费用起付标准 LS_aka150 :=RZZJS.aka150;--aka150 本年度住院次数 LS_bkc612 :=RZZJS.bkc612;--bkc612 补助基金支付 LS_cvl_acct_pay :=RZZJS.cvl_acct_pay;--cvl_acct_pay 公务员账户支付 LS_cvl_acct_balc :=RZZJS.cvl_acct_balc;--cvl_acct_balc 公务员余额 LS_hl_acct_pay :=RZZJS.hl_acct_pay;--hl_acct_pay 健康账户支付=YBYL11 LS_hl_acct_balc :=RZZJS.hl_acct_balc;--hl_acct_balc 健康账户余额=YBYL12 LS_acct_mulaid_pay :=RZZJS.acct_mulaid_pay;--acct_mulaid_pay 共济账户支付=YBYL13 LS_fm_acct_balc :=RZZJS.fm_acct_balc;--fm_acct_balc 共济账户余额=YBYL14 LS_pur_acct_pay :=RZZJS.pur_acct_pay;--pur_acct_pay 医疗账户支付 --2022.05.07 大病保险基金支付(商保支付或商业保险)=hifmi_pay:居民大病保险资金支出+hifob_pay:职工大额医疗费用补助基金支出 LS_bkc052:=nvl(LS_hifmi_pay,0)+nvl(LS_hifob_pay,0); end if; -- 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版]---end--- if trim(LS_akc190) is not null then ls_Mzlsh0:=trim(LS_akc190); end if; --[akc190]医保挂号号 if trim(LS_aae072) is not null then ls_Djlsh0:=trim(LS_aae072); end if; --[aae072]医保单据号 ls_Zhzfe0:=nvl(LS_bkc041,0); --[bkc041]:医保账户支付 ls_Grzfe0:=nvl(LS_bkc040,0); --[bkc040]:个人现金支付 ls_Jjzfe0:=nvl(LS_bkc102,0); --[bkc102]基金支付\基金支付总额 ls_Gwybz0:=nvl(LS_bkc059,0); --[bkc059]公务员补助 ls_Bcbxf0:=nvl(LS_akc227,0); --[akc227]本次费用总额(医保返回) ls_Bcfyze:=nvl(LS_Bcfyze,0); --[akc227]本次费用总额 ls_Yjjye0:=nvl(LS_Yjjye0,0); --预交金余额 ls_Zhzfe2:=nvl(LS_Zhzfe2,0); -- ls_Ylzfje:=nvl(LS_Ylzfje,0); -- ls_Grzhye:=nvl(LS_akc087,0); --[akc087]医保账户余额 V_dbgrzf:=0; --(不写入)商保个人支付 龙岩医保字段(1、个人现金支付=Grzfe0(医保段)+Dbgrzf(商保段);2、个人账户支付=zhzfe0(医保段)+Dbzhzf(商保段);3、基金支付=Jjzfe0(医保段));4、商保基金支付=Dbjjzf(商保段)) v_dbjjzf:=0; --(不写入)[bkc052] 漳州地区使用]商保基金支付 V_dbzhzf:=0; --(不写入)[bkc054]商保账户支付 ad_SBZHJE:=0; --商保支付额 ad_SBTJJE:=0; --商保统筹基金 ad_jjzfe0:=0; --[bkc061]保健基金支付 ad_SYBXZF:=nvl(LS_bkc052,0); --[bkc052]商业保险支付 ad_SBZFE0:=0; --商保基金支付(省属三家市属九家医疗机构) ad_BJZFE0:=0; --保健基金支付(省属三家市属九家医疗机构) ad_FYBJE0:=nvl(LS_bkc011,0); --[bkc011]非医保金额 ad_CFDXJE:=nvl(RZZJS.Cfdxje,0); --超封顶线 ls_BCKBCS:=nvl(LS_aka150,0); --[aka150]本次看病次数 ls_jyje00:=nvl(RZZJS.jyje00,0); -- ls_YKTZFE:=nvl(RZZJS.YKTZFE,0); -- LS_YKTYE0:=nvl(RZZJS.YKTYE0,0); -- LS_TMLJ00:=nvl(LS_TMLJ00,0); --特门累计 LS_PMLJ00:=nvl(LS_PMLJ00,0); --普门累计 V_YBYL01:=nvl(LS_bkc060,0); --bcyljz:民政救助=bkc060 V_YBYL02:=0; --计生救助 V_YBYL03:=0; --残联救助 V_YBYL06:=0; --低保基金支付 V_YBYL07:=nvl(LS_bkc166,0); --[bkc166]一般诊疗费补偿金额 V_YBYL08:=nvl(LS_bkc167,0); --[bkc167]一般诊疗费费个人支付金额 V_YBYL09:=nvl(LS_TMQFLJ,0); --特殊门诊起付线累计 V_YBYL10:=nvl(LS_TMJJLJ,0); --特殊门诊基金累计 V_YBYL11:=nvl(LS_bkc076,0); --[bkc076]健康账户支付额 V_YBYL12:=nvl(LS_bkc079,0); --[bkc079]健康账户余额 V_YBYL13:=nvl(LS_bkc075,0); --[bkc075]共济账户支付 V_YBYL14:=nvl(LS_bkc591,0); --[bkc591]共济账户余额 V_YBYL15:=nvl(RZZJS.JKZFYB,0); --健康账户支付医保费用 V_YBYL16:=nvl(RZZJS.JKZFFYB,0); --健康账户支付非医保费用 V_YBYL17:=nvl(RZZJS.YYJMJE,0); --医保减免金额 V_YBYL18:=0; --民政(医疗救助基金)补助金额 V_YBYL20:=nvl(RZZJS.ZHZFD0,0); --个人账户支付起付段(三明地区商业保险接口) V_YBYL21:=nvl(RZZJS.XJZFD0,0); --个人现金支付起付段(三明地区商业保险接口) LS_SFJZFP:=nvl(LS_bka531,'N'); --[bka531]是否精准扶贫 Y是 N否 LS_YBSM20:=LS_Mzlsh0;--akc190 医保挂号或医保住院号 LS_YBSM24:=RZZJS.bke298;--his收费单据流水号(bke298) LS_YBSM25:=LS_bke042;--his流水号(bke042) LS_YBYL46:=0;--[jzfp01]精准扶贫第一道补助 LS_YBYL47:=0;--[jzfp02]精准扶贫第二道补助 LS_YBYL48:=0;--[jzfp03]综合救助 LS_YBYL50:=nvl(RZZJS.bkc062,0);--[csjz00]慈善救助金额=bkc062 LS_YBYL51:=0;--[jzfpje]医保返回的精准扶贫金额 if LS_hl_acct_pay is not null then V_YBYL11:=LS_hl_acct_pay; end if;--hl_acct_pay 健康账户支付=YBYL11 if LS_hl_acct_balc is not null then V_YBYL12:=LS_hl_acct_balc; end if;--hl_acct_balc 健康账户余额=YBYL12 if LS_acct_mulaid_pay is not null then V_YBYL13:=LS_acct_mulaid_pay; end if;--acct_mulaid_pay 共济账户支付=YBYL13 if LS_fm_acct_balc is not null then V_YBYL14:=LS_fm_acct_balc; end if;--fm_acct_balc 共济账户余额=YBYL14 --获取BM_YBXZQH.mdtrtarea_admvs if LS_insuplc_admdvs is not null then begin select trim(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 LS_mdtrtarea_admvs is null and YBXZQH_mdtrtarea_admvs is not null then --就医地医保区划 LS_mdtrtarea_admvs:=substrb(YBXZQH_mdtrtarea_admvs,1,10); end if; end if; --判断是否是门诊医保定额支付特殊病种 Y:是 N:否 个人实际自付按医保返回为准 if trim(RZZJS.Bqbm00) is not null and trim(RZZJS.Bqbm00) not in ('无') then begin select SF_SF_SFYBDZBZ(trim(RZZJS.Bqbm00)) into LS_SFDEZF from dual; exception when others then LS_SFDEZF:='N'; end; end if; if P_FZXBH0 in ('WLZS') then --参保机构编号(DD:多点结算 YD:移动结算 YB:医保结算 WLZS:网络诊室多点结算) if LS_WLZSYBJSZT='1' and LS_FBBH00=3 then ls_Djlsh0:='0'; end if; end if; if trim(LS_GHH000) is null or trim(LS_GHH000)='' then select max(GHID00),max(GHH000) into LS_GHID00,LS_GHH000 from SST_SFDJH0 where XTGZH0=P_XTGZH0 and BRID00=ls_BRID00; end if; if LS_YBZXLB is null then select YBZXLB into ls_YBZXLB from sf_brxxb0 where brid00=LS_BRID00 and GHH000=LS_GHH000; --and GHID00=LS_GHID00 end if; if (ls_Djlsh0 is null) and (LS_FBBH00=3) and nvl(trim(LS_ybjszt),'-1') not in ('M') then --M:医保转自费结算 P_ERRMSG := '找不到该病人医保返回的单据号!'; return; end if; ls_JBRQ00:=to_char(sysdate,'YYYYMMDD'); ls_JBSJ00:=to_char(sysdate,'HH24MISS'); select SQ_SF_JZB000_JZDH00.nextval into ad_JZDH00 from dual; select SQ_SF_PJSYQK_PJH000.nextval into ls_PJH000 from dual; ls_JZDH00:=ad_JZDH00; ls_JFBPJH:=0; if LS_FBBH00<>3 then ls_Djlsh0:='0'; end if; --获取账户余额 begin select nvl(a.XJYE00,0) as XJYE00,nvl(A.ZYE000,0) as ZYE000,nvl(A.TYJE00,0) as TYJE00,nvl(A.YXQFJE,0) as YXQFJE into LS_XJYE00,LS_ZYE000,LS_TYJE00,LS_YXQFJE from SF_BRZHXX a where BRID00=LS_BRID00 and JFLBID=1; exception when others then LS_XJYE00:=0; --现金余额 LS_ZYE000:=0; --总额余额 LS_TYJE00:=0; --停用金额 LS_YXQFJE:=0; --允许欠费金额 end; LS_JSQYE0 :=nvl(LS_ZYE000,0);--结算前账户总余额 LS_JSQTYJE00:=nvl(LS_TYJE00,0);--结算前停用金额 LS_JSQYXQFJE:=nvl(LS_YXQFJE,0);--结算前允许欠费金额 if LS_FBBH00=3 then begin --本次医保报销总额 select count(1) as ToatlNum, sum(decode(nvl(a.jzdh00,0),0,decode(a.YBBZ00,'2',nvl(a.fund_pay_sumamt,0)+nvl(a.acct_pay,0),'1',nvl(a.bkc102,0)+nvl(a.bkc041,0),0),0)) as Toatlybyxqf into LS_ToatlNum,LS_Toatlybyxqf from SST_JSDP_JBXX a where a.CARDNO=LS_CARDNO and a.BRID00=LS_BRID00; exception when others then LS_Toatlybyxqf :=0;--本次医保允许欠费 LS_ToatlNum :=0;--本次结算笔数 end; --其它系统跟踪号医保报销总额 begin select sum(decode(nvl(a.jzdh00,0),0,decode(a.YBBZ00,'2',nvl(a.fund_pay_sumamt,0)+nvl(a.acct_pay,0),'1',nvl(a.bkc102,0)+nvl(a.bkc041,0),0),0)) as OtherYBBCJE into LS_Other_XtGZH0_YBBCJE from SST_JSDP_JBXX a where a.CARDNO=LS_CARDNO and a.BRID00=LS_BRID00 and A.XTGZH0<>P_XTGZH0; exception when others then LS_Other_XtGZH0_YBBCJE:=0;--其它系统跟踪号医保报销总额(统筹基金+医保账户支付) end; end if; if nvl(LS_ToatlNum,0)<=1 then --如果本次结算笔数小于等于1,不设置医保允许欠费金额 LS_Toatlybyxqf :=0;--本次医保允许欠费 LS_Other_XtGZH0_YBBCJE:=0;--其它系统跟踪号医保报销总额(统筹基金+医保账户支付) end if; if nvl(LS_Toatlybyxqf,0)<0 then LS_Toatlybyxqf:=0; end if; if nvl(LS_Other_XtGZH0_YBBCJE,0)<0 then LS_Other_XtGZH0_YBBCJE:=0; end if; --医保返回插入到交费表--begin-- if LS_FBBH00=3 then if LS_OrdNewyb in ('1') then --启用新医保接口 --重新算统筹基金总额--begin-- if (LS_TCJJQZFS in ('N','D')) or (nvl(LS_bkc102,0)=0 and nvl(LS_bkc045,0)>0 ) then --改用函数5.0:SF_SF_YBFHJE 9.0:SF_XT_YBFHJE判断:BM_YBBCLX.SFDLHS(是否独立核算 0:统筹已包含 1:统筹之外独立计算) --LS_SBTCJJ:=SF_SF_YBFHJE(V_BRID00,'','SBTCJJ',0);--商保统筹基金(5.0写法) if LS_TCJJQZFS in ('D') then --统筹基金、公务员补助、商业保险支付、医疗救助基金 各个项目独立生成 LS_JJZFE0:=nvl(LS_bkc045,0); --YBYL56 统筹基金(bkc045,jjzfe0) LS_GWYBZ0:=SF_XT_YBFHJE('YBYL57',nvl(LS_bkc059,0)); --YBYL57 公务员补助(bkc059,gwybz0) if LS_SFXMYBJK='Y' then --厦门医保bkc052=sybxzf LS_SYBXZF:=SF_XT_YBFHJE('YBYL58',nvl(LS_BKC052,0)); --YBYL58 商业保险支付bkc052,sybxzf(大病保险基金支付) else LS_SBTCJJ:=SF_XT_YBFHJE('YBYL58',nvl(LS_BKC052,0)); --YBYL58 其中:商保基金支付(大额补充)bkc052 end if; LS_SBZHZF:=0;--商保账户支付 LS_MZBZJE:=SF_XT_YBFHJE('YBYL60',nvl(LS_bkc060,0)); --YBYL60 医疗救助基金(bkc060、mzbzje ) else LS_QTTCJJ:=SF_XT_YBFHJE('YBYL67',nvl(LS_BKC612,0));---补助基金支付 --其它统筹支付=其它统筹支付+bkc045 其中:统筹基金支付 LS_QTTCJJ:=nvl(LS_QTTCJJ,0)+nvl(LS_bkc045,0); LS_JJZFE0:=nvl(LS_QTTCJJ,0); end if; /* LS_SBTCJJ:=SF_XT_YBFHJE('SBTCJJ',0);--商保统筹基金 LS_SBZHZF:=SF_XT_YBFHJE('SBZHZF',0);--商保账户支付 LS_GWYBZ0:=SF_XT_YBFHJE('YBYL57',nvl(RZZJS.BKC059,0));--公务员补助=bkc059 其中:公务员医疗补助 LS_SYBXZF:=SF_XT_YBFHJE('YBYL58',nvl(RZZJS.BKC052,0));--商业保险支付=bkc052 其中:大病保险基金支付(商业保险支付sybxzf) --其它统筹支付=商保统筹基金+商保账户支付+公务员医疗补助+商业保险支付 LS_QTTCJJ:=nvl(LS_SBTCJJ,0)+nvl(LS_SBZHZF,0)+nvl(LS_GWYBZ0,0)+nvl(LS_SYBXZF,0); --其它统筹支付=其它统筹支付+bkc045 其中:统筹基金支付 LS_QTTCJJ:=nvl(LS_QTTCJJ,0)+nvl(RZZJS.BKC045,0); LS_JJZFE0:=nvl(LS_QTTCJJ,0); */ end if; --重新算统筹基金总额--end-- if LS_SFDEZF='Y' then --是否特殊病种定额支付 Y:是 N:否 ad_ZFJE00:=nvl(LS_bkc040,0);--[bkc040]:个人现金支付(单病种病人按医保实际返回的金额为准) v_YBYL04:=nvl(LS_akc227,0);--单病种限额 v_YBYL05:=nvl(RZZJS.HJJE00,0)-nvl(LS_akc227,0);--医院支付=院内合计金额-医保费用总额 else select SF_SF_YBFYJS(LS_BCFYZE,LS_JJZFE0,LS_ZHZFE0,0,0,0, 0,0,LS_GRZFE0,ls_BRID00,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,'1','1', --2019.06.06 0,0, V_YBYL14,V_YBYL15,V_YBYL16,V_YBYL17,V_YBYL18, V_YBYL19,V_YBYL20,V_YBYL21,V_YBYL22,V_YBYL23, V_YBYL24,V_YBYL25,V_YBYL26,V_YBYL27,V_YBYL28, V_YBYL29,V_YBYL30 ) into ad_ZFJE00 from dual; end if; if nvl(ad_ZFJE00,0)<>nvl(LS_bkc040,0) and abs(nvl(ad_ZFJE00,0)-nvl(LS_bkc040,0))>0.1 and nvl(LS_SFDEZF,'N')='N' then P_ERRMSG := '结算失败,原因:院内实付现金同医保返回不一致,院内实付现金:'||trim(to_char(ad_ZFJE00,'999999990.99')); P_ERRMSG:=P_ERRMSG||' 医保实付现金:'||trim(to_char(nvl(LS_bkc040,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 其中:费用总额:'||trim(to_char(nvl(LS_akc227,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 统筹总额:'||trim(to_char(nvl(LS_bkc102,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 统筹基金:'||trim(to_char(nvl(LS_bkc045,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 账户支付:'||trim(to_char(nvl(LS_bkc041,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 现金支付:'||trim(to_char(nvl(LS_bkc040,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 商保支付:'||trim(to_char(nvl(LS_bkc052,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 公务员补助:'||trim(to_char(nvl(LS_bkc059,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 医疗救助:'||trim(to_char(nvl(LS_bkc060,0),'999999990.99')); P_ERRMSG:=P_ERRMSG||' 补助总额:'||trim(to_char(nvl(LS_bkc612,0),'999999990.99')); rollback; return; end if; else if LS_SFDEZF='Y' then --是否特殊病种定额支付 Y:是 N:否 ad_ZFJE00:=nvl(RZZJS.GRZFE0,0);--[GRZFE0]:个人现金支付(单病种病人按医保实际返回的金额为准) v_YBYL04:=nvl(RZZJS.Bcbxf0,0);--单病种限额 v_YBYL05:=nvl(RZZJS.HJJE00,0)-nvl(LS_Bcbxf0,0);--医院支付=院内合计金额-医保费用总额 else select SF_SF_YBFYJS(ls_Bcfyze,ls_Jjzfe0,ls_Zhzfe0,ad_SBZHJE,ad_SBTJJE,ad_jjzfe0, ls_Gwybz0,0,ls_Grzfe0,ls_BRID00,0,0,0,0,0,0,0,0,0,0,0,0,0, ad_SBTJJE,'1','1', --2019.06.06 0,0, V_YBYL14,V_YBYL15,V_YBYL16,V_YBYL17,V_YBYL18, V_YBYL19,V_YBYL20,V_YBYL21,V_YBYL22,V_YBYL23, V_YBYL24,V_YBYL25,V_YBYL26,V_YBYL27,V_YBYL28, V_YBYL29,V_YBYL30 ) into ad_ZFJE00 from dual; end if; select decode(sign(Instrb(','||trim(ybbhsb)||',',',11,')),1,ad_SBTJJE,0), decode(sign(Instrb(','||trim(ybbhsb)||',',',10,')),1,ad_SBZHJE,0), decode(sign(Instrb(','||trim(ybbhsb)||',',',16,')),1,ls_Gwybz0,0), Trim(YBMC00), decode(sign(Instrb(','||trim(ybbhsb)||',',',48,')),1,LS_MZBZJE,0), decode(sign(Instrb(','||trim(ybbhsb)||',',',49,')),1,ad_SYBXZF,0) into lv_SBTJJE, lv_SBZHJE, lv_Gwybz0, ls_YBMC00, LS_MZBZJE, lv_SYBXZF from IC_YBBRLB where FBBH00=ls_FBBH00 and YBLB00=ls_YBLB00; begin ls_SFGWYBZDL:='N'; for YBZXMC in (select MC0000 from BM_TYZD00 where ZDMC00='公务员补助独立医保中心名称') loop if ls_YBMC00=YBZXMC.MC0000 then ls_SFGWYBZDL:='Y'; end if; end loop; end; if ls_SFGWYBZDL='N' and (ls_Gwybz0>0) and (ls_YBMC00 not in ('鲤城医疗保险分中心','丰泽医疗保险分中心','洛江医疗保险分中心','泉港医疗保险分中心', '晋江医疗保险分中心','石狮医疗保险分中心','南安医疗保险分中心','惠安医疗保险分中心','安溪医疗保险分中心','永春医疗保险分中心', '德化医疗保险分中心','泉州市医疗保险中心')) then lv_Gwybz0:=0; end if; end if; --SF_BRJFB0插入医保个人账户 select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; --个人账户对应的单据号 Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) values(LS_JFBDJH,ls_BRID00,1,ls_Zhzfe0,3,'医保个人账户',ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,ls_Zhzfe0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH); if ls_Zhzfe0>0 then SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); elsif ls_Zhzfe0<0 then P_ERRMSG := '结算确认错误,医保个人账户支付:'||trim(to_char(ls_Zhzfe0,'999999990.99')); return; end if; --SF_BRJFB0插入 统筹基金对应的单据号 select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) values(LS_JFBDJH,ls_BRID00,1,LS_JJZFE0,4,'医保统筹基金',ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,LS_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,ls_Jjzfe0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH); if ls_Jjzfe0 > 0 then SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); elsif ls_Jjzfe0<0 then P_ERRMSG := '结算确认错误,医保统筹基金支付:'||trim(to_char(ls_Jjzfe0,'999999990.99')); return; end if; --商保个人帐户单据流水号 if lv_SBZHJE<>0 then select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) select LS_JFBDJH,ls_BRID00,1,lv_SBZHJE,ZFFSBH,ZFFSMC,ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH from BM_BRZFFS where ZFFSBH=10; SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); end if; --商保统筹基金单据流水号 if lv_SBTJJE<>0 then select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) select LS_JFBDJH,ls_BRID00,1,lv_SBTJJE,ZFFSBH,ZFFSMC,ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH from BM_BRZFFS where ZFFSBH=11; SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); end if; --商业保险支付 2019.06.06 if Lv_SYBXZF<>0 then select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) select LS_JFBDJH,ls_BRID00,1,lv_SYBXZF,ZFFSBH,ZFFSMC,ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH from BM_BRZFFS where ZFFSBH=13; SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); end if; --公务员补助单据号 if lv_GWYBZ0<>0 then select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) select LS_JFBDJH,ls_BRID00,1,ls_GWYBZ0,ZFFSBH,ZFFSMC,ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH from BM_BRZFFS where ZFFSBH=16; SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); end if; end if; --医保返回插入到交费表--end-- if (ls_FBBH00=3) or (LS_ZFBRSFJS='Y' and LS_CFYJJS<>'M') then LS_CFYJJS:='Y'; end if; --修改病人账户信息允许欠费金额 if nvl(LS_Toatlybyxqf,0)>0 then if SST_TYJE00_YXQFJE='1' then --1:修改账户停用金额(TYJE00) update SF_BRZHXX set TYJE00=nvl(LS_JSQTYJE00,0)-nvl(LS_Toatlybyxqf,0) where BRID00=LS_BRID00 and JFLBID=1; elsif SST_TYJE00_YXQFJE='2' then --2:修改账户允许欠费金额(YXQFJE) update SF_BRZHXX set YXQFJE=nvl(LS_JSQYXQFJE,0)+nvl(LS_Toatlybyxqf,0) where BRID00=LS_BRID00 and JFLBID=1; end if; end if; for REC_WJZCFYJ in CUR_SF_WJZCFYJ loop as_CFLSH0:=rec_wjzcfyj.DJLSH0; LS_CFYJBZ:=REC_WJZCFYJ.CFYJBZ; if (ls_sfscdj= '1') then ls_sfscdj := '0'; select sq_sf_brjfb0_djh000.nextval into ls_djh000 from dual; end if; if (LS_CFYJBZ = '0') then ls_ERRORS := 'SP_SF_YFCF00'; SP_SF_YFCF00(as_CFLSH0,ls_djh000,0,0,0,'N',LS_JZY000,LS_CZYKS0,Ptsxx00,Pxxxx00,0,LS_KFPC00); if Ptsxx00 is not null then MsgStr:=substrb(Ptsxx00,1,200); select substr(MsgStr,instr(MsgStr,':')+1,length(MsgStr)-instr(MsgStr,':')) into MsgStr from dual; select substr(MsgStr,instr(MsgStr,':')+1,length(MsgStr)-instr(MsgStr,':')) into MsgStr from dual; select substr(MsgStr,1,instr(MsgStr,'!')) into MsgStr from dual; P_ERRMSG :=MsgStr; return; else insert into SST_CFLSH0(XTGZH0,CARDNO,BRID00,GHID00,GHH000,TSBZBH,DJLSH0,FJLSH0,SFLSCF,HJJE00, DJH000,JZDH00,CZRQ00,CZSJ00) values(P_XTGZH0,P_CARDNO,ls_BRID00,LS_GHID00,LS_GHH000,'','','','',0, nvl(ls_djh000,0),0,ls_CZRQ00,ls_CZSJ00); --2022.07.07 if LS_CFYJJS='Y' then update YF_MZCF00 set jzdh00=ad_JZDH00 where CFLSH0 = to_char(as_CFLSH0); end if; /* --罗源特殊处理,SF_KFHCFSFSFPD为H是新增的 select nvl(max(trim(VALUE0)),'Y') into SF_KFHCFSFSFPD from xt_xtcs00 where name00='SF_KFHCFSFSFPD'; if (SF_KFHCFSFSFPD='H') then begin SP_PY_SCPHDL(as_CFLSH0,0,0,0,Ptsxx00,Pxxxx00,ls_JZY000); if Ptsxx00 is not null then P_ERRMSG :=Ptsxx00; return; end if; exception P_ERRMSG := '调用过程:SP_PY_SCPHDL整理数据异常'; return; end; end if; */ end if; end if; if (LS_CFYJBZ= '1') and (LS_CFYJJS='Y' or LS_CFYJJS='M') then ls_ERRORS := 'SP_SF_YJDJ00'; select yjksbh,kdys00 into ls_ZXKS00,ls_YJZXYS from yj_yw0000 where yjdjh0 =as_CFLSH0; SP_SF_YJDJ00(as_CFLSH0,ls_djh000,ls_ZXKS00,ls_YJZXYS,ls_CZRQ00,ls_CZSJ00,Ptsxx00,Pxxxx00,'2','Z'); if Ptsxx00 is not null then MsgStr:=substrb(Ptsxx00,1,200); select substr(MsgStr,instr(MsgStr,':')+1,length(MsgStr)-instr(MsgStr,':')) into MsgStr from dual; select substr(MsgStr,instr(MsgStr,':')+1,length(MsgStr)-instr(MsgStr,':')) into MsgStr from dual; select substr(MsgStr,1,instr(MsgStr,'!')) into MsgStr from dual; P_ERRMSG :=MsgStr; return; else insert into SST_CFLSH0(XTGZH0,CARDNO,BRID00,GHID00,GHH000,TSBZBH,DJLSH0,FJLSH0,SFLSCF,HJJE00, DJH000,JZDH00,CZRQ00,CZSJ00) values(P_XTGZH0,P_CARDNO,ls_BRID00,LS_GHID00,LS_GHH000,'','','','',0, nvl(ls_djh000,0),0,ls_CZRQ00,ls_CZSJ00); --2022.12.20 insert into SST_CFLSH0(XTGZH0,CARDNO,BRID00,GHID00,GHH000,TSBZBH,DJLSH0,FJLSH0,SFLSCF,HJJE00,DJH000,JZDH00,CZRQ00,CZSJ00) select P_XTGZH0,P_CARDNO,ls_BRID00,LS_GHID00,LS_GHH000,'','','','',0, sfdjh0,0,ls_CZRQ00,ls_CZSJ00 from yj_yw0000 where yjdjh0 =as_CFLSH0 and brid00=ls_BRID00 and sfdjh0 not in (Select DJH000 from SST_CFLSH0 where XTGZH0=P_XTGZH0 and BRID00=ls_BRID00 and SFLSCF='0') ; --2022.07.07 if LS_CFYJJS='Y' then update YJ_YW0000 set jzdh00=ad_JZDH00 where yjdjh0 = as_CFLSH0; end if; end if; end if; end loop; --插入本次结算的扣费的YF_MZCF00.DJH000单据号--- insert into SST_SFDJH0(XTGZH0,BRID00,BRXM00,CARDNO,GHID00,GHH000,DJH000,TSBZBH,JZDH00,CZRQ00,CZSJ00) Select distinct P_XTGZH0,ls_BRID00,ls_BRXM00,LS_CARDNO,LS_GHID00,LS_GHH000,DJH000,LS_TSBZBH,0,ls_CZRQ00,ls_CZSJ00 from yf_mzcf00 where brid00=ls_BRID00 and CFLSH0 in (select YJDJH0 from SF_FYMX00_TEMP00 where BRID00=ls_BRID00 and XTGZH0=P_XTGZH0 and SFLSCF in ('1')); if LS_CFYJJS='Y' or LS_CFYJJS='M' then --插入本次结算的扣费的YJ_YW0000.DJH000单据号--- insert into SST_SFDJH0(XTGZH0,BRID00,BRXM00,CARDNO,GHID00,GHH000,DJH000,TSBZBH,JZDH00,CZRQ00,CZSJ00) Select distinct P_XTGZH0,ls_BRID00,ls_BRXM00,LS_CARDNO,LS_GHID00,LS_GHH000,SFDJH0,LS_TSBZBH,0,ls_CZRQ00,ls_CZSJ00 from YJ_YW0000 where brid00=ls_BRID00 and SFDJH0 in (select YJDJH0 from SF_FYMX00_TEMP00 where BRID00=ls_BRID00 and XTGZH0=P_XTGZH0 and SFLSCF in ('2')); end if; if LS_CFYJJS='Y' then --插入本次结算的扣费的SF_BRFY00.DJH000单据号--- --2022.07.17 SF_BRFY00->SF_FYMX00 insert into SST_SFDJH0(XTGZH0,BRID00,BRXM00,CARDNO,GHID00,GHH000,DJH000,TSBZBH,JZDH00,CZRQ00,CZSJ00) Select distinct P_XTGZH0,ls_BRID00,ls_BRXM00,LS_CARDNO,LS_GHID00,LS_GHH000,DJH000,LS_TSBZBH,0,ls_CZRQ00,ls_CZSJ00 from SF_FYMX00 where brid00=ls_BRID00 and DJH000 in (select YJDJH0 from SF_FYMX00_TEMP00 where BRID00=ls_BRID00 and XTGZH0=P_XTGZH0 and SFLSCF in ('0')); end if; --删除无效的单据号--- delete SST_SFDJH0 where BRID00=ls_BRID00 and XTGZH0=P_XTGZH0 and DJH000=0; ---验证扣费金额和提交给自助机结算的金额是否一致 ---执行结账--begin--- if LS_CFYJJS='Y' then if LS_FBBH00<>3 then ls_Djlsh0:='0'; end if; ---非医保病人YBDJH0=0; if (ls_Mzlsh0='无') or (ls_Mzlsh0 is null) then ls_Mzlsh0:='0'; end if; update SF_BRXXB0 set YBGHH0=nvl(ls_Mzlsh0,'0') Where BRID00=ls_BRID00 and GHH000=LS_GHH000; --更新医保挂号号 --and GHID00=LS_GHID00 --2022.07.17 SF_BRFY00->SF_FYMX00 if LS_YS_SFQYZDCFTSBZ='Y' then select nvl(sum(hjje00),0),nvl(sum(zfje00),0),nvl(sum(gfje00),0),nvl(sum(jzje00),0) into ls_BRZJE0,ls_HJJE00,ls_GFJE00,ls_JZJE00 from SF_FYMX00 D where D.JZDH00+0= 0 and D.BRID00 = ls_BRID00 and d.DJH000 in (Select DJH000 from SST_CFLSH0 where XTGZH0=P_XTGZH0 and BRID00=ls_BRID00 ) and D.MZH000=LS_GHH000 --未结算的病人 and D.JFLBID = 1; Update SF_FYMX00 D set YBDJH0 = nvl(ls_Djlsh0,'0'), --医保的单据流水号 JZDH00 = ad_JZDH00 --结算单号 where D.JZDH00+0= 0 --未结算的病人 and D.MZH000=LS_GHH000 and D.JFLBID = 1 --有门诊预交金账户的病人 and D.BRID00 = ls_BRID00 and d.DJH000 in (Select DJH000 from SST_CFLSH0 where XTGZH0=P_XTGZH0 and BRID00=ls_BRID00) ; else select nvl(sum(hjje00),0),nvl(sum(zfje00),0),nvl(sum(gfje00),0),nvl(sum(jzje00),0) into ls_BRZJE0,ls_HJJE00,ls_GFJE00,ls_JZJE00 from SF_FYMX00 D where D.JZDH00+0= 0 and D.BRID00 = ls_BRID00 --and D.MZID00=LS_GHID00 and D.MZH000=LS_GHH000 --未结算的病人 and D.JFLBID = 1; Update SF_FYMX00 D set YBDJH0 = nvl(ls_Djlsh0,'0'), --医保的单据流水号 JZDH00 = ad_JZDH00 --结算单号 where D.JZDH00+0= 0 --未结算的病人 --and D.MZID00=LS_GHID00 and D.MZH000=LS_GHH000 and D.JFLBID = 1 --有门诊预交金账户的病人 and D.BRID00 = ls_BRID00; end if; --2022.07.17 SF_FYMX00<->SF_BRFY00 update SF_BRFY00 set JZDH00=ad_JZDH00,YBDJH0=nvl(ls_Djlsh0,'0') where DJH000 in (Select DJH000 FROM SF_FYMX00 where BRID00=ls_BRID00 --and MZID00=LS_GHID00 and MZH000=LS_GHH000 and JZDH00=ad_JZDH00 ); select sum(HJJE00) into ls_SSTJE0 from SF_FYMX00_TEMP00 where XTGZH0=P_XTGZH0; Select sum(HJJE00) into ls_KFJE00 from SF_FYMX00 where brid00=ls_BRID00 and jzdh00=ad_JZDH00; if (ls_SSTJE0<>ls_KFJE00) and (ls_FBBH00=3) then --and abs(nvl(ls_SSTJE0,0)-nvl(ls_KFJE00,0))>0.1 P_ERRMSG := '结算确认错误,金额不一致:'||'医保结算合计金额:'||trim(to_char(ls_SSTJE0,'999999990.99'))||' 院内结算合计金额:'||trim(to_char(ls_KFJE00,'999999990.99')); return; end if; --2、填写病人结算信息 --算自付金额SF_SF_YBFYJS ls_PJXM00:=ls_BRXM00; ls_PJXB00:=ls_BRXB00; --ls_BRZJE0:=ls_Bcbxf0; ls_JZDH00:=ad_JZDH00; --2022.07.17 ls_MZID00目前没使用到,注释掉 --select max(mzid00) into ls_MZID00 from SF_BRFY00 where BRID00=ls_BRID00 and MZH000=LS_GHH000; ls_ERRORS := '5'; --取自费金额 if LS_FBBH00=1 then ad_ZFJE00:=ls_HJJE00; ls_XJFKJE:=ls_HJJE00; else select NVL(ad_ZFJE00,0) into ls_XJFKJE from dual; end if; ls_ZZFKJE:=0; if LS_SFDEZF='Y' then --是否特殊病种定额支付 Y:是 N:否 if LS_OrdNewyb in ('1') then --启用新医保接口 ad_ZFJE00:=nvl(LS_bkc040,0);--[bkc040]:个人现金支付(单病种病人按医保实际返回的金额为准) if nvl(LS_akc227,0)=0 then ls_Bcbxf0:=nvl(ls_KFJE00,0); else ls_Bcbxf0:=nvl(LS_akc227,0); end if; v_YBYL04:=nvl(ls_Bcbxf0,0);--单病种限额 v_YBYL05:=nvl(ls_KFJE00,0)-nvl(ls_Bcbxf0,0);--医院支付=院内合计金额-医保费用总额 else ad_ZFJE00:=nvl(RZZJS.GRZFE0,0);--[GRZFE0]:个人现金支付(单病种病人按医保实际返回的金额为准) if nvl(RZZJS.Bcbxf0,0)=0 then ls_Bcbxf0:=nvl(ls_KFJE00,0); else ls_Bcbxf0:=nvl(RZZJS.Bcbxf0,0); end if; v_YBYL04:=nvl(RZZJS.Bcbxf0,0);--单病种限额 v_YBYL05:=nvl(ls_KFJE00,0)-nvl(ls_Bcbxf0,0);--医院支付=院内合计金额-医保费用总额 end if; --定额 v_YBYL04:=nvl(ls_Zhzfe0,0)+nvl(LS_JJZFE0,0)+nvl(lv_SBZHJE,0)+nvl(lv_SBTJJE,0)+nvl(Lv_SYBXZF,0)+nvl(lv_GWYBZ0,0)+nvl(ad_ZFJE00,0); --医院支付=院内合计金额-定额 v_YBYL05:=nvl(ls_KFJE00,0)-nvl(v_YBYL04,0); ls_XJFKJE:=ad_ZFJE00; --医院支付 if v_YBYL05<>0 then select SQ_SF_BRJFB0_DJH000.nextval into LS_JFBDJH from dual ; Insert into SF_BRJFB0(DJH000,BRID00,JFLBID,JFJE00,ZFFS00,ZFFSMC,PJH000, JFRQ00,JFSJ00,JFCZY0,CZYXM0,BRYE00,JFBZ00,JKBID0,JZDH00, WBHLID,WBHLJE,ZPZH00,CZYKS0,YHKH00,YYID00,PLBH00) select LS_JFBDJH,ls_BRID00,1,v_YBYL05,ZFFSBH,ZFFSMC,ls_JFBPJH, ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_JZYXM0,0,'0',0,ls_JZDH00,1,0, P_ZDBH00,LS_CZYKS0,NULL,LS_YYID00,LS_FPPLBH from BM_BRZFFS where ZFFSBH=20; SP_SF_BRJFB0_INSERT(LS_JFBDJH,ls_JZY000,LS_CZYKS0,'N',Pzxcgbz,Ptsxx00,Pxxxx00); end if; end if; if ad_ZFJE00<0 then P_ERRMSG := '自助结算失败!错误原因:存在个人自付为负数数据,个人自付金额:'||trim(to_char(ad_ZFJE00,'999999990.99'))||',请到窗口结算'; return; 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:医疗证) 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,BM_aae140);--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 LS_aae140_mc:=LS_aae140_mc;--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 LS_bkc001_mc:=LS_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; if (ls_Mzlsh0='无') or (ls_Mzlsh0 is null) then ls_Mzlsh0:='0'; end if; Insert into SF_JZB000(JZDH00,BRID00,MZID00,BRZJE0,JZJE00,GFJE00,HJJE00,BCKBCS,TSBZBH, JMJE00,GRZHZF,TCJJZF,ZFJE00, PJH000,JZRQ00,JZSJ00,JZY000,GWYBZ0,FYBJE0,YLZFJE,YBZHYE, SBTCJJ,SBGRZH,jjzfe0, SBZFE0, BJZFE0,SYBXZF, XJFKJE,ZZFKJE,YBDJH0,CZYKS0,FBBH00,YBBRLB,YBLB00,YBZXLB,JFLBID,YBGHH0,TMLJ00,PMLJ00, --2019.06.06 YBYL01,YBYL02,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, MZBZJE,YBSM01,YBYL46,YBYL47,YBYL48,YBYL50,YBYL51, YBYL52,YBYL53,YBYL54,YBYL55,YBYL56,YBYL57,YBYL58,YBYL59,YBYL60,YBYL61, YBYL62,YBYL63,YBYL64,YBYL65,YBYL66,YBYL67,YBSM20,YBSM22, YBSM23,YBYL31,YBYL35,YBSM04,YBSM05,YBSM06,YBSM24,YBSM25, BKE284,BKE921,BKE922) values(ad_JZDH00,ls_BRID00,LS_GHID00,ls_KFJE00,ls_JZJE00,ls_GFJE00,ls_HJJE00,ls_BCKBCS,decode(ls_TSBZBH,'无',null,ls_TSBZBH), 0,ls_Zhzfe0,ls_Jjzfe0,ad_ZFJE00, ls_JFBPJH,ls_CZRQ00,ls_CZSJ00,ls_JZY000,ls_Gwybz0, ad_FYBJE0, ls_Ylzfje,ls_Grzhye, ad_SBTJJE,ad_SBZHJE,ad_jjzfe0,ad_SBZFE0,ad_BJZFE0,lv_SYBXZF, ls_XJFKJE,ls_ZZFKJE,ls_Djlsh0,LS_CZYKS0,LS_FBBH00,ls_YBBRLB,LS_YBLB00,ls_YBZXLB,1,ls_Mzlsh0,LS_TMLJ00,LS_PMLJ00, --2019.06.06 V_YBYL01,V_YBYL02,V_YBYL03,V_YBYL04,V_YBYL05,V_YBYL06,V_YBYL07,V_YBYL08,V_YBYL09,V_YBYL10, V_YBYL11,V_YBYL12,V_YBYL13,V_YBYL14,V_YBYL15,V_YBYL16,V_YBYL17,V_YBYL18,V_YBYL19,V_YBYL20, V_YBYL21,V_YBYL22,V_YBYL23,V_YBYL24,V_YBYL25,V_YBYL26,V_YBYL27,V_YBYL28,V_YBYL29,V_YBYL30, LS_MZBZJE,LS_YBSM01,LS_YBYL46,LS_YBYL47,LS_YBYL48,LS_YBYL50,LS_YBYL51, nvl(LS_akc227,0),nvl(LS_bkc102,0),nvl(LS_bkc040,0),nvl(LS_bkc041,0),nvl(LS_bkc045,0),nvl(LS_bkc059,0),nvl(LS_bkc052,0),nvl(LS_bkc062,0),nvl(LS_bkc060,0),nvl(LS_ake173,0), nvl(LS_ake026,0),nvl(LS_bkc011,0),nvl(LS_akc087,0),nvl(LS_aka151,0),nvl(LS_aka150,0),nvl(LS_bkc612,0),LS_YBSM20,RZZJS.bka188, LS_bka555,nvl(LS_bkc040,0),nvl(LS_akc227,0),LS_YBSM04,LS_YBSM05,LS_YBSM06,LS_YBSM24,LS_YBSM25, substrb(LS_BKE284,1,10),substrb(LS_BKE921,1,40),substrb(LS_BKE922,1,40)); if nvl(ad_JZDH00,0)>0 then update SF_JZB000 set 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) --2022.07.19 zhangyc add insuplc_admdvs=substrb(LS_insuplc_admdvs,1,10) ,--参保地行政区划 mdtrtarea_admvs=substrb(LS_mdtrtarea_admvs,1,10) ,--就医地医保区划 psn_no=substrb(LS_psn_no,1,30) ,--人员编号 cvl_acct_pay=nvl(LS_cvl_acct_pay,0) ,--公务员账户支付 cvl_acct_balc=nvl(LS_cvl_acct_balc,0) ,--公务员余额 pur_acct_pay=nvl(LS_pur_acct_pay,0) ,--医疗账户支付 JSQYE0 =nvl(LS_JSQYE0,0) --结算前账户总余额 where BRID00=ls_BRID00 and JZDH00=ad_JZDH00; end if; ls_ERRORS := '医保补助明细'; if LS_OrdNewyb in ('1') then --启用新医保接口 --修改结账表 update SF_JZB000 set YBJKID=RZZJS.YBJKID, YBSM19= RZZJS.YBJKID, BKC001_MC=substrb(nvl(LS_BKC001_MC,BM_BKC001_MC),1,50) ,--人员待遇类别名称(城乡居民、普通在职人员等等) AAE140=substrb(nvl(LS_AAE140,BM_AAE140),1,10) ,--险种类型编码:310 城镇职工基本医疗保险 320:公务员医疗补助 380:新型农村合作医疗 390:城乡居民基本医疗保险 410:工伤保险 510:生育保险 520:机关生育 AAE140_MC=substrb(nvl(LS_AAE140_MC,BM_AAE140_MC),1,50) ,--险种类型名称:城乡居民基本医疗保险、城镇职工基本医疗保险等等 BKE174=substrb(LS_BKE174,1,10) ,--异地就医类型编码:1 省内 2 省外 3 市内 4 市外 BKE174_MC=substrb(LS_BKE174_MC,1,30) ,--异地就医类型名称:(省内、省外、市内、市外) 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) ,--[国家医保]清算类别 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 ,--[国家医保]个人负担总金额 MXLSH0=nvl(LS_chrg_bchno,P_XTGZH0) --明细id where BRID00=ls_BRID00 and JZDH00=ad_JZDH00; --修改病人基础表 --更新BM_BRXXB0 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) ,--险种类型名称(城乡居民基本医疗保险、城镇职工基本医疗保险等等) brztqk=substrb(nvl(substrb(LS_BKC001_MC,1,40),BRZTQK),1,40) ,--病人职退情况名称 ZTQKBH=substrb(nvl(LS_PSN_TYPE,ZTQKBH),1,10) ,--病人职退情况编码 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_bkc041,0),--[bkc041]医保账户支付 GRZFE0=nvl(LS_bkc040,0),--[bkc040]个人现金支付 JJZFE0=nvl(LS_bkc102,0) --[bkc102]基金支付\基金支付总额 where XTGZH0=P_XTGZH0 and BRID00=ls_BRID00; if LS_YBTYPE='0' then --医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'akc227','医疗费总金额',nvl(RZZJS.akc227,0),'data'); --akc227:医疗费总金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc102','医保基金支付总额=统筹基金+商保基金+公务员补助+精准扶贫叠加+医疗救助基金+其他基金+企业补充',nvl(RZZJS.bkc102,0),'data'); --bkc102:医保基金支付总额=统筹基金支付+商保基金支付+公务员医疗补助+精准扶贫医疗叠加+医疗救助基金+其他基金支付+企业补充 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc040','个人现金支付金额(实付现金)',nvl(RZZJS.bkc040,0),'data'); --bkc040:个人现金支付金额(实付现金) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc041','医保账户支付',nvl(RZZJS.bkc041,0),'data'); --bkc041:医保账户支付金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc045','其中:统筹基金支付',nvl(RZZJS.bkc045,0),'data'); --bkc045:其中:统筹基金支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc052','其中:大病保险基金支付(商业保险支付)',nvl(RZZJS.bkc052,0),'data'); --bkc052:其中:大病保险基金支付(商业保险支付) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc059','其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3)',nvl(RZZJS.bkc059,0),'data'); --bkc059:其中:公务员医疗补助(bkc059=bkc059_1+bkc059_2+bkc059_3) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc062','其中:精准扶贫医疗叠加',nvl(RZZJS.bkc062,0),'data'); --bkc062:其中:精准扶贫医疗叠加 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc060','其中:医疗救助基金',nvl(RZZJS.bkc060,0),'data'); --bkc060:其中:医疗救助基金 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'ake173','其中:其他基金支付',nvl(RZZJS.ake173,0),'data'); --ake173 其中:其他基金支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'ake026','其中:企业补充',nvl(RZZJS.ake026,0),'data'); --ake026 其中:企业补充 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc075','家庭共济账户支付',nvl(RZZJS.bkc075,0),'data'); --bkc075 家庭共济账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc166','一般诊疗费补偿金额',nvl(RZZJS.bkc166,0),'data'); --bkc166 一般诊疗费补偿金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc167','一般诊疗费个人支付',nvl(RZZJS.bkc167,0),'data'); --bkc167 一般诊疗费个人支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc612','其中:精准扶贫医疗叠加',nvl(RZZJS.bkc612,0),'data'); --bkc612 其中:精准扶贫医疗叠加 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc061','其中:保健基金支付 ',nvl(RZZJS.bkc061,0),'data'); --bkc061 其中:保健基金支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc076','其中:健康账户支付',nvl(RZZJS.bkc076,0),'data'); --bkc076 其中:健康账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc058','其中:财政补助',nvl(RZZJS.bkc058,0),'data'); --bkc058 其中:财政补助 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc134','乙类先行自付额',nvl(RZZJS.bkc134,0),'data'); --bkc134 乙类先行自付额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bke856','超封顶线金额',nvl(RZZJS.bke856,0),'data'); --bke856 超封顶线金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc053','其中:商保现金支付',nvl(RZZJS.bkc053,0),'data');--bkc053 其中:商保现金支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc054','其中:商保账户支付',nvl(RZZJS.bkc054,0),'data');--bkc054 其中:商保账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc620','其中:(本地)成员共济账户支付',nvl(RZZJS.bkc620,0),'data');--bkc620 其中:(本地)成员共济账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc619','其中:(异地)成员共济账户支付',nvl(RZZJS.bkc619,0),'data');--bkc619 其中:(异地)成员共济账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkeg12','其中:(他人)家庭共济账户支付',nvl(RZZJS.bkeg12,0),'data');--bkeg12 其中:(他人)家庭共济账户支付 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkeh73','其中:职工医疗费补助',nvl(RZZJS.bkeh73,0),'data');--bkeh73 其中:职工医疗费补助 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc048','其中:处级及以上干部补助',nvl(RZZJS.bkc048,0),'data');--bkc048 其中:处级及以上干部补助 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkzfe0','其中:三明离休b卡支付额',nvl(RZZJS.bkzfe0,0),'data');--bkzfe0 其中:三明离休b卡支付额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkzhye','其中:三明离休b卡账户余额',nvl(RZZJS.bkzhye,0),'data');--bkzhye 其中:三明离休b卡账户余额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bke361','其中:普门累计或特门累计',nvl(RZZJS.bke361,0),'data');--bke361 普门累计或特门累计 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc064','产前检查费',nvl(RZZJS.bkc064,0),'data');--bkc064 产前检查费 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc101','其中:除外耗材范围内费用',nvl(RZZJS.bkc101,0),'data');--bkc101其中:除外耗材范围内费用 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'bkc125','其中:超标床位费',nvl(RZZJS.bkc125,0),'data');--bkc125其中:超标床位费 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'ghhzje','其中:工会互助补助金额',nvl(RZZJS.ghhzje,0),'data');--ghhzje 其中:超标床位费 elsif LS_YBTYPE='1' then insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'medfee_sumamt','费用总额',nvl(RZZJS.medfee_sumamt,0),'setlinfo');--medfee_sumamt [国家医保]本次费用总额(akc227) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'fund_pay_sumamt','基金支付额',nvl(RZZJS.fund_pay_sumamt,0),'setlinfo');--fund_pay_sumamt [国家医保]基金支付额(bkc102) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hifp_pay','其中:统筹基金支付',nvl(RZZJS.hifp_pay,0),'setlinfo');--hifp_pay [国家医保]其中:统筹基金支付(bkc045) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'psn_cash_pay','个人现金支出',nvl(RZZJS.psn_cash_pay,0),'setlinfo');--psn_cash_pay [国家医保]个人现金支出(bkc040) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'acct_pay','个人账户支出',nvl(RZZJS.acct_pay,0),'setlinfo');--acct_pay [国家医保]个人账户支出(bkc041) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'cvlserv_pay','其中:公务员补助',nvl(RZZJS.cvlserv_pay,0),'setlinfo');--cvlserv_pay [国家医保]其中:公务员补助(bkc059) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hifes_pay','其中:企业补充',nvl(RZZJS.hifes_pay,0),'setlinfo');--hifes_pay [国家医保]其中:企业补充(ake026) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hifmi_pay','其中:居民大病保险资金支出',nvl(RZZJS.hifmi_pay,0),'setlinfo');--hifmi_pay [国家医保]其中:大病保险基金支付(商保支付)(bkc052) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hifob_pay','其中:职工大病保险资金支出',nvl(RZZJS.hifob_pay,0),'setlinfo');--hifob_pay [国家医保]职工医疗费补助(bkeh73) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'maf_pay','其中:医疗救助基金',nvl(RZZJS.maf_pay,0),'setlinfo');--maf_pay [国家医保]其中:医疗救助基金(bkc060) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'oth_pay','其中:其他基金支付',nvl(RZZJS.oth_pay,0),'setlinfo');--oth_pay [国家医保]其中:其他基金支付(ake173) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hifdm_pay','其中:伤残人员医疗保障基金支出',nvl(RZZJS.hifdm_pay,0),'setlinfo');--hifdm_pay [国家医保]伤残人员医疗保障基金支出 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'pool_prop_selfpay','基本医疗保险统筹基金支付比例',nvl(RZZJS.pool_prop_selfpay,0),'setlinfo');--pool_prop_selfpay [国家医保]基本医疗保险统筹基金支付比例 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'act_pay_dedc','统筹支付医保费用起付标准',nvl(RZZJS.act_pay_dedc,0),'setlinfo');--act_pay_dedc [国家医保]统筹支付医保费用起付标准(aka151) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'psn_part_amt','非医保费用',nvl(RZZJS.psn_part_amt,0),'setlinfo');--psn_part_amt [国家医保]非医保费用(bkc011) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hosp_part_amt','医院负担金额',nvl(RZZJS.hosp_part_amt,0),'setlinfo');--hosp_part_amt [国家医保]医院负担金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'balc','个人账户余额',nvl(RZZJS.balc,0),'setlinfo');--balc [国家医保]个人账户余额(akc087) insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'fulamt_ownpay_amt','全自费金额',nvl(RZZJS.fulamt_ownpay_amt,0),'setlinfo');--fulamt_ownpay_amt [国家医保]全自费金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'overlmt_selfpay','超限价金额',nvl(RZZJS.overlmt_selfpay,0),'setlinfo');--overlmt_selfpay [国家医保]超限价金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'preselfpay_amt','先行自付金额',nvl(RZZJS.preselfpay_amt,0),'setlinfo');--preselfpay_amt [国家医保]先行自付金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'inscp_scp_amt','符合政策范围金额',nvl(RZZJS.inscp_scp_amt,0),'setlinfo');--inscp_scp_amt [国家医保]符合政策范围金额 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'ownpay_hosp_part','自费中医院负担部分',nvl(RZZJS.ownpay_hosp_part,0),'setlinfo');--ownpay_hosp_part:自费中医院负担部分 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'cvl_acct_pay','公务员账户支付',nvl(LS_cvl_acct_pay,0),'setlinfo');--cvl_acct_pay 公务员账户支付、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'cvl_acct_balc','公务员余额',nvl(LS_cvl_acct_balc,0),'setlinfo');--cvl_acct_balc 公务员余额、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hl_acct_pay','健康账户支付',nvl(LS_hl_acct_pay,0),'setlinfo');--hl_acct_pay 健康账户支付、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'hl_acct_balc','健康账户余额',nvl(LS_hl_acct_balc,0),'setlinfo');--hl_acct_balc 健康账户余额、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'acct_mulaid_pay','共济账户支付',nvl(LS_acct_mulaid_pay,0),'setlinfo');--acct_mulaid_pay 共济账户支付、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'fm_acct_balc','共济账户余额',nvl(LS_fm_acct_balc,0),'setlinfo');--fm_acct_balc 共济账户余额、 insert into SF_YBBZMX(YBJKID,JZDH00,BKA542,BKA542_MC,BKEB34,JDBM00) values(RZZJS.YBJKID,ad_JZDH00,'pur_acct_pay','医疗账户支付',nvl(LS_pur_acct_pay,0),'setlinfo');--pur_acct_pay 医疗账户支付 end if; end if; ls_ERRORS := '7'; --2022.07.17 去掉SF_BRFY00 Insert into SF_JZMX00(JZDH00,XMBH00,XMMC00,XMJE00,JMJE00,JMSHR0,JMYY00,ZFBL00,QZFJE0) select ad_JZDH00,B.FPXMID,B.XMMC00,sum(A.HJJE00),sum(a.JMJE00),null,null,1,sum(a.QZFJE0) from SF_FYMX00 A,BM_FPXM00 B where a.MZFPID = B.FPXMID and A.JZDH00 = ad_JZDH00 and A.JFLBID = 1 --JFLBID=1是门诊预交金账户 and A.BRID00 = ls_BRID00 --and D.MZID00=LS_GHID00 and A.MZH000=LS_GHH000 group by B.FPXMID,B.XMMC00; insert into SF_JZMXXM (JZDH00,MXID00,BZ0000) select jzdh00,mxid00,1 from SF_FYMX00 where brid00=ls_BRID00 and jzdh00=ad_JZDH00; --4、填写病人缴费表信息 if LS_FBBH00=3 then if LS_SFJZFP in ('Y','1') then --是否精准扶贫 Y:是 N:否 LS_JZFPZT:='1';--精准扶贫状态是否精准扶贫 1:是,0:否 else LS_JZFPZT:='0';--精准扶贫状态是否精准扶贫 1:是,0:否 end if; update SF_JZB000 set YBJZRQ=ls_CZRQ00,YBJZSJ=ls_CZSJ00,YBSM13=nvl(LS_SFJZFP,'N') where brid00=ls_BRID00 and jzdh00=ad_JZDH00; update BM_BRXXB0 set SFJZFP=nvl(LS_JZFPZT,SFJZFP) where brid00=LS_BRID00; end if; update SF_BRZHXX set WJSJE0 = WJSJE0 - ls_KFJE00 where BRID00 = ls_BRID00 and JFLBID = 1; select SF_SF_GETQHTSXX_YKT(ls_JZDH00,ls_BRID00) into P_PDXLMC from dual; --取号提示 select nvl(sum(XJYE00),0),nvl(sum(ZYE000),0),nvl(Sum(TYJE00),0) into ls_XJYE00,ls_ZYE000,LS_TYJE00 from SF_BRZHXX where BRID00=LS_BRID00 and JFLBID = 1; --2023.11.01 账户总额+其它系统跟踪号医保报销总额(统筹基金+医保账户支付) if nvl(LS_ZYE000,0)+nvl(LS_Other_XtGZH0_YBBCJE,0)<0 then P_ERRMSG := '该病人院内账户金额不足!至少需要补交:'||trim(to_char(abs(ls_ZYE000),'9999999990.00'))||'元'; return; end if; LS_JSHYE0:=nvl(LS_ZYE000,0);--结算后账户总余额 if LS_FBBH00=1 then ls_Djlsh0:=to_char(ls_JZDH00); end if; Update SST.SST_JSDP_JBXX set JSHYE0=nvl(LS_JSHYE0,0), --结算后账户总余额 JSXXTS=P_PDXLMC, DJLSH0=ls_Djlsh0, SFRQ00=ls_CZRQ00, SFSJ00=ls_CZSJ00, BRID00=ls_brid00, JZDH00=ls_JZDH00 where XTGZH0 = P_XTGZH0; Update SST.SST_SFDJH0 Set JZDH00 =ls_JZDH00 where XTGZH0 = P_XTGZH0 and brid00=ls_BRID00; Update SF_FYMX00_TEMP00 set JZDH00=ls_JZDH00 where BRID00=LS_BRID00 and XTGZH0 = P_XTGZH0; Update SF_JZB000 set BRYE00=nvl(ls_ZYE000,0) ,--账户余额 JSHYE0=nvl(LS_JSHYE0,0) --结算后账户总余额 where BRID00=LS_BRID00 and JZDH00=ls_JZDH00; end if; ---执行结账--end--- --修改病人账户信息停用金额或允许欠费金额(还原至最初的值) if nvl(LS_Toatlybyxqf,0)>0 then if SST_TYJE00_YXQFJE='1' then --1:修改账户停用金额(TYJE00) update SF_BRZHXX set TYJE00=nvl(LS_JSQTYJE00,0) where BRID00=LS_BRID00 and JFLBID=1; elsif SST_TYJE00_YXQFJE='2' then --2:修改账户允许欠费金额(YXQFJE) update SF_BRZHXX set YXQFJE=nvl(LS_JSQYXQFJE,0) where BRID00=LS_BRID00 and JFLBID=1; end if; end if; select (nvl(BCFYZE,0)-nvl(GRZFE0,0))-(nvl(BCFYZE,0)-nvl(YKFJE0,0)) into LS_YNFHZE from SST_JSDP_JBXX where XTGZH0 = P_XTGZH0 and BRID00=LS_BRID00; if LS_YNFHZE<0 then if nvl(ls_ZYE000,0)+nvl(LS_YNFHZE,0)>=0 then LS_YNFHZE:=0; else LS_YNFHZE:=nvl(ls_ZYE000,0)+nvl(LS_YNFHZE,0); end if; end if; Update SST_JSDP_JBXX set YNFHZE=LS_YNFHZE,SFRQ00=ls_CZRQ00,SFSJ00=ls_CZSJ00,JZDH00=LS_JZDH00,SFRXM0=ls_JZYXM0, recode='1' --1成功,0未成功 where XTGZH0 = P_XTGZH0 and BRID00=LS_BRID00; --2019.06.22 zhangyc增加插入:SST_CFLSH0.SFLSCF :0:处方表数据 1:医技表数据 2:费用表数据 3:中药待煎费('0'费用,'1'处方,'2'医技) if LS_YS_SFQYZDCFTSBZ not in ('Y') then insert into SST_CFLSH0(XTGZH0,CARDNO,BRID00,GHID00,GHH000,TSBZBH,DJLSH0,FJLSH0,SFLSCF,HJJE00, DJH000,JZDH00,CZRQ00,CZSJ00,YPXZ00) select XTGZH0,substrb(P_CARDNO,1,220),BRID00,LS_GHID00,LS_GHH000,substrb(LS_TSBZBH,1,20),substrb(YJDJH0,1,20),null,decode(SFLSCF,'0','2','1','0','1'), HJJE00,DJH000,LS_JZDH00,ls_CZRQ00,ls_CZSJ00,null from SF_FYMX00_TEMP00 where XTGZH0=P_XTGZH0; end if; --修改SST_CFLSH0.JZDH00 zhangyc 2019.07.14 Update SST_CFLSH0 set JZDH00=LS_JZDH00 where XTGZH0=P_XTGZH0 and BRID00=LS_BRID00; --变量赋值 in_BRID00:=LS_BRID00;--输入:病人ID in_GHID00:=LS_GHID00;--输入:挂号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_MZ_Nation_YNJSQR out_INXML0:=null;--输入:备用出参xml out_ERRMSG:=null;--输出:出错信息 out_ZXZT00:=0;--输出:执行状态 0:失败 1:成功 out_OUTXML:=null;--输出:备用出参xml SP_SST_MZ_Nation_YNJSQR ( in_BRID00,--P_BRID00 in number ,--输入:病人ID in_GHID00,--P_GHID00 in number ,--输入:挂号ID LS_JZDH00,--P_JZDH00 in number ,--输入:结账单号 LS_YBTYPE,--P_YBTYPE in varchar2 ,--输入: 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] LS_JZY000,--P_CZY000 in number ,--输入:操作员编码 ls_JZYXM0,--P_CZYXM0 in varchar2 ,--输入:操作员姓名 in_XTGZH0,--P_XTGZH0 in varchar2 ,--输入:系统跟踪号 in_BYRC00,--P_BYRC00 in varchar2 ,--输入:备用入参 out_INXML0,--P_INXML0 out 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_MZ_Nation_YNJSQR整理数据异常!'; end if; return; end if; --调用过程:SP_SST_MZ_Nation_JSRZ 门诊自助结算日志 out_INXML0:=null;--输入:备用出参xml out_ERRMSG:=null;--输出:出错信息 out_ZXZT00:=0;--输出:执行状态 0:失败 1:成功 out_OUTXML:=null;--输出:备用出参xml SP_SST_MZ_Nation_JSRZ ( in_BRID00,--P_BRID00 in number ,--输入:病人ID in_GHID00,--P_GHID00 in number ,--输入:挂号ID LS_JZDH00,--P_JZDH00 in number ,--输入:结账单号 LS_YBTYPE,--P_YBTYPE in varchar2 ,--输入: 医保接口类型[-1 :自费 0或空:福建版本 1:国家基线版] LS_JZY000,--P_CZY000 in number ,--输入:操作员编码 ls_JZYXM0,--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 ,--输入:备用入参 out_INXML0,--P_INXML0 out 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_MZ_Nation_JSRZ整理数据异常!'; end if; return; end if; exception when Ecustom then P_ERRMSG:=substrb('结算确认失败!错误位置:['||Ls_Errors||'] 错误原因:'||SQLERRM,1,220); -- raise_application_error(-20010,substrb(P_ERRMSG||'!*',1,220)); when others then P_ERRMSG:=substrb('结算确认失败!错误位置:['||Ls_Errors||'] 错误原因:'||SQLERRM,1,220); -- raise_application_error(-20011,substrb(P_ERRMSG,1,220)); end; /