Browse Source

松桃 老版 lis 报告问题解决

zzh_love 6 months ago
parent
commit
8387cfea83

+ 10 - 8
LisPacsDataUpload/Form1.cs

@@ -418,11 +418,11 @@ namespace LisPacsDataUpload
                                   and  dr.status  in ('3003', '3004') and  sr.id = " + requestId;
                                 DataTable dt_lis = OracleHelper<object>.PgQueryDS(sql_zlhr);
                                 string reportId = dt_lis.Rows[0]["id"].ToString();
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportId, reportId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportId, reportId,null);
                             }
                             else if(lisSource==3){
                                 string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, requestId, requestId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, requestId, requestId,null);
                                 if (!generatePdfUrl.Contains(".pdf"))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);
@@ -436,7 +436,7 @@ namespace LisPacsDataUpload
                                 string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
                                 string pdfUrl = dt.Rows[i]["pdfUrl"].ToString(); // 三方pdf地址 需要下载
 
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, pdfUrl, requestId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, pdfUrl, requestId,null);
                                 if (string.IsNullOrEmpty(generatePdfUrl))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);
@@ -447,10 +447,11 @@ namespace LisPacsDataUpload
                             }
                             else
                             {
+                                string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
                                 //获取标本号 和报表编号
                                 string reportNumber = dt.Rows[i]["reportNumber"].ToString(); //报告编号
                                 string bbid = dt.Rows[i]["bbid"].ToString();   // 标本id
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportNumber, bbid);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportNumber, bbid, requestId);
                                 if (!generatePdfUrl.Contains(".pdf"))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);
@@ -1070,12 +1071,12 @@ namespace LisPacsDataUpload
                                   and  dr.status  in ('3003', '3004') and  sr.id = " + requestId;
                                 DataTable dt_lis = OracleHelper<object>.PgQueryDS(sql_zlhr);
                                 string reportId = dt_lis.Rows[0]["id"].ToString();
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportId, reportId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportId, reportId,null);
                             }
                             else if (lisSource == 3)
                             {
                                 string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, requestId, requestId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, requestId, requestId, null);
                                 if (!generatePdfUrl.Contains(".pdf"))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);
@@ -1089,7 +1090,7 @@ namespace LisPacsDataUpload
                                 string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
                                 string pdfUrl = dt.Rows[i]["pdfUrl"].ToString(); // 三方pdf地址 需要下载
 
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, pdfUrl, requestId);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, pdfUrl, requestId, null);
                                 if (string.IsNullOrEmpty(generatePdfUrl))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);
@@ -1100,10 +1101,11 @@ namespace LisPacsDataUpload
                             }
                             else
                             {
+                                string requestId = dt.Rows[i]["requestId"].ToString(); // 申请id
                                 //获取标本号 和报表编号
                                 string reportNumber = dt.Rows[i]["reportNumber"].ToString(); //报告编号
                                 string bbid = dt.Rows[i]["bbid"].ToString();   // 标本id
-                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportNumber, bbid);
+                                generatePdfUrl = PdfUtils.GeneratePdf(lisSource, reportNumber, bbid, requestId);
                                 if (!generatePdfUrl.Contains(".pdf"))
                                 {
                                     LogHelper.Info("生成pdf失败,原因是 = " + generatePdfUrl);

+ 21 - 11
LisPacsDataUpload/business/PdfUtils.cs

@@ -10,10 +10,8 @@ using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using System.Net;
-using System.Net.Security;
 using System.Reflection;
 using System.Security.Cryptography.X509Certificates;
-using System.Threading.Tasks;
 
 
 namespace LisPacsDataUpload.business
@@ -27,11 +25,10 @@ namespace LisPacsDataUpload.business
         /// 根据lis版本获取请求生成pdf报告的参数   0中联老版lis 1 中联新版lis  2  专业版临生免  10 标准服务老版lis 11标准服务新版lis  3 三方lis  
         /// </summary>
         /// <returns></returns>
-        public static string getPdfParamByLisVersion(int lisVersion, string reportNumber,string bbid)
+        public static string getPdfParamByLisVersion(int lisVersion, string reportNumber,string bbid,string yzid)
         {
 
             string dicLis = AppDomain.CurrentDomain.BaseDirectory + "Lis\\";
-
             if (!Directory.Exists(dicLis))
             {
                 Directory.CreateDirectory(dicLis);
@@ -39,12 +36,10 @@ namespace LisPacsDataUpload.business
             string path = dicLis + "LIS" + bbid+ ".pdf";
             Paramater paramter = new Paramater
             {
-                ZlSysCode = 2500,
                 RePortCode = reportNumber,
                 PdfPath = $"pdf={path}",
                 InvokeType = 4
             };
-            paramter.Params.Add(new SubParameter { Param = $"标本id={bbid}" });
             if (lisVersion==0)
             {
                 //老版lis
@@ -52,11 +47,27 @@ namespace LisPacsDataUpload.business
                 /* Select Distinct 'ZLCISBILL' || Trim(To_Char(b.编号, '00000')) || '-2' 报表编号, a.相关id, d.id 标本id
   From 病人医嘱记录 A,检验标本记录 d, 病历文件列表 B, 病历单据应用 C
   Where a.诊疗项目id = c.诊疗项目id And a.病人来源 = c.应用场合 And c.病历文件id = b.Id And a.Id = :id and a.相关id = d.医嘱id*/
-                var id = "";  // 标本id
-                paramter.Params.Add(new SubParameter { Param = $"标本id={id}" });
+                paramter.ZlSysCode = 100;
+                paramter.Params.Add(new SubParameter { Param = $"医嘱id={yzid}" });
+                paramter.Params.Add(new SubParameter { Param = $"标本id={bbid}" });
+                string strJson = JsonConvert.SerializeObject(paramter);
+                LogHelper.Info("strJson==" + strJson);
+                if (!Init())
+                {
+                    LogHelper.Info("Init初始化异常");
+                    return "Init初始化异常";
+                }
+                //生成pdf成功
+                if (OutPdf(strJson))
+                {
+                    return path;
+                }
+
             }
             else if (lisVersion == 1)
             {
+                paramter.ZlSysCode = 2500;
+                paramter.Params.Add(new SubParameter { Param = $"标本id={bbid}" });
                 // 新版lis
                 /* Select distinct 'ZLLISBILL00' || Decode(b.病人来源, 2, c.住院单据, 3, c.体检单据, 4, c.院外单据, c.门诊单据) || '-2' 报表编号, a.Id 标本id
  From 检验报告记录 A, 检验申请组合 B, 检验仪器记录 C
@@ -68,7 +79,6 @@ namespace LisPacsDataUpload.business
                     LogHelper.Info("Init初始化异常");
                     return "Init初始化异常";
                 }
-
                 //生成pdf成功
                 if (OutPdf(strJson))
                 {
@@ -154,9 +164,9 @@ namespace LisPacsDataUpload.business
             LogHelper.Info("JPG 转换为 PDF 成功!");
         }
 
-        public static string GeneratePdf(int lisVersion, string reportNumber, string bbid)
+        public static string GeneratePdf(int lisVersion, string reportNumber, string bbid, string yzid)
         {
-            string pdfUrl = getPdfParamByLisVersion(lisVersion, reportNumber, bbid);
+            string pdfUrl = getPdfParamByLisVersion(lisVersion, reportNumber, bbid, yzid);
             LogHelper.Info("GeneratePdf==" + pdfUrl);
             return pdfUrl;
         }

+ 29 - 0
ZLPlugin_LisPacs_MR/doc/init.sql

@@ -1,5 +1,34 @@
 
 
+ALTER TABLE 互认开单项目 MODIFY 相关id VARCHAR2(500);
+alter table 互认开单项目 add 病人来源 varchar(3) ;
+alter table 互认开单项目 add 是否上传 number(2) default 0 ;
+alter table 互认开单项目 add 上传时间 date ;
 
+alter table zllpmr.互认配置表 add lis_source number(2) ;
 
+COMMENT ON COLUMN zllpmr.互认配置表.lis_source IS '0中联老版lis 1 中联新版lis  2  专业版临生免  10 标准服务老版lis 11标准服务新版lis  3 三方lis';
 
+alter table zllpmr.互认配置表 add standard_url varchar2(2) ;
+
+COMMENT ON COLUMN zllpmr.互认配置表.standard_url IS '标准服务url地址';
+
+CREATE OR REPLACE VIEW ZLLPMR.BILL_PROJECT_VIEW AS
+select  distinct to_char(a.开单时间,'YYYY-MM-DD HH24:MI:SS') as APPLYTIME,
+                                               (select 机构编码 from zllpmr.互认配置表) ORGCODE,
+                                              (select 机构名称 from zllpmr.互认配置表) ORGNAME,
+                                              a.开单人 HISUSERNAME,
+                                              a.计算机名 as COMPUTERNAME, b.姓名 as PATIENTNAME,
+                                              to_char(a.患者id) as PATIENTID,
+                                              nvl(b.身份证号,'-') PATIENTIDCARD,
+                                              a.开单项目 AS ITEMNAMES,
+                                              to_char(a.相关id)  HISAPPLYCODE,
+                                              to_char(a.病人来源) PATIENTTYPE,
+                                              a.单据号 DOCTORCODE,
+                                              a.开单人 DOCTORNAME
+                                     from 互认开单项目 a,病人信息 b 
+                                    where  a.患者id = b.病人id 
+                                    and b.身份证号 is not null  
+                                      and  a.开单时间 > sysdate - 1
+                                      and  a.是否上传 = 0
+With Read Only;

+ 125 - 0
ZLPlugin_LisPacs_MR/doc/老版.txt

@@ -0,0 +1,125 @@
+create or replace view zllpmr.lis_upload as
+Select t."ORGCODE",t."ORGNAME",t."ORGTHRDCODE",t."REPORTID",t."REPORTNAME",t."REQUESTID",t."BARCODE",t."SAMPLENO",t."BUSINESSNUMBER",t."PATIENTTYPE",t."PATIENTNAME",t."PATIENTSEX",t."PATIENTBIRTHDAY",t."PATIENTAGE",t."AGEUNIT",t."PATIENTIDCARD",t."INPATIENTAREANAME",t."ROOMNO",t."BEDNO",t."PHONENO",t."ADDRESS",t."REPORTTYPE",t."REPORTTYPENAME",t."SAMPCODE",t."SAMPNAME",t."DIAGNOSISCODE",t."DIAGNOSISNAME",t."RESULTTYPE",t."APPLYTIME",t."APPLYERCODE",t."APPLYERNAME",t."APPLYDEPTCODE",t."APPLYDEPTNAME",t."COLLECTTIME",t."COLLECTCODE",t."COLLECTNAME",t."TRANSPORTCODE",t."TRANSPORTNAME",t."TRANSPORTDEPTCODE",t."TRANSPORTDEPTNAME",t."TRANSPORTORGCODE",t."TRANSPORTORGNAME",t."ACCEPTTIME",t."ACCEPTORCODE",t."ACCEPTORNAME",t."RECEIVETIME",t."RECEIVERCODE",t."RECEIVERNAME",t."CHECKTIME",t."CHECKERCODE",t."CHECKERNAME",t."CHECKDEPTCODE",t."CHECKDEPTNAME",t."AUDITTIME",t."AUDITORCODE",t."AUDITORNAME",t."REPORTTIME",t."REPORTORCODE",t."REPORTORNAME",t."SAMPLENOTES",t."CHECKPRICE",t."ZYH",t."MZH",t."AGE",t."SEX",t."DEP",pdf.Attachmentid
+,t.patientId,t.healthNo,t.medicareNo,t.socialNo,t.inpatientAreaCode,t.sampleName,t.execHospitalCode,t.execHospitalName,t.sameHospital,t.projectCode,t.projectName
+,reportNumber,bbid
+From (
+Select  distinct
+
+        j.机构编码 orgCode ,--String  否 检验组织机构代码(即报告机构代码)(铜仁市)平台分配的机构编码
+        j.机构名称 orgName ,--String  否 检验组织机构名称(即报告机构名称)(铜仁市)平台分配的机构名称
+        '' orgThrdCode ,--String    其他三方平台机构代码
+        to_char(a.医嘱id) reportId  ,--String  否 报告单编号
+        nvl(a.检验项目,'其他项目') reportName  ,--String  否 检验报告单名称(检验医嘱项目的汇总名称,如:肝功能,肾功能,血脂四项)
+        to_char(a.医嘱id) requestId ,--String  否 电子申请单编号
+        to_char(nvl((Select 样本条码 From 病人医嘱发送 Where 医嘱id = a.医嘱id And Rownum = 1),a.医嘱id)) barcode ,--String  否 条码编号
+        to_char(nvl((Select 样本条码 From 病人医嘱发送 Where 医嘱id = a.医嘱id And Rownum = 1),a.医嘱id)) sampleNo  ,--String  否 标本号/样本号
+        to_char(c.病人id) businessNumber  ,--String  否 患者编号(门(急)诊号/住院号/体检号)
+        to_char(a.病人来源) patientType ,--String  否 患者类型(1:门急诊;2:住院;3:体检;4:公卫;5:其他)
+        a.姓名 patientName ,--String  否 患者姓名
+        (select 代码 from 字典对码表 Where 名称 = f.性别 and 分类 = '性别') patientSex  ,--String    性别代码(GB/T 2261.1-2003)
+        to_char(f.出生日期,'yyyy-mm-dd') patientBirthday ,--String    出生日期,格式:yyyy-MM-dd
+        decode(trunc(months_between(sysdate,f.出生日期)/12),
+        0,
+        to_char(ceil(sysdate - f.出生日期)),
+        to_char(trunc(months_between(sysdate,f.出生日期)/12))) patientAge  ,--String    实足年龄
+        decode(trunc(months_between(sysdate,f.出生日期)/12),0,'天','岁') ageUnit ,--String    年龄单位(天或岁)
+        f.身份证号 patientIdCard ,--String  否 证件号码(或域ID)如果是新生儿,应填母亲证件号
+        (Select y.名称 From 病案主页 x,部门表 y Where x.病人id = c.病人id And x.主页id = c.主页id And y.id = x.当前病区id) inpatientAreaName ,--String    住院患者-病区名称
+        (Select Decode(x.信息值,Null,y.信息值,x.信息值) From 病案主页从表 x,病案主页从表 y Where x.信息名 = '入院病室'
+        And x.病人id = c.病人id And x.主页id = c.主页id And y.病人id = x.病人id And y.主页id = x.主页id And y.信息名 = '出院病室') roomNo  ,--String    住院患者-病房号
+        (Select x.出院病床 From 病案主页 x Where x.病人id = c.病人id And x.主页id = c.主页id) bedNo ,--String    住院患者-病床号
+        to_char(f.手机号) phoneNo ,--String  否 电话号码
+        f.家庭地址 address ,--String  否 住址
+        nvl((select 代码 from 字典对码表 t where 分类 = '检验' and 名称=a.操作类型),'399') reportType  ,--String    检验-类别代码(CV5199.01检查/检验类别代码)
+        nvl((select 代码名称 from 字典对码表 t where 分类 = '检验' and 名称=a.操作类型),'其他检验项目') reportTypeName  ,--String    检验-类别
+        (select 代码 from 字典对码表 t where 分类 = '标本类别代码' and 名称=a.标本类型) sampCode  ,--String    标本类别代码(CT04.50.008标本类别代码)
+        (select 代码名称 from 字典对码表 t where 分类 = '标本类别代码' and 名称=a.标本类型) sampName  ,--String    标本类别名称
+        '-' diagnosisCode ,--String    疾病诊断代码
+        '-' diagnosisName ,--String    疾病诊断名称
+        '-' resultType  ,--String    检验-结果代码(CT5103.04检测结果代码)
+        to_char(a.申请时间,'yyyy-mm-dd hh24:mi:ss') applyTime ,--String  否 申请时间,格式:yyyy-MM-dd HH:mm:ss
+        h.编号 applyerCode ,--String    申请人工号
+        a.申请人 applyerName ,--String  否 申请人姓名
+        (select 代码 from 字典对码表 Where 分类 = '科室代码' And  名称 = (Select 名称 From 部门表 Where Id = a.申请科室id)) applyDeptCode ,--String    申请科室代码(CT08.00.002科室代码)
+        (select 代码名称 from 字典对码表 Where 分类 = '科室代码' And  名称 = (Select 名称 From 部门表 Where Id = a.申请科室id)) applyDeptName ,--String  否 申请科室名称
+        to_char(nvl(a.采样时间,a.核收时间),'yyyy-mm-dd hh24:mi:ss') collectTime ,--String  否 采样/采集时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(nvl(h1.编号,h2.编号),'-',h1.编号) collectCode ,--String    采样人工号
+        nvl(a.采样人,a.核收人) collectName ,--String  否 采样人姓名
+        decode(h2.编号,Null,'-',h2.编号) transportCode ,--String    送检人工号
+        a.核收人 transportName ,--String  否 送检人姓名
+        (select 代码 from 字典对码表 Where 分类 = '科室代码' And  名称 = (Select 名称 From 部门表 Where Id = a.申请科室id)) transportDeptCode ,--String    送检科室代码(CT08.00.002科室代码)
+        (select 代码名称 from 字典对码表 Where 分类 = '科室代码' And  名称 = (Select 名称 From 部门表 Where Id = a.申请科室id)) transportDeptName ,--String  否 送检科室名称
+        j.机构编码 transportOrgCode  ,--String    送检机构代码
+        j.机构名称 transportOrgName  ,--String  否 送检机构名称
+        to_char(a.核收时间,'yyyy-mm-dd hh24:mi:ss') acceptTime  ,--String  否 接收标本时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(h4.编号,Null,'-',h4.编号) acceptorCode  ,--String    接收人工号
+        decode(a.核收人,Null,'-',a.核收人) acceptorName  ,--String  否 接收人姓名
+        to_char(a.核收时间,'yyyy-mm-dd hh24:mi:ss') receiveTime ,--String  否 核收时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(h4.编号,Null,'-',h4.编号) receiverCode  ,--String    核收人工号
+        decode(a.核收人,Null,'-',a.核收人) receiverName  ,--String  否 核收人姓名
+        to_char(a.核收时间,'yyyy-mm-dd hh24:mi:ss') checkTime ,--String  否 检验时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(h5.编号,Null,'-',h5.编号) checkerCode ,--String    检验人工号
+        decode(a.检验人,Null,'-',a.检验人) checkerName ,--String  否 检验人姓名
+        (select 代码 from 字典对码表 Where 分类 = '科室代码' And  名称 = g.名称) checkDeptCode ,--String    检验科室代码(CT08.00.002科室代码)
+        (select 代码名称 from 字典对码表 Where 分类 = '科室代码' And  名称 = g.名称) checkDeptName ,--String  否 检验科室名称
+        to_char(a.审核时间,'yyyy-mm-dd hh24:mi:ss') auditTime ,--String  否 审核时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(h6.编号,Null,'-',h6.编号) auditorCode ,--String    审核人工号
+        decode(a.审核人,Null,'-',a.审核人) auditorName ,--String  否 审核人姓名
+        to_char(a.审核时间,'yyyy-mm-dd hh24:mi:ss') reportTime  ,--String  否 报告时间,格式:yyyy-MM-dd HH:mm:ss
+        decode(h5.编号,Null,'-',h5.编号) reportorCode  ,--String    报告人工号
+        decode(a.检验人,Null,'-',a.检验人) reportorName  ,--String  否 报告人姓名
+        '' sampleNotes ,--String    标本备注/标本状态
+        to_char(nvl(0,0)) checkPrice  ,--String  否 检验费用(元),保留小数点后四位
+        to_char(a.住院号) zyh,--String 住院号
+        to_char(a.门诊号) mzh,--String 门诊号
+        a.年龄 age,--String 年龄
+        f.性别 sex, -- string 性别
+        (Select 名称 From 部门表 Where Id = a.申请科室id) dep, --申请科室
+        to_char(c.病人id) patientId, --病人id
+        '' healthNo ,  -- 电子健康卡号
+        '' medicareNo ,--电子健康卡号
+        '' socialNo, -- 社保卡号
+        '' inpatientAreaCode, -- 病区代码
+       a.标本类型 sampleName,--   样本名称
+        j.机构编码 execHospitalCode ,--String 申请机构组织编码
+        j.机构名称 execHospitalName,  -- 申请机构名称
+        '1' sameHospital , -- 申请、采样和检测是否同一机构(0-否;1-是)
+        '-' projectCode , -- 检验项目编码(组合编码)
+        '-' projectName  ,-- 检验项目名称(组合名称,如:血常规、肝功能等)
+         (Select Distinct 'ZLCISBILL' || Trim(To_Char(blwj.编号, '00000')) || '-2' 
+  From  病历文件列表 blwj, 病历单据应用 bldj
+  Where c.诊疗项目id = bldj.诊疗项目id And c.病人来源 = bldj.应用场合 And bldj.病历文件id = blwj.Id  and c.相关id = a.医嘱id  ) reportNumber ,
+        to_char(a.id) bbid 
+  
+      from 检验标本记录 a,检验普通结果 b,病人医嘱记录 c,诊疗项目目录 d,病人信息 f,部门表 g,人员表 h,人员表 h1,人员表 h2,
+           人员表 h4,人员表 h5,人员表 h6,互认配置表 j,
+           (select distinct y.诊疗项目id from 保险支付项目 m,互认项目清单 l,诊疗收费关系 y where m.项目编码 = l.医保通用编码 and m.险类 = 111 And y.收费项目id = m.收费细目id) z
+      Where a.病人来源 In(1,2) And b.检验标本id = a.id And c.相关id = a.医嘱id
+       And d.id = c.诊疗项目id
+       And f.病人id = c.病人id
+       And g.Id = c.执行科室id
+       and a.申请人 is not null
+       And h.姓名(+) = a.申请人
+       And h1.姓名(+) = a.采样人
+       And h2.姓名(+) = a.核收人
+       And h4.姓名(+) = a.核收人
+       And h5.姓名(+) = a.检验人
+       And h6.姓名(+) = a.审核人
+       and d.id = z.诊疗项目id
+       And d.操作类型 <> '微生物'
+       And a.审核时间 Is Not Null
+       And a.核收人 Is Not Null
+       And a.核收时间 Is Not Null
+       And a.检验人 Is Not Null
+       And a.审核时间 Is Not Null
+       And f.手机号 Is Not Null
+       And f.家庭地址 Is Not Null
+       And f.身份证号 Is Not Null
+       And Trunc(a.审核时间)+0 >= sysdate - 3
+       ) t ,已上传PDF pdf
+        Where pdf.Businessnumber(+) = t.Businessnumber And pdf.Reportid(+) = t.Reportid And pdf.Type(+) = 2
+        and transportDeptName is not null
+        And t.diagnosisCode Is Not Null --and pdf.attachmentId Is Null
+        And t.diagnosisName Is Not Null and rownum < 100
+With Read Only
+;