CLIP.e-Form.Hospital.Patient.xml 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!--<sqlMap namespace="CLIP.e-Form.Consent.Dfh" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >-->
  3. <sqlMap namespace="CLIP.e-Form.Consent.Knuh" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  4. <statements>
  5. <statement id="GET_PATIENT_DETAIL_INFO" parameterClass="System.Collections.Hashtable" resultMap="PatientMap">
  6. <![CDATA[
  7. select #pid# IO_Pt_ID,
  8. 'M/90y05m' IO_sex_age_y_m,
  9. '홍길동' IO_Pt_Name,
  10. '123456-1234567' IO_JuminNo,
  11. '111' IO_HosType,
  12. #cretno# IO_CretNo,
  13. '본관' IO_Ward,
  14. '906' IO_roomNO,
  15. '2016-07-01' IO_ADdate,
  16. #ordtype# IO_VisitType,
  17. #ordddeptcd# IO_DeptCd,
  18. #ordddeptcd# IO_DeptNm,
  19. 'CV' IO_OPdeptCd,
  20. '신경정신과' IO_OPdeptNm,
  21. '123456' IO_OPdrId,
  22. '나의사' IO_OPdrNm,
  23. '' IO_DxCd,
  24. '진단명' IO_DxNm,
  25. null IO_bp, null IO_dm, null IO_heart, null IO_kidney, null IO_respiration,
  26. null IO_hx, null IO_allergy, null IO_drug, null IO_smoking,
  27. null IO_idio, null IO_nacrotics, null IO_airway, null IO_hemorrhage,
  28. '요거이 테스트' IO_status_etc,
  29. 456 IO_OrderNo,
  30. '' IO_printtime,
  31. '' IO_maindrId,
  32. '' IO_maindrNm,
  33. '' IO_ocrcd,
  34. '' IO_INPUTId,
  35. '' IO_INPUTNM,
  36. '' IO_SIGNIMG
  37. from DUAL
  38. ]]>
  39. </statement>
  40. <statement id="GET_TRMT_DATE_LIST2" parameterClass="System.Collections.Hashtable" resultMap="ClnDateForDropdownMap">
  41. <isEqual property="searchType" compareValue="=">
  42. <![CDATA[
  43. select '20160701' ClnDate, '2016-07-01' ClnFormatDate, 'CV' VisitType, '외래' VisitTypeName, 'CV' ClnDeptCode, '신경정신과' ClnDeptName
  44. from DUAL
  45. ]]>
  46. </isEqual>
  47. <isNotEqual property="searchType" compareValue="=">
  48. <![CDATA[
  49. select '20160613' ClnDate, '2016-06-13' ClnFormatDate, 'CV' VisitType, '외래' VisitTypeName, 'CV2' ClnDeptCode, '치과' ClnDeptName
  50. from DUAL
  51. union
  52. select '20160625' ClnDate, '2016-06-25' ClnFormatDate, 'CV' VisitType, '외래' VisitTypeName, 'CV' ClnDeptCode, '신경정신과' ClnDeptName
  53. from DUAL
  54. union
  55. select '20160701' ClnDate, '2016-07-01' ClnFormatDate, 'CV' VisitType, '외래' VisitTypeName, 'CV' ClnDeptCode, '신경정신과' ClnDeptName
  56. from DUAL
  57. ]]>
  58. </isNotEqual>
  59. </statement>
  60. <statement id="GET_TRMT_DATE_LIST" parameterClass="System.Collections.Hashtable" resultMap="ClnDateForDropdownMap">
  61. <isEqual property="searchType" compareValue="=">
  62. <![CDATA[
  63. SELECT DISTINCT
  64. CASE WHEN NVL(#ordType#, '-') IN ('I', 'D', 'E') THEN '1'
  65. ELSE '2'
  66. END AS ORDERBY
  67. , indd AS ClnDate
  68. , SUBSTR(indd, 1, 4) || '-' || SUBSTR(indd, 5, 2) || '-' || SUBSTR(indd, 7, 2) AS ClnFormatDate
  69. , inpt.ordtype AS VisitType
  70. , ( SELECT cdnm
  71. FROM com.zbcmcode c
  72. WHERE c.cdgrupid = 'P0001'
  73. AND c.cdid = inpt.ordtype
  74. AND inpt.indd BETWEEN c.valifromdd AND c.valitodd
  75. ) AS VisitTypeName
  76. , dept.deptengabbr AS ClnDeptCode
  77. , dept.depthngnm AS ClnDeptName
  78. , dept.deptcd AS DeptCd
  79. , inpt.cretno
  80. , inpt.medispclid AS orddrid
  81. FROM pam.pmihinpt inpt
  82. LEFT OUTER JOIN com.zsdddept dept
  83. ON dept.instcd = inpt.instcd
  84. AND dept.deptcd = inpt.orddeptcd
  85. AND dept.valitodd = '99991231'
  86. WHERE inpt.instcd = #instcd#
  87. AND inpt.pid = #pid#
  88. AND inpt.indd = #searchClnDate#
  89. AND inpt.histstat = 'Y'
  90. AND inpt.mskind = 'M'
  91. AND inpt.orddeptcd = #orddeptcd#
  92. UNION ALL
  93. SELECT DISTINCT
  94. CASE WHEN NVL(#ordType#, '-') IN ('O', 'S') THEN '1'
  95. ELSE '2'
  96. END AS ORDERBY
  97. , orddd AS ClnDate
  98. , SUBSTR(orddd, 1, 4) || '-' || SUBSTR(orddd, 5, 2) || '-' || SUBSTR(orddd, 7, 2) AS ClnFormatDate
  99. , otpt.ordtype AS VisitType
  100. , ( SELECT cdnm
  101. FROM com.zbcmcode c
  102. WHERE c.cdgrupid = 'P0001'
  103. AND c.cdid = otpt.ordtype
  104. AND otpt.orddd BETWEEN c.valifromdd AND c.valitodd
  105. ) AS VisitTypeName
  106. , dept.deptengabbr AS ClnDeptCode
  107. , dept.depthngnm AS ClnDeptName
  108. , dept.deptcd AS DeptCd
  109. , otpt.cretno
  110. , otpt.orddrid AS orddrid
  111. FROM pam.pmohotpt otpt
  112. LEFT OUTER JOIN com.zsdddept dept
  113. ON dept.instcd = otpt.instcd
  114. AND dept.deptcd = otpt.orddeptcd
  115. AND dept.valitodd = '99991231'
  116. WHERE otpt.instcd = #instcd#
  117. AND otpt.pid = #pid#
  118. AND otpt.orddd = #searchClnDate#
  119. AND otpt.orddeptcd = #orddeptcd#
  120. AND otpt.histstat IN ('R', 'T')
  121. AND otpt.mskind = 'M'
  122. UNION ALL
  123. SELECT DISTINCT
  124. '99' AS ORDERBY
  125. , indd AS ClnDate
  126. , substr(indd, 1, 4) || '-' || substr(indd, 5, 2) || '-' || substr(indd, 7, 2) AS ClnFormatDate
  127. , inpt.ordtype AS VisitType
  128. , ( SELECT cdnm
  129. FROM com.zbcmcode c
  130. WHERE c.cdgrupid = 'P0001'
  131. AND c.cdid = inpt.ordtype
  132. AND inpt.indd BETWEEN c.valifromdd AND c.valitodd
  133. ) AS VisitTypeName
  134. , dept.deptengabbr AS ClnDeptCode
  135. , dept.depthngnm AS ClnDeptName
  136. , dept.deptcd AS DeptCd
  137. , inpt.cretno
  138. , inpt.medispclid AS orddrid
  139. FROM pam.pmihinpt inpt
  140. LEFT OUTER JOIN com.zsdddept dept
  141. ON dept.instcd = inpt.instcd
  142. AND dept.deptcd = inpt.orddeptcd
  143. AND dept.valitodd = '99991231'
  144. WHERE inpt.instcd = #instcd#
  145. AND inpt.pid = #pid#
  146. AND inpt.indd = #searchClnDate#
  147. AND inpt.histstat = 'Y'
  148. AND inpt.mskind = 'M'
  149. AND inpt.orddeptcd != #orddeptcd#
  150. UNION ALL
  151. SELECT DISTINCT
  152. '99' AS ORDERBY
  153. , orddd AS ClnDate
  154. , SUBSTR(orddd, 1, 4) || '-' || SUBSTR(orddd, 5, 2) || '-' || SUBSTR(orddd, 7, 2) AS ClnFormatDate
  155. , otpt.ordtype AS VisitType
  156. , ( SELECT cdnm
  157. FROM com.zbcmcode c
  158. WHERE c.cdgrupid = 'P0001'
  159. AND c.cdid = otpt.ordtype
  160. AND otpt.orddd BETWEEN c.valifromdd AND c.valitodd
  161. ) AS VisitTypeName
  162. , dept.deptengabbr AS ClnDeptCode
  163. , dept.depthngnm AS ClnDeptName
  164. , dept.deptcd AS DeptCd
  165. , otpt.cretno
  166. , otpt.orddrid AS orddrid
  167. FROM pam.pmohotpt otpt
  168. LEFT OUTER JOIN com.zsdddept dept
  169. ON dept.instcd = otpt.instcd
  170. AND dept.deptcd = otpt.orddeptcd
  171. AND dept.valitodd = '99991231'
  172. WHERE otpt.instcd = #instcd#
  173. AND otpt.pid = #pid#
  174. AND otpt.orddd = #searchClnDate#
  175. AND otpt.orddeptcd != #orddeptcd#
  176. AND otpt.histstat IN ('R', 'T')
  177. AND otpt.mskind = 'M'
  178. ORDER BY ORDERBY, cretno DESC]]>
  179. </isEqual>
  180. <isNotEqual property="searchType" compareValue="=">
  181. <![CDATA[
  182. SELECT DISTINCT
  183. CASE WHEN NVL(#ordType#, '-') IN ('I', 'D', 'E') THEN '1'
  184. ELSE '2'
  185. END AS ORDERBY
  186. , indd AS ClnDate
  187. , substr(indd, 1, 4) || '-' || substr(indd, 5, 2) || '-' || substr(indd, 7, 2) AS ClnFormatDate
  188. , inpt.ordtype AS VisitType
  189. , ( SELECT cdnm
  190. FROM com.zbcmcode c
  191. WHERE c.cdgrupid = 'P0001'
  192. AND c.cdid = inpt.ordtype
  193. AND inpt.indd BETWEEN c.valifromdd AND c.valitodd
  194. ) AS VisitTypeName
  195. , dept.deptengabbr AS ClnDeptCode
  196. , dept.depthngnm AS ClnDeptName
  197. , dept.deptcd
  198. , inpt.cretno
  199. , inpt.medispclid AS orddrid
  200. FROM pam.pmihinpt inpt
  201. LEFT OUTER JOIN com.zsdddept dept
  202. ON dept.instcd = inpt.instcd
  203. AND dept.deptcd = inpt.orddeptcd
  204. AND inpt.indd BETWEEN dept.valifromdd AND dept.valitodd
  205. WHERE inpt.instcd = #instcd#
  206. AND inpt.pid = #pid#
  207. AND inpt.indd >= #searchClnDate#
  208. AND inpt.histstat = 'Y'
  209. AND inpt.mskind = 'M'
  210. UNION ALL
  211. SELECT DISTINCT
  212. CASE WHEN NVL(#ordType#, '-') IN ('O', 'S') THEN '1'
  213. ELSE '2'
  214. END AS ORDERBY
  215. , orddd AS ClnDate
  216. , substr(orddd, 1, 4) || '-' || substr(orddd, 5, 2) || '-' || substr(orddd, 7, 2) AS ClnFormatDate
  217. , otpt.ordtype AS VisitType
  218. , ( SELECT cdnm
  219. FROM com.zbcmcode c
  220. WHERE c.cdgrupid = 'P0001'
  221. AND c.cdid = otpt.ordtype
  222. AND otpt.orddd BETWEEN c.valifromdd AND c.valitodd
  223. ) AS VisitTypeName
  224. , dept.deptengabbr AS ClnDeptCode
  225. , dept.depthngnm AS ClnDeptName
  226. , dept.deptcd
  227. , otpt.cretno
  228. , otpt.orddrid
  229. FROM pam.pmohotpt otpt
  230. LEFT OUTER JOIN com.zsdddept dept
  231. ON dept.instcd = otpt.instcd
  232. AND dept.deptcd = otpt.orddeptcd
  233. AND otpt.orddd BETWEEN dept.valifromdd AND dept.valitodd
  234. WHERE otpt.instcd = #instcd#
  235. AND otpt.pid = #pid#
  236. AND otpt.orddd >= #searchClnDate#
  237. AND otpt.histstat IN ('R', 'T')
  238. AND otpt.mskind = 'M'
  239. ORDER BY 2, cretno]]>
  240. </isNotEqual>
  241. </statement>
  242. <statement id="getPatientInfoOut" parameterClass="System.Collections.Hashtable" resultMap="PatientMap">
  243. <![CDATA[
  244. SELECT OTPT.ORDDEPTCD AS ordDeptCd,
  245. (SELECT DEPTENGABBR
  246. FROM COM.ZSDDDEPT DEPT
  247. WHERE DEPT.INSTCD = OTPT.INSTCD
  248. AND DEPT.DEPTCD = OTPT.ORDDEPTCD
  249. AND OTPT.ORDDD BETWEEN DEPT.VALIFROMDD AND DEPT.VALITODD) AS deptEngAbbr,
  250. COM.FN_ZS_GETDEPTNAME(OTPT.INSTCD, OTPT.ORDDEPTCD, OTPT.ORDDD) AS ordDeptNm,
  251. OTPT.PID AS pid,
  252. TO_CHAR(OTPT.cretno) AS cretNo,
  253. '' AS roomCd,
  254. OTPT.ORDDD AS inDd,
  255. '' AS dschDd,
  256. OTPT.ORDTYPE AS ordType,
  257. OTPT.INSTCD AS instCd,
  258. OTPT.ORDDRID AS mainDrId,
  259. COM.FN_ZS_GETUSERNM(OTPT.ORDDRID, OTPT.ORDDD) AS mainDrName,
  260. '' AS erDrNm,
  261. TO_CHAR(OTPT.FSTRGSTDT) AS firstRgstDt,
  262. PTBS.SEX || '/' || COM.FN_ZZ_GETAGEAS(PTBS.RRGSTNO1
  263. , PTBS.RRGSTNO2
  264. , TO_CHAR(SYSDATE, 'YYYYMMDD')
  265. , 'A'
  266. , PTBS.BRTHDD) AS sa,
  267. PTBS.HNGNM AS patientName,
  268. PTBS.RRGSTNO1 || '-' || SUBSTR(PTBS.RRGSTNO2, 1, 1) || '******' AS juminNo,
  269. PTBS.RRGSTNO1 || '-' || PTBS.RRGSTNO2 AS orgJuminNo,
  270. PTBS.ZIPCDADDR || ' ' || PTBS.DETLADDR AS zipCdAddr,
  271. PTBS.MPPHONTEL AS telNum,
  272. (SELECT CDNM
  273. FROM COM.ZBCMCODE
  274. WHERE CDGRUPID = 'P0008'
  275. AND CDID = OTPT.INSUKIND) AS insuKind,
  276. '' AS ward,
  277. (SELECT DIAG.DIAGCD
  278. FROM EMR.MMOHDIAG DIAG
  279. WHERE DIAG.INSTCD = #instCd#
  280. AND DIAG.PID = OTPT.PID
  281. AND DIAG.ORDDD = OTPT.ORDDD
  282. AND DIAG.CRETNO = OTPT.CRETNO
  283. AND DIAG.DIAGHISTCD = 'O'
  284. AND DIAG.DIAGTYPECD = 'D'
  285. AND DIAG.DIAGKINDCDFLAG = 'M'
  286. AND ROWNUM = 1
  287. AND DIAG.DIAGHISTNO = (SELECT MAX(DIAGH.DIAGHISTNO)
  288. FROM EMR.MMOHDIAG DIAGH
  289. WHERE DIAGH.INSTCD = #instCd#
  290. AND DIAGH.PID = OTPT.PID
  291. AND DIAGH.ORDDD = OTPT.ORDDD
  292. AND DIAGH.CRETNO = OTPT.CRETNO
  293. AND DIAGH.DIAGHISTCD = 'O'
  294. AND DIAGH.DIAGTYPECD = 'D'
  295. AND DIAGH.DIAGKINDCDFLAG = 'M')
  296. ) AS dxCd,
  297. ( SELECT TERM.DIAGHNGNM
  298. FROM EMR.MMOHDIAG DIAG
  299. , EMR.MMBVDIAG TERM
  300. WHERE DIAG.INSTCD = #instCd#
  301. AND DIAG.PID = OTPT.PID
  302. AND DIAG.ORDDD = OTPT.ORDDD
  303. AND DIAG.CRETNO = OTPT.CRETNO
  304. AND DIAG.DIAGHISTCD = 'O'
  305. AND DIAG.DIAGTYPECD = 'D'
  306. AND DIAG.DIAGKINDCDFLAG = 'M'
  307. AND TERM.INSTCD = DIAG.INSTCD
  308. AND TERM.ORGDIAGCD = DIAG.DIAGCD
  309. AND DIAG.DIAGDD BETWEEN TERM.TERMFROMDD AND TERM.TERMTODD
  310. AND DIAG.DIAGDD BETWEEN TERM.DIAGATTRFROMDD AND TERM.DIAGATTRTODD
  311. AND ROWNUM = 1
  312. AND DIAG.DIAGHISTNO = (SELECT MAX(DIAGH.DIAGHISTNO)
  313. FROM EMR.MMOHDIAG DIAGH
  314. WHERE DIAGH.INSTCD = #instCd#
  315. AND DIAGH.PID = OTPT.PID
  316. AND DIAGH.ORDDD = OTPT.ORDDD
  317. AND DIAGH.CRETNO = OTPT.CRETNO
  318. AND DIAGH.DIAGHISTCD = 'O'
  319. AND DIAGH.DIAGTYPECD = 'D'
  320. AND DIAGH.DIAGKINDCDFLAG = 'M')
  321. ) AS dxNm,
  322. (SELECT LISTAGG(DECODE(ISOLDISPCD, 'A','공기주의(A)',
  323. 'B','혈액주의(B)',
  324. 'C','접촉주의(C)',
  325. 'D','비말주의(D)'), ', ') WITHIN GROUP (ORDER BY ISOLDISPCD) AS gbn
  326. FROM AST.ASBHISPT
  327. WHERE INSTCD = #instCd#
  328. AND PID = #pid#
  329. AND ISOLDISPCD IN ('A', 'B','C', 'D')
  330. AND ((TO_CHAR(SYSDATE,'YYYYMMDD') < SUBSTR(DISPTODT, 1, 8))
  331. OR ((SUBSTR(DISPFROMDT, 1, 8) <= TO_CHAR(SYSDATE,'YYYYMMDD'))
  332. AND SUBSTR(DISPTODT, 1, 8) IS NULL))) AS gbn,
  333. '' AS opDeptCd,
  334. '' AS opDeptNm,
  335. '' AS opDrNm,
  336. '' AS opDrId,
  337. '' AS opCnfmDd,
  338. '' AS perfDrNm,
  339. '' AS perfDrFlag,
  340. '' AS perfDrDept,
  341. '' AS opDiagNm,
  342. '' AS opNm,
  343. '' AS anstDrNm1,
  344. '' AS anstDrFlag1,
  345. '' AS anstDeptNm1,
  346. '' AS anstDrNm2,
  347. '' AS anstDrFlag2,
  348. '' AS anstDeptNm2,
  349. '' AS anstDrNm3,
  350. '' AS anstDrFlag3,
  351. '' AS anstDeptNm3,
  352. '' AS opRsrvNo,
  353. '' AS orderNo,
  354. '' AS printTime,
  355. '' AS ocrCd,
  356. '' AS inputId,
  357. '' AS inputNm,
  358. '' AS signImg,
  359. '' AS bp,
  360. '' AS dm,
  361. '' AS heart,
  362. '' AS kidney,
  363. '' AS respiration,
  364. '' AS hx,
  365. '' AS allergy,
  366. '' AS drug,
  367. '' AS smoking,
  368. '' AS idio,
  369. '' AS nacrotics,
  370. '' AS airway,
  371. '' AS hemorrhage,
  372. '' AS statusEtc
  373. FROM PAM.PMOHOTPT OTPT
  374. LEFT OUTER JOIN PAM.PMCMPTBS PTBS
  375. ON PTBS.PID = OTPT.PID
  376. AND PTBS.INSTCD = OTPT.INSTCD
  377. WHERE OTPT.INSTCD = #instCd#
  378. AND OTPT.PID = #pid#
  379. AND OTPT.ORDDD = #inDd#
  380. AND OTPT.HISTSTAT IN ('R', 'T')
  381. AND OTPT.MSKIND = 'M'
  382. AND OTPT.CRETNO = #cretNo#
  383. ]]>
  384. </statement>
  385. <statement id="getPatientInfoIn" parameterClass="System.Collections.Hashtable" resultMap="PatientMap">
  386. <![CDATA[
  387. SELECT INPT.ORDDEPTCD AS ordDeptCd,
  388. (SELECT DEPTENGABBR
  389. FROM COM.ZSDDDEPT DEPT
  390. WHERE DEPT.INSTCD = INPT.INSTCD
  391. AND DEPT.DEPTCD = INPT.ORDDEPTCD
  392. AND INPT.INDD BETWEEN DEPT.VALIFROMDD AND DEPT.VALITODD) AS deptEngAbbr,
  393. COM.FN_ZS_GETDEPTNAME(INPT.INSTCD, INPT.ORDDEPTCD, INPT.INDD) AS ordDeptNm,
  394. INPT.PID AS pid,
  395. TO_CHAR(INPT.CRETNO) AS cretNo,
  396. INPT.ROOMCD AS roomCd,
  397. INPT.INDD AS inDd,
  398. INPT.DSCHDD AS dschDd,
  399. INPT.ORDTYPE AS ordType,
  400. INPT.INSTCD AS instCd,
  401. INPT.MEDISPCLID AS mainDrId,
  402. COM.FN_ZS_GETUSERNM(INPT.MEDISPCLID, INPT.INDD) AS mainDrName,
  403. COM.FN_ZS_GETUSERNM(INPT.ERMEDISPCLID, INPT.INDD) AS erDrNm,
  404. TO_CHAR(INPT.FSTRGSTDT) AS firstRgstDt,
  405. PTBS.SEX || '/' || COM.FN_ZZ_GETAGEAS(PTBS.RRGSTNO1,
  406. PTBS.RRGSTNO2,
  407. TO_CHAR(SYSDATE, 'YYYYMMDD'),
  408. 'A', PTBS.BRTHDD) AS sa,
  409. PTBS.HNGNM AS patientName,
  410. PTBS.RRGSTNO1 || '-' || SUBSTR(PTBS.RRGSTNO2, 1, 1) || '******' AS juminNo,
  411. PTBS.RRGSTNO1 || '-' || PTBS.RRGSTNO2 AS orgJuminNo,
  412. PTBS.ZIPCDADDR || ' ' || DETLADDR AS zipCdAddr,
  413. PTBS.MPPHONTEL AS telNum,
  414. (SELECT CDNM
  415. FROM COM.ZBCMCODE
  416. WHERE CDGRUPID = 'P0008'
  417. AND CDID = INPT.INSUKIND) AS insuKind,
  418. (SELECT DEPT.DEPTENGABBR
  419. FROM COM.ZSDDDEPT DEPT
  420. WHERE DEPT.INSTCD = INPT.INSTCD
  421. AND DEPT.DEPTCD = INPT.WARDCD
  422. AND INPT.INDD BETWEEN DEPT.VALIFROMDD AND DEPT.VALITODD) AS ward,
  423. (SELECT DIAG.DIAGCD
  424. FROM EMR.MMOHDIAG DIAG
  425. WHERE DIAG.INSTCD = #instCd#
  426. AND DIAG.PID = INPT.PID
  427. AND DIAG.ORDDD = INPT.INDD
  428. AND DIAG.CRETNO = INPT.CRETNO
  429. AND DIAG.ORDDEPTCD = INPT.ORDDEPTCD
  430. AND DIAG.DIAGHISTCD = 'O'
  431. AND DIAG.DIAGTYPECD = 'D'
  432. AND DIAG.DIAGKINDCDFLAG = 'M'
  433. AND ROWNUM = 1
  434. AND DIAG.DIAGHISTNO = (SELECT MAX(DIAGH.DIAGHISTNO)
  435. FROM EMR.MMOHDIAG DIAGH
  436. WHERE DIAGH.INSTCD = #instCd#
  437. AND DIAGH.PID = INPT.PID
  438. AND DIAGH.ORDDD = INPT.INDD
  439. AND DIAGH.CRETNO = INPT.CRETNO
  440. AND DIAGH.ORDDEPTCD = INPT.ORDDEPTCD
  441. AND DIAGH.DIAGHISTCD = 'O'
  442. AND DIAGH.DIAGTYPECD = 'D'
  443. AND DIAGH.DIAGKINDCDFLAG = 'M')
  444. ) AS dxCd,
  445. (SELECT TERM.DIAGHNGNM
  446. FROM EMR.MMOHDIAG DIAG,
  447. EMR.MMBVDIAG TERM
  448. WHERE DIAG.INSTCD = #instCd#
  449. AND DIAG.PID = INPT.PID
  450. AND DIAG.ORDDD = INPT.INDD
  451. AND DIAG.CRETNO = INPT.CRETNO
  452. AND DIAG.ORDDEPTCD = INPT.ORDDEPTCD
  453. AND DIAG.DIAGHISTCD = 'O'
  454. AND DIAG.DIAGTYPECD = 'D'
  455. AND DIAG.DIAGKINDCDFLAG = 'M'
  456. AND TERM.INSTCD = DIAG.INSTCD
  457. AND TERM.ORGDIAGCD = DIAG.DIAGCD
  458. AND DIAG.DIAGDD BETWEEN TERM.TERMFROMDD AND TERM.TERMTODD
  459. AND DIAG.DIAGDD BETWEEN TERM.DIAGATTRFROMDD AND TERM.DIAGATTRTODD
  460. AND ROWNUM = 1
  461. AND DIAG.DIAGHISTNO = (SELECT MAX(DIAGH.DIAGHISTNO)
  462. FROM EMR.MMOHDIAG DIAGH
  463. WHERE diagh.instcd = #instCd#
  464. AND DIAGH.PID = INPT.PID
  465. AND DIAGH.ORDDD = INPT.INDD
  466. AND DIAGH.CRETNO = INPT.CRETNO
  467. AND DIAGH.ORDDEPTCD = INPT.ORDDEPTCD
  468. AND DIAGH.DIAGHISTCD = 'O'
  469. AND DIAGH.DIAGTYPECD = 'D'
  470. AND DIAGH.DIAGKINDCDFLAG = 'M')
  471. ) AS dxNm,
  472. (SELECT LISTAGG(DECODE(ISOLDISPCD, 'A','공기주의(A)',
  473. 'B','혈액주의(B)',
  474. 'C','접촉주의(C)',
  475. 'D','비말주의(D)'), ', ') WITHIN GROUP (ORDER BY ISOLDISPCD) AS gbn
  476. FROM AST.ASBHISPT
  477. WHERE INSTCD = #instCd#
  478. AND PID = #pid#
  479. AND ISOLDISPCD IN ('A', 'B','C', 'D')
  480. AND ((TO_CHAR(SYSDATE,'YYYYMMDD') < SUBSTR(DISPTODT, 1, 8))
  481. OR ((SUBSTR(DISPFROMDT, 1, 8) <= TO_CHAR(SYSDATE,'YYYYMMDD'))
  482. AND SUBSTR(DISPTODT, 1, 8) IS NULL))
  483. ) AS gbn,
  484. OPRS.PERFDRDEPTCD AS opDeptCd,
  485. OPRS.PERFDRDEPT AS opDeptNm,
  486. OPRS.PERFDRNM AS opDrNm,
  487. OPRS.PERFDRID AS opDrId,
  488. OPRS.OPCNFMDD AS opCnfmDd,
  489. OPRS.PERFDRNM AS perfDrNm,
  490. OPRS.PERFDRFLAG AS perfDrFlag,
  491. OPRS.PERFDRDEPT AS perfDrDept,
  492. OPRS.OPDIAGNM AS opDiagNm,
  493. OPRS.OPNM AS opNm,
  494. OPRS.ANSTDRNM1 AS anstDrNm1,
  495. OPRS.ANSTDRFLAG1 AS anstDrFlag1,
  496. OPRS.ANSTDEPTNM1 AS anstDeptNm1,
  497. OPRS.ANSTDRNM2 AS anstDrNm2,
  498. OPRS.ANSTDRFLAG2 AS anstDrFlag2,
  499. OPRS.ANSTDEPTNM2 AS anstDeptNm2,
  500. OPRS.ANSTDRNM3 AS anstDrNm3,
  501. OPRS.ANSTDRFLAG3 AS anstDrFlag3,
  502. OPRS.ANSTDEPTNM3 AS anstDeptNm3,
  503. #opRsrvNo# AS opRsrvNo,
  504. '' AS orderNo,
  505. '' AS printTime,
  506. '' AS ocrCd,
  507. '' AS inputId,
  508. '' AS inputNm,
  509. '' AS signImg,
  510. '' AS bp,
  511. '' AS dm,
  512. '' AS heart,
  513. '' AS kidney,
  514. '' AS respiration,
  515. '' AS hx,
  516. '' AS allergy,
  517. '' AS drug,
  518. '' AS smoking,
  519. '' AS idio,
  520. '' AS nacrotics,
  521. '' AS airway,
  522. '' AS hemorrhage,
  523. '' AS statusEtc
  524. FROM PAM.PMIHINPT INPT,
  525. PAM.PMCMPTBS PTBS
  526. ]]>
  527. <isNotEmpty property="opRsrvNo">
  528. <![CDATA[
  529. , ( SELECT a.opcnfmdd
  530. , a.perfdrid
  531. , a.perfdrnm
  532. , a.perfdrflag
  533. , a.perfdeptcd AS perfdrdeptcd
  534. , a.perfdeptnm AS perfdrdept
  535. , a.opdiagnm
  536. , a.opnm
  537. , MAX(CASE WHEN a.opcnfmno = 1 AND NVL(a.anstdrid, '-') != '-' THEN
  538. COM.FN_ZS_GETUSERNM(a.anstdrid, a.opcnfmdd)
  539. WHEN a.opcnfmno = 1 AND NVL(a.anstdrid1, '-') NOT IN ('-', 'undefined') THEN
  540. COM.FN_ZS_GETUSERNM(a.anstdrid1, a.opcnfmdd)
  541. ELSE ''
  542. END) AS anstdrnm1
  543. , MAX(CASE WHEN a.opcnfmno = 1 AND NVL(a.anstdrid, '-') != '-' THEN
  544. CASE WHEN b.jobposcd IN ('1800', '1799') THEN
  545. '전공의'
  546. ELSE '전문의'
  547. END
  548. WHEN a.opcnfmno = 1 AND NVL(a.anstdrid1, '-') NOT IN ('-', 'undefined') THEN
  549. ( SELECT CASE WHEN c.jobposcd IN ('1800', '1799') THEN
  550. '전공의'
  551. ELSE '전문의'
  552. END
  553. FROM com.zsumusrd c
  554. WHERE c.dutplceinstcd = a.instcd
  555. AND c.userid = a.anstdrid1
  556. AND a.opcnfmdd BETWEEN c.fromdd AND c.todd
  557. AND c.dutplcecd = '2090000000'
  558. AND c.psnworkyn = 'N'
  559. )
  560. ELSE ''
  561. END) AS anstdrflag1
  562. , MAX(CASE WHEN a.opcnfmno = 1 AND NVL(a.anstdrid, '-') != '-' THEN
  563. a.anstdeptnm
  564. WHEN a.opcnfmno = 1 AND NVL(a.anstdrid1, '-') NOT IN ('-', 'undefined') THEN
  565. a.anstdeptnm
  566. ELSE ''
  567. END) AS anstdeptnm1
  568. , MAX(CASE WHEN a.opcnfmno = 2 AND NVL(a.anstdrid, '-') != '-' THEN
  569. COM.FN_ZS_GETUSERNM(a.anstdrid, a.opcnfmdd)
  570. WHEN a.opcnfmno = 2 AND NVL(a.anstdrid2, '-') NOT IN ('-', 'undefined') THEN
  571. COM.FN_ZS_GETUSERNM(a.anstdrid2, a.opcnfmdd)
  572. ELSE ''
  573. END) AS anstdrnm2
  574. , MAX(CASE WHEN a.opcnfmno = 2 AND NVL(a.anstdrid, '-') != '-' THEN
  575. CASE WHEN b.jobposcd IN ('1800', '1799') THEN
  576. '전공의'
  577. ELSE '전문의'
  578. END
  579. WHEN a.opcnfmno = 2 AND NVL(a.anstdrid2, '-') NOT IN ('-', 'undefined') THEN
  580. ( SELECT CASE WHEN c.jobposcd IN ('1800', '1799') THEN
  581. '전공의'
  582. ELSE '전문의'
  583. END
  584. FROM com.zsumusrd c
  585. WHERE c.dutplceinstcd = a.instcd
  586. AND c.userid = a.anstdrid2
  587. AND a.opcnfmdd BETWEEN c.fromdd AND c.todd
  588. AND c.dutplcecd = '2090000000'
  589. AND c.psnworkyn = 'N'
  590. )
  591. ELSE ''
  592. END) AS anstdrflag2
  593. , MAX(CASE WHEN a.opcnfmno = 2 AND NVL(a.anstdrid, '-') != '-' THEN
  594. a.anstdeptnm
  595. WHEN a.opcnfmno = 2 AND NVL(a.anstdrid2, '-') NOT IN ('-', 'undefined') THEN
  596. a.anstdeptnm
  597. ELSE ''
  598. END) AS anstdeptnm2
  599. , MAX(CASE WHEN a.opcnfmno = 3 AND NVL(a.anstdrid, '-') != '-' THEN
  600. COM.FN_ZS_GETUSERNM(a.anstdrid, a.opcnfmdd)
  601. WHEN a.opcnfmno = 3 AND NVL(a.anstdrid3, '-') NOT IN ('-', 'undefined') THEN
  602. COM.FN_ZS_GETUSERNM(a.anstdrid3, a.opcnfmdd)
  603. ELSE ''
  604. END) AS anstdrnm3
  605. , MAX(CASE WHEN a.opcnfmno = 3 AND NVL(a.anstdrid, '-') != '-' THEN
  606. CASE WHEN b.jobposcd IN ('1800', '1799') THEN
  607. '전공의'
  608. ELSE '전문의'
  609. END
  610. WHEN a.opcnfmno = 3 AND NVL(a.anstdrid3, '-') NOT IN ('-', 'undefined') THEN
  611. ( SELECT CASE WHEN c.jobposcd IN ('1800', '1799') THEN
  612. '전공의'
  613. ELSE '전문의'
  614. END
  615. FROM com.zsumusrd c
  616. WHERE c.dutplceinstcd = a.instcd
  617. AND c.userid = a.anstdrid3
  618. AND a.opcnfmdd BETWEEN c.fromdd AND c.todd
  619. AND c.dutplcecd = '2090000000'
  620. AND c.psnworkyn = 'N'
  621. )
  622. ELSE ''
  623. END) AS anstdrflag3
  624. , MAX(CASE WHEN a.opcnfmno = 3 AND NVL(a.anstdrid, '-') != '-' THEN
  625. a.anstdeptnm
  626. WHEN a.opcnfmno = 3 AND NVL(a.anstdrid3, '-') NOT IN ('-', 'undefined') THEN
  627. a.anstdeptnm
  628. ELSE ''
  629. END) AS anstdeptnm3
  630. FROM ( SELECT a.instcd
  631. , a.opcnfmdd
  632. , a.perfdrid
  633. , COM.FN_ZS_GETUSERNM(a.perfdrid, a.opcnfmdd) AS perfdrnm
  634. , CASE WHEN b.jobposcd IN ('1800', '1799') THEN
  635. '전공의'
  636. ELSE '전문의'
  637. END AS perfdrflag
  638. , a.perfdeptcd
  639. , COM.FN_ZS_GETDEPTNM(a.instcd, a.perfdeptcd, a.opcnfmdd) AS perfdeptnm
  640. , MAX(CASE WHEN c.termflag = '0' AND c.termcd = a.diagcd THEN
  641. NVL(c.termhngnm, c.termengnm)
  642. ELSE ''
  643. END) AS opdiagnm
  644. , MAX(CASE WHEN c.termflag = '9' AND c.termcd = a.opcd THEN
  645. NVL(c.termhngnm, c.termengnm)
  646. ELSE ''
  647. END) AS opnm
  648. , d.opcnfmno
  649. , d.anstdrid
  650. , COM.FN_ZS_GETDEPTNM(a.instcd, '2090000000', a.opcnfmdd) AS anstdeptnm
  651. , MAX(e.anstdrid) AS anstdrid1
  652. , MAX(e.anstdrid2) AS anstdrid2
  653. , MAX(e.anstdrid3) AS anstdrid3
  654. FROM emr.mmohoprs a
  655. , com.zsumusrd b
  656. , emr.mrtmterm c
  657. , emr.mmodocad d
  658. , emr.mmodoprs e
  659. WHERE a.instcd = #instCd#
  660. AND a.oprsrvno = #opRsrvNo#
  661. AND a.ophistcd = 'O'
  662. AND b.dutplceinstcd = a.instcd
  663. AND b.userid = a.perfdrid
  664. AND b.dutplcecd = a.perfdeptcd
  665. AND a.opcnfmdd BETWEEN b.fromdd AND b.todd
  666. AND c.instcd = a.instcd
  667. AND c.termflag IN ('0', '9')
  668. AND c.termcd IN (a.diagcd, a.opcd)
  669. AND a.opcnfmdd BETWEEN c.termfromdd AND c.termtodd
  670. AND d.instcd(+) = a.instcd
  671. AND d.oprsrvno(+) = a.oprsrvno
  672. AND d.opcnfmno(+) IN (1, 2, 3)
  673. AND e.instcd(+) = a.instcd
  674. AND a.opcnfmdd BETWEEN e.appstartdd(+) AND e.appenddd(+)
  675. AND e.usedwflag(+) = TO_CHAR(TO_DATE(a.opcnfmdd, 'YYYYMMDD'), 'd')
  676. AND e.oproomcd(+) = a.oproomcd
  677. AND CASE WHEN SUBSTR(a.opfromtmcd, 1, 4) BETWEEN '0000' AND '1200' THEN
  678. '1'
  679. ELSE '2'
  680. END = e.usescheflag(+)
  681. GROUP BY a.instcd
  682. , a.opcnfmdd
  683. , a.perfdrid
  684. , a.perfdeptcd
  685. , b.jobposcd
  686. , d.opcnfmno
  687. , d.anstdrid
  688. ) a
  689. , com.zsumusrd b
  690. WHERE b.dutplceinstcd(+) = a.instcd
  691. AND b.userid(+) = a.anstdrid
  692. AND a.opcnfmdd BETWEEN b.fromdd(+) AND b.todd(+)
  693. AND b.dutplcecd(+) = '2090000000'
  694. AND b.psnworkyn(+) = 'N'
  695. GROUP BY a.opcnfmdd
  696. , a.perfdrid
  697. , a.perfdrnm
  698. , a.perfdrflag
  699. , a.perfdeptcd
  700. , a.perfdeptnm
  701. , a.opdiagnm
  702. , a.opnm
  703. ) oprs
  704. ]]>
  705. </isNotEmpty>
  706. <isEmpty property="opRsrvNo">
  707. <![CDATA[
  708. , ( SELECT '' AS opcnfmdd
  709. , '' AS perfdrid
  710. , '' AS perfdrnm
  711. , '' AS perfdrflag
  712. , '' AS perfdrdeptcd
  713. , '' AS perfdrdept
  714. , '' AS opdiagnm
  715. , '' AS opnm
  716. , '' AS anstdrnm1
  717. , '' AS anstdrflag1
  718. , '' AS anstdeptnm1
  719. , '' AS anstdrnm2
  720. , '' AS anstdrflag2
  721. , '' AS anstdeptnm2
  722. , '' AS anstdrnm3
  723. , '' AS anstdrflag3
  724. , '' AS anstdeptnm3
  725. FROM DUAL
  726. ) oprs
  727. ]]>
  728. </isEmpty>
  729. <![CDATA[
  730. WHERE 1 = 1
  731. AND INPT.INSTCD = #instCd#
  732. AND INPT.PID = #pid#
  733. AND INPT.HISTSTAT = 'Y'
  734. AND INPT.MSKIND = 'M'
  735. AND INPT.CRETNO = #cretNo#
  736. AND INPT.INDD = #inDd#
  737. AND PTBS.INSTCD(+) = INPT.INSTCD
  738. AND PTBS.PID(+) = INPT.PID
  739. ORDER BY INPT.FSTRGSTDT DESC
  740. ]]>
  741. </statement>
  742. <statement id="getOcrTag" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  743. <![CDATA[
  744. SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') || SUBSTR(LPAD(EMR.SQ_MRFMOCRP_01.NEXTVAL, 10, '0'), 6, 5) AS ocrtag
  745. FROM DUAL]]>
  746. </statement>
  747. <statement id="getDiagList" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  748. <![CDATA[
  749. SELECT term.diaghngnm
  750. FROM emr.mmohdiag diag,
  751. emr.mmbvdiag term,
  752. pam.pmihinpt inpt
  753. WHERE inpt.instcd = #instcd#
  754. AND inpt.pid = #pid#
  755. AND inpt.indd = #orddd#
  756. AND inpt.histstat = 'Y'
  757. AND inpt.mskind = 'M'
  758. AND inpt.pid = diag.pid
  759. AND inpt.indd = diag.orddd
  760. AND diag.cretno = inpt.cretno
  761. AND diag.instcd = inpt.instcd
  762. AND diag.instcd = term.instcd
  763. AND diag.diagcd = term.orgdiagcd
  764. AND diag.diaghistcd = 'O'
  765. AND diag.diagtypecd = 'D'
  766. AND diag.diagdd >= term.termfromdd
  767. AND diag.diagdd <= term.termtodd
  768. AND diag.diagdd >= term.diagattrfromdd
  769. AND diag.diagdd <= term.diagattrtodd
  770. AND diag.genrflagcd in ('I','E')
  771. union all
  772. SELECT term.diaghngnm as diaghngnm
  773. FROM emr.mmohdiag diag,
  774. emr.mmbvdiag term,
  775. pam.pmohotpt otpt
  776. WHERE otpt.instcd = #instcd#
  777. AND otpt.pid = #pid#
  778. AND otpt.orddd = #orddd#
  779. AND otpt.pid = diag.pid
  780. AND otpt.orddd = diag.orddd
  781. AND diag.cretno = otpt.cretno
  782. AND diag.instcd = otpt.instcd
  783. AND diag.instcd = term.instcd
  784. AND diag.diagcd = term.orgdiagcd
  785. AND diag.diaghistcd = 'O'
  786. AND diag.diagtypecd = 'D'
  787. AND diag.diagdd >= term.termfromdd
  788. AND diag.diagdd <= term.termtodd
  789. AND diag.diagdd >= term.diagattrfromdd
  790. AND diag.diagdd <= term.diagattrtodd
  791. AND diag.genrflagcd in ('O','S')
  792. ]]>
  793. </statement>
  794. <insert id="setFileName" parameterClass="System.Collections.Hashtable">
  795. <![CDATA[
  796. declare
  797. I_PID VARCHAR2(10) := #pid#;
  798. I_IOFLAG VARCHAR2(1) := #ordtype#;
  799. I_ORDDD VARCHAR2(8) := #orddd#;
  800. I_DSCHDD VARCHAR2(8) := #dschdd#;
  801. I_CRETNO NUMBER(10) := #cretno#;
  802. I_FILESIZE NUMBER(18) := #filesize#;
  803. I_FORMCD VARCHAR2(10) := #formcd#;
  804. I_PAGE NUMBER(18) := #pageno#;
  805. I_OCRCODE VARCHAR2(13) := #ocrtag#;
  806. I_USERID VARCHAR2(10) := #userid#;
  807. I_ORDDEPTCD VARCHAR2(10) := #orddeptcd#;
  808. begin
  809. EMR.LCTECH_PROCESS(I_PID, I_IOFLAG, I_ORDDD, I_DSCHDD, I_CRETNO, I_FILESIZE, I_FORMCD, I_PAGE, I_OCRCODE, I_ORDDEPTCD, I_USERID);
  810. end;
  811. ]]>
  812. </insert>
  813. <insert id="delEformData" parameterClass="System.Collections.Hashtable">
  814. <![CDATA[
  815. declare
  816. I_PID VARCHAR2(10) := #pid#; /* 등록번호 */
  817. I_IOFLAG VARCHAR2(1) := #ordtype#; /* 입원/외래 구분 */
  818. I_ORDDD VARCHAR2(8) := #orddd#; /* 입원일 또는 진료일 */
  819. I_DSCHDD VARCHAR2(8) := #dschdd#; /* 입원환자 퇴원일 외래환자면 값이 '' */
  820. I_CRETNO NUMBER(10) := #cretno#; /* 원무정보의 생성번호 */
  821. I_FORMCD VARCHAR2(10) := #formcd#; /* FORMCD */
  822. I_OCRCODE VARCHAR2(13) := #ocrtag#; /* OCRCODE */
  823. I_USERID VARCHAR2(10) := #userid#; /* 사용자 ID 실제 동의서 구득 행위를 하는 사람 */
  824. I_USERNM VARCHAR2(10) := #username#; /* 사용자 이름 */
  825. I_CONSENT_MST_RID NUMBER(18) := #consentmstrid#; /* 동의서 작성 마스터 ID */
  826. I_HOS_TYPE VARCHAR2(10) := #hostype#; /* 병원구분(경북대학교 본원 - '031', 경북대학교 칠곡 - '032') */
  827. I_ORDDEPTCD VARCHAR2(10) := #orddeptcd#;
  828. begin
  829. EMA.EFORM_DELETE(I_PID, I_IOFLAG, I_ORDDD, I_DSCHDD, I_CRETNO, I_FORMCD, I_OCRCODE, I_USERID, I_USERNM, I_CONSENT_MST_RID, I_ORDDEPTCD, I_HOS_TYPE);
  830. end;
  831. ]]>
  832. </insert>
  833. <statement id="getFileName" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  834. <![CDATA[
  835. SELECT substr(c.cdate,1,8)||'\'||to_char(c.pageno) AS filename
  836. FROM cmr.treatt a, cmr.chartpaget b, cmr.paget c, cmr.patht d
  837. WHERE a.patid = #pid#
  838. and a.TREATNO = b.TREATNO
  839. and b.ocrcode = #ocrtag#
  840. and b.page = #pageno#
  841. and b.pageno = c.pageno
  842. and d.pathid = c.pathid
  843. and d.active = 'Y'
  844. ]]>
  845. </statement>
  846. <statement id="getFormFromdt" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  847. <![CDATA[
  848. select a.formfromdt
  849. from emr.mrfmform a
  850. where instcd = #instcd#
  851. and formcd = #formcd#
  852. and formtodt like '99991231%'
  853. ]]>
  854. </statement>
  855. <update id="UPDATE_USERSETUP" parameterClass="System.Collections.Hashtable">
  856. <![CDATA[
  857. MERGE INTO EMA.EFORM_HOSPUSERS HOSP
  858. USING DUAL ON (HOSP.HOSPUSER_ID = #userId# AND HOSP.HOSPITALCD = #instCd#)
  859. WHEN MATCHED THEN
  860. UPDATE
  861. SET HOSP.HOSPAPPSTATUS = #status#
  862. WHEN NOT MATCHED THEN
  863. INSERT (HOSP.HOSPITALCD,
  864. HOSP.HOSPAPPSTATUS,
  865. HOSP.HOSPUSER_ID)
  866. VALUES(#instCd#,
  867. #status#,
  868. #userId#)
  869. ]]>
  870. </update>
  871. <statement id="getHardCodeYN" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  872. <![CDATA[
  873. SELECT 'Y'
  874. FROM emr.mnwmcode a
  875. WHERE a.instcd = #instcd#
  876. AND a.cdgrupid = '399'
  877. AND SUBSTR(cdid, 3) = #formcd#
  878. AND ROWNUM = 1]]>
  879. </statement>
  880. <statement id="checkPrintablePatient" parameterClass="System.Collections.Hashtable">
  881. <![CDATA[
  882. SELECT COUNT(*)
  883. FROM PAM.PMOHOTPT OTPT
  884. WHERE OTPT.INSTCD = #instcd#
  885. AND PID = #pid#
  886. AND CRETNO = #cretno#
  887. AND OTPT.ORDDD LIKE #orddd#
  888. AND OTPT.HISTSTAT IN ('R', 'T')
  889. AND OTPT.MEDAMTFREERESN IN ('01', '10')
  890. ]]>
  891. </statement>
  892. <statement id="checkHardcd" parameterClass="System.Collections.Hashtable">
  893. <![CDATA[
  894. SELECT COUNT(*)
  895. FROM EMR.MMBDHRCD A
  896. WHERE INSTCD = #instcd#
  897. AND HARDCDNO = #hardcdno#
  898. AND TRGTCD = #trgtcd#
  899. AND TO_CHAR (SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  900. ]]>
  901. </statement>
  902. </statements>
  903. </sqlMap>