置百丈玄冰而崩裂,掷须臾池水而漂摇。
PACS系统安装

三个视图 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')


强强 2022/12/15 0评论

日常

windows剪切板常见API函数

windows剪切板常见API函数


(一) ChangeClipboardChain  
将剪贴的连接从一个句柄转到下一个句柄。

BOOL ChangeClipboardChain( 
 HWND hWndRemove, // handle to window to remove 
 HWND hWndNewNext // handle to next window 
 );

(1)hWndRemove表 示第一个窗口的句柄(断开)。
(2)hWndNewNext表示第二个窗口的句柄(连接)。
注意,在使用之前应该使用 SetClipboardViewer事先进行窗口句柄的连接。

强强 2022/12/15 0评论

PACS业务知识

DICOM 之 WADO

DICOM 之 WADO  

1、WADO基础知识介绍

DICOM 3.0 标准被制定之后,在这过去十几年间,DICOM 已俨然成为医疗用影像诊断机器(Modality)和影像保存及呈现装置间不可替代的数字通讯标准。另一方面,随着Web 技术的发展,透过Web 技术及讯息机制来接收或保存DICOM 影像数据的服务器也变得普及,对于这种支持Web 讯息机制的DICOM 服务器,我们称作 Web Enabled DICOM Server。 不过由于各个厂商所使用的URL 的格式及参数不尽相同,为了要能实现在因特网中,使用者能透过浏览网页的方式来查看电子病历,并且藉由HTTP通讯来从Web Enabled  DICOM 服务器取得相关影像的目的,每个电子病历厂商或者DICOM 服务器厂商就必须根据其所配合的厂商不断的修改其程序来配合彼此。而WADO 规格被建立的主要目地就是要共通化URL 的格式及方法,使得不同厂商的DICOM 服务器和电子病历系统的组合均能兼容,并在电子病历系统上也能显示DICOM 影像。

强强 2022/11/25 0评论

日常

window server 2012 去除强密码策略方法

window server 2012  安装完成后会启动强密码策略,下面给出关闭强密码策略的办法


一、打开运行。使用Windows的快捷键win+R打开运行窗口,在打开处输入命令gpedit.msc命令开启Windows serve的组策略编辑器。

强强 2022/11/24 0评论

日常

清理iis日志方法

清理iis日志的办法


IIS在运行时回产生日志,如果长时间不管了会占用系统盘很多资源,下面提供一个清理iis日志的方法


强强 2022/11/19 0评论