--%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% prompt 37、 病案首页传送时产生传送信息 SP_ZS_CJBASY create or replace procedure SP_ZS_CJBASY ( Pzyid00 number, --住院ID Pczy000 number ) AS -- MODIFICATION HISTORY -- Person Date Comments -- zhanghr 2011.11.16 create ZYYS-20111206-001 -- zhanghr 2011.12.13 做了一些优化 ZYYS-20111213-001 V_RYKBMC BM_BMBM00.BMMC00%TYPE ; --入院科别名称 by zhangwz on 2010.10.13 V_RYBF00 BM_CWK000.FJH000%TYPE ; --入院病房 by zhangwz on 2010.10.13 V_LRRYMC BM_YGBM00.ZWXM00%TYPE ; --录入人员姓名 by zhangwz on 2010.10.13 V_JFFS00 BM_BRFBB0.FBMC00%TYPE ; --费别名称 by zhangwz on 2010.10.13 V_HBSAG0 BA_BRZYXX.HBSAG0%TYPE ; --HBSAG0 by zhangwz on 2011.07.25 V_HCVAB0 BA_BRZYXX.HCVAB0%TYPE ; --HCVAB0 by zhangwz on 2011.07.25 V_HIVAB0 BA_BRZYXX.HIVAB0%TYPE ; --HIVAB0 by zhangwz on 2011.07.25 V_MZCYFH BA_BRZYXX.MZCYFH%TYPE ; --门诊与出院符合 by zhangwz on 2011.07.25 V_RYCYFH BA_BRZYXX.RYCYFH%TYPE ; --入院与出院符合 by zhangwz on 2011.07.25 V_FSBLFH BA_BRZYXX.FSBLFH%TYPE ; --放射病理符合 by zhangwz on 2011.07.25 V_QJCS00 BA_BRZYXX.QJCS00%TYPE ; --抢救次数 by zhangwz on 2011.07.25 V_CGCS00 BA_BRZYXX.CGCS00%TYPE ; --成功次数 by zhangwz on 2011.07.25 V_LCBLFH BA_BRZYXX.LCBLFH%TYPE ; --临床病理 by zhangwz on 2011.07.25 V_DYBL00 BA_BRZYXX.DYBL00%TYPE ; --第一病例 by zhangwz on 2011.07.25 V_XX0000 BA_BRZYXX.XX0000%TYPE ; --血型 by zhangwz on 2011.07.25 V_RH0000 BA_BRZYXX.RH0000%TYPE ; --RH化验 by zhangwz on 2011.07.25 V_SFSJ00 BA_BRZYXX.SFSJ00%TYPE ; --是否尸检 by zhangwz on 2011.07.25 V_SXFY00 BA_BRZYXX.SXFY00%TYPE ; --输血反应 by zhangwz on 2011.07.25 V_SJBL00 BA_BRZYXX.SJBL00%TYPE ; --示教病例 by zhangwz on 2011.07.25 V_BAZL00 BA_BRZYXX.BAZL00%TYPE ; --病案质量 by zhangwz on 2011.07.25 V_SYMRZ0 XT_XTCS00.VALUE0%TYPE ; --新建病人病历时是否有默认值 Ecustom exception ; --错误变量 Verrmsg varchar2(255) ; --错误提示变量 begin select nvl(max(trim(VALUE0)),'N') into V_SYMRZ0 from XT_XTCS00 where NAME00='ZS_XJBRBLSSFYMRZ'; --新建病人病历时是否有默认值 if trim(V_SYMRZ0)='Y' then begin V_HBSAG0:='未做'; V_HCVAB0:='未做'; V_HIVAB0:='未做'; V_MZCYFH:='符合'; V_RYCYFH:='符合'; V_FSBLFH:='未做'; V_QJCS00:='0' ; V_CGCS00:='0' ; V_LCBLFH:='未做'; V_DYBL00:='否' ; V_XX0000:='未检'; V_RH0000:='未' ; V_SFSJ00:='否' ; V_SXFY00:='无' ; V_SJBL00:='否' ; V_BAZL00:='甲' ; end; else begin V_HBSAG0:='' ; V_HCVAB0:='' ; V_HIVAB0:='' ; V_MZCYFH:='' ; V_RYCYFH:='' ; V_FSBLFH:='' ; V_QJCS00:='' ; V_CGCS00:='' ; V_LCBLFH:='' ; V_DYBL00:='' ; V_XX0000:='' ; V_RH0000:='' ; V_SFSJ00:='' ; V_SXFY00:='' ; V_SJBL00:='' ; V_BAZL00:='' ; end; end if; insert into BA_BRZYXX ( LSH000,BAH000,ZYCS00,ZYH000,BRXM00,BRXB00, BRCSRQ,BRNL00,HYZK00,ZY0000,BRLY00,CSSF00, CSXS00,MZ0000,GJ0000,SFZH00,GZDW00,GZDH00,GZYB00,JTDZ00,JTDH00,JTYB00, LXRXM0,LXRDZ0,LXRDH0,LXRGX0,ZDFS00,RYQK00,RYRQ00,RYSJ00,CYRQ00,CYSJ00,ZYTS00, RYKB00,CYKB00,BAZT00,SRRK00,LRRY00,LRRQ00,LRSJ00,YBKH00,YBID00,YBZYH0,YBMC00,CARDNO, HBSAG0,HCVAB0,HIVAB0,MZCYFH,RYCYFH,FSBLFH,QJCS00,CGCS00,LCBLFH,DYBL00,XX0000,RH0000,SFSJ00,SXFY00,SJBL00,BAZL00) select Pzyid00,trim(b.MRN000),b.BRRYCS,trim(b.ZYH000),trim(b.XM0000),trim(b.XB0000), b.CSRQ00,SF_ZS_CSRQTONL(b.CSRQ00),trim(a.BRHYZK),trim(a.BRZY00),null,null, trim(a.BRDYFW),trim(a.BRMZ00),trim(a.BRGJ00),trim(a.BRZJBH),trim(a.TYDWMC),null,null,trim(a.BRJTDZ),trim(a.BRDH00),trim(a.BRYB00), trim(a.BRLXXM),trim(a.BRLXDZ),trim(a.BRLXDH),trim(a.BRLXGX),null,trim(b.RYSQK0),b.SJRYRQ,b.SJRYSJ,b.SJCYRQ,null, greatest(to_date(sjcyrq,'yyyymmdd')-to_date(sjryrq,'yyyymmdd'),1), b.RZKS00,b.DQKS00,'1' , '1',Pczy000,to_char(sysdate,'YYYYMMDD'),to_char(sysdate,'HH24:MI:SS'),a.YBKH00,a.YBID00,b.YBZYH0,'',trim(a.YBKH00), V_HBSAG0,V_HCVAB0,V_HIVAB0,V_MZCYFH,V_RYCYFH,V_FSBLFH,V_QJCS00,V_CGCS00,V_LCBLFH,V_DYBL00,V_XX0000,V_RH0000,V_SFSJ00,V_SXFY00,V_SJBL00,V_BAZL00 from BM_BRXXB0 a,ZY_BRXXB0 b where a.BRID00=b.BRID00 and b.ZYID00=Pzyid00; ---####====去掉20120315 -- and SJCYRQ<>'20991231'; ---####====去掉20120315 if sql%notfound then Verrmsg:='患者未出院,不能创建病案首页'; Raise Ecustom; end if; if trim(V_SYMRZ0)='M' then update BA_BRZYXX set SJBL00='否',KYBL00='2',KYBL01='否',SSDYL0='2',SSDYBL='否',ZLDYL0='2', ZLDYBL='否',ZCDYL0='2',JCDYBL='否',ZDDYL0='2',DYBL00='否' where LSH000=Pzyid00; end if; update BA_BRZYXX M set YBMC00=(select y.YBMC00 from ZY_BRXXB0 b,IC_YBBRLB x,IC_YBBRLB y where x.FBBH00=b.FBBH00 and x.YBLB00=b.YBLB00 and x.YBZXLB=y.YBZXLB and x.FBBH00=y.FBBH00 and y.YBLB00=y.YBZXLB and b.ZYID00=Pzyid00) where LSH000=Pzyid00; update BA_BRZYXX A SET RYKBMC=(SELECT BMMC00 FROM BM_BMBM00 B WHERE A.RYKB00=B.BMBH00), CYKBMC=(SELECT BMMC00 FROM BM_BMBM00 B WHERE A.CYKB00=B.BMBH00), RYBF00=(select c.BMMC00 from ZY_BRXXB0 b,BM_BMBM00 c where a.LSH000=b.ZYID00 and RYBQ00=BMBH00), CYBF00=(select c.BMMC00 from ZY_BRXXB0 b,BM_BMBM00 c where a.LSH000=b.ZYID00 and DQBQ00=BMBH00), LRRYMC=(SELECT ZWXM00 FROM BM_YGBM00 D WHERE D.YGBH00=A.LRRY00), JFFS00=(SELECT FBMC00 FROM ZY_BRXXB0 b,BM_BRFBB0 E WHERE a.LSH000=b.ZYID00 and E.FBBH00=b.FBBH00), QZRQ00=(select ZDRQ00 from BQ_BRZDXX where ZYID00=a.LSH000 and ZDLB00 in ('3','a') and rownum=1) where LSH000=Pzyid00; --获取手术信息 insert into BA_BRSSXX (LSH000,SSXH00,SSLB00,SSM000,SSMC00,SSRQ00,SSSJ00,SSZL00,SSYS00,SSYSMC,IYS000,IYSMC0, IIYS00,IIYSMC,MZFS00,QKYHDJ,MZYS00,MZYSMC,SQSHFH,CZRQ00,CZSJ00,CZY000,SFMZSW) select LSH000,SSXH00,SSLB00,SSM000,SSMC00,SSRQ00,SSSJ00,SSZL00,SSYS00,SSYSMC,IYS000,IYSMC0, IIYS00,IIYSMC,MZFS00,QKYHDJ,MZYS00,MZYSMC,null,CZRQ00,CZSJ00,CZY000,null from VW_ZS_SSYW00_BRSSXX where LSH000=Pzyid00; commit; exception when no_data_found then raise_application_error(-20001,substrb('数据没有找到!*'||sqlerrm||',',1,220)); when Ecustom then raise_application_error(-20010,substrb(Verrmsg||'!*',1,220)); when others then RollBack; RAISE_APPLICATION_ERROR(-20020, NVL(SQLERRM, '原因不明出错!*')); end; / --%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%