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

历史数据 查询方式

-- =============================================
-- Author:<Author,,Name>
-- Create date: <Create Date,,>
-- Description:<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[Pro_HisPatient](
@REQ_PROCNO  uniqueidentifier,
@hospitalno nvarchar(64)=null
 )
AS
BEGIN 
SET NOCOUNT ON;
declare @patname nvarchar(1000)
declare @hisid nvarchar(1000)
declare @idcard nvarchar(1000)
declare @patientid nvarchar(1000)
declare @mk uniqueidentifier
declare @tb as table(mk uniqueidentifier)
declare @modality as nvarchar(100)
SELECT @patname=p.PATNAME,@hisid=p.HISID,@idcard=p.IDCARDNO,@mk=i.SERV_REGNO,@patientid=p.PATIENTID,@modality=o.MODALITY
from R_PATIENT p 
join IMG_SERV_REG i on p.PATIENTNO=i.PATIENTNO 
join REQ_PROC o on o.SERV_REGNO=i.SERV_REGNO where REQ_PROCNO=@REQ_PROCNO
print @patname
print @hisid
print @idcard
print @mk
print @patientid
print @modality
print @patientid
--身份证号
if(@idcard is not null and @idcard<>'' and (LEN(@idcard)=18  or len(@idcard)=15))
begin
--hisid
if(@hisid is not null and @hisid<>'')
begin
insert into @tb
SELECT distinct MERGER_FK FROM V_REPORTLIST  WHERE (PATIENTID=@patientid or IDCARDNO=@idcard  or HISID=@hisid)
end
else
begin
insert into @tb
SELECT distinct MERGER_FK FROM V_REPORTLIST  WHERE (PATIENTID=@patientid or IDCARDNO=@idcard   )
end
end
else
begin
--hisid
if(@hisid is not null and @hisid<>'')
begin
insert into @tb
SELECT distinct MERGER_FK FROM V_REPORTLIST  WHERE (PATIENTID=@patientid or  HISID=@hisid)
end
else
begin
insert into @tb
SELECT distinct MERGER_FK FROM V_REPORTLIST  WHERE (PATIENTID=@patientid   )
end
end
--select * from @tb
select v.*,dbo.GetAllExamitem(v.REQ_PROCNO) AllDirection 
from V_REPORTLIST v 
join @tb b on v.MERGER_FK=b.mk
    left join T_OrderLink l on l.REQ_PROCNO= v.REQ_PROCNO and l.ISSAVE=1
    where  1=1
    and (l.Main_REQ_PROCNO is null or l.REQ_PROCNO=l.Main_REQ_PROCNO)
and  STATUS in ( '已诊断', '已审核', '已终审', '已打印')
and v.REQ_PROCNO <> @REQ_PROCNO and PATNAME=@patname
order by v.STUDY_DATE DESC  
END



 CREATE VIEW [dbo].[V_REPORTLIST]
AS
SELECT   c.STUDY_DATE, c.MODALITY, c.PARTOFCHECK, 
                p.PATIENTID, p.PATNAME, i.ACCESSION_NO, c.STATUS, 
                c.REQ_PROC_ID, '' AS PROC_DETAILNO, p.MERGER_FK, p.PATIENTNO, 
                i.SERV_REGNO, c.REQ_PROCNO, r.REPORTNO, 
                p.HISID, c.STUDY_INS_UID, i.ACCESSION_DATE, i.ADM_ID_ISS,
                c.ALLPARTOFCHECK,c.STUDY_DATE as CHECKDATE,i.ADM_ID,p.IDCARDNO,i.PAT_AGE,i.EXIGENCE,p.SEX

FROM      dbo.R_PATIENT p 
		  INNER JOIN   dbo.IMG_SERV_REG i ON p.PATIENTNO = i.PATIENTNO 
		  INNER JOIN   dbo.REQ_PROC c ON i.SERV_REGNO = c.SERV_REGNO 
		  INNER JOIN   dbo.GENERAL_REPORT r ON c.REQ_PROCNO = r.REQ_PROCNO
WHERE   (c.STATUS IN ( '已诊断', '诊断中', '审核中', '审核退回', '已审核', '已终审', '已打印')) AND 
                (c.DELETE_SIGN = '1')
				and i.OFDEPARTMENT<>'FSK'
union all
SELECT   c.STUDY_DATE, c.MODALITY, c.PARTOFCHECK, 
                p.PATIENTID, p.PATNAME, i.ACCESSION_NO, c.STATUS, 
                c.REQ_PROC_ID, '' AS PROC_DETAILNO, p.MERGER_FK, p.PATIENTNO, 
                i.SERV_REGNO, c.REQ_PROCNO, r.REPORTNO, 
                p.HISID, c.STUDY_INS_UID, i.ACCESSION_DATE,  i.ADM_ID_ISS,
                c.ALLPARTOFCHECK,c.STUDY_DATE as CHECKDATE,i.ADM_ID,p.IDCARDNO,i.PAT_AGE,i.EXIGENCE,p.SEX
FROM      dbo.R_PATIENT p
		 INNER JOIN dbo.IMG_SERV_REG i ON p.PATIENTNO = i.PATIENTNO 
		 INNER JOIN dbo.REQ_PROC c ON i.SERV_REGNO = c.SERV_REGNO 
		 INNER JOIN dbo.GENERAL_REPORT r ON c.REQ_PROCNO = r.REQ_PROCNO
WHERE   (c.STATUS IN ('已检查','处理中', '已诊断', '诊断中', '审核中', '审核退回', '已审核', '已终审', '已打印')) AND 
                (c.DELETE_SIGN = '1')
				and i.OFDEPARTMENT='FSK'


2022年12月29日 | 发布:强强 | 分类:RIS系统 | 评论:0

发表留言: