create or replace procedure SP_ZY_BASYFS_NEWYBJK ( PYBJKID in number, --新医保接口操作日志ID PZYID00 in number, --住院ID PCZY000 in number, PID0000 out number, PYHMSG0 out varchar2 --存储过程提示的错误信息 ) -- MODIFICATION HISTORY -- Person Date Comments -- jlg 2019.12.13 created 新医保接口病案首页数据组织过程 HIS5.0同名过程搬移 ZYSF9-20191213-004 -- jlg 2019.12.16 处理病案首页发送之费用报文错误问题{fylist},同时去掉full join的写法 ZYSF9-20191216-001 -- liwm 2019.12.19 新医保接口,病案上传节点有大写,不符合医保规范。 ZYSF9-20191219-001 -- jlg 2019.12.24 去掉原默认值'-',明细列表如果无则不传 ZYSF9-20191223-002 -- jlg 2019.12.30 修改VGMYW00长度太短的问题 ZYSF9-20191230-001 -- jlg 2020.02.04 修改ZY_BASYXX.FSCGBZ的写值,这里不要写1(发送成功),在确认时写 ZYSF9-20200120-002 -- qiulf 2020.08.05 过程重新整理按5。0病案首页方式进行,使用新字典ZY_XBADY0 by ZYSF9-20200730-001 -- linzetao 2020.09.09 增加发送节点bkeh11(单位地址)、bka561(新生儿入院类型)、bkeh12(手术及操作代码计数)、bkeh13(输血品种)、bkec61(输血量)、bkeh14(输血计量单位) -- 医师明细增加节点bkeh08(主诊医师代码), 增加"票据信息"子节点 ZYSF9-20200907-005 -- linzetao 2020.09.14 住院发票使用院内发票时, 票据代码上传院内票据号(PJH000) ZYSF9-20200914-003 -- linzetao 2020.10.18 修正出入院日期时间发送问题 ZYSF9-20201015-001 -- linzetao 2020.10.20 增加发送节点bkeh30(是否院内感染),bkeh31(院内感染诊断编码) ZYSF9-20201020-002 -- linzetao 2020.10.22 修正节点akc023(年龄), bkc559(不足1岁婴儿年龄(月))问题 ZYSF9-20201021-003 -- linzetao 2020.10.22 调整节点bkz593(诊疗经过), bkz590(出院情况), aae190(出院医嘱)取数方式 ZYSF9-20201014-001 -- linzetao 2020.10.28 list01增加节点BKEH32(手术执行开始时间),BKEH33(手术执行结束时间),BKEH34(手术是否有并发症) -- BKEH35(手术并发症编码),BKEH36(手术并发症名称) ZYSF9-20201027-003 -- linzetao 2020.11.12 调整节点acc999(个人管理码),aac002(证件号码)取值方式 ZYSF9-20201030-002 -- linzetao 2020.12.14 处理外连病案系统的病案信息 ZYSF9-20201214-001 -- linzetao 2020.12.16 ZY_BASYXX无数据改调用过程SP_ZY_BASYXX_CREATE ZYSF9-20201201-001 -- linzetao 2020.12.23 调整bke073和bke074从通用字典获取"未查"默认值 ZYSF9-20201216-003 -- linzetao 2020.12.23 调整bke072编码取值规范, bke463诊断级别最大编码从通用字典获取 ZYSF9-20201221-006 -- linzetao 2020.12.30 处理异地医保上传诊断数量 ZYSF9-20201218-001 -- linzetao 2021.02.25 处理转换诊断编码和手术编码 ZYSF9-20210223-004 -- linzetao 2021.03.05 增加发送节点bkeh88,bkeh86,bkeh87,itemcountpj,aae072 ZYSF9-20210304-003 -- linzetao 2021.03.15 增加发送aab301节点 ZYSF9-20210309-001 -- linzetao 2021.03.30 修正bke078节点(离院方式)取值 ZYSF9-20210324-001 -- linzetao 2021.04.26 处理医师列表bkeh08(主诊医生代码)节点, 取BM_YGBM00.YBYGDM ZYSF9-20210426-002 -- linzetao 2021.04.27 处理经办人(aae011)节点, 取字典配置值 ZYSF9-20210413-001 ------------ ------------ ---------------------------- as VID0000 ZY_BASYFS.ID0000%type; VZDBM00 ZY_BASYFS.ZDBH00%type; VVALUE0 ZY_BASYFS.VALUE0%type; VBRXM00 BM_BRXXB0.BRXM00%type; VYBZYH0 ZY_BRXXB0.YBZYH0%type; VYBKH00 BM_BRXXB0.YBKH00%type; VYBID00 BM_BRXXB0.YBID00%type; VCZRQ00 char(8); VCZSJ00 char(8); VZYTS00 BA_BRZYXX.ZYTS00%type; LS_BRLBBH varchar2(10);--类别编码:0:普通 1:生育 2:工伤 3:体检 4:单病种 LS_RYLB00 ZY_BRXXB0.RYLB00%type;--入院类别 LS_GSDJH0 varchar2(50);--工伤登记号 LS_DBZBM0 ZY_BRXXB0.DBZBM0%type; LS_aka078 varchar2(50);--医疗就诊方式 varchar2(3) vMzzd00 xt_icd900.icd900%type; vMzzdmc xt_icd900.JBMC00%type; vRYZD00 xt_icd900.icd900%type; vRYZDQK ZY_BASYXX.RYZDQK%type; VCYZD00 xt_icd900.icd900%type; VZDMC00 xt_icd900.JBMC00%type; VHKDZ00 ZY_BASYFS.VALUE0%type;--新增户口地址 xutz VYLFKFS ZY_BASYFS.VALUE0%type;--新增医疗付款方式 xutz VJTYB00 ZY_BASYFS.VALUE0%type;--新增家庭地址邮编 xutz VCSD000 ZY_BASYFS.VALUE0%type;--新增出生地 xutz VGZDWMC ZY_BASYFS.VALUE0%type;--新增工作单位名称 xutz VLXRGX0 ZY_BASYFS.VALUE0%type;--新增联系人关系 xutz VBLH000 ZY_BASYFS.VALUE0%type;--新增病理号 xutz VBLZDBM BA_BRZYXX.BLZDBM%type;--新增病理诊断编码 xutz VBLZD00 BA_BRZYXX.BLZD00%type;--新增病理诊断名称 xutz VGMYW00 BA_BRZYXX.GMYW00%type;--新增过敏药物 xutz VSFSJ00 BA_BRZYXX.SFSJ00%type;--新增是否尸检 xutz VXX0000 ZY_BASYFS.VALUE0%type;--新增血型 xutz VRH0000 ZY_BASYFS.VALUE0%type;--新增RH xutz VBAZL00 ZY_BASYFS.VALUE0%type;--新增病理质量 xutz VZKRQ00 ZY_BASYFS.VALUE0%type;--新增质控日期 xutz VLYFS00 ZY_BASYFS.VALUE0%type;--新增离院方式 xutz VZYYLJG ZY_BASYFS.VALUE0%type;--新增转院医疗机构 xutz VZZYJH0 ZY_BASYFS.VALUE0%type;--新增再住院计划 xutz VZZYMD0 ZY_BASYFS.VALUE0%type;--新增再住院目的 xutz VYERYTZ ZY_BASYFS.VALUE0%type;----新增婴儿入院体重 xutz VYECSTZ ZY_BASYFS.VALUE0%type;--新增婴儿出生体重 xutz Vbkeh11 ZY_BASYFS.VALUE0%type; --单位地址 Vbka561 ZY_BASYFS.VALUE0%type; --新生儿入院类型 Vbkeh12 ZY_BASYFS.VALUE0%type; --手术及操作代码计数 Vbkeh13 ZY_BASYFS.VALUE0%type; --输血品种 Vbkec61 ZY_BASYFS.VALUE0%type; --输血量 Vbkeh14 ZY_BASYFS.VALUE0%type; --输血计量单位 Vbkeh30 ZY_BASYFS.VALUE0%type; --是否院内感染 Vbkeh31 ZY_BASYFS.VALUE0%type; --院内感染诊断编码 Vbke061 ZY_BASYFS.VALUE0%type; --入院诊断 Vbkea30 ZY_BASYFS.VALUE0%type; --出院诊断(小结) Vake024 ZY_BASYFS.VALUE0%type; --主要病情描述(主诉) Vbkz593 ZY_BASYFS.VALUE0%type; --诊疗经过 Vbkz594 ZY_BASYFS.VALUE0%type; --病理结果 Vbkz590 ZY_BASYFS.VALUE0%type; --出院情况 Vaae190 ZY_BASYFS.VALUE0%type; --出院医嘱 Vbke073 ZY_BASYFS.VALUE0%type; --血型未查编码 Vbke074 ZY_BASYFS.VALUE0%type; --RH未查编码 Vbke463 number(2); --诊断级别最大编码 Vydzdsl number(3); --异地诊断数量 Vaae011 ZY_BASYFS.VALUE0%type; --经办人 Vwbke061 ZY_BASYFS.VALUE0%type; --入院诊断(视图) Vwbkea30 ZY_BASYFS.VALUE0%type; --出院诊断(视图) Vwbkz590 ZY_BASYFS.VALUE0%type; --出院医嘱(视图) VFBBH00 IC_YBBRLB.FBBH00%type; VYBZXLB IC_YBBRLB.YBZXLB%type; VYBLB00 IC_YBBRLB.YBLB00%type; VBRXB00 BM_BRXXB0.BRXB00%type; vMRN000 BM_BRXXB0.MRN000%type; vZYH000 ZY_BRXXB0.ZYH000%type; VRZKS00 ZY_BRXXB0.RZKS00%type; vRYBQ00 ZY_BRXXB0.RYBQ00%type; VDQKS00 ZY_BRXXB0.DQKS00%type; VDQBQ00 ZY_BRXXB0.DQBQ00%type; VRYSQK0 ZY_BRXXB0.RYSQK0%type; vZzysxm ZY_BRXXB0.Zzysxm%type; VZJLX00 BM_BRXXB0.BRZJLX%type; VSFZHAO BM_BRXXB0.BRZJBH%type; VCSRQ00 BM_BRXXB0.BRCSRQ%type; VGJ0000 BM_BRXXB0.BRGJ00%type; VJG0000 BM_BRXXB0.JG0000%type; VMINZU0 BM_BRXXB0.BRMZ00%type; VZHIYE0 BA_BRZYXX.ZY0000%type; VHYZK00 BM_BRXXB0.BRHYZK%type; VTXDZ00 BM_BRXXB0.BRJTDZ%type; VLXDH00 BM_BRXXB0.BRDH00%type; VYZBM00 BM_BRXXB0.BRYB00%type; VDWLXDH BM_BRXXB0.GZDWDH%type; VDWDZYB BM_BRXXB0.TYDWYB%type; VLXR000 BM_BRXXB0.BRLXXM%type; VGXRDZ0 BM_BRXXB0.BRLXDZ%type; VLXRDH0 BM_BRXXB0.BRLXDH%type; VAAC999 BM_BRXXB0.AAC999%type; Vaab301 BM_BRXXB0.XZQH00%type; --VZYRQ00 ZY_BRXXB0.RYRQ00%TYPE; VZYRQ00 varchar2(20); --修改住院日期 xutz VRYTJ01 ZY_BRXXB0.RYTJ00%type; --VCYRQ00 ZY_BRXXB0.CYRQ00%TYPE; VCYRQ00 varchar2(20); --修改出院日期 xutz VZLLB00 ZY_BRXXB0.ZLLB00%type; VHJJE00 ZY_JZB000.HJJE00%type; VZFJE00 ZY_JZB000.ZFJE00%type; VZYID00 ZY_BRXXB0.ZYID00%type; --新增ZYID00 xutz VBRRYCS ZY_BRXXB0.Brrycs%type; --新增病人住院次数 xutz VJKBH00 ZY_XBADY0.JKBH00%type; --接口编号 Vfffs00 varchar2(10);--付费方式:01 床日 00 其他 Vfzffxm zy_brxxb0.fzffxm%type;--分值付费项目 01:精神病,02:肝衰竭,03:呼吸衰竭,04:脊髓损伤后遗症,05:颅脑损伤康复,06:脑血管意外恢复期,07:肿瘤晚期对症治疗,08:脑瘫 vRYTJ00 BA_BRZYXX.RYTJ00%TYPE; --VRYZD00 BQ_BRZDXX.ZDM000%type; --入院诊断 VRYZDMC BQ_BRZDXX.ZDMC00%type; --入院诊断名称 --VCYZD00 BQ_BRZDXX.ZDM000%type; --出院诊断 VCYZDMC BQ_BRZDXX.ZDMC00%type; --出院诊断名称 VCYZLXG BQ_BRZDXX.ZLXG00%type; --出院诊断治疗效果 VINDEX0 number(5); Vcount0 number(1); ZY_SFQYBASYCSJK XT_XTCS00.VALUE0%type; LS_ERRMSG varchar2(500); LS_ERRORS varchar2(500); LS_EXESQL varchar2(500); LS_NL0000 varchar2(200); ls_ZJSFYX number; --证件是否有效 ls_bke091 varchar2(50); Vsfxnh0 IC_YBBRLB.SFXNH0%type; LS_SFZYBM BM_TYZD00.MC0000%type; LS_DYBZBM XT_ICD900.DYBZBM%type; LS_DYJBMC XT_ICD900.DYJBMC%type; LS_YBDYBM XT_CM3000.YBDYBM%type; LS_YBDYMC XT_CM3000.YBDYMC%type; ls_count NUMBER(2); begin ---------启用新医保接口-----begin-------------------- VID0000:=0; VCZRQ00 := to_char(sysdate,'YYYYMMDD'); VCZSJ00 := to_char(sysdate,'HH24:MI:SS'); VHJJE00:=0; VZFJE00:=0; LS_SFZYBM := nvl(SF_XT_TYZD00('医保新接口参数设置','change_zdbm_ssbm'),'0'); select count(1) into ls_count from bajk_wlbarz t where zyid00=PZYID00 and yxbz00='1'; if ls_count=0 then PYHMSG0:='病案系统中间业务表无数据,请核对后在上传!';--输出:错误信息 return; end if; begin select sum(HJJE00),sum(ZFJE00) into VHJJE00,VZFJE00 from ZY_JZB000 a where ZYID00=PZYID00 and CXJZDH=0 and not exists (select 1 from ZY_JZB000 where ZYID00=a.ZYID00 and CXJZDH=a.JZDH00); exception when others then VHJJE00:=0; VZFJE00:=0; end; --门诊诊断 begin select ZDM000,ZDMC00 into vMZZD00,vMZZDMC from BQ_BRZDXX where ZYID00=PZYID00 and ZDLB00='1' and rownum=1; if LS_SFZYBM = '1' then select max(DYBZBM),max(DYJBMC) into LS_DYBZBM,LS_DYJBMC from XT_ICD900 where ICD900=vMZZD00 and nvl(SYBZ00,'1')='1'; vMZZD00 := nvl(LS_DYBZBM,vMZZD00); vMZZDMC := nvl(LS_DYJBMC,vMZZDMC); end if; exception when others then vMZZD00:=''; vMZZDMC:=''; end; --入院诊断 begin select ZDM000,ZDMC00 into VRYZD00,VRYZDMC from BQ_BRZDXX where ZYID00=PZYID00 and ZDLB00='2' and rownum=1; if LS_SFZYBM = '1' then select max(DYBZBM),max(DYJBMC) into LS_DYBZBM,LS_DYJBMC from XT_ICD900 where ICD900=VRYZD00 and nvl(SYBZ00,'1')='1'; vMZZD00 := nvl(LS_DYBZBM,VRYZD00); vMZZDMC := nvl(LS_DYJBMC,VRYZDMC); end if; exception when others then VRYZD00 := '-'; VRYZDMC := '-'; end; begin select ZDM000,ZDMC00,ZLXG00 into VCYZD00,VCYZDMC,VCYZLXG from BQ_BRZDXX where ZYID00=PZYID00 and ZDLB00='3' and rownum=1; if LS_SFZYBM = '1' then select max(DYBZBM),max(DYJBMC) into LS_DYBZBM,LS_DYJBMC from XT_ICD900 where ICD900=VCYZD00 and nvl(SYBZ00,'1')='1'; vMZZD00 := nvl(LS_DYBZBM,VCYZD00); vMZZDMC := nvl(LS_DYJBMC,VCYZDMC); end if; exception when others then VCYZD00 := '-'; VCYZDMC := '-'; end; --bke073(血型)未查编码 select nvl(sf_xt_tyzd00('医保新接口参数设置','bke073'),'6') into Vbke073 from dual; --bke074(RH)未查编码 select nvl(sf_xt_tyzd00('医保新接口参数设置','bke074'),'4') into Vbke074 from dual; --Vbke463诊断级别最大编码 begin select to_number(nvl(sf_xt_tyzd00('医保新接口参数设置','bke463'),'10')) into Vbke463 from dual; exception when others then Vbke463 := 10; end; --异地诊断数量 begin select to_number(nvl(sf_xt_tyzd00('医保新接口参数设置','ba_zdsl_yd'),'0')) into Vydzdsl from dual; exception when others then Vydzdsl := 0; end; Vaae011 := trim(SF_XT_TYZD00('医保新接口参数设置','basy_aae011')); if Vaae011 is null then Vaae011 := PCZY000; end if; select trim(a.YBKH00) YBKH00,trim(a.YBID00) YBID00,a.BRXM00,nvl(d.BRXB00,A.BRXB00),A.MRN000,B.RZKS00,B.RYBQ00,B.DQKS00,B.ZYH000, nvl(d.ZYTS00,to_date(nvl(B.CYRQ00,to_char(sysdate,'YYYYMMDD')),'YYYYMMDD')-to_date(B.RYRQ00,'YYYYMMDD')) ZYTS00, B.DQBQ00,trim(B.YBZYH0),C.FBBH00,C.YBZXLB,C.YBLB00,B.RYSQK0,nvl(d.ZZYSMC,b.ZZYSXM),a.BRZJLX, nvl(nvl(d.SFZH00,a.BRZJBH),'0') BRZJBH,nvl(d.BRCSRQ,a.BRCSRQ),nvl(d.GJ0000,a.BRGJ00),nvl(d.JGSF00||d.JGXS00,a.JG0000),nvl(d.MZ0000,a.BRMZ00), nvl(d.ZY0000,a.BRZY00),nvl(d.HYZK00,a.BRHYZK),nvl(d.XZZSF0||d.XZZDQ0||d.XZZXS0||d.XZZXC0,a.BRJTDZ),nvl(d.XZZDH0,nvl(d.JTDH00,a.BRDH00)), nvl(d.XZZYB0,a.BRYB00),nvl(d.GZDH00,a.GZDWDH),nvl(d.GZYB00,a.TYDWYB),nvl(d.LXRXM0,a.BRLXXM),nvl(d.LXRDZ0,a.BRLXDZ),nvl(d.LXRDH0,a.BRLXDH),nvl(d.RYTJ01,b.RYTJ00) RYTJ00, to_char(to_date(b.RYRQ00||b.RYSJ00,'yyyymmddhh24:mi:ss'),'yyyymmddhh24') RYRQ00,to_char(to_date(b.CYRQ00||b.CYSJ00,'yyyymmddhh24:mi:ss'),'yyyymmddhh24') CYRQ00, b.ZLLB00,decode(nvl(b.GSDJH0,'0'),'0',lpad(trim(SF_XT_GETYLFKFS(b.FBBH00,b.YBLB00,0)),2,'0'),'10')YLFKFS,b.ZYID00,nvl(d.ZYCS00,b.BRRYCS), d.JTDZSF||d.JTDZDQ||d.JTDZXS||d.JTDZ01 HKDZ00,JTYB00,d.CSSF00||d.CSDS00||d.CSXS00 CSD000,nvl(d.GZDW00,a.TYDWMC),nvl(d.LXRGX0,'其他'), d.BLH000,d.BLZDBM,d.BLZD00,d.GMYW00,nvl(d.SFSJ00,'0'),nvl(d.XX0000,a.BRXX00),nvl(d.RH0000,a.RH0000), decode(d.BAZL00,'甲','1','乙','2','丙','3',''),d.ZKRQ00,d.LYFS00,d.ZYYLJG,d.ZZYJH0,d.ZZYMD0,d.YERYTZ,d.YECSTZ, case when b.FZFFXM in ('01','02','03','04','05','06','07','08') then '01' else '00' end as FFFS00, case when b.FZFFXM not in ('01','02','03','04','05','06','07','08') then '' else b.FZFFXM end as FZFFXM, --付费分值项目 20190813 d.bkeh11,d.bka561,to_char(d.bkeh12),d.bkeh13,d.bkec61,d.bkeh14,d.bkeh30,d.bkeh31,d.bke061,d.bkea30,d.ake024,d.bkz593,d.bkz594, d.bkz590,d.aae190,a.aac999,c.SFXNH0,A.XZQH00 into VYBKH00,VYBID00,VBRXM00,VBRXB00,vMRN000,VRZKS00,vRYBQ00,VDQKS00,vZYH000, VZYTS00, VDQBQ00,VYBZYH0,VFBBH00,VYBZXLB,VYBLB00,VRYSQK0,vZzysxm,VZJLX00, VSFZHAO,VCSRQ00,VGJ0000,VJG0000,VMINZU0, VZHIYE0,VHYZK00,VTXDZ00,VLXDH00, VYZBM00,VDWLXDH,VDWDZYB,VLXR000,VGXRDZ0,VLXRDH0,VRYTJ01, VZYRQ00,VCYRQ00, VZLLB00,VYLFKFS,VZYID00,VBRRYCS, VHKDZ00,VJTYB00,VCSD000,VGZDWMC,VLXRGX0, VBLH000,VBLZDBM,VBLZD00,VGMYW00,VSFSJ00,VXX0000,VRH0000, VBAZL00,VZKRQ00,VLYFS00,VZYYLJG,VZZYJH0,VZZYMD0,VYERYTZ,VYECSTZ,VFFFS00,VFZFFXM, Vbkeh11,Vbka561,Vbkeh12,Vbkeh13,Vbkec61,Vbkeh14,Vbkeh30,Vbkeh31,Vbke061,Vbkea30,Vake024,Vbkz593,Vbkz594, Vbkz590,Vaae190,VAAC999,Vsfxnh0,Vaab301 from BM_BRXXB0 A,ZY_BRXXB0 B,IC_YBBRLB C,BA_BRZYXX d -- full join BA_BRZYXX d on b.ZYID00=d.LSH000 因有些oracle版本不支持,现改掉full join的写法 jlg where A.BRID00 = B.BRID00 and b.ZYID00 = d.LSH000(+) --以上全连接修改,改为以ZY_BRXXB0为主 and B.FBBH00 = C.FBBH00 and B.YBLB00 = C.YBLB00 and B.ZYID00 = PZYID00; select SQ_ZY_BASYFS_ID0000.nextval into VID0000 from dual; --取院内感染信息 select SF_ZY_GETYNGRBM(PZYID00) into Vbkeh31 from dual; if Vbkeh31 is not null then Vbkeh30 := '1'; else Vbkeh30 := '0'; end if; --计算年龄, 岁月天时用|隔开 LS_NL0000 := sf_xt_csrqtonl_bz(VCSRQ00,null,null,null,'4'); --取视图入院诊断, 出院诊断, 出院医嘱 begin select bke061,bkea30,bkz590 into Vwbke061,Vwbkea30,Vwbkz590 from VW_ZY_BASYZDXX where ZYID00=PZYID00; exception when others then Vwbke061 := ''; Vwbkea30 := ''; Vwbkz590 := ''; end; --住院号 insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,trim(vZYH000),nvl(PXXH00,1),0,JKBH00,JKBZ00,PYBJKID from ZY_BASYDY where XMXYB0 = 1 and JKBH00 =1 and JKBZ00 = 'bke042'; insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,PYBJKID from ZY_XBADY0 where SFYX00='0' and JKBH00 =1; select count(1) into Vcount0 From ZY_BASYXX where ZYID00=PZYID00; if Vcount0=0 then --insert into ZY_BASYXX (ZYID00,ZYLSH0,CARDNO,YYBAH0,RYKB00, -- RYBS00,ZKKB00,CYKB00,CYBS00,RYQK00, -- RYZDQK,CYZD00,ZDMC00,CYQK00,ZZYSXM, -- FSCGBZ,ERROR0) --values( PZYID00,substr(VYBZYH0,1,16),substr(VYBKH00,1,30),substr(vMRN000,1,16),nvl(VRZKS00,'0'), -- nvl(vRYBQ00,'0'),'',nvl(VDQKS00,0),nvl(VDQBQ00,'0'),'3', -- vRYZDQK,nvl(VCYZD00,'0'),nvl(VZDMC00,'0'),VCYZLXG,VZZYSXM,'0',''); SP_ZY_BASYXX_CREATE(PZYID00,'N'); end if; if nvl(PZYID00,0)>0 then begin select A.RYLB00,A.GSDJH0,A.DBZBM0 into LS_RYLB00,LS_GSDJH0,LS_DBZBM0 from ZY_BRXXB0 A where 1=1 and A.ZYID00=PZYID00; exception when others then LS_RYLB00:='普通'; LS_GSDJH0:=null; LS_DBZBM0:=null; end; end if; if trim(LS_DBZBM0) is not null then --单病种优先级最高 LS_BRLBBH:='4';--类别编码:0:普通 1:生育 2:工伤 3:体检 4:单病种 5:择日住院 else if LS_RYLB00 in ('生育','生育实时刷卡住院') then LS_BRLBBH:='1';--类别编码:0:普通 1:生育 2:工伤 3:体检 4:单病种 5:择日住院 elsif LS_RYLB00 in ('工伤') or (LS_GSDJH0 is not null and LS_GSDJH0 not in ('0')) then LS_BRLBBH:='2';--类别编码:0:普通 1:生育 2:工伤 3:体检 4:单病种 5:择日住院 elsif LS_RYLB00 in ('择日住院') then LS_BRLBBH:='5';--类别编码:0:普通 1:生育 2:工伤 3:体检 4:单病种 5:择日住院 end if; end if; --医疗就诊方式aka078: 10:门(急)诊 20:住院 40:药店购药 60:体检 81:生育门诊 82:生育住院 91:工伤门诊 92:工伤住院 LS_aka078:=SF_ZY_GETYBSXZD(PZYID00,'1','aka078','',nvl(LS_BRLBBH,'0'),LS_DBZBM0); LS_aka078:=nvl(LS_aka078,'20'); VVALUE0:=''; VZDBM00:='bke050'; -- 医院病案号 VVALUE0:=trim(vMRN000); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke042'; --住院号 VVALUE0 := trim(vZYH000); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkea29'; -- HIS 住院流水号(院内住院唯一识别码,不可重复) xutz新增 VVALUE0:=VZYID00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz553';--健康卡号 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='akc190'; -- 医保住院号 if VYBZYH0='0' then VVALUE0:=''; else VVALUE0:=VYBZYH0; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz554'; --医疗付费方式 --修改医疗付款方式的赋值 xutz --VVALUE0:='09'; VVALUE0:=VYLFKFS; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aka150'; --就诊次数 就诊次数修改为取ZY_BRXXB0.BRRYCS xutz 20190306 --VVALUE0:='1'; VVALUE0:=VBRRYCS; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac999'; --个人管理码 VVALUE0:= nvl(VAAC999,VSFZHAO); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac058'; --证件类型 VVALUE0:='01'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac002'; --社会保险号 --VVALUE0:=VYBID00; --判断身份证号是否有效 select SP_SF_CHECKSFZH(VSFZHAO) into ls_ZJSFYX from dual; --身份证号有效, 则传身份证号, 无效则传YBID00 if ls_ZJSFYX = 1 then VVALUE0 := VSFZHAO; else VVALUE0 := VYBID00; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aaz500'; --社保卡号 VVALUE0:=VYBKH00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac003'; --姓名 VVALUE0:=VBRXM00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac004'; -- 病人性别男:1 女:2 if VBRXB00='男'then VVALUE0:='1'; else VVALUE0:='2'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac006'; --出生日期 VVALUE0:=VCSRQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='akc023'; --年龄 VVALUE0:=sf_xt_returnindexeh(LS_NL0000,'|',1); --select replace(replace(replace(replace(VVALUE0,'岁',''),'月',''),'天',''),'不详','0') into VVALUE0 from dual; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae349'; --国籍 --VVALUE0:='CHN'; begin select nvl(gjdm00,'CHN') into VVALUE0 from xt_gj0000 where mc0000=VGJ0000; exception when others then VVALUE0:='CHN'; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae407'; --出生地 VVALUE0:=VCSD000; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae408'; --籍贯 VVALUE0:=VJG0000; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac005'; --民族 --VVALUE0:='01'; begin select dm0000 into VVALUE0 from xt_mz0000 where mc0000=VMINZU0; exception when others then VVALUE0:='01'; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae305'; --职业 --VVALUE0:='90'; begin select nvl(a.bascbh,'90') into VVALUE0 from xt_zy0000 a where mc0000=VZHIYE0; exception when others then VVALUE0:='90'; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac017'; --婚姻状况 --VVALUE0:='9'; begin select nvl(decode(a.bh0000,'1','2','2','1',bh0000),'9') into VVALUE0 from bm_tyzd00 a where zdmc00='婚姻状况' and mc0000=VHYZK00; exception when others then VVALUE0:='9'; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae006'; --通讯地址 VVALUE0:=VTXDZ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aab005'; --联系电话 VVALUE0:=VLXDH00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae007'; --邮政编码 VVALUE0:=VYZBM00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aac010'; --户口所在地址 VVALUE0:=VHKDZ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae409'; --户口地址邮编 VVALUE0:=VJTYB00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae411'; --单位名称及地址 VVALUE0:=VGZDWMC; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae410'; --单位联系电话 VVALUE0:=VDWLXDH; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae412'; --单位地址邮编 VVALUE0:=VDWDZYB; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae303'; -- 联系人 varchar2(50) y --VVALUE0:=nvl(VLXR000,'-'); VVALUE0:=nvl(VLXR000,'无'); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aaa060'; --关系代码 关系代码 varchar2(3) y --VVALUE0:='8'; begin select nvl(decode(a.bh0000,'0','8','9','8',bh0000),'8') into VVALUE0 from bm_tyzd00 a where zdmc00='家庭关系' and mc0000=VLXRGX0; exception when others then VVALUE0:='8'; end; VVALUE0:=nvl(VVALUE0,'0'); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae413'; --关系人地址 关系人地址 varchar2(100) y --VVALUE0:=nvl(VGXRDZ0,'-'); VVALUE0:=nvl(VGXRDZ0,'无'); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bae304'; --关系人联系电话 varchar2(50) y VVALUE0:=nvl(VLXRDH0,'无'); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='akc192'; --入院日期 入院日期 number(14) y VVALUE0:=VZYRQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke051'; --入院途径 if VRYTJ00 = '急诊' then VVALUE0 := '1'; elsif VRYTJ00 = '门诊' then VVALUE0 := '2'; elsif VRYTJ00 = '其他医疗结构转入' then VVALUE0 := '3'; else VVALUE0 := '9'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke053'; --入院科室编码 VVALUE0:=SF_ZY_GetYYKSBM(VRZKS00,2); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke052'; --入院科别名称 VVALUE0 := ''; select BMMC00 into VVALUE0 from BM_BMBM00 where BMBH00=VRZKS00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke054'; --入院病房 VVALUE0 := ''; select BMMC00 into VVALUE0 from BM_BMBM00 where BMBH00=vRYBQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke060'; --入院情况 if Instrb(VRYSQK0,'危')>0 then VVALUE0:='1'; elsif Instrb(VRYSQK0,'急')>0 then VVALUE0:='2'; else VVALUE0:='3'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='akc194'; --出院日期 VVALUE0:=VCYRQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --新医保没有 VZDBM00:='bke057'; --出院科室编码 VVALUE0:=SF_ZY_GetYYKSBM(VDQKS00,3); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke056'; --出院科别名称 VVALUE0 := ''; select BMMC00 into VVALUE0 from BM_BMBM00 where BMBH00=VDQKS00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke059'; --出院病房 VVALUE0 := ''; select BMMC00 into VVALUE0 from BM_BMBM00 where BMBH00=VDQBQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke058'; --实际住院天数 --VVALUE0:=nvl(SF_ZY_GetYYKSBM(PZYID00,4),'-');--VZYTS00; if (nvl(VZYTS00,0) >= 9999) or (nvl(VZYTS00,0) = 0) then VZYTS00 := nvl(SF_ZY_GetYYKSBM(PZYID00,4),'0'); end if; VVALUE0 := nvl(VZYTS00,0); --select nvl(VZYTS00,nvl(SF_ZY_GetYYKSBM(PZYID00,4),'0')) into VVALUE0 from dual; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz555'; --治疗类别 if VZLLB00 = '中医' then VVALUE0 := '11'; elsif VZLLB00 = '民族医' then VVALUE0 := '12'; elsif VZLLB00 = '中西医' then VVALUE0 := '20'; elsif VZLLB00 = '西医' then VVALUE0 := '30'; else VVALUE0 := '30'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke064'; --病理号 VVALUE0:=VBLH000; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke063'; --病理诊断编码 VVALUE0:=VBLZDBM; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke062'; --病理诊断名称 VVALUE0:=VBLZD00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke067'; --药物过敏是否(1 有 0 无) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke072'; --死亡患者尸检(1 有 0 无) if VSFSJ00 = '1' or VSFSJ00 = '是' then VVALUE0 := '1'; elsif VSFSJ00 = '0' or VSFSJ00 = '否' then VVALUE0 := '0'; else VVALUE0:=''; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --bke073 1 A 2 B 3 O 4 AB 5 不详 0 未查 VZDBM00:='bke073'; --血型 --VVALUE0:='6'; begin select decode(VXX0000,'A','1','B','2','O','3','AB','4','不详','5',Vbke073) into VVALUE0 from dual; exception when others then VVALUE0:=Vbke073; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --bke074 1 阴 2 阳 3 不详 0 未查 VZDBM00:='bke074'; --RH --VVALUE0:='4'; begin select decode(VRH0000,'阴','1','阴性','1','阳','2','阳性','2','不详','3',Vbke074) into VVALUE0 from dual; exception when others then VVALUE0:=Vbke074; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke075'; --病案质量 VVALUE0:=VBAZL00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke077'; --质控日期 VVALUE0:=VZKRQ00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --1 医嘱离院 2 医嘱转院 3 医嘱转社区卫生服务机构/乡镇卫生院 4 非医嘱离院 5 死亡 9 其他 VZDBM00:='bke078'; --离院方式 -- VVALUE0:='1'; begin select decode(VLYFS00,'医嘱离院','01','医嘱转院','02','医嘱转社区卫生服务机构','03','非医嘱离院','04','死亡','05','09') into VVALUE0 from dual; exception when others then VVALUE0:='09'; end; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke079'; --拟接收医疗机构名称 VVALUE0:=VZYYLJG; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke068'; --出院 31 天内再住院计划(1 有 0 无) --VVALUE0:='0'; select decode(VZZYJH0,'有','1','0') into VVALUE0 from dual; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke069'; --出院 31 天内再住院目的 --VVALUE0:=nvl(VZZYMD0,'-'); VVALUE0:=VZZYMD0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke413'; --是否新生儿(是/否) VVALUE0:='否'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkc559'; --不足 1 岁婴儿年龄 if trim(sf_xt_returnindexeh(LS_NL0000,'|',1)) = '0' then VVALUE0 := sf_xt_returnindexeh(LS_NL0000,'|',2); else VVALUE0:='0'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke316'; --新生儿出生天数 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke317'; --新生儿出生体重(克) VVALUE0:=''; --VYECSTZ; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke318'; --新生儿入院体重(克) VVALUE0:=''; --VYERYTZ; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke329'; --呼吸机使用总时间(小时) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz580'; --呼吸机使用时间(分) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz571'; --抢救次数 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz572'; --抢救成功次数 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz573'; --确诊日期 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz556'; --实 施 临 床 路 径 --修改实施临床路劲值为9 xutz --VVALUE0:='-'; VVALUE0:='9'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz584'; --随诊期限 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz567'; --门(急)诊诊断名称(中医诊断) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz568'; --门(急)诊疾病代码(中医诊断) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz569'; --门(急)诊诊断名称(西医诊断) --VVALUE0:=nvl(vMZZDMC,'-'); VVALUE0:=vMZZDMC; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz570'; --门(急)诊疾病编码(西医诊断) VVALUE0:=VMZZD00; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz557'; --使用医疗机构中药制剂(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz558'; --使用中医诊疗设备(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz559'; --使用中医诊疗技术(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz560'; --辩证施护(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz581'; --急危重病例(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz582'; --疑难病例(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz583'; --是否随诊(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz589'; --日间手术(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz604'; --是否入住重症监护室(Y 是 N 否) VVALUE0:='N'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae198'; --总费用 VVALUE0:=to_char(VHJJE00); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='akc228'; --其中自付金额 VVALUE0:=to_char(VZFJE00); update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz576'; --特级护理天数(默认 0) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz605'; --特级护理小时(默认 0) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz577'; --一级护理天数(默认 0) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz578'; --二级护理天数(默认 0) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz579'; --三级护理天数(默认 0) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz585'; --肿瘤病理分期 T(1-5 期) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz586'; --肿瘤病理分期 N(1-5 期) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz587'; --肿瘤病理分期 M(1-5 期) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz588'; --肿瘤临床分期(1-5 期) VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz592';--体格检查,默认’-’ VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke061';--入院诊断 if Vwbke061 is not null then VVALUE0 := Vwbke061; elsif VRYZDMC is not null then VVALUE0:=VRYZDMC; else VVALUE0 := Vbke061; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkea30';--出院诊断(小结) if Vwbkea30 is not null then VVALUE0 := Vwbkea30; elsif VCYZDMC is not null then VVALUE0:=VCYZDMC; else VVALUE0 := Vbkea30; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='ake024';--主要病情描述(主诉) if Vake024 is not null then VVALUE0 := Vake024; else VVALUE0:='无'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz593';--诊疗经过 if Vbkz593 is not null then VVALUE0 := Vbkz593; else VVALUE0:='无'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz594';--病理结果 if Vbkz594 is not null then VVALUE0 := Vbkz594; else VVALUE0:='无'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz590';--出院情况 if Vwbkz590 is not null then VVALUE0 := Vwbkz590; elsif Vbkz590 is not null then VVALUE0 := Vbkz590; else VVALUE0:='无'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae190';--出院医嘱 if Vaae190 is not null then VVALUE0 := Vaae190; else VVALUE0:='无'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae138';--死亡日期 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz591';--死亡诊断 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz598';--死因诊断 VVALUE0:=''; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bke691';--现病史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz608';--既往史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz609';--个人史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz613';--婚育史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz614';--月经史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz615';--家族史 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz610';--专科情况 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz611';--辅助检查 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz612';--初步诊断 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz595';--辅助实验室检查结果 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkz596';--辅助影像学检查结果 VVALUE0:='-'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae011'; --经办人(上传人) VVALUE0:=Vaae011; --PCZY000; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae036'; --经办时间(上传时间) --修改经办时间格式 xutz --VVALUE0:=to_char(sysdate,'YYYYMMDD'); VVALUE0:=to_char(sysdate,'YYYYMMDDHHMMSS'); update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='aae013'; --备注 VVALUE0:=''; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --01 正常住院病例 02 择日住院病例 03 日间手术病例 04 转院且住院低于48小时 05 死亡病例 --06 住院天数极端值病例 07 精神专科病例 08 中医中治病例 09 康复治疗病例 10 罕见病 11 特殊服务病例 VZDBM00:='bked48'; --bked48 病案类型 varchar2(3) VVALUE0:='01'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; -- VZDBM00:='aka078'; --aka078 医疗就诊方式 varchar2(3) VVALUE0:=LS_aka078; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --拟接收机构代码 VZDBM00 := 'bkeh86'; VVALUE0 := SF_XT_TYZD00('医保新接口参数设置','basy_bkeh86'); update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; --医疗机构填报部门 VZDBM00 := 'bkeh87'; VVALUE0 := SF_XT_TYZD00('医保新接口参数设置','basy_bkeh87'); update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountzd'; --1、诊断明细数量 VVALUE0:='0'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountss'; --2、手术明细数量 VVALUE0:='0'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountssys'; --3、手术医师明细数量 VVALUE0:='0'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountks'; --4、科室数量 VVALUE0:='0'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountys'; --5、医师数量 VVALUE0:='0'; update ZY_BASYFS Set VALUE0=VVALUE0 Where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountsszd'; --6、外部损伤中毒数量 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountjh'; --7、重症监护数量) VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountgm'; --8、药物过敏数量 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcounthm'; --9、昏迷时间段数量 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='itemcountfy'; --10、费用明细数量 VVALUE0:='0'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkeh11'; --单位地址 VVALUE0:=Vbkeh11; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bka561'; --新生儿入院类型 VVALUE0:=Vbka561; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkeh12'; --手术及操作代码计数 VVALUE0:=Vbkeh12; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkeh13'; --输血品种 VVALUE0:=Vbkeh13; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkec61'; --输血量 VVALUE0:=Vbkec61; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='bkeh14'; --输血计量单位 VVALUE0:=Vbkeh14; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00 := 'bkeh30'; VVALUE0 := Vbkeh30; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00 := 'bkeh31'; VVALUE0 := Vbkeh31; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00 := 'aab301'; VVALUE0 := Vaab301; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; /* VZDBM00:='list02' then --诊断明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='list01' then --手术明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='ssyslist' then --手术医师明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='kslist' then --科室明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='yslist' then --医师明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='sdlist' then --损伤、中毒的外部原因明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='zzjhlist' then --重症监护 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='gmlist' then --药物过敏明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='hmlist' then --颅脑损伤患者昏迷时间明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; VZDBM00:='fylist' then --费用明细 VVALUE0:=''; update ZY_BASYFS set VALUE0='"'||FSZDM0||'":' where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00=VZDBM00; */ --开始写入诊断list VINDEX0 := 0; --累计诊断数 for XJK_BRZDXX in (select ZDM000,ZDMC00,ZLXG00,ZDFS00,ZDLB00,ZDJB00,PXXH00,ZDCX00 from (select ZDM000,ZDMC00,nvl(SF_ZY_GETZLXG00(a.ZYID00,a.ZLXG00,'1'),'5') ZLXG00, ZDFS00,ZDLB00, (select lpad(PLXH00,2,'0') from XT_ZDLB00 where DM0000=a.ZDLB00) ZDJB00, rownum as PXXH00,decode(ZDLB00,'3','01','4','02','03') ZDCX00 from BQ_BRZDXX a where ZYID00=PZYID00 and ZDLB00 in ('1','2','3','4','5') order by ZDLB00)aa order by ZDCX00 ) loop VINDEX0 := VINDEX0 + 1; --异地医保, 设置诊断最大数量, 超出最大诊断数量跳出循环 if Vsfxnh0 in ('3','4') and (Vydzdsl > 0) and (VINDEX0 > Vydzdsl) then exit; end if; --循环写入诊断list02 insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,XJK_BRZDXX.PXXH00,PYBJKID from ZY_BASYDY a where JKBH00 =2; --诊断或症状类型 if XJK_BRZDXX.ZDLB00 = '1' then VVALUE0:= '01'; elsif XJK_BRZDXX.ZDLB00 = '2' then VVALUE0:= '02'; elsif XJK_BRZDXX.ZDLB00 in ( '3','4') then VVALUE0:= '03'; elsif XJK_BRZDXX.ZDLB00 = '5' then VVALUE0:= '04'; else VVALUE0:= ''; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke301' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --诊断分类 if XJK_BRZDXX.ZDFS00 = 0 then VVALUE0:= '1'; elsif XJK_BRZDXX.ZDFS00 = 1 then VVALUE0:= '2'; else VVALUE0:= '2'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bkz564' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --诊断或症状次序 VVALUE0:= to_char(XJK_BRZDXX.zdcx00); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke302' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --诊断级别 --VVALUE0:= to_char(XJK_BRZDXX.ZDJB00); if VINDEX0 >= Vbke463 then VVALUE0 := lpad(to_char(Vbke463),2,'0'); else VVALUE0 := lpad(to_char(VINDEX0),2,'0'); end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke463' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; if LS_SFZYBM = '1' then --转成医保诊断编码 select max(DYBZBM),max(DYJBMC) into LS_DYBZBM,LS_DYJBMC from XT_ICD900 where ICD900=XJK_BRZDXX.ZDM000 and nvl(SYBZ00,'1')='1'; --出院诊断编码 VVALUE0:= nvl(LS_DYBZBM,XJK_BRZDXX.ZDM000); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke087' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --出院诊断名称 VVALUE0:= nvl(LS_DYJBMC,XJK_BRZDXX.ZDMC00); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke088' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; else --出院诊断编码 VVALUE0:= XJK_BRZDXX.ZDM000; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke087' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --出院诊断名称 VVALUE0:= XJK_BRZDXX.ZDMC00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke088' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; end if; --出院诊断辅助码 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bkz617' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --术语集诊断编码 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bkz606' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --术语集诊断名称 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bkz607' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --入院病情 if vRYZD00 is null then VVALUE0:= '1'; else VVALUE0:= '4'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke090' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --出院情况 VVALUE0:= XJK_BRZDXX.ZLXG00; if VVALUE0 > '5' then VVALUE0:='5'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bke089' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --是否治疗 VVALUE0:= 'Y'; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='bkz561' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; --备注 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=2 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_BRZDXX.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountzd'; --更新诊断代码计数 update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='bkeh88'; --开始写入手术list01 VINDEX0 := 0; for XJK_SSMZXX in ( select pxxh00,SSM000,SSMC00,SSRQ00,SSSJ00,SSZL00, SSYS00,SSYSMC,IYS000,IYSMC0,IIYS00,IIYSMC,MZYS00,MZYSMC, decode(pxxh00,1,'01','02') sscx00,mzbh00,qkyhdj,sssfsc, BKEH32,BKEH33,BKEH34,BKEH35,BKEH36 from ( select rownum as pxxh00,SSM000,SSMC00,SSRQ00,SSSJ00, --SSZL00, case when sszl00 in ('1级','一级','小') then '1' --一级手术 when sszl00 in ('2级','二级','中') then '2' --二级手术 when sszl00 in ('3级','三级','大') then '3' --三级手术 when sszl00 in ('4级','四级','特大') then '4' --一级手术 else '' end as sszl00, SSYS00,SSYSMC,IYS000,IYSMC0,IIYS00,IIYSMC,MZYS00,MZYSMC, decode(sslb00,'0','01','02') sscx00, --decode(ssxh00,1,'01','02') sscx00, --(select nvl(mzbh00,0) from bq_ssmzxx b where a.LSH000=b.ZYID00 and rownum = 1 ) MZBH00 nvl((select c.bascbh from bq_ssmzxx b,XT_MZFS00 c where b.mzbh00=c.dm0000 and a.LSH000=b.ZYID00 and rownum = 1 ),'9') MZBH00, sf_zy_qkyhdj(qkyhdj) QKYHDJ, nvl(sssfsc,'N') sssfsc, --手术是否双侧 20190813 BKEH32,BKEH33,BKEH34,BKEH35,BKEH36 from BA_BRSSXX a where LSH000=PZYID00 and rownum<=8 order by a.id0000,a.SSRQ00,a.SSSJ00 ) order by pxxh00 ) loop VINDEX0 := VINDEX0 + 1; --循环写入手术list01 insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,XJK_SSMZXX.pxxh00,PYBJKID from ZY_XBADY0 a where JKBH00 =3; --手术次序 VVALUE0:= to_char(XJK_SSMZXX.sscx00); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke302' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; if LS_SFZYBM = '1' then select max(YBDYBM),max(YBDYMC) into LS_YBDYBM,LS_YBDYMC from XT_CM3000 where CM3000=XJK_SSMZXX.SSM000; if XJK_SSMZXX.SSCX00 = '01' then ls_bke091 := nvl(LS_YBDYBM,XJK_SSMZXX.SSM000); end if; --手术及操作编码 VVALUE0:= nvl(LS_YBDYBM,XJK_SSMZXX.SSM000); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke091' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术、操作名称 VVALUE0:= nvl(LS_YBDYMC,XJK_SSMZXX.SSMC00); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke092' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; else if XJK_SSMZXX.SSCX00 = '01' then ls_bke091 := XJK_SSMZXX.SSM000; end if; --手术及操作编码 VVALUE0:= XJK_SSMZXX.SSM000; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke091' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术、操作名称 VVALUE0:= XJK_SSMZXX.SSMC00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke092' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; end if; --手术、操作日期 VVALUE0:= XJK_SSMZXX.SSRQ00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke093' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术级别 VVALUE0:= XJK_SSMZXX.SSZL00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke094' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --CCHI名称 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkz601' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --CCHI编码 VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkz600' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术及操作医师 VVALUE0:= XJK_SSMZXX.SSYSMC; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke095' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --麻醉方式 VVALUE0:= to_char(XJK_SSMZXX.MZBH00); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke096' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --切口愈合等级 VVALUE0:= XJK_SSMZXX.QKYHDJ; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bke098' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --备注(备用内容) VVALUE0:= ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术执行开始时间 if XJK_SSMZXX.BKEH32 is not null and trim(XJK_SSMZXX.BKEH32) <> '' then VVALUE0 := XJK_SSMZXX.BKEH32; else VVALUE0:= substr(XJK_SSMZXX.SSRQ00,1,4)||'-'||substr(XJK_SSMZXX.SSRQ00,5,2)||'-'||substr(XJK_SSMZXX.SSRQ00,7,2)||' '||XJK_SSMZXX.SSSJ00; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkeh32' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术执行结束时间 if XJK_SSMZXX.BKEH33 is not null and trim(XJK_SSMZXX.BKEH33) <> '' then VVALUE0 := XJK_SSMZXX.BKEH33; elsif XJK_SSMZXX.BKEH32 is not null and trim(XJK_SSMZXX.BKEH32) <> '' then VVALUE0 := XJK_SSMZXX.BKEH32; else VVALUE0:= substr(XJK_SSMZXX.SSRQ00,1,4)||'-'||substr(XJK_SSMZXX.SSRQ00,5,2)||'-'||substr(XJK_SSMZXX.SSRQ00,7,2)||' '||XJK_SSMZXX.SSSJ00; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkeh33' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --是否有手术并发症 if XJK_SSMZXX.BKEH34 is not null and trim(XJK_SSMZXX.BKEH34) <> '' then VVALUE0 := XJK_SSMZXX.BKEH34; else VVALUE0:= '0'; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkeh34' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术并发症编码 if XJK_SSMZXX.BKEH35 is not null and trim(XJK_SSMZXX.BKEH35) <> '' then VVALUE0 := XJK_SSMZXX.BKEH35; else VVALUE0:= ''; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkeh35' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; --手术并发症名称 if XJK_SSMZXX.BKEH36 is not null and trim(XJK_SSMZXX.BKEH36) <> '' then VVALUE0 := XJK_SSMZXX.BKEH36; else VVALUE0:= ''; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=3 and ZDBH00='bkeh36' and ID0000=VID0000 and XH0001=XJK_SSMZXX.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountss'; --更新手术代码计数bkeh12 update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='bkeh12'; --开始写入手术医师明细ssyslist VINDEX0 := 0; for XJK_SSYSXX in ( select SSM000,SSLB00,YSBH00,YSMC00,YSFL00,SFZBH0,YSLB00,rownum PXXH00 from ( --术者 select SSM000,SSLB00,c.YGBH00 YSBH00,c.ZWXM00 YSMC00,'01' YSFL00,nvl(c.SFZBH0,c.YSZJHM) SFZBH0,c.YSLB00 from BA_BRSSXX b,BM_YGBM00 c where LSH000=PZYID00 and instr(';'||b.SSYS00||';' ,';'|| c.YGBH00||';')=1 union all --一助 select SSM000,SSLB00,c.YGBH00 YSBH00,c.ZWXM00 YSMC00,'02' YSFL00,nvl(c.SFZBH0,c.YSZJHM) SFZBH0,c.YSLB00 from BA_BRSSXX b,BM_YGBM00 c where LSH000=PZYID00 and instr(';'||b.IYS000||';' ,';'|| c.YGBH00||';')=1 union all --二助 select SSM000,SSLB00,c.YGBH00 YSBH00,c.ZWXM00 YSMC00,'03' YSFL00,nvl(c.SFZBH0,c.YSZJHM) SFZBH0,c.YSLB00 from BA_BRSSXX b,BM_YGBM00 c where LSH000=PZYID00 and instr(';'||b.IIYS00||';' ,';'|| c.YGBH00||';')=1 union all --麻醉 select SSM000,SSLB00,c.YGBH00 YSBH00,c.ZWXM00 YSMC00,'04' YSFL00,nvl(c.SFZBH0,c.YSZJHM) SFZBH0,c.YSLB00 from BA_BRSSXX b,BM_YGBM00 c where LSH000=PZYID00 and instr(';'||b.MZYS00||';' ,';'|| c.YGBH00||';')=1 ) a where a.YSBH00 is not null ) loop VINDEX0 := VINDEX0+1; --循环写入手术医生明细ssyslist insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH, XJK_SSYSXX.PXXH00,PYBJKID from ZY_XBADY0 a where JKBH00 =4; --手术及操作编码 if ls_bke091 is not null then VVALUE0 := ls_bke091; else VVALUE0 := XJK_SSYSXX.SSM000; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='bke091' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; --手术医师分类 VVALUE0 := XJK_SSYSXX.YSFL00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='bkz563' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; --医师姓名 VVALUE0 := XJK_SSYSXX.YSMC00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='aac003' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; --医师身份证号 VVALUE0 := XJK_SSYSXX.SFZBH0; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='aac002' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; --医师等级 VVALUE0 := XJK_SSYSXX.YSLB00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='bke306' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; --备注 VVALUE0 := ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=4 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_SSYSXX.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountssys'; --开始写入科室明细kslist VINDEX0 := 0; for XJK_KSXX00 in ( select * from ( select decode(QSZT00,'新入','01','出院','02','转出','03','转入','04') jszt00,KSH000,KSMC00,BQH000,CH0000,ZKSJ00,rownum as pxxh00,bqmc00 from (select QSZT00,KSH000,(Select b.BMMC00 from BM_BMBM00 b Where b.BMBH00 = a.KSH000) as KSMC00, BQH000,CH0000,replace(QSRQ00||QSSJ00,':','') as ZKSJ00, (Select b.BMMC00 from BM_BMBM00 b Where b.BMBH00 = a.BQH000) as BQMC00 from BQ_BRLDXX a where ZYID00=PZYID00 and qszt00 in ('新入','转入') union all select JSZT00,KSH000,(Select b.BMMC00 from BM_BMBM00 b Where b.BMBH00 = a.KSH000) as KSMC00, BQH000,CH0000,replace(JSRQ00||JSSJ00,':','') as ZKSJ00, (Select b.BMMC00 from BM_BMBM00 b Where b.BMBH00 = a.BQH000) as BQMC00 from BQ_BRLDXX a where ZYID00=PZYID00 and jszt00 in ('出院','转出') ) order by ZKSJ00 ) order by pxxh00 ) loop VINDEX0 := VINDEX0 + 1; --循环写入科室明细kslist insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH, XJK_KSXX00.PXXH00,PYBJKID from ZY_XBADY0 a where JKBH00 =5; --科别变更类型 VVALUE0 := XJK_KSXX00.JSZT00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bke307' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --科室编码 VVALUE0 := nvl(XJK_KSXX00.KSH000,0); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bkf237' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --科室名称 VVALUE0 := XJK_KSXX00.KSMC00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bkf238' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --病区 VVALUE0 := nvl(XJK_KSXX00.bqmc00,0); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bke310' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --床位号 VVALUE0 := nvl(XJK_KSXX00.CH0000,0); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bke311' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --转科时间(格式 YYYYMMDDHHMMSS) VVALUE0 := XJK_KSXX00.ZKSJ00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='bkz603' and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; --备注 VVALUE0 := ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=5 and ZDBH00='aae013'and ID0000=VID0000 and XH0001=XJK_KSXX00.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountks'; --开始写入医师明细yslist VINDEX0 := 0; for XJK_CFYSXX in ( select a.ZWXM00,a.SFZBH0,a.YSLB00,bkeh08, rownum as pxxh00 from ( select distinct c.ZWXM00,nvl(c.SFZBH0,c.YSZJHM) SFZBH0,c.YSLB00,c.YBYGDM bkeh08 from ZY_FYMX00 a,BM_YGBM00 c where a.ZYID00=PZYID00 and a.KDYS00=c.YGBH00 and instr(c.ygxz00,'1')>0 ) a ) loop VINDEX0 := VINDEX0 + 1; --循环写入医生明细yslist insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,XJK_CFYSXX.PXXH00,PYBJKID from ZY_XBADY0 a where JKBH00 =6; --医师类型 if XJK_CFYSXX.YSLB00 = '5' then VVALUE0 := '01'; elsif XJK_CFYSXX.YSLB00 = '4' then VVALUE0 := '02'; elsif XJK_CFYSXX.YSLB00 = '3' then VVALUE0 := '03'; elsif XJK_CFYSXX.YSLB00 = '2' then VVALUE0 := '04'; elsif XJK_CFYSXX.YSLB00 = '1' then VVALUE0 := '06'; elsif XJK_CFYSXX.YSLB00 = '0' then VVALUE0 := '07'; else VVALUE0 := ''; end if; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='bke305' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; --医师姓名 VVALUE0 := XJK_CFYSXX.ZWXM00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='aac003' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; --医师身份证号 VVALUE0 := XJK_CFYSXX.SFZBH0; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='aac002' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; --医师等级 VVALUE0 := XJK_CFYSXX.YSLB00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='bke306' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; --备注 VVALUE0 := ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; --主诊医师代码 VVALUE0 := XJK_CFYSXX.bkeh08; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=6 and ZDBH00='bkeh08' and ID0000=VID0000 and XH0001=XJK_CFYSXX.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountys'; --开始写入损伤、中毒的外部原因明细list --insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, -- CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,YBJKID) --select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, -- PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,PYBJKID --from ZY_XBADY0 a --where XMXYB0 = 1 and JKBH00 =7; --VVALUE0 := '-'; --update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=7 and ID0000=VID0000; --开始写入重症监护明细list --insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, -- CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH) --select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, -- PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH --from ZY_XBADY0 --where XMXYB0 = 1 and JKBH00 =8; --VVALUE0 := '-'; --update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=8 and ID0000=VID0000; --开始写入药物过敏明细list --insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, -- CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,YBJKID) --select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, -- PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,PYBJKID --from ZY_XBADY0 --where XMXYB0 = 1 and JKBH00 =9; --VVALUE0 := '-'; --update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=9 and ID0000=VID0000; --开始写入颅脑损伤患者昏迷时间明细list --insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, -- CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,YBJKID) --select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, -- PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,PYBJKID --from ZY_XBADY0 --where XMXYB0 = 1 and JKBH00 =10; --VVALUE0 := '-'; --update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=10 and ID0000=VID0000; --开始写入费用明细ist默认行,当行内无数据时,发送这一段,行内有数据时,删除这一段 --增加xh0001为0 xutz --insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, -- CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0,MXJKBH,XH0001,YBJKID) --select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, -- PCZY000,VCZRQ00,VCZSJ00,ZDBH00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00,MXJKBH,0,PYBJKID --from ZY_XBADY0 a --where XMXYB0 = 1 and JKBH00 =11; --VVALUE0 := '-'; --update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=11 and ID0000=VID0000; --开始写入费用明细fylist VINDEX0 := 0; for XJK_FYXX00 in ( select a.HJJE00,b.FYLX00,b.YLFWXM,rownum as pxxh00 from VW_ZY_PATIENT_COST a,BM_BAXM00 b where a.BAXMID=b.BAXMID and a.HJJE00>0 and ZYID00=PZYID00 ) loop VINDEX0 := VINDEX0 + 1; --循环写入费用明细fylist insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0, MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00, MXJKBH,XJK_FYXX00.PXXH00,PYBJKID from ZY_XBADY0 a where JKBH00 =11 and SFYX00='0'; --费用类型 VVALUE0 := XJK_FYXX00.FYLX00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=11 and ZDBH00='bkc560' and ID0000=VID0000 and XH0001=XJK_FYXX00.PXXH00; --医疗服务项目 VVALUE0 := XJK_FYXX00.YLFWXM; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=11 and ZDBH00='bkc561' and ID0000=VID0000 and XH0001=XJK_FYXX00.PXXH00; --金额 VVALUE0 := nvl(XJK_FYXX00.HJJE00,0); update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=11 and ZDBH00='aae019' and ID0000=VID0000 and XH0001=XJK_FYXX00.PXXH00; --备注 VVALUE0 := ''; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=11 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_FYXX00.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountfy'; --update ZY_BASYFS set FSZDM0=lower(FSZDM0) where ID0000=VID0000; VINDEX0 := 0; --票据信息 for XJK_PJXX00 in ( select trim(decode(nvl(a.WBPJDM,'0'),'0',decode(nvl(a.HTFPDM,'0'),'0',a.PJH000,a.HTFPDM),a.WBPJDM)) PJDH00, trim(decode(nvl(a.WBPJXH,'0'),'0',decode(nvl(a.HTFPXH,'0'),'0',a.PJXH00,a.HTFPXH),a.WBPJXH)) PJHM00, HJJE00 PJJE00,'' BZ0000,rownum as PXXH00, (select YBDJH0 from ZY_JZB000 where PJH000=a.FZPJH0) AAE072 from ZY_PJSYQK a where a.ZYID00=PZYID00 and a.PLBH00=3 and a.PJZT00='0' and a.HJJE00<>0 ) loop VINDEX0 := VINDEX0 + 1; --循环写入票据明细fjxxlist insert into ZY_BASYFS(ID0000,ZYID00,ZYH000,BRXM00,YBZYH0,YBKH00,YBID00,FBBH00,YBZXLB,YBLB00, CZY000,CZRQ00,CZSJ00,ZDBH00,ZDMC00,VALUE0,PXXH00,JZDH00,JKBH00,FSZDM0, MXJKBH,XH0001,YBJKID) select VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00,VYBZXLB,VYBLB00, PCZY000,VCZRQ00,VCZSJ00,JKBZ00,ZDMC00,'',nvl(PXXH00,1),0,JKBH00,JKBZ00, MXJKBH,XJK_PJXX00.PXXH00,PYBJKID from ZY_XBADY0 a where JKBH00 =12 and SFYX00='0'; --票据代号 VVALUE0 := XJK_PJXX00.PJDH00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=12 and ZDBH00='bkeh09' and ID0000=VID0000 and XH0001=XJK_PJXX00.PXXH00; --票据号码 VVALUE0 := XJK_PJXX00.PJHM00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=12 and ZDBH00='bkeh10' and ID0000=VID0000 and XH0001=XJK_PJXX00.PXXH00; --票据金额 VVALUE0 := XJK_PJXX00.PJJE00; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=12 and ZDBH00='bke593' and ID0000=VID0000 and XH0001=XJK_PJXX00.PXXH00; --备注 VVALUE0 := XJK_PJXX00.BZ0000; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=12 and ZDBH00='aae013' and ID0000=VID0000 and XH0001=XJK_PJXX00.PXXH00; --医保收费流水号 VVALUE0 := XJK_PJXX00.AAE072; update ZY_BASYFS set VALUE0=VVALUE0 where JKBH00=12 and ZDBH00='aae072' and ID0000=VID0000 and XH0001=XJK_PJXX00.PXXH00; end loop; --数量在这里进行更新 VVALUE0:=VINDEX0; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountpj'; SP_ZY_BASYFS_WLBACL(VID0000,PZYID00,vZYH000,VBRXM00,VYBZYH0,VYBKH00,VYBID00,VFBBH00, VYBZXLB,VYBLB00,PCZY000,VCZRQ00,VCZSJ00,PYBJKID,PYHMSG0); --处理完外厂家病案推送后重新更新bkeh12,bkeh88节点 select VALUE0 into VVALUE0 from ZY_BASYFS where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountss'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='bkeh12'; select VALUE0 into VVALUE0 from ZY_BASYFS where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='itemcountzd'; update ZY_BASYFS set VALUE0=VVALUE0 where ID0000=VID0000 and ZYID00=PZYID00 and ZDBH00='bkeh88'; PID0000:=VID0000; --commit; exception when others then PYHMSG0 := dbms_utility.format_error_backtrace||'SP_ZY_BASYFS_NEWYBJK 数据整理出错!'; --raise_application_error(-20001,dbms_utility.format_error_backtrace||'数据整理出错!'||SQLERRM); rollback; end;