IF not EXISTS(SELECT * FROM Report_Objects WHERE code='EMR.PatientInfo.000001') begin --插入 Declare @Report_Id_774 int Exec Core_NewId 'Report_Objects', 'id', @Report_Id_774 out Declare @Report_Id_774_CateID int Set @Report_Id_774_CateID = (select id from Report_Categories where code='EMR.WIN') 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_774, 'EMR.PatientInfo.000001', '病人信息(病历自动引用项目)', Null, Null, @Report_Id_774_CateID, 1, 4, 600, 0, Null, '2012-11-28 09:54:17', '2014-06-17 14:26:05', Null, ' F17610F57C0E495ECBEB9DDFC0D51218DECLARE @VAA01 INT DECLARE @VAA07 INT DECLARE @VAP01 INT DECLARE @ACF01 INT SET @VAA01=:VAA01 SET @VAA07=:VAA07 SET @VAP01=:VAP01 SET @ACF01=:ACF01 IF @ACF01=1 --门诊病人信息 BEGIN SELECT /*病人基本信息*/ X.VAA05 AS [姓名], X.VAA06 AS [姓], B.ABW02 AS [性别], case when DATEDIFF(YEAR,VAA12,GETDATE())<=10 then dbo.GetPatAge(dbo.GetAgeDetailFromAge(0,''Y'',VAA12),3,0,0) else CAST(A.VAA10 AS VARCHAR)+C.AAU02 end AS [年龄], X.ABQ02 AS [民族], D.ACK02 AS [婚姻], D.ACK02 AS [婚姻状况], A.VAC16 AS [职业], X.ACC02 AS [国籍], E.ABL02 AS [血型], X.VAA02 as 会员卡号, /*病人附加信息*/ X.VAA12 AS [出生日期], X.VAA20 AS [出生地点], X.VAA14 AS [身份证件], X.VAA15 AS [身份证号码], X.VAA38 AS [学历], A.VAC19 AS [家庭地址], A.VAC20 AS [家庭电话], A.VAC28 AS [单位电话], A.VAC27 AS [工作单位], A.VAC21 AS [联系人姓名], A.AAZ02 AS [联系人关系], A.VAC23 AS [联系人地址], A.VAC24 AS [联系人电话], A.BDP02 AS [病人类别], A.ABC02 AS [病人费别], x.VAA35 AS [移动电话], X.IAK05 AS [社会保障号], F.IAA03 AS [保险机构], X.BDX02 AS [了解途径], X.VAA66 AS [病案号], X.VAA29 AS [住址邮编], X.VAA50 AS [单位邮编], isnull(X.vaa28,'''') AS [户口地址], isnull(X.vaa29,'''') AS [户籍邮编], /*门诊信息*/ A.VAC02 AS [就诊号], A.VAC10 AS [是否急诊], A.VAC35 AS [就诊时间], G.BCK03 AS [就诊科室], X.VAA03 AS [门诊号], A.BCE03B AS [操作员], A.BCE03A AS [接诊医师] FROM VAC1 A with(nolock) JOIN VAA1 X with(nolock) ON A.VAA01=X.VAA01 --病人信息表 LEFT JOIN ABW1 B ON X.ABW01=B.ABW01 --性别 LEFT JOIN AAU1 C ON A.AAU01=C.AAU01 --年龄单位 LEFT JOIN ACK1 D ON A.ACK01=D.ACK01 --婚姻 LEFT JOIN ABL1 E ON X.ABL01=E.ABL01 --血型 LEFT JOIN IAA1 F ON A.IAA01=F.IAA01 --保险机构 LEFT JOIN BCK1 G ON A.BCK01A=G.BCK01 WHERE A.VAC01=@VAA07 AND A.VAA01=@VAA01 END ELSE BEGIN --住院病人信息 SELECT /*病人基本信息*/ X.VAA05 AS [姓名], X.VAA06 AS [姓], B.ABW02 AS [性别], case when DATEDIFF(YEAR,VAA12,GETDATE())<=10 and VAE87>'''' then dbo.GetPatAge(VAE87,3,0,0) else CAST(A.VAE46 AS VARCHAR)+C.AAU02 end AS [年龄], X.ABQ02 AS [民族], D.ACK02 AS [婚姻], D.ACK02 AS [婚姻状况], A.AAT02 AS [职业], A.ACC02 AS [国籍], E.ABL02 AS [血型], X.VAA02 as 会员卡号, /*病人附加信息*/ X.VAA12 AS [出生日期], isnull(VCT1.VCT32, '''') + isnull(VCT1.VCT33, '''') + isnull(VCT1.VCT34, '''') AS [出生地点], X.VAA14 AS [身份证件], X.VAA15 AS [身份证号码], A.AAY02 AS [学历], isnull(A.VAE60, '''') + isnull(A.VAE61, '''') + isnull(VCT1.VCT41, '''') + isnull(A.VAE62, '''') AS [家庭地址], A.VAE63 AS [家庭电话], A.VAE55 AS [单位电话], A.BAQ03 AS [工作单位], A.VAE68 AS [联系人姓名], A.AAZ02 AS [联系人关系], A.VAE70 AS [联系人地址], A.VAE71 AS [联系人电话], A.BDP02 AS [病人类别], A.ABC02 AS [病人费别], A.VAE64 AS [移动电话], X.IAK05 AS [社会保障号], F.IAA03 AS [保险机构], X.BDX02 AS [了解途径], X.VAA66 AS [病案号], VCT1.VCT42 AS [住址邮编], X.VAA50 AS [单位邮编], isnull(VCT1.VCT37,'' '')+isnull(VCT1.VCT38,'' '')+isnull(VCT1.VCT39,'' '')+isnull(VCT1.VCT40,'' '') AS [户口地址], isnull(X.vaa29,'' '') AS [户籍邮编], /*住院信息*/ X.VAA04 AS [住院号], A.VAE19 AS [住院次数], A.VAE26 AS [出院日期], A.ABK02 AS [住院目的], A.VAE11 AS [入院日期], G1.BCK03 AS [入院病区], G2.BCK03 AS [入院科室], H.ABO02 AS [入院情况], P.VBP06 AS [入科时间], A.BCQ04B AS [床位号], G6.BCQ03 AS [病室号], A.BCQ04B AS [住院床位], G3.BCK03 AS [住院病区], G4.BCK03 AS [住院科室], A.BCE03C as [住院医师], O.VAO15 as [入院诊断], O2.VAO15 as [出院诊断], O5.VAO15 as [门诊诊断(病案)], O4.VAO15 as [入院诊断(病案)], o3.VAO15 as [出院诊断(病案)], I.ABV02 AS [出院情况], A.VAE27 AS [住院天数], A.BCE03E AS [编码员], G5.VAP05 AS [婴儿姓名], G5.ABW01 AS [婴儿性别], G5.VAP07 AS [分娩日期] FROM VAE1 A with(nolock) JOIN VAA1 X with(nolock) ON A.VAA01=X.VAA01 --病人信息表 LEFT JOIN ABW1 B ON X.ABW01=B.ABW01 --性别 LEFT JOIN AAU1 C ON A.AAU01=C.AAU01 --年龄单位 LEFT JOIN ACK1 D ON A.ACK01=D.ACK01 --婚姻 LEFT JOIN ABL1 E ON X.ABL01=E.ABL01 --血型 LEFT JOIN IAA1 F ON A.IAA01=F.IAA01 --保险机构 LEFT JOIN BCK1 G1 ON A.BCK01A=G1.BCK01 LEFT JOIN BCK1 G2 ON A.BCK01B=G2.BCK01 LEFT JOIN BCK1 G3 ON A.BCK01C=G3.BCK01 LEFT JOIN BCK1 G4 ON A.BCK01D=G4.BCK01 LEFT JOIN ABO1 H ON A.ABO01=H.ABO01 LEFT JOIN ABV1 I ON A.ABV01=I.ABV01 LEFT JOIN VAO2 O with(nolock) on A.vae01=O.vaa07 and o.acf01=2 and o.vao11=2 and o.vao06=1 LEFT JOIN VAO2 O2 with(nolock) on A.vae01=O2.vaa07 and o2.acf01=2 and o2.vao11=3 and o2.vao06=1 LEFT JOIN VAO2 O3 with(nolock) on A.vae01=O3.vaa07 and O3.acf01=3 and O3.vao11=3 and o3.VAO25 =1 and O3.vao06=1 LEFT JOIN VAO2 O4 with(nolock) on A.vae01=O4.vaa07 and O4.acf01=3 and O4.vao11=2 LEFT JOIN VAO2 O5 with(nolock) on A.vae01=O5.vaa07 and O5.acf01=3 and O5.vao11=1 LEFT JOIN (SELECT VBP06,VAA07 FROM VBP1 WHERE VBP05=3 AND VAA01=@VAA01 AND VAA07=@VAA07) P ON A.VAE01=P.VAA07 LEFT JOIN VCT1 with(nolock) on a.VAE01=VCT1.VAA07 LEFT JOIN VAP1 G5 ON A.VAE01=G5.VAA07 AND G5.VAP01=@VAP01 LEFT JOIN BCQ1 G6 ON A.BCQ04B=G6.BCQ04 AND A.BCK01C=G6.BCK01A WHERE A.VAA01=@VAA01 AND A.VAE01=@VAA07 END1=门诊 2=住院 ', Null, 0, 0, Null, 0, Null) end else --更新 begin update Report_Objects set Config=' F17610F57C0E495ECBEB9DDFC0D51218DECLARE @VAA01 INT DECLARE @VAA07 INT DECLARE @VAP01 INT DECLARE @ACF01 INT SET @VAA01=:VAA01 SET @VAA07=:VAA07 SET @VAP01=:VAP01 SET @ACF01=:ACF01 IF @ACF01=1 --门诊病人信息 BEGIN SELECT /*病人基本信息*/ X.VAA05 AS [姓名], X.VAA06 AS [姓], B.ABW02 AS [性别], case when DATEDIFF(YEAR,VAA12,GETDATE())<=10 then dbo.GetPatAge(dbo.GetAgeDetailFromAge(0,''Y'',VAA12),3,0,0) else CAST(A.VAA10 AS VARCHAR)+C.AAU02 end AS [年龄], X.ABQ02 AS [民族], D.ACK02 AS [婚姻], D.ACK02 AS [婚姻状况], A.VAC16 AS [职业], X.ACC02 AS [国籍], E.ABL02 AS [血型], X.VAA02 as 会员卡号, /*病人附加信息*/ X.VAA12 AS [出生日期], X.VAA20 AS [出生地点], X.VAA14 AS [身份证件], X.VAA15 AS [身份证号码], X.VAA38 AS [学历], A.VAC19 AS [家庭地址], A.VAC20 AS [家庭电话], A.VAC28 AS [单位电话], A.VAC27 AS [工作单位], A.VAC21 AS [联系人姓名], A.AAZ02 AS [联系人关系], A.VAC23 AS [联系人地址], A.VAC24 AS [联系人电话], A.BDP02 AS [病人类别], A.ABC02 AS [病人费别], x.VAA35 AS [移动电话], X.IAK05 AS [社会保障号], F.IAA03 AS [保险机构], X.BDX02 AS [了解途径], X.VAA66 AS [病案号], X.VAA29 AS [住址邮编], X.VAA50 AS [单位邮编], isnull(X.vaa28,'''') AS [户口地址], isnull(X.vaa29,'''') AS [户籍邮编], /*门诊信息*/ A.VAC02 AS [就诊号], A.VAC10 AS [是否急诊], A.VAC35 AS [就诊时间], G.BCK03 AS [就诊科室], X.VAA03 AS [门诊号], A.BCE03B AS [操作员], A.BCE03A AS [接诊医师] FROM VAC1 A with(nolock) JOIN VAA1 X with(nolock) ON A.VAA01=X.VAA01 --病人信息表 LEFT JOIN ABW1 B ON X.ABW01=B.ABW01 --性别 LEFT JOIN AAU1 C ON A.AAU01=C.AAU01 --年龄单位 LEFT JOIN ACK1 D ON A.ACK01=D.ACK01 --婚姻 LEFT JOIN ABL1 E ON X.ABL01=E.ABL01 --血型 LEFT JOIN IAA1 F ON A.IAA01=F.IAA01 --保险机构 LEFT JOIN BCK1 G ON A.BCK01A=G.BCK01 WHERE A.VAC01=@VAA07 AND A.VAA01=@VAA01 END ELSE BEGIN --住院病人信息 SELECT /*病人基本信息*/ X.VAA05 AS [姓名], X.VAA06 AS [姓], B.ABW02 AS [性别], case when DATEDIFF(YEAR,VAA12,GETDATE())<=10 and VAE87>'''' then dbo.GetPatAge(VAE87,3,0,0) else CAST(A.VAE46 AS VARCHAR)+C.AAU02 end AS [年龄], X.ABQ02 AS [民族], D.ACK02 AS [婚姻], D.ACK02 AS [婚姻状况], A.AAT02 AS [职业], A.ACC02 AS [国籍], E.ABL02 AS [血型], X.VAA02 as 会员卡号, /*病人附加信息*/ X.VAA12 AS [出生日期], isnull(VCT1.VCT32, '''') + isnull(VCT1.VCT33, '''') + isnull(VCT1.VCT34, '''') AS [出生地点], X.VAA14 AS [身份证件], X.VAA15 AS [身份证号码], A.AAY02 AS [学历], isnull(A.VAE60, '''') + isnull(A.VAE61, '''') + isnull(VCT1.VCT41, '''') + isnull(A.VAE62, '''') AS [家庭地址], A.VAE63 AS [家庭电话], A.VAE55 AS [单位电话], A.BAQ03 AS [工作单位], A.VAE68 AS [联系人姓名], A.AAZ02 AS [联系人关系], A.VAE70 AS [联系人地址], A.VAE71 AS [联系人电话], A.BDP02 AS [病人类别], A.ABC02 AS [病人费别], A.VAE64 AS [移动电话], X.IAK05 AS [社会保障号], F.IAA03 AS [保险机构], X.BDX02 AS [了解途径], X.VAA66 AS [病案号], VCT1.VCT42 AS [住址邮编], X.VAA50 AS [单位邮编], isnull(VCT1.VCT37,'' '')+isnull(VCT1.VCT38,'' '')+isnull(VCT1.VCT39,'' '')+isnull(VCT1.VCT40,'' '') AS [户口地址], isnull(X.vaa29,'' '') AS [户籍邮编], /*住院信息*/ X.VAA04 AS [住院号], A.VAE19 AS [住院次数], A.VAE26 AS [出院日期], A.ABK02 AS [住院目的], A.VAE11 AS [入院日期], G1.BCK03 AS [入院病区], G2.BCK03 AS [入院科室], H.ABO02 AS [入院情况], P.VBP06 AS [入科时间], A.BCQ04B AS [床位号], G6.BCQ03 AS [病室号], A.BCQ04B AS [住院床位], G3.BCK03 AS [住院病区], G4.BCK03 AS [住院科室], A.BCE03C as [住院医师], O.VAO15 as [入院诊断], O2.VAO15 as [出院诊断], O5.VAO15 as [门诊诊断(病案)], O4.VAO15 as [入院诊断(病案)], o3.VAO15 as [出院诊断(病案)], I.ABV02 AS [出院情况], A.VAE27 AS [住院天数], A.BCE03E AS [编码员], G5.VAP05 AS [婴儿姓名], G5.ABW01 AS [婴儿性别], G5.VAP07 AS [分娩日期] FROM VAE1 A with(nolock) JOIN VAA1 X with(nolock) ON A.VAA01=X.VAA01 --病人信息表 LEFT JOIN ABW1 B ON X.ABW01=B.ABW01 --性别 LEFT JOIN AAU1 C ON A.AAU01=C.AAU01 --年龄单位 LEFT JOIN ACK1 D ON A.ACK01=D.ACK01 --婚姻 LEFT JOIN ABL1 E ON X.ABL01=E.ABL01 --血型 LEFT JOIN IAA1 F ON A.IAA01=F.IAA01 --保险机构 LEFT JOIN BCK1 G1 ON A.BCK01A=G1.BCK01 LEFT JOIN BCK1 G2 ON A.BCK01B=G2.BCK01 LEFT JOIN BCK1 G3 ON A.BCK01C=G3.BCK01 LEFT JOIN BCK1 G4 ON A.BCK01D=G4.BCK01 LEFT JOIN ABO1 H ON A.ABO01=H.ABO01 LEFT JOIN ABV1 I ON A.ABV01=I.ABV01 LEFT JOIN VAO2 O with(nolock) on A.vae01=O.vaa07 and o.acf01=2 and o.vao11=2 and o.vao06=1 LEFT JOIN VAO2 O2 with(nolock) on A.vae01=O2.vaa07 and o2.acf01=2 and o2.vao11=3 and o2.vao06=1 LEFT JOIN VAO2 O3 with(nolock) on A.vae01=O3.vaa07 and O3.acf01=3 and O3.vao11=3 and o3.VAO25 =1 and O3.vao06=1 LEFT JOIN VAO2 O4 with(nolock) on A.vae01=O4.vaa07 and O4.acf01=3 and O4.vao11=2 LEFT JOIN VAO2 O5 with(nolock) on A.vae01=O5.vaa07 and O5.acf01=3 and O5.vao11=1 LEFT JOIN (SELECT VBP06,VAA07 FROM VBP1 WHERE VBP05=3 AND VAA01=@VAA01 AND VAA07=@VAA07) P ON A.VAE01=P.VAA07 LEFT JOIN VCT1 with(nolock) on a.VAE01=VCT1.VAA07 LEFT JOIN VAP1 G5 ON A.VAE01=G5.VAA07 AND G5.VAP01=@VAP01 LEFT JOIN BCQ1 G6 ON A.BCQ04B=G6.BCQ04 AND A.BCK01C=G6.BCK01A WHERE A.VAA01=@VAA01 AND A.VAE01=@VAA07 END1=门诊 2=住院 ' where Code='EMR.PatientInfo.000001' end GO --删除旧记录 --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, ' B4C84933E5864E2D35784744C1C6784D 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 distinct ''1过敏记录'' as CateName,BBX05 as Caption,1 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 distinct ''2门诊诊断'' as FType,a.VAO15,1 ROWNR,'''',0,0 FROM VAO1 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=1 UNION ALL SELECT distinct ''3入院诊断'' as FType,a.VAO15,1 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=2 UNION ALL SELECT distinct ''4出院诊断'' as FType,a.VAO15,1 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 distinct ''5其他诊断记录'' as FType,a.VAO15,1 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临时医嘱-''+CONVERT(varchar(10),vaf42,120) 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临时医嘱-''+CONVERT(varchar(10),vaf42,120) 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=' B4C84933E5864E2D35784744C1C6784D 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 distinct ''1过敏记录'' as CateName,BBX05 as Caption,1 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 distinct ''2门诊诊断'' as FType,a.VAO15,1 ROWNR,'''',0,0 FROM VAO1 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=1 UNION ALL SELECT distinct ''3入院诊断'' as FType,a.VAO15,1 ROWNR,'''',0,0 FROM VAO2 a with(nolock) WHERE a.ACF01 = @ACF01 AND a.VAA07 = @VAA07 AND VAO11=2 UNION ALL SELECT distinct ''4出院诊断'' as FType,a.VAO15,1 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 distinct ''5其他诊断记录'' as FType,a.VAO15,1 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临时医嘱-''+CONVERT(varchar(10),vaf42,120) 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临时医嘱-''+CONVERT(varchar(10),vaf42,120) 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