CLIP.e-Form.Consent.FormRepository.xml 94 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011
  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" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  4. <statements>
  5. <!-- statement id="GET_CATEGORY_FOR_DROPDOWN" parameterClass="System.Collections.Hashtable" resultMap="CategoryForDropdownMap">
  6. <![CDATA[
  7. SELECT CATEGORY_TYPE,
  8. CATEGORY_ID,
  9. CATEGORY_NAME
  10. FROM EFORM_CATEGORY
  11. ]]>
  12. <isEqual property="category_id" compareValue="1">
  13. <![CDATA[
  14. WHERE USE_YN = 'Y'
  15. AND P_CATEGORY_RID = '1'
  16. ]]>
  17. </isEqual>
  18. <isNotEqual property="category_id" compareValue="1">
  19. <![CDATA[
  20. WHERE USE_YN = 'Y'
  21. AND P_CATEGORY_RID = (SELECT CATEGORY_RID FROM EFORM_CATEGORY WHERE CATEGORY_ID = #category_id#)
  22. ]]>
  23. </isNotEqual><![CDATA[
  24. ORDER BY CATEGORY_NAME]]>
  25. </statement -->
  26. <statement id="GET_CATEGORY_FOR_DROPDOWN" parameterClass="System.Collections.Hashtable" resultMap="CategoryForDropdownMap">
  27. <![CDATA[
  28. SELECT FORM_CATEGORY_ID AS CATEGORY_ID,
  29. FORM_CATEGORY_CODE AS CATEGORY_CODE,
  30. PARENT_FORM_CATEGORY_ID AS PARENT_CATEGORY_ID,
  31. FORM_CATEGORY_NAME AS CATEGORY_NAME
  32. FROM EMA.CLIP_FORM_CATEGORY
  33. WHERE USE_YN = 'Y'
  34. ORDER BY PARENT_CATEGORY_ID, CATEGORY_CODE
  35. ]]>
  36. </statement>
  37. <statement id="GET_CONSENT_BY_SEARCH_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  38. <![CDATA[
  39. SELECT '' AS IDX,
  40. '' AS CONSENT_MST_RID,
  41. CF.FORM_ID AS FORM_ID,
  42. CF.FORM_CODE AS FORM_CODE,
  43. CF.FORM_NAME AS FORM_NAME,
  44. '' AS CONSENT_STATE,
  45. '' AS CONSENT_STATE_ENG,
  46. '' AS PRNT_CNT,
  47. '' AS OCR_TAG,
  48. '' AS PID,
  49. '' AS PATIENT_NAME,
  50. '' AS CREATE_USER_ID,
  51. '' AS CRET_NO,
  52. '' AS DEPT_CD,
  53. '' AS MAIN_DR_ID,
  54. '' AS IN_DD,
  55. '' AS ORD_DEPT_CD,
  56. '' AS ORD_TYPE
  57. FROM EMA.CLIP_FORM CF
  58. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  59. ON CF.FORM_ID = CFD.FORM_ID
  60. WHERE 1 = 1
  61. ]]>
  62. <isNotEmpty property="categoryId">
  63. <isNotEqual property="categoryId" compareValue="1">
  64. <![CDATA[
  65. AND CF.FORM_CATEGORY_ID = #categoryId#
  66. ]]>
  67. </isNotEqual>
  68. </isNotEmpty>
  69. <isNotEmpty property="keyWord">
  70. <![CDATA[
  71. AND UPPER(CF.FORM_NAME) LIKE #keyWord#
  72. ]]>
  73. </isNotEmpty>
  74. <![CDATA[
  75. AND CF.PRODUCT_ID = 1
  76. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  77. AND CF.USE_YN = 'Y'
  78. AND CFD.PUBLICATION_YN = 'Y'
  79. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  80. FROM EMA.CLIP_FORM_DATA A
  81. WHERE A.FORM_ID = CFD.FORM_ID
  82. AND A.PUBLICATION_YN = 'Y'
  83. AND A.product_id = '1' )
  84. ]]>
  85. </statement>
  86. <statement id="getUserFormSet" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  87. <![CDATA[
  88. SELECT MRFI.ITEMINDXSEQ AS IDX,
  89. CF.FORM_ID AS FORM_ID,
  90. CF.FORM_CODE AS FORM_CODE,
  91. CF.FORM_NAME AS FORM_NAME,
  92. MF.FORMPRNTNM AS FORM_PRNT_NM,
  93. MF.PRNTCNT AS PRNT_CNT,
  94. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  95. FROM EMR.MRFMFORMEMA
  96. WHERE INSTCD = #instCd#
  97. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  98. AND FORMTODT = '99991231'
  99. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  100. '' AS PID,
  101. '' AS DEPT_ENG_ABBR,
  102. '' AS CONSENT_STATE,
  103. '' AS CONSENT_MST_RID,
  104. '' AS OCR_TAG,
  105. '' AS MODIFY_USER_ID,
  106. '' AS MODIFY_USER_NM,
  107. '' AS MODIFY_DATETIME,
  108. '' AS CREATE_DATETIME,
  109. '' AS CLN_DATE,
  110. '' AS CRET_NO,
  111. '' AS ORD_TYPE,
  112. '' AS DEPT_CD,
  113. '' AS MAIN_DR_ID,
  114. '' AS PATIENT_NAME
  115. FROM EMR.MRFMSETINDX MRFI
  116. INNER JOIN EMA.CLIP_FORM CF
  117. ON MRFI.LINKCD = CF.FORM_CODE
  118. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  119. ON CF.FORM_ID = CFD.FORM_ID
  120. INNER JOIN EMR.MRFMFORM MF
  121. ON MRFI.LINKCD = MF.FORMCD
  122. AND MF.INSTCD = '101'
  123. WHERE 1 = 1
  124. AND MRFI.INSTCD = #instCd#
  125. AND MRFI.USERID = #userId#
  126. AND #toDay# BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  127. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  128. AND CF.PRODUCT_ID = '1'
  129. AND CF.USE_YN = 'Y'
  130. AND MRFI.VALIYN = 'Y'
  131. AND MRFI.INDXFLAG = 'O'
  132. AND MF.FORMPROGFLAG LIKE 'OCR%'
  133. AND CFD.PUBLICATION_YN = 'Y'
  134. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  135. FROM EMA.CLIP_FORM_DATA A
  136. WHERE A.FORM_ID = CFD.FORM_ID
  137. AND A.PUBLICATION_YN = 'Y'
  138. AND A.PRODUCT_ID = '1' )
  139. ORDER BY CF.FORM_NAME
  140. ]]>
  141. </statement>
  142. <statement id="GET_CONSENT_BY_FORMCD" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  143. <![CDATA[
  144. SELECT '' AS IDX,
  145. CF.FORM_ID AS FORM_ID,
  146. CF.FORM_CODE AS FORM_CODE,
  147. CF.FORM_NAME AS FORM_NAME,
  148. MF.FORMPRNTNM AS FORM_PRNT_NM,
  149. '' AS PRNT_CNT,
  150. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  151. FROM EMR.MRFMFORMEMA
  152. WHERE INSTCD = #instCd#
  153. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  154. AND FORMTODT = '99991231'
  155. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  156. '' AS PID,
  157. '' AS DEPT_ENG_ABBR,
  158. '' AS CONSENT_STATE,
  159. '' AS CONSENT_MST_RID,
  160. '' AS OCR_TAG,
  161. '' AS MODIFY_USER_ID,
  162. '' AS MODIFY_USER_NM,
  163. '' AS MODIFY_DATETIME,
  164. '' AS CREATE_DATETIME,
  165. '' AS CLN_DATE,
  166. '' AS CRET_NO,
  167. '' AS ORD_TYPE,
  168. '' AS DEPT_CD,
  169. '' AS MAIN_DR_ID,
  170. '' AS PATIENT_NAME
  171. FROM EMA.CLIP_FORM CF
  172. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  173. ON CF.FORM_ID = CFD.FORM_ID
  174. LEFT OUTER JOIN EMR.MRFMFORM MF
  175. ON CF.FORM_CODE = MF.FORMCD
  176. AND MF.INSTCD = '101'
  177. WHERE 1 = 1
  178. AND #today# BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  179. AND CF.FORM_CODE IN ($formcdarr$)
  180. AND CF.PRODUCT_ID = 1
  181. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  182. AND CF.USE_YN = 'Y'
  183. AND MF.INSTCD = #instCd#
  184. AND MF.FORMPROGFLAG LIKE 'OCR%'
  185. AND CFD.PUBLICATION_YN = 'Y'
  186. ORDER BY CF.FORM_NAME]]>
  187. </statement>
  188. <statement id="GET_CONSENT_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  189. <![CDATA[
  190. SELECT '' AS IDX,
  191. CONSENT_MST_RID AS CONSENT_MST_RID,
  192. CF.FORM_ID AS FORM_ID,
  193. CF.FORM_CODE AS FORM_CODE,
  194. CF.FORM_NAME AS FORM_NAME,
  195. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  196. 'ELECTR_CMP', '확인',
  197. 'PAPER_OUT', '출력',
  198. 'CERTIFY_CMP', '인증',
  199. 'UNFINISHED', '임시',
  200. 'VERBAL', '구두',
  201. CMT.CONSENT_STATE) AS CONSENT_STATE,
  202. CMT.CONSENT_STATE AS CONSENT_STATE_ENG,
  203. CMT.PAGECNT AS PRNT_CNT,
  204. CMT.OCR_NUMBER AS OCR_TAG,
  205. CMT.PID AS PID,
  206. (SELECT HNGNM
  207. FROM PAM.PMCMPTBS PTBS
  208. WHERE INSTCD = '031'
  209. AND PID = #patientCode#) AS PATIENT_NAME,
  210. CMT.CREATE_USER_ID AS CREATE_USER_ID,
  211. CMT.CRETNO AS CRET_NO,
  212. CMT.CLN_DEPT_CD AS DEPT_CD,
  213. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  214. CMT.CLN_DATE AS IN_DD,
  215. CMT.CLN_DEPT_CD AS ORD_DEPT_CD,
  216. CMT.VISIT_TYPE AS ORD_TYPE
  217. FROM EMA.CLIP_FORM CF
  218. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  219. ON CF.FORM_ID = CFD.FORM_ID,
  220. EMA.CONSENT_MST CMT
  221. WHERE 1 = 1
  222. AND CMT.PID = #patientCode#
  223. ]]>
  224. <isNotEqual property="consentState" compareValue="ALL">
  225. <![CDATA[
  226. AND CMT.CONSENT_STATE IN ($consentState$)
  227. ]]>
  228. </isNotEqual>
  229. <![CDATA[
  230. AND CMT.FORM_CD = CF.FORM_CODE
  231. AND CF.PRODUCT_ID = 1
  232. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  233. AND CF.USE_YN = 'Y'
  234. AND CFD.PUBLICATION_YN = 'Y'
  235. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  236. FROM EMA.CLIP_FORM_DATA A
  237. WHERE A.FORM_ID = CFD.FORM_ID
  238. AND A.PUBLICATION_YN = 'Y'
  239. AND A.product_id = '1' )
  240. ]]>
  241. </statement>
  242. <statement id="GET_CONSENT_IN_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  243. <![CDATA[
  244. SELECT '' AS IDX,
  245. CF.FORM_ID AS FORM_ID,
  246. CF.FORM_CODE AS FORM_CODE,
  247. CF.FORM_NAME AS FORM_NAME,
  248. MF.FORMPRNTNM AS FORM_PRNT_NM,
  249. CMT.PAGECNT AS PRNT_CNT,
  250. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  251. FROM EMR.MRFMFORMEMA
  252. WHERE INSTCD = #instCd#
  253. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  254. AND FORMTODT = '99991231'
  255. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  256. CMT.PID AS PID,
  257. (SELECT DEPTENGABBR
  258. FROM com.zsdddept
  259. WHERE INSTCD = #instCd#
  260. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  261. AND RCPTUSEYN = 'Y'
  262. AND DEPTCD = CMT.CLN_DEPT_CD) AS DEPT_ENG_ABBR,
  263. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  264. 'ELECTR_CMP', '확인',
  265. 'PAPER_OUT', '출력',
  266. 'CERTIFY_CMP', '인증',
  267. 'UNFINISHED', '임시',
  268. 'VERBAL', '구두',
  269. CMT.CONSENT_STATE) AS CONSENT_STATE,
  270. CMT.CONSENT_MST_RID AS CONSENT_MST_RID,
  271. CMT.OCR_NUMBER AS OCR_TAG,
  272. CMT.MODIFY_USER_ID AS MODIFY_USER_ID,
  273. CMT.MODIFY_USER_NAME AS MODIFY_USER_NM,
  274. CMT.MODIFY_DATETIME AS MODIFY_DATETIME,
  275. CMT.CREATE_DATETIME AS CREATE_DATETIME,
  276. CMT.CLN_DATE AS CLN_DATE,
  277. CMT.CRETNO AS CRET_NO,
  278. CMT.VISIT_TYPE AS ORD_TYPE,
  279. CMT.CLN_DEPT_CD AS DEPT_CD,
  280. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  281. (SELECT ptbs.hngnm
  282. FROM PAM.PMCMPTBS PTBS
  283. WHERE PTBS.INSTCD = '101'
  284. AND PTBS.PID = CMT.PID) AS PATIENT_NAME
  285. ]]>
  286. <![CDATA[
  287. FROM EMA.CONSENT_MST CMT,
  288. EMA.CLIP_FORM CF
  289. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  290. ON CF.FORM_ID = CFD.FORM_ID
  291. LEFT OUTER JOIN EMR.MRFMFORM MF
  292. ON CF.FORM_CODE = MF.FORMCD
  293. AND MF.INSTCD = '101'
  294. WHERE 1 = 1 ]]>
  295. <isNotEqual property="consentState" compareValue="ALL">
  296. <![CDATA[
  297. AND CMT.CONSENT_STATE IN ($consentState$)
  298. ]]>
  299. </isNotEqual>
  300. <isNotEmpty property="pid">
  301. <![CDATA[
  302. AND CMT.PID = #pid#
  303. ]]>
  304. </isNotEmpty>
  305. <![CDATA[
  306. AND TO_CHAR(TO_DATE(CMT.CREATE_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  307. AND CMT.HOS_TYPE = #instCd#
  308. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  309. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  310. AND CF.PRODUCT_ID = '1'
  311. AND CF.USE_YN = 'Y'
  312. AND CF.FORM_ID = CMT.FORM_RID
  313. AND PUBLICATION_YN = 'Y'
  314. AND MF.FORMPROGFLAG LIKE 'OCR%'
  315. AND CMT.USE_YN = 'Y'
  316. AND CASE WHEN EXISTS ( SELECT 1
  317. FROM EMR.MRFMOCRPRNT e
  318. WHERE e.INSTCD = #instCd#
  319. AND e.OCRTAG = CMT.OCR_NUMBER) THEN
  320. CASE WHEN CMT.CONSENT_STATE IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  321. AND EXISTS ( SELECT 1
  322. FROM EMR.MRFMOCRPRNT e,
  323. EMR.MRFHOCRPRNT f
  324. WHERE e.INSTCD = #instCd#
  325. AND e.OCRTAG = CMT.OCR_NUMBER
  326. AND f.INSTCD = e.INSTCD
  327. AND f.OCRTAG = e.OCRTAG
  328. AND f.UPDTDT = e.UPDTDT
  329. AND f.STATCD = 'P'
  330. ) THEN 'Y'
  331. WHEN CMT.consent_state = 'CERTIFY_CMP'
  332. AND EXISTS ( SELECT 1
  333. FROM EMR.MRFMOCRPRNT e,
  334. EMR.MRFHOCRPRNT f
  335. WHERE e.INSTCD = #instCd#
  336. AND e.OCRTAG = CMT.OCR_NUMBER
  337. AND f.INSTCD = e.INSTCD
  338. AND f.OCRTAG = e.OCRTAG
  339. AND f.UPDTDT = e.UPDTDT
  340. AND f.STATCD = 'C'
  341. ) THEN 'Y'
  342. ELSE 'N'
  343. END
  344. ELSE 'Y'
  345. END = 'Y'
  346. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  347. FROM EMA.CLIP_FORM_DATA A
  348. WHERE A.FORM_ID = CFD.FORM_ID
  349. AND A.PUBLICATION_YN = 'Y'
  350. AND A.product_id = '1' )
  351. AND EXISTS (
  352. SELECT 1
  353. FROM pam.pmihinpt inpt,
  354. pam.pmcmptbs ptbs
  355. ]]>
  356. <isEqual property="srchYN" compareValue="N">
  357. <isEqual property="myPatient" compareValue="Y">
  358. <isEqual property="drKind" compareValue="C">
  359. <![CDATA[
  360. , emr.mnwhsetp setp
  361. ]]>
  362. </isEqual>
  363. <isNotEqual property="drKind" compareValue="C">
  364. <![CDATA[
  365. , emr.mmohihpa sedp
  366. ]]>
  367. </isNotEqual>
  368. </isEqual>
  369. </isEqual>
  370. <![CDATA[
  371. WHERE inpt.mskind = 'M'
  372. AND inpt.histstat = 'Y'
  373. AND inpt.ordtype IN ('I','D')
  374. AND ptbs.instcd = inpt.instcd
  375. AND ptbs.pid = inpt.pid
  376. AND inpt.instcd = #instCd#
  377. AND INPT.PID = CMT.PID
  378. ]]>
  379. <isNotEmpty property="pid">
  380. <![CDATA[
  381. AND inpt.pid = #pid#
  382. ]]>
  383. </isNotEmpty>
  384. <isNotEmpty property="wardCd">
  385. <![CDATA[
  386. AND inpt.wardcd = #wardCd#
  387. ]]>
  388. </isNotEmpty>
  389. <isNotEmpty property="ordDeptCd">
  390. <![CDATA[
  391. AND inpt.orddeptcd = #ordDeptCd#
  392. ]]>
  393. </isNotEmpty>
  394. <isEqual property="myPatient" compareValue="N">
  395. <isNotEmpty property="doctorId">
  396. <!-- A : inpt.atdoctid 전문의, B : inpt.medispclid 교수(주치의) -->
  397. <![CDATA[
  398. AND CASE
  399. WHEN #drKind# = 'A'
  400. THEN inpt.atdoctid
  401. ELSE inpt.medispclid
  402. END = #doctorId#
  403. ]]>
  404. </isNotEmpty>
  405. </isEqual>
  406. <isEqual property="myPatient" compareValue="Y">
  407. <isNotEmpty property="doctorId">
  408. <isNotEqual property="drKind" compareValue="C">
  409. <!-- inpt.atdoctid 전문의 -->
  410. <!-- inpt.medispclid 교수(주치의) -->
  411. <![CDATA[
  412. AND CASE
  413. WHEN #drKind# = 'A'
  414. THEN inpt.atdoctid
  415. ELSE inpt.medispclid
  416. END = #doctorId#
  417. ]]>
  418. </isNotEqual>
  419. </isNotEmpty>
  420. </isEqual>
  421. <isEqual property="patientState" compareValue="F">
  422. <!-- 재원 -->
  423. <![CDATA[
  424. AND inpt.indschacptstat = 'A'
  425. ]]>
  426. </isEqual>
  427. <isEqual property="patientState" compareValue="D">
  428. <!-- 퇴원 -->
  429. <![CDATA[
  430. AND inpt.indschacptstat in ('T','D')
  431. AND inpt.dschdd = #srchDd#
  432. ]]>
  433. </isEqual>
  434. <isEqual property="patientState" compareValue="P">
  435. <!-- 입원 -->
  436. <![CDATA[
  437. AND inpt.careinrmdd = #srchDd#
  438. ]]>
  439. </isEqual>
  440. <isEqual property="patientState" compareValue="C">
  441. <![CDATA[
  442. AND EXISTS ( SELECT 1
  443. FROM ema.consent_mst c,
  444. emr.mrfmocrprnt m,
  445. emr.mrfhocrprnt h
  446. WHERE m.instcd = inpt.instcd
  447. AND m.pid = inpt.pid
  448. AND m.cretno = inpt.cretno
  449. AND m.orddd = inpt.indd
  450. AND c.use_yn = 'Y'
  451. AND c.consent_state IN ('UNFINISHED', 'TEMP')
  452. AND m.instcd = c.hos_type
  453. AND m.ocrtag = c.ocr_number
  454. AND h.instcd = m.instcd
  455. AND h.ocrtag = m.ocrtag
  456. AND h.updtdt = m.updtdt
  457. AND h.statcd = 'P'
  458. AND instr(H.UPDTDT, #srchDd#) > 0
  459. )
  460. ]]>
  461. </isEqual>
  462. <isEqual property="srchYN" compareValue="N">
  463. <isEqual property="myPatient" compareValue="Y">
  464. <isEqual property="drKind" compareValue="C">
  465. <![CDATA[
  466. AND setp.nursid = #userId#
  467. AND setp.pid = inpt.pid
  468. AND setp.fromdt < '99999999999999'
  469. AND setp.todt > SYSTIMESTAMP
  470. AND setp.instcd = #instCd#
  471. ]]>
  472. <isNotEmpty property="wardCd">
  473. <![CDATA[
  474. AND setp.wardcd = #wardCd#
  475. ]]>
  476. </isNotEmpty>
  477. </isEqual>
  478. <isNotEqual property="drKind" compareValue="C">
  479. <![CDATA[
  480. AND sedp.instcd = #instCd#
  481. AND sedp.apntdrid = #doctorId#
  482. ]]>
  483. </isNotEqual>
  484. </isEqual>
  485. </isEqual>
  486. <![CDATA[
  487. )
  488. ORDER BY CMT.OCR_NUMBER DESC, CMT.CONSENT_STATE ASC
  489. ]]>
  490. </statement>
  491. <statement id="GET_CONSENT_OUT_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  492. <![CDATA[
  493. SELECT '' AS IDX,
  494. CF.FORM_ID AS FORM_ID,
  495. CF.FORM_CODE AS FORM_CODE,
  496. CF.FORM_NAME AS FORM_NAME,
  497. MF.FORMPRNTNM AS FORM_PRNT_NM,
  498. CMT.PAGECNT AS PRNT_CNT,
  499. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  500. FROM EMR.MRFMFORMEMA
  501. WHERE INSTCD = #instCd#
  502. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  503. AND FORMTODT = '99991231'
  504. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  505. CMT.PID AS PID,
  506. (SELECT DEPTENGABBR
  507. FROM com.zsdddept
  508. WHERE INSTCD = #instCd#
  509. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  510. AND RCPTUSEYN = 'Y'
  511. AND DEPTCD = CMT.CLN_DEPT_CD) AS DEPT_ENG_ABBR,
  512. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  513. 'ELECTR_CMP', '확인',
  514. 'PAPER_OUT', '출력',
  515. 'CERTIFY_CMP', '인증',
  516. 'UNFINISHED', '임시',
  517. 'VERBAL', '구두',
  518. CMT.CONSENT_STATE) AS CONSENT_STATE,
  519. CMT.CONSENT_MST_RID AS CONSENT_MST_RID,
  520. CMT.OCR_NUMBER AS OCR_TAG,
  521. CMT.MODIFY_USER_ID AS MODIFY_USER_ID,
  522. CMT.MODIFY_USER_NAME AS MODIFY_USER_NM,
  523. CMT.MODIFY_DATETIME AS MODIFY_DATETIME,
  524. CMT.CREATE_DATETIME AS CREATE_DATETIME,
  525. CMT.CLN_DATE AS CLN_DATE,
  526. CMT.CRETNO AS CRET_NO,
  527. CMT.VISIT_TYPE AS ORD_TYPE,
  528. CMT.CLN_DEPT_CD AS DEPT_CD,
  529. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  530. (SELECT ptbs.hngnm
  531. FROM PAM.PMCMPTBS PTBS
  532. WHERE PTBS.INSTCD = '101'
  533. AND PTBS.PID = CMT.PID) AS PATIENT_NAME
  534. ]]>
  535. <![CDATA[
  536. FROM EMA.CONSENT_MST CMT,
  537. EMA.CLIP_FORM CF
  538. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  539. ON CF.FORM_ID = CFD.FORM_ID
  540. LEFT OUTER JOIN EMR.MRFMFORM MF
  541. ON CF.FORM_CODE = MF.FORMCD
  542. AND MF.INSTCD = '101'
  543. WHERE 1 = 1 ]]>
  544. <isNotEqual property="consentState" compareValue="ALL">
  545. <![CDATA[
  546. AND CMT.CONSENT_STATE IN ($consentState$)
  547. ]]>
  548. </isNotEqual>
  549. <isNotEmpty property="pid">
  550. <![CDATA[
  551. AND CMT.PID = #pid#
  552. ]]>
  553. </isNotEmpty>
  554. <![CDATA[
  555. AND TO_CHAR(TO_DATE(CMT.CREATE_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  556. AND CMT.HOS_TYPE = #instCd#
  557. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  558. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  559. AND CF.PRODUCT_ID = '1'
  560. AND CF.USE_YN = 'Y'
  561. AND CF.FORM_ID = CMT.FORM_RID
  562. AND PUBLICATION_YN = 'Y'
  563. AND MF.FORMPROGFLAG LIKE 'OCR%'
  564. AND CMT.USE_YN = 'Y'
  565. AND CASE WHEN EXISTS ( SELECT 1
  566. FROM EMR.MRFMOCRPRNT e
  567. WHERE e.INSTCD = #instCd#
  568. AND e.OCRTAG = CMT.OCR_NUMBER) THEN
  569. CASE WHEN CMT.CONSENT_STATE IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  570. AND EXISTS ( SELECT 1
  571. FROM EMR.MRFMOCRPRNT e,
  572. EMR.MRFHOCRPRNT f
  573. WHERE e.INSTCD = #instCd#
  574. AND e.OCRTAG = CMT.OCR_NUMBER
  575. AND f.INSTCD = e.INSTCD
  576. AND f.OCRTAG = e.OCRTAG
  577. AND f.UPDTDT = e.UPDTDT
  578. AND f.STATCD = 'P'
  579. ) THEN 'Y'
  580. WHEN CMT.consent_state = 'CERTIFY_CMP'
  581. AND EXISTS ( SELECT 1
  582. FROM EMR.MRFMOCRPRNT e,
  583. EMR.MRFHOCRPRNT f
  584. WHERE e.INSTCD = #instCd#
  585. AND e.OCRTAG = CMT.OCR_NUMBER
  586. AND f.INSTCD = e.INSTCD
  587. AND f.OCRTAG = e.OCRTAG
  588. AND f.UPDTDT = e.UPDTDT
  589. AND f.STATCD = 'C'
  590. ) THEN 'Y'
  591. ELSE 'N'
  592. END
  593. ELSE 'Y'
  594. END = 'Y'
  595. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  596. FROM EMA.CLIP_FORM_DATA A
  597. WHERE A.FORM_ID = CFD.FORM_ID
  598. AND A.PUBLICATION_YN = 'Y'
  599. AND A.product_id = '1' )
  600. AND EXISTS (
  601. SELECT 1
  602. FROM pam.pmohotpt otpt,
  603. pam.pmcmptbs ptbs
  604. WHERE otpt.instcd = #instCd#
  605. AND otpt.mskind = 'M'
  606. AND otpt.histstat IN ('R', 'T')
  607. AND otpt.ordtype IN ('O','S')
  608. AND ptbs.instcd = otpt.instcd
  609. AND ptbs.pid = otpt.pid
  610. and otpt.pid = cmt.pid
  611. ]]>
  612. <isEqual property="srchYN" compareValue="N">
  613. <![CDATA[
  614. AND otpt.orddd = #srchDd#
  615. ]]>
  616. </isEqual>
  617. <isNotEmpty property="pid">
  618. <!-- 환자 등록번호 -->
  619. <![CDATA[
  620. AND otpt.pid = #pid#
  621. ]]>
  622. </isNotEmpty>
  623. <isNotEmpty property="ordDeptCd">
  624. <!-- 진료과 코드 -->
  625. <![CDATA[
  626. AND otpt.orddeptcd = #ordDeptCd#
  627. ]]>
  628. </isNotEmpty>
  629. <isNotEmpty property="doctorId">
  630. <!-- 진료의 아이디 -->
  631. <![CDATA[
  632. AND otpt.orddrid = #doctorId#
  633. ]]>
  634. </isNotEmpty>
  635. <isNotEmpty property="patientState">
  636. <!-- 동의서 상태 -->
  637. <isEqual property="srchYN" compareValue="N">
  638. <isEqual proeprty="patientState" compareValue="0">
  639. <![CDATA[
  640. AND otpt.elbulbodstat IN ('0', '1')
  641. ]]>
  642. </isEqual>
  643. <isNotEqual property="patientState" compareValue="0">
  644. <![CDATA[
  645. AND otpt.elbulbodstat = #patientState#
  646. ]]>
  647. </isNotEqual>
  648. </isEqual>
  649. </isNotEmpty>
  650. <![CDATA[
  651. )
  652. ]]>
  653. <![CDATA[
  654. ORDER BY CMT.OCR_NUMBER DESC, CMT.CONSENT_STATE ASC
  655. ]]>
  656. </statement>
  657. <statement id="GET_CONSENT_ER_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  658. <![CDATA[
  659. SELECT '' AS IDX,
  660. CF.FORM_ID AS FORM_ID,
  661. CF.FORM_CODE AS FORM_CODE,
  662. CF.FORM_NAME AS FORM_NAME,
  663. MF.FORMPRNTNM AS FORM_PRNT_NM,
  664. CMT.PAGECNT AS PRNT_CNT,
  665. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  666. FROM EMR.MRFMFORMEMA
  667. WHERE INSTCD = #instCd#
  668. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  669. AND FORMTODT = '99991231'
  670. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  671. CMT.PID AS PID,
  672. (SELECT DEPTENGABBR
  673. FROM com.zsdddept
  674. WHERE INSTCD = #instCd#
  675. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  676. AND RCPTUSEYN = 'Y'
  677. AND DEPTCD = CMT.CLN_DEPT_CD) AS DEPT_ENG_ABBR,
  678. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  679. 'ELECTR_CMP', '확인',
  680. 'PAPER_OUT', '출력',
  681. 'CERTIFY_CMP', '인증',
  682. 'UNFINISHED', '임시',
  683. 'VERBAL', '구두',
  684. CMT.CONSENT_STATE) AS CONSENT_STATE,
  685. CMT.CONSENT_MST_RID AS CONSENT_MST_RID,
  686. CMT.OCR_NUMBER AS OCR_TAG,
  687. CMT.MODIFY_USER_ID AS MODIFY_USER_ID,
  688. CMT.MODIFY_USER_NAME AS MODIFY_USER_NM,
  689. CMT.MODIFY_DATETIME AS MODIFY_DATETIME,
  690. CMT.CREATE_DATETIME AS CREATE_DATETIME,
  691. CMT.CLN_DATE AS CLN_DATE,
  692. CMT.CRETNO AS CRET_NO,
  693. CMT.VISIT_TYPE AS ORD_TYPE,
  694. CMT.CLN_DEPT_CD AS DEPT_CD,
  695. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  696. (SELECT ptbs.hngnm
  697. FROM PAM.PMCMPTBS PTBS
  698. WHERE PTBS.INSTCD = '101'
  699. AND PTBS.PID = CMT.PID) AS PATIENT_NAME
  700. ]]>
  701. <![CDATA[
  702. FROM EMA.CONSENT_MST CMT,
  703. EMA.CLIP_FORM CF
  704. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  705. ON CF.FORM_ID = CFD.FORM_ID
  706. LEFT OUTER JOIN EMR.MRFMFORM MF
  707. ON CF.FORM_CODE = MF.FORMCD
  708. AND MF.INSTCD = '101'
  709. WHERE 1 = 1 ]]>
  710. <isNotEqual property="consentState" compareValue="ALL">
  711. <![CDATA[
  712. AND CMT.CONSENT_STATE IN ($consentState$)
  713. ]]>
  714. </isNotEqual>
  715. <isNotEmpty property="pid">
  716. <![CDATA[
  717. AND CMT.PID = #pid#
  718. ]]>
  719. </isNotEmpty>
  720. <![CDATA[
  721. AND TO_CHAR(TO_DATE(CMT.CREATE_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  722. AND CMT.HOS_TYPE = #instCd#
  723. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  724. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  725. AND CF.PRODUCT_ID = '1'
  726. AND CF.USE_YN = 'Y'
  727. AND CF.FORM_ID = CMT.FORM_RID
  728. AND PUBLICATION_YN = 'Y'
  729. AND MF.FORMPROGFLAG LIKE 'OCR%'
  730. AND CMT.USE_YN = 'Y'
  731. AND CASE WHEN EXISTS ( SELECT 1
  732. FROM EMR.MRFMOCRPRNT e
  733. WHERE e.INSTCD = #instCd#
  734. AND e.OCRTAG = CMT.OCR_NUMBER) THEN
  735. CASE WHEN CMT.CONSENT_STATE IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  736. AND EXISTS ( SELECT 1
  737. FROM EMR.MRFMOCRPRNT e,
  738. EMR.MRFHOCRPRNT f
  739. WHERE e.INSTCD = #instCd#
  740. AND e.OCRTAG = CMT.OCR_NUMBER
  741. AND f.INSTCD = e.INSTCD
  742. AND f.OCRTAG = e.OCRTAG
  743. AND f.UPDTDT = e.UPDTDT
  744. AND f.STATCD = 'P'
  745. ) THEN 'Y'
  746. WHEN CMT.consent_state = 'CERTIFY_CMP'
  747. AND EXISTS ( SELECT 1
  748. FROM EMR.MRFMOCRPRNT e,
  749. EMR.MRFHOCRPRNT f
  750. WHERE e.INSTCD = #instCd#
  751. AND e.OCRTAG = CMT.OCR_NUMBER
  752. AND f.INSTCD = e.INSTCD
  753. AND f.OCRTAG = e.OCRTAG
  754. AND f.UPDTDT = e.UPDTDT
  755. AND f.STATCD = 'C'
  756. ) THEN 'Y'
  757. ELSE 'N'
  758. END
  759. ELSE 'Y'
  760. END = 'Y'
  761. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  762. FROM EMA.CLIP_FORM_DATA A
  763. WHERE A.FORM_ID = CFD.FORM_ID
  764. AND A.PUBLICATION_YN = 'Y'
  765. AND A.product_id = '1' )
  766. AND EXISTS (
  767. SELECT 1
  768. FROM pam.pmihinpt inpt,
  769. pam.pmcmptbs ptbs
  770. WHERE inpt.instcd = #instCd#
  771. AND inpt.mskind = 'M'
  772. AND inpt.histstat = 'Y'
  773. AND inpt.ordtype = 'E'
  774. AND ptbs.instcd = inpt.instcd
  775. AND ptbs.pid = inpt.pid
  776. and inpt.pid = cmt.pid
  777. ]]>
  778. <isNotEmpty property="pid">
  779. <!-- 환자 등록번호 -->
  780. <![CDATA[
  781. AND inpt.pid = #pid#
  782. ]]>
  783. </isNotEmpty>
  784. <isNotEmpty property="ordDeptCd">
  785. <!-- 진료과 코드 -->
  786. <![CDATA[
  787. AND inpt.orddeptcd = #ordDeptCd#
  788. ]]>
  789. </isNotEmpty>
  790. <isNotEmpty property="doctorId">
  791. <!-- A : inpt.atdoctid 전문의, B : inpt.medispclid 교수(주치의) -->
  792. <![CDATA[
  793. AND CASE
  794. WHEN #drKind# = 'A'
  795. THEN inpt.atdoctid
  796. ELSE inpt.medispclid
  797. END = #doctorId#
  798. ]]>
  799. </isNotEmpty>
  800. <isEqual property="patientState" compareValue="1">
  801. <!-- 재원 -->
  802. <![CDATA[
  803. AND inpt.indschacptstat = 'A'
  804. AND inpt.eroutdt = '-'
  805. ]]>
  806. </isEqual>
  807. <isEqual property="patientState" compareValue="2">
  808. <!-- 퇴실정리 -->
  809. <![CDATA[
  810. AND inpt.indschacptstat = 'A'
  811. AND inpt.eroutdt != '-'
  812. AND inpt.eroutdt != '99991231235959'
  813. AND inpt.dschdd = '99991231'
  814. ]]>
  815. </isEqual>
  816. <isEqual property="patientState" compareValue="3">
  817. <!-- 퇴원 -->
  818. <![CDATA[
  819. AND inpt.indschacptstat in ('T','D')
  820. AND inpt.dschdd = #srchDd#
  821. ]]>
  822. </isEqual>
  823. <![CDATA[
  824. )
  825. ORDER BY CMT.OCR_NUMBER DESC, CMT.CONSENT_STATE ASC
  826. ]]>
  827. </statement>
  828. <statement id="GET_CONSENT_OP_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  829. <![CDATA[
  830. SELECT '' AS IDX,
  831. CF.FORM_ID AS FORM_ID,
  832. CF.FORM_CODE AS FORM_CODE,
  833. CF.FORM_NAME AS FORM_NAME,
  834. MF.FORMPRNTNM AS FORM_PRNT_NM,
  835. CMT.PAGECNT AS PRNT_CNT,
  836. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  837. FROM EMR.MRFMFORMEMA
  838. WHERE INSTCD = #instCd#
  839. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  840. AND FORMTODT = '99991231'
  841. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  842. CMT.PID AS PID,
  843. (SELECT DEPTENGABBR
  844. FROM com.zsdddept
  845. WHERE INSTCD = #instCd#
  846. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  847. AND RCPTUSEYN = 'Y'
  848. AND DEPTCD = CMT.CLN_DEPT_CD) AS DEPT_ENG_ABBR,
  849. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  850. 'ELECTR_CMP', '확인',
  851. 'PAPER_OUT', '출력',
  852. 'CERTIFY_CMP', '인증',
  853. 'UNFINISHED', '임시',
  854. 'VERBAL', '구두',
  855. CMT.CONSENT_STATE) AS CONSENT_STATE,
  856. CMT.CONSENT_MST_RID AS CONSENT_MST_RID,
  857. CMT.OCR_NUMBER AS OCR_TAG,
  858. CMT.MODIFY_USER_ID AS MODIFY_USER_ID,
  859. CMT.MODIFY_USER_NAME AS MODIFY_USER_NM,
  860. CMT.MODIFY_DATETIME AS MODIFY_DATETIME,
  861. CMT.CREATE_DATETIME AS CREATE_DATETIME,
  862. CMT.CLN_DATE AS CLN_DATE,
  863. CMT.CRETNO AS CRET_NO,
  864. CMT.VISIT_TYPE AS ORD_TYPE,
  865. CMT.CLN_DEPT_CD AS DEPT_CD,
  866. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  867. (SELECT ptbs.hngnm
  868. FROM PAM.PMCMPTBS PTBS
  869. WHERE PTBS.INSTCD = '101'
  870. AND PTBS.PID = CMT.PID) AS PATIENT_NAME
  871. ]]>
  872. <![CDATA[
  873. FROM EMA.CONSENT_MST CMT,
  874. EMA.CLIP_FORM CF
  875. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  876. ON CF.FORM_ID = CFD.FORM_ID
  877. LEFT OUTER JOIN EMR.MRFMFORM MF
  878. ON CF.FORM_CODE = MF.FORMCD
  879. AND MF.INSTCD = '101'
  880. WHERE 1 = 1 ]]>
  881. <isNotEqual property="consentState" compareValue="ALL">
  882. <![CDATA[
  883. AND CMT.CONSENT_STATE IN ($consentState$)
  884. ]]>
  885. </isNotEqual>
  886. <isNotEmpty property="pid">
  887. <![CDATA[
  888. AND CMT.PID = #pid#
  889. ]]>
  890. </isNotEmpty>
  891. <![CDATA[
  892. AND TO_CHAR(TO_DATE(CMT.CREATE_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  893. AND CMT.HOS_TYPE = #instCd#
  894. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  895. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  896. AND CF.PRODUCT_ID = '1'
  897. AND CF.USE_YN = 'Y'
  898. AND CF.FORM_ID = CMT.FORM_RID
  899. AND PUBLICATION_YN = 'Y'
  900. AND MF.FORMPROGFLAG LIKE 'OCR%'
  901. AND CMT.USE_YN = 'Y'
  902. AND CASE WHEN EXISTS ( SELECT 1
  903. FROM EMR.MRFMOCRPRNT e
  904. WHERE e.INSTCD = #instCd#
  905. AND e.OCRTAG = CMT.OCR_NUMBER) THEN
  906. CASE WHEN CMT.CONSENT_STATE IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  907. AND EXISTS ( SELECT 1
  908. FROM EMR.MRFMOCRPRNT e,
  909. EMR.MRFHOCRPRNT f
  910. WHERE e.INSTCD = #instCd#
  911. AND e.OCRTAG = CMT.OCR_NUMBER
  912. AND f.INSTCD = e.INSTCD
  913. AND f.OCRTAG = e.OCRTAG
  914. AND f.UPDTDT = e.UPDTDT
  915. AND f.STATCD = 'P'
  916. ) THEN 'Y'
  917. WHEN CMT.consent_state = 'CERTIFY_CMP'
  918. AND EXISTS ( SELECT 1
  919. FROM EMR.MRFMOCRPRNT e,
  920. EMR.MRFHOCRPRNT f
  921. WHERE e.INSTCD = #instCd#
  922. AND e.OCRTAG = CMT.OCR_NUMBER
  923. AND f.INSTCD = e.INSTCD
  924. AND f.OCRTAG = e.OCRTAG
  925. AND f.UPDTDT = e.UPDTDT
  926. AND f.STATCD = 'C'
  927. ) THEN 'Y'
  928. ELSE 'N'
  929. END
  930. ELSE 'Y'
  931. END = 'Y'
  932. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  933. FROM EMA.CLIP_FORM_DATA A
  934. WHERE A.FORM_ID = CFD.FORM_ID
  935. AND A.PUBLICATION_YN = 'Y'
  936. AND A.product_id = '1' )
  937. AND EXISTS (
  938. SELECT 1
  939. FROM emr.mmohoprs oprs
  940. ,pam.pmcmptbs ptbs
  941. ,pam.pmihinpt inpt
  942. WHERE oprs.ophistcd = 'O'
  943. AND inpt.histstat = 'Y'
  944. AND inpt.mskind = 'M'
  945. AND ptbs.instcd = oprs.instcd
  946. AND ptbs.pid = oprs.pid
  947. AND inpt.instcd = oprs.instcd
  948. AND inpt.pid = oprs.pid
  949. AND oprs.opcnfmdd BETWEEN inpt.indd AND inpt.dschdd
  950. AND oprs.instcd = #instCd#
  951. AND oprs.opcnfmdd = #srchDd#
  952. and oprs.pid = cmt.pid
  953. ]]>
  954. <isNotEmpty property="ordDeptCd">
  955. <!-- 진료과 코드 -->
  956. <![CDATA[
  957. AND oprs.perfdeptcd = #ordDeptCd#
  958. ]]>
  959. </isNotEmpty>
  960. <isNotEmpty property="doctorId">
  961. <!-- 진료의 아이디 -->
  962. <![CDATA[
  963. AND oprs.perfdrid = #doctorId#
  964. ]]>
  965. </isNotEmpty>
  966. <isNotEmpty property="pid">
  967. <!-- 환자 등록번호 -->
  968. <![CDATA[
  969. AND oprs.pid = #pid#
  970. ]]>
  971. </isNotEmpty>
  972. <isEqual property="patientState" compareValue="M">
  973. <!-- 미착 -->
  974. <![CDATA[
  975. AND oprs.opstatcd IN ('10', '20')
  976. ]]>
  977. </isEqual>
  978. <isEqual property="patientState" compareValue="R">
  979. <!-- 준비 -->
  980. <![CDATA[
  981. AND oprs.opstatcd = '30'
  982. ]]>
  983. </isEqual>
  984. <isEqual property="patientState" compareValue="I">
  985. <!-- 진행 -->
  986. <![CDATA[
  987. AND oprs.opstatcd = '40'
  988. ]]>
  989. </isEqual>
  990. <isEqual property="patientState" compareValue="F">
  991. <!-- 완료 -->
  992. <![CDATA[
  993. AND oprs.opstatcd IN ('50', '60', '70')
  994. ]]>
  995. </isEqual>
  996. <![CDATA[
  997. )
  998. ORDER BY CMT.OCR_NUMBER DESC, CMT.CONSENT_STATE ASC
  999. ]]>
  1000. </statement>
  1001. <statement id="GET_CONSENT_EX_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  1002. <![CDATA[
  1003. SELECT '' AS IDX,
  1004. CF.FORM_ID AS FORM_ID,
  1005. CF.FORM_CODE AS FORM_CODE,
  1006. CF.FORM_NAME AS FORM_NAME,
  1007. MF.FORMPRNTNM AS FORM_PRNT_NM,
  1008. CMT.PAGECNT AS PRNT_CNT,
  1009. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  1010. FROM EMR.MRFMFORMEMA
  1011. WHERE INSTCD = #instCd#
  1012. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  1013. AND FORMTODT = '99991231'
  1014. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  1015. CMT.PID AS PID,
  1016. (SELECT DEPTENGABBR
  1017. FROM com.zsdddept
  1018. WHERE INSTCD = #instCd#
  1019. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  1020. AND RCPTUSEYN = 'Y'
  1021. AND DEPTCD = CMT.CLN_DEPT_CD) AS DEPT_ENG_ABBR,
  1022. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  1023. 'ELECTR_CMP', '확인',
  1024. 'PAPER_OUT', '출력',
  1025. 'CERTIFY_CMP', '인증',
  1026. 'UNFINISHED', '임시',
  1027. 'VERBAL', '구두',
  1028. CMT.CONSENT_STATE) AS CONSENT_STATE,
  1029. CMT.CONSENT_MST_RID AS CONSENT_MST_RID,
  1030. CMT.OCR_NUMBER AS OCR_TAG,
  1031. CMT.MODIFY_USER_ID AS MODIFY_USER_ID,
  1032. CMT.MODIFY_USER_NAME AS MODIFY_USER_NM,
  1033. CMT.MODIFY_DATETIME AS MODIFY_DATETIME,
  1034. CMT.CREATE_DATETIME AS CREATE_DATETIME,
  1035. CMT.CLN_DATE AS CLN_DATE,
  1036. CMT.CRETNO AS CRET_NO,
  1037. CMT.VISIT_TYPE AS ORD_TYPE,
  1038. CMT.CLN_DEPT_CD AS DEPT_CD,
  1039. CMT.MAIN_DR_ID AS MAIN_DR_ID,
  1040. (SELECT ptbs.hngnm
  1041. FROM PAM.PMCMPTBS PTBS
  1042. WHERE PTBS.INSTCD = '101'
  1043. AND PTBS.PID = CMT.PID) AS PATIENT_NAME
  1044. ]]>
  1045. <![CDATA[
  1046. FROM EMA.CONSENT_MST CMT,
  1047. EMA.CLIP_FORM CF
  1048. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  1049. ON CF.FORM_ID = CFD.FORM_ID
  1050. LEFT OUTER JOIN EMR.MRFMFORM MF
  1051. ON CF.FORM_CODE = MF.FORMCD
  1052. AND MF.INSTCD = '101'
  1053. WHERE 1 = 1 ]]>
  1054. <isNotEqual property="consentState" compareValue="ALL">
  1055. <![CDATA[
  1056. AND CMT.CONSENT_STATE IN ($consentState$)
  1057. ]]>
  1058. </isNotEqual>
  1059. <isNotEmpty property="pid">
  1060. <![CDATA[
  1061. AND CMT.PID = #pid#
  1062. ]]>
  1063. </isNotEmpty>
  1064. <![CDATA[
  1065. AND TO_CHAR(TO_DATE(CMT.CREATE_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  1066. AND CMT.HOS_TYPE = #instCd#
  1067. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  1068. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  1069. AND CF.PRODUCT_ID = '1'
  1070. AND CF.USE_YN = 'Y'
  1071. AND CF.FORM_ID = CMT.FORM_RID
  1072. AND PUBLICATION_YN = 'Y'
  1073. AND MF.FORMPROGFLAG LIKE 'OCR%'
  1074. AND CMT.USE_YN = 'Y'
  1075. AND CASE WHEN EXISTS ( SELECT 1
  1076. FROM EMR.MRFMOCRPRNT e
  1077. WHERE e.INSTCD = #instCd#
  1078. AND e.OCRTAG = CMT.OCR_NUMBER) THEN
  1079. CASE WHEN CMT.CONSENT_STATE IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  1080. AND EXISTS ( SELECT 1
  1081. FROM EMR.MRFMOCRPRNT e,
  1082. EMR.MRFHOCRPRNT f
  1083. WHERE e.INSTCD = #instCd#
  1084. AND e.OCRTAG = CMT.OCR_NUMBER
  1085. AND f.INSTCD = e.INSTCD
  1086. AND f.OCRTAG = e.OCRTAG
  1087. AND f.UPDTDT = e.UPDTDT
  1088. AND f.STATCD = 'P'
  1089. ) THEN 'Y'
  1090. WHEN CMT.consent_state = 'CERTIFY_CMP'
  1091. AND EXISTS ( SELECT 1
  1092. FROM EMR.MRFMOCRPRNT e,
  1093. EMR.MRFHOCRPRNT f
  1094. WHERE e.INSTCD = #instCd#
  1095. AND e.OCRTAG = CMT.OCR_NUMBER
  1096. AND f.INSTCD = e.INSTCD
  1097. AND f.OCRTAG = e.OCRTAG
  1098. AND f.UPDTDT = e.UPDTDT
  1099. AND f.STATCD = 'C'
  1100. ) THEN 'Y'
  1101. ELSE 'N'
  1102. END
  1103. ELSE 'Y'
  1104. END = 'Y'
  1105. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  1106. FROM EMA.CLIP_FORM_DATA A
  1107. WHERE A.FORM_ID = CFD.FORM_ID
  1108. AND A.PUBLICATION_YN = 'Y'
  1109. AND A.product_id = '1' )
  1110. AND EXISTS (
  1111. SELECT 1
  1112. FROM AST.AEAHACPT ACPT, EMR.MMODEXOP EXOP, PAM.PMOHOTPT OTPT
  1113. WHERE ACPT.INSTCD = '101'
  1114. AND ACPT.SUPPDEPTCD = #supportDeptCd#
  1115. AND ACPT.ACPTDD BETWEEN #fromDt# AND #toDt#
  1116. AND ACPT.EXECPRCPSTATCD <> 'X'
  1117. AND ACPT.INSTCD = EXOP.INSTCD
  1118. AND ACPT.PRCPDD = EXOP.PRCPDD
  1119. AND ACPT.EXECPRCPUNIQNO = EXOP.EXECPRCPUNIQNO
  1120. AND ACPT.INSTCD = OTPT.INSTCD
  1121. AND ACPT.PID = OTPT.PID
  1122. AND EXOP.ORDDD = OTPT.ORDDD
  1123. AND EXOP.CRETNO = OTPT.CRETNO
  1124. and acpt.pid = cmt.pid
  1125. ]]>
  1126. <isNotEmpty property="isMainD">
  1127. <isEqual property="isMainD" compareValue="Y">
  1128. <isNotEmpty property="mainDrId">
  1129. <![CDATA[
  1130. AND ACPT.ORDDRID = #mainDrId#
  1131. ]]>
  1132. </isNotEmpty>
  1133. </isEqual>
  1134. <isEqual property="isMainD" compareValue="N">
  1135. <isNotEmpty property="mainDrId">
  1136. <![CDATA[
  1137. AND ACPT.CNFMMANID2 = #mainDrId#
  1138. ]]>
  1139. </isNotEmpty>
  1140. </isEqual>
  1141. </isNotEmpty>
  1142. <isNotEmpty property="baseCd">
  1143. <![CDATA[
  1144. AND ACPT.EXCUROOMCD IN ($baseCd$)
  1145. ]]>
  1146. </isNotEmpty>
  1147. <isNotEmpty property="patientState">
  1148. <isEqual property="patientState" compareValue="RC">
  1149. <![CDATA[
  1150. AND EXOP.EXECPRCPSTATCD < '520'
  1151. ]]>
  1152. </isEqual>
  1153. <isEqual property="patientState" compareValue="AC">
  1154. <![CDATA[
  1155. AND EXOP.EXECPRCPSTATCD < '700'
  1156. ]]>
  1157. </isEqual>
  1158. <isEqual property="patientState" compareValue="RE">
  1159. <![CDATA[
  1160. AND EXOP.EXECPRCPSTATCD >= '700'
  1161. ]]>
  1162. </isEqual>
  1163. </isNotEmpty>
  1164. <isNotEmpty property="pid">
  1165. <![CDATA[
  1166. AND EXOP.PID = #pid#
  1167. ]]>
  1168. </isNotEmpty>
  1169. <![CDATA[
  1170. UNION
  1171. SELECT 1
  1172. FROM AST.AEAHACPT ACPT, EMR.MMODEXIP EXIP, PAM.PMIHINPT INPT
  1173. WHERE ACPT.INSTCD = '101'
  1174. AND ACPT.SUPPDEPTCD = #supportDeptCd#
  1175. AND ACPT.ACPTDD BETWEEN #fromDt# AND #toDt#
  1176. AND ACPT.EXECPRCPSTATCD <> 'X'
  1177. AND ACPT.INSTCD = EXIP.INSTCD
  1178. AND ACPT.PRCPDD = EXIP.PRCPDD
  1179. AND ACPT.EXECPRCPUNIQNO = EXIP.EXECPRCPUNIQNO
  1180. AND ACPT.INSTCD = INPT.INSTCD
  1181. AND ACPT.PID = INPT.PID
  1182. AND EXIP.ORDDD = INPT.INDD
  1183. AND EXIP.CRETNO = INPT.CRETNO
  1184. AND INPT.MSKIND = 'M'
  1185. AND INPT.HISTSTAT = 'Y'
  1186. and acpt.pid = cmt.pid
  1187. ]]>
  1188. <isNotEmpty property="isMainD">
  1189. <isEqual property="isMainD" compareValue="Y">
  1190. <isNotEmpty property="mainDrId">
  1191. <![CDATA[
  1192. AND ACPT.ORDDRID = #mainDrId#
  1193. ]]>
  1194. </isNotEmpty>
  1195. </isEqual>
  1196. <isEqual property="isMainD" compareValue="N">
  1197. <isNotEmpty property="mainDrId">
  1198. <![CDATA[
  1199. AND ACPT.CNFMMANID2 = #mainDrId#
  1200. ]]>
  1201. </isNotEmpty>
  1202. </isEqual>
  1203. </isNotEmpty>
  1204. <isNotEmpty property="baseCd">
  1205. <![CDATA[
  1206. AND ACPT.EXCUROOMCD IN ($baseCd$)
  1207. ]]>
  1208. </isNotEmpty>
  1209. <isNotEmpty property="patientState">
  1210. <isEqual property="patientState" compareValue="RC">
  1211. <![CDATA[
  1212. AND EXIP.EXECPRCPSTATCD < '520'
  1213. ]]>
  1214. </isEqual>
  1215. <isEqual property="patientState" compareValue="AC">
  1216. <![CDATA[
  1217. AND EXIP.EXECPRCPSTATCD < '700'
  1218. ]]>
  1219. </isEqual>
  1220. <isEqual property="patientState" compareValue="RE">
  1221. <![CDATA[
  1222. AND EXIP.EXECPRCPSTATCD >= '700'
  1223. ]]>
  1224. </isEqual>
  1225. </isNotEmpty>
  1226. <isNotEmpty property="pid">
  1227. <![CDATA[
  1228. AND INPT.PID = #pid#
  1229. ]]>
  1230. </isNotEmpty>
  1231. <![CDATA[
  1232. UNION
  1233. SELECT 1
  1234. FROM AST.AEAHRSRV RSRV, EMR.MMODEXOP EXOP, PAM.PMOHOTPT OTPT
  1235. WHERE RSRV.INSTCD = '101'
  1236. AND RSRV.SUPPDEPTCD = #supportDeptCd#
  1237. AND RSRV.RSRVDD BETWEEN #fromDt# AND #toDt#
  1238. AND RSRV.RSRVSTATCD = 'Y'
  1239. AND RSRV.INSTCD = EXOP.INSTCD
  1240. AND RSRV.PRCPDD = EXOP.PRCPDD
  1241. AND RSRV.EXECPRCPUNIQNO = EXOP.EXECPRCPUNIQNO
  1242. AND RSRV.INSTCD = OTPT.INSTCD
  1243. AND RSRV.PID = OTPT.PID
  1244. AND EXOP.ORDDD = OTPT.ORDDD
  1245. AND EXOP.CRETNO = OTPT.CRETNO
  1246. and RSRV.pid = cmt.pid
  1247. ]]>
  1248. <isNotEmpty property="isMainD">
  1249. <isEqual property="isMainD" compareValue="Y">
  1250. <isNotEmpty property="mainDrId">
  1251. <![CDATA[
  1252. AND RSRV.ORDDRID = #mainDrId#
  1253. ]]>
  1254. </isNotEmpty>
  1255. </isEqual>
  1256. <isEqual property="isMainD" compareValue="N">
  1257. <isNotEmpty property="mainDrId">
  1258. <![CDATA[
  1259. AND EXOP.READID = #mainDrId#
  1260. ]]>
  1261. </isNotEmpty>
  1262. </isEqual>
  1263. </isNotEmpty>
  1264. <isNotEmpty property="baseCd">
  1265. <![CDATA[
  1266. AND RSRV.EXCUROOMCD IN ($baseCd$)
  1267. ]]>
  1268. </isNotEmpty>
  1269. <isNotEmpty property="patientState">
  1270. <isEqual property="patientState" compareValue="RC">
  1271. <![CDATA[
  1272. AND EXOP.EXECPRCPSTATCD < '520'
  1273. ]]>
  1274. </isEqual>
  1275. <isEqual property="patientState" compareValue="AC">
  1276. <![CDATA[
  1277. AND EXOP.EXECPRCPSTATCD < '700'
  1278. ]]>
  1279. </isEqual>
  1280. <isEqual property="patientState" compareValue="RE">
  1281. <![CDATA[
  1282. AND EXOP.EXECPRCPSTATCD >= '700'
  1283. ]]>
  1284. </isEqual>
  1285. </isNotEmpty>
  1286. <isNotEmpty property="pid">
  1287. <![CDATA[
  1288. AND EXOP.PID = #pid#
  1289. ]]>
  1290. </isNotEmpty>
  1291. <![CDATA[
  1292. UNION
  1293. SELECT 1
  1294. FROM AST.AEAHRSRV RSRV, EMR.MMODEXIP EXIP, PAM.PMIHINPT INPT
  1295. WHERE RSRV.INSTCD = '101'
  1296. AND RSRV.SUPPDEPTCD = #supportDeptCd#
  1297. AND RSRV.RSRVDD BETWEEN #fromDt# AND #toDt#
  1298. AND RSRV.RSRVSTATCD = 'Y'
  1299. AND RSRV.INSTCD = EXIP.INSTCD
  1300. AND RSRV.PRCPDD = EXIP.PRCPDD
  1301. AND RSRV.EXECPRCPUNIQNO = EXIP.EXECPRCPUNIQNO
  1302. AND RSRV.INSTCD = INPT.INSTCD
  1303. AND RSRV.PID = INPT.PID
  1304. AND EXIP.ORDDD = INPT.INDD
  1305. AND EXIP.CRETNO = INPT.CRETNO
  1306. AND INPT.MSKIND = 'M'
  1307. AND INPT.HISTSTAT = 'Y'
  1308. and RSRV.pid = cmt.pid
  1309. ]]>
  1310. <isNotEmpty property="isMainD">
  1311. <isEqual property="isMainD" compareValue="Y">
  1312. <isNotEmpty property="mainDrId">
  1313. <![CDATA[
  1314. AND RSRV.ORDDRID = #mainDrId#
  1315. ]]>
  1316. </isNotEmpty>
  1317. </isEqual>
  1318. <isEqual property="isMainD" compareValue="N">
  1319. <isNotEmpty property="mainDrId">
  1320. <![CDATA[
  1321. AND EXIP.READID = #mainDrId#
  1322. ]]>
  1323. </isNotEmpty>
  1324. </isEqual>
  1325. </isNotEmpty>
  1326. <isNotEmpty property="baseCd">
  1327. <![CDATA[
  1328. AND RSRV.EXCUROOMCD IN ($baseCd$)
  1329. ]]>
  1330. </isNotEmpty>
  1331. <isNotEmpty property="patientState">
  1332. <isEqual property="patientState" compareValue="RC">
  1333. <![CDATA[
  1334. AND EXIP.EXECPRCPSTATCD < '520'
  1335. ]]>
  1336. </isEqual>
  1337. <isEqual property="patientState" compareValue="AC">
  1338. <![CDATA[
  1339. AND EXIP.EXECPRCPSTATCD < '700'
  1340. ]]>
  1341. </isEqual>
  1342. <isEqual property="patientState" compareValue="RE">
  1343. <![CDATA[
  1344. AND EXIP.EXECPRCPSTATCD >= '700'
  1345. ]]>
  1346. </isEqual>
  1347. </isNotEmpty>
  1348. <isNotEmpty property="pid">
  1349. <![CDATA[
  1350. AND EXIP.PID = #pid#
  1351. ]]>
  1352. </isNotEmpty>
  1353. <![CDATA[
  1354. )
  1355. ORDER BY CMT.OCR_NUMBER DESC, CMT.CONSENT_STATE ASC
  1356. ]]>
  1357. </statement>
  1358. <statement id="GET_PRESCRIPTION_CONSENT_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  1359. <![CDATA[
  1360. SELECT '' AS IDX,
  1361. CF.FORM_ID AS FORM_ID,
  1362. MRFM.FORMCD AS FORM_CODE,
  1363. CF.FORM_NAME AS FORM_NAME,
  1364. MRFM.FORMPRNTNM AS FORM_PRNT_NM,
  1365. '' AS FORM_PRNT_CNT,
  1366. '' AS PRNT_CNT,
  1367. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  1368. FROM EMR.MRFMFORMEMA
  1369. WHERE INSTCD = '101'
  1370. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  1371. AND FORMTODT = '99991231'
  1372. AND FORMCD = CF.FORM_CODE) AS CERT_PASS,
  1373. #pid# AS PID,
  1374. (SELECT DEPTENGABBR
  1375. FROM com.zsdddept
  1376. WHERE INSTCD = '101'
  1377. AND TO_CHAR(CURRENT_DATE,'YYYYMMDD') BETWEEN valifromdd AND valitodd
  1378. AND RCPTUSEYN = 'Y'
  1379. AND DEPTCD = OPRC.ORDDEPTCD) AS DEPT_ENG_ABBR,
  1380. '' AS PATIENT_NAME,
  1381. '' AS CONSENT_STATE,
  1382. '' AS CONSENT_MST_RID,
  1383. '' AS OCR_TAG,
  1384. '' AS MODIFY_USER_ID,
  1385. '' AS MODIFY_USER_NM,
  1386. '' AS MODIFY_DATETIME,
  1387. '' AS CREATE_DATETIME,
  1388. '' AS CLN_DATE,
  1389. '' AS CRET_NO,
  1390. '' AS ORD_TYPE,
  1391. '' AS DEPT_CD,
  1392. '' AS MAIN_DR_ID,
  1393. '' AS PATIENT_NAME
  1394. FROM EMR.MMOHOPRC OPRC,
  1395. EMR.MRFMCALCMECH MECH,
  1396. EMR.MRFMFORM MRFM,
  1397. EMA.CLIP_FORM CF,
  1398. EMA.CLIP_FORM_DATA CFD
  1399. WHERE OPRC.INSTCD = '101'
  1400. AND OPRC.CRETNO = 1
  1401. AND OPRC.PRCPHISTCD = 'O'
  1402. AND OPRC.INSTCD = MECH.INSTCD
  1403. AND OPRC.PRCPCD = MECH.CALCSCORCD
  1404. AND MECH.CALCSCORFLAG = 'O'
  1405. AND OPRC.INSTCD = MRFM.INSTCD
  1406. AND MECH.FORMCD = MRFM.FORMCD
  1407. AND MRFM.FORMTODT > '99991231'
  1408. AND MRFM.FORMPROGFLAG = 'OCR'
  1409. AND MRFM.INSTCD = '101'
  1410. AND MRFM.FORMCD = CF.FORM_CODE
  1411. AND CF.FORM_ID = CFD.FORM_ID
  1412. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  1413. AND CF.PRODUCT_ID = '1'
  1414. AND CF.USE_YN = 'Y'
  1415. AND CFD.PUBLICATION_YN = 'Y'
  1416. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  1417. FROM EMA.CLIP_FORM_DATA A
  1418. WHERE A.FORM_ID = CFD.FORM_ID
  1419. AND A.PUBLICATION_YN = 'Y'
  1420. AND A.PRODUCT_ID = '1' )
  1421. AND OPRC.ORDDD = #ordDd#
  1422. AND OPRC.PID = #pid#
  1423. ]]>
  1424. </statement>
  1425. <!-- statement id="GET_CONSENT_LIST" parameterClass="System.Collections.Hashtable" resultMap="ConsentMap">
  1426. <![CDATA[
  1427. SELECT a.consent_mst_rid
  1428. , DECODE(a.consent_state, 'TEMP', '임시'
  1429. , 'ELECTR_CMP', '확인'
  1430. , 'PAPER_OUT', '출력'
  1431. , 'CERTIFY_CMP', '인증'
  1432. , 'UNFINISHED', '임시'
  1433. , 'VERBAL', '구두'
  1434. , a.consent_state) AS consent_state_disp
  1435. , b.form_name AS consent_name
  1436. , a.hos_type
  1437. , a.pid
  1438. , ( SELECT hngnm
  1439. FROM pam.pmcmptbs e
  1440. WHERE e.instcd = a.hos_type
  1441. AND e.pid = a.pid
  1442. ) AS hngnm
  1443. , a.visit_type
  1444. , DECODE(a.visit_type, 'O', '외래'
  1445. , 'I', '입원'
  1446. , 'D', 'DSC'
  1447. , 'E', '응급'
  1448. , 'S', '건진'
  1449. , a.visit_type) AS visit_type_nm
  1450. , a.order_no
  1451. , a.order_cd
  1452. , a.order_name
  1453. , a.cln_dept_cd
  1454. , ( SELECT depthngnm
  1455. FROM com.zsdddept e
  1456. WHERE e.instcd = #instcd#
  1457. AND e.deptcd = a.cln_dept_cd
  1458. AND e.valitodd = '99991231'
  1459. ) AS cln_dept_nm
  1460. , COM.FN_ZS_GETDEPTNAME(#instcd#
  1461. , ( SELECT deptcd
  1462. FROM com.zsdddept d
  1463. WHERE d.instcd = #instcd#
  1464. AND d.deptengabbr = a.wardcd
  1465. AND d.valitodd = '99991231'
  1466. )
  1467. , '99991231') AS wardcd
  1468. , a.roomcd
  1469. , a.form_rid
  1470. , b.form_cd
  1471. , b.form_guid
  1472. , c.prntcnt
  1473. , a.consent_state
  1474. , a.ocr_number
  1475. , a.cosign_dc_id
  1476. , a.cosign_dc_name
  1477. , a.modify_user_id AS create_user_id
  1478. , a.modify_user_name AS create_user_name
  1479. , a.modify_datetime AS create_datetime
  1480. , a.cln_date
  1481. , a.cretno
  1482. , c.ocrtagprntyn
  1483. , c.formprntnm
  1484. , CASE WHEN EXISTS ( SELECT 1
  1485. FROM emr.mmbdhrcd e
  1486. WHERE e.instcd = c.instcd
  1487. AND e.hardcdno = '6920'
  1488. AND e.trgtcd = c.formcd
  1489. ) THEN
  1490. 'N'
  1491. ELSE 'Y'
  1492. END AS userdrflag
  1493. , c.print_only
  1494. , d.opdiagnm
  1495. , d.opnm
  1496. , a.oprsrvno
  1497. FROM ema.consent_mst a
  1498. , ema.eform_document b
  1499. , emr.mrfmform c
  1500. , ( SELECT trgtcd
  1501. , trgtcdnm AS opdiagnm
  1502. , trgtcdsnm AS opnm
  1503. FROM emr.mmbdhrcd
  1504. WHERE instcd = #instcd#
  1505. AND hardcdno = '6011'
  1506. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd
  1507. ) d
  1508. WHERE a.hos_type = #instcd#]]>
  1509. <isNotEmpty property="patientCode">
  1510. <isEmpty property="userId">
  1511. <![CDATA[
  1512. AND a.pid = #patientCode#]]>
  1513. </isEmpty>
  1514. </isNotEmpty>
  1515. <isNotEmpty property="userId">
  1516. <![CDATA[
  1517. AND #userId# IN (a.create_user_id, a.modify_user_id)]]>
  1518. </isNotEmpty><![CDATA[
  1519. AND a.use_yn = 'Y'
  1520. AND TO_CHAR(TO_DATE(a.create_datetime, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #startDt# AND #endDt#
  1521. AND b.form_rid = a.form_rid
  1522. AND c.instcd = a.hos_type
  1523. AND c.formcd = b.form_cd
  1524. AND c.formprogflag LIKE 'OCR%'
  1525. AND c.formlevlcd != '-'
  1526. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN c.formfromdt AND c.formtodt]]>
  1527. <isNotEqual property="consentState" compareValue="ALL">
  1528. <![CDATA[
  1529. AND a.consent_state IN ($consentState$)]]>
  1530. </isNotEqual><![CDATA[
  1531. AND CASE WHEN EXISTS ( SELECT 1
  1532. FROM emr.mrfmocrprnt e
  1533. WHERE e.instcd = #instcd#
  1534. AND e.ocrtag = a.ocr_number ) THEN
  1535. CASE WHEN a.consent_state IN ('UNFINISHED', 'TEMP', 'PAPER_OUT', 'ELECTR_CMP')
  1536. AND EXISTS ( SELECT 1
  1537. FROM emr.mrfmocrprnt e
  1538. , emr.mrfhocrprnt f
  1539. WHERE e.instcd = #instcd#
  1540. AND e.ocrtag = a.ocr_number
  1541. AND f.instcd = e.instcd
  1542. AND f.ocrtag = e.ocrtag
  1543. AND f.updtdt = e.updtdt
  1544. AND f.statcd = 'P'
  1545. ) THEN 'Y'
  1546. WHEN a.consent_state = 'CERTIFY_CMP'
  1547. AND EXISTS ( SELECT 1
  1548. FROM emr.mrfmocrprnt e
  1549. , emr.mrfhocrprnt f
  1550. WHERE e.instcd = #instcd#
  1551. AND e.ocrtag = a.ocr_number
  1552. AND f.instcd = e.instcd
  1553. AND f.ocrtag = e.ocrtag
  1554. AND f.updtdt = e.updtdt
  1555. AND f.statcd = 'C'
  1556. ) THEN 'Y'
  1557. ELSE 'N'
  1558. END
  1559. ELSE 'Y'
  1560. END = 'Y'
  1561. AND d.trgtcd(+) = b.form_cd]]>
  1562. <![CDATA[
  1563. ORDER BY ocr_number DESC
  1564. , consent_state ASC]]>
  1565. </statement -->
  1566. <statement id="GET_CONSENT_IMAGE" parameterClass="System.Collections.Hashtable" resultMap="ConsentImageMap">
  1567. <![CDATA[
  1568. SELECT CONSENT_MST_RID
  1569. , CONSENT_IMAGE_RID
  1570. , FORM_RID
  1571. , IMAGE_PATH
  1572. , IMAGE_FILENAME
  1573. , COMPLETE_YN
  1574. , CREATE_USER_ID
  1575. , CREATE_DATETIME
  1576. FROM EMA.CONSENT_IMAGE A
  1577. WHERE COMPLETE_YN = 'Y'
  1578. AND CONSENT_MST_RID = #consent-mst-rid#
  1579. ORDER BY CONSENT_IMAGE_RID, IMAGE_FILENAME
  1580. ]]>
  1581. </statement>
  1582. <statement id="GET_CONSENT_AUDIO" parameterClass="System.Collections.Hashtable" resultMap="ConsentImageMap">
  1583. <!--AND CONSENT_AUDIO_RID = (
  1584. SELECT MAX(CONSENT_AUDIO_RID)
  1585. FROM EMA.CONSENT_AUDIO
  1586. WHERE CONSENT_MST_RID = A.CONSENT_MST_RID
  1587. )-->
  1588. <![CDATA[
  1589. SELECT CONSENT_MST_RID AS CONSENT_MST_RID,
  1590. CONSENT_AUDIO_RID AS CONSENT_IMAGE_RID,
  1591. FORM_RID AS FORM_RID,
  1592. AUDIO_PATH AS IMAGE_PATH,
  1593. AUDIO_FILENAME AS IMAGE_FILENAME,
  1594. COMPLETE_YN AS COMPLETE_YN,
  1595. CREATE_USER_ID AS CREATE_USER_ID,
  1596. CREATE_DATETIME AS CREATE_DATETIME
  1597. FROM EMA.CONSENT_AUDIO
  1598. WHERE CONSENT_MST_RID = #consentMstRid#
  1599. ORDER BY CONSENT_AUDIO_RID
  1600. ]]>
  1601. </statement>
  1602. <statement id="GET_CONSENT_AUDIO_COUNT" parameterClass="System.Collections.Hashtable" resultClass="System.Int32">
  1603. <![CDATA[
  1604. SELECT COUNT(*) AS CNT
  1605. FROM EMA.CONSENT_AUDIO
  1606. WHERE CONSENT_MST_RID = #consentMstRid#
  1607. ]]>
  1608. </statement>
  1609. <statement id="GetConsentStateCheck" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1610. <![CDATA[
  1611. select mst.consent_state
  1612. from EMA.CONSENT_MST mst
  1613. where mst.consent_mst_rid = #consentmstrid#
  1614. and mst.use_yn = 'Y'
  1615. ]]>
  1616. </statement>
  1617. <statement id="getImageServerProps" parameterClass="System.Collections.Hashtable" resultMap="ImageServerPropsMap">
  1618. <![CDATA[
  1619. SELECT '' AS IMAGE_SEQ,
  1620. KEYNAME AS KEYNAME,
  1621. KEYVALUE AS KEYVALUE
  1622. FROM IMR.IMR_GLOBALUSE
  1623. WHERE 1=1
  1624. AND keyname in('PATH_IMGDATA', 'NETDRV_USERID_ADMIN', 'NETDRV_PASSWORD_ADMIN')
  1625. UNION
  1626. SELECT SEQ AS IMAGE_SEQ,
  1627. 'IMAGEPATH' AS KEYNAME,
  1628. IMGPATH AS KEYVALUE
  1629. FROM IMR.IMR_IMGSERVER
  1630. WHERE USED = 1
  1631. ]]>
  1632. </statement>
  1633. <!-- statement id="GET_CONSENT_BY_CALCSCORCD" parameterClass="System.Collections.Hashtable" resultMap="ConsentBySearchMap"><![CDATA[
  1634. SELECT form_cd
  1635. , form_guid
  1636. , form_name
  1637. , '' AS full_category_name
  1638. , form_rid
  1639. , prntcnt
  1640. , print_only
  1641. , ocrtagprntyn
  1642. FROM v_eform_formdoc a
  1643. WHERE EXISTS ( SELECT 1
  1644. FROM emr.mrfmcalcmech b
  1645. WHERE b.instcd = a.instcd
  1646. AND b.formcd = a.form_cd
  1647. AND b.calcscorcd = #calcscorcd# )]]>
  1648. </statement -->
  1649. <!-- statement id="GET_CONSENT_BY_FORMCD" parameterClass="System.Collections.Hashtable" resultMap="ConsentBySearchMap">
  1650. <![CDATA[
  1651. SELECT a.form_cd
  1652. , a.form_guid
  1653. , a.form_name
  1654. , '' AS full_category_name
  1655. , a.form_rid
  1656. , b.prntcnt
  1657. , b.print_only
  1658. , b.ocrtagprntyn
  1659. , ( SELECT formprntnm
  1660. FROM emr.mrfmform d
  1661. WHERE d.instcd = #instcd#
  1662. AND d.formcd = b.formcd
  1663. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN d.formfromdt AND d.formtodt
  1664. ) AS formprntnm
  1665. , c.opdiagnm
  1666. , c.opnm
  1667. , CASE WHEN EXISTS ( SELECT 1
  1668. FROM emr.mmbdhrcd d
  1669. WHERE d.instcd = b.instcd
  1670. AND d.hardcdno = '6920'
  1671. AND d.trgtcd = b.formcd
  1672. ) THEN
  1673. 'N'
  1674. ELSE 'Y'
  1675. END AS userdrflag
  1676. , ( SELECT c.rmk
  1677. FROM emr.mmbmhrcd c
  1678. , emr.mmbdhrcd d
  1679. WHERE c.instcd = #instcd#
  1680. AND c.hardcdno = '6011'
  1681. AND d.instcd = c.instcd
  1682. AND d.hardcdno = c.hardcdno
  1683. AND d.trgtcd != c.rmk
  1684. AND NVL(d.hardspec, '-') != 'N'
  1685. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN d.valifromdd AND d.valitodd
  1686. AND ROWNUM = 1
  1687. ) AS lnkformcd
  1688. FROM ema.eform_document a
  1689. , emr.mrfmform b
  1690. , ( SELECT trgtcd
  1691. , trgtcdnm AS opdiagnm
  1692. , trgtcdsnm AS opnm
  1693. FROM emr.mmbdhrcd
  1694. WHERE instcd = #instcd#
  1695. AND hardcdno = '6011'
  1696. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd
  1697. ) c
  1698. WHERE a.form_cd IN ($formcdarr$)
  1699. AND a.use_yn = 'Y'
  1700. AND a.deploy_yn = 'Y'
  1701. AND a.form_version = ( SELECT MAX(form_version)
  1702. FROM ema.eform_document c
  1703. WHERE c.form_cd = a.form_cd
  1704. AND c.use_yn = 'Y'
  1705. AND c.deploy_yn = 'Y' )
  1706. AND b.instcd = #instcd#
  1707. AND b.formcd = a.form_cd
  1708. AND b.formprogflag LIKE 'OCR%'
  1709. AND b.formlevlcd != '-'
  1710. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN b.formfromdt AND b.formtodt
  1711. AND c.trgtcd(+) = b.formcd]]>
  1712. </statement-->
  1713. <statement id="GET_OCR_STRING" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1714. <![CDATA[
  1715. SELECT A.TRGTCDNM
  1716. FROM emr.MMBDHRCD A
  1717. WHERE INSTCD = #instcd#
  1718. AND trgtcd = #formcd#
  1719. AND hardcdno = '6938'
  1720. AND TO_CHAR (SYSDATE, 'YYYYMMDDHH') BETWEEN A.valifromdd and a.valitodd
  1721. AND rownum = 1]]>
  1722. </statement>
  1723. <statement id="GET_CONSENT_FORM_XML" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1724. <![CDATA[
  1725. SELECT EMA.blob_to_clob(FORM_XML)
  1726. FROM EMA.CONSENT_DATA
  1727. WHERE 1 = 1
  1728. AND CONSENT_MST_RID = #consentMstRid#
  1729. ]]>
  1730. </statement>
  1731. <statement id="GET_CERTUSEYN" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1732. <![CDATA[
  1733. SELECT A.CERTUSEYN
  1734. from emr.mrfmform a
  1735. where 1=1
  1736. and rownum = 1
  1737. and instcd = #instcd#
  1738. and A.FORMCD = #formcd#
  1739. and A.FORMPROGFLAG like 'OCR%'
  1740. and to_char(sysdate, 'YYYYMMDDHH24MISS') between a.formfromdt and a.formtodt]]>
  1741. </statement>
  1742. <statement id="GET_CERTUSEYN_MAP" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1743. <![CDATA[
  1744. SELECT LISTAGG(DECODE(a.certuseyn,'Y', a.certuseyn,'N'), ', ') WITHIN GROUP (ORDER BY a.certuseyn) as result
  1745. FROM emr.mrfmform A
  1746. WHERE instcd = #instcd#
  1747. AND A.FORMCD IN ($formcd$)
  1748. AND A.FORMPROGFLAG LIKE 'OCR%'
  1749. AND to_char(sysdate, 'YYYYMMDDHH24MISS') between a.formfromdt and a.formtodt]]>
  1750. </statement>
  1751. <statement id="GET_RESULT" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1752. <![CDATA[
  1753. SELECT LISTAGG(c.formcd, ',') WITHIN GROUP (ORDER BY c.formcd) AS RESULT
  1754. FROM (SELECT DISTINCT a.formcd
  1755. FROM emr.mrfmocrprnt a, emr.mrfhocrprnt b
  1756. WHERE a.instcd = b.instcd
  1757. AND a.ocrtag = b.ocrtag
  1758. AND a.updtdt = b.updtdt
  1759. AND a.instcd = #instcd#
  1760. AND a.formcd IN ($formcd$)
  1761. AND a.pid = #pid#
  1762. AND substr(a.FSTPRNTDT,1,8) = to_char(sysdate,'yyyymmdd')
  1763. AND a.eocryn = 'Y'
  1764. AND b.statcd = 'C') c
  1765. ]]>
  1766. </statement>
  1767. <statement id="GET_SCANFILE_MAX_SEQ" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1768. <![CDATA[
  1769. SELECT NVL(MAX(SEQNO), 0) AS SEQNO
  1770. FROM IMR.IMR_SCANFILE_EMA
  1771. WHERE PTNO = #pid#
  1772. AND GRPSEQ = #seq#
  1773. AND FORMATCODE = #formCd#
  1774. ]]>
  1775. </statement>
  1776. <statement id="GET_TREATT_SEQ" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1777. <![CDATA[
  1778. SELECT CASE
  1779. WHEN COUNT(grpseq) = 0
  1780. THEN '0'
  1781. ELSE TO_CHAR(MAX(grpseq))
  1782. END AS SEQ
  1783. FROM cmr.treatt a
  1784. WHERE patid = #pid#
  1785. AND cmc_cretno = #cretNo#
  1786. AND indate = #ordDd#
  1787. AND clincode = #deptCd#
  1788. AND class = #ordType#
  1789. AND grpseq > 5000
  1790. ]]>
  1791. </statement>
  1792. <statement id="GET_TREATT_NEW_SEQ" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1793. <![CDATA[
  1794. SELECT TO_CHAR((NVL(MAX(GRPSEQ), 5000))) AS SEQ
  1795. FROM cmr.treatt a
  1796. WHERE patid = #pid#
  1797. AND GRPSEQ BETWEEN 5000 AND 10000
  1798. ]]>
  1799. <!--AND indate = #ordDd#-->
  1800. </statement>
  1801. <insert id="INSERT_IMR_SCANGROUP" parameterClass="System.Collections.Hashtable">
  1802. <![CDATA[
  1803. MERGE INTO IMR.IMR_SCANGROUP_EMA
  1804. USING DUAL ON (PTNO = #pid# AND GRPSEQ = #seq# AND INDATE = #ordDd#)
  1805. WHEN MATCHED THEN
  1806. UPDATE SET USERID = ''
  1807. WHEN NOT MATCHED THEN
  1808. INSERT (
  1809. PTNO,
  1810. GRPSEQ,
  1811. INDATE,
  1812. INDEPTCODE,
  1813. INOUT,
  1814. VSTATE,
  1815. IMGSTATE,
  1816. ORDDEPTCD,
  1817. ORDTYPE,
  1818. CRETNO
  1819. )
  1820. VALUES (
  1821. #pid#,
  1822. #seq#,
  1823. #ordDd#,
  1824. (SELECT DEPTENGABBR
  1825. FROM COM.ZSDDDEPT
  1826. WHERE INSTCD = '101'
  1827. AND DEPTCD = #deptCd#
  1828. AND ROWNUM = 1),
  1829. #inOut#,
  1830. '45',
  1831. '0',
  1832. #deptCd#,
  1833. #ordType#,
  1834. #cretNo#
  1835. )
  1836. ]]>
  1837. </insert>
  1838. <insert id="INSERT_IMR_SCANFILE" parameterClass="System.Collections.Hashtable">
  1839. <![CDATA[
  1840. INSERT INTO IMR.IMR_SCANFILE_EMA
  1841. (PTNO, GRPSEQ, FORMATCODE, SEQNO, FILENAME,
  1842. AUTOGENIMG, TABLET, IMGSERVER, FILESIZE, INPUTDATE,
  1843. USERID, INPUTDATE2, USERID2, INPUTDATE3, USERID3,
  1844. CREATEDATE, OCRTAG)
  1845. VALUES (#pid#, #seq#, #formCd#, #seqNo#, #fileName#,
  1846. 0, 0, #imgServer#, #fileSize#, to_char(sysdate, 'yyyyMMdd hh24:mi:ss'),
  1847. #userId#, to_char(sysdate, 'yyyyMMdd hh24:mi:ss'), #userId#, to_char(sysdate, 'yyyyMMdd hh24:mi:ss'), #userId#,
  1848. to_char(sysdate, 'yyyyMMdd hh24:mi:ss'), #ocrTag#)
  1849. ]]>
  1850. </insert>
  1851. <statement id="GET_DUAL_MODE" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1852. <![CDATA[
  1853. SELECT CASE
  1854. WHEN count(*) > 0 THEN 'Y'
  1855. ELSE 'N'
  1856. END AS result
  1857. FROM emr.MMBDHRCD A
  1858. WHERE a.instcd = #instcd#
  1859. AND A.hardcdno = '6960'
  1860. AND a.trgtcd = #ipaddr#
  1861. AND TO_CHAR (SYSDATE, 'YYYYMMDDHH') BETWEEN A.valifromdd AND a.valitodd]]>
  1862. </statement>
  1863. <statement id="TO_CERTIFY_CONSENT_MST" parameterClass="System.Collections.Hashtable">
  1864. <![CDATA[
  1865. UPDATE ema.consent_mst
  1866. SET consent_state = 'CERTIFY_CMP'
  1867. ,complete_datetime = TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss')
  1868. , modify_datetime = TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss')
  1869. WHERE consent_mst_rid in ($consent_rids$)
  1870. AND hos_type = #instcd#
  1871. AND consent_state = 'ELECTR_CMP']]>
  1872. </statement>
  1873. <statement id="TO_CERTIFY_OCRPRNT" parameterClass="System.Collections.Hashtable">
  1874. <![CDATA[
  1875. UPDATE emr.mrfhocrprnt
  1876. SET statcd = 'C'
  1877. , scanyn = 'Y'
  1878. , lastupdtdt = TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss')
  1879. WHERE ocrtag IN ($ocrtags$)
  1880. AND instcd = #instcd#
  1881. AND statcd = 'P'
  1882. AND scanyn = 'N']]>
  1883. </statement>
  1884. <statement id="UPDATE_CONSENT_MASTER" parameterClass="System.Collections.Hashtable">
  1885. <![CDATA[
  1886. update EMA.consent_mst
  1887. set use_yn = 'N'
  1888. where hos_type = #instcd#
  1889. and pid = #pid#
  1890. and use_yn = 'Y'
  1891. and ocr_number = #ocrtag#]]>
  1892. </statement>
  1893. <statement id="UPDATE_OCR_HISTORY" parameterClass="System.Collections.Hashtable">
  1894. <![CDATA[
  1895. update emr.mrfmocrprnt
  1896. set instcd = '999'
  1897. where instcd = #instcd#
  1898. and pid = #pid#
  1899. and ocrtag = #ocrtag#]]>
  1900. </statement>
  1901. <statement id="ReUseCertifyConsentFlag" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1902. <![CDATA[
  1903. SELECT EMR.FN_GET_EMA_WRITE_YN(#vInstcd#, #vPid#, #vOrddd#, #vCretno#, #vOrdtype#, #vRecdd#, #vUserid#) AS RE_USE
  1904. FROM DUAL
  1905. ]]>
  1906. </statement>
  1907. <statement id="getSaveAllFlag" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  1908. <![CDATA[
  1909. SELECT EMR.FN_GET_EMA_SAVE_ALL_YN(#instcd#, #userid#) AS RESULT
  1910. FROM DUAL
  1911. ]]>
  1912. </statement>
  1913. <statement id="ImrCount" parameterClass="System.Collections.Hashtable" resultClass="System.Int32">
  1914. <![CDATA[
  1915. SELECT COUNT(*) AS CNT
  1916. FROM IMR.IMR_SCANFILE_EMA
  1917. WHERE OCRTAG LIKE ($ocrTag$)
  1918. ]]>
  1919. </statement>
  1920. <statement id="ImrData" parameterClass="System.Collections.Hashtable" resultMap="ImrDataMap">
  1921. <![CDATA[
  1922. SELECT FILENAME AS FILENAME,
  1923. INPUTDATE AS INPUTDATE,
  1924. USERID AS USERID
  1925. FROM IMR.IMR_SCANFILE_EMA
  1926. WHERE OCRTAG LIKE ($ocrTag$)
  1927. AND ROWNUM = 1
  1928. ]]>
  1929. </statement>
  1930. <update id="ImrUpdate" parameterClass="System.Collections.Hashtable" resultClass="System.Int32">
  1931. <![CDATA[
  1932. UPDATE IMR.IMR_SCANFILE_EMA
  1933. SET INPUTDATE = #inputDate#,
  1934. USERID = #userId#,
  1935. INPUTDATE2 = #inputDate#,
  1936. USERID2 = #userId#,
  1937. INPUTDATE3 = #inputDate#,
  1938. USERID3 = #userId#,
  1939. CREATEDATE = #inputDate#
  1940. WHERE OCRTAG LIKE ($ocrTag$)
  1941. ]]>
  1942. </update>
  1943. <delete id="ImrDelete" parameterClass="System.Collections.Hashtable" resultClass="System.Int32">
  1944. <![CDATA[
  1945. DELETE FROM IMR.IMR_SCANFILE_EMA WHERE FILENAME LIKE ($fileName$)
  1946. ]]>
  1947. </delete>
  1948. </statements>
  1949. </sqlMap>