create or replace procedure SP_BA_BASSJZKXYBYLSH000 -- MODIFICATION HISTORY -- Person Date Comments -- shieq 2021.08.25 Create BAGLTYB-20210822-001 -- shieq 2021.09.14 BAGLTYB-20210909-003 -- shieq 2021.09.24 BAGLTYB-20210923-001 添加肿瘤报告卡判断 -- shieq 2021.10.08 BAGLTYB-20211008-001 至少应包含一个出院西医主诊断信息 ( as_lsh000 in varchar2 ) as cursor CUR_BRZYXX is select * from VW_BA_SJJXBASSJ VW where VW.lsh000=as_lsh000; LS_BRZYXX CUR_BRZYXX%rowtype; zdmCount1 number(4); --zdmCount2 number(4); --zdmCount3 number(4); --zdmCount4 number(4); mzCount number(4); qtzdmCount number(4); cytzCount number(4); v_zlxg VARCHAR(800); tempFlag VARCHAR(8); yrcstzCount number(4);--婴儿出生体重 ybCount number(4);--邮编 ssCount number(4);--手术 lnCount number(4);--颅脑损失患者 fyCount number(4);--费用 hyzkCount number(4);--婚姻状况 xbCount number(4);--性别 zyCount number(4);--职业 zlxgCount number(4);--治疗效果 qkyhdjCount number(4);--切口愈合等级 kbCount number(4);--科别 rybqCount number(4);--入院病情 ssjbCount number(4);--手术级别 jffsCount number(4);--医保支付方式 mzfsCount number(4);--麻醉方式 begin delete from BA_ZKJL00; open CUR_BRZYXX; loop fetch CUR_BRZYXX into LS_BRZYXX; exit when CUR_BRZYXX%notfound; select count(1) into qtzdmCount from BQ_BASZDB ZD where ZD.ZYID00=LS_BRZYXX.LSH000 and substr(ZD.ZDM000,1,3) ='Z37' and ZDLB00='4'; select count(1) into cytzCount from BQ_BASZDB ZD where ZD.ZYID00=LS_BRZYXX.LSH000 and (ZD.ZDM000 ='Z37.000' or ZD.ZDM000 ='Z37.000X001' or ZD.ZDM000 ='Z37.000x001' ); /* select count(1) into zdmCount1 from XT_CM3000 where CM3000=LS_BRZYXX.SSJCZBM1; select count(1) into zdmCount2 from XT_CM3000 where CM3000=LS_BRZYXX.SSJCZBM2; select count(1) into zdmCount3 from XT_CM3000 where CM3000=LS_BRZYXX.SSJCZBM3; select count(1) into zdmCount4 from XT_CM3000 where CM3000=LS_BRZYXX.SSJCZBM4; select count(1) into mzCount from XT_MZ0000 MZ where MZ.MC0000=LS_BRZYXX.MZ0000;*/ if(LS_BRZYXX.Zkrq00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'质控日期不得为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYRQ00>LS_BRZYXX.CYRQ00) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院时间应小于等于出院日期','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(to_date(LS_BRZYXX.RYRQ00,'yyyy-mm-dd')-to_date(LS_BRZYXX.BRCSRQ,'yyyy-mm-dd')<=28 and LS_BRZYXX.YERYTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'新生儿入院体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BRNL00>0 and floor((to_date(LS_BRZYXX.RYRQ00,'yyyy-mm-dd')-to_date(LS_BRZYXX.BRCSRQ,'yyyy-mm-dd'))/365)-LS_BRZYXX.BRNL00>2) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄不正确','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(cytzCount>0 and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断为Z37.000或Z37.000X001时, 新生儿出生体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(to_date(LS_BRZYXX.RYRQ00,'yyyy-mm-dd')-to_date(LS_BRZYXX.BRCSRQ,'yyyy-mm-dd')<=28 and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'新生儿出生体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZKRQ00 to_char(sysdate,'yyyymmdd')) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'质控日期不能晚于当前时间','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LYFS00 is null or LS_BRZYXX.LYFS00='-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'离院方式不能为空或不能为''-'';','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LYFS00='医嘱转院' and LS_BRZYXX.ZYYLJG is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'离院方式为医嘱转院或医嘱转社区卫生服务机构/乡镇卫生院的患者必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LYFS00='死亡' and LS_BRZYXX.SFSJ00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院情况为死亡,尸检不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZZYJH0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'是否有31天再住院计划值不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZZYJH0='有' and LS_BRZYXX.ZZYMD0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'有出院31日内再住院计划,出院31天再住院计划目的不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BAH000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病案号不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYCS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院次数不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BRCSRQ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出生日期不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYSJ00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院时间不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYKB00='0') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院科别不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if (LS_BRZYXX.CYRQ00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院时间不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYTS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'实际住院天数不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYTS00=0 or ISNUMBER(LS_BRZYXX.ZYTS00)=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'实际住院天数字段值错误,值域范围参考[1-999999]','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYBF00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院病房不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.CYBF00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院病房不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.CSDS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出生地不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if (LS_BRZYXX.SFZH00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'身份证号不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XZZXC0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XZZDH0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址电话不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XZZYB0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址邮政编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if((LS_BRZYXX.BRNL00 is null or LS_BRZYXX.BRNL00=0) and LS_BRZYXX.BRNLDD>365) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病人年龄有无,值域范围参考[0-365]','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if((LS_BRZYXX.BRNL00 is null or LS_BRZYXX.BRNL00=0)and LS_BRZYXX.BRNLDD is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当病人小于1岁时,不足1周岁不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XZZXC0<>'-' and ISNUMBER(LS_BRZYXX.XZZYB0)=0 and ls_brzyxx.xzzyb0 <> '-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址邮政编码应为数字类型','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(length(LS_BRZYXX.XZZYB0)<>6 and LS_BRZYXX.XZZYB0<>'-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址邮编长度应该等于6','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.JTYB00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'户口住址邮政编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.JTDZ00<>'-' and ISNUMBER(LS_BRZYXX.JTYB00)=0 and ls_brzyxx.jtyb00 <> '-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'户口邮政编码应为数字类型','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(length(LS_BRZYXX.JTYB00)<>6 and LS_BRZYXX.JTYB00<>'-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'户口邮编长度应该等于6','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.GZDW00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作单位及地址不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.GZDH00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作单位电话不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.GZYB00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作单位邮政编码不能为空; ','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.GZDW00<>'-' and ISNUMBER(LS_BRZYXX.GZYB00)=0 and ls_brzyxx.gzyb00 <> '-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作邮政编码应为数字类型','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(length(LS_BRZYXX.GZYB00)<>6 and LS_BRZYXX.GZYB00<>'-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作邮编长度应该等于6','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LXRXM0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'联系人姓名不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LXRDZ0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'联系人地址不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LXRDH0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'联系人电话不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.LXRGX0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'联系人关系不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.JFFS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'医疗付款方式不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BRXM00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'性别不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.GJ0000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'国籍不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.JGSF00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'籍贯不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.MZ0000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'民族不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from XT_MZ0000 MZ where MZ.MC0000=LS_BRZYXX.MZ0000; if(mzCount =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'民族值不在字典范围内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZY0000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'职业不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.HYZK00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婚姻状况不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYTJ00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院途径不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XX0000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'ABO血型,不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RH0000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'Rh血型,不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.KZR000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'科主任不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.FZR000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主任不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZZYS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主治医师不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYYS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院医师不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZRHS00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'责任护士不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from XT_ZD0000 where VALUE0=LS_BRZYXX.JGSF00 and ZDBM00='JG0000'; if(LS_BRZYXX.JGSF00 <>'-' and zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'籍贯不在字典范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* if(LS_BRZYXX.SHRXM0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'编码员不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(to_date(LS_BRZYXX.CYRQ00,'yyyyMMdd')-to_date(LS_BRZYXX.RYRQ00,'yyyyMMdd')<>0 and to_date(LS_BRZYXX.CYRQ00,'yyyyMMdd')-to_date(LS_BRZYXX.RYRQ00,'yyyyMMdd')<>LS_BRZYXX.ZYTS00) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'实际住院天数(SJZY)填写不正确','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASSSB SS where SS.LSH000=LS_BRZYXX.LSH000 and SS.SSRQ00 >LS_BRZYXX.CYRQ00; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术日期应小于出院日期','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASSSB SS where SS.LSH000=LS_BRZYXX.LSH000 and SS.SSRQ00 0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术日期应大于入院日期','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASSSB SS where SS.LSH000=LS_BRZYXX.LSH000 and SS.SSRQ00 <>'-' and isdate(SSRQ00,'yyyy-mm-dd')=0; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术时间格式不正确','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZMC1 <> '-' and LS_BRZYXX.SSJCZBM1 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第一条手术编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZMC2 <> '-' and LS_BRZYXX.SSJCZBM2 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第二条手术编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZMC3 <> '-' and LS_BRZYXX.SSJCZBM3 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第三条手术编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZMC4 <> '-' and LS_BRZYXX.SSJCZBM4 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第四条手术编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /*select count(1) into zdmCount1 from XT_CM3000 where CM3000=LS_BRZYXX.SSJCZBM1; if(LS_BRZYXX.SSJCZBM1 <> '-' and zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第一条手术编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZBM2 <> '-' and zdmCount2=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第二条手术编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZBM3 <> '-' and zdmCount3=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第三条手术编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SSJCZBM4 <> '-' and zdmCount4=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'第四条手术编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ tempFlag :='f'; if(LS_BRZYXX.ZYZFY0 < (LS_BRZYXX.Ybylfw+LS_BRZYXX.Ybzlcz+LS_BRZYXX.Hlf000+LS_BRZYXX.QTFY00+LS_BRZYXX.Blzdf0+LS_BRZYXX.Syszdf+LS_BRZYXX.Yxxzdf+LS_BRZYXX.Lczdxm +LS_BRZYXX.Fsszlf+LS_BRZYXX.Sszlf0+LS_BRZYXX.Kff000+LS_BRZYXX.Zyzl00+LS_BRZYXX.Xyf000+LS_BRZYXX.Zcyf00+LS_BRZYXX.Zcyf10+LS_BRZYXX.Xf0000+LS_BRZYXX.Bdblzp +LS_BRZYXX.Qdblzp+LS_BRZYXX.Nxyzzp+LS_BRZYXX.Xbyzzp+LS_BRZYXX.Jcyclf+LS_BRZYXX.Zlyclf+LS_BRZYXX.Ssyclf)) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'总费用大于或等于分项费用之和D01≥(D11+D12+D13+D14+D15+D16+D17+D18+D19+D20+D21+D22+D23+D24+D25+D26+D27+D28+D29+D30+D31+D32+D33+D34)','3','2',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); tempFlag :='t'; end if; if(LS_BRZYXX.ZFJE00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'自付金额不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); tempFlag :='t'; end if; if(LS_BRZYXX.ZYZFY0 28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院主要诊断疾病诊断码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM2,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM3,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM4,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM5,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM6,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM7,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院其他诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.MZZD_JBBM,1,3) between 'P10' and 'P15' and (to_date(LS_BRZYXX.RYRQ00,'yyyymmdd')-to_date(LS_BRZYXX.BRCSRQ,'yyyymmdd'))>28) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门(急)诊诊断编码为P10~P15时,入院时间减出生日期必须≤28天','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM1,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM2,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM3,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM4,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM5,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM6,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM7,1,3) between 'O80' and 'O84' and qtzdmCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断编码出现O80-O84编码,出院其他诊断编码必须有分娩结局编码Z37','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if((substr(LS_BRZYXX.ZYZD_JBBM,1,5)='Z37.0' or substr(LS_BRZYXX.ZYZD_JBBM,1,5)='Z37.2' or substr(LS_BRZYXX.ZYZD_JBBM,1,5)='Z37.3' or substr(LS_BRZYXX.ZYZD_JBBM,1,5)='Z37.5' or substr(LS_BRZYXX.ZYZD_JBBM,1,5)='Z37.6') and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'产妇的新生儿体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD_JBBM1 is not null and (substr(LS_BRZYXX.ZYZD_JBBM1,1,5)='Z37.0' or substr(LS_BRZYXX.ZYZD_JBBM1,1,5)='Z37.2' or substr(LS_BRZYXX.ZYZD_JBBM1,1,5)='Z37.3' or substr(LS_BRZYXX.ZYZD_JBBM1,1,5)='Z37.5' or substr(LS_BRZYXX.ZYZD_JBBM1,1,5)='Z37.6') and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'产妇的新生儿体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD_JBBM2 is not null and (substr(LS_BRZYXX.ZYZD_JBBM2,1,5)='Z37.0' or substr(LS_BRZYXX.ZYZD_JBBM2,1,5)='Z37.2' or substr(LS_BRZYXX.ZYZD_JBBM2,1,5)='Z37.3' or substr(LS_BRZYXX.ZYZD_JBBM2,1,5)='Z37.5' or substr(LS_BRZYXX.ZYZD_JBBM2,1,5)='Z37.6') and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'产妇的新生儿体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD_JBBM2 is not null and (substr(LS_BRZYXX.ZYZD_JBBM3,1,5)='Z37.0' or substr(LS_BRZYXX.ZYZD_JBBM3,1,5)='Z37.2' or substr(LS_BRZYXX.ZYZD_JBBM3,1,5)='Z37.3' or substr(LS_BRZYXX.ZYZD_JBBM3,1,5)='Z37.5' or substr(LS_BRZYXX.ZYZD_JBBM3,1,5)='Z37.6') and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'产妇的新生儿体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD_JBBM2 is not null and (substr(LS_BRZYXX.ZYZD_JBBM4,1,5)='Z37.0' or substr(LS_BRZYXX.ZYZD_JBBM4,1,5)='Z37.2' or substr(LS_BRZYXX.ZYZD_JBBM4,1,5)='Z37.3' or substr(LS_BRZYXX.ZYZD_JBBM4,1,5)='Z37.5' or substr(LS_BRZYXX.ZYZD_JBBM4,1,5)='Z37.6') and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'产妇的新生儿体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD_JBBM is null or LS_BRZYXX.ZYZD_JBBM='-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要诊断名称不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYZD is null or LS_BRZYXX.ZYZD='-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要诊断疾病编码不能为空,不能为''-''','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASZYB where LSH000=LS_BRZYXX.LSH000 and SSZDWY is null; if((LS_BRZYXX.ZYZD_JBBM like 'S%' or LS_BRZYXX.ZYZD_JBBM like 'T%') and zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'损伤中毒原因不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASZYB where LSH000=LS_BRZYXX.LSH000 and SSZDBM is null; if((LS_BRZYXX.ZYZD_JBBM like 'S%' or LS_BRZYXX.ZYZD_JBBM like 'T%') and zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'损伤中毒编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASZYB A ,VW_ZS_SSZDYW_DZBL B where LSH000=LS_BRZYXX.LSH000 and A.SSZDBM=B.ICD900; if((LS_BRZYXX.ZYZD_JBBM like 'S%' or LS_BRZYXX.ZYZD_JBBM like 'T%') and zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'损伤中毒编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.MZZD is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门诊诊断不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.MZZD_JBBM is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门诊诊断疾病编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM,1,3) between 'C00' and 'D48' and LS_BRZYXX.BLZDBM is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病理诊断编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(substr(LS_BRZYXX.ZYZD_JBBM,1,3) between 'C00' and 'D48' and LS_BRZYXX.BLZD00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病理诊断名称不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if((substr(LS_BRZYXX.ZYZD_JBBM,1,3) between 'D00' and 'D48' or LS_BRZYXX.ZYZD_JBBM like 'C%') and LS_BRZYXX.blh000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病理诊断编码不能空,病理号不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BASZYB A ,XT_ZLXTM0 B where LSH000=LS_BRZYXX.LSH000 and A.BLZDBM=B.ICD100; if(LS_BRZYXX.BLZDBM is not null and trim(LS_BRZYXX.BLZDBM)<>'-' and zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病理诊断编码不在编码范围内','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select floor(months_between(to_date(LS_BRZYXX.RYRQ00,'yyyy-mm-dd'), to_date(LS_BRZYXX.BRCSRQ,'yyyy-mm-dd'))/12 ) into mzCount from dual; if(mzCount -1 <= LS_BRZYXX.BRNL00 and mzCount+1>= LS_BRZYXX.BRNL00) then mzCount :=1; else insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄应等于入院时间减出生日期(误差范围1岁)','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYKB00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院科别不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); else select count(1) into qtzdmCount from BA_SJJXDY H where H.BH0000=LS_BRZYXX.RYKB00 and rownum<=1; if(qtzdmCount =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院科别三级绩效科室没对应','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.CYKB00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院科别不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); else select count(1) into qtzdmCount from BA_SJJXDY H where H.BH0000=LS_BRZYXX.CYKB00 and rownum<=1; if(qtzdmCount =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院科别三级绩效科室没对应','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(length(LS_BRZYXX.RYTJ00)>1) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院途径值域范围参考代码表','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗代码') and ss.SSYSMC is null and ss.lsh000 =LS_BRZYXX.LSH000 and ss.sslb00 ='1'; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作术者必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ select count(1) into mzCount from BA_BASSSB SS where ss.SSYSMC is null and ss.lsh000 =LS_BRZYXX.LSH000 ; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术操作术者必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; -- select count(1),wm_concat(ss.ssm000) into mzCount,v_zlxg from BA_BASSSB SS where ss.ssys00 is null and ss.lsh000 =LS_BRZYXX.LSH000 ; select count(1),wm_concat(ss.ssmc00) into mzCount,v_zlxg from BA_BASSSB ss left join bm_ygbm00 yg on ss.ssys00 = yg.YGBH00 where lsh000 =LS_BRZYXX.LSH000 and (ss.ssys00 is null or ygbh00 is null); if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,v_zlxg || '手术名称的术者异常,请及时修正','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗') and ss.SSXH00 ='1' and ss.lsh000 =LS_BRZYXX.LSH000 and trim(LS_BRZYXX.SHJB1) is null; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作级别必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗') and trim(LS_BRZYXX.YZ1) is null and ss.lsh000 =LS_BRZYXX.LSH000 and ss.sslb00 ='1'; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作I助必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗') and trim(LS_BRZYXX.EZ1) is null and ss.lsh000 =LS_BRZYXX.LSH000 and ss.sslb00 ='1'; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作Ⅱ助必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗') and trim(LS_BRZYXX.MZFS1) is null and ss.lsh000 =LS_BRZYXX.LSH000 and ss.sslb00 ='1'; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作麻醉方式必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术','介入治疗') and trim(LS_BRZYXX.MZYS1) is null and ss.lsh000 =LS_BRZYXX.LSH000 and ss.sslb00 ='1'; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术或介入治疗代码时,主要手术操作麻醉医师必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into mzCount from BA_BASSSB SS join xt_cm3000 xt on ss.ssm000=xt.cm3000 where xt.lb0000 in ('手术') and ss.SSXH00 ='1' and ss.lsh000 =LS_BRZYXX.LSH000 and trim(LS_BRZYXX.QKYHDJ1) is null; if(mzCount >0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码为手术时,主要手术操作切口愈合等级必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.YBYLFW <0 or LS_BRZYXX.YBZLCZ <0 or LS_BRZYXX.HLF000 <0 or LS_BRZYXX.QTFY00 <0 or LS_BRZYXX.BLZDF0 <0 or LS_BRZYXX.SYSZDF <0 or LS_BRZYXX.YXXZDF <0 or LS_BRZYXX.LCZDXM <0 or LS_BRZYXX.FSSZLF <0 or LS_BRZYXX.SSZLF0 <0 or LS_BRZYXX.KFF000 <0 or LS_BRZYXX.ZYZL00 <0 or LS_BRZYXX.XYF000 <0 or LS_BRZYXX.ZCYF00 <0 or LS_BRZYXX.ZCYF10 <0 or LS_BRZYXX.XF0000 <0 or LS_BRZYXX.BDBLZP <0 or LS_BRZYXX.QDBLZP <0 or LS_BRZYXX.NXYZZP <0 or LS_BRZYXX.XBYZZP <0 or LS_BRZYXX.JCYCLF <0 or LS_BRZYXX.ZLYCLF <0 or LS_BRZYXX.SSYCLF <0 or LS_BRZYXX.Qtf000 <0 ) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'费用不能为负数','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into v_zlxg from (select rownum XH0000,a.* from (select ZLXG00 from bq_baszdb where ZYID00=LS_BRZYXX.LSH000 and ZDLB00='3' order by PLXH00,ID0000) a) where XH0000=1; if(v_zlxg <>'0') then select decode(ZLXG00,'1','1','2','2','3','3','4','4','5','9','6','9','7','9','8','9') into v_zlxg from (select rownum XH0000,a.* from (select ZLXG00 from bq_baszdb where ZYID00=LS_BRZYXX.LSH000 and ZDLB00='3' order by PLXH00,ID0000) a) where XH0000=1; if(v_zlxg ='4') then if(LS_BRZYXX.LYFS00 <>'死亡') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当出院主要诊断治疗效果为死亡,离院方式不能为1.医嘱离院 2.医嘱转院 3.医嘱转社区卫生服务机构 4.非医嘱离院 9. 其他','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; end if; mzCount := trunc(MONTHS_BETWEEN(to_date(LS_BRZYXX.RYRQ00,'yyMMdd'),to_date(LS_BRZYXX.BRCSRQ,'yyMMdd'))/12); if(LS_BRZYXX.BRNLMM is null and mzCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当年龄小于1周岁时,病人年龄月不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BRNL00=0 and LS_BRZYXX.BRNLDD=0 and LS_BRZYXX.BRNLMM=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当年龄小于1周岁时,病人年龄天不能为0','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if( (LS_BRZYXX.YBYLFW+LS_BRZYXX.YBZLCZ+LS_BRZYXX.HLF000+LS_BRZYXX.QTFY00+LS_BRZYXX.BLZDF0+LS_BRZYXX.SYSZDF+LS_BRZYXX.YXXZDF+LS_BRZYXX.LCZDXM+LS_BRZYXX.FSSZLF+LS_BRZYXX.SSZLF0+ LS_BRZYXX.KFF000+LS_BRZYXX.ZYZL00+LS_BRZYXX.XYF000+LS_BRZYXX.ZCYF00+LS_BRZYXX.ZCYF10+LS_BRZYXX.XF0000+LS_BRZYXX.BDBLZP+LS_BRZYXX.QDBLZP+LS_BRZYXX.NXYZZP+LS_BRZYXX.XBYZZP+ LS_BRZYXX.JCYCLF+LS_BRZYXX.ZLYCLF+LS_BRZYXX.SSYCLF+LS_BRZYXX.Qtf000) <> LS_BRZYXX.ZYZFY0 ) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院费用=一般医疗服务费用+一般治疗操作费+护理费+其他费用+病理诊断费+实验室诊断费+影像学诊断费+临床诊断项目费+非手术治疗项目费+手术治疗费+康复费+中医治疗费+西药费+中草药费+中草药费+血费+白蛋白质类制品费+球蛋白类制品费+凝血因子类制品费+细胞因子类制品费+检查用一次性医用材料费+治疗用一次性医用材料费+手术用一次性医用材料费+其他费','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); tempFlag :='t'; end if; if(tempFlag ='t') then delete from BA_SYFYB0 where zyid00= LS_BRZYXX.LSH000; insert into BA_SYFYB0(ZYID00,ZYZFY0,ZFJE00,YBYLFW,ZYBZLZ,ZYBZHZ,YBZLCZ,HLF000,QTFY00,BLZDF0,SYSZDF,YXXZDF,LCZDXM,FSSZLF,LCWLZL,SSZLF0, MZF000,SSF000,KFF000,ZYZD00,ZYZL00,ZYWZ00,ZYGS00,ZCYJF0,ZYTNZL,ZYGCZL,ZYTSZL,ZYQT00,ZYTSTP,BZSSF0,XYF000,KJYWF0,ZCYF00,ZYZJF0,ZCYF10, XF0000,BDBLZP,QDBLZP,NXYZZP,XBYZZP,JCYCLF,ZLYCLF,SSYCLF,QTF000) select ZYID00,ZYZFY0,ZFJE00,YBYLFW,ZYBZLZ,ZYBZHZ,YBZLCZ,HLF000,QTFY00,BLZDF0,SYSZDF,YXXZDF,LCZDXM,FSSZLF,LCWLZL,SSZLF0, MZF000,SSF000,KFF000,ZYZD00,ZYZL00,ZYWZ00,ZYGS00,ZCYJF0,ZYTNZL,ZYGCZL,ZYTSZL,ZYQT00,ZYTSTP,BZSSF0,XYF000,KJYWF0,ZCYF00,ZYZJF0,ZCYF10, XF0000,BDBLZP,QDBLZP,NXYZZP,XBYZZP,JCYCLF,ZLYCLF,SSYCLF,QTF000 from VW_MR_BRZYFY where ZYID00=LS_BRZYXX.LSH000; commit; end if; if(LS_BRZYXX.BLZDBM is not null and LS_BRZYXX.Blh000 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'有病理诊断编码时,病理号不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if((LS_BRZYXX.cyrq00||LS_BRZYXX.cysj00 ) <= (LS_BRZYXX.ryrq00||LS_BRZYXX.rysj00 )) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院时间应不晚于出院时间','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BQ_BASZDB where ZYID00=LS_BRZYXX.LSH000 and ZDM000 not in (select icd900 from XT_ICD900) and zdlb00 in ('3','4'); if(LS_BRZYXX.ZYZD_JBBM <> '-' and zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,(select (select '【'||wm_concat(zdm000) ||'】'||'诊断疾病编码不在疾病编码范围内' from BQ_BASZDB where ZYID00='878338' and ZDM000 not in (select icd900 from XT_ICD900) and zdlb00 in ('3','4')) from dual),'3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); --insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断疾病编码不在疾病编码范围内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from XT_ICD900 where ICD900=LS_BRZYXX.MZZD_JBBM; if(LS_BRZYXX.MZZD_JBBM <> '-' and zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门急诊疾病编码不在疾病编码范围内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.zrhs00 is not null ) then select count(1) into v_zlxg from BM_YGBM00 where ygbh00||''=LS_BRZYXX.zrhs00 and YSZJHM is not null; if(v_zlxg =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'责任护士医师执业证书编码未对应','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.zyys00 is not null ) then select count(1) into v_zlxg from BM_YGBM00 where ygbh00||''=LS_BRZYXX.zyys00 and YSZJHM is not null; if(v_zlxg =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院医师执业证书编码未对应','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.zzys00 is not null ) then select count(1) into v_zlxg from BM_YGBM00 where ygbh00||''=LS_BRZYXX.zzys00 and YSZJHM is not null; if(v_zlxg =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主治医师执业证书编码未对应','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.fzr000 is not null ) then select count(1) into v_zlxg from BM_YGBM00 where ygbh00||''=LS_BRZYXX.fzr000 and YSZJHM is not null; if(v_zlxg =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主(副主)任医师执业证书编码未对应','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.kzr000 is not null ) then select count(1) into v_zlxg from BM_YGBM00 where ygbh00||''=LS_BRZYXX.kzr000 and YSZJHM is not null; if(v_zlxg =0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'科主任执业证书编码未对应','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if( length(LS_BRZYXX.BLZD00)>100) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病理诊断名称长度不能超过100','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.YECSTZ is not null ) then if (ISNUMBER(LS_BRZYXX.YECSTZ)=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婴儿出生体重字段值错误,值域范围参考[100-9999]','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); elsif (ISNUMBER(LS_BRZYXX.YECSTZ)=1 and (to_number(LS_BRZYXX.YECSTZ)>9999 or to_number(LS_BRZYXX.YECSTZ)<100 )) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婴儿出生体重字段值错误,值域范围参考[100-9999]','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.YERYTZ is not null ) then if ( ISNUMBER(LS_BRZYXX.YERYTZ)=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婴儿入院体重字段值错误,值域范围参考[100-9999]','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); elsif (ISNUMBER(LS_BRZYXX.YERYTZ)=1 and (to_number(LS_BRZYXX.YERYTZ)>9999 or to_number(LS_BRZYXX.YERYTZ)<100 )) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婴儿入院体重字段值错误,值域范围参考[100-9999]','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; --xuexc 龙岩质控规则缺失补充 /*if(LS_BRZYXX.JKDAH0 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'健康卡号不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.BAH000='-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病案号不能为''-''','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZYCS00<=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院次数必须是大于0的整数','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.CYRQ00||LS_BRZYXX.CYSJ00 < LS_BRZYXX.RYRQ00||LS_BRZYXX.RYSJ00) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院时间不能晚于出院时间','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BRXM00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'姓名不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.JTDZ00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'户口地址不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into ssCount from ba_basssb sb where sb.lsh000=LS_BRZYXX.LSH000; if(ssCount>0)then select count(1) into zdmCount1 from BA_BRZYFY FY where FY.ZYID00=LS_BRZYXX.LSH000 and FY.SFRJSS is null; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'是否为日间手术不能为空 ','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if;*/ select count(1) into zdmCount1 from BQ_BASZDB BQ where BQ.Zdlb00='1' and BQ.ZYID00=LS_BRZYXX.LSH000 and BQ.Zdm000 is null; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门(急)诊诊断编码不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BQ_BASZDB BQ where BQ.Zdlb00='1' and BQ.ZYID00=LS_BRZYXX.LSH000 and BQ.Zdmc00 is null; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'门(急)诊诊断名称不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BQ_BASZDB BQ where BQ.Zdlb00='3' and BQ.ZYID00=LS_BRZYXX.LSH000 and ( BQ.Rybq00 is null or bq.rybq00='-' ); if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院主要诊断入院病情不能为空,不能为''-''','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.SFYWGM='有' and LS_BRZYXX.GMYW00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'有药物过敏,则过敏药物名称必填','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* if(LS_BRZYXX.GMYW00 is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'有无药物过敏不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.ZYZFY0 is null or LS_BRZYXX.ZYZFY0<=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'住院总费用不能为空,并且大于0','2','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZKRQ000) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄不足1周岁的年龄≤28天新生儿的出生体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into yrcstzCount from BA_BRZYXX ba where to_date(ba.RYRQ00,'yyyy-mm-dd')-to_date(ba.BRCSRQ,'yyyy-mm-dd')<=28 and sf_xt_isnumber2(ba.YERYTZ)='1' and ba.LSH000=LS_BRZYXX.LSH000; if(yrcstzCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'新生儿出生体重填写范围:100克-9999克,精确到10克','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into yrcstzCount from BA_BRZYXX ba where to_date(ba.RYRQ00,'yyyy-mm-dd')-to_date(ba.BRCSRQ,'yyyy-mm-dd')<=28 and sf_xt_isnumber2(ba.yerytz)='1' and ba.LSH000=LS_BRZYXX.LSH000; if(yrcstzCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'新生儿入院体重填写范围:100克-9999克,精确到10克','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.Gzyb00<>'-')then if(length(LS_BRZYXX.Gzyb00)<>6)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'工作单位邮政编码应为6位数字','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.XZZYB0<>'-')then if(length(LS_BRZYXX.XZZYB0)<>6)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'现住址邮政编码应为6位数字','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; if(LS_BRZYXX.JTYB00<>'-')then if(length(LS_BRZYXX.JTYB00)<>6)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'户口地址邮政编码应为6位数字','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; select count(1) into ssCount from BA_BASSSB SB where SB.SSLB00='1' and SB.SSM000 is null and SB.LSH000=LS_BRZYXX.LSH000; if(ssCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作编码不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into ssCount from BA_BASSSB SB where SB.SSLB00='1' and SB.SSMC00 is null and SB.LSH000=LS_BRZYXX.LSH000; if(ssCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作名称不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into ssCount from BA_BASSSB SB where SB.SSLB00='1' and SB.SSRQ00 is null and SB.LSH000=LS_BRZYXX.LSH000; if(ssCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'主要手术操作日期不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /*select count(1) into zdmCount1 from BQ_BASZDB BQ where BQ.Zdlb00='3' and BQ.ZYID00=LS_BRZYXX.LSH000 and BQ.Zdm000= 'R65.900'; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院主要诊断编码不能为R65.900','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ /*if(LS_BRZYXX.LYFS00='死亡' and LS_BRZYXX.SFSJ00<>'是' or LS_BRZYXX.LYFS00='死亡' and LS_BRZYXX.SFSJ00<>'否') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当离院方式为5死亡时,死亡患者尸检为 1或 2','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ select count(1) into zdmCount1 from BQ_BASZDB bq,XT_ICD100 xt where bq.Zdm000=xt.ICD100 and bq.Zdlb00='4'and bq.ZYID00=LS_BRZYXX.LSH000 and ( bq.ZDMC00 is null or bq.ZDMC00='-' ); if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'有对应的其他诊断编码时,出院其他诊断名称不能为空,不能为 -','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into ssCount from ba_basssb sb where sb.lb0000='手术' and sb.qkyhdj is null and sb.lsh000=LS_BRZYXX.LSH000; if(ssCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术编码属性为手术时,主要手术操作切口愈合类别不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /*select count(1) into fyCount from BA_BASSSB ss where ss.lsh000=LS_BRZYXX.ZYID00 and ss.mzfs00 is null and LS_BRZYXX.MZF000>0; if(fyCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'麻醉方式>0时,麻醉费>0','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ /*select count(1) into fyCount from ba_brssxx ss where ss.lsh000=LS_BRZYXX.zyid00 and LS_BRZYXX.sszlf0 >0 and ss.ssm000 is null; if(fyCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术治疗费>0时,手术编码非空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.BRNL00 is null or mod(LS_BRZYXX.BRNL00,1)!=0 or LS_BRZYXX.BRNL00<0 or LS_BRZYXX.BRNL00<>(round(trunc(MONTHS_BETWEEN(to_date(LS_BRZYXX.RYRQ00,'yyMMdd'),to_date(LS_BRZYXX.BRCSRQ,'yyMMdd'))/12),2))) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄不能为空且为正整数且年龄应等于入院日期减去出生日期','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(to_date(LS_BRZYXX.RYRQ00,'yyyy-mm-dd')-to_date(LS_BRZYXX.BRCSRQ,'yyyy-mm-dd')<28 and LS_BRZYXX.YECSTZ is null) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院时间减出生日期≤28天时,新生儿入院体重不能为空','1','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BA_BRZYXX ba join BQ_BASZDB ZD on BA.LSH000=ZD.ZYID00 where (ZD.ZDM000 like '%Z37.0%' or ZD.ZDM000 like '%Z37.2%' or ZD.ZDM000 like '%Z37.3%' or ZD.ZDM000 like '%Z37.5%' or ZD.ZDM000 like '%Z37.6%') and BA.YECSTZ is null and ba.LSH000=LS_BRZYXX.LSH000; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'当出院主要诊断编码或出院其他诊断编码为Z37.0,Z37.2,Z37.3,Z37.5,Z37.6编码时,新生儿出生体重不能为空','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /*select count(1) into hyzkCount from BA_BRZYXX ba where ba.brnl00<22 and ba.brxb00='男' and ba.hyzk00 in ('已婚','丧偶','离婚') and ba.lsh000=LS_BRZYXX.LSH000; if(hyzkCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄小于法定结婚年龄,(男<22周岁),则婚姻这一项不能选已婚、丧偶、离婚','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into hyzkCount from BA_BRZYXX ba where ba.brnl00<20 and ba.brxb00='女' and ba.hyzk00 in ('已婚','丧偶','离婚') and ba.lsh000=LS_BRZYXX.LSH000; if(hyzkCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'年龄小于法定结婚年龄,(女<20周岁),则婚姻这一项不能选已婚、丧偶、离婚','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ /*if(LS_BRZYXX.HYZK00='未婚' and LS_BRZYXX.LXRGX0='配偶' or LS_BRZYXX.HYZK00='丧偶' and LS_BRZYXX.LXRGX0='配偶' or LS_BRZYXX.HYZK00='离婚' and LS_BRZYXX.LXRGX0='配偶') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婚姻状况为未婚、丧偶、离婚,则联系人与患者关系不能为配偶。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.SSZDBM not like 'V%' and LS_BRZYXX.SSZDBM not like 'W%' and LS_BRZYXX.SSZDBM not like 'X%' and LS_BRZYXX.SSZDBM not like 'Y%' and LS_BRZYXX.SSZDBM <>'-') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'损伤、中毒外部原因编码范围:V、W、X、Y开头的。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into zdmCount1 from BQ_BASZDB bq where bq.Zyid00=LS_BRZYXX.LSH000 and substr(bq.Zdm000,1,3) in('C51','C52','C53','C54','C55','C56','C57','C58','N71','N72','N73','N74','N75','N76','N77','N78','N79','N80', 'N81','N82','N83','N84','N85','N86','N87','N88','N89','N90','N91','N92','N93','N94','N95','N96','N97','N98','Q50','Q51','Q52') and LS_BRZYXX.BRXB00='男'; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'性别为男,出院主要诊断编码/出院其他诊断编码不能出现C51~C58,N72~N98,Q50~Q52','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BQ_BASZDB bq where bq.Zyid00=LS_BRZYXX.LSH000 and substr(bq.Zdm000,1,5) in ('N99.2','N99.3','P54.6'); if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'性别为男,出院主要诊断编码/出院其他诊断编码不能出现N99.2,N99.3,P54.6','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zdmCount1 from BQ_BASZDB bq where bq.Zyid00=LS_BRZYXX.LSH000 and substr(bq.Zdm000,1,3) in ('C60','C61','C62','C63','N40','N41','N42','N43','N44','N45','N46','N47','N48','N49','N50','N51','Q53','Q54','Q55') and LS_BRZYXX.BRXB00='女'; if(zdmCount1>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'性别为女,出院主要诊断编码/出院其他诊断编码不能出现C60.~C63-,N40~N51、Q53~Q55。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ /* select count(1) into zdmCount1 from BQ_BASZDB bq where exists(select 1 from xt_icd100 xt where xt.icd100=bq.zdm000 and xt.jbmc00=bq.zdmc00) and bq.zyid00=LS_BRZYXX.LSH000; if(zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'诊断名称和编码不具有一致性','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into ssCount from BA_BASSSB SX where exists(select 1 from xt_cm3000 xt where xt.cm3000=sx.ssm000 and xt.ssmc00=sx.ssmc00 ) and sx.lsh000=LS_BRZYXX.LSH000; if(zdmCount1=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术名称和编码不具有一致性','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ select count(1) into xbCount from xt_zd0000 xt where xt.zdmc00 like '%性别%' and xt.dm0000 =(select decode(ba.brxb00,'男','1','女','2','未知的性别','0','未说明的性别','9') brxb00 from ba_brzyxx ba where ba.lsh000 = LS_BRZYXX.LSH000); if(xbCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'性别值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into hyzkCount from xt_zd0000 xt where xt.zdmc00 like '%婚姻状态%' and xt.value0 =(select ba.hyzk00 from ba_brzyxx ba where ba.lsh000 = LS_BRZYXX.LSH000); if(hyzkCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'婚姻状况值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; --20210708 本次不校验入院情况值和职业值 /* if(LS_BRZYXX.ZY0000<>'职员' and LS_BRZYXX.ZY0000<>'国家公务员' and LS_BRZYXX.ZY0000<>'专业技术人员' and LS_BRZYXX.ZY0000<>'企业管理人员' and LS_BRZYXX.ZY0000<>'工人' and LS_BRZYXX.ZY0000<>'农民' and LS_BRZYXX.ZY0000<>'学生' and LS_BRZYXX.ZY0000<>'现役军人'and LS_BRZYXX.ZY0000<>'个体经营者' and LS_BRZYXX.ZY0000<>'无业人员' and LS_BRZYXX.ZY0000<>'退(离)休人员' and LS_BRZYXX.ZY0000<>'其他') then select count(1) into zyCount from xt_zd0000 xt where xt.zdmc00 like '%职业%' and xt.Value0 =LS_BRZYXX.ZY0000; if(zyCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'职业值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if;*/ /* if(LS_BRZYXX.RYQK00<>'危' and LS_BRZYXX.RYQK00<>'急' and LS_BRZYXX.RYQK00<>'一般') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院情况值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ select count(1) into zlxgCount from xt_zd0000 xt where xt.zdmc00 like '%治疗效果%' and xt.DM0000=(select zlxg00 from bq_baszdb bq where bq.zyid00=LS_BRZYXX.LSH000 and bq.zdlb00 not in ('1','2') and rownum=1); if(zlxgCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'治疗效果值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RH0000<>'未查' and LS_BRZYXX.RH0000<>'阴' and LS_BRZYXX.RH0000<>'阳' and LS_BRZYXX.RH0000<>'不详') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'RH值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.BAZL00 <>'甲' and LS_BRZYXX.BAZL00 <>'乙' and LS_BRZYXX.BAZL00 <>'丙') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'病案质量值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into ssCount from ba_basssb ss where ss.lsh000=LS_BRZYXX.Lsh000; if(ssCount>0)then select count(1) into mzfsCount from xt_zd0000 xt where xt.zdmc00 like '%麻醉方式%' and xt.value0=(select sb.mzfs00 from ba_basssb sb where sb.lsh000=LS_BRZYXX.Lsh000 and rownum=1); if(mzfsCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'麻醉方式值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if;*/ ---查询是否有手术、介入治疗类型的病案,麻醉方式不在字典范围内 --modify by linng 2021.08.10 select count(1) into mzfsCount from (select sb.mzfs00 from ba_basssb sb, xt_cm3000 xt where 1=1 and sb.lsh000 in (select b1.lsh000 from ba_brzyxx b1 where b1.cyrq00 >='20210701' and b1.cyrq00<='20210731') and sb.ssm000 = xt.cm3000 and xt.lb0000 in ('手术', '介入治疗')) where mzfs00 not in (select zd.VALUE0 from xt_zd0000 zd where zd.zdmc00 = '麻醉方式'); if(mzfsCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'麻醉方式值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into ssCount from ba_basssb sb where sb.lsh000=LS_BRZYXX.LSH000; if(ssCount>0)then select count(1) into qkyhdjCount from xt_zd0000 xt where xt.zdmc00 like '%切口愈合等级%' and xt.VALUE0=(select sb.qkyhdj from ba_basssb sb,xt_cm3000 xt where sb.lsh000=LS_BRZYXX.LSH000 and sb.ssm000=xt.cm3000 and xt.lb0000 in ('手术','介入治疗') and sb.qkyhdj is not null and rownum=1); if(qkyhdjCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'切口愈合等级值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if;*/ ---查询是否有手术、介入治疗类型的病案,切口愈合等级不在字典范围内 --modify by linng 2021.08.10 select count(1) into qkyhdjCount from (select sb.qkyhdj from ba_basssb sb, xt_cm3000 xt where 1=1 and sb.lsh000 =LS_BRZYXX.LSH000 and sb.ssm000 = xt.cm3000 and sb.qkyhdj is not null and xt.lb0000 in ('手术', '介入治疗')) where qkyhdj not in (select zd.VALUE0 from xt_zd0000 zd where zd.zdmc00 = '切口愈合等级'); if(qkyhdjCount>0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'切口愈合等级值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* if(LS_BRZYXX.SFSJ00<>'是' and LS_BRZYXX.SFSJ00<>'否' and LS_BRZYXX.SFSJ00<>'-')then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'是否尸检值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ /* if(LS_BRZYXX.SXFY00<>'未输' and LS_BRZYXX.SXFY00<>'有' and LS_BRZYXX.SXFY00<>'无') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'输血反应值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.LYFS00<>'医嘱离院' and LS_BRZYXX.LYFS00<>'医嘱转院' and LS_BRZYXX.LYFS00<>'医嘱转社区卫生' and LS_BRZYXX.LYFS00<>'医嘱转社区卫生服务机构' and LS_BRZYXX.LYFS00<>'医嘱转社区卫生服务机构/乡镇卫生院' and LS_BRZYXX.LYFS00<>'非医嘱离院' and LS_BRZYXX.LYFS00<>'死亡' and LS_BRZYXX.LYFS00<>'其他') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'离院方式值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into kbCount from BM_BMBM00 bm where bm.bmbh00=(select cykb00 from BA_BRZYXX ba where ba.lsh000=LS_BRZYXX.LSH000); if(kbCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'科别值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.RYTJ00<>'1' and LS_BRZYXX.RYTJ00<>'2' and LS_BRZYXX.RYTJ00<>'3' and LS_BRZYXX.RYTJ00<>'9')then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院途径值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into rybqCount from XT_ZD0000 xt where xt.zdmc00 like '%入院病情%' and xt.value0=(select bq.rybq00 from bq_baszdb bq where bq.zyid00=LS_BRZYXX.LSH000 and bq.zdlb00<>'1' and rownum=1); if(rybqCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'入院病情值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.ZZYJH0<>'无' and LS_BRZYXX.ZZYJH0<>'有') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院31天内再住院计划值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* select count(1) into ssCount from ba_basssb ss where ss.lsh000=LS_BRZYXX.LSH000; if(ssCount>0)then select count(1) into ssjbCount from xt_zd0000 xt where xt.zdmc00 like '%手术级别%' and xt.DM0000=(select decode(sb.sszl00,'一级','1','二级','2','三级','3','四级','4') from ba_basssb sb,xt_cm3000 xt where sb.lsh000=LS_BRZYXX.LSH000 and sb.ssm000=xt.cm3000 and xt.lb0000 in ('手术','介入治疗') and rownum=1); if(ssjbCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术级别值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if;*/ ---查询是否有手术、介入治疗类型的病案,手术级别不在字典范围内 --modify by linng 2021.08.10 select count(1) into ssjbCount from (select decode(sb.sszl00, '一级', '1', '二级', '2', '三级', '3', '四级', '4','-1') ssdj00 from ba_basssb sb, xt_cm3000 xt where 1=1 and sb.lsh000 =LS_BRZYXX.LSH000 and sb.ssm000 = xt.cm3000 and xt.lb0000 in ('手术', '介入治疗')) where ssdj00 not in (select zd.dm0000 from xt_zd0000 zd where zd.zdmc00 = '手术级别代码'); if(ssjbCount>0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'手术级别值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(LS_BRZYXX.XX0000='A型' and LS_BRZYXX.XX0000='B型' and LS_BRZYXX.XX0000='AB型' and LS_BRZYXX.XX0000='O型' and LS_BRZYXX.XX0000='不祥' and LS_BRZYXX.XX0000='未查') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'血型值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into jffsCount from XT_ZD0000 xt where xt.ZDBM00 like 'JFFS01%' and xt.value0=LS_BRZYXX.Jffs00; if(jffsCount=0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'医疗付费方式值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /* if(LS_BRZYXX.LXRGX0<>'兄、弟、姐、妹' and LS_BRZYXX.LXRGX0<>'子' and LS_BRZYXX.LXRGX0<>'配偶' and LS_BRZYXX.LXRGX0<>'其他' and LS_BRZYXX.LXRGX0<>'孙子' and LS_BRZYXX.LXRGX0<>'孙女' and LS_BRZYXX.LXRGX0<>'外孙子' and LS_BRZYXX.LXRGX0<>'外孙女' and LS_BRZYXX.LXRGX0<>'祖父母' and LS_BRZYXX.LXRGX0<>'外祖父母' and LS_BRZYXX.LXRGX0<>'兄弟姐妹' and LS_BRZYXX.LXRGX0<>'同事同学' and LS_BRZYXX.LXRGX0<>'父母' and LS_BRZYXX.LXRGX0<>'女' and LS_BRZYXX.LXRGX0<>'本人或户主')then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'联系人关系值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ if(LS_BRZYXX.SFYWGM<>'有' and LS_BRZYXX.SFYWGM<>'无') then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'药物过敏值不在字典值内','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; /*if(trim(translate(LS_BRZYXX.HMRYQD,'0123456789',' '))is not null or LS_BRZYXX.HMRYQD<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院前昏迷时间(天)不能为空,且为大于等于0整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(trim(translate(LS_BRZYXX.HMRYQH,'0123456789',' '))is not null or LS_BRZYXX.HMRYQH>24 or LS_BRZYXX.HMRYQH<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院前昏迷时间(小时)不能为空,且为大于等于0,小于24整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(trim(translate(LS_BRZYXX.HMRYQM,'0123456789',' '))is not null or LS_BRZYXX.HMRYQM>24 or LS_BRZYXX.HMRYQM<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院前昏迷时间(分钟)不能为空,且为大于等于0,小于60整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(trim(translate(LS_BRZYXX.HMRYHD,'0123456789',' '))is not null or LS_BRZYXX.HMRYHD<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院后昏迷时间(天)不能为空,且为大于等于0整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(trim(translate(LS_BRZYXX.HMRYHH,'0123456789',' '))is not null or LS_BRZYXX.HMRYHH>24 or LS_BRZYXX.HMRYHH<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院后昏迷时间(天)不能为空,且为大于等于0整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; if(trim(translate(LS_BRZYXX.HMRYHM,'0123456789',' '))is not null or LS_BRZYXX.HMRYHM>60 or LS_BRZYXX.HMRYHM<0) then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'颅脑损伤患者入院后昏迷时间(分钟)不能为空,且为大于等于0,小于60整数。','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if;*/ select count(1) into zdmCount1 from bq_baszdb zd where zd.zyid00=LS_BRZYXX.LSH000 and zd.zdm000='-'; if(zdmCount1>0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出院诊断疾病编码字段值错误,不能为''-''','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; commit; if(LS_BRZYXX.ZKRQ00 is not null)then if(length(LS_BRZYXX.ZKRQ00)<>8)then if(LS_BRZYXX.ZKRQ00 = '-')then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'质控日期值不能为-','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; end if; select count(1) into zlxgCount from ba_brzyfy fy where fy.zyid00=LS_BRZYXX.LSH000 and fy.jicurq is not null and fy.jicurq||' '||fy.jicusj='--'; if(zlxgCount>0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'进ICU时间不能为-','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; select count(1) into zlxgCount from ba_brzyfy fy where fy.zyid00=LS_BRZYXX.LSH000 and fy.cicurq is not null and fy.cicurq||' '||fy.cicusj='--'; if(zlxgCount>0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'出ICU时间不能为-','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; ---不在三级绩效上报规则内 , 额外规则 select count(1) into zdmCount1 from bq_baszdb where zdlb00='3' and (substr(zdm000,0,3) between 'C00' and 'C97' or substr(zdm000,0,3) between 'D32' and 'D33' or substr(zdm000,0,3) between 'D42' and 'D43') and zyid00 =LS_BRZYXX.LSH000 ; if(zdmCount1>0)then select count(1) into zlxgCount from ZS_ZLBGK0 where SFTJ00<>'2' and zyid00 =LS_BRZYXX.LSH000 ; if(zlxgCount=0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'该病人没有肿瘤报告登记,请填写肿瘤报告登记','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); else select count(1) into zdmCount1 from ZS_ZLBGK0 where ( trim( blxbh0) in ('-','/','-') or trim( blxbh0) is null ) and SFTJ00<>'2' and zyid00 =LS_BRZYXX.LSH000 ; if(zdmCount1>0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'该病人肿瘤报告登记中没有病理学类型编码,请填写病理学类型编码(编码不能为-或/等特殊字符)','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end if; end if; select count(1) into zdmCount1 from bq_baszdb where zdlb00='3' and zyid00 =LS_BRZYXX.LSH000 ; if(zdmCount1 = 0)then insert into BA_ZKJL00(LSH000,WTSZ00,LX0000,TYPE00,CJR000,CJRQ00,CJSJ00) values(LS_BRZYXX.LSH000,'该病人没有出院主要诊断,请填写出院主要诊断','3','3',as_lsh000,to_char(sysdate,'yyyyMMdd'),to_char(sysdate,'hh24miss')); end if; end loop; close CUR_BRZYXX; exception when others then raise_application_error(-20001,'流水号'||LS_BRZYXX.LSH000||'执行过程SP_BA_BASSJZKXY出错!'); end;