SMMRB00101.js 96 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869
  1. var oprnerId = "";
  2. var BUSINESS_ID = "emr";
  3. var MACADDR = getUserInfo("macaddr"); //"0025b361dcd6";
  4. function sleep(milliseconds) {
  5. var start = new Date().getTime();
  6. for (var i = 0; i < 1e7; i++) {
  7. if ((new Date().getTime() - start) > milliseconds){
  8. break;
  9. }
  10. }
  11. }
  12. /**
  13. * @desc : 화면초기화
  14. * @id :
  15. * @event : xforms-ready
  16. * @return : void
  17. * @authur : 박종훈(튜닝)
  18. */
  19. function fInitalize()
  20. {
  21. model.toggle("case1");
  22. fEmrbrowserStart();
  23. var chkPidRtn = "";
  24. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/pidynhcd", 3801);
  25. //2009-10-27 오후 4:37:13 강지훈 추가 : 북마크 사용여부를 기관별로 관리한다.
  26. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/bmkuseyn", 9909);
  27. var sInstcd = getUserInfo("dutplceinstcd");
  28. var sUserDeptcd = getUserInfo("dutplcecd");
  29. var sJobkind = getUserInfo("jobkindcd").substring(0, 2);
  30. //careplan과 환자교육버튼은 서울성모에서만 나오게 수정
  31. if(sInstcd == "012"){
  32. btn_careplan.visible = true;
  33. btn_patedu.visible = true;
  34. }
  35. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  36. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntuseyn", 9920);
  37. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntdept", 9921);
  38. var prntuseyn = model.getValue("/root/init/prntuseyn/hardcd/hardcd");
  39. if (prntuseyn == "Y")
  40. {
  41. if(model.getValue("/root/init/prntdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != ""){
  42. btn_prnt.visible = true;
  43. }
  44. else{
  45. btn_prnt.visible = false;
  46. }
  47. }
  48. else{
  49. btn_prnt.visible = true;
  50. }
  51. if(sJobkind == "03" || sUserDeptcd == "3230000000")
  52. {
  53. btn_copyprt.visible = true;
  54. }
  55. //일자지정 날짜세팅
  56. model.setValue("/root/main/srchfromdd", getNewDate().getAddDate(-1, "M").getDateFormat("YYYYMMDD").substr(0, 8));
  57. model.setValue("/root/main/srchtodd", getCurrentDate());
  58. if (isPopup())
  59. {
  60. var parampid = opener.window.javascript.getParameter("SMMRI00400_param_pid");
  61. var paramchosflag = opener.window.javascript.getParameter("SMMRI00400_param_chosflag");
  62. var authflag = opener.window.javascript.getParameter("SMMRI00400_param_authflag");
  63. if (authflag == "N")
  64. {
  65. ipt_pid.disabled = true;
  66. ipt_hngnm.disabled = true;
  67. btn_search.disabled = true;
  68. ipt_rrgstno1.disabled = true;
  69. ipt_rrgstno2.disabled = true;
  70. button14.disabled = true;
  71. btn_prnt.disabled = true;
  72. }
  73. else
  74. {
  75. ipt_pid.disabled = false;
  76. ipt_hngnm.disabled = false;
  77. btn_search.disabled = false;
  78. ipt_rrgstno1.disabled = false;
  79. ipt_rrgstno2.disabled = false;
  80. button14.disabled = false;
  81. btn_prnt.disabled = false;
  82. }
  83. }
  84. //2010-02-17 오전 10:08:30 이환석 추가 : 통합기록조회가 열릴 때 제외 부서 이외 Keyin 제한.
  85. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keyuseyn", 9923);
  86. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keydept", 9924);
  87. //2010-02-22 성규훈 추가 : 통합기록조회시 제외 직종 이외 keyin 제한
  88. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keyjob", 9927);
  89. //2010-03-06 성규훈 추가 : 통합기록조회시 제외 직책 이외 keyin 제한
  90. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keypos", 9929);
  91. var keyuseyn = model.getValue("/root/init/keyuseyn/hardcd/hardcd");
  92. var sJobkindkey = getUserInfo("jobkindcd").substring(1, 4);
  93. var sJobposkey = getUserInfo("jobposcd");
  94. if(keyuseyn == "Y") {
  95. if(model.getValue("/root/init/keydept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != "" || (model.getValue("/root/init/keyjob/hardcd[hardcd='" + sJobkindkey + "']/hardcd") != "" && model.getValue("/root/init/keypos/hardcd[hardcd='" + sJobposkey + "']/hardcd") != "")) {
  96. ipt_pid.disabled = false;
  97. ipt_hngnm.disabled = false;
  98. btn_search.disabled = false;
  99. ipt_rrgstno1.disabled = false;
  100. ipt_rrgstno2.disabled = false;
  101. grd_tool_dept.disabled = false;
  102. } else {
  103. ipt_pid.disabled = true;
  104. ipt_hngnm.disabled = true;
  105. btn_search.disabled = true;
  106. ipt_rrgstno1.disabled = true;
  107. ipt_rrgstno2.disabled = true;
  108. grd_tool_dept.disabled = true;
  109. }
  110. } else {
  111. ipt_pid.disabled = false;
  112. ipt_hngnm.disabled = false;
  113. btn_search.disabled = false;
  114. ipt_rrgstno1.disabled = false;
  115. ipt_rrgstno2.disabled = false;
  116. grd_tool_dept.disabled = false;
  117. }
  118. if(parampid == "")
  119. {
  120. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  121. var pid = "";
  122. if(pamInfoCvs != null)
  123. { //cvs가 null이 아닌 경우에만 처리함.
  124. model.removeNodeSet ("/root/main/result/paminfo/list");
  125. setCSVToNode ("/root/main/result/paminfo", pamInfoCvs);
  126. pid = model.getValue ("/root/main/result/paminfo/list/pid");
  127. ordtype = model.getValue ("/root/main/result/paminfo/list/ioflag");
  128. if ( !isNull ( pid ) )
  129. {
  130. if(oprnerId == "SPMRC03200")
  131. {
  132. opener.window.javascript.fGetCopyCmpPid(pid);
  133. }
  134. ipt_pid.value = pid;
  135. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  136. }
  137. }
  138. }
  139. else
  140. {
  141. ipt_pid.value = parampid;
  142. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  143. }
  144. model.removeNodeset("/root/send");
  145. model.makeValue("/root/send/trgtno", 1100);
  146. model.makeValue("/root/send/exno", 1110);
  147. submit("TRMRB00107");
  148. //2009-11-17 오후 5:48:29 강지훈 수정 : 휠스크롤 메세지박스 사용여부 개인별 환경설정으로 관리
  149. model.removeNode("/root/send/interqestcd");
  150. model.makeNode("/root/send/interqestcd");
  151. var AnswData = fGetIntefeAnsw("017");
  152. model.setValue("/root/tmp/wheelmsg", AnswData);
  153. //2009-10-20 오후 2:01:30 강지훈 수정
  154. //btn_tab_chos_all.selected = true;
  155. if (chkPidRtn)
  156. {
  157. fGetPatOrddept();
  158. fGetPatOrdHist("ALL");
  159. model.setValue("/root/init/selecttab/maintabchos", "Y");
  160. }
  161. }
  162. /*
  163. 부서초기화
  164. */
  165. function fDeptStart(){
  166. //부서 초기화
  167. model.setValue("/root/main/patmedidept/selected/deptcd", "ALL");
  168. model.setValue("/root/main/patmedidept/selected/text", "전체");
  169. model.resetInstanceNode("/root/main/patmedidept/list");
  170. }
  171. /*
  172. 각종 node 초기화
  173. 화면 초기화
  174. */
  175. function fEmrbrowserStart(){
  176. //iviewer1.src = "../../../emr/emrBrowserWeb/xrw/SMMRB00201_EmrBrowserView.xrw";
  177. grp_dateList.visible = false; //일자목록 안보이게 함
  178. //grid 초기화
  179. //model.resetInstanceNode("/root/main/patinfo/patinfolist"); //환자정보
  180. model.resetInstanceNode("/root/main/pathist/patordhist"); //수진별보기 수진이력
  181. model.resetInstanceNode("/root/main/midindx/midindxlist"); //수진별보기 서식
  182. model.resetInstanceNode("/root/main/chartmidindx/chartmidindxlist"); //서식별보기 서식
  183. model.resetInstanceNode("/root/main/chartpathist/chartpatordhist"); //서식별보기 수진이력
  184. model.resetInstanceNode("/root/main/bookmark"); //북마크
  185. model.resetInstanceNode("/root/main/datemidindx/midindxlist"); //일자보기 서식
  186. model.resetInstanceNode("/root/main/favorite/item"); //즐겨찾기
  187. model.resetInstanceNode("/root/main/dateform/dateformlist"); //일자목록
  188. //서식 대분류 분류값 초기화
  189. model.setValue("/root/init/lrgselectord", 0)
  190. model.setValue("/root/init/lrgselectchard", 0);
  191. model.resetInstanceNode("/root/init/patrow"); //수진별보기에서 현재 선택된 환자의 수진키의 row
  192. model.resetInstanceNode("/root/init/chartrow"); //서식별보기에서 현재 선택된 환자의 서식의row
  193. //현재 선택된 tab상태 기록부분 초기화
  194. model.setValue("/root/init/selecttab/maintabchos", "N"); //수진별보기 load여부
  195. model.setValue("/root/init/selecttab/maintabchart", "N"); //서식별보기 load여부
  196. model.setValue("/root/init/selecttab/maintabbookmark", "N"); //bookmark load여부
  197. model.setValue("/root/init/selecttab/maintabdate", "N"); //load여부
  198. model.setValue("/root/init/selecttab/maintabfavorite", "N"); //즐겨찾기
  199. //수진별보기에서 '전체/외래/입원/응급'
  200. if(btn_tab_chos_all.selected)
  201. model.setValue("/root/init/selecttab/maintabchosselect1", "1");
  202. else if(btn_tab_chos_out.selected)
  203. model.setValue("/root/init/selecttab/maintabchosselect1", "2");
  204. else if(btn_tab_chos_in.selected)
  205. model.setValue("/root/init/selecttab/maintabchosselect1", "3");
  206. else if(btn_tab_chos_er.selected)
  207. model.setValue("/root/init/selecttab/maintabchosselect1", "4");
  208. else
  209. model.setValue("/root/init/selecttab/maintabchosselect1", "1");
  210. model.setValue("/root/init/selecttab/maintabchosselect2", "1"); //수진별보기에서 '서식분류/즐겨찾기'
  211. //서식별보기에서 '전체/외래/입원/응급'
  212. if(btn_tab2_chos_all.selected)
  213. model.setValue("/root/init/selecttab/maintabchartselect1", "1");
  214. else if(btn_tab2_chos_out.selected)
  215. model.setValue("/root/init/selecttab/maintabchartselect1", "2");
  216. else if(btn_tab2_chos_in.selected)
  217. model.setValue("/root/init/selecttab/maintabchartselect1", "3");
  218. else if(btn_tab2_chos_er.selected)
  219. model.setValue("/root/init/selecttab/maintabchartselect1", "4");
  220. else
  221. model.setValue("/root/init/selecttab/maintabchartselect1", "1");
  222. //model.setValue("/root/init/selecttab/maintabchartselect1", "1");
  223. model.setValue("/root/init/ioflag", "ALL");
  224. var orddept = model.getValue("/root/init/orddept");
  225. model.setValue("/root/init/ioflag", "ALL");
  226. model.removeNodeset("/root/send");
  227. model.resetInstanceNode("/root/init/accresn");
  228. model.resetInstanceNode("/root/init/itemindxseq");
  229. model.resetInstanceNode("/root/init/linkcd");
  230. model.resetInstanceNode("/root/init/reccurpos");
  231. //model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  232. //model.makeValue("/root/send/ioflag", "ALL");
  233. model.setValue("/root/init/orddept", model.getValue("/root/main/patmedidept/selected/deptcd"));
  234. model.refresh();
  235. }
  236. /*
  237. 수진별보기 - 서식분류, 즐겨찾기 클릭
  238. */
  239. function fMaintabSelect(o){
  240. if(o == "btn_tab_catagory"){
  241. model.setValue("/root/init/selecttab/maintabchosselect2", "1");
  242. grd_midindx.visible = true;
  243. trv_favorite.visible = false;
  244. fRecBigLocation();
  245. }
  246. else{
  247. model.setValue("/root/init/selecttab/maintabchosselect2", "2");
  248. grd_midindx.visible = false;
  249. trv_favorite.visible = true;
  250. fRecBigLocation();
  251. fGetMarkEmrTreeView("F");
  252. }
  253. }
  254. /*
  255. 수진이력 전체/외래/입원/응급 보기
  256. */
  257. function fPatOrdHistView(ordtype){
  258. if(ordtype == "") ordtype = "ALL";
  259. var nodeset = "";
  260. if(ordtype == "ALL"){
  261. nodeset = "/root/main/pathist/patordhist";
  262. model.setValue("/root/init/selecttab/maintabchosselect1", "1");
  263. }else{
  264. if(ordtype == "O"){
  265. model.setValue("/root/init/selecttab/maintabchosselect1", "2");
  266. nodeset = "/root/main/pathist/patordhist[ordtype='O']";
  267. }
  268. else if(ordtype == "I"){
  269. model.setValue("/root/init/selecttab/maintabchosselect1", "3");
  270. nodeset = "/root/main/pathist/patordhist[ordtype='I' or ordtype='D']";
  271. }
  272. else{
  273. model.setValue("/root/init/selecttab/maintabchosselect1", "4");
  274. nodeset = "/root/main/pathist/patordhist[ordtype='E']";
  275. }
  276. //nodeset = "/root/main/pathist/patordhist[ordtype='"+ordtype+"']";
  277. }
  278. grd_pathist.nodeset = nodeset;
  279. grd_pathist.rebuild();
  280. var cnts = grd_pathist.rows;
  281. model.removeNodeset("/root/main/midindx/midindxlist");
  282. grd_midindx.rebuild();
  283. if(cnts > 1){ //헤더가 포함되기 때문에
  284. grd_pathist.row = 1;
  285. fGetRecMidIndx(1);
  286. }
  287. }
  288. /*
  289. 서식별보기 수진이력 전체/외래/입원/응급 보기
  290. */
  291. function fPatChartHistView(ordtype){
  292. var nodeset = "";
  293. if(ordtype == "ALL"){
  294. nodeset = "/root/main/chartpathist/chartpatordhist";
  295. model.setValue("/root/init/selecttab/maintabchartselect1", "1");
  296. }else{
  297. if(ordtype == "O"){
  298. model.setValue("/root/init/selecttab/maintabchartselect1", "2");
  299. nodeset = "/root/main/chartpathist/chartpatordhist[ordtype='O']";
  300. }
  301. else if(ordtype == "I"){
  302. model.setValue("/root/init/selecttab/maintabchartselect1", "3");
  303. nodeset = "/root/main/chartpathist/chartpatordhist[ordtype='I' or ordtype='D']";
  304. }
  305. else{
  306. model.setValue("/root/init/selecttab/maintabchartselect1", "4");
  307. nodeset = "/root/main/chartpathist/chartpatordhist[ordtype='E']";
  308. }
  309. //nodeset = "/root/main/chartpathist/chartpatordhist[ordtype='"+ordtype+"']";
  310. }
  311. grd_chart_pathist.nodeset = nodeset;
  312. grd_chart_pathist.rebuild();
  313. }
  314. /*
  315. * 조회버튼 클릭
  316. */
  317. function fPatSearch(){
  318. //iviewer1.window.javascript.browserInit();
  319. iviewer1.src = "../../../emr/emrBrowserWeb/xrw/SMMRB00201_EmrBrowserView.xrw";
  320. model.refresh();
  321. fEmrbrowserStart(); //초기화
  322. fGetPatOrddept();
  323. fGetPatOrdHist("ALL");
  324. }
  325. /**
  326. * @desc : 환자번호 정보조회
  327. */
  328. function fPidKeyPress()
  329. {
  330. //부서 초기화
  331. fDeptStart();
  332. model.removeNodeSet("/root/main/result/inform");
  333. model.setValue("/root/source/srchcond", "1");
  334. model.setValue("/root/source/pid", ipt_pid.currentText);
  335. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  336. //inputEnterKey("btn_search", "DOMActivate");
  337. //환자등록번호 체크
  338. if(ipt_pid.currentText.length >= 1 )
  339. {
  340. fEmrbrowserStart(); //초기화
  341. model.resetInstanceNode("/root/main/result/patinfo");
  342. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  343. //model.makeNode("/root/main/result/patinfo");
  344. if(submit("TRMRC00501"))
  345. {
  346. var sBindPid = model.getValue("/root/main/result/inform/item/bindpid");
  347. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' )
  348. {
  349. var sPid = model.getValue("/root/main/result/inform/item/pid");
  350. var sHngnm = model.getValue("/root/main/result/inform/item/hngnm");
  351. var retValue = messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  352. if( retValue == '6' )
  353. {
  354. ipt_pid.currentText = sBindPid;
  355. model.setValue("/root/source/srchcond", "1");
  356. model.setValue("/root/source/pid", ipt_pid.currentText);
  357. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  358. if (submit("TRPMC02500"))
  359. {
  360. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  361. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  362. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  363. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  364. model.setValue("/root/main/popupendflag", "ok");
  365. model.refresh();
  366. oprnerId = opener.window.javascript.getScreenID();
  367. if(oprnerId == "SPMRC03200")
  368. {
  369. var keyparam = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + model.getValue("/root/main/patinfo/patinfolist/sex") + "▦" + model.getValue("/root/main/patinfo/patinfolist/age") + "▩";
  370. opener.window.javascript.fEnterPatinfo(keyparam);
  371. }
  372. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  373. //fChkBookmark();
  374. return true;
  375. }
  376. else
  377. {
  378. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  379. messageBox("없는 등록번호 입니다.", "E999", "");
  380. return false;
  381. }
  382. }
  383. }
  384. else
  385. {
  386. var pAge = getFullAge(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  387. var pGender = getGender(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  388. model.makeValue("/root/main/patinfo/patinfolist/pid", sPid);
  389. model.makeValue("/root/main/patinfo/agesex", pGender + "/" + pAge);
  390. model.makeValue("/root/main/patinfo/patinfolist/hngnm", sHngnm);
  391. model.makeValue("/root/main/patinfo/patinfolist/rrgstno1", model.getValue("/root/main/result/inform/item/rrgstno1"));
  392. model.makeValue("/root/main/patinfo/patinfolist/rrgstno2", model.getValue("/root/main/result/inform/item/rrgstno2"));
  393. ipt_pid.refresh();
  394. ipt_hngnm.refresh();
  395. opt_age.refresh();
  396. ipt_rrgstno1.refresh();
  397. ipt_rrgstno2.refresh();
  398. //화면 초기화!!
  399. //btn_init.dispatch("DOMActivate");
  400. return true;
  401. }
  402. }
  403. else
  404. {
  405. if (submit("TRPMC02500"))
  406. {
  407. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  408. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  409. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  410. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  411. model.setValue("/root/main/popupendflag", "ok");
  412. model.refresh();
  413. //oprnerId = opener.window.javascript.getScreenID();
  414. if(oprnerId == "SPMRC03200")
  415. {
  416. var keyparam = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + model.getValue("/root/main/patinfo/patinfolist/sex") + "▦" + model.getValue("/root/main/patinfo/patinfolist/age") + "▩";
  417. opener.window.javascript.fEnterPatinfo(keyparam);
  418. }
  419. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  420. //fChkBookmark();
  421. return true;
  422. }
  423. else
  424. {
  425. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  426. messageBox("없는 등록번호 입니다.", "E999", "");
  427. return false;
  428. }
  429. }
  430. }
  431. }
  432. }
  433. else
  434. {
  435. messageBox("등록번호를 정확히", "C001");
  436. return false;
  437. }
  438. }
  439. /**
  440. * 환자이름 정보조회
  441. */
  442. function fPnmKeyPress()
  443. {
  444. model.setValue("/root/source/srchcond", "2");
  445. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  446. inputEnterKey("btn_search", "DOMActivate");
  447. }
  448. /**
  449. * 환자주민번호 정보조회
  450. */
  451. function fRgstnoKeyPress()
  452. {
  453. model.setValue("/root/source/srchcond", "3");
  454. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  455. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.value);
  456. model.makeValue("/root/source/autoflag", "Y");
  457. inputEnterKey("btn_search", "DOMActivate");
  458. }
  459. /**
  460. *환자주민번호 뒷자리 정보조회
  461. */
  462. function fRgstno2KeyPress(){
  463. if(event.keyCode == "13") {
  464. model.setValue("/root/source/srchcond", "3");
  465. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  466. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.formattedText);
  467. model.makeValue("/root/source/autoflag", "Y");
  468. fPopPtinfo();
  469. }
  470. }
  471. /**
  472. * 환자정보조회 팝업
  473. */
  474. function fPopPtinfo()
  475. {
  476. fDeptStart();
  477. model.makeValue("/root/source/autoflag", "Y");
  478. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  479. model.resetInstanceNode("/root/source");
  480. if(model.getValue("/root/main/popupendflag") == "ok"){
  481. button3.dispatch("DOMActivate");
  482. //2009-11-14 오전 11:57:20 강지훈 추가
  483. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  484. opt_age.refresh();
  485. }
  486. }
  487. /**
  488. * 수진과의 조건추가
  489. * @param deptCd
  490. * @return
  491. */
  492. function fAddPatMediDept_Local(deptNm,deptCd){
  493. if (deptCd != "") {
  494. var cdPath = "/root/main/patmedidept/selected/list[deptcd='"+deptCd+"']";
  495. var nmPath = "/root/main/patmedidept/selected/list[deptnm='"+deptNm+"']";
  496. var cnt = getNodesetCnt(model, nmPath);
  497. if (cnt == 0) {
  498. if (deptCd == "ALL") {
  499. model.removeNodeset("/root/main/patmedidept/selected/list");
  500. model.makeValue("/root/main/patmedidept/selected/list[1]/deptcd", deptCd);
  501. model.makeValue("/root/main/patmedidept/selected/list[1]/deptnm", deptNm);
  502. } else {
  503. model.removeNodeset("/root/main/patmedidept/selected/list[deptcd='ALL']");
  504. cnt = getNodesetCnt(model, "/root/main/patmedidept/selected/list");
  505. cnt = parseInt(cnt)+1;
  506. if (cnt > 3) {
  507. messageBox("수진과 선택은 3개를 초과 ", "E001");
  508. return;
  509. }
  510. model.makeValue("/root/main/patmedidept/selected/list["+cnt+"]/deptcd", deptCd);
  511. model.makeValue("/root/main/patmedidept/selected/list["+cnt+"]/deptnm", deptNm);
  512. }
  513. } else {
  514. if (deptCd != "전체") {
  515. model.removeNodeset(cdPath);
  516. model.removeNodeset(nmPath);
  517. }
  518. }
  519. cnt = getNodesetCnt(model, "/root/main/patmedidept/selected/list");
  520. var captionCd = "";
  521. var captionNm = "";
  522. for (var i=1; i<=cnt; i++) {
  523. if(i==1){
  524. captionCd += model.getValue("/root/main/patmedidept/selected/list["+i+"]/deptcd");
  525. }else{
  526. captionCd += "|"+model.getValue("/root/main/patmedidept/selected/list["+i+"]/deptcd");
  527. }
  528. captionNm += model.getValue("/root/main/patmedidept/selected/list["+i+"]/deptnm") + " ";
  529. }
  530. model.makeValue("/root/main/patmedidept/selected/deptcd", captionCd);
  531. model.makeValue("/root/main/patmedidept/selected/text", captionNm);
  532. output1.refresh();
  533. }
  534. }
  535. /**
  536. * 환자 수진부서 조회
  537. */
  538. function fGetPatOrddept(){
  539. model.removeNodeset("/root/send");
  540. model.removeNodeset("/root/initinfo/lrgIndx");
  541. model.removeNodeset("/root/initinfo/dplist");
  542. model.removeNodeset("/root/main/patmedidept/list");
  543. model.makeNode("/root/main/patmedidept/list");
  544. var cols = grd_tool_dept.cols;
  545. for(j=0;j<= cols;j++){
  546. grd_tool_dept.removeColumn(false);
  547. }
  548. grd_tool_dept.refresh();
  549. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  550. /*삭제여부 체크 (체크:Y) */
  551. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  552. if (submit("TRMRB00101"))
  553. {
  554. addComboInstance("/root/initinfo", "lrgindxseq^indxnm", "ALL^전체", "lrgIndx");
  555. addComboInstance("/root/initinfo", "deptcd^deptnm", "ALL^전체", "dplist");
  556. var cnt = getNodesetCnt(model, "/root/initinfo/dplist");
  557. for(i = 0 ; i < cnt ; i++){
  558. var k = ((i*2));
  559. var p = ((i*2)+1)
  560. grd_tool_dept.insertColumn(grd_tool_dept.cols, "ref:deptcd"+i+"; type:output; width:40", "after",false);
  561. grd_tool_dept.colHidden(k) = true;
  562. grd_tool_dept.insertColumn(grd_tool_dept.cols, "ref:deptnm"+i+"; type:output; colwidth:20;", "after",false);
  563. grd_tool_dept.colwidth(p) = 40;
  564. grd_tool_dept.dataHeight = 15;
  565. model.setValue("/root/main/patmedidept/list/deptcd"+i,model.getValue("/root/initinfo/dplist["+(i+1)+"]/deptcd"));
  566. model.setValue("/root/main/patmedidept/list/deptnm"+i,model.getValue("/root/initinfo/dplist["+(i+1)+"]/deptnm"));
  567. }
  568. grd_tool_dept.refresh();
  569. model.setValue("/root/init/orddept", model.getValue("/root/main/patmedidept/selected/deptcd"));
  570. model.setValue("/root/init/lrgindxseq", "ALL");
  571. // cmb_dept.refresh();
  572. cmb_index.refresh();
  573. }
  574. }
  575. /**
  576. * @desc : 조회시작
  577. * 수진별보기, 서식별보기, 북마크, 일자지정
  578. */
  579. function fGetPatOrdHist(paramOrdtype){
  580. //서식 대분류 이동 및 숨김
  581. fRecBigLocation();
  582. if(switch1.selectedIndex == 0){ //수진별보기
  583. var bool = fGetPatHist(paramOrdtype);
  584. if(bool){
  585. //조회된 수진키가 있음 -> 서식 조회하기
  586. grd_pathist.row = 1;
  587. model.setValue("/root/init/patrow" , "1"); //현재 선택된 환자의 row 세팅
  588. fGetRecMidIndx(1);
  589. }
  590. else{
  591. if(grd_pathist.rows <= 1) return;
  592. var patrow = model.getValue("/root/init/patrow");
  593. grd_pathist.row = patrow;
  594. }
  595. //현재 select된 버튼
  596. fTabSelectPresent();
  597. }
  598. else if(switch1.selectedIndex == 1){
  599. var bool = fGetChartRecMidIndx(); // 서식별 보기 중분류 조회
  600. if(bool){
  601. grd_chart_midindx.row = 1;
  602. grd_chart_midindx.col = 7;
  603. fGetChartPatOrdHist("ALL")
  604. }
  605. //현재 select된 버튼
  606. fTabSelectPresent();
  607. }
  608. else if(switch1.selectedIndex == 2){
  609. // 북마크
  610. fGetMarkEmrTreeView("B");
  611. }
  612. else if(switch1.selectedIndex == 3){
  613. fCase4Select(); // 일자지정
  614. }
  615. }
  616. /*
  617. 환자 수진 불러오기
  618. */
  619. function fGetPatHist(paramOrdtype){
  620. if(paramOrdtype == null || paramOrdtype == "") paramOrdtype = "ALL";
  621. if(model.getValue("/root/init/selecttab/maintabchos") == "N"){ //수진별조회를 처음 읽을때
  622. model.setValue("/root/init/selecttab/maintabchos", "Y"); //수진별조회 읽음 표시
  623. model.removeNodeset("/root/send");
  624. /*삭제여부 체크 (체크:Y) */
  625. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  626. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  627. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  628. model.makeValue("/root/send/funcflag", "pid");
  629. //수진이력
  630. if(submit("TRMRB00106")){
  631. //grd_pathist.nodeset = "/root/main/pathist/patordhist";
  632. //var cnts = getNodesetCnt(model, "/root/main/pathist/patordhist");
  633. cnts = grd_pathist.rows;
  634. if (paramOrdtype == "I" || paramOrdtype == "E") //입원,응급
  635. {
  636. grd_pathist.colhidden(grd_pathist.colref("centnm")) = true; //센터 컬럼 안보이게
  637. grd_pathist.attribute("scroll") = "autovscroll";
  638. }
  639. else
  640. {
  641. grd_pathist.colhidden(grd_pathist.colref("centnm")) = false; //센터 컬럼 보이게
  642. grd_pathist.attribute("scroll") = "auto";
  643. }
  644. grd_pathist.rebuild();
  645. //조회된 수진키가 없으면 끝냄
  646. if(cnts > 1){
  647. return true;
  648. }
  649. else{
  650. return false;
  651. }
  652. }
  653. }
  654. else{
  655. return false;
  656. }
  657. }
  658. /*
  659. /root/init/selecttab 안의 내용에 따라 각 버튼을 selected 한다
  660. */
  661. function fTabSelectPresent(){
  662. var chosSelect1 = model.getValue("/root/init/selecttab/maintabchosselect1");
  663. var chosSelect2 = model.getValue("/root/init/selecttab/maintabchosselect2");
  664. var chartSelect1 = model.getValue("/root/init/selecttab/maintabchartselect1");
  665. if(switch1.selectedIndex == 0){
  666. if(chosSelect1 == "1"){
  667. btn_tab_chos_all.selected = true; //전체
  668. btn_tab_chos_out.selected = false; //외래
  669. btn_tab_chos_in.selected = false; //입원
  670. btn_tab_chos_er.selected = false; //응급
  671. }
  672. else if(chosSelect1 == "2"){
  673. btn_tab_chos_all.selected = false; //전체
  674. btn_tab_chos_out.selected = true; //외래
  675. btn_tab_chos_in.selected = false; //입원
  676. btn_tab_chos_er.selected = false; //응급
  677. }
  678. else if(chosSelect1 == "3"){
  679. btn_tab_chos_all.selected = false; //전체
  680. btn_tab_chos_out.selected = false; //외래
  681. btn_tab_chos_in.selected = true; //입원
  682. btn_tab_chos_er.selected = false; //응급
  683. }
  684. else if(chosSelect1 == "4"){
  685. btn_tab_chos_all.selected = false; //전체
  686. btn_tab_chos_out.selected = false; //외래
  687. btn_tab_chos_in.selected = false; //입원
  688. btn_tab_chos_er.selected = true; //응급
  689. }
  690. if(chosSelect2 == "1"){
  691. btn_tab_catagory.selected = true; //서식분류
  692. btn_tab_favorite.selected = false; //즐겨찾기
  693. grd_midindx.visible = true; //서식분류
  694. trv_favorite.visible = false; //즐겨찾기
  695. }
  696. else if(chosSelect2 == "2"){
  697. btn_tab_catagory.selected = false; //서식분류
  698. btn_tab_favorite.selected = true; //즐겨찾기
  699. grd_midindx.visible = false; //서식분류
  700. trv_favorite.visible = true; //즐겨찾기
  701. }
  702. }
  703. else if(switch1.selectedIndex == 1){
  704. if(chartSelect1 == "1"){
  705. btn_tab2_chos_all.selected = true; //전체
  706. btn_tab2_chos_out.selected = false; //외래
  707. btn_tab2_chos_in.selected = false; //입원
  708. btn_tab2_chos_er.selected = false; //응급
  709. }
  710. else if(chartSelect1 == "2"){
  711. btn_tab2_chos_all.selected = false; //전체
  712. btn_tab2_chos_out.selected = true; //외래
  713. btn_tab2_chos_in.selected = false; //입원
  714. btn_tab2_chos_er.selected = false; //응급
  715. }
  716. else if(chartSelect1 == "3"){
  717. btn_tab2_chos_all.selected = false; //전체
  718. btn_tab2_chos_out.selected = false; //외래
  719. btn_tab2_chos_in.selected = true; //입원
  720. btn_tab2_chos_er.selected = false; //응급
  721. }
  722. else if(chartSelect1 == "4"){
  723. btn_tab2_chos_all.selected = false; //전체
  724. btn_tab2_chos_out.selected = false; //외래
  725. btn_tab2_chos_in.selected = false; //입원
  726. btn_tab2_chos_er.selected = true; //응급
  727. }
  728. }
  729. }
  730. /*
  731. 서식 대분류뷰뷴 숨김과 이동
  732. */
  733. function fRecBigLocation(){
  734. //서식 대분류 위치 조정
  735. if(switch1.selectedIndex == 0){ //수진별보기
  736. if(model.getValue("/root/init/selecttab/maintabchosselect2") == "1"){
  737. //대분류 값이동
  738. caption2.visible = true;
  739. cmb_index.visible = true;
  740. var val = model.getValue("/root/init/lrgselectord");
  741. cmb_index.selectedIndex = val;
  742. caption2.attribute("left") = "3px";
  743. caption2.attribute("top") = "395px";
  744. cmb_index.attribute("left") = "75px";
  745. cmb_index.attribute("top") = "395px";
  746. }
  747. else{
  748. caption2.visible = false;
  749. cmb_index.visible = false;
  750. }
  751. }
  752. else if(switch1.selectedIndex == 1){ //서식별보기
  753. //대분류 값이동
  754. caption2.visible = true;
  755. cmb_index.visible = true;
  756. var val = model.getValue("/root/init/lrgselectchard");
  757. cmb_index.selectedIndex = val;
  758. caption2.attribute("left") = "3px";
  759. caption2.attribute("top") = "135px";
  760. cmb_index.attribute("left") = "75px";
  761. cmb_index.attribute("top") = "135px";
  762. }
  763. else { //북마크, 일자지정
  764. //대분류 값이동
  765. caption2.visible = false;
  766. cmb_index.visible = false;
  767. }
  768. }
  769. /**
  770. * @desc : 서식별 서식중분류 조회
  771. */
  772. function fGetChartRecMidIndx(){
  773. if(model.getValue("/root/init/selecttab/maintabchart") == "N"){
  774. model.setValue("/root/init/selecttab/maintabchart", "Y");
  775. model.makeNode("/root/main/chartmidindx/chartmidindxlist");
  776. model.removeNodeset("/root/send");
  777. model.removeNodeset("/root/main/chartpathist/chartpatordhist");
  778. model.removeNodeset("/root/main/chartmidindx/chartmidindxlist");
  779. model.resetInstanceNode("/root/init/accresn");
  780. model.resetInstanceNode("/root/init/prtresn");
  781. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  782. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  783. model.makeValue("/root/send/lrgindxseq", model.getValue("/root/init/lrgindxseq"));
  784. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  785. model.makeValue("/root/send/funcflag", "pid");
  786. if(submit("TRMRB00102")){
  787. var cnts = grd_chart_midindx.rows;
  788. if(cnts > 1){
  789. return true;
  790. }
  791. else{
  792. return false;
  793. }
  794. }
  795. else{
  796. return false;
  797. }
  798. }
  799. else{
  800. return false;
  801. }
  802. }
  803. /**
  804. 서식별 서식대분류선택
  805. */
  806. function fChangeMidindxFirst(){
  807. var nodeset = "";
  808. var lrgindxseq = model.getValue("/root/init/lrgindxseq");
  809. if(switch1.selectedIndex == 0){
  810. //현재대분류의 선택값 기록
  811. model.setValue("/root/init/lrgselectord", cmb_index.selectedIndex);
  812. if(lrgindxseq == "ALL"){
  813. nodeset = "/root/main/midindx/midindxlist";
  814. }
  815. else{
  816. nodeset = "/root/main/midindx/midindxlist[supitemindxseq='"+lrgindxseq+"']";
  817. }
  818. grd_midindx.nodeset = nodeset;
  819. grd_midindx.rebuild();
  820. }
  821. else{
  822. model.removeNodeSet("/root/main/chartpathist/chartpatordhist");
  823. //현재대분류의 선택값 기록
  824. model.setValue("/root/init/lrgselectchard", cmb_index.selectedIndex);
  825. if(lrgindxseq == "ALL"){
  826. nodeset = "/root/main/chartmidindx/chartmidindxlist";
  827. }
  828. else{
  829. nodeset = "/root/main/chartmidindx/chartmidindxlist[supitemindxseq='"+lrgindxseq+"']";
  830. }
  831. grd_chart_midindx.nodeset = nodeset;
  832. grd_chart_midindx.rebuild();
  833. if(grd_chart_midindx.rows > 1){ //서식별보기 수진이력 자동조회(소분류조회)
  834. grd_chart_midindx.row = 1;
  835. grd_chart_midindx.col = 7;
  836. fGetChartPatOrdHist("ALL");
  837. }
  838. }
  839. }
  840. /**
  841. * @desc : 서식별 환자 수진이력 조회
  842. */
  843. function fGetChartPatOrdHist(paramOtdtype){
  844. if(paramOtdtype == null || paramOtdtype == "") paramOtdtype = "ALL";
  845. if((grd_chart_midindx.isCell(event.target) && grd_chart_midindx.mouserow >= grd_chart_midindx.fixedrows)){
  846. var midindxseq = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("itemindxseq"));
  847. var linkcd = "";
  848. if(grd_chart_midindx.col == "7"){
  849. linkcd = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("linkcd"));
  850. }
  851. model.removeNodeset("/root/send");
  852. model.removeNodeset("/root/main/chartpathist/chartpatordhist");
  853. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  854. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  855. model.makeValue("/root/send/ordtype", paramOtdtype);
  856. model.makeValue("/root/send/midindxseq", midindxseq);
  857. model.makeValue("/root/send/linkcd", linkcd);
  858. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  859. if(grd_chart_midindx.row <= 0) return;
  860. //더블클릭하여 선택된 서식의 기록만 조회하도록 init 에 선택된 row를 기록함
  861. model.setValue("/root/init/chartrow", grd_chart_midindx.row);
  862. model.setValue("/root/init/chartcol", grd_chart_midindx.col);
  863. if(grd_chart_midindx.col == "6"){ //중분류클릭
  864. model.makeValue("/root/send/funcflag", "midgrup");
  865. }
  866. else if(grd_chart_midindx.col == "7"){//소분류클릭
  867. model.makeValue("/root/send/funcflag", "formgrup");
  868. }
  869. else{
  870. alert("중분류와 소분류중 선택해 주세요.");
  871. return;
  872. }
  873. submit("TRMRB00103");
  874. //grd_chart_pathist.nodeset = "/root/main/chartpathist/chartpatordhist";
  875. if (paramOtdtype == "I" || paramOtdtype == "E")
  876. {
  877. grd_chart_pathist.colhidden(grd_chart_pathist.colref("centnm")) = true; //센터 컬럼 안보이게
  878. grd_chart_pathist.attribute("scroll") = "autovscroll";
  879. }
  880. else
  881. {
  882. grd_chart_pathist.colhidden(grd_chart_pathist.colref("centnm")) = false; //센터 컬럼 보이게
  883. grd_chart_pathist.attribute("scroll") = "auto";
  884. }
  885. grd_chart_pathist.rebuild();
  886. /*
  887. if(grd_chart_pathist.rows > 1){
  888. grd_chart_pathist.row = 1;
  889. fGetChartRecPatIndx();
  890. }
  891. */
  892. }
  893. else{
  894. var row = grd_chart_midindx.row
  895. if (row > 0){
  896. var midindxseq = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("itemindxseq"));
  897. var linkcd = "";
  898. if(grd_chart_midindx.col == "7"){
  899. linkcd = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("linkcd"));
  900. }
  901. model.removeNodeset("/root/send");
  902. model.removeNodeset("/root/main/chartpathist/chartpatordhist");
  903. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  904. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  905. model.makeValue("/root/send/ordtype", paramOtdtype);
  906. model.makeValue("/root/send/midindxseq", midindxseq);
  907. model.makeValue("/root/send/linkcd", linkcd);
  908. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  909. if(grd_chart_midindx.row <= 0) return;
  910. //더블클릭하여 선택된 서식의 기록만 조회하도록 init 에 선택된 row를 기록함
  911. model.setValue("/root/init/chartrow", grd_chart_midindx.row);
  912. model.setValue("/root/init/chartcol", grd_chart_midindx.col);
  913. if(grd_chart_midindx.col == "6"){ //중분류클릭
  914. model.makeValue("/root/send/funcflag", "midgrup");
  915. }
  916. else if(grd_chart_midindx.col == "7"){//소분류클릭
  917. model.makeValue("/root/send/funcflag", "formgrup");
  918. }
  919. else{
  920. alert("중분류와 소분류중 선택해 주세요.");
  921. return;
  922. }
  923. submit("TRMRB00103");
  924. //grd_chart_pathist.nodeset = "/root/main/chartpathist/chartpatordhist";
  925. if (paramOtdtype == "I" || paramOtdtype == "E")
  926. {
  927. grd_chart_pathist.colhidden(grd_chart_pathist.colref("centnm")) = true; //센터 컬럼 안보이게
  928. grd_chart_pathist.attribute("scroll") = "autovscroll";
  929. }
  930. else
  931. {
  932. grd_chart_pathist.colhidden(grd_chart_pathist.colref("centnm")) = false; //센터 컬럼 보이게
  933. grd_chart_pathist.attribute("scroll") = "auto";
  934. }
  935. grd_chart_pathist.rebuild();
  936. /*
  937. if(grd_chart_pathist.rows > 1){
  938. grd_chart_pathist.row = 1;
  939. fGetChartRecPatIndx();
  940. }
  941. */
  942. }
  943. }
  944. }
  945. /**
  946. * @desc : 환자 기록 중분류 조회
  947. */
  948. function fGetRecMidIndx( grow ){
  949. var bool = false;
  950. if((grd_pathist.isCell(event.target) && grd_pathist.mouserow >= grd_pathist.fixedrows)){
  951. bool = true;
  952. }
  953. else{
  954. if (grow > 0){
  955. bool = true;
  956. }
  957. else{
  958. //messageBox("환자의 수진이력을 ", "C002");
  959. return;
  960. }
  961. }
  962. if(bool){
  963. var row = grow;
  964. if ( grow == null ){
  965. row = grd_pathist.row;
  966. }
  967. if(row == null) return;
  968. //더블클릭하여 선택된 환자의 기록만 조회하도록 init 에 선택된 row를 기록함
  969. model.setValue("/root/init/patrow", row);
  970. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  971. var orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  972. var cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  973. var orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  974. var bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  975. var lrgindxseq = model.getValue("/root/init/lrgindxseq");
  976. var ordtype = grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype"));
  977. var emrflag = grd_pathist.valueMatrix(row, grd_pathist.colref("emrflag"));
  978. var ioflag = grd_pathist.valueMatrix(row, grd_pathist.colref("ioflag"));
  979. var comporddd = model.getValue("/root/init/accresn/orddd");
  980. var compcretno = model.getValue("/root/init/accresn/cretno");
  981. if (compcretno == "")
  982. {
  983. compcretno = "-";
  984. }
  985. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  986. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  987. {
  988. var sUserDeptcd = getUserInfo("dutplcecd");
  989. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  990. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  991. {
  992. model.resetInstanceNode("/root/init/accresn");
  993. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  994. setParameter("SPMRI03100_param_rsnflag", 'R');
  995. modal("SPMRI03100");
  996. var valiyn = model.getValue("/root/init/accresn/valiyn");
  997. if (valiyn != "Y")
  998. {
  999. return;
  1000. }
  1001. else
  1002. {
  1003. }
  1004. }
  1005. model.makeValue("/root/init/accresn/orddd", orddd);
  1006. model.makeValue("/root/init/accresn/cretno", cretno);
  1007. }
  1008. else
  1009. {
  1010. model.resetInstanceNode("/root/init/accresn/resncd");
  1011. model.resetInstanceNode("/root/init/accresn/resnnm");
  1012. model.resetInstanceNode("/root/init/accresn/etc");
  1013. model.resetInstanceNode("/root/init/accresn/valiyn");
  1014. model.resetInstanceNode("/root/init/accresn/orddd");
  1015. model.resetInstanceNode("/root/init/accresn/cretno");
  1016. }
  1017. model.removeNodeset("/root/send");
  1018. model.removeNodeset("/root/main/midindx/midindxlist");
  1019. model.makeValue("/root/send/pid", pid);
  1020. model.makeValue("/root/send/orddd", orddd);
  1021. model.makeValue("/root/send/cretno", cretno);
  1022. model.makeValue("/root/send/orddeptcd", orddeptcd);
  1023. model.makeValue("/root/send/lrgindxseq", lrgindxseq);
  1024. model.makeValue("/root/send/emrflag", emrflag);
  1025. model.makeValue("/root/send/ordtype", ordtype);
  1026. model.makeValue("/root/send/ioflag", ioflag);
  1027. model.makeValue("/root/send/refusge", model.getValue("/root/init/accresn/resncd"));
  1028. model.makeValue("/root/send/refremark", model.getValue("/root/init/accresn/etc"));
  1029. model.makeValue("/root/send/readprtflag", 'R');
  1030. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  1031. model.makeValue("/root/send/fromprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"))); //입원일
  1032. model.makeValue("/root/send/toprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("dispdd1"))); //퇴원일
  1033. //2009-10-31 오후 2:36:09 강지훈 수정 :
  1034. model.makeValue("/root/send/bfopentest", bfopentest);
  1035. model.makeValue("/root/send/funcflag", "poc");
  1036. model.removeNodeset("/root/main/midindx/midindxlist");
  1037. if(submit("TRMRB00105")){
  1038. grd_midindx.rebuild();
  1039. /*
  1040. if(grd_midindx.rows > 1){
  1041. grd_midindx.row = 1;
  1042. grd_midindx.col = 6;
  1043. fDbClickMidIndx();
  1044. }
  1045. */
  1046. }
  1047. //서식분류 / 즐겨찾기 선택
  1048. var o = "";
  1049. if(model.getValue("/root/init/selecttab/maintabchosselect2") == "1"){
  1050. o = "btn_tab_catagory";
  1051. }
  1052. else{
  1053. o = "btn_tab_favorite";
  1054. }
  1055. fMaintabSelect(o);
  1056. }
  1057. }
  1058. function fGetChartRecPatIndx(grow){
  1059. if((grd_chart_pathist.isCell(event.target) && grd_chart_pathist.mouserow >= grd_chart_pathist.fixedrows) || grd_chart_pathist.row >= 1)
  1060. {
  1061. var row = grow;
  1062. if ( grow == null ) row = grd_chart_pathist.row;
  1063. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1064. var orddd = grd_chart_pathist.valueMatrix(row, grd_chart_pathist.colref("orddd"));
  1065. var cretno = grd_chart_pathist.valueMatrix(row, grd_chart_pathist.colref("cretno"));
  1066. var orddeptcd = grd_chart_pathist.valueMatrix(row, grd_chart_pathist.colref("orddeptcd"));
  1067. var bfopentest = grd_chart_pathist.valueMatrix(row, grd_chart_pathist.colref("bfopentest"));
  1068. var comporddd = model.getValue("/root/init/accresn/orddd");
  1069. var compcretno = model.getValue("/root/init/accresn/cretno");
  1070. if (compcretno == "")
  1071. {
  1072. compcretno = "-";
  1073. }
  1074. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  1075. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  1076. {
  1077. var sUserDeptcd = getUserInfo("dutplcecd");
  1078. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  1079. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  1080. {
  1081. model.resetInstanceNode("/root/init/accresn");
  1082. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  1083. setParameter("SPMRI03100_param_rsnflag", 'R');
  1084. modal("SPMRI03100");
  1085. var valiyn = model.getValue("/root/init/accresn/valiyn");
  1086. if (valiyn != "Y")
  1087. {
  1088. return;
  1089. }
  1090. else
  1091. {
  1092. }
  1093. }
  1094. }
  1095. model.makeValue("/root/init/accresn/orddd", orddd);
  1096. model.makeValue("/root/init/accresn/cretno", cretno);
  1097. fGetChartDetlRec(model.getValue("/root/init/chartrow")); //더클클릭하여 선택한 서식의 row
  1098. }
  1099. }
  1100. /**
  1101. * @desc : 서식별보기 중분류 더블클릭
  1102. */
  1103. function fDbClickMidIndx(){
  1104. var bool = false;
  1105. if(model.getValue("/root/init/pageindex") == ""){
  1106. model.setValue("/root/init/pageindex",1);
  1107. }
  1108. if((grd_midindx.isCell(event.target) && grd_midindx.mouserow >= grd_midindx.fixedrows)){
  1109. bool = true;
  1110. }
  1111. else{
  1112. if(grd_midindx.row >= 1){
  1113. bool = true;
  1114. }
  1115. }
  1116. if(bool){
  1117. if (grd_midindx.row >= 1){
  1118. var grd_midindxrow = grd_midindx.row;
  1119. var grd_pathistrow = model.getValue("/root/init/patrow");
  1120. if(grd_midindxrow <= 0 || grd_pathistrow <= 0){
  1121. return;
  1122. }
  1123. var col = grd_midindx.col;
  1124. var midindxseq = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq")); //선택중분류 인덱스순번
  1125. var linkcd = ""; //선택소분류 인덱스순번
  1126. if(col =="7" && col !=""){
  1127. linkcd =grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("linkcd"));
  1128. }
  1129. var bfopentest = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("bfopentest")); //오픈 이전 검사처방 수진이력
  1130. var emrflag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"));
  1131. var ioflag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ioflag"));
  1132. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  1133. var grupreckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("grupreckind"));
  1134. var kind = "";
  1135. if(grupreckind == "")
  1136. kind = reckind;
  1137. else
  1138. kind = grupreckind;
  1139. //if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){ //이전서식]
  1140. if (false && emrflag == "I"){ //이전서식
  1141. //viewOldEmr("case1"); //수진별보기에서 이전서식보기
  1142. var treatno = midindxseq;
  1143. var formcode = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  1144. model.removeNodeset("/root/send");
  1145. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1146. model.makeValue("/root/send/macaddr", MACADDR);
  1147. model.makeValue("/root/send/reckind", "OLDEMR");
  1148. model.makeValue("/root/send/formcode", formcode);
  1149. model.makeValue("/root/send/treatno", treatno);
  1150. model.makeValue("/root/send/ioflag", ioflag);
  1151. if(col == "6"){ //중분류클릭
  1152. model.makeValue("/root/send/funcflag", "midgrup");
  1153. }
  1154. else if(col == "7"){//소분류클릭
  1155. model.makeValue("/root/send/funcflag", "formgrup");
  1156. }
  1157. else{
  1158. alert("중분류와 소분류중 선택해 주세요.");
  1159. return;
  1160. }
  1161. var node = instance1.selectSingleNode("/root/send");
  1162. fSetBrowserURL(node);
  1163. }
  1164. else{
  1165. toggleViewer("1");
  1166. model.removeNodeset("/root/send");
  1167. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1168. model.makeValue("/root/send/macaddr", MACADDR);
  1169. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1170. model.makeValue("/root/send/orddd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  1171. model.makeValue("/root/send/cretno", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("cretno")));
  1172. model.makeValue("/root/send/ioflag", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ioflag")));
  1173. model.makeValue("/root/send/orddeptcd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddeptcd")));
  1174. model.makeValue("/root/send/lrgindxseq", model.getValue("/root/init/lrgindxseq"));
  1175. model.makeValue("/root/send/midindxseq", midindxseq);
  1176. model.makeValue("/root/send/examflag", grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("examflag")));
  1177. model.makeValue("/root/send/linkcd", linkcd);
  1178. model.makeValue("/root/send/bfopentest", bfopentest);
  1179. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  1180. //model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  1181. model.makeValue("/root/send/signno", "");
  1182. model.makeValue("/root/send/treatno", "");
  1183. model.makeValue("/root/send/srchfromdd", model.getValue("/root/main/srchfromdd"));
  1184. model.makeValue("/root/send/srchtodd", model.getValue("/root/main/srchtodd"));
  1185. model.makeValue("/root/send/pidynhcd", model.getValue("/root/init/pidynhcd/hardcd/hardcd"));
  1186. if(col == "6"){ //중분류클릭
  1187. model.makeValue("/root/send/reckind", kind);
  1188. model.makeValue("/root/send/funcflag", "midgrup");
  1189. }
  1190. else if(col == "7"){//소분류클릭
  1191. model.makeValue("/root/send/reckind", reckind);
  1192. model.makeValue("/root/send/funcflag", "formgrup");
  1193. }
  1194. else{
  1195. alert("중분류와 소분류중 선택해 주세요.");
  1196. return;
  1197. }
  1198. var node = instance1.selectSingleNode("/root/send");
  1199. fSetBrowserURL(node);
  1200. }
  1201. }
  1202. }
  1203. }
  1204. /**
  1205. * @desc : 기록조회
  1206. */
  1207. function fGetDetlRec( row1, row2, col)
  1208. {
  1209. }
  1210. /**
  1211. * @desc : 날자지정 중분류 더블클릭
  1212. */
  1213. function fDbClickMidIndxDate(col){
  1214. if(model.getValue("/root/init/pageindex") == ""){
  1215. model.setValue("/root/init/pageindex",1);
  1216. }
  1217. if((grd_datemidindx.isCell(event.target) && grd_datemidindx.mouserow >= grd_datemidindx.fixedrows))
  1218. {
  1219. if (grd_datemidindx.row >= 1)
  1220. {
  1221. fGetDetlRecDate(grd_datemidindx.row, col);
  1222. }
  1223. }
  1224. }
  1225. /**
  1226. * @desc : 날자지정 기록조회
  1227. */
  1228. function fGetDetlRecDate(row1, col)
  1229. {
  1230. var grd_datemidindxrow = row1;
  1231. if ( row1 == null ){
  1232. grd_datemidindxrow = grd_datemidindx.row;
  1233. }
  1234. if ( col == null ){
  1235. col = grd_datemidindx.col;
  1236. }
  1237. var midindxseq = grd_datemidindx.valueMatrix(grd_datemidindxrow, grd_datemidindx.colref("itemindxseq")); //선택중분류 인덱스순번
  1238. var linkcd = ""; //선택중분류 인덱스순번
  1239. if(col =="7" && col !=""){
  1240. linkcd = grd_datemidindx.valueMatrix(grd_datemidindxrow, grd_datemidindx.colref("linkcd"));
  1241. }
  1242. var emrflag = "";
  1243. // var bfopentest = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("bfopentest")); //오픈 이전 검사처방 수진이력
  1244. //var ioflag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ioflag"));
  1245. var reckind = grd_datemidindx.valueMatrix(grd_datemidindxrow, grd_datemidindx.colref("reckind"));
  1246. //if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){
  1247. if (false && emrflag == "I"){
  1248. //viewOldEmr("case4"); //수진별보기에서 이전서식보기
  1249. var treatno = midindxseq;
  1250. var formcode = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  1251. model.removeNodeset("/root/send");
  1252. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1253. model.makeValue("/root/send/macaddr", MACADDR);
  1254. model.makeValue("/root/send/reckind", "OLDEMR");
  1255. model.makeValue("/root/send/formcode", formcode);
  1256. model.makeValue("/root/send/treatno", treatno);
  1257. model.makeValue("/root/send/ioflag", ioflag);
  1258. var node = instance1.selectSingleNode("/root/send");
  1259. fSetBrowserURL(node);
  1260. }
  1261. else
  1262. {
  1263. toggleViewer("1");
  1264. model.removeNodeset("/root/send");
  1265. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1266. model.makeValue("/root/send/macaddr", MACADDR);
  1267. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1268. model.makeValue("/root/send/orddd", "");
  1269. model.makeValue("/root/send/cretno", "");
  1270. model.makeValue("/root/send/chosflag", "");
  1271. model.makeValue("/root/send/orddeptcd", "");
  1272. model.makeValue("/root/send/lrgindxseq", "");
  1273. model.makeValue("/root/send/reckind", reckind);
  1274. model.makeValue("/root/send/midindxseq", midindxseq);
  1275. model.makeValue("/root/send/examflag", grd_datemidindx.valueMatrix(grd_datemidindxrow, grd_datemidindx.colref("examflag")));
  1276. model.makeValue("/root/send/linkcd", linkcd);
  1277. model.makeValue("/root/send/bfopentest", "");
  1278. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  1279. //model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  1280. model.makeValue("/root/send/signno", "");
  1281. model.makeValue("/root/send/treatno", "");
  1282. model.makeValue("/root/send/srchfromdd", model.getValue("/root/main/srchfromdd"));
  1283. model.makeValue("/root/send/srchtodd", model.getValue("/root/main/srchtodd"));
  1284. model.makeValue("/root/send/pidynhcd", model.getValue("/root/init/pidynhcd/hardcd/hardcd"));
  1285. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  1286. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  1287. model.makeValue("/root/send/funcflag", "srchrecdd");
  1288. var node = instance1.selectSingleNode("/root/send");
  1289. fSetBrowserURL(node);
  1290. }
  1291. }
  1292. function fSetBrowserURL(nd){
  1293. iviewer1.window.javascript.goUrl(nd);
  1294. }
  1295. function fGetChartDetlRec(row1, row2, col)
  1296. {
  1297. var grd_chart_midindxrow = row1;
  1298. var grd_chart_pathistrow = row2;
  1299. if ( row1 == null )
  1300. grd_chart_midindxrow = model.getValue("/root/init/chartrow"); //더블클릭하여 선택한 중분류
  1301. if ( row2 == null )
  1302. grd_chart_pathistrow = grd_chart_pathist.row;
  1303. if(grd_chart_midindxrow <= 0 || grd_chart_pathistrow <= 0){
  1304. return;
  1305. }
  1306. if ( col == null )
  1307. col = model.getValue("/root/init/chartcol"); //더블클릭하여 선택한 중분류
  1308. var midindxseq = grd_chart_midindx.valueMatrix(grd_chart_midindxrow, grd_chart_midindx.colref("itemindxseq")); //선택중분류 인덱스순번
  1309. var linkcd = ""; //선택중분류 인덱스순번
  1310. if(col =="7" && col !=""){
  1311. linkcd =grd_chart_midindx.valueMatrix(grd_chart_midindxrow, grd_chart_midindx.colref("linkcd"));
  1312. }
  1313. var bfopentest =grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("bfopentest")); //오픈 이전 검사처방 수진이력
  1314. var emrflag = grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("emrflag"));
  1315. var ioflag = grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("ioflag"));
  1316. var reckind = grd_chart_midindx.valueMatrix(grd_chart_midindxrow, grd_chart_midindx.colref("reckind"));
  1317. var grupreckind = grd_chart_midindx.valueMatrix(grd_chart_midindxrow, grd_chart_midindx.colref("grupreckind"));
  1318. var kind = "";
  1319. if(grupreckind == "")
  1320. kind = reckind;
  1321. else
  1322. kind = grupreckind;
  1323. //if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){
  1324. if (false && emrflag == "I"){
  1325. //viewOldEmr("case2");
  1326. var treatno = midindxseq;
  1327. var formcode = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  1328. model.removeNodeset("/root/send");
  1329. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1330. model.makeValue("/root/send/macaddr", MACADDR);
  1331. model.makeValue("/root/send/reckind", "OLDEMR");
  1332. model.makeValue("/root/send/formcode", formcode);
  1333. model.makeValue("/root/send/treatno", treatno);
  1334. model.makeValue("/root/send/ioflag", ioflag);
  1335. var node = instance1.selectSingleNode("/root/send");
  1336. fSetBrowserURL(node);
  1337. }
  1338. else
  1339. {
  1340. toggleViewer("1");
  1341. model.removeNodeset("/root/send");
  1342. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1343. model.makeValue("/root/send/orddd", grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("orddd")));
  1344. model.makeValue("/root/send/cretno", grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("cretno")));
  1345. model.makeValue("/root/send/ioflag", grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("ioflag")));
  1346. model.makeValue("/root/send/orddeptcd", grd_chart_pathist.valueMatrix(grd_chart_pathistrow, grd_chart_pathist.colref("orddeptcd")));
  1347. model.makeValue("/root/send/lrgindxseq", model.getValue("/root/init/lrgindxseq"));
  1348. model.makeValue("/root/send/midindxseq", midindxseq);
  1349. model.makeValue("/root/send/examflag", grd_chart_midindx.valueMatrix(grd_chart_midindxrow, grd_chart_midindx.colref("examflag")));
  1350. model.makeValue("/root/send/linkcd", linkcd);
  1351. model.makeValue("/root/send/bfopentest", bfopentest);
  1352. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  1353. //model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  1354. model.makeValue("/root/send/pidynhcd", model.getValue("/root/init/pidynhcd/hardcd/hardcd"));
  1355. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1356. model.makeValue("/root/send/macaddr", MACADDR);
  1357. if(col == "6"){ //중분류클릭
  1358. model.makeValue("/root/send/reckind", kind);
  1359. model.makeValue("/root/send/funcflag", "midgrup");
  1360. }
  1361. else if(col == "7"){//소분류클릭
  1362. model.makeValue("/root/send/reckind", reckind);
  1363. model.makeValue("/root/send/funcflag", "formgrup");
  1364. }
  1365. else{
  1366. alert("중분류와 소분류중 선택해 주세요.");
  1367. return;
  1368. }
  1369. var node = instance1.selectSingleNode("/root/send");
  1370. fSetBrowserURL(node);
  1371. }
  1372. }
  1373. /*
  1374. Print
  1375. */
  1376. function fPrintPreview(){
  1377. var instcd = getUserInfo("dutplceinstcd");
  1378. var sUserDeptcd = getUserInfo("dutplcecd");
  1379. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  1380. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1381. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  1382. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  1383. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1384. //주민번호
  1385. var rrgstno = rrgstno1 + "-" + rrgstno2.substring(0,1) + "******";
  1386. if (pidynhcd == "Y"){
  1387. for(var k = pid.length; k <= 8; k++){
  1388. if(k < 8){
  1389. pid = "0" + pid;
  1390. }
  1391. }
  1392. var str1 = pid.substr(0, 3);
  1393. var str2 = pid.substr(3, 2);
  1394. var str3 = pid.substr(5, 2);
  1395. var str4 = pid.substr(7, 1);
  1396. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  1397. }
  1398. else{
  1399. tmppid = pid;
  1400. }
  1401. if(sUserDeptcd == "3230000000"){ //3230000000 : 의료정보팀만 프린트
  1402. iviewer1.window.javascript.fPrintPreview(tmppid, hngnm, rrgstno);
  1403. }
  1404. else{
  1405. alert("개발중입니다.");
  1406. }
  1407. }
  1408. function fClickPrint()
  1409. {
  1410. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1411. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1412. var orddeptcd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddeptcd"));
  1413. var comporddd = model.getValue("/root/init/prtresn/orddd");
  1414. var compcretno = model.getValue("/root/init/prtresn/cretno");
  1415. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  1416. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  1417. {
  1418. var sUserDeptcd = getUserInfo("dutplcecd");
  1419. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  1420. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  1421. {
  1422. model.resetInstanceNode("/root/init/prtresn");
  1423. setParameter("SPMRI03100_param_nodepath", "/root/init/prtresn");
  1424. setParameter("SPMRI03100_param_rsnflag", 'P');
  1425. modal("SPMRI03100");
  1426. var valiyn = model.getValue("/root/init/prtresn/valiyn");
  1427. if (valiyn != "Y")
  1428. {
  1429. return;
  1430. }
  1431. else
  1432. {
  1433. }
  1434. }
  1435. model.makeValue("/root/init/prtresn/orddd", orddd);
  1436. model.makeValue("/root/init/prtresn/cretno", cretno);
  1437. }
  1438. else
  1439. {
  1440. model.resetInstanceNode("/root/init/prtresn");
  1441. }
  1442. var appcopykey = "asas";//iviewerIemr.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  1443. if (appcopykey != "")
  1444. {
  1445. var copykey = appcopykey.split("|");
  1446. var appkeyArr = copykey[0].split("▦");
  1447. var reckind = ""; //기록, 영상구분(E/I)
  1448. var tmpval = "";
  1449. var tmpformcd = "";
  1450. var tmptotpage = "";
  1451. appkeyArr = "";
  1452. var copyparam = "";
  1453. var compsignno = "";
  1454. var compformcd = "";
  1455. var tmpreckind = "";
  1456. var tmpdeptcd = getUserInfo("dutplcecd");
  1457. var tmppid = model.getValue("/root/main/patinfo/patinfolist/pid")
  1458. var tmporddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1459. var tmpcretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1460. var tmpchosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  1461. model.removeNodeSet("/root/prthist");
  1462. model.makeNode("/root/prthist");
  1463. var leng = 1;
  1464. for(var i = 0; i < copykey.length; i = i + 2)
  1465. {
  1466. appkeyArr = copykey[i].split("▦");
  1467. reckind = appkeyArr[0];
  1468. if (reckind == "I")
  1469. {
  1470. tmpval = appkeyArr[1];
  1471. tmpformcd = appkeyArr[2];
  1472. tmpreckind = "02";
  1473. if (compsignno != tmpval || compformcd != tmpformcd)
  1474. {
  1475. compsignno = tmpval;
  1476. compformcd = tmpformcd;
  1477. }
  1478. else
  1479. {
  1480. continue;
  1481. }
  1482. }
  1483. else
  1484. {
  1485. tmpval = appkeyArr[1];
  1486. tmpformcd = appkeyArr[0];
  1487. tmpreckind = "01";
  1488. if (compsignno != tmpval)
  1489. {
  1490. compsignno = tmpval;
  1491. }
  1492. else
  1493. {
  1494. continue;
  1495. }
  1496. }
  1497. if (tmpcretno == "")
  1498. tmpcretno = 0;
  1499. model.makeValue("/root/prthist[" + leng + "]/pid", tmppid);
  1500. model.makeValue("/root/prthist[" + leng + "]/orddd", tmporddd);
  1501. model.makeValue("/root/prthist[" + leng + "]/cretno", tmpcretno);
  1502. model.makeValue("/root/prthist[" + leng + "]/chosflag", tmpchosflag);
  1503. model.makeValue("/root/prthist[" + leng + "]/signno", tmpval);
  1504. model.makeValue("/root/prthist[" + leng + "]/formcd", tmpformcd);
  1505. model.makeValue("/root/prthist[" + leng + "]/reckind", tmpreckind);
  1506. model.makeValue("/root/prthist[" + leng + "]/userdeptcd", tmpdeptcd);
  1507. model.makeValue("/root/prthist[" + leng + "]/readprtflag", "P");
  1508. model.makeValue("/root/prthist[" + leng + "]/refusge", model.getValue("/root/init/prtresn/resncd"));
  1509. model.makeValue("/root/prthist[" + leng + "]/refremark", model.getValue("/root/init/prtresn/etc"));
  1510. leng++;
  1511. }
  1512. datagrid1.rebuild();
  1513. for(var j = 1; j < datagrid1.rows; j++)
  1514. {
  1515. datagrid1.rowstatus(j) = 1;
  1516. }
  1517. model.removeNodeset("/root/send");
  1518. model.makeValue("/root/send/prtlist", datagrid1.getUpdateData());
  1519. // submit("TXMRI03001");
  1520. /*
  1521. if(iviewerIemr.window.javaScript.printChart("SMMRC03000"))
  1522. {
  1523. messageBox("출력", "I001");
  1524. }
  1525. else
  1526. {
  1527. messageBox("출력에", "E009");
  1528. }
  1529. */
  1530. model.removeNodeSet("/root/prthist");
  1531. model.makeNode("/root/prthist");
  1532. datagrid1.refresh();
  1533. }
  1534. }
  1535. /* 즐겨찾기 조회 함수 추가 시작 */
  1536. function fGetMarkEmrTreeView(dataflag) {
  1537. //즐겨찾기 트리뷰는 환자가 조회되어있어야만 조회된다.
  1538. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1539. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("orddd"));
  1540. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("cretno"));
  1541. if(pid == ""){
  1542. messageBox("선택된 환자가","I004");
  1543. model.setFocus("ipt_pid");
  1544. return;
  1545. }
  1546. else{
  1547. if(dataflag == "B"){ //북마크
  1548. if(model.getValue("/root/init/selecttab/maintabbookmark") == "N"){ //북마크 처음 읽을때
  1549. model.setValue("/root/init/selecttab/maintabbookmark", "Y"); //북마크 읽음 표시
  1550. model.removenode("/root/send/markpara");
  1551. model.makeValue("/root/send/markpara/pid", pid);
  1552. model.makeValue("/root/send/markpara/dataflag", dataflag);
  1553. //Instance초기화
  1554. model.removeNode("/root/main/bookmark");
  1555. model.makeNode("/root/main/bookmark");
  1556. //send Node 설정
  1557. if(submit("TRMRB00119")){
  1558. treeview1.mergecol(1)=false;
  1559. treeview1.mergecells="byrestriccol";
  1560. treeview1.refresh();
  1561. }
  1562. }
  1563. }
  1564. else{
  1565. if(model.getValue("/root/init/selecttab/maintabfavorite") == "N"){
  1566. model.setValue("/root/init/selecttab/maintabfavorite", "Y");
  1567. model.removenode("/root/send/markpara");
  1568. model.makeValue("/root/send/markpara/dataflag", dataflag);
  1569. //Instance초기화
  1570. model.removeNode("/root/main/favorite");
  1571. model.makeNode("/root/main/favorite");
  1572. //send Node 설정
  1573. if(submit("TRMRB00114")){
  1574. trv_favorite.mergecol(1)=false;
  1575. trv_favorite.mergecells="byrestriccol";
  1576. trv_favorite.refresh();
  1577. }
  1578. }
  1579. }
  1580. }
  1581. }
  1582. /* 즐겨찾기 조회 함수 추가 종료 */
  1583. /* 서식 즐겨찾기 함수 추가 시작 */
  1584. function fRegFavoriteChartMidIndx() {
  1585. var dataflag = "F";
  1586. var appcopykey = "";
  1587. var row = null;
  1588. var col = null;
  1589. var itemnm = "";
  1590. var tab_gb = "";
  1591. if ( btn_tab_chosview.selected == true ) tab_gb = "PATHIST";
  1592. else if ( btn_tab_formview.selected == true ) tab_gb = "CHART";
  1593. else return;
  1594. // 환자 수진정보 조회
  1595. var pid = model.getValue("/root/send/pid");
  1596. var orddd = model.getValue("/root/send/orddd");
  1597. var cretno = model.getValue("/root/send/cretno");
  1598. var deptcd = model.getValue("/root/send/orddeptcd");
  1599. var dschdd = model.getValue("/root/send/toprcpdd");
  1600. var signno = "0";
  1601. var srcformcd = ""; //grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("srchformcd"));
  1602. var formcd = ""; // grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("formcd"));
  1603. var pageno = "0";
  1604. var url = "";
  1605. var chosflag = "";
  1606. var reckind = "";
  1607. var itemindxseq = "";
  1608. var linkcd = "";
  1609. var bfopentest = "";
  1610. var pidynhcd = "";
  1611. var lisflag = "";
  1612. var treatno = "";
  1613. bfopentest = model.getValue("/root/send/bfopentest");
  1614. // appcopykey 배열 스펙 정의
  1615. // appcopykey[0] : itemnm 북마크/즐겨찾기 항목명(기록지 타이틀로 자동 설정)
  1616. // appcopykey[1] : pid 환자등록번호 (북마크에 해당)
  1617. // appcopykey[2] : orddd 진료(입원)일자 (북마크에 해당)
  1618. // appcopykey[3] : cretno 생성번호 (북마크에 해당)
  1619. // appcopykey[4] : signno 서명번호 (북마크에 해당)
  1620. // appcopykey[5] : srcformcd 검색용 서식코드 (서식 즐겨찾기에 해당)
  1621. // appcopykey[6] : formcd 서식코드 (서식 즐겨찾기에 해당)
  1622. // appcopykey[7] : pageno 페이지번호 (북마크에 해당)
  1623. // appcopykey[8] : url URL (서식 즐겨찾기에 해당)
  1624. // appcopykey[9] : chosflag
  1625. // appcopykey[10] : reckind
  1626. // appcopykey[11] : itemindxseq
  1627. // appcopykey[12] : linkcd
  1628. // appcopykey[13] : bfopentest
  1629. // appcopykey[14] : pidynhcd
  1630. // 2010-06-11 LISFALG, TREATNO 항목추가
  1631. // appcopykey[15] : treatno
  1632. // appcopykey[16] : lisflag
  1633. // 필드 연결 문자 : ▦
  1634. // ROW 연결 문자 : ▩
  1635. if ( tab_gb == "CHART" ) { // 서식별 보기 유형
  1636. row = grd_chart_midindx.row;
  1637. if ( row < 1 ) return;
  1638. col = grd_chart_midindx.col;
  1639. // 중분류는 등록할 수 없다.
  1640. if ( col == "6" ) return;
  1641. if ( col == "6" ) {
  1642. itemnm = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("indxnm"));
  1643. //itemnm = "[중분류] " + itemnm;
  1644. linkcd = model.getValue("/root/main/chartmidindxlist/chartmidindxlist["+row+"]/linkcd");
  1645. }
  1646. else {
  1647. itemnm = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("formnm"));
  1648. //itemnm = "[소분류] " + itemnm;
  1649. linkcd = model.getValue("/root/main/chartmidindx/chartmidindxlist["+row+"]/linkcd");
  1650. }
  1651. srcformcd = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("srchformcd"));
  1652. formcd = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("supitemindxseq"));
  1653. chosflag = grd_chart_pathist.valueMatrix(grd_chart_pathist.row, grd_chart_pathist.colref("ordtype"));
  1654. reckind = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("reckind"));
  1655. itemindxseq = parseInt(grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("itemindxseq")));
  1656. lisflag = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("lisflag"));
  1657. } else if ( tab_gb == "PATHIST" ) { // 수진별 보기 유형
  1658. row = grd_midindx.row;
  1659. col = grd_midindx.col;
  1660. // 중분류는 등록할 수 없다.
  1661. if ( col == "6" ) return;
  1662. if ( col == "6" ) {
  1663. itemnm = grd_midindx.valueMatrix(row, grd_midindx.colref("indxnm"));
  1664. //itemnm = "[중분류] " + itemnm;
  1665. linkcd = model.getValue("/root/main/midindx/midindxlist["+row+"]/linkcd");
  1666. }
  1667. else {
  1668. itemnm = grd_midindx.valueMatrix(row, grd_midindx.colref("formnm"));
  1669. //itemnm = "[소분류] " + itemnm;
  1670. linkcd = model.getValue("/root/main/midindx/midindxlist["+row+"]/linkcd");
  1671. }
  1672. srcformcd = grd_midindx.valueMatrix(row, grd_midindx.colref("srchformcd"));
  1673. formcd = grd_midindx.valueMatrix(row, grd_midindx.colref("supitemindxseq"));
  1674. chosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  1675. reckind = grd_midindx.valueMatrix(row, grd_midindx.colref("reckind"));
  1676. itemindxseq = parseInt(grd_midindx.valueMatrix(row, grd_midindx.colref("itemindxseq")));
  1677. lisflag = grd_midindx.valueMatrix(row, grd_midindx.colref("lisflag"));
  1678. } else return;
  1679. if ( chosflag == "" ) chosflag = "-";
  1680. if ( reckind == "" ) reckind = "-";
  1681. if ( linkcd == "" ) linkcd = "-";
  1682. if ( bfopentest == "" ) bfopentest = "-";
  1683. if ( pidynhcd == "" ) pidynhcd = "-";
  1684. if ( lisflag == "" ) lisflag = "-";
  1685. if ( orddd == "" ) orddd = "-";
  1686. var cretno = model.getValue("/root/send/cretno");
  1687. var appcopykey = itemnm + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + signno + "▦" + srcformcd + "▦" + formcd + "▦" + pageno + "▦" + url + "▦";
  1688. appcopykey += chosflag + "▦" + reckind + "▦" + itemindxseq + "▦" + linkcd + "▦" + bfopentest + "▦" + pidynhcd + "▦" + treatno + "▦" + lisflag;
  1689. setParameter("SPMRB00300_reckey", appcopykey);
  1690. setParameter("SPMRB00300_dataflag", dataflag);
  1691. setParameter("SPMRB00300_setflag", "A");
  1692. modal("SPMRB00300");
  1693. }
  1694. /* 북마크 등록 함수 추가 시작 */
  1695. function fSetBookmark(arr_signno, flag) {
  1696. setParameter("SPMRB00300_reckey", arr_signno);
  1697. setParameter("SPMRB00300_dataflag", flag);
  1698. setParameter("SPMRB00300_setflag", "A");
  1699. modal("SPMRB00300");
  1700. }
  1701. /* 북마크 등록 함수 추가 종료 */
  1702. /* 북마크 폴더관리 팝업메뉴 함수 추가 시작 */
  1703. function fModiBookMarkFolder(){
  1704. var dataflag = "B"; // 북마크 구분자
  1705. setParameter("SPMRB00300_setflag", "M");
  1706. setParameter("SPMRB00300_dataflag", dataflag);
  1707. open("SPMRB00300");
  1708. fGetMarkEmrTreeView(dataflag);
  1709. }
  1710. /* 북마크 폴더관리 팝업메뉴 함수 추가 종료 */
  1711. /* 즐겨찾기 폴더관리 팝업메뉴 함수 추가 시작 */
  1712. function fModiFavoriteFolder(){
  1713. var dataflag = "F"; // 즐겨찾기 구분자
  1714. setParameter("SPMRB00300_setflag", "M");
  1715. setParameter("SPMRB00300_dataflag", dataflag);
  1716. open("SPMRB00300");
  1717. fGetMarkEmrTreeView(dataflag);
  1718. }
  1719. /* 즐겨찾기 폴더관리 팝업메뉴 함수 추가 종료 */
  1720. /* 북마크 아이템 기록 상세 조회 함수 추가 시작 */
  1721. function fGetDetlRecByEmrMark() {
  1722. var idx = treeview1.row;
  1723. var col = treeview1.col;
  1724. toggleViewer("1");
  1725. if((treeview1.isCell(event.target) && treeview1.mouserow >= treeview1.fixedrows)){
  1726. var tPath = "/root/main/bookmark/item";
  1727. var pid = model.getValue(tPath + "[" + idx + "]/pid");
  1728. var itemno = model.getValue(tPath + "[" + idx + "]/itemno");
  1729. var supitemno = model.getValue(tPath + "[" + idx + "]/supitemno");
  1730. var itemnm = model.getValue(tPath + "[" + idx + "]/itemnm");
  1731. var useflag = model.getValue(tPath + "[" + idx + "]/useflag");
  1732. var itemflag = model.getValue(tPath + "[" + idx + "]/itemflag");
  1733. var dataflag = model.getValue(tPath + "[" + idx + "]/dataflag");
  1734. var pageno = model.getValue(tPath + "[" + idx + "]/pageno");
  1735. var recpath = model.getValue(tPath + "[" + idx + "]/recpath");
  1736. var orddd = model.getValue(tPath + "[" + idx + "]/orddd");
  1737. var cretno = model.getValue(tPath + "[" + idx + "]/cretno");
  1738. var srcformcd = model.getValue(tPath + "[" + idx + "]/srcformcd");
  1739. var formcd = model.getValue(tPath + "[" + idx + "]/formcd");
  1740. var signno = model.getValue(tPath + "[" + idx + "]/signno");
  1741. var chosflag = model.getValue(tPath + "[" + idx + "]/chosflag");
  1742. var reckind = model.getValue(tPath + "[" + idx + "]/reckind");
  1743. var midindxseq = model.getValue(tPath + "[" + idx + "]/itemindxseq");
  1744. var linkcd = model.getValue(tPath + "[" + idx + "]/linkcd");
  1745. var bfopentest = model.getValue(tPath + "[" + idx + "]/bfopentest");
  1746. var pidynhcd = model.getValue(tPath + "[" + idx + "]/pidynhcd");
  1747. var groupnm = model.getValue(tPath + "[" + idx + "]/groupnm");
  1748. var treatno = model.getValue(tPath + "[" + idx + "]/treatno");
  1749. var lisflag = model.getValue(tPath + "[" + idx + "]/lisflag");
  1750. //임시세팅 시작
  1751. var ioflag = "";
  1752. if(chosflag == "I" || chosflag == "D" || chosflag == "E"){
  1753. ioflag = "I";
  1754. }
  1755. else{
  1756. ioflag = "O";
  1757. }
  1758. //임시세팅 끝
  1759. if ( col == "0" ) { // 그룹전체 조회
  1760. model.removeNodeset("/root/send");
  1761. model.makeValue("/root/send/pid", pid);
  1762. model.makeValue("/root/send/orddd", orddd);
  1763. model.makeValue("/root/send/cretno", cretno);
  1764. model.makeValue("/root/send/itemno", supitemno);
  1765. model.makeValue("/root/send/signno", signno);
  1766. model.makeValue("/root/send/itemflag", itemflag);
  1767. model.makeValue("/root/send/dataflag", dataflag);
  1768. model.makeValue("/root/send/ioflag", ioflag);
  1769. model.makeValue("/root/send/reckind", reckind);
  1770. model.makeValue("/root/send/midindxseq", midindxseq);
  1771. model.makeValue("/root/send/lisflag", lisflag);
  1772. model.makeValue("/root/send/linkcd", linkcd);
  1773. model.makeValue("/root/send/bfopentest", bfopentest);
  1774. model.makeValue("/root/send/pageindex", "1");
  1775. //model.makeValue("/root/send/pagepercnt", "1");
  1776. model.makeValue("/root/send/signno", signno);
  1777. model.makeValue("/root/send/treatno", treatno);
  1778. model.makeValue("/root/send/srchfromdd", "");
  1779. model.makeValue("/root/send/srchtodd", "");
  1780. model.makeValue("/root/send/pidynhcd", pidynhcd);
  1781. model.makeValue("/root/send/scrollMenuDispYN", "N");
  1782. model.makeValue("/root/send/displayflag", "N");
  1783. model.makeValue("/root/send/submit_id", "TRMRB00115");
  1784. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1785. model.makeValue("/root/send/macaddr", MACADDR);
  1786. model.makeValue("/root/send/funcflag", "txtemr");
  1787. var node = instance1.selectSingleNode("/root/send");
  1788. fSetBrowserURL(node);
  1789. /*
  1790. submitID = "TRMRB00115";
  1791. //var url = getDomain() + "/himed/webapps/cmc/web/xrw/.live?submit_id="+submitID+"&business_id=emr&macaddr=0025b361dcd6";
  1792. var url = "submit_id="+submitID;
  1793. url += "&business_id=emr";
  1794. url += "&macaddr=0025b361dcd6";
  1795. url += "&pid=" + pid;
  1796. url += "&orddd=" + orddd;
  1797. url += "&cretno=" + cretno;
  1798. url += "&itemno=" +supitemno;
  1799. url += "&signno=" + signno;
  1800. url += "&itemflag=" + itemflag;
  1801. url += "&dataflag=" + dataflag;
  1802. url += "&chosflag=" + chosflag;
  1803. url += "&reckind=" + reckind;
  1804. url += "&itemindxseq=" + itemindxseq;
  1805. url += "&linkcd=" + linkcd;
  1806. url += "&bfopentest=" + bfopentest;
  1807. url += "&pidynhcd=" + pidynhcd;
  1808. url += "&pageindex=1"; // 자바 Impl 에서 에러나서 하드코딩 처리 함.
  1809. url += "&pagepercnt=2"; // 자바 Impl 에서 에러나서 하드코딩 처리 함.
  1810. url += "&instcd=" + getUserInfo("dutplceinstcd");
  1811. url += "&userid=" + getUserInfo("userid");
  1812. url += "&localurl=" + getDomain().setReplaceWord("http://", "");
  1813. url += "&scrollMenuDispYN=N";
  1814. // 2010-06-11 LISFALG, TREATNO 항목추가
  1815. url += "&lisflag=" + lisflag;
  1816. url += "&treatno=" + treatno;
  1817. */
  1818. }
  1819. else {
  1820. model.removeNodeset("/root/send");
  1821. model.makeValue("/root/send/pid", pid);
  1822. model.makeValue("/root/send/orddd", orddd);
  1823. model.makeValue("/root/send/cretno", cretno);
  1824. model.makeValue("/root/send/ioflag", ioflag);
  1825. //model.makeValue("/root/send/orddeptcd", deptcd);
  1826. model.makeValue("/root/send/lrgindxseq", model.getValue("/root/init/lrgindxseq"));
  1827. model.makeValue("/root/send/reckind", reckind);
  1828. model.makeValue("/root/send/midindxseq", midindxseq);
  1829. model.makeValue("/root/send/examflag", lisflag);
  1830. model.makeValue("/root/send/linkcd", linkcd);
  1831. model.makeValue("/root/send/bfopentest", bfopentest);
  1832. model.makeValue("/root/send/pageindex", "1");
  1833. //model.makeValue("/root/send/pagepercnt", "1");
  1834. model.makeValue("/root/send/signno", signno);
  1835. model.makeValue("/root/send/treatno", treatno);
  1836. model.makeValue("/root/send/srchfromdd", "");
  1837. model.makeValue("/root/send/srchtodd", "");
  1838. model.makeValue("/root/send/pidynhcd", model.getValue("/root/init/pidynhcd/hardcd/hardcd"));
  1839. model.makeValue("/root/send/scrollMenuDispYN", "N");
  1840. model.makeValue("/root/send/displayflag", "N");
  1841. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1842. model.makeValue("/root/send/macaddr", MACADDR);
  1843. model.makeValue("/root/send/funcflag", "txtemr");
  1844. var node = instance1.selectSingleNode("/root/send");
  1845. fSetBrowserURL(node);
  1846. }
  1847. }
  1848. }
  1849. /* 북마크 아이템 기록 상세 조회 함수 추가 종료 */
  1850. /* 즐겨찾기 아이템 중분류,소분류 상세 조회 함수 추가 */
  1851. /*
  1852. 즐겨찾기의 경우
  1853. 수진키는 현재화면에서 선택된 수진키를 사용
  1854. */
  1855. function fGetDetlRecByEmrMarFavorite(idx, col) {
  1856. if(idx == null) idx = trv_favorite.row;
  1857. if(col== null ) col= trv_favorite.col;
  1858. if((trv_favorite.isCell(event.target) && trv_favorite.mouserow >= trv_favorite.fixedrows) && col != "0"){
  1859. var tPath = "/root/main/favorite/item";
  1860. var itemnm = model.getValue(tPath + "[" + idx + "]/itemnm");
  1861. // 초기값은 환자용 즐겨찾기 유형으로 세팅한다.
  1862. var itemno = model.getValue(tPath + "[" + idx + "]/itemno");
  1863. var supitemno = model.getValue(tPath + "[" + idx + "]/supitemno");
  1864. var pid = model.getValue(tPath + "[" + idx + "]/pid");
  1865. var orddd = model.getValue(tPath + "[" + idx + "]/orddd");
  1866. var cretno = model.getValue(tPath + "[" + idx + "]/cretno");
  1867. var signno = model.getValue(tPath + "[" + idx + "]/signno");
  1868. var itemflag = model.getValue(tPath + "[" + idx + "]/itemflag");
  1869. var useflag = model.getValue(tPath + "[" + idx + "]/useflag");
  1870. var dataflag = model.getValue(tPath + "[" + idx + "]/dataflag");
  1871. var chosflag = model.getValue(tPath + "[" + idx + "]/chosflag");
  1872. var reckind = model.getValue(tPath + "[" + idx + "]/reckind");
  1873. var midindxseq = model.getValue(tPath + "[" + idx + "]/itemindxseq");
  1874. var supmidindxseq = model.getValue(tPath + "[" + idx + "]/supitemindxseq");
  1875. var formcd = model.getValue(tPath + "[" + idx + "]/formcd");
  1876. var linkcd = model.getValue(tPath + "[" + idx + "]/linkcd");
  1877. var bfopentest = model.getValue(tPath + "[" + idx + "]/bfopentest");
  1878. var pidynhcd = model.getValue(tPath + "[" + idx + "]/pidynhcd");
  1879. var useflag = model.getValue(tPath + "[" + idx + "]/useflag");
  1880. var submitID = "";
  1881. //var emrflag = model.getValue("/root/init/emrflag");
  1882. var ioflag = "";
  1883. // 2010-06-11 LISFALG, TREATNO 항목추가
  1884. var lisflag = model.getValue(tPath + "[" + idx + "]/lisflag");
  1885. var treatno = model.getValue(tPath + "[" + idx + "]/treatno");
  1886. // 디비 필드가 NOT NULLABLE 로 초기값 "-", "0" 처리되어 등록된 값들 무효화 처리.
  1887. if ( signno == "0" ) signno = "";
  1888. if ( chosflag == "-" ) chosflag = "";
  1889. if ( reckind == "-" ) reckind = "";
  1890. if ( midindxseq == "0" ) midindxseq = "";
  1891. if ( formcd == "-" ) formcd = "";
  1892. if ( linkcd == "-" ) linkcd = "";
  1893. if ( bfopentest == "-" ) bfopentest = "";
  1894. if ( pidynhcd == "-" ) pidynhcd = "";
  1895. if ( treatno == "0" ) treatno = "";
  1896. /*
  1897. // 개인용 서식의 경우 현재 선택된 수진이력을 이용하여 서식 내용 조회 한다.(아주중요)
  1898. if ( useflag == "M" ) { // 개인용도의 경우에는 현재 선택된 수진이력을 키로 해당 서식을 조회 한다
  1899. var tab_gb = "";
  1900. if ( btn_tab_chosview.selected == true ) tab_gb = "PATHIST";
  1901. else if ( btn_tab_formview.selected == true ) tab_gb = "CHART";
  1902. else return;
  1903. pid = "";
  1904. orddd = "";
  1905. cretno = "";
  1906. chosflag = "";
  1907. bfopentest = "";
  1908. if ( tab_gb == "CHART" ) {
  1909. var row = grd_chart_midindx.row;
  1910. pid = model.getValue("/root/send/pid");
  1911. orddd =model.getValue("/root/send/orddd");
  1912. cretno = model.getValue("/root/send/cretno");
  1913. chosflag = model.getValue("/root/send/chosflag");
  1914. ioflag = model.getValue("/root/send/ioflag");
  1915. bfopentest = model.getValue("/root/send/bfopentest");
  1916. //lisflag = model.getValue("/root/send/lisflag");
  1917. //itemindxseq = grd_chart_midindx.valueMatrix(row, grd_chart_midindx.colref("itemindxseq"));
  1918. } else if ( tab_gb == "PATHIST" ) {
  1919. var row = grd_pathist.row;
  1920. pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1921. orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));//model.getValue("/root/send/orddd");
  1922. cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));//model.getValue("/root/send/cretno");
  1923. chosflag = grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype"))//model.getValue("/root/send/chosflag");
  1924. ioflag = grd_pathist.valueMatrix(row, grd_pathist.colref("ioflag"));//model.getValue("/root/send/chosflag");
  1925. bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));//model.getValue("/root/send/bfopentest");
  1926. //lisflag = model.getValue("/root/send/lisflag");
  1927. //itemindxseq = grd_midindx.valueMatrix(row, grd_midindx.colref("itemindxseq"));
  1928. }
  1929. if ( pid == null || pid == "" ) {
  1930. messageBox("[등록번호 미존재] 수진이력이 선택되지", "E007");
  1931. return;
  1932. }
  1933. if ( orddd == null || orddd == "" ) {
  1934. messageBox("[진료일자 미존재] 수진이력이 선택되지", "E007");
  1935. return;
  1936. }
  1937. if ( cretno == null || cretno == "" ) {
  1938. //messageBox("[수진번호] 수진이력이 선택되지", "E007");
  1939. //return;
  1940. }
  1941. if ( chosflag == null || chosflag == "" ) {
  1942. messageBox("[진료유형 미존재] 수진이력이 선택되지", "E007");
  1943. return;
  1944. }
  1945. }
  1946. */
  1947. //즐겨찾기는 수진별보기에서만 사용
  1948. var row = grd_pathist.row;
  1949. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1950. var orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  1951. var cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  1952. var ioflag = grd_pathist.valueMatrix(row, grd_pathist.colref("ioflag"));
  1953. var emrflag = grd_pathist.valueMatrix(row, grd_pathist.colref("emrflag"));
  1954. //if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS") || bfopentest == "Y" ) {
  1955. if (false && emrflag == "I"){
  1956. var treatno = midindxseq;
  1957. var formcode = trv_favorite.valueMatrix(trv_favorite.row, trv_favorite.colref("supitemindxseq"));
  1958. model.removeNodeset("/root/send");
  1959. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1960. model.makeValue("/root/send/macaddr", MACADDR);
  1961. model.makeValue("/root/send/reckind", "OLDEMR");
  1962. model.makeValue("/root/send/formcode", formcode);
  1963. model.makeValue("/root/send/treatno", treatno);
  1964. model.makeValue("/root/send/ioflag", ioflag);
  1965. var node = instance1.selectSingleNode("/root/send");
  1966. fSetBrowserURL(node);
  1967. }
  1968. else {
  1969. model.removeNodeset("/root/send");
  1970. model.makeValue("/root/send/pid", pid);
  1971. model.makeValue("/root/send/orddd", orddd);
  1972. model.makeValue("/root/send/cretno", cretno);
  1973. model.makeValue("/root/send/ioflag", ioflag);
  1974. //model.makeValue("/root/send/orddeptcd", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("orddeptcd")));
  1975. //model.makeValue("/root/send/lrgindxseq", model.getValue("/root/init/lrgindxseq"));
  1976. model.makeValue("/root/send/reckind", reckind);
  1977. model.makeValue("/root/send/midindxseq", midindxseq);
  1978. model.makeValue("/root/send/examflag", lisflag);
  1979. model.makeValue("/root/send/linkcd", linkcd);
  1980. //model.makeValue("/root/send/bfopentest", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("bfopentest")));
  1981. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  1982. //model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  1983. model.makeValue("/root/send/signno", "");
  1984. model.makeValue("/root/send/treatno", "");
  1985. model.makeValue("/root/send/srchfromdd", "");
  1986. model.makeValue("/root/send/srchtodd", "");
  1987. model.makeValue("/root/send/pidynhcd", model.getValue("/root/init/pidynhcd/hardcd/hardcd"));
  1988. model.makeValue("/root/send/business_id", BUSINESS_ID);
  1989. model.makeValue("/root/send/macaddr", MACADDR);
  1990. model.makeValue("/root/send/funcflag", "bookmark");
  1991. var node = instance1.selectSingleNode("/root/send");
  1992. fSetBrowserURL(node);
  1993. }
  1994. }
  1995. }
  1996. /* 즐겨찾기 아이템 중분류,소분류 상세 조회 함수 종료 */
  1997. //careplan클릭
  1998. function viewcareplan(){
  1999. //20100405-kys-환자교육 연동추가
  2000. var pid = "";
  2001. var curpid = "";
  2002. pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2003. curpid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2004. if(pid == ""){ //키인 입력한 pid가 없으면 상단정보 pid set
  2005. pid = model.getValue("/root/main/result/paminfo/list/pid");
  2006. }
  2007. if(pid == ""){
  2008. messageBox("환자가 조회되지 않았습니다.", "E");
  2009. return;
  2010. }else{
  2011. if(pid != curpid){
  2012. messageBox("조회한 환자와 등록번호 입력창의 등록번호가 상이합니다. 조회후 다시 시도해 주십시요.", "E");
  2013. return;
  2014. }
  2015. setParameter("SMMRJ00100_pid", pid);
  2016. open("SMMRJ00100");
  2017. }
  2018. }
  2019. //환자교육클릭
  2020. function viewpatedu(){
  2021. //20100405-kys-CAREPLAN LIST 연동추가
  2022. var pid = "";
  2023. var curpid = "";
  2024. pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2025. curpid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2026. if(pid == ""){ //키인 입력한 pid가 없으면 상단정보 pid set
  2027. pid = model.getValue("/root/main/result/paminfo/list/pid");
  2028. }
  2029. if(pid == ""){
  2030. messageBox("환자가 조회되지 않았습니다.", "E");
  2031. return;
  2032. }else{
  2033. if(pid != curpid){
  2034. messageBox("조회한 환자와 등록번호 입력창의 등록번호가 상이합니다. 조회후 다시 시도해 주십시요.", "E");
  2035. return;
  2036. }
  2037. setParameter("SMMRJ00200_pid", pid);
  2038. open("SMMRJ00200");
  2039. }
  2040. }
  2041. /**
  2042. * 로딩바를 설정한다.
  2043. * @param flag
  2044. * 0 : 초기설정 - 화면로딩시 최초 한번 호출하며, 로딩바의 위치와 크기가 설정된다.
  2045. * 1 : 로딩바 visible - 로딩바 뒤편의 콘트롤을 Locking한다.
  2046. * 2 : 로딩바 invisible
  2047. * @return
  2048. */
  2049. function fSetLoadingBar(flag) {
  2050. if (flag == 0) {
  2051. cap_loadingbar.attribute("top") = grup_left.attribute("top");
  2052. cap_loadingbar.attribute("left") = grup_left.attribute("left");
  2053. cap_loadingbar.attribute("width") = grup_left.attribute("width");
  2054. cap_loadingbar.attribute("height") = grup_left.attribute("height");
  2055. cap_loadingbar.visible = false;
  2056. }
  2057. else if (flag == 1) {
  2058. cap_loadingbar.visible = true;
  2059. }
  2060. else if (flag == 2) {
  2061. cap_loadingbar.visible = false;
  2062. }
  2063. }
  2064. /*
  2065. 서식리스트 일자보기 닫기(가리기)
  2066. */
  2067. function fViewDateListClose(){
  2068. grp_dateList.visible = false;
  2069. }
  2070. /*
  2071. 서식리스트의 일자목록
  2072. */
  2073. function fViewDateListMidIndx(){
  2074. //현재 더블클릭으로 선택된 환자의 수진키 및 정보
  2075. var row = model.getValue("/root/init/patrow");
  2076. if(row == "" || row == "0"){
  2077. alert("환자의 수진이 선택되지 않았습니다.");
  2078. return;
  2079. }
  2080. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2081. var orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  2082. var cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  2083. var orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  2084. var ioflag = grd_pathist.valueMatrix(row, grd_pathist.colref("ioflag"));
  2085. var bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  2086. var midindxseq = "";
  2087. var linkcd = "";
  2088. var formcode = "";
  2089. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"));
  2090. var emrflag = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("emrflag"));
  2091. //if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){
  2092. if (emrflag == "I"){
  2093. formcode = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colRef("supitemindxseq"));
  2094. }
  2095. else{
  2096. midindxseq = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colRef("itemindxseq"));
  2097. }
  2098. //소분류에서 조회시 소분류값 세팅
  2099. if(grd_midindx.col == "7"){
  2100. linkcd = model.getValue("/root/main/midindx/midindxlist[" + grd_midindx.row + "]/linkcd");
  2101. }
  2102. model.removeNodeset("/root/send");
  2103. model.makeValue("/root/send/pid", pid);
  2104. model.makeValue("/root/send/orddd", orddd);
  2105. model.makeValue("/root/send/cretno", cretno);
  2106. model.makeValue("/root/send/orddeptcd", orddeptcd);
  2107. model.makeValue("/root/send/ioflag", ioflag);
  2108. model.makeValue("/root/send/bfopentest", bfopentest);
  2109. model.makeValue("/root/send/midindxseq", midindxseq);
  2110. model.makeValue("/root/send/formcode", formcode);
  2111. model.makeValue("/root/send/linkcd", linkcd);
  2112. if(grd_midindx.mousecol == "6"){ //중분류클릭
  2113. model.makeValue("/root/send/funcflag", "midgrup");
  2114. }
  2115. else if(grd_midindx.mousecol == "7"){//소분류클릭
  2116. model.makeValue("/root/send/funcflag", "formgrup");
  2117. }
  2118. else{
  2119. alert("중분류와 소분류중 선택해 주세요.");
  2120. return;
  2121. }
  2122. if(submit("TRMRB00116")){
  2123. grp_dateList.attribute("top") = "105px";
  2124. grp_dateList.attribute("left") = "0px";
  2125. grp_dateList.visible = true;
  2126. grd_DateForm.resizeCells();
  2127. grd_DateForm.rebuild();
  2128. }
  2129. }
  2130. /*
  2131. 일자목록에서 더블클릭(조회)
  2132. */
  2133. function fDbClickDateList(){
  2134. if((grd_DateForm.isCell(event.target) && grd_DateForm.mouserow >= grd_DateForm.fixedrows)){
  2135. //현재 더블클릭하여 선택된 수진키의 row를 가져옴
  2136. var patrow = model.getValue("/root/init/patrow");
  2137. if(patrow == null || patrow == "") return;
  2138. //오른쪽 버튼을 누르고 선택한 서식의 row
  2139. var grd_midindxrow = grd_midindx.row;
  2140. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2141. var orddd = grd_pathist.valueMatrix(patrow, grd_pathist.colref("orddd"));
  2142. var cretno = grd_pathist.valueMatrix(patrow, grd_pathist.colref("cretno"));
  2143. var ioflag = grd_pathist.valueMatrix(patrow, grd_pathist.colref("ioflag"));
  2144. var orddeptcd = grd_pathist.valueMatrix(patrow, grd_pathist.colref("orddeptcd"));
  2145. var emrflag = grd_pathist.valueMatrix(patrow, grd_pathist.colref("emrflag"));
  2146. var bfopentest = grd_pathist.valueMatrix(patrow, grd_pathist.colref("bfopentest"));
  2147. //var midindxseq = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq"));
  2148. var supitemindxseq = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  2149. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  2150. var linkcd = grd_DateForm.valueMatrix(grd_DateForm.row, grd_DateForm.colref("linkcd"));
  2151. var midindxseq = grd_DateForm.valueMatrix(grd_DateForm.row, grd_DateForm.colref("midindxseq"));
  2152. var signno = grd_DateForm.valueMatrix(grd_DateForm.row, grd_DateForm.colref("signno"));
  2153. var treatno = grd_DateForm.valueMatrix(grd_DateForm.row, grd_DateForm.colref("treatno"));
  2154. model.removeNodeset("/root/send");
  2155. model.makeValue("/root/send/pid", pid);
  2156. model.makeValue("/root/send/orddd", orddd);
  2157. model.makeValue("/root/send/cretno", cretno);
  2158. model.makeValue("/root/send/pageindex", "1");
  2159. //model.makeValue("/root/send/pagepercnt", "1");
  2160. model.makeValue("/root/send/signno", signno);
  2161. model.makeValue("/root/send/treatno", treatno);
  2162. model.makeValue("/root/send/midindxseq", midindxseq);
  2163. model.makeValue("/root/send/linkcd", linkcd);
  2164. model.makeValue("/root/send/business_id", BUSINESS_ID);
  2165. model.makeValue("/root/send/macaddr", MACADDR);
  2166. if(grd_DateForm.valueMatrix(grd_DateForm.row, grd_DateForm.colref("rectype")) == "T"){
  2167. model.makeValue("/root/send/funcflag", "txtemr");
  2168. }
  2169. else{
  2170. model.makeValue("/root/send/funcflag", "imgemr");
  2171. }
  2172. var node = instance1.selectSingleNode("/root/send");
  2173. fSetBrowserURL(node);
  2174. }
  2175. }
  2176. /*
  2177. 수진별보기 - 서식분류에서 마우스 오른쪽버튼 클릭시 나오는 메뉴
  2178. reckind가 PRCP이거나 EXAM은 일자목록메뉴가 나오지 않음
  2179. */
  2180. function fMidindxRightClick(){
  2181. var reckind = grd_midindx.valueMatrix(grd_midindx.mouserow, grd_midindx.colref("reckind"));
  2182. if(grd_midindx.mousecol == "7"){
  2183. if(reckind == "PRCP" || reckind == "EXAM"){
  2184. setPopupMenu("grd_midindx", false, "/root/init/regfavorite/mouserght", "label", "func");
  2185. }
  2186. else{
  2187. setPopupMenu("grd_midindx", false, "/root/init/mid/mouseright", "label", "func");
  2188. }
  2189. }
  2190. else if(grd_midindx.mousecol == "6"){
  2191. if(reckind != "PRCP" && reckind != "EXAM"){
  2192. setPopupMenu("grd_midindx", false, "/root/init/favmid/mouseright", "label", "func");
  2193. }
  2194. }
  2195. }
  2196. function fCase4Select(){
  2197. /*
  2198. if(model.getValue("/root/init/selecttab/maintabdate") == "N"){
  2199. model.setValue("/root/main/srchfromdd", getNewDate().getAddDate(-1, "M").getDateFormat("YYYYMMDD").substr(0, 8));
  2200. model.setValue("/root/main/srchtodd", getCurrentDate());
  2201. model.refresh();
  2202. }
  2203. */
  2204. }
  2205. /**
  2206. * @desc : 환자 기록 중분류 날자 조회
  2207. * @id :
  2208. */
  2209. function fGetRecMidIndxDate(){
  2210. var pid = "";
  2211. var orddd = "";
  2212. var cretno = "";
  2213. var orddeptcd = "";
  2214. var lrgindxseq = "";
  2215. model.removeNodeSet("/root/main/datemidindx/midindxlist");
  2216. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  2217. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  2218. {
  2219. var sUserDeptcd = getUserInfo("dutplcecd");
  2220. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  2221. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  2222. {
  2223. model.resetInstanceNode("/root/init/accresn");
  2224. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  2225. setParameter("SPMRI03100_param_rsnflag", 'R');
  2226. modal("SPMRI03100");
  2227. var valiyn = model.getValue("/root/init/accresn/valiyn");
  2228. if (valiyn != "Y")
  2229. {
  2230. return;
  2231. }
  2232. else
  2233. {
  2234. }
  2235. }
  2236. model.makeValue("/root/init/accresn/orddd", orddd);
  2237. model.makeValue("/root/init/accresn/cretno", cretno);
  2238. }
  2239. else
  2240. {
  2241. model.resetInstanceNode("/root/init/accresn/resncd");
  2242. model.resetInstanceNode("/root/init/accresn/resnnm");
  2243. model.resetInstanceNode("/root/init/accresn/etc");
  2244. model.resetInstanceNode("/root/init/accresn/valiyn");
  2245. model.resetInstanceNode("/root/init/accresn/orddd");
  2246. model.resetInstanceNode("/root/init/accresn/cretno");
  2247. }
  2248. model.removeNodeset("/root/send");
  2249. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  2250. model.makeValue("/root/send/funcflag", "srchrecdd");
  2251. model.makeValue("/root/send/srchfromdd", model.getValue("/root/main/srchfromdd"));
  2252. model.makeValue("/root/send/srchtodd", model.getValue("/root/main/srchtodd"));
  2253. model.makeValue("/root/send/acptcnclyn", model.getValue("/root/init/acptcnclyn"));
  2254. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/patmedidept/selected/deptcd"));
  2255. //model.makeValue("/root/send/lrgindxseq", "ALL");
  2256. if(submit("TRMRB00117"))
  2257. {
  2258. var midindxNodelist = model.instances(0).selectNodes("/root/main/datemidindx/midindxlist");
  2259. var itemindxseq = 0;
  2260. var midreccnt = 0;
  2261. var linkcd = "";
  2262. if (midindxNodelist.length > 1)
  2263. {
  2264. grd_midindx.resizeCells();
  2265. grd_datemidindx.row = 1;
  2266. }
  2267. }
  2268. model.refresh();
  2269. }
  2270. /*
  2271. iviewer1 : emrbrowser
  2272. iviewer2 : bit viewer
  2273. */
  2274. function toggleViewer(v){
  2275. if(v == "1"){
  2276. grup_right.visible = true;
  2277. grup_right2.visible = false;
  2278. }
  2279. else{
  2280. grup_right.visible = false;
  2281. grup_right2.visible = true;
  2282. }
  2283. }
  2284. /*
  2285. 이전서식 보여주기
  2286. - 이전서식은 기존 방식과 동일하게 보여줌(뷰어이용)
  2287. */
  2288. function viewOldEmr(c){
  2289. toggleViewer("2");
  2290. switch(c){
  2291. case "case1" :
  2292. var treatno = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"));
  2293. var formcd = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("supitemindxseq"));
  2294. iviewer2.window.javascript.cleanViewer();
  2295. iviewer2.window.javascript.refreshFalse();
  2296. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  2297. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2298. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2299. var chartinfo;
  2300. chartinfo = "I";
  2301. var hiddenmsg;
  2302. hiddenmsg = "I";
  2303. iviewer2.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2304. iviewer2.window.javascript.refreshTrue();
  2305. iviewer2.window.javascript.setupChart("ChartView");
  2306. break;
  2307. case "case2" :
  2308. var treatno = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("itemindxseq"));
  2309. var formcd = grd_chart_midindx.valueMatrix(grd_chart_midindx.row, grd_chart_midindx.colref("supitemindxseq"));
  2310. iviewer2.window.javascript.cleanViewer();
  2311. iviewer2.window.javascript.refreshFalse();
  2312. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  2313. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2314. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2315. var chartinfo;
  2316. chartinfo = "I";
  2317. var hiddenmsg;
  2318. hiddenmsg = "I";
  2319. iviewer2.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2320. iviewer2.window.javascript.refreshTrue();
  2321. iviewer2.window.javascript.setupChart("ChartView");
  2322. break;
  2323. case "case4" :
  2324. var treatno = grd_datemidindx.valueMatrix(grd_datemidindx.row, grd_datemidindx.colref("itemindxseq"));
  2325. var formcd = grd_datemidindx.valueMatrix(grd_datemidindx.row, grd_datemidindx.colref("supitemindxseq"));
  2326. iviewer2.window.javascript.cleanViewer();
  2327. iviewer2.window.javascript.refreshFalse();
  2328. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  2329. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2330. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2331. var chartinfo;
  2332. chartinfo = "I";
  2333. var hiddenmsg;
  2334. hiddenmsg = "I";
  2335. iviewer2.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2336. iviewer2.window.javascript.refreshTrue();
  2337. iviewer2.window.javascript.setupChart("ChartView");
  2338. break;
  2339. }
  2340. }
  2341. /*
  2342. 상단정보 연동
  2343. */
  2344. function fChangeOpenerPid(){
  2345. parampid = opener.window.javascript.getParameter("SMMRB00101_param_pid");
  2346. ipt_pid.value = parampid;
  2347. model.refresh();
  2348. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  2349. if (chkPidRtn){
  2350. fPatSearch();
  2351. }
  2352. }