--删除旧记录 --delete from Report_Objects where Code='EMR.Report.000003' --删除脚本内容 IF not EXISTS(SELECT * FROM Report_Objects WHERE code='EMR.Report.000003') begin --插入 Declare @Report_Id_1129 int Exec Core_NewId 'Report_Objects', 'id', @Report_Id_1129 out Declare @Report_Id_1129_CateID int Set @Report_Id_1129_CateID = (select id from Report_Categories where code='EMR.Reports') insert into Report_Objects(ID,Code,Name,Description,Password,CategoryID,xType,Classification,ProductID,ProgramID,ElementID,CreateDate,UpdateDate,ISSUANCEDATE,Config,SetupPath,IsMenu,Enabled,GroupName,Authorized,RefreshInterval) Values(@Report_Id_1129, 'EMR.Report.000003', '获取可用诊断', '获取可用诊断、医嘱、检查、护理', Null, @Report_Id_1129_CateID, 1, 3, 600, 0, Null, '2015-06-03 11:39:09', '2015-06-03 11:39:09', Null, ' 12E2FC02F11AC590088C7EB08F66440B DECLARE @Type int, @vaa01 int, @VAA07 INT, @ACF01 INT, @VAP01 INT, @AAG01 VARCHAR(2), @BCK01 INT, @EmpId INT, @DeptId INT, @DocumentId int SET @Type=%d SET @VAA01=%d SET @VAA07=%d SET @ACF01=%d SET @VAP01=%d SET @AAG01=%s SET @BCK01=%d SET @EmpId=%d SET @DeptId=%d SET @DocumentId=%d declare @vaa04 varchar(20) if @acf01=1 begin select @vaa04=vaa03 from vaa1 with(nolock) where VAA01=@VAA01 end else begin select @vaa04=vaa04 from vaa1 with(nolock) where VAA01=@VAA01 end SELECT ''1过敏记录'' as CateName,BBX05 as Caption,VAN01 ROWNR,CAST('''' AS VARCHAR(32)) scbm01,0 vaf59,0 sorder FROM VAN1 with(nolock) WHERE ACF01 = @ACF01 AND VAA07 = @VAA07 and VAN08=1 UNION ALL SELECT ''2门诊诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO1 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=1 UNION ALL SELECT ''3入院诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=2 UNION ALL SELECT ''4出院诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 in (@ACF01,3) AND a.VAA07 = @VAA07 AND (VAO11=3 and vao06=1) UNION ALL SELECT ''5其他诊断记录'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 in (@ACF01,3) AND a.VAA07 = @VAA07 and (VAO11=3 and VAO06>1) UNION ALL SELECT FType = case a.vaf11 when 1 then ''6长期医嘱'' when 2 then ''6临时医嘱'' else ''6医嘱'' end ,a.VAF22N,0 ,CAST(a.cbm01 AS varchar)+CAST(a.vaf59 AS varchar) scbm01,a.VAF59,1 sorder FROM (SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, (a.VAF22+'' ,每次''+isnull(a.VAF19,'''')+'' ''+a.VAF26+'' /''+CONVERT(varchar(3),a.VAF17)+''天''+'' ''+b.VAF22+'' ''+a.VAF23)AS VAF22N FROM VAF1 a with(nolock) JOIN VAF1 b with(nolock) ON a.VAF01A = b.VAF01 WHERE (a.BDA01=''1'' OR a.BDA01 = ''2'') AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01=''8'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 in (''S'',''E'') AND IsNull(a.VAF01A,0)=0 AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.VAF42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 NOT IN (''1'',''2'',''3'',''8'',''S'',''E'',''0'') AND IsNull(a.VAF01A,0)=0 AND NOT EXISTS(SELECT b.VAF01A FROM VAF1 b WHERE a.VAF01=b.VAF01A) AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 = ''0'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01) a UNION ALL SELECT FType = case a.vaf11 when 1 then ''6长期医嘱'' when 2 then ''6临时医嘱'' else ''6医嘱'' end ,a.VAF22N,0 ,CAST(a.cbm01 AS varchar)+CAST(a.vaf59 AS varchar) scbm01,a.VAF59,1 sorder FROM (SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, (a.VAF22+'' ,每次''+isnull(a.VAF19,'''')+'' ''+a.VAF26+'' /''+CONVERT(varchar(3),a.VAF17)+''天''+'' ''+b.VAF22+'' ''+a.VAF23)AS VAF22N FROM VAF2 a with(nolock) JOIN VAF2 b ON a.VAF01A = b.VAF01 WHERE (a.BDA01=''1'' OR a.BDA01 = ''2'') AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01=''8'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 in (''S'',''E'') AND IsNull(a.VAF01A,0)=0 AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.VAF42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 NOT IN (''1'',''2'',''3'',''8'',''S'',''E'',''0'') AND IsNull(a.VAF01A,0)=0 AND NOT EXISTS(SELECT b.VAF01A FROM VAF2 b WHERE a.VAF01=b.VAF01A) AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 = ''0'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01) a UNION ALL SELECT ''7检验结果-''+CONVERT(varchar(16),isnull(C.LAB20,''''),120)+''-''+isnull(D.BEY20,'''') CateName, B.BBX05+'' ''+a.lac10 + case when ascii(E.BDG02) between 48 and 57 then ''×'' else '''' end + isnull(E.BDG02, '''') + isnull(a.lac11, '''') caption,convert(varchar(20),a.BBX01A)+convert(varchar(10),isnull(g.ROWNR,E.ROWNR)),'''',0,0 FROM LAC1 A with(nolock) JOIN BBX1 B ON A.BBX01=B.BBX01 join LAB1 C with(nolock) on C.LAB01=A.LAB01 join BEY1 D on D.BEY01=c.BEY01A join BFC1 E on E.BBX01=B.BBX01 left join BFD1 g on A.BBX01A = g.BBX01A and a.BBX01 = g.BBX01B WHERE C.LAB32=3 and C.LAB09=@vaa04 UNION ALL select ''8影像检查-''+CONVERT(varchar(16),isnull(b.PAB17,''''),120)+''-''+isnull(a.BBC01,'''') CateName, ISNULL(PAA43,'''')+''(''+ISNULL(PAA44,'''')+'') ''+char(13)+''影像所见:''+ISNULL(b.PAB10,'''')+char(13)+''影像提示:''+ISNULL(b.PAB11,'''')+char(13)+''诊断建议:''+ISNULL(b.PAB12,'''') caption, b.PAB01,'''',0,0 from PAA1 a with(nolock) join PAB1 b with(nolock) on a.PAA01=b.PAA01 where a.vaa01=@vaa01 and a.vaa07=@VAA07 and a.acf01=@acf01 and a.PAA35 in(3,4) UNION ALL select ''9护理记录'' CateName, CONVERT(varchar(16),isnull(记录时间,''''),120)+'' 体温:''+体温+''℃''+'' 心率:''+心率+''次/分''+'' 脉搏:''+脉搏+''次/分''+'' 呼吸:''+呼吸+''次/分''+'' 体重:''+体重+''Kg''+'' 血压:''+收缩压+''/''+舒张压+''mmHg'' caption, VCF01,'''',0,0 from (Select VCF01,isnull(VCF24,'''') AS 体温,isnull(VCF28,'''') AS 心率,isnull(VCF30,'''') as 脉搏,isnull(VCF33,'''') as 呼吸,isnull(VCF37,'''') as 体重,isnull(VCF41,'''') as 收缩压,isnull(VCF42,'''') as 舒张压,VCF09 as 记录时间 From VCF1 with(nolock) Where vaa01=@vaa01 and vaa07=@VAA07 and vap01=@VAP01 and acf01=@acf01 ) as T ORDER BY CateName,scbm01,ROWNR ', Null, 0, 1, Null, 0, Null) end else --更新 begin update Report_Objects set Config=' 12E2FC02F11AC590088C7EB08F66440B DECLARE @Type int, @vaa01 int, @VAA07 INT, @ACF01 INT, @VAP01 INT, @AAG01 VARCHAR(2), @BCK01 INT, @EmpId INT, @DeptId INT, @DocumentId int SET @Type=%d SET @VAA01=%d SET @VAA07=%d SET @ACF01=%d SET @VAP01=%d SET @AAG01=%s SET @BCK01=%d SET @EmpId=%d SET @DeptId=%d SET @DocumentId=%d declare @vaa04 varchar(20) if @acf01=1 begin select @vaa04=vaa03 from vaa1 with(nolock) where VAA01=@VAA01 end else begin select @vaa04=vaa04 from vaa1 with(nolock) where VAA01=@VAA01 end SELECT ''1过敏记录'' as CateName,BBX05 as Caption,VAN01 ROWNR,CAST('''' AS VARCHAR(32)) scbm01,0 vaf59,0 sorder FROM VAN1 with(nolock) WHERE ACF01 = @ACF01 AND VAA07 = @VAA07 and VAN08=1 UNION ALL SELECT ''2门诊诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO1 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=1 UNION ALL SELECT ''3入院诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=2 UNION ALL SELECT ''4出院诊断'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 in (@ACF01,3) AND a.VAA07 = @VAA07 AND (VAO11=3 and vao06=1) UNION ALL SELECT ''5其他诊断记录'' as FType,a.VAO15,VAO01 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 in (@ACF01,3) AND a.VAA07 = @VAA07 and (VAO11=3 and VAO06>1) UNION ALL SELECT FType = case a.vaf11 when 1 then ''6长期医嘱'' when 2 then ''6临时医嘱'' else ''6医嘱'' end ,a.VAF22N,0 ,CAST(a.cbm01 AS varchar)+CAST(a.vaf59 AS varchar) scbm01,a.VAF59,1 sorder FROM (SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, (a.VAF22+'' ,每次''+isnull(a.VAF19,'''')+'' ''+a.VAF26+'' /''+CONVERT(varchar(3),a.VAF17)+''天''+'' ''+b.VAF22+'' ''+a.VAF23)AS VAF22N FROM VAF1 a with(nolock) JOIN VAF1 b with(nolock) ON a.VAF01A = b.VAF01 WHERE (a.BDA01=''1'' OR a.BDA01 = ''2'') AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01=''8'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 in (''S'',''E'') AND IsNull(a.VAF01A,0)=0 AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.VAF42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 NOT IN (''1'',''2'',''3'',''8'',''S'',''E'',''0'') AND IsNull(a.VAF01A,0)=0 AND NOT EXISTS(SELECT b.VAF01A FROM VAF1 b WHERE a.VAF01=b.VAF01A) AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF1 a with(nolock) WHERE a.BDA01 = ''0'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01) a UNION ALL SELECT FType = case a.vaf11 when 1 then ''6长期医嘱'' when 2 then ''6临时医嘱'' else ''6医嘱'' end ,a.VAF22N,0 ,CAST(a.cbm01 AS varchar)+CAST(a.vaf59 AS varchar) scbm01,a.VAF59,1 sorder FROM (SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, (a.VAF22+'' ,每次''+isnull(a.VAF19,'''')+'' ''+a.VAF26+'' /''+CONVERT(varchar(3),a.VAF17)+''天''+'' ''+b.VAF22+'' ''+a.VAF23)AS VAF22N FROM VAF2 a with(nolock) JOIN VAF2 b ON a.VAF01A = b.VAF01 WHERE (a.BDA01=''1'' OR a.BDA01 = ''2'') AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01=''8'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION all SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 in (''S'',''E'') AND IsNull(a.VAF01A,0)=0 AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.VAF42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 NOT IN (''1'',''2'',''3'',''8'',''S'',''E'',''0'') AND IsNull(a.VAF01A,0)=0 AND NOT EXISTS(SELECT b.VAF01A FROM VAF2 b WHERE a.VAF01=b.VAF01A) AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01 UNION ALL SELECT a.cbm01,a.vaf59,a.rownr,a.vaf11, a.vaf42, a.VAF22 AS VAF22N FROM VAF2 a with(nolock) WHERE a.BDA01 = ''0'' AND a.VAF06 = @VAA07 and a.VAF04 = @ACF01) a UNION ALL SELECT ''7检验结果-''+CONVERT(varchar(16),isnull(C.LAB20,''''),120)+''-''+isnull(D.BEY20,'''') CateName, B.BBX05+'' ''+a.lac10 + case when ascii(E.BDG02) between 48 and 57 then ''×'' else '''' end + isnull(E.BDG02, '''') + isnull(a.lac11, '''') caption,convert(varchar(20),a.BBX01A)+convert(varchar(10),isnull(g.ROWNR,E.ROWNR)),'''',0,0 FROM LAC1 A with(nolock) JOIN BBX1 B ON A.BBX01=B.BBX01 join LAB1 C with(nolock) on C.LAB01=A.LAB01 join BEY1 D on D.BEY01=c.BEY01A join BFC1 E on E.BBX01=B.BBX01 left join BFD1 g on A.BBX01A = g.BBX01A and a.BBX01 = g.BBX01B WHERE C.LAB32=3 and C.LAB09=@vaa04 UNION ALL select ''8影像检查-''+CONVERT(varchar(16),isnull(b.PAB17,''''),120)+''-''+isnull(a.BBC01,'''') CateName, ISNULL(PAA43,'''')+''(''+ISNULL(PAA44,'''')+'') ''+char(13)+''影像所见:''+ISNULL(b.PAB10,'''')+char(13)+''影像提示:''+ISNULL(b.PAB11,'''')+char(13)+''诊断建议:''+ISNULL(b.PAB12,'''') caption, b.PAB01,'''',0,0 from PAA1 a with(nolock) join PAB1 b with(nolock) on a.PAA01=b.PAA01 where a.vaa01=@vaa01 and a.vaa07=@VAA07 and a.acf01=@acf01 and a.PAA35 in(3,4) UNION ALL select ''9护理记录'' CateName, CONVERT(varchar(16),isnull(记录时间,''''),120)+'' 体温:''+体温+''℃''+'' 心率:''+心率+''次/分''+'' 脉搏:''+脉搏+''次/分''+'' 呼吸:''+呼吸+''次/分''+'' 体重:''+体重+''Kg''+'' 血压:''+收缩压+''/''+舒张压+''mmHg'' caption, VCF01,'''',0,0 from (Select VCF01,isnull(VCF24,'''') AS 体温,isnull(VCF28,'''') AS 心率,isnull(VCF30,'''') as 脉搏,isnull(VCF33,'''') as 呼吸,isnull(VCF37,'''') as 体重,isnull(VCF41,'''') as 收缩压,isnull(VCF42,'''') as 舒张压,VCF09 as 记录时间 From VCF1 with(nolock) Where vaa01=@vaa01 and vaa07=@VAA07 and vap01=@VAP01 and acf01=@acf01 ) as T ORDER BY CateName,scbm01,ROWNR ' where Code='EMR.Report.000003' end GO