强强的个人技术博客 医技科室软件(PACS, RIS)码农

三个视图 V_GlobalStudy,V_GLOBALSTUDY_NKJK,V_One_GlobalStudy

三个视图 V_GlobalStudy,V_GLOBALSTUDY_NKJK,V_One_GlobalStudy 

默认SQL语句

现场可以根据语句对应修改。


视图一、V_GlobalStudy

Create VIEW [dbo].[V_GlobalStudy]
AS
SELECT   a.PATIENTNO, a.PATNAME, a.SEX, a.PATIENTID, b.SERV_REGNO, b.PLA_ORD_NUM, a.HISID, c.ACTION_DATE,
                b.ACCESSION_DATE, CASE WHEN b.EXIGENCE = '0' THEN 'false' ELSE 'true' END AS ISEXIGENCE, b.ENROLDOCTOR,
                b.ADM_ID_ISS, b.ADM_ID, b.BedNO, b.PAT_AGE, c.REQ_PROCNO, c.STATUS, c.REQ_PROC_ID, c.MODALITY,
                d.PARTOFCHECK_STAT AS PARTOFCHECK, c.ALLPARTOFCHECK, d.DIRECTION, d.ALLDIRECTION, c.STUDY_DATE,
                d.EXPOSALTIMES, c.STUDY_DATE AS CHECKDATE, a.BIRTHDATE, a.IDCARDNO, a.TELEPHONE, a.ADDRESS,
                d.CHECKDOCTOR, e.REPORTNO, e.REPORTDOCTOR, e.CHIEFDOCTOR, e.PRINTDOCTOR, d.FEE, b.REQ_SERVICE,
			isnull( (select top 1 REPLACE(r.LATERINFO ,CHAR(13) + CHAR(10),' ')  from R_LATERINFO r where r.REQ_PROC_ID=c.REQ_PROC_ID order by r.LATERDATE desc),'')
				 LATINFO,dbo.GetImageNum(c.STUDY_INS_UID) ImageNum,
                b.REQ_PHY_NAME, c.STUDY_INS_UID,   e.CHECKRESULT , CASE SUBSTRING(c.TRACEIDENTIFIER, 1, 1)
                WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_ZC, CASE SUBSTRING(c.TRACEIDENTIFIER, 2,
                1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_XX, CASE SUBSTRING(c.TRACEIDENTIFIER,
                3, 1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_HZ, e.REPORTID, b.OFDEPARTMENT,
                d.ROOMNO, d.MODALITYNAME, CASE e.masculine WHEN '0' THEN '阴性' WHEN '1' THEN '阳性' END AS MASCULINE,
                c.REQ_PROC_LOC, c.PRINT_STATUS, c.ISMARK, b.TOTALFEE, c.CRITICAL_STATUS,
               dbo.GetReportDate(c.REQ_PROCNO ,e.CONTENT_DATE,b.OFDEPARTMENT) CONTENT_DATE,
               dbo.GetAduitDate(c.REQ_PROCNO ,e.CONTENT_DATE,c.STATUS,c.REQ_PROCNO,e.CHIEFDOCTOR,b.OFDEPARTMENT) AUDITING_DATE, 
						    CASE WHEN e.PRINTDATE IS NULL
                THEN '' WHEN e.PRINTDATE > '1900-01-01 00:00:00' THEN CONVERT(varchar(19), e.PRINTDATE, 121)
                WHEN e.PRINTDATE = '' THEN '' END AS PRINTDATE, e.PREREPORTDOCTOR, e.PRECHIEFDOCTOR, d.FLATORPOWER,
                CASE RIGHT(PAT_AGE, 1) WHEN '岁' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 8760 WHEN '月' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 720 WHEN '天' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 24 WHEN '时' THEN CAST(REPLACE(REPLACE(PAT_AGE, '小', ''), RIGHT(REPLACE(PAT_AGE, '小', ''), 1), '') AS INT)
                ELSE CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT) END AS PAT_AGE2, b.FLOORNO, b.LAYERNO,a.MERGER_FK,
                b.REGIONNO, b.DORMITORYNO, e.DiagnoseResult,'' DIAGNOSIS,e.TYPIST, b.REMARK REMARK,'' ADM_ID_SEQ_SERVICE,'' DIRECTIONCODE,case when e.B2='1' then '是' else '否' end B2,
                           b.ACCESSION_NO,
                           case when b.fetch_date is null then b.ACCESSION_DATE
                           else b.fetch_date
                           end fetch_date,b.ADM_ID_INDEX
                            ,dbo.GetMainReqNO(c.REQ_PROCNO ) Main_REQ_PROCNO
						   ,(select top 1 AUDITINGSTARTTIME from R_WORKTINGTIME w where w.REQ_PROCNO=c.REQ_PROCNO) AUDITINGSTARTTIME
						   ,e.InternDOCTOR01,e.InternDOCTOR02,e.InternDOCTOR03,
						   case when   c.IsMultiple='1' then '是'
						   else '否' end Multiple,c.IsMultiple,  c.QueueName QueueText,b.PLA_ORD_NUM OPLA_ORD_NUM,a.HISID DHISID,case when c.ReadDiagnosticFilm = '1' then '是' else '否' end ReadDiagnosticFilmText,e.FollowUp_Flag
						   ,case when e.FollowUp_Flag = '1' then '是' else '否' end FollowUp_FlagText,e.QuaImage,e.QuaReport,b.MOrder,
						   p.SORTFLAG
FROM      dbo.R_PATIENT AS a INNER JOIN
                dbo.IMG_SERV_REG AS b ON a.PATIENTNO = b.PATIENTNO INNER JOIN
                dbo.REQ_PROC AS c ON b.SERV_REGNO = c.SERV_REGNO INNER JOIN
                dbo.REQ_PROC_DETAIL AS d ON c.REQ_PROCNO = d.REQ_PROCNO INNER JOIN
                dbo.GENERAL_REPORT AS e ON c.REQ_PROCNO = e.REQ_PROCNO   
				join DICT_PUBLICINFO p on  b.ADM_ID_ISS  =p.CODENAME    and p.PARENTCODE='999009'               
WHERE   (c.DELETE_SIGN = '1')


视图二、.V_One_GlobalStudy

CREATE VIEW [dbo].[V_One_GlobalStudy]
AS
SELECT   a.PATIENTNO, a.PATNAME, a.SEX, a.PATIENTID, b.SERV_REGNO, b.PLA_ORD_NUM, a.HISID, c.ACTION_DATE,
                b.ACCESSION_DATE, CASE WHEN b.EXIGENCE = '0' THEN 'false' ELSE 'true' END AS ISEXIGENCE, b.ENROLDOCTOR,
                b.ADM_ID_ISS, b.ADM_ID, b.BedNO, b.PAT_AGE, c.REQ_PROCNO, c.STATUS, c.REQ_PROC_ID, c.MODALITY,
                d.PARTOFCHECK_STAT AS PARTOFCHECK, c.ALLPARTOFCHECK, --d.DIRECTION,
                            d.ALLDIRECTION, c.STUDY_DATE, d.ALLDIRECTION as DIRECTION,
                d.EXPOSALTIMES, c.STUDY_DATE AS CHECKDATE, a.BIRTHDATE, a.IDCARDNO, a.TELEPHONE, a.ADDRESS,
                d.CHECKDOCTOR, e.REPORTNO, e.REPORTDOCTOR, e.CHIEFDOCTOR, e.PRINTDOCTOR, d.FEE, b.REQ_SERVICE,
				case (select count(1)    from R_LATERINFO r where r.REQ_PROC_ID=c.REQ_PROC_ID)
				when 0 then '否'
				else '是'
				end LATINFO,
                b.REQ_PHY_NAME, c.STUDY_INS_UID, e.CHECKRESULT, CASE SUBSTRING(c.TRACEIDENTIFIER, 1, 1)
                WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_ZC, CASE SUBSTRING(c.TRACEIDENTIFIER, 2,
                1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_XX, CASE SUBSTRING(c.TRACEIDENTIFIER,
                3, 1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_HZ, e.REPORTID, b.OFDEPARTMENT,
                d.ROOMNO, d.MODALITYNAME, CASE e.masculine WHEN '0' THEN '阴性' WHEN '1' THEN '阳性' END AS MASCULINE,
                c.REQ_PROC_LOC, c.PRINT_STATUS, c.ISMARK, b.TOTALFEE, c.CRITICAL_STATUS,
                dbo.GetReportDate(e.REQ_PROCNO ,e.CONTENT_DATE,b.OFDEPARTMENT) CONTENT_DATE,
                           dbo.GetAduitDate(e.REQ_PROCNO ,e.CONTENT_DATE,c.STATUS,c.REQ_PROCNO,e.CHIEFDOCTOR,b.OFDEPARTMENT) AUDITING_DATE,  CASE WHEN e.PRINTDATE IS NULL
                THEN '' WHEN e.PRINTDATE > '1900-01-01 00:00:00' THEN CONVERT(varchar(19), e.PRINTDATE, 121)
                WHEN e.PRINTDATE = '' THEN '' END AS PRINTDATE, e.PREREPORTDOCTOR, e.PRECHIEFDOCTOR, d.FLATORPOWER,
                CASE RIGHT(PAT_AGE, 1) WHEN '岁' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 8760 WHEN '月' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 720 WHEN '天' THEN CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT)
                * 24 WHEN '时' THEN CAST(REPLACE(REPLACE(PAT_AGE, '小', ''), RIGHT(REPLACE(PAT_AGE, '小', ''), 1), '') AS INT)
                ELSE CAST(REPLACE(PAT_AGE, RIGHT(PAT_AGE, 1), '') AS INT) END AS PAT_AGE2, b.FLOORNO, b.LAYERNO,a.MERGER_FK,
                b.REGIONNO, b.DORMITORYNO, e.DiagnoseResult,b.REMARK REMARK,e.TYPIST,  '' ADM_ID_SEQ_SERVICE,'' DIRECTIONCODE,case when e.B2='1' then '是' else '否' end B2,
                           b.ACCESSION_NO,
                           case when b.fetch_date is null then b.ACCESSION_DATE
                           else b.fetch_date
                           end fetch_date,b.ADM_ID_INDEX
                           ,dbo.GetMainReqNO(c.REQ_PROCNO ) Main_REQ_PROCNO,
                                            (select top 1 AUDITINGSTARTTIME from R_WORKTINGTIME w where w.REQ_PROCNO=c.REQ_PROCNO) AUDITINGSTARTTIME
											,e.InternDOCTOR01,e.InternDOCTOR02,e.InternDOCTOR03,
											 case when   c.IsMultiple='1' then '是'
						   else '否' end Multiple,c.IsMultiple, dbo.GetQueueText(c.REQ_PROCNO) QueueText,b.PLA_ORD_NUM OPLA_ORD_NUM,a.HISID DHISID,case when c.ReadDiagnosticFilm = '1' then '是' else '否' end ReadDiagnosticFilmText,'' ImageNum,e.FollowUp_Flag
						   ,case when e.FollowUp_Flag = '1' then '是' else '否' end FollowUp_FlagText,e.QuaImage,e.QuaReport,b.MOrder,
						   p.SORTFLAG
FROM      dbo.R_PATIENT AS a INNER JOIN
                dbo.IMG_SERV_REG AS b ON a.PATIENTNO = b.PATIENTNO INNER JOIN
                dbo.REQ_PROC AS c ON b.SERV_REGNO = c.SERV_REGNO
                           INNER JOIN dbo.GENERAL_REPORT AS e ON c.REQ_PROCNO = e.REQ_PROCNO
                            CROSS APPLY(SELECT TOP(1) * from dbo.REQ_PROC_DETAIL AS d where c.REQ_PROCNO = d.REQ_PROCNO order by FEE desc) d
                        join DICT_PUBLICINFO p on  b.ADM_ID_ISS  =p.CODENAME    and p.PARENTCODE='999009'         
WHERE   (c.DELETE_SIGN = '1')


视图三、V_GLOBALSTUDY_NKJK

CREATE VIEW [dbo].[V_GLOBALSTUDY_NKJK] 
AS
SELECT     c.STATUS, b.ADM_ID_ISS, a.HISID, b.PLA_ORD_NUM, b.DIAGNOSIS, c.ASSAY, c.ENDONO, a.PATNAME, a.SEX, a.PATIENTID, c.ALLPARTOFCHECK, d.ALLDIRECTION, 
                      c.MODALITY, CASE WHEN b.EXIGENCE = '0' THEN 'false' ELSE 'true' END AS ISEXIGENCE, b.ENROLDOCTOR, b.ADM_ID, b.BedNO AS BEDNO, b.PAT_AGE, e.CHIEFDOCTOR, 
                      e.PRINTDOCTOR, e.REPORTDOCTOR, d.FEE, c.REQ_PROC_ID, d.DIRECTION, 
					  
					
					  
					  e.CHECKRESULT, a.IDCARDNO, a.BIRTHDATE, a.TELEPHONE, a.ADDRESS, b.REQ_SERVICE, b.REQ_PHY_NAME, 
                      c.STUDY_INS_UID, d.PARTOFCHECK_STAT AS PARTOFCHECK, d.CHECKDOCTOR, b.OFDEPARTMENT, c.REQ_PROC_LOC, d.MODALITYNAME, d.ROOMNO, 
                      CASE SUBSTRING(c.TRACEIDENTIFIER, 1, 1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_ZC, CASE SUBSTRING(c.TRACEIDENTIFIER, 2, 
                      1) WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_XX, CASE SUBSTRING(c.TRACEIDENTIFIER, 3, 1) 
                      WHEN 'T' THEN 'true' WHEN 'F' THEN 'false' END AS TRACEIDENTIFIER_HZ, a.PATIENTNO, b.SERV_REGNO, c.REQ_PROCNO, 
					
					  
					  e.REPORTNO, e.REPORTID, CASE e.masculine WHEN '0' THEN '阴性' WHEN '1' THEN '阳性' END AS MASCULINE, 
                      c.CRITICAL_STATUS, 

					 e.D2,
					 CONVERT(varchar(19), c.STUDY_DATE, 121) AS CHECKDATE,
					 b.ACCESSION_DATE ACCESSION_DATE, 					  
					 CONVERT(varchar(19),  c.ACTION_DATE, 121) AS ACTION_DATE, 
					 CONVERT(varchar(19), e.CONTENT_DATE, 121) AS CONTENT_DATE, 
					 CONVERT(varchar(19), e.PRINTDATE, 121)  AS PRINTDATE,b.NJXH
					 ,p.SORTFLAG


FROM         dbo.R_PATIENT AS a INNER JOIN
                      dbo.IMG_SERV_REG AS b ON a.PATIENTNO = b.PATIENTNO INNER JOIN
                      dbo.REQ_PROC AS c ON b.SERV_REGNO = c.SERV_REGNO INNER JOIN
                      dbo.REQ_PROC_DETAIL AS d ON c.REQ_PROCNO = d.REQ_PROCNO INNER JOIN
                      dbo.GENERAL_REPORT AS e ON c.REQ_PROCNO = e.REQ_PROCNO
					  join DICT_PUBLICINFO p on  b.ADM_ID_ISS  =p.CODENAME    and p.PARENTCODE='999009'       
WHERE     (c.DELETE_SIGN = '1')  AND OFDEPARTMENT = 'NKJK'


2022年12月15日 | 发布:强强 | 分类:PACS系统安装 | 评论:0

发表留言: