Advertisement
ryanarnold

Precision Queries

Jul 25th, 2019
437
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.55 KB | None | 0 0
  1. TABLE: HV_LABGEN_ACC_ICD10_CODES_PL
  2. SELECT DISTINCT
  3. 'Precision' AS SOURCE_CLINIC,
  4. CONCAT(b.accession) AS ACCESSION,
  5. CONCAT(c.diag) AS ICD10_CODE
  6. FROM orddiag b,
  7. orddiag_diag c
  8. WHERE b.test <> '@@@@'
  9. AND c.orddiag_recnum = b.recnum
  10.  
  11.  
  12. TABLE: HV_LABGEN_CLIENTS_PL
  13. select 'Precision' AS SOURCE_CLINIC,
  14. -- c.NUM + 0 AS NUM,
  15. -- c.COPIES + 0 AS COPIES,
  16. -- c.DRCOPY + 0 AS DRCOPY,
  17. -- c.BILLDR + 0 AS BILLDR,
  18. -- c.BILLPAT + 0 AS BILLPAT,
  19. -- c.DISCOUNT + 0 AS DISCOUNT,
  20. -- c.SALESGROUP + 0 AS SALESGROUP,
  21. -- c.SALESGRP2 + 0 AS SALESGRP2,
  22. -- c.SALESGRP3 + 0 AS SALESGRP3,
  23. -- c.SALESGRP4 + 0 AS SALESGRP4,
  24. -- c.ROUTE + 0 AS ROUTE,
  25. -- c.BILLTOCLT + 0 AS BILLTOCLT,
  26. c.RECNUM + 0 AS RECNUM,
  27. concat(c.NAME) AS NAME,
  28. concat(c.TITLE) AS TITLE,
  29. -- concat(c.ADDRS) AS ADDRS,
  30. -- concat(c.CITY) AS CITY,
  31. -- concat(c.STATE) AS STATE,
  32. -- concat(c.ZIP) AS ZIP,
  33. -- concat(c.COMPANY) AS COMPANY,
  34. -- concat(c.REMREP) AS REMREP,
  35. -- concat(c.PRIVILEGE) AS PRIVILEGE,
  36. -- concat(c.PROVIDER) AS PROVIDER,
  37. -- concat(c.DRTYPE) AS DRTYPE,
  38. -- concat(c.TEL) AS TEL,
  39. -- concat(c.CONTACT) AS CONTACT,
  40. -- concat(c.BILLPROF) AS BILLPROF,
  41. -- concat(c.ADDR2) AS ADDR2,
  42. -- concat(c.CITYSTATE) AS CITYSTATE,
  43. -- concat(c.BILLZIP) AS BILLZIP,
  44. -- concat(c.PROVIDER2) AS PROVIDER2,
  45. -- concat(c.ASSIGN) AS ASSIGN,
  46. -- concat(c.SPECPRICE) AS SPECPRICE,
  47. -- concat(c.COMPTEST) AS COMPTEST,
  48. -- concat(c.INACTIVE_) AS INACTIVE_,
  49. -- concat(c.OKTOBILL) AS OKTOBILL,
  50. -- concat(c.DIALYSIS) AS DIALYSIS,
  51. -- concat(c.ALLBILLTYPES) AS ALLBILLTYPES,
  52. -- date(c.LSTPAYDT) AS LSTPAYDT,
  53. concat(c2.npi) AS NPI
  54. FROM client c
  55. LEFT JOIN cltext2 c2 ON c2.recnum = c.recnum
  56.  
  57.  
  58. TABLE: HV_LABGEN_INSURANCE_PL
  59. select 'Precision' AS SOURCE_CLINIC,
  60. a.RECNUM + 0 AS RECNUM,
  61. -- a.BILLSCH + 0 AS BILLSCH,
  62. -- a.FORMUSED + 0 AS FORMUSED,
  63. a.TESTCODE + 0 AS TESTCODE,
  64. concat(a.CODE) AS CODE,
  65. concat(a.NAME) AS NAME,
  66. concat(a.ADDR1) AS ADDR1,
  67. concat(a.ADDR2) AS ADDR2,
  68. -- concat(a.TEL) AS TEL,
  69. -- concat(a.PROVIDER) AS PROVIDER,
  70. -- concat(a.SUPPCODE) AS SUPPCODE,
  71. -- concat(a.MAGNETIC) AS MAGNETIC,
  72. -- concat(a.DISKNUM) AS DISKNUM,
  73. -- concat(a.LASTCLAIM) AS LASTCLAIM,
  74. -- concat(a.CHKRESULT) AS CHKRESULT,
  75. -- concat(a.LOGINID2) AS LOGINID2,
  76. -- concat(a.LOGINPASS2) AS LOGINPASS2,
  77. -- concat(a.LOGINID) AS LOGINID,
  78. -- concat(a.LOGINPASS) AS LOGINPASS,
  79. -- concat(a.REMTEL) AS REMTEL,
  80. -- concat(a.PAYTOLAB) AS PAYTOLAB,
  81. concat(a.BILLSTATE) AS BILLSTATE,
  82. -- concat(a.PRIORAUTH) AS PRIORAUTH,
  83. -- concat(a.BOX23) AS BOX23,
  84. -- concat(a.LINEITEM) AS LINEITEM,
  85. -- concat(a.BOX33B) AS BOX33B,
  86. -- concat(a.BOX17Q) AS BOX17Q,
  87. -- concat(a.BOX24H) AS BOX24H,
  88. -- concat(a.OVERALLOWED) AS OVERALLOWED,
  89. -- concat(a.BOX24B) AS BOX24B,
  90. -- concat(a.BOX24J) AS BOX24J,
  91. -- concat(a.BOX32B) AS BOX32B,
  92. -- concat(a.BOX31) AS BOX31,
  93. -- concat(a.BOX10D) AS BOX10D,
  94. concat(a.LONGNAME) AS LONGNAME,
  95. -- concat(a.BOX17A) AS BOX17A,
  96. -- concat(a.PRIMARYPAYER) AS PRIMARYPAYER,
  97. -- concat(a.BILLSOLO) AS BILLSOLO,
  98. -- concat(a.BOX24JNPI) AS BOX24JNPI,
  99. -- date(a.LASTTRANS) AS LASTTRANS,
  100. -- date(a.ICD10STARTDATE) AS ICD10STARTDATE,
  101. -- date(a.BSSTARTDATE) AS BSSTARTDATE,
  102. CONCAT(b.zip) AS ZIP_CODE
  103. from insurance a
  104. LEFT JOIN insext b on b.recnum = a.recnum
  105.  
  106.  
  107. TABLE: HV_LABGEN_ORDERED_TESTS_PL
  108. select 'Precision' AS SOURCE_CLINIC,
  109. concat(d.indtests) AS INDTESTS,
  110. -- concat(d.testflags) AS TESTFLAGS,
  111. concat(d.results) AS RESULTS,
  112. d.order_recnum + 0 AS ORDER_RECNUM,
  113. d.seq + 0 AS SEQ,
  114. d.recnum + 0 AS RECNUM,
  115. DATE_ADD(e.test_date_time, INTERVAL 0 DAY) AS TEST_COMPLETION_DATE,
  116. CONCAT(e.technician) AS TEST_COMPLETION_TECH,
  117. DATE_ADD(f.test_date_time, INTERVAL 0 DAY) AS TEST_STARTED_DATE,
  118. CONCAT(f.technician) AS TEST_STARTED_TECH
  119. from (select order_recnum,
  120. indtests,
  121. -- min(testflags) as testflags,
  122. min(results) as results,
  123. min(seq) as seq,
  124. min(recnum) as recnum
  125. from (select order_indtests.indtests,
  126. -- order_indtests.testflags,
  127. order_indtests.results,
  128. order_indtests.order_recnum,
  129. order_indtests.seq,
  130. order_indtests.recnum
  131. from order_indtests,
  132. order_
  133. where order_indtests.indtests is not null
  134. and order_.recnum = order_indtests.order_recnum
  135. and order_.entrydt >= (now() - interval 3 month)
  136. UNION ALL
  137. select ordext_indtests.indtests,
  138. -- ordext_indtests.testflags,
  139. ordext_indtests.results,
  140. order_.recnum,
  141. ordext_indtests.seq,
  142. ordext_indtests.recnum
  143. from ordext_indtests,
  144. ordext,
  145. order_
  146. where order_.extrec = ordext.recnum
  147. and ordext.recnum = ordext_indtests.ordext_recnum
  148. and ordext_indtests.indtests is not null
  149. and order_.entrydt >= (now() - interval 3 month)) xx
  150. group by order_recnum, indtests) d
  151. LEFT JOIN
  152. (
  153. select c.recnum AS ORDER_RECNUM,
  154. MAX(a.tech) AS TECHNICIAN,
  155. b.tests AS TEST_CODE,
  156. MAX(STR_TO_DATE(CONCAT(DATE_FORMAT(resdate,'%Y-%m-%d'),' ',
  157. CASE restime WHEN NULL THEN NULL
  158. ELSE CONCAT(SUBSTRING(restime,1,2),':',SUBSTRING(restime,3,2))
  159. END), '%Y-%m-%d %T')) AS TEST_DATE_TIME
  160. from ordext2 a,
  161. ordext2_tests b,
  162. order_ c
  163. where a.isverify = 'Y'
  164. and b.ordext2_recnum = a.recnum
  165. and c.accession = a.accession
  166. and c.entrydt >= (now() - interval 3 month)
  167. group
  168. by c.recnum,
  169. b.tests
  170. ) e on e.order_recnum = d.order_recnum and e.test_code = d.indtests
  171. LEFT JOIN
  172. (
  173. select c.recnum AS ORDER_RECNUM,
  174. MAX(a.tech) AS TECHNICIAN,
  175. b.tests AS TEST_CODE,
  176. MAX(STR_TO_DATE(CONCAT(DATE_FORMAT(resdate,'%Y-%m-%d'),' ',
  177. CASE restime WHEN NULL THEN NULL
  178. ELSE CONCAT(SUBSTRING(restime,1,2),':',SUBSTRING(restime,3,2))
  179. END), '%Y-%m-%d %T')) AS TEST_DATE_TIME
  180. from ordext2 a,
  181. ordext2_tests b,
  182. order_ c
  183. where ifnull(a.isverify,'X') <> 'Y'
  184. and b.ordext2_recnum = a.recnum
  185. and c.accession = a.accession
  186. and c.entrydt >= (now() - interval 3 month)
  187. group
  188. by c.recnum,
  189. b.tests
  190. ) f on f.order_recnum = d.order_recnum and f.test_code = d.indtests
  191.  
  192.  
  193. TABLE: HV_LABGEN_ORDERS_PL
  194. select 'Precision' AS SOURCE_CLINIC,
  195. a.CLIENT1 + 0 AS CLIENT_RECNUM,
  196. a.CLIENT2 + 0 AS PHYSICIAN_RECNUM,
  197. a.BILLTYPE + 0 AS BILLTYPE,
  198. a.PATPTR + 0 AS PATIENT_RECNUM,
  199. a.RECNUM + 0 AS RECNUM,
  200. CONCAT(a.ACCESSION) AS ACCESSION,
  201. CONCAT(a.BODYSITE) AS BODYSITE,
  202. CONCAT(a.COMMENT1) AS COMMENT1,
  203. CONCAT(a.COMMENT2) AS COMMENT2,
  204. CONCAT(a.PENDING) AS PENDING,
  205. date (a.ENTRYDT) AS ENTRYDT,
  206. date (a.COLLECTDT) AS COLLECTDT,
  207. date (a.REPDATE) AS REPDATE,
  208. IFNULL(MAX(e.userid),MAX(b.userid)) AS ORDER_ENTERED_BY,
  209. concat(c.name) AS TEST_TYPE_NAME,
  210. STR_TO_DATE(CONCAT(DATE_FORMAT(entrydt,'%Y-%m-%d'),' ', IFNULL(entrytim,'00:00')), '%Y-%m-%d %T') AS ORDER_DATE_TIME,
  211. STR_TO_DATE(CONCAT(DATE_FORMAT(collectdt,'%Y-%m-%d'),' ', IFNULL(CONCAT(left(collecttime,2),':',right(collecttime,2)),'00:00')), '%Y-%m-%d %T') AS COLLECTED_DATE_TIME,
  212. MAX(STR_TO_DATE(CONCAT(DATE_FORMAT(d.samplrePLdt,'%Y-%m-%d'),' ', IFNULL(d.samplrePLtm,'00:00')), '%Y-%m-%d %T')) AS RECEIVED_DATE_TIME,
  213. MIN(date(e.date_)) AS ENTERED_DATE,
  214. d.travelchg + 0 AS TRAVEL_CHARGES,
  215. CONCAT(ps.billtype) AS SKILLED_NONSKILLED_DESIG,
  216. COUNT(DISTINCT att.filepath) AS NUMBER_OF_ATTACHMENTS
  217. FROM order_ a
  218. LEFT JOIN auditlog b ON b.accession = a.accession
  219. AND b.comment_ like 'Order Entered by%'
  220. LEFT JOIN tube c ON c.code = a.bodysite
  221. LEFT JOIN ordext3 d ON d.acc = a.accession
  222. LEFT JOIN auditlog e ON e.accession = a.accession and (e.comment_ like 'Order Entered by%' or e.comment_ like 'Remote Order%Entered by%')
  223. LEFT JOIN patient p on p.recnum = a.patptr
  224. LEFT JOIN patstat ps on ps.patid = p.chart and a.collectdt between ps.stdate and ps.endate
  225. LEFT JOIN attachment att on att.accession = a.accession
  226. group by
  227. 'Precision',
  228. a.CLIENT1 + 0,
  229. a.CLIENT2 + 0,
  230. a.BILLTYPE + 0,
  231. a.PATPTR + 0,
  232. a.RECNUM + 0,
  233. CONCAT(a.ACCESSION),
  234. CONCAT(a.BODYSITE),
  235. CONCAT(a.COMMENT1),
  236. CONCAT(a.COMMENT2),
  237. CONCAT(a.PENDING),
  238. date (a.ENTRYDT),
  239. date (a.COLLECTDT),
  240. date (a.REPDATE),
  241. concat(c.name),
  242. STR_TO_DATE(CONCAT(DATE_FORMAT(entrydt,'%Y-%m-%d'),' ', IFNULL(entrytim,'00:00')), '%Y-%m-%d %T'),
  243. STR_TO_DATE(CONCAT(DATE_FORMAT(collectdt,'%Y-%m-%d'),' ', IFNULL(CONCAT(left(collecttime,2),':',right(collecttime,2)),'00:00')), '%Y-%m-%d %T'),
  244. d.travelchg,
  245. ps.billtype
  246.  
  247.  
  248. TABLE: HV_LABGEN_PATIENTS_PL
  249. select 'Precision' AS SOURCE_CLINIC,
  250. a.RECNUM + 0 AS RECNUM,
  251. concat(a.CHART) AS CHART,
  252. concat(a.LASTN) AS LASTN,
  253. concat(a.FIRSTN) AS FIRSTN,
  254. concat(a.MIDDLE) AS MIDDLE,
  255. concat(a.SEX) AS SEX,
  256. concat(a.PHONE) AS PHONE,
  257. concat(a.SSNUM) AS SSNUM,
  258. date(a.DOB) AS DOB,
  259. concat(a.ADDRESS1) AS ADDRESS1,
  260. concat(a.ADDRESS2) AS ADDRESS2,
  261. concat(a.CITY) AS CITY,
  262. concat(a.STATE) AS STATE,
  263. concat(a.ZIP) AS ZIP,
  264. concat(a.RELATION) AS RELATION,
  265. concat(a.INSID1) AS INSID1,
  266. concat(a.GROUP1) AS GROUP1,
  267. CASE a.relation WHEN 'SE' THEN a.LASTN ELSE a.ILNAME END AS ILNAME,
  268. CASE a.relation WHEN 'SE' THEN a.FIRSTN ELSE a.IFNAME END AS IFNAME,
  269. CASE a.relation WHEN 'SE' THEN a.middle ELSE a.IMIDDLE END AS IMIDDLE,
  270. CASE a.relation WHEN 'SE' THEN a.sex ELSE b.isex END AS ISEX,
  271. CASE a.relation WHEN 'SE' THEN a.phone ELSE b.iphone END AS IPHONE,
  272. CASE a.relation WHEN 'SE' THEN a.ssnum ELSE b.issnum END AS ISSNUM,
  273. CASE a.relation WHEN 'SE' THEN a.dob ELSE b.idob END AS IDOB_NEW,
  274. CASE a.relation WHEN 'SE' THEN a.ADDRESS1 ELSE a.IADDR1 END AS IADDR1,
  275. CASE a.relation WHEN 'SE' THEN a.CITY ELSE a.IADDR2 END AS IADDR2,
  276. CASE a.relation WHEN 'SE' THEN a.state ELSE a.ISTATE END AS ISTATE,
  277. CASE a.relation WHEN 'SE' THEN a.zip ELSE a.IZIP END AS IZIP,
  278. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE a.IRELATION END AS IRELATION,
  279. concat(a.INSID2) AS INSID2,
  280. concat(a.GROUP2) AS GROUP2,
  281. concat(a.INS2) AS INS2,
  282. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.lastn ELSE b.oilname END END AS SECONDARY_LAST_NAME,
  283. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.firstn ELSE b.oifname END END AS SECONDARY_FIRST_NAME,
  284. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.middle ELSE b.oimiddle END END AS SECONDARY_MIDDLE,
  285. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.sex ELSE b.oisex END END AS SECONDARY_SEX,
  286. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.phone ELSE b.oiphone END END AS SECONDARY_PHONE,
  287. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.ssnum ELSE b.oissnum END END AS SECONDARY_SSNUM,
  288. CASE concat(IFNULL(insid2,'!'), ifnull(group2,'!'),ifnull(ins2,'!')) WHEN '!!!' THEN NULL ELSE CASE a.irelation WHEN 'SE' THEN a.dob ELSE b.oidob END END AS SECONDARY_DOB_NEW
  289. FROM patient a
  290. left join insured b on b.recnum = a.recnum
  291.  
  292.  
  293. TABLE: HV_LABGEN_REPORT_DATES_PL
  294. select 'Precision' AS SOURCE_CLINIC,
  295. RECNUM + 0 AS RECNUM,
  296. concat(ACCESSION) AS ACCESSION,
  297. -- concat(FIRSTTIME) AS FIRSTTIME,
  298. -- concat(FINALTIME) AS FINALTIME,
  299. -- concat(TESTTYPE) AS TESTTYPE,
  300. -- date(FIRSTDATE) AS FIRSTDATE,
  301. date(FINALDATE) AS FINALDATE,
  302. STR_TO_DATE(CONCAT(DATE_FORMAT(finaldate,'%Y-%m-%d'),' ', ifnull(finaltime,'00:00')), '%Y-%m-%d %T') AS FINAL_DATE_TIME
  303. from reportdt
  304. where (accession, recnum) IN
  305. (SELECT r.accession,
  306. MAX(r.recnum)
  307. FROM reportdt r
  308. where r.finaldate is not null
  309. GROUP
  310. BY r.accession)
  311.  
  312.  
  313. TABLE: HV_LABGEN_TESTS_PL
  314. select 'Precision' AS SOURCE_CLINIC,
  315. t.DECPOS + 0 AS DECPOS,
  316. t.WORKSHEET + 0 AS WORKSHEET,
  317. t.WSHSEQ + 0 AS WSHSEQ,
  318. t.VOLUME + 0 AS VOLUME,
  319. t.RECNUM + 0 AS RECNUM,
  320. concat(t.CODE) AS CODE,
  321. ltrim(t.NAME) AS NAME,
  322. concat(t.ABBR) AS ABBR,
  323. concat(t.RESULTTYPE) AS RESULTTYPE,
  324. concat(t.TYPE_) AS TYPE_,
  325. concat(t.MALELOW) AS MALELOW,
  326. concat(t.MALEHIGH) AS MALEHIGH,
  327. concat(t.FEMLOW) AS FEMLOW,
  328. concat(t.FEMHIGH) AS FEMHIGH,
  329. concat(t.GENLOW) AS GENLOW,
  330. concat(t.GENHIGH) AS GENHIGH,
  331. concat(t.EXTRANGE) AS EXTRANGE,
  332. concat(t.PANIPLALUE) AS PANIPLALUE,
  333. concat(t.CALCTEST) AS CALCTEST,
  334. concat(t.CALCFORMULA) AS CALCFORMULA,
  335. concat(t.SIGLTSTWSH) AS SIGLTSTWSH,
  336. concat(t.TECHID) AS TECHID,
  337. concat(t.TIMEDONE) AS TIMEDONE,
  338. concat(t.MSG) AS MSG,
  339. concat(t.SEPARATEORD) AS SEPARATEORD,
  340. concat(t.ONLINEORD) AS ONLINEORD,
  341. concat(t.UNITS) AS UNITS,
  342. concat(t.REFLAB) AS REFLAB,
  343. concat(t.DEFAULTS) AS DEFAULTS,
  344. concat(t.ALPHANOR) AS ALPHANOR,
  345. concat(t.ALPHABNOR) AS ALPHABNOR,
  346. concat(t.PANICLOW) AS PANICLOW,
  347. concat(t.PANICHIGH) AS PANICHIGH,
  348. concat(t.DEPT) AS DEPT,
  349. concat(t.TUBETYPE) AS TUBETYPE,
  350. concat(t.LABEL) AS LABEL,
  351. concat(t.RFLXLOW) AS RFLXLOW,
  352. concat(t.RFLXHI) AS RFLXHI,
  353. concat(t.RFLXRES) AS RFLXRES,
  354. concat(t.RFLXOTHER) AS RFLXOTHER,
  355. concat(t.RFLXTEST) AS RFLXTEST,
  356. concat(t.REFTSTCODE) AS REFTSTCODE,
  357. concat(t.TIMELIMIT) AS TIMELIMIT,
  358. concat(t.RFLXTEST2) AS RFLXTEST2,
  359. concat(t.INACTIVE_) AS INACTIVE_,
  360. concat(t.ELECORDER) AS ELECORDER,
  361. concat(t.SPECIESSPEC) AS SPECIESSPEC,
  362. concat(t.RFLXINSIDE) AS RFLXINSIDE,
  363. concat(t.PREFIX) AS PREFIX,
  364. concat(t.BACTISRC) AS BACTISRC,
  365. concat(t.DELTEST) AS DELTEST,
  366. concat(t.METSCONSISTENT) AS METSCONSISTENT,
  367. concat(t.METHODOLOGY) AS METHODOLOGY,
  368. concat(t.EXCLUDEFIXEDCOST) AS EXCLUDEFIXEDCOST,
  369. concat(t.TEMPERATURE) AS TEMPERATURE,
  370. concat(t.MISSINGINFO) AS MISSINGINFO,
  371. concat(t.LONGNAME) AS LONGNAME,
  372. concat(t.FILLER2) AS FILLER2,
  373. date(t.LASTORDERDATE) AS LASTORDERDATE,
  374. date(t.FIRSTORDERDATE) AS FIRSTORDERDATE,
  375. concat(d.name) AS DEPARTMENT_NAME,
  376. concat(b.labname) AS LABNAME,
  377. concat(p.cptcode) AS CPT_CODE
  378. FROM test t
  379. LEFT JOIN department d ON d.recnum = t.dept
  380. LEFT JOIN reflab b ON b.labnum = t.reflab
  381. LEFT JOIN (select testcode, max(cptcode) cptcode
  382. from newprices
  383. where 1=1
  384. and cptcode is not null
  385. and type_ = 'T'
  386. and testcode <> cptcode
  387. group by testcode) p ON p.testcode = t.code
  388.  
  389.  
  390. TABLE: HV_LABGEN_ORDERED_TESTS_PL2
  391.  
  392. select 'Precision' AS SOURCE_CLINIC,
  393. concat(d.indtests) AS INDTESTS,
  394. -- concat(d.testflags) AS TESTFLAGS,
  395. concat(d.results) AS RESULTS,
  396. d.order_recnum + 0 AS ORDER_RECNUM,
  397. d.seq + 0 AS SEQ,
  398. d.recnum + 0 AS RECNUM,
  399. DATE_ADD(e.test_date_time, INTERVAL 0 DAY) AS TEST_COMPLETION_DATE,
  400. CONCAT(e.technician) AS TEST_COMPLETION_TECH,
  401. DATE_ADD(f.test_date_time, INTERVAL 0 DAY) AS TEST_STARTED_DATE,
  402. CONCAT(f.technician) AS TEST_STARTED_TECH
  403. from (select order_recnum,
  404. indtests,
  405. -- min(testflags) as testflags,
  406. min(results) as results,
  407. min(seq) as seq,
  408. min(recnum) as recnum
  409. from (select order_indtests.indtests,
  410. -- order_indtests.testflags,
  411. order_indtests.results,
  412. order_indtests.order_recnum,
  413. order_indtests.seq,
  414. order_indtests.recnum
  415. from order_indtests,
  416. order_
  417. where order_indtests.indtests is not null
  418. and order_.recnum = order_indtests.order_recnum
  419. and order_.entrydt between str_to_date('%%FROM_DATE', '%M %d %Y') and str_to_date('%%TO_DATE', '%M %d %Y')
  420. UNION ALL
  421. select ordext_indtests.indtests,
  422. -- ordext_indtests.testflags,
  423. ordext_indtests.results,
  424. order_.recnum,
  425. ordext_indtests.seq,
  426. ordext_indtests.recnum
  427. from ordext_indtests,
  428. ordext,
  429. order_
  430. where order_.extrec = ordext.recnum
  431. and ordext.recnum = ordext_indtests.ordext_recnum
  432. and ordext_indtests.indtests is not null
  433. and order_.entrydt between str_to_date('%%FROM_DATE', '%M %d %Y') and str_to_date('%%TO_DATE', '%M %d %Y')) xx
  434. group by order_recnum, indtests) d
  435. LEFT JOIN
  436. (
  437. select c.recnum AS ORDER_RECNUM,
  438. MAX(a.tech) AS TECHNICIAN,
  439. b.tests AS TEST_CODE,
  440. MAX(STR_TO_DATE(CONCAT(DATE_FORMAT(resdate,'%Y-%m-%d'),' ',
  441. CASE restime WHEN NULL THEN NULL
  442. ELSE CONCAT(SUBSTRING(restime,1,2),':',SUBSTRING(restime,3,2))
  443. END), '%Y-%m-%d %T')) AS TEST_DATE_TIME
  444. from ordext2 a,
  445. ordext2_tests b,
  446. order_ c
  447. where a.isverify = 'Y'
  448. and b.ordext2_recnum = a.recnum
  449. and c.accession = a.accession
  450. and c.entrydt between str_to_date('%%FROM_DATE', '%M %d %Y') and str_to_date('%%TO_DATE', '%M %d %Y')
  451. group
  452. by c.recnum,
  453. b.tests
  454. ) e on e.order_recnum = d.order_recnum and e.test_code = d.indtests
  455. LEFT JOIN
  456. (
  457. select c.recnum AS ORDER_RECNUM,
  458. MAX(a.tech) AS TECHNICIAN,
  459. b.tests AS TEST_CODE,
  460. MAX(STR_TO_DATE(CONCAT(DATE_FORMAT(resdate,'%Y-%m-%d'),' ',
  461. CASE restime WHEN NULL THEN NULL
  462. ELSE CONCAT(SUBSTRING(restime,1,2),':',SUBSTRING(restime,3,2))
  463. END), '%Y-%m-%d %T')) AS TEST_DATE_TIME
  464. from ordext2 a,
  465. ordext2_tests b,
  466. order_ c
  467. where ifnull(a.isverify,'X') <> 'Y'
  468. and b.ordext2_recnum = a.recnum
  469. and c.accession = a.accession
  470. and c.entrydt between str_to_date('%%FROM_DATE', '%M %d %Y') and str_to_date('%%TO_DATE', '%M %d %Y')
  471. group
  472. by c.recnum,
  473. b.tests
  474. ) f on f.order_recnum = d.order_recnum and f.test_code = d.indtests
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement