SMMNN007.js 91 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185
  1. /*
  2. 분만간호기록(SMMNN00700_분만간호기록.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xPartrtnCondPath = "/root/main/cond/partrtninfolist";
  7. var xNbabyCondPath = "/root/main/cond/nbabylist";
  8. var xPartrtnPath = "/root/main/partrtninfo/partrtninfolist";
  9. var xNbabyPath = "/root/main/nbabyinfo/nbabylist";
  10. var xNbabyListPath = "/root/main/nbabylist/nbabylist";
  11. var xPartrtnEntrPath ="/root/main/partrtnentr/partrtnentrlist";
  12. var xAvulsionListPath ="/root/main/avulsioninfo/avulsionlist";
  13. var pname = "";
  14. var sign_row = 0;
  15. var rowIndex = 0;
  16. var s_FormCd = "0000002472";
  17. /**
  18. * @group :
  19. * @ver : 2007.05.09
  20. * @by : 홍주희
  21. * @---------------------------------------------------
  22. * @type : function
  23. * @access : public
  24. * @desc : 분만간호기록 초기값 셋팅 및 초기조회
  25. * @param :
  26. * @param :
  27. * @return :
  28. * @---------------------------------------------------
  29. */
  30. function fInitialize(){
  31. // 분만형태(M0188), 분만형태세부구분(M0086), 적출물 처리구분(M0324)
  32. zbcfGetCodeList(new Array("M0188","M0086", "M0324", "P0157"), new Array("/root/init/M0188list","/root/init/M0086list","/root/init/M0324list","/root/init/P0157list"));
  33. //산부인과, 분만실 부서코드 조회(참여자정보조회시 사용)_20090417_SMY
  34. //166-분만간호-분만기록의 모유중단사유변경전-김홍점
  35. //167-분만간호-분만기록의 모유중단사유변경후-김홍점
  36. //168- 분만간호-분만기록의 모유중단사유변경적용기준일-김홍점 조회조건의기록일시의 변경에따라 사유가 바뀜.20091202 00시부터 변경후 적용
  37. fGetNursHardCdInfo("'069','045','T45','099','153','166','167','168'", getCurrentDate()); //CareCom.js
  38. var paminfo = getGlobalVariable("paminfo");
  39. setCSVToNode("/root/init/paminfo", paminfo);
  40. // 그리드 초기화
  41. model.removeNodeset("/root/main/nbabylist/nbabylist"); // 신생아 리스트
  42. model.removeNodeset("/root/main/avulsioninfo/avulsionlist"); // 적출물 정보
  43. // 조회조건 초기화
  44. model.setValue("/root/main/cond/reportdd", getCurrentDate()); //기록일시 초기화
  45. model.setValue("/root/main/cond/reporttm", getCurrentTime().substr(0,4));
  46. //분만실근무지 이외의 사용자 인증저장버튼 비활성화_20100219_SMY
  47. if(model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '045']/cdid") == getUserInfo("dutplcecd")
  48. || model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = 'T45']/cdid") == getUserInfo("dutplcecd"))
  49. {
  50. btn_signsave.disabled = false;
  51. }
  52. else{
  53. btn_signsave.disabled = true;
  54. }
  55. /*
  56. //신생아 출생정보 초기화
  57. model.resetInstanceNode("/root/main/nbabyinfo");
  58. model.setValue("/root/main/nbabyinfo/nbabylist/dlivdd" , getCurrentDate()); // 분만일자
  59. //model.setValue("/root/main/nbabyinfo/nbabylist/dlivtm" , getCurrentTime().substr(0,4));// 분만시간
  60. model.setValue("/root/main/nbabyinfo/nbabylist/dlivtm" , ""); // 분만시간
  61. model.setValue("/root/main/nbabyinfo/nbabylist/weigunit" , "1"); // 출생시 체중단위(kg)
  62. model.setValue("/root/main/nbabyinfo/nbabylist/urinecd" , "N"); // Urine유무(무)
  63. model.setValue("/root/main/nbabyinfo/nbabylist/mecnmcolrayn" , "N"); // 태변착색 유무(무)
  64. model.setValue("/root/main/nbabyinfo/nbabylist/oxygenabsopcd" , "N"); // 산소흡입유무(무)
  65. model.setValue("/root/main/nbabyinfo/nbabylist/stoolcd" , "N"); // stool 유무(무)
  66. model.setValue("/root/main/nbabyinfo/nbabylist/trueknotyn" , "N"); // True knot 유무(무)
  67. model.setValue("/root/main/nbabyinfo/nbabylist/nuchalcordcd" , "N"); // Nuchal cord 유무(무)
  68. model.setValue("/root/main/nbabyinfo/nbabylist/promyn" , "N"); // PROM 유무(무)
  69. model.setValue("/root/main/nbabyinfo/nbabylist/antibiodrugyn" , "N"); // 항생제투여(무)
  70. rdo_promyn.dispatch("xforms-select");
  71. rdo_babycnt.refresh();
  72. */
  73. var pid = "";
  74. var indd = "";
  75. var cretno = "";
  76. var wardcd = "";
  77. var roomcd = "";
  78. var indschacptstat = "";
  79. var dschdd = "";
  80. if (checkOpener()){
  81. if(opener.javascript.getParameter("pid")!=""){
  82. // 파라미터 설정
  83. pid = opener.javascript.getParameter("pid") ;
  84. pname = opener.javascript.getParameter("patnm") ;
  85. indd = opener.javascript.getParameter("indd") ;
  86. cretno = opener.javascript.getParameter("cretno");
  87. //부서/병실/환자 조회조건 추가로 인한 파라미터 추가_2009-02-17_SMY
  88. wardcd = opener.javascript.getParameter("wardcd");
  89. roomcd = opener.javascript.getParameter("roomcd");
  90. //퇴원한 환자는 조회조건 disable_20090225_SMY
  91. indschacptstat = opener.javascript.getParameter("indschacptstat");
  92. } else{
  93. pid = model.getValue("/root/init/paminfo/list/pid") ;
  94. pname = model.getValue("/root/init/paminfo/list/hngnm") ;
  95. indd = model.getValue("/root/init/paminfo/list/indd") ;
  96. cretno = model.getValue("/root/init/paminfo/list/cretno");
  97. wardcd = model.getValue("/root/init/paminfo/list/wardcd");
  98. roomcd = model.getValue("/root/init/paminfo/list/roomcd");
  99. indschacptstat = model.getValue("/root/init/paminfo/list/indschacptstat");
  100. }
  101. //상단정보 설정
  102. model.makeValue("/root/main/cond/upinfopid", pid);
  103. model.makeValue("/root/main/cond/upinforoomcd", roomcd);
  104. model.makeValue("/root/main/cond/indschacptstat", indschacptstat);
  105. }
  106. fGetDeptList(); // 진료과리스트 조회
  107. fInitDataInfo(); // 처치코드 분류
  108. //병동조회조건추가_20090216_SMY
  109. model.removenode("/root/send");
  110. model.makeValue("/root/send/wardcd", wardcd);
  111. submit("TRMNN07304");
  112. /*
  113. //병동추가로 인한 주석처리_20090216_SMY
  114. if(pname == ""){
  115. messageBox("환자를 먼저","C002");
  116. // model.close();
  117. }else{
  118. */
  119. model.setValue("/root/main/cond/reportid", getUserId());
  120. model.setValue("/root/main/cond/reportnm", getUserName());
  121. model.setValue("/root/main/cond/pid" , pid );
  122. model.setValue("/root/main/cond/pname" , pname );
  123. model.setValue("/root/main/cond/indd" , indd );
  124. model.setValue("/root/main/cond/cretno" , cretno);
  125. model.setValue("/root/main/cond/wardcd" , wardcd);
  126. model.setValue("/root/main/cond/roomcd" , roomcd);
  127. model.refresh();
  128. //병실정보조회
  129. if(pid != ""){
  130. fGetRoomInfo();
  131. }
  132. //분만간호기록 조회
  133. //fGetPartrtnRecInfo();
  134. /*
  135. fGetBabyPartrtnInfo(pid,indd,cretno);
  136. ibabycnt = Number(getNodesetCount(xNbabyListPath));
  137. if(ibabycnt == 0){
  138. ibabycnt = 1;
  139. }
  140. model.resetInstanceNode("/root/init/babynm");
  141. //if(rdo_babycnt.value >= 1 && rdo_babycnt.value <= 3){
  142. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt");
  143. if(babycnt>=1 && babycnt<=3){
  144. for(var i = 1; i <= babycnt; i++){
  145. if(babycnt == "1"){
  146. model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기");
  147. }else{
  148. model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  149. }
  150. }
  151. //}else if(rdo_babycnt.value == 4 && ibabycnt > 4){
  152. }else if(babycnt == 4 && ibabycnt > 4){
  153. ibabycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycntetc");//cmb_babycntetc.value;
  154. for(var i = 1; i <= ibabycnt; i++){
  155. model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  156. }
  157. }
  158. for(var j=1; j <= getNodesetCount(xNbabyListPath); j++){
  159. if(model.getValue(xNbabyListPath + "[" + j + "]/signno") != ""){
  160. btn_save.disabled = true;
  161. }
  162. }
  163. // }
  164. */
  165. model.refresh();
  166. }
  167. /**
  168. * @group :
  169. * @ver : 2007.07.25
  170. * @by : 최경용
  171. * @---------------------------------------------------
  172. * @type : function
  173. * @access : public
  174. * @desc : 처치코드 분류
  175. * @param :
  176. * @param :
  177. * @return :
  178. * @---------------------------------------------------
  179. */
  180. function fInitDataInfo(){
  181. var cnt = getNodesetCount("/root/init/M0086list/M0086");
  182. for(var i = 1; i <= cnt; i++){
  183. var cdid = model.getValue("/root/init/M0086list/M0086[" + i + "]/cdid").substr(0,1);
  184. if(cdid == "1"){
  185. model.duplicate("/root/init/dlivflag1", "/root/init/M0086list/M0086[" + i + "]");
  186. }else if(cdid == "2"){
  187. model.duplicate("/root/init/dlivflag2", "/root/init/M0086list/M0086[" + i + "]");
  188. }else{}
  189. }
  190. }
  191. /**
  192. * @group :
  193. * @ver : 2007.05.09
  194. * @by : 홍주희
  195. * @---------------------------------------------------
  196. * @type : function
  197. * @access : public
  198. * @desc : 분만간호기록 산모 및 신생아 정보 조회
  199. * @param :
  200. * @param :
  201. * @return :
  202. * @---------------------------------------------------
  203. */
  204. function fGetBabyPartrtnInfo(pPid,pIndd,pCretno){
  205. if(pPid == ""){
  206. pPid = model.getValue("/root/main/patinfocond/patinfo/pid");
  207. pIndd = model.getValue("/root/main/patinfocond/patinfo/indd");
  208. pCretno = model.getValue("/root/main/patinfocond/patinfo/cretno");
  209. }
  210. model.removenode("/root/send/reqdata");
  211. model.makeNode("/root/send/reqdata");
  212. model.setValue("/root/main/cond/pid" , pPid);
  213. model.setValue("/root/main/cond/indd" , pIndd);
  214. model.setValue("/root/main/cond/cretno", pCretno);
  215. model.copyNode("/root/send/reqdata", "/root/main/cond");
  216. submit("TRMNN00701");
  217. if(getNodesetCount("/root/hidden/partrtninfolist") > 0){
  218. model.copyNode(xPartrtnPath,"/root/hidden/partrtninfolist");
  219. }
  220. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt"); //애기수
  221. if(babycnt == ""){
  222. model.setValue("/root/main/partrtninfo/partrtninfolist/babycnt", "1"); // 애기수(single)
  223. }else{
  224. model.setValue("/root/main/partrtninfo/partrtninfolist/babycnt", babycnt);
  225. }
  226. var grd_nbabyCnt = getNodesetCount("/root/hidden/nbabylist");
  227. var grd_avulsionCnt = getNodesetCount("/root/hidden/avulsionlist");
  228. var rows = grd_nbaby.rows;
  229. model.removenodeSet(xNbabyListPath);
  230. model.refresh();
  231. //신생아정보
  232. if(grd_nbabyCnt > 0){
  233. rowIndex = 0;
  234. for(var i = 1; i <= grd_nbabyCnt; i++){
  235. model.duplicate("/root/main/nbabylist","/root/hidden/nbabylist[" + i + "]");
  236. }
  237. }
  238. grd_nbaby.refresh();
  239. //적출물정보
  240. if(grd_avulsionCnt > 0){
  241. model.removenodeSet(xAvulsionListPath);
  242. for(var j = 1; j <= grd_avulsionCnt; j++){
  243. model.duplicate("/root/main/avulsioninfo","/root/hidden/avulsionlist[" + j + "]");
  244. grd_avulsion.rowstatus(j) = 0;
  245. }
  246. }else{
  247. model.removenode(xAvulsionListPath);
  248. }
  249. grd_avulsion.refresh();
  250. if(getNodesetCount("/root/hidden/partrtninfolist") > 0 && model.getValue("/root/hidden/partrtninfolist/babycnt") != ""){
  251. partrtniudflag = "updt";
  252. }
  253. if(getNodesetCount("/root/hidden/partrtnentrlist") > 0){
  254. model.copyNode("/root/main/partrtnentr/partrtnentrlist","/root/hidden/partrtnentrlist");
  255. }
  256. //신규 기록작성시 참여간호사 Defaut셋팅(2008-08-05 SMY추가)
  257. if(grd_nbabyCnt == 0 && getNodesetCount("/root/hidden/partrtnentrlist") == 0){
  258. model.setValue(xPartrtnEntrPath + "/entrid4", getUserId());
  259. model.setValue(xPartrtnEntrPath + "/entrnm4", getUserName());
  260. model.setValue(xPartrtnEntrPath + "/status", "U");
  261. }
  262. grd_nbaby.refresh();
  263. model.refresh();
  264. PartrtnCtrlSet();
  265. }
  266. /**
  267. * @group :
  268. * @ver : 2007.05.09
  269. * @by : 홍주희
  270. * @---------------------------------------------------
  271. * @type : function
  272. * @access : public
  273. * @desc : 분만간호기록 산모 및 신생아 정보 체크
  274. * @param :
  275. * @param :
  276. * @return :
  277. * @---------------------------------------------------
  278. */
  279. function fInputCheck(){
  280. }
  281. /**
  282. * @group :
  283. * @ver : 2007.05.09
  284. * @by : 홍주희
  285. * @---------------------------------------------------
  286. * @type : function
  287. * @access : public
  288. * @desc : 분만간호기록 신생아 정보 조회 후 컨트롤 셋팅
  289. * @param :
  290. * @param :
  291. * @return :
  292. * @---------------------------------------------------
  293. */
  294. function fNbabyCtrlSet(){
  295. model.resetInstanceNode("/root/init/babynm");
  296. //if(rdo_babycnt.value >= 1 && rdo_babycnt.value <= 3){
  297. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt");
  298. var pname = model.getValue("/root/main/patinfocond/patinfo/hngnm") ;
  299. var babynm = "";
  300. if(babycnt >= 1 && babycnt <= 3){
  301. //for(var i = 1; i <= rdo_babycnt.value; i++){
  302. for(var i = 1; i <= babycnt; i++){
  303. //if(rdo_babycnt.value == "1"){
  304. if(babycnt == "1"){
  305. model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "아기");
  306. }else{
  307. if(i == "1") {
  308. babynm = "첫째아";
  309. }else if(i == "2") {
  310. babynm = "둘째아";
  311. }else if(i == "3") {
  312. babynm = "셋째아";
  313. }else if(i == "4") {
  314. babynm = "넷째아";
  315. }else if(i == "5") {
  316. babynm = "다섯아";
  317. }else if(i == "6") {
  318. babynm = "여섯아";
  319. }
  320. model.makeValue("/root/init/babynm[" + i + "]/nm", pname +babynm);
  321. //model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  322. }
  323. }
  324. }//else if(rdo_babycnt.value == 4 && ibabycnt > 4){
  325. else if(babycnt == 4 && ibabycnt > 4){
  326. ibabycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycntetc"); //cmb_babycntetc.value;
  327. for(var i = 1; i <= ibabycnt; i++){
  328. //model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  329. if(i == "1") {
  330. babynm = "첫째아";
  331. }else if(i == "2") {
  332. babynm = "둘째아";
  333. }else if(i == "3") {
  334. babynm = "셋째아";
  335. }else if(i == "4") {
  336. babynm = "넷째아";
  337. }else if(i == "5") {
  338. babynm = "다섯아";
  339. }else if(i == "6") {
  340. babynm = "여섯아";
  341. }
  342. model.makeValue("/root/init/babynm[" + i + "]/nm", pname +babynm);
  343. }
  344. }
  345. var lctrejtresnspec = model.getValue("/root/main/nbabyinfo/nbabylist/lctrejtresnspec");
  346. //if(cmb_lctrejtresnspec.value == 5 || cmb_lctrejtresnspec.value == 6 || cmb_lctrejtresnspec.value == 7 || cmb_lctrejtresnspec.value == 8){
  347. if(lctrejtresnspec == 5 || lctrejtresnspec == 6 || lctrejtresnspec == 7 || lctrejtresnspec == 8 || lctrejtresnspec == 18){
  348. ipt_dlivpredrugspec.disabled = false;
  349. }else{
  350. ipt_dlivpredrugspec.disabled = true;
  351. model.setValue("/root/main/nbabyinfo/nbabylist/dlivpredrugspec",""); //ipt_dlivpredrugspec.value = "";
  352. }
  353. //재원환자로 등록시 분만일자 및 성별 변경 불가
  354. if(model.getValue(xNbabyPath + "/babyno") == ""){
  355. ipt_dlivdd.disabled = false;
  356. rdo_gndr.disabled = false;
  357. }else{
  358. ipt_dlivdd.disabled = true;
  359. rdo_gndr.disabled = true;
  360. }
  361. ipt_dlivdd.refresh();
  362. rdo_gndr.refresh();
  363. ipt_dlivpredrugspec.refresh();
  364. //분만형태 setting
  365. var dlivkind = (model.getValue("/root/main/nbabyinfo/nbabylist/dlivkindcd")).substr(1,1);//cmb_dlivkindcd.value.substr(1,1);
  366. cmb_dlivflag.choices.itemset.attribute("nodeset") = "/root/init/dlivflag" + dlivkind + "/M0086";
  367. cmb_dlivflag.refresh();
  368. //분만장소 setting
  369. //if(cmb_dlivplcecd.value=="PT" || cmb_dlivplcecd.value=="OP"){
  370. var dlivplcecd = model.getValue("/root/main/nbabyinfo/nbabylist/dlivplcecd");
  371. if(dlivplcecd=="PT" || dlivplcecd=="OP"){
  372. ipt_dlivplceetcspec.disabled = true;
  373. }else{
  374. ipt_dlivplceetcspec.disabled = false;
  375. }
  376. //태변착색 setting
  377. var mecnmcolrayn = model.getValue("/root/main/nbabyinfo/nbabylist/mecnmcolrayn");
  378. //if(rdo_mecnmcolrayn.value=="N"){
  379. if(mecnmcolrayn=="N"){
  380. cmb_mecnmcolracd.disabled = true;
  381. }else if(mecnmcolrayn=="Y"){
  382. cmb_mecnmcolracd.disabled = false;
  383. }else{}
  384. //산소흡인 setting
  385. var oxygenabsopcd = model.getValue("/root/main/nbabyinfo/nbabylist/oxygenabsopspec");
  386. //if(rdo_oxygenabsopcd.value=="N"){
  387. if(oxygenabsopcd=="N"){
  388. ipt_oxygenabsopspec.disabled = true;
  389. }else if(oxygenabsopcd=="Y"){
  390. ipt_oxygenabsopspec.disabled = false;
  391. }
  392. //True knot setting
  393. var trueknotyn = model.getValue("/root/main/nbabyinfo/nbabylist/trueknotyn");
  394. //if(rdo_trueknotyn.value == "Y"){
  395. if(trueknotyn == "Y"){
  396. cmb_trueknotspec.disabled = false;
  397. }else if(trueknotyn == "N"){
  398. cmb_trueknotspec.disabled = true;
  399. }else{}
  400. //Nochal cord setting
  401. var nuchalcordyn = model.getValue("/root/main/nbabyinfo/nbabylist/nuchalcordcd");
  402. //if(rdo_nuchalcordyn.value=="Y") {
  403. if(nuchalcordyn=="Y") {
  404. cmb_nuchalcordpart.disabled=false;
  405. ipt_nuchalcordspec.disabled=true;
  406. cmb_nuchalcordtime.disabled=false;
  407. }else if(nuchalcordyn=="N") {
  408. cmb_nuchalcordpart.disabled=true;
  409. ipt_nuchalcordspec.disabled=true;
  410. cmb_nuchalcordtime.disabled=true;
  411. }else{}
  412. //Nochal cord 부위 setting
  413. var nuchalcordpart = model.getValue("/root/main/nbabyinfo/nbabylist/nuchalcordpart");
  414. //if(cmb_nuchalcordpart.value == "5"){
  415. if(nuchalcordpart == "5"){
  416. ipt_nuchalcordspec.disabled = false;
  417. }else{
  418. ipt_nuchalcordspec.disabled = true;
  419. }
  420. //PROM setting
  421. var promyn = model.getValue("/root/main/nbabyinfo/nbabylist/promyn");
  422. //if(rdo_promyn.value=="Y"){
  423. if(promyn=="Y"){
  424. ipt_promdd.disabled=false;
  425. ipt_promtm.disabled=false;
  426. rdo_antibiodrugyn.disabled=false;
  427. }else if(promyn=="N"){
  428. ipt_promdd.disabled=true;
  429. ipt_promtm.disabled=true;
  430. rdo_antibiodrugyn.disabled=true;
  431. model.setValue("/root/main/nbabyinfo/nbabylist/antibiodrugyn", "N");
  432. }
  433. //첫 수유시간
  434. var fstlctyn = model.getValue("/root/main/nbabyinfo/nbabylist/fstlctyn");
  435. //if(rdo_fstlctyn.value == "N"){
  436. if(fstlctyn == "N"){
  437. cmb_lctrejtresnspec.disabled = false;
  438. ipt_lctdd.disabled = true;
  439. ipt_lcttm.disabled = true;
  440. }else if(fstlctyn == "Y"){
  441. cmb_lctrejtresnspec.disabled = true;
  442. ipt_lctdd.disabled = false;
  443. ipt_lcttm.disabled = false;
  444. }else{ //2008-09-05, SMY추가
  445. cmb_lctrejtresnspec.disabled = true; // 첫 모유수유시간 '무'의 콤보박스
  446. ipt_dlivpredrugspec.disabled = true; // 첫 모유수유시간 '무'의 free text box
  447. ipt_lctdd.disabled = true; // 첫 모유수유시간 '유'의 일자
  448. ipt_lcttm.disabled = true; // 첫 모유수유시간 '유'의 시간
  449. model.setValue("/root/main/nbabyinfo/nbabylist/lctrejtresnspec","");
  450. model.setValue("/root/main/nbabyinfo/nbabylist/dlivpredrugspec","");
  451. model.setValue("/root/main/nbabyinfo/nbabylist/lctdd","");
  452. model.setValue("/root/main/nbabyinfo/nbabylist/lcttm","");
  453. }
  454. //심폐 소생술
  455. var cardresusyn = model.getValue("/root/main/nbabyinfo/nbabylist/cardresusyn");
  456. //if(rdo_cardresusyn.value == "Y"){
  457. if(cardresusyn == "Y"){
  458. chx_cardresuscd.disabled = false;
  459. }else if(cardresusyn == "N"){
  460. chx_cardresuscd.disabled = true;
  461. model.setValue("/root/main/nbabyinfo/nbabylist/cardresuscd","");
  462. }
  463. model.refresh();
  464. }
  465. /**
  466. * @group :
  467. * @ver : 2007.05.09
  468. * @by : 홍주희
  469. * @---------------------------------------------------
  470. * @type : function
  471. * @access : public
  472. * @desc : 분만간호기록 산모 정보 조회 후 컨트롤 셋팅
  473. * @param :
  474. * @param :
  475. * @return :
  476. * @---------------------------------------------------
  477. */
  478. function PartrtnCtrlSet(){
  479. //애기 수
  480. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt");
  481. if(babycnt == 1){
  482. cmb_babycntetc.disabled = true;
  483. }else if(babycnt == 2){
  484. cmb_babycntetc.disabled = true;
  485. }else if(babycnt == 3){
  486. cmb_babycntetc.disabled = true;
  487. }else if(babycnt == 4){
  488. cmb_babycntetc.disabled = false;
  489. }else{}
  490. //감염성 정보
  491. var infcsicknm = isSearchString(chx_infcsicknm.value, "6");
  492. var infcsickyn = model.getValue("/root/main/partrtninfo/partrtninfolist/infcsickyn");
  493. //if(rdo_infcsickyn.value == "Y"){
  494. if(infcsickyn == "Y"){
  495. chx_infcsicknm.disabled = false;
  496. }else if(infcsickyn == "N"){
  497. chx_infcsicknm.disabled = true;
  498. ipt_infcsickspec.disabled = true;
  499. model.setValue("/root/main/partrtninfo/partrtninfolist/infcsicknm" , ""); //chx_infcsicknm.value = "";
  500. model.setValue("/root/main/partrtninfo/partrtninfolist/infcsickspec", ""); //ipt_infcsickspec.value= "";
  501. }
  502. if(infcsicknm == true){
  503. ipt_infcsickspec.disabled=false;
  504. }else if(infcsicknm == false){
  505. ipt_infcsickspec.disabled=true;
  506. model.setValue("/root/main/partrtninfo/partrtninfolist/infcsickspec", ""); //ipt_infcsickspec.value="";
  507. }else{}
  508. //회음절개
  509. var periincyn = model.getValue("/root/main/partrtninfo/partrtninfolist/periincyn");
  510. if(periincyn=="Y"){
  511. cmb_periincnm.disabled=false;
  512. }else if(periincyn=="N"){
  513. cmb_periincnm.disabled=true;
  514. }else{}
  515. //산모출혈
  516. var lyinwoyn = model.getValue("/root/main/partrtninfo/partrtninfolist/lyinwoyn");
  517. //if(rdo_lyinwoyn.value == "Y"){
  518. if(lyinwoyn == "Y"){
  519. cmb_lyinwoflag.disabled = false;
  520. ipt_lyinwoflagspcffact.disabled = false;
  521. }else if(lyinwoyn == "N"){
  522. cmb_lyinwoflag.disabled = true;
  523. ipt_lyinwoflagspcffact.disabled = true;
  524. }else{}
  525. //보조생식술여부('16.01.13)
  526. var artyn = model.getValue("/root/main/partrtninfo/partrtninfolist/artyn");
  527. if(artyn == "Y"){
  528. cmb_artnm.disabled = false;
  529. }else if(artyn == "N"){
  530. cmb_artnm.disabled = true;
  531. }else{}
  532. model.refresh();
  533. }
  534. /**
  535. * @group :
  536. * @ver : 2007.05.09
  537. * @by : 홍주희
  538. * @---------------------------------------------------
  539. * @type : function
  540. * @access : public
  541. * @desc : 변경된 노드가 있는지 체크
  542. * @param : originalNode
  543. * @param : copyNode
  544. * @return : true/false
  545. * @---------------------------------------------------
  546. */
  547. function fCompareNodes(originalNode, copyNode){
  548. var ins = document.models( 0 ).instances( 0 );
  549. var original = ins.selectSingleNode(originalNode).xml;
  550. var copy = ins.selectSingleNode(copyNode).xml;
  551. if(original == null || copy == null){
  552. return false;
  553. }else if (original == copy){
  554. return true;
  555. }else{
  556. return false;
  557. }
  558. }
  559. /**
  560. * @group :
  561. * @ver : 2007.05.09
  562. * @by : 홍주희
  563. * @---------------------------------------------------
  564. * @type : function
  565. * @access : public
  566. * @desc : 신생아 리스트 Click 이벤트
  567. * @param : originalNode
  568. * @param : copyNode
  569. * @return : true/false
  570. * @---------------------------------------------------
  571. */
  572. function fClicknBabyList(row){
  573. rowIndex = row;
  574. model.resetInstanceNode(xNbabyPath);
  575. model.copyNode(xNbabyPath,"/root/main/nbabylist/nbabylist[" + row + "]");
  576. model.refresh();
  577. cmb_lctrejtresnspec.dispatch("xforms-select");
  578. chk_nbabyinfsick.dispatch("xforms-value-changed");
  579. var dlivlabel = grd_nbaby.labelMatrix(row, grd_nbaby.colRef("dlivflag"));
  580. if(dlivlabel =="기타") {
  581. ipt_dlivflagetc.disabled = false;
  582. } else {
  583. ipt_dlivflagetc.disabled = true;
  584. }
  585. ipt_dlivdd.dispatch("xforms-value-changed");
  586. fNbabyCtrlSet();
  587. model.refresh();
  588. }
  589. /**
  590. * @group :
  591. * @ver : 2007.05.09
  592. * @by : 홍주희
  593. * @---------------------------------------------------
  594. * @type : function
  595. * @access : public
  596. * @desc : 신생아 리스트 삭제 이벤트
  597. * @param :
  598. * @param :
  599. * @return :
  600. * @---------------------------------------------------
  601. */
  602. function fClickBabyDelete(){
  603. var row = grd_nbaby.row;
  604. if(model.getValue(xNbabyListPath + "[" + row + "]/babyno") != ""){
  605. model.setValue(xNbabyListPath + "[" + row + "]/delcheck", "false");
  606. messageBox(" 입원 등록된 신생아는 삭제할 수", "I004");
  607. }
  608. if(model.getValue(xNbabyListPath + "[" + row + "]/status") == "I"){
  609. grd_nbaby.deleteRow(row);
  610. if(rowIndex == row){
  611. model.resetInstanceNode(xNbabyPath);
  612. fNbabyCtrlSet();
  613. rowIndex = 0;
  614. }else if(rowIndex > row){
  615. rowIndex--;
  616. }else{}
  617. }else{
  618. if(model.getValue(xNbabyListPath + "[" + row + "]/delcheck") == "true"){
  619. model.setValue(xNbabyListPath + "[" + row + "]/status", "D");
  620. }else if(model.getValue(xNbabyListPath + "[" + row + "]/delcheck") == "false"){
  621. model.setValue(xNbabyListPath + "[" + row + "]/status", "U");
  622. }
  623. }
  624. grd_nbaby.refresh();
  625. }
  626. /**
  627. * @group :
  628. * @ver : 2007.05.09
  629. * @by : 홍주희
  630. * @---------------------------------------------------
  631. * @type : function
  632. * @access : public
  633. * @desc : 참여자 정보 팝업 조회
  634. * @param : originalNode
  635. * @param : copyNode
  636. * @return : true/false
  637. * @---------------------------------------------------
  638. */
  639. function fClickUserBtn(userflag, seq){
  640. var deptcd = "";
  641. var jobkindcd = "";
  642. var deptcd = "";
  643. if(userflag == "doctor"){
  644. //deptcd = "2100000000";
  645. deptcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '069']/cdid"); //산부인과 하드코딩 수정_20090417_SMY
  646. jobkindcd = "03";
  647. }else if(userflag == "nurse"){
  648. //deptcd = "2100315000"; //분만실Unit
  649. //deptcd = "2100300000"; //분만실_20090330_SMY수정
  650. deptcd = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid = '045']/cdid"); //분만실 하드코딩 수정_20090417_SMY
  651. jobkindcd = "11";
  652. }
  653. setParameter("SPMNN02100_deptcd", deptcd);
  654. setParameter("SPMNN02100_jobkindcd", jobkindcd);
  655. setParameter("SPMNN02100_userflag", userflag);
  656. modal("SPMNN02100");
  657. var userid = getParameter("SPMNN02100_userid");
  658. var usernm = getParameter("SPMNN02100_usernm");
  659. if(userid != ""){
  660. model.setValue(xPartrtnEntrPath + "/entrid" + seq, userid);
  661. model.setValue(xPartrtnEntrPath + "/entrnm" + seq, usernm);
  662. model.setValue(xPartrtnEntrPath + "/status", "U");
  663. model.refresh();
  664. }
  665. setParameter("SPMNN02100_userid", "");
  666. setParameter("SPMNN02100_usernm", "");
  667. }
  668. /**
  669. * @group :
  670. * @ver : 2007.05.09
  671. * @by : 홍주희
  672. * @---------------------------------------------------
  673. * @type : function
  674. * @access : public
  675. * @desc : 사용자 정보 삭제
  676. * @param : originalNode
  677. * @param : copyNode
  678. * @return : true/false
  679. * @---------------------------------------------------
  680. */
  681. function fClickEntrInfo(seq){
  682. model.setValue(xPartrtnEntrPath + "/entrid" + seq, "");
  683. model.setValue(xPartrtnEntrPath + "/entrnm" + seq, "");
  684. model.setValue(xPartrtnEntrPath + "/status", "U");
  685. model.refresh();
  686. }
  687. /**
  688. * @group :
  689. * @ver : 2007.05.09
  690. * @by : 홍주희
  691. * @---------------------------------------------------
  692. * @type : function
  693. * @access : public
  694. * @desc : 분만일시 체크
  695. * @param : originalNode
  696. * @param : copyNode
  697. * @return : true/false
  698. * @---------------------------------------------------
  699. */
  700. function fCheckDlivDT(){
  701. var row =grd_nbaby.row;
  702. var babycnt = getNodesetCount(xNbabyListPath);
  703. var dlivdd = "";
  704. var dlivtm = "";
  705. var babynm = "";
  706. var rtn = true;
  707. for(var i = 1; i <= babycnt; i++){
  708. dlivdd = model.getValue(xNbabyListPath + "[" + i + "]/dlivdd");
  709. dlivtm = model.getValue(xNbabyListPath + "[" + i + "]/dlivtm");
  710. babynm = model.getValue(xNbabyListPath + "[" + i + "]/babynm");
  711. if(dlivdd == model.getValue(xNbabyPath + "/dlivdd") && dlivtm == model.getValue(xNbabyPath + "/dlivtm")){
  712. rtn = false;
  713. }
  714. }
  715. return rtn;
  716. }
  717. /**
  718. * @group :
  719. * @ver : 2007.05.09
  720. * @by : 홍주희
  721. * @---------------------------------------------------
  722. * @type : function
  723. * @access : public
  724. * @desc : 생사여부 자동 셋팅
  725. * @param : originalNode
  726. * @param : copyNode
  727. * @return : true/false
  728. * @---------------------------------------------------
  729. */
  730. function fDlivflagCheck(dlivflag){
  731. if(dlivflag == "111" || dlivflag == "112" || dlivflag == "117" || dlivflag == "118" || dlivflag == "119" || dlivflag == "128" || dlivflag == "129" ||
  732. dlivflag == "130" || dlivflag == "131" || dlivflag == "132" || dlivflag == "133" || dlivflag == "210" || dlivflag == "211" || dlivflag == "212" ||
  733. dlivflag == "213" || dlivflag == "214" || dlivflag == "215" || dlivflag == "218" || dlivflag == "219" || dlivflag == "220" || dlivflag == "222" ||
  734. dlivflag == "223" || dlivflag == "224" || dlivflag == "134"){ //134(TSSD)추가_20100219_SMY
  735. return "N";
  736. }else{
  737. return "Y";
  738. }
  739. }
  740. /**
  741. * @group :
  742. * @ver : 2007.05.09
  743. * @by : 홍주희
  744. * @---------------------------------------------------
  745. * @type : function
  746. * @access : public
  747. * @desc : A/S 팝업 호출 및 셋팅
  748. * @param : originalNode
  749. * @param : copyNode
  750. * @return : true/false
  751. * @---------------------------------------------------
  752. */
  753. function fPopUpAS(){
  754. setParameter("SPMNN02000_Papgarscorespec", model.getValue("/root/main/nbabyinfo/nbabylist/apgarscorespec"));
  755. modal("SPMNN02000");
  756. var apgarscore1 = getParameter("SPMNN02000_apgarscore1");
  757. var apgarscore5 = getParameter("SPMNN02000_apgarscore5");
  758. var apgarscorespec = getParameter("SPMNN02000_apgarscorespec");
  759. if(apgarscorespec != ""){
  760. model.setValue("/root/main/nbabyinfo/nbabylist/apgarscore1", apgarscore1); // ipt_apgarscore1.value = apgarscore1;
  761. model.setValue("/root/main/nbabyinfo/nbabylist/apgarscore5", apgarscore5); // ipt_apgarscore5.value = apgarscore5;
  762. ipt_apgarscore1.refresh();
  763. ipt_apgarscore5.refresh();
  764. model.setValue("/root/main/nbabyinfo/nbabylist/apgarscorespec", apgarscorespec);
  765. }
  766. setParameter("SPMNN02000_apgarscore1" , "");
  767. setParameter("SPMNN02000_apgarscore5" , "");
  768. setParameter("SPMNN02000_apgarscorespec", "");
  769. }
  770. /**
  771. * @group :
  772. * @ver : 2007.05.09
  773. * @by : 홍주희
  774. * @---------------------------------------------------
  775. * @type : function
  776. * @access : public
  777. * @desc : 신생아 지문표 출력
  778. * @param : originalNode
  779. * @param : copyNode
  780. * @return : true/false
  781. * @---------------------------------------------------
  782. */
  783. function fClickFingerPrint(flag){
  784. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/cond/pid"));
  785. model.makeValue("/root/send/reqdata/flag", flag);
  786. if(flag != "add" && !submit("TRMNN00702")){
  787. messageBox("OCR Tag 조회중 문제가 생겼습니다.","C999");
  788. return;
  789. }
  790. var babynm = model.getValue(xNbabyPath + "/babynm");
  791. var dlivdd = model.getValue("/root/hidden/nbabylist[" + grd_nbaby.row + "]/dlivdd");
  792. var dlivtm = model.getValue("/root/hidden/nbabylist[" + grd_nbaby.row + "]/dlivtm");
  793. if(flag == "full"){
  794. if(babynm == ""){
  795. messageBox("출력할 신생아가 없거나 선택하지","E007");
  796. return;
  797. }
  798. /*if(dlivdd == "" || dlivtm == ""){
  799. messageBox("저장 후 지문표를 출력하세요.","C999");
  800. return;
  801. }*/
  802. } else if (flag == "add" || flag == "add2") {
  803. model.removenode("/root/send/adddata");
  804. model.makeNode("/root/send/adddata");
  805. model.makeValue("/root/send/adddata/relignnm", model.getValue("/root/main/patinfocond/patinfo/relignnm"));
  806. model.makeValue("/root/send/adddata/baptnm", model.getValue("/root/main/patinfocond/patinfo/baptnm"));
  807. model.makeValue("/root/send/adddata/brmklctyn", model.getValue(xPartrtnPath + "/brmklctyn"));
  808. model.makeValue("/root/send/adddata/mecnmcolracd", model.getValue(xNbabyPath + "/mecnmcolracd"));
  809. model.makeValue("/root/send/adddata/mecnmcolrayn", model.getValue(xNbabyPath + "/mecnmcolrayn"));
  810. model.makeValue("/root/send/adddata/pdyn", model.getValue(xPartrtnPath + "/pdyn"));
  811. }
  812. model.removenode("/root/send/reqdata");
  813. model.makeNode("/root/send/reqdata");
  814. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/patinfocond/patinfo/pid"));
  815. model.makeValue("/root/send/reqdata/indd", model.getValue("/root/main/patinfocond/patinfo/indd"));
  816. model.makeValue("/root/send/reqdata/cretno", model.getValue("/root/main/patinfocond/patinfo/cretno"));
  817. model.makeValue("/root/send/reqdata/bthdt", dlivdd + dlivtm);
  818. var seq = "+" + model.getValue("/root/hidden/ocrtag/ocrtagseq/seq") + "+";
  819. var barcode = model.getValue("/root/hidden/ocrtag/ocrtagseq/seq");
  820. var formcd = model.getValue("/root/hidden/ocrtag/ocrtagseq/formcd");
  821. var formfromdt = model.getValue("/root/hidden/ocrtag/ocrtagseq/formfromdt");
  822. var pid = model.getValue("/root/main/patinfocond/patinfo/pid");
  823. var patnm = model.getValue("/root/main/patinfocond/patinfo/hngnm");
  824. //var patnm = model.getValue("/root/init/paminfo/list/hngnm");
  825. var rrgstno = model.getValue("/root/main/patinfocond/patinfo/rrgstno1") + "-2XXXXXX";
  826. var indd = model.getValue("/root/main/patinfocond/patinfo/indd");
  827. var cretno = model.getValue("/root/main/patinfocond/patinfo/cretno");
  828. var ordtype = model.getValue("/root/main/patinfocond/patinfo/ordtype");
  829. //var ordtype = model.getValue("/root/init/paminfo/list/ioflag"); //2009-02-17_SMY
  830. var orddeptcd = model.getValue("/root/main/patinfocond/patinfo/orddeptcd");
  831. var orddeptnm = model.getValue("/root/init/deptlist/deptlist[orddeptcd ='" + "2100000000" + "']/orddeptnm");
  832. var medispclid = model.getValue("/root/main/patinfocond/patinfo/orddrid");
  833. //var medispclid = model.getValue("/root/init/paminfo/list/medispclid"); //2009-02-17_SMY
  834. var dlivdt = "";
  835. if(flag != "empty"){
  836. dlivdt = model.getValue(xNbabyPath + "/dlivdd") + model.getValue(xNbabyPath + "/dlivtm");
  837. }
  838. var edc = model.getValue(xPartrtnPath + "/edc");
  839. var prgweekcnt = model.getValue(xPartrtnPath + "/prgweekcnt");
  840. var prgdaycnt = model.getValue(xPartrtnPath + "/prgdaycnt");
  841. var parity = model.getValue(xPartrtnPath + "/parity");
  842. var infcsicknm = model.getValue(xPartrtnPath + "/infcsicknm");
  843. var infcsickspec = model.getValue(xPartrtnPath + "/infcsickspec");
  844. var ptnernm = model.getValue(xPartrtnPath + "/ptnernm");
  845. var ptnertel = model.getValue(xPartrtnPath + "/ptnertel");
  846. var invremk = model.getValue(xPartrtnPath + "/invremk");
  847. var babyno = model.getValue(xNbabyPath + "/babyno");
  848. var babynm = model.getValue(xNbabyPath + "/babynm");
  849. var promyn = model.getValue(xNbabyPath + "/promyn");
  850. var promdd = model.getValue(xNbabyPath + "/promdd");
  851. var promtm = model.getValue(xNbabyPath + "/promtm");
  852. var antibiodrugyn = model.getValue(xNbabyPath + "/antibiodrugyn");
  853. var hometel = model.getValue(xPartrtnPath + "/hometel");
  854. var addr = model.getValue(xPartrtnPath + "/addr");
  855. var detladdr = model.getValue(xPartrtnPath + "/detladdr");
  856. var partrtnremk = model.getValue(xPartrtnPath + "/remk");
  857. var reportid = model.getValue(xPartrtnPath + "/reportid");
  858. var dlivkindcd = model.getValue(xNbabyPath + "/dlivkindcd");
  859. var dlivkindnm = model.getValue("/root/init/M0188list/M0188[cdid ='" + dlivkindcd + "']/cdnm");
  860. var dlivflag = model.getValue(xNbabyPath + "/dlivflag");
  861. var dlivflagnm = model.getValue("/root/init/M0086list/M0086[cdid ='" + dlivflag + "']/cdnm");
  862. var gndr = model.getValue(xNbabyPath + "/gndr");
  863. var weig = model.getValue(xNbabyPath + "/weig");
  864. var weigunit = model.getValue(xNbabyPath + "/weigunit");
  865. var printdd = getCurrentDate().substr(0,4) + "/" + getCurrentDate().substr(4,2) + "/" + getCurrentDate().substr(6,2);
  866. var printtm = getCurrentTime().substr(0,2) + ":" + getCurrentTime().substr(2,2) + ":" + getCurrentTime().substr(4,2);
  867. var usernm = getUserName();
  868. if(weigunit == "1"){
  869. weig += "kg";
  870. }else if(weigunit == "2"){
  871. weig += "g";
  872. } else{
  873. }
  874. var apgarscore1 = model.getValue(xNbabyPath + "/apgarscore1");
  875. var apgarscore5 = model.getValue(xNbabyPath + "/apgarscore5");
  876. var babyremk = model.getValue(xNbabyPath + "/remk");
  877. var nursenm = model.getValue(xNbabyPath + "/nursenm");
  878. if(prgweekcnt != ""){
  879. prgweek = prgweekcnt + "주 " + prgdaycnt + "일";
  880. }else{
  881. prgweek = "";
  882. }
  883. model.removenode("/root/send/printdata");
  884. model.makeNode("/root/send/printdata");
  885. //send 재구성
  886. model.makeValue("/root/send/printdata/partrtninfolist","");
  887. model.makeValue("/root/send/printdata/partrtninfolist/edc", edc);
  888. model.makeValue("/root/send/printdata/partrtninfolist/pid", pid);
  889. model.makeValue("/root/send/printdata/partrtninfolist/patnm", patnm);
  890. model.makeValue("/root/send/printdata/partrtninfolist/rrgstno", rrgstno);
  891. model.makeValue("/root/send/printdata/partrtninfolist/indd", indd);
  892. model.makeValue("/root/send/printdata/partrtninfolist/orddeptnm", orddeptnm);
  893. if(flag == "empty"){
  894. model.makeValue("/root/send/printdata/partrtninfolist/dlivdt", " ");
  895. }else{
  896. model.makeValue("/root/send/printdata/partrtninfolist/dlivdt", dlivdt);
  897. }
  898. model.makeValue("/root/send/printdata/partrtninfolist/prgweekcnt", prgweek);
  899. model.makeValue("/root/send/printdata/partrtninfolist/parity", parity);
  900. model.makeValue("/root/send/printdata/partrtninfolist/infcsicknm", infcsicknm);
  901. model.makeValue("/root/send/printdata/partrtninfolist/infcsickspec", infcsickspec);
  902. model.makeValue("/root/send/printdata/partrtninfolist/promyn", promyn);
  903. model.makeValue("/root/send/printdata/partrtninfolist/promdd", promdd);
  904. model.makeValue("/root/send/printdata/partrtninfolist/promtm", promtm);
  905. model.makeValue("/root/send/printdata/partrtninfolist/antibiodrugyn", antibiodrugyn);
  906. model.makeValue("/root/send/printdata/partrtninfolist/hometel", hometel);
  907. model.makeValue("/root/send/printdata/partrtninfolist/addr", addr + detladdr);
  908. model.makeValue("/root/send/printdata/partrtninfolist/remk", partrtnremk);
  909. model.makeValue("/root/send/printdata/partrtninfolist/printdt", printdd + " " + printtm);
  910. model.makeValue("/root/send/printdata/partrtninfolist/usernm", usernm);
  911. model.makeValue("/root/send/printdata/partrtninfolist/ptnernm", ptnernm);
  912. model.makeValue("/root/send/printdata/partrtninfolist/ptnertel", ptnertel);
  913. model.makeValue("/root/send/printdata/partrtninfolist/invremk", invremk);
  914. //model.makeValue("/root/send/printdata/partrtninfolist/medispclnm", getPatientInfo("apntdr"));// 2010-02-28 JA
  915. model.makeValue("/root/send/printdata/partrtninfolist/medispclnm", model.getValue("/root/main/patinfocond/patinfo/orddrnm"));
  916. model.makeValue("/root/send/printdata/nbabylist/babynm", babynm);
  917. model.makeValue("/root/send/printdata/nbabylist/babyno", babyno);
  918. model.makeValue("/root/send/printdata/nbabylist/dlivkindcd", dlivkindnm);
  919. model.makeValue("/root/send/printdata/nbabylist/dlivflag", dlivflagnm);
  920. model.makeValue("/root/send/printdata/nbabylist/gndr", gndr);
  921. model.makeValue("/root/send/printdata/nbabylist/weig", weig);
  922. model.makeValue("/root/send/printdata/nbabylist/apgarscore1", apgarscore1);
  923. model.makeValue("/root/send/printdata/nbabylist/apgarscore5", apgarscore5);
  924. model.makeValue("/root/send/printdata/nbabylist/babyremk", babyremk);
  925. model.makeValue("/root/send/printdata/nbabylist/nursenm", reportid);
  926. model.makeValue("/root/send/printdata/nbabylist/seq", seq);
  927. model.makeValue("/root/send/printdata/nbabylist/barcode", barcode + "01");
  928. //model.makeValue("/root/send/printdata/nbabylist/logourl", getLogoImageURL());
  929. model.makeValue("/root/send/printdata/nbabylist/logourl", getImageURL("biglogo"+getUserInfo("dutplceinstcd"), "jpg"));
  930. model.makeValue("/root/send/printdata/nbabylist/bdbtype", model.getValue(xNbabyListPath+"/bdbtype"));//혈액형 추가
  931. model.makeValue("/root/send/printdata/nbabylist/ptnerbtype", model.getValue(xNbabyListPath+"/ptnerbtype"));//20110415배우자혈액형 추가
  932. clearParameter("reportprintyn");
  933. //미리보기 옵션에 따라 제어 OCR정보 저장 제어 : 20080911추가,SMY
  934. //if (getParameter("reportprintyn") == "Y"){ // 프린트 출력이 되고 창이 닫혔을 때
  935. //OCR 정보 저장
  936. if(!fSaveOCRIF(barcode, pid, indd, cretno, ordtype, orddeptcd, medispclid, formcd, formfromdt, "", "", "1")){
  937. messageBox("통합기록조회 연동중 실패하였습니다.","C999");
  938. return;
  939. } else {
  940. if (flag == "add" || flag == "add2") {
  941. exeReportPreview("RPMNN00702", "XMLSTR");
  942. } else {
  943. exeReportPreview("RPMNN00701", "XMLSTR");
  944. }
  945. }
  946. //}
  947. }
  948. /**
  949. * @group :
  950. * @ver : 2007.05.09
  951. * @by : 홍주희
  952. * @---------------------------------------------------
  953. * @type : function
  954. * @access : public
  955. * @desc : 진료과 리스트 조회
  956. * @param :
  957. * @param :
  958. * @return :
  959. * @---------------------------------------------------
  960. */
  961. function fGetDeptList(){
  962. if(!submit("TRMNN00703")){
  963. messageBox("진료과 리스트 조회중\n에러가 발생하였습니다.","C999");
  964. return;
  965. }
  966. }
  967. /**
  968. * @group :
  969. * @ver : 2007.05.09
  970. * @by : 홍주희
  971. * @---------------------------------------------------
  972. * @type : function
  973. * @access : public
  974. * @desc : 분만간호기록 신생아 정보 리스트에 추가
  975. * @param :
  976. * @param :
  977. * @return :
  978. * @---------------------------------------------------
  979. */
  980. function fAddnBabyInfo(){
  981. var babycnt = model.getValue(xPartrtnPath + "/babycnt");
  982. var babycntetc = model.getValue(xPartrtnPath + "/babycntetc"); //애기수 콤보
  983. var status = model.getValue(xNbabyPath + "/status");
  984. var babynm = model.getValue(xNbabyPath + "/babynm");
  985. var dlivdd = model.getValue(xNbabyPath + "/dlivdd");
  986. var dlivtm = model.getValue(xNbabyPath + "/dlivtm");
  987. var grd_nbabyCnt = getNodesetCount(xNbabyListPath);
  988. var rows = "";
  989. var row = grd_nbaby.row;
  990. if(babycnt == 4){
  991. babycnt = babycntetc;
  992. }
  993. if(status == ""){
  994. grd_nbabyCnt ++;
  995. }
  996. if(model.getValue(xNbabyPath + "/status") == "" && grd_nbabyCnt > babycnt){
  997. messageBox("아기수보다 신생아리스트가 많을 수 ","I004");
  998. return false;
  999. }
  1000. if(babycnt == ""){
  1001. messageBox("신생아 아기수는","I003");
  1002. return false;
  1003. }
  1004. if(babynm == ""){
  1005. messageBox("신생아 이름은","I003");
  1006. return false;
  1007. }
  1008. if(dlivdd == "" || dlivtm == ""){
  1009. messageBox("분만일시는","I003");
  1010. return false;
  1011. }
  1012. if(Number(dlivtm) > 2359 || dlivtm.length != 4){
  1013. messageBox("분만일시를 정확히","C001");
  1014. return false;
  1015. }
  1016. if(model.getValue(xNbabyPath + "/gndr") == ""){
  1017. messageBox("성별은","I003");
  1018. return false;
  1019. }
  1020. if(model.getValue(xNbabyPath + "/deathyn") == ""){
  1021. messageBox("생사여부를 입력하세요.","I");
  1022. return false;
  1023. }
  1024. if(status == "-"){
  1025. model.setValue(xNbabyPath + "/status", "U");
  1026. }else if(status == ""){
  1027. model.setValue(xNbabyPath + "/status", "I");
  1028. }
  1029. if(status == "-" || status == "U" || status == "I"){
  1030. if(model.getValue(xNbabyListPath + "[" + rowIndex + " ]/status") != "D"){ //20080910, SMY추가 : 삭제일 경우도 U로 업데이트 되서 삭제되지 않으므로 조건 추가함
  1031. //그리드에 추가
  1032. model.copyNode(xNbabyListPath + "[" + rowIndex + " ]", xNbabyPath);
  1033. }
  1034. }else if(status == ""){
  1035. model.duplicate("/root/main/nbabylist", "/root/main/nbabyinfo/nbabylist");
  1036. grd_nbabyCnt++;
  1037. }
  1038. model.resetInstanceNode(xNbabyPath);
  1039. fNbabyCtrlSet();
  1040. if(ibabycnt > grd_nbabyCnt){
  1041. ipt_dlivdd.value = getCurrentDate();
  1042. ipt_dlivdd.dispatch("xforms-value-changed");
  1043. }
  1044. model.refresh();
  1045. }
  1046. /**
  1047. * @group :
  1048. * @ver : 2007.05.09
  1049. * @by : 홍주희
  1050. * : - 2008.09.09 로직수정(by SMY) : 한 트랜잭션 안에서 저장이 되어야 함
  1051. * @---------------------------------------------------
  1052. * @type : function
  1053. * @access : public
  1054. * @desc : 저장(인증저장/임시저장)
  1055. * @param :
  1056. * @param :
  1057. * @return :
  1058. * @---------------------------------------------------
  1059. */
  1060. function fSaveButton(saveflag){
  1061. debugger;
  1062. if(fAddnBabyInfo() == false){
  1063. return;
  1064. }
  1065. var check = "";
  1066. var babyCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1067. var partCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1068. var avulsionCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1069. var grd_avulsionCnt = getNodesetCount(xAvulsionListPath);
  1070. var babySuccessYN = true;
  1071. var partSuccessYN = true;
  1072. var entrSuccessYN = true;
  1073. var authSuccessYN = true;
  1074. for(var i = 1; i < grd_nbaby.rows; i++){
  1075. if(model.getValue(xNbabyListPath + "[" + i + "]/status") == "I" ||
  1076. model.getValue(xNbabyListPath + "[" + i + "]/status") == "U" ||
  1077. model.getValue(xNbabyListPath + "[" + i + "]/status") == "D"){
  1078. babyCompareYN = false;
  1079. }
  1080. if(saveflag == "sign" &&
  1081. model.getValue(xNbabyListPath + "[" + i + "]/signno") == "" &&
  1082. model.getValue(xNbabyListPath + "[" + i + "]/status") == "-"){
  1083. model.setValue(xNbabyListPath + "[" + i + "]/status", "U");
  1084. babyCompareYN = false;
  1085. }
  1086. }
  1087. for(var j = 1; j <= grd_avulsionCnt; j++){
  1088. if(grd_avulsion.rowstatus(j) != "0"){
  1089. avulsionCompareYN = false;
  1090. }
  1091. }
  1092. partCompareYN = fCompareNodes("/root/hidden/partrtninfolist","/root/main/partrtninfo/partrtninfolist");
  1093. if(babyCompareYN == true && partCompareYN == true && avulsionCompareYN == true && model.getValue(xPartrtnEntrPath + "/status") != "U"){
  1094. messageBox("변경된 내용이","I004");
  1095. return;
  1096. }
  1097. //신생아 정보 저장
  1098. //신생아가 단태아인 경우 리스트에 올리지 않고 등록 다태아의 경우 리스트에서 등록후 저장
  1099. if(partCompareYN == false || avulsionCompareYN == false){
  1100. if(model.getValue(xPartrtnPath + "/status") == ""){
  1101. model.setValue(xPartrtnPath + "/status","I");
  1102. }else{
  1103. model.setValue(xPartrtnPath + "/status","U");
  1104. }
  1105. }
  1106. if(saveflag == "sign"){
  1107. model.removeNodeSet("/root/send");
  1108. model.makeNode("/root/send");
  1109. model.makeNode("/root/send/partrtninfo"); //산모분만정보
  1110. model.makeNode("/root/send/avulsioninfo"); //적출물정보
  1111. model.makeNode("/root/send/nbabyinfo"); //신생아출생정보
  1112. model.makeNode("/root/send/partrtnentr"); //참여자정보
  1113. model.makeNode("/root/send/signinfo"); //인증정보
  1114. model.makeNode("/root/send/reportinfo"); //등록정보
  1115. //*********************인증정보
  1116. var dlivdd = "";
  1117. var dlivtm = "";
  1118. //Sign.certreload = true ;
  1119. for(var i = 1; i < grd_nbaby.rows; i++){
  1120. sign_row = i;
  1121. if(Sign.signprocess() == false){
  1122. return;
  1123. }else{
  1124. //인증 기본정보
  1125. model.makeValue("/root/send/signinfo/signdata[" + i + "]/pid", model.getValue("/root/main/cond/pid"));
  1126. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddd", model.getValue("/root/main/cond/indd"));
  1127. model.makeValue("/root/send/signinfo/signdata[" + i + "]/cretno", model.getValue("/root/main/cond/cretno"));
  1128. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signno", model.getValue(xNbabyListPath + "[" + i + "]/signno"));
  1129. model.makeValue("/root/send/signinfo/signdata[" + i + "]/recdd", model.getValue("/root/main/cond/reportdd"));
  1130. model.makeValue("/root/send/signinfo/signdata[" + i + "]/rectm", model.getValue("/root/main/cond/reporttm"));
  1131. model.makeValue("/root/send/signinfo/signdata[" + i + "]/recsaveflag", "N");
  1132. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signflag", "02");
  1133. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signgenrflag", model.getValue("/root/main/patinfocond/patinfo/ordtype"));
  1134. //model.makeValue("/root/send/signinfo/signdata[" + i + "]/signgenrflag", model.getValue("/root/init/paminfo/list/ioflag")); //2009-02-17_SMY
  1135. model.makeValue("/root/send/signinfo/signdata[" + i + "]/formcd", s_FormCd);
  1136. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddeptcd", model.getValue("/root/main/patinfocond/patinfo/orddeptcd"));
  1137. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddrid", model.getValue("/root/main/patinfocond/patinfo/orddrid"));
  1138. //model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddrid", model.getValue("/root/init/paminfo/list/medispclid")); //2009-02-17_SMY
  1139. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  1140. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
  1141. dlivdd = model.getValue(xNbabyListPath + "[" + i + "]/dlivdd");
  1142. dlivtm = model.getValue(xNbabyListPath + "[" + i + "]/dlivtm");
  1143. model.makeValue("/root/send/signinfo/signdata[" + i + "]/bthdt", dlivdd + dlivtm + "00");
  1144. model.makeValue("/root/send/signinfo/signdata[" + i + "]/status", model.getValue("/root/main/nbabylist/nbabylist["+i+"]/status")); //삭제일 경우 'D'
  1145. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signno", model.getValue("/root/main/nbabylist/nbabylist["+i+"]/signno"));
  1146. }
  1147. }
  1148. //******************산모분만정보
  1149. var prgweekcnt = model.getValue(xPartrtnPath + "/prgweekcnt");
  1150. var prgdaycnt = model.getValue(xPartrtnPath + "/prgdaycnt");
  1151. if(prgweekcnt.length == 0) {
  1152. model.setValue(xPartrtnPath + "/prgweekcnt", "00");
  1153. }else if(prgweekcnt.length == 1) {
  1154. model.setValue(xPartrtnPath + "/prgweekcnt", "0" + prgweekcnt);
  1155. }else{}
  1156. if(prgweekcnt == "") {
  1157. model.setValue(xPartrtnPath + "/prgdaycnt", "0");
  1158. }
  1159. if(model.getValue(xPartrtnPath + "/status") == ""){
  1160. model.setValue(xPartrtnPath + "/status", "I");
  1161. }
  1162. var xmldata = instance1.selectNodesXml("/root/main/partrtninfo/partrtninfolist/avulsionspec/avulsionspec");
  1163. model.removenode("/root/main/partrtnpatinfo/partrtninfolist/avulsionspec");
  1164. model.makeValue("/root/main/partrtnpatinfo/partrtninfolist/avulsionspec", xmldata);
  1165. model.setValue("/root/main/partrtninfo/partrtninfolist/cretno", model.getValue("/root/main/cond/cretno"));
  1166. model.setValue("/root/send/partrtninfo", getNodeListCSV(model.instances(0).selectNodes("/root/main/partrtninfo/partrtninfolist")));
  1167. //*******************적출물정보
  1168. var avulsionHeader = "avulsionstat▦avulsionweig▦avulsionheig▦avulsionflag▦avulsionseqno▦avulsionflagnm▦avulsionplce▩"
  1169. var avulsionData = "";
  1170. for(var i = 1; i < grd_avulsion.rows; i++){
  1171. if(grd_avulsion.rowstatus(i) == 0){
  1172. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "-")
  1173. }else if(grd_avulsion.rowstatus(i) == 1){
  1174. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "I")
  1175. }else if(grd_avulsion.rowstatus(i) == 2){
  1176. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "U")
  1177. }else if(grd_avulsion.rowstatus(i) == 3){
  1178. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "I")
  1179. }else if(grd_avulsion.rowstatus(i) == 4){
  1180. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "D")
  1181. }else{}
  1182. avulsionData += model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat") + "▦"
  1183. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionweig") + "▦"
  1184. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionheig") + "▦"
  1185. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionflag") + "▦"
  1186. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionseqno") + "▦"
  1187. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionflagnm") + "▦"
  1188. + model.getValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionplce") + "▩"
  1189. }
  1190. if(avulsionData != ""){
  1191. model.setValue("/root/send/avulsioninfo", avulsionHeader + avulsionData);
  1192. }
  1193. //******************신생아정보
  1194. var nbabyHeader = "babynm▦dlivdd▦dlivtm▦kdlivdd▦kdlivtm▦dlivkindcd▦dlivflag▦deathyn▦gndr▦apgarscore1▦apgarscore5▦apgarscorespec▦weig▦weigunit"
  1195. +"▦dlivplcecd▦dlivplceetcspec▦urinecd▦mecnmcolrayn▦mecnmcolracd▦oxygenabsopcd▦oxygenabsopspec▦stoolcd▦trueknotyn▦trueknotspec"
  1196. +"▦nuchalcordcd▦nuchalcordpart▦nuchalcordspec▦nuchalcordtime▦promyn▦promdd▦promtm▦antibiodrugyn▦fstlctyn"
  1197. +"▦lctrejtresnspec▦lctdd▦lcttm▦cardresusyn▦cardresuscd▦cardresusspec▦remk▦status▦dlivpredrugspec▦delcheck▦signno▦dlivflagetc"
  1198. +"▦nbabyinfsick▦nbabyinfsickspec▦innbabyyn▩"
  1199. var nbabyData = "";
  1200. for(var i = 1; i < grd_nbaby.rows; i++){
  1201. nbabyData += model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/babynm") + "▦"
  1202. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivdd") + "▦"
  1203. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivtm") + "▦"
  1204. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/kdlivdd") + "▦"
  1205. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/kdlivtm") + "▦"
  1206. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivkindcd") + "▦"
  1207. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivflag") + "▦"
  1208. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/deathyn") + "▦"
  1209. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/gndr") + "▦"
  1210. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/apgarscore1") + "▦"
  1211. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/apgarscore5") + "▦"
  1212. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/apgarscorespec") + "▦"
  1213. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/weig") + "▦"
  1214. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/weigunit") + "▦"
  1215. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivplcecd") + "▦"
  1216. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivplceetcspec") + "▦"
  1217. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/urinecd") + "▦"
  1218. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/mecnmcolrayn") + "▦"
  1219. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/mecnmcolracd") + "▦"
  1220. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/oxygenabsopcd") + "▦"
  1221. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/oxygenabsopspec") + "▦"
  1222. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/stoolcd") + "▦"
  1223. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/trueknotyn") + "▦"
  1224. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/trueknotspec") + "▦"
  1225. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nuchalcordcd") + "▦"
  1226. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nuchalcordpart") + "▦"
  1227. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nuchalcordspec") + "▦"
  1228. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nuchalcordtime") + "▦"
  1229. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/promyn") + "▦"
  1230. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/promdd") + "▦"
  1231. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/promtm") + "▦"
  1232. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/antibiodrugyn") + "▦"
  1233. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/fstlctyn") + "▦"
  1234. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/lctrejtresnspec") + "▦"
  1235. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/lctdd") + "▦"
  1236. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/lcttm") + "▦"
  1237. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/cardresusyn") + "▦"
  1238. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/cardresuscd") + "▦"
  1239. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/cardresusspec") + "▦"
  1240. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/remk") + "▦"
  1241. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/status") + "▦"
  1242. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivpredrugspec") + "▦"
  1243. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/delcheck") + "▦"
  1244. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/signno") + "▦"
  1245. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/dlivflagetc") + "▦"
  1246. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nbabyinfsick") + "▦"
  1247. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/nbabyinfsickspec") + "▦"
  1248. + model.getValue("/root/main/nbabylist/nbabylist[" + i + "]/innbabyyn") + "▩"
  1249. }
  1250. if(nbabyData != ""){
  1251. model.setValue("/root/send/nbabyinfo", nbabyHeader + nbabyData);
  1252. }
  1253. //*******************참여자정보
  1254. model.setValue(xPartrtnEntrPath + "/cretno", model.getValue("/root/main/patinfocond/patinfo/cretno"));
  1255. model.setValue("/root/send/partrtnentr", getNodeListCSV(model.instances(0).selectNodes("/root/main/partrtnentr/partrtnentrlist")));
  1256. //*******************등록정보(cond)
  1257. model.makeValue("/root/send/reportinfo/reportlist","");
  1258. model.copyNode("/root/send/reportinfo/reportlist", "/root/main/cond");
  1259. //alert(model.getValue("/root/send/signinfo/signdata"));
  1260. if(submit("TXMNN00705")){
  1261. messageBox("저장되었습니다.","I");
  1262. fGetPartrtnRecInfo();
  1263. //fInitialize(); //주석처리_2009-02-17_SMY
  1264. }
  1265. }
  1266. }
  1267. /*****************************************************************************************************
  1268. function fSaveButton(saveflag){
  1269. var rtncd = "";
  1270. //if(rdo_babycnt.value != "" && ipt_dlivtm.value != "" && rdo_gndr.value != "" && cmb_babynm.value != ""){
  1271. rtncd = messageBox("하단에 기록중인 신생아 출생 정보를 저장","S001");
  1272. if(rtncd == "6"){
  1273. if(fAddnBabyInfo() == false){
  1274. return;
  1275. }
  1276. }
  1277. //}
  1278. var check = "";
  1279. var babyCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1280. var partCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1281. var avulsionCompareYN = true; //true:내용이 변경 되지 않음, false:내용이 변경됨
  1282. var grd_avulsionCnt = getNodesetCount(xAvulsionListPath);
  1283. var babySuccessYN = true;
  1284. var partSuccessYN = true;
  1285. var entrSuccessYN = true;
  1286. var authSuccessYN = true;
  1287. for(var i = 1; i < grd_nbaby.rows; i++){
  1288. if(model.getValue(xNbabyListPath + "[" + i + "]/status") == "I" ||
  1289. model.getValue(xNbabyListPath + "[" + i + "]/status") == "U" ||
  1290. model.getValue(xNbabyListPath + "[" + i + "]/status") == "D"){
  1291. babyCompareYN = false;
  1292. }
  1293. if(saveflag == "sign" &&
  1294. model.getValue(xNbabyListPath + "[" + i + "]/signno") == "" &&
  1295. model.getValue(xNbabyListPath + "[" + i + "]/status") == "-"){
  1296. model.setValue(xNbabyListPath + "[" + i + "]/status", "U");
  1297. babyCompareYN = false;
  1298. }
  1299. }
  1300. for(var j = 1; j <= grd_avulsionCnt; j++){
  1301. if(grd_avulsion.rowstatus(j) != "0"){
  1302. avulsionCompareYN = false;
  1303. }
  1304. }
  1305. partCompareYN = fCompareNodes("/root/hidden/partrtninfolist","/root/main/partrtninfo/partrtninfolist");
  1306. if(babyCompareYN == true && partCompareYN == true && avulsionCompareYN == true && model.getValue(xPartrtnEntrPath + "/status") != "U"){
  1307. messageBox("변경된 내용이","I004");
  1308. return;
  1309. }
  1310. //신생아 정보 저장
  1311. //신생아가 단태아인 경우 리스트에 올리지 않고 등록 다태아의 경우 리스트에서 등록후 저장
  1312. if(babyCompareYN == false){
  1313. babySuccessYN = fNbabyPatIns();
  1314. }
  1315. if(partCompareYN == false || avulsionCompareYN == false){
  1316. if(model.getValue(xPartrtnPath + "/status") == ""){
  1317. model.setValue(xPartrtnPath + "/status","I");
  1318. }else{
  1319. model.setValue(xPartrtnPath + "/status","U");
  1320. }
  1321. partSuccessYN = fPartrtnIns();
  1322. }
  1323. //참여자 정보저장
  1324. entrSuccessYN = fEntrInfoSave();
  1325. grd_nbaby.rebuild();
  1326. var signrtn = "";
  1327. if(babySuccessYN == true && partSuccessYN == true && entrSuccessYN == true){
  1328. if(saveflag == "sign"){
  1329. signrtn = fSginInfoSave();
  1330. if(signrtn == false){
  1331. messageBox("인증정보 저장을","E009");
  1332. return;
  1333. }else if(signrtn == true){
  1334. messageBox("저장이","I002");
  1335. fGetBabyPartrtnInfo();
  1336. }else{}
  1337. }else{
  1338. messageBox("저장이","I002");
  1339. fGetBabyPartrtnInfo();
  1340. }
  1341. }else if(babySuccessYN == false){
  1342. messageBox("신생아정보 저장을","E009");
  1343. }else if(partSuccessYN == false){
  1344. messageBox("산모정보 저장을","E009");
  1345. }else if(entrSuccessYN == false){
  1346. messageBox("참여자정보 저장을","E009");
  1347. }else{}
  1348. if(getNodesetCount(xNbabyListPath) > 0){
  1349. for(var j=1; j <= getNodesetCount(xNbabyListPath); j++){
  1350. if(model.getValue(xNbabyListPath + "[" + j + "]/signno") != ""){
  1351. btn_save.disabled = true;
  1352. return;
  1353. }else{
  1354. btn_save.disabled = false;
  1355. }
  1356. }
  1357. }else{
  1358. btn_save.disabled = false;
  1359. }
  1360. }
  1361. *********************************************************************************************************/
  1362. /**
  1363. * @group :
  1364. * @ver : 2007.05.09
  1365. * @by : 홍주희
  1366. * @---------------------------------------------------
  1367. * @type : function
  1368. * @access : public
  1369. * @desc : 분만간호기록 신생아 정보 저장
  1370. * @param :
  1371. * @param :
  1372. * @return :
  1373. * @---------------------------------------------------
  1374. */
  1375. function fNbabyPatIns(){
  1376. model.resetInstanceNode("/root/send");
  1377. model.makeValue("/root/send/savedata/nbabylist","");
  1378. model.copyNode("/root/send/savedata", "/root/main/nbabylist");
  1379. model.makeValue("/root/send/savedata/cond","");
  1380. model.copyNode("/root/send/savedata/cond", "/root/main/cond");
  1381. if(submit("TXMNN00702")){
  1382. return true;
  1383. }
  1384. return false;
  1385. }
  1386. /**
  1387. * @group :
  1388. * @ver : 2007.05.09
  1389. * @by : 홍주희
  1390. * @---------------------------------------------------
  1391. * @type : function
  1392. * @access : public
  1393. * @desc : 분만간호기록 산모 정보 저장
  1394. * @param :
  1395. * @param :
  1396. * @return :
  1397. * @---------------------------------------------------
  1398. */
  1399. function fPartrtnIns(){
  1400. var prgweekcnt = model.getValue(xPartrtnPath + "/prgweekcnt");
  1401. var prgdaycnt = model.getValue(xPartrtnPath + "/prgdaycnt");
  1402. if(prgweekcnt.length == 0) {
  1403. model.setValue(xPartrtnPath + "/prgweekcnt", "00");
  1404. }else if(prgweekcnt.length == 1) {
  1405. model.setValue(xPartrtnPath + "/prgweekcnt", "0" + prgweekcnt);
  1406. }else{}
  1407. if(prgweekcnt == "") {
  1408. model.setValue(xPartrtnPath + "/prgdaycnt", "0");
  1409. }
  1410. model.resetInstanceNode("/root/send");
  1411. if(model.getValue(xPartrtnPath + "/status") == ""){
  1412. model.setValue(xPartrtnPath + "/status", "I");
  1413. }
  1414. /* 산모정보 및 적출물 정보 저장 */
  1415. model.makeValue("/root/send/savedata/partrtninfo","");
  1416. model.copyNode("/root/send/savedata", "/root/main/partrtninfo");
  1417. var xmldata = instance1.selectNodesXml("/root/main/partrtninfo/partrtninfolist/avulsionspec/avulsionspec");
  1418. model.removenode("/root/send/savedata/partrtninfolist/avulsionspec");
  1419. model.makeValue("/root/send/savedata/partrtninfolist/avulsionspec", xmldata);
  1420. model.makeValue("/root/send/savedata/cond","");
  1421. model.makeValue("/root/send/savedata/avulsioninfo", "");
  1422. for(var i = 1; i < grd_avulsion.rows; i++){
  1423. if(grd_avulsion.rowstatus(i) == 0){
  1424. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "-")
  1425. }else if(grd_avulsion.rowstatus(i) == 1){
  1426. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "I")
  1427. }else if(grd_avulsion.rowstatus(i) == 2){
  1428. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "U")
  1429. }else if(grd_avulsion.rowstatus(i) == 3){
  1430. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "I")
  1431. }else if(grd_avulsion.rowstatus(i) == 4){
  1432. model.setValue("/root/main/avulsioninfo/avulsionlist[" + i + "]/avulsionstat", "D")
  1433. }else{}
  1434. }
  1435. model.copyNode("/root/send/savedata/avulsioninfo", "/root/main/avulsioninfo");
  1436. model.copyNode("/root/send/savedata/cond", "/root/main/cond");
  1437. model.setValue("/root/send/savedata/partrtninfolist/cretno", model.getValue("/root/main/cond/cretno"));
  1438. if(submit("TXMNN00701")){
  1439. return true;
  1440. }
  1441. return false;
  1442. }
  1443. /**
  1444. * @group :
  1445. * @ver : 2007.05.09
  1446. * @by : 홍주희
  1447. * @---------------------------------------------------
  1448. * @type : function
  1449. * @access : public
  1450. * @desc : 분만간호기록 참여자 정보 저장
  1451. * @param :
  1452. * @param :
  1453. * @return :
  1454. * @---------------------------------------------------
  1455. */
  1456. function fEntrInfoSave(){
  1457. model.resetInstanceNode("/root/send");
  1458. model.makeValue("/root/send/savedata/partrtnentr","");
  1459. model.setValue(xPartrtnEntrPath + "/cretno", model.getValue("/root/main/patinfocond/patinfo/cretno"));
  1460. model.copyNode("/root/send/savedata", "/root/main/partrtnentr");
  1461. model.makeValue("/root/send/savedata/cond","");
  1462. model.copyNode("/root/send/savedata/cond", "/root/main/cond");
  1463. if(submit("TXMNN00703")){
  1464. return true;
  1465. }
  1466. return false;
  1467. }
  1468. /**
  1469. * @group :
  1470. * @ver : 2007.05.09
  1471. * @by : 홍주희
  1472. * @---------------------------------------------------
  1473. * @type : function
  1474. * @access : public
  1475. * @desc : 인증 저장 데이터 생성
  1476. * @param :
  1477. * @param :
  1478. * @return :
  1479. * @---------------------------------------------------
  1480. */
  1481. function fSginInfoSave(){
  1482. model.removenode("/root/send/signinfo");
  1483. model.makenode("/root/send/signinfo");
  1484. var dlivdd = "";
  1485. var dlivtm = "";
  1486. Sign.certreload = true ;
  1487. for(var i = 1; i < grd_nbaby.rows; i++){
  1488. sign_row = i;
  1489. if(Sign.signprocess() == false){
  1490. return;
  1491. }else{
  1492. //인증 기본정보
  1493. model.makeValue("/root/send/signinfo/signdata[" + i + "]/pid", model.getValue("/root/main/cond/pid"));
  1494. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddd", model.getValue("/root/main/cond/indd"));
  1495. model.makeValue("/root/send/signinfo/signdata[" + i + "]/cretno", model.getValue("/root/main/cond/cretno"));
  1496. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signno", model.getValue(xNbabyListPath + "[" + i + "]/signno"));
  1497. model.makeValue("/root/send/signinfo/signdata[" + i + "]/recdd", model.getValue("/root/main/cond/reportdd"));
  1498. model.makeValue("/root/send/signinfo/signdata[" + i + "]/rectm", model.getValue("/root/main/cond/reporttm"));
  1499. model.makeValue("/root/send/signinfo/signdata[" + i + "]/recsaveflag", "N");
  1500. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signflag", "02");
  1501. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signgenrflag", model.getValue("/root/main/patinfocond/patinfo/ordtype"));
  1502. //model.makeValue("/root/send/signinfo/signdata[" + i + "]/signgenrflag", model.getValue("/root/init/paminfo/list/ioflag")); //2009-02-17_SMY
  1503. model.makeValue("/root/send/signinfo/signdata[" + i + "]/formcd", s_FormCd);
  1504. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddeptcd", model.getValue("/root/main/patinfocond/patinfo/orddeptcd"));
  1505. model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddrid", model.getValue("/root/main/patinfocond/patinfo/orddrid"));
  1506. //model.makeValue("/root/send/signinfo/signdata[" + i + "]/orddrid", model.getValue("/root/init/paminfo/list/medispclid")); //2009-02-17_SMY
  1507. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
  1508. model.makeValue("/root/send/signinfo/signdata[" + i + "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
  1509. dlivdd = model.getValue(xNbabyListPath + "[" + i + "]/dlivdd");
  1510. dlivtm = model.getValue(xNbabyListPath + "[" + i + "]/dlivtm");
  1511. model.makeValue("/root/send/signinfo/signdata[" + i + "]/bthdt", dlivdd + dlivtm + "00");
  1512. }
  1513. }
  1514. model.resetinstancenode("/root/main/nbabyinfo/nbabylist");
  1515. if(submit("TXMNN00704")){
  1516. return true;
  1517. }else{
  1518. return false;
  1519. }
  1520. }
  1521. /**
  1522. * @group :
  1523. * @ver : 2007.05.09
  1524. * @by : 홍주희
  1525. * @---------------------------------------------------
  1526. * @type : function
  1527. * @access : public
  1528. * @desc : 인증데이터 생성 함수
  1529. * @param :
  1530. * @param :
  1531. * @return :
  1532. * @---------------------------------------------------
  1533. */
  1534. function fMake_SignData(){
  1535. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt");
  1536. if(babycnt != "4"){
  1537. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/babycnt", rdo_babycnt.label);
  1538. }else{
  1539. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/babycnt", cmb_babycntetc.label);
  1540. }
  1541. //산모정보
  1542. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/plataexpmthdcd", rdo_plataexpmthdcd.label);
  1543. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/prgweekcnt" , ipt_prgweekcnt.label + "wks " + ipt_prgdaycnt.label + "days");
  1544. if(babycnt == "1" || babycnt == "2" || babycnt == "3"){
  1545. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/babycnt", rdo_babycnt.label);
  1546. }else if(babycnt == "4"){
  1547. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/babycnt", cmb_babycntetc.label);
  1548. }else{}
  1549. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/infcsick" , rdo_infcsickyn.label + " " + chx_infcsicknm.label + " " + ipt_infcsickspec.label);
  1550. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/guiddlivyn", rdo_guiddlivyn.label);
  1551. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/oxtcyn" , rdo_oxtcyn.label);
  1552. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/periinc" , rdo_periincyn.label + " " + cmb_periincnm.label);
  1553. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/perilcrtyn", rdo_perilcrtyn.label);
  1554. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/lyinwo" , rdo_lyinwoyn.label + " " + cmb_lyinwoflag.label + " " + ipt_lyinwoflagspcffact.label);
  1555. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/brmklctyn" , rdo_brmklctyn.label);
  1556. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm1" , ipt_entrdoct1id.label);
  1557. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm2" , ipt_entrdoct2id.label);
  1558. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm3" , ipt_entrdoct3id.label);
  1559. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm4" , ipt_entrnurse1id.label);
  1560. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm5" , ipt_entrnurse2id.label);
  1561. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/entrnm6" , ipt_entrnurse3id.label);
  1562. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/mothertype" , rdo_mothertype.label);
  1563. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/remk2" , tar_remk2.label);
  1564. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/art" , rdo_artyn.label + " " + cmb_artnm.label); // 16.01.13 - AYS 추가(보조생식술여부)
  1565. model.copyNode(xNbabyPath,"/root/main/nbabylist/nbabylist[" + sign_row + "]");
  1566. var dlivkind = cmb_dlivkindcd.value.substr(1,1);
  1567. cmb_dlivflag.choices.itemset.attribute("nodeset") = "/root/init/dlivflag" + dlivkind + "/M0086";
  1568. model.refresh();
  1569. //신생아정보
  1570. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/babynm" , ipt_babynm.label);
  1571. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/dlivdd" , ipt_dlivdd.label);
  1572. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/dlivtm" , ipt_dlivtm.label);
  1573. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/dlivdt" , ipt_dlivdd.label + " " + ipt_dlivtm.label);
  1574. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/dlivkind" , cmb_dlivkindcd.label + " " + cmb_dlivflag.label);
  1575. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/deathyn" , rdo_deathyn.label);
  1576. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/gndr" , rdo_gndr.label);
  1577. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/apgarscore", ipt_apgarscore1.label + "/" + ipt_apgarscore5.label);
  1578. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/weig" , ipt_weig.label + cmb_weigunit.label);
  1579. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/dlivplce" , cmb_dlivplcecd.label + " " + ipt_dlivplceetcspec.label);
  1580. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/urinecd" , rdo_urinecd.label);
  1581. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/mecnmcolra", rdo_mecnmcolrayn.label + " " + cmb_mecnmcolracd.label);
  1582. if(ipt_oxygenabsopspec.label == ""){
  1583. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/oxygenabsop", rdo_oxygenabsopcd.label);
  1584. }else{
  1585. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/oxygenabsop", rdo_oxygenabsopcd.label + " " + ipt_oxygenabsopspec.label + "(1/분)");
  1586. }
  1587. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/stool" , rdo_stool.label);
  1588. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/trueknot", rdo_trueknotyn.label + " " + cmb_trueknotspec.label);
  1589. var nuchalcord = "";
  1590. // if(rdo_nuchalcordyn.value == "Y"){
  1591. if(model.getValue("/root/main/nbabyinfo/nbabylist/nuchalcordcd") == "Y"){
  1592. nuchalcord = rdo_nuchalcordyn.label + " 부위:" + cmb_nuchalcordpart.label + " " + ipt_nuchalcordspec.label + ", 횟수:" + cmb_nuchalcordtime.label;
  1593. }else{
  1594. nuchalcord = rdo_nuchalcordyn.label;
  1595. }
  1596. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/nuchalcord" , nuchalcord);
  1597. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/prom" , rdo_promyn.label + " " + ipt_promdd.label + " " + ipt_promtm.label);
  1598. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/antibiodrugyn", rdo_antibiodrugyn.label);
  1599. var fstlct = "";
  1600. var fstlctyn = model.getValue("/root/main/nbabyinfo/nbabylist/fstlctyn");
  1601. // if(rdo_fstlctyn.value = "N"){
  1602. //20120207_KNUH_Start_신생아입원, 모자동실 유무,
  1603. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/innbabyyn", rdo_innbabyyn.label);
  1604. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/pdyn", rdo_pdyn.label);
  1605. //20120207_KNUH_Start_첫모유시간 정보 추가 감염성질환 및 기타.
  1606. if(fstlctyn == "N"){
  1607. if(cmb_lctrejtresnspec.value=="19") {
  1608. fstlct = rdo_fstlctyn.label + ", " + cmb_lctrejtresnspec.label + ", " + chk_nbabyinfsick.label + ", " + ipt_nbabyinfsickspec.label;
  1609. } else {
  1610. fstlct = rdo_fstlctyn.label + ", " + cmb_lctrejtresnspec.label + ", " + ipt_dlivpredrugspec.label;
  1611. }
  1612. }else if(fstlctyn == "Y"){
  1613. fstlct = rdo_fstlctyn.label + " " + ipt_lctdd.label + " " + ipt_lcttm.label;
  1614. }
  1615. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/fstlct", fstlct);
  1616. var cardresus = "";
  1617. var cardresusyn = model.getValue("/root/main/nbabyinfo/nbabylist/cardresusyn");
  1618. //if(rdo_cardresusyn.value == "N"){
  1619. if(cardresusyn == "N"){
  1620. cardresus = rdo_cardresusyn.label;
  1621. }else if(cardresusyn == "Y"){
  1622. cardresus = rdo_cardresusyn.label + " " + chx_cardresuscd.label + " " + ipt_cardresusspec.label;
  1623. }
  1624. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/cardresus", cardresus);
  1625. model.makeValue("/root/send/signinfo/signdata[" + sign_row + "]/remk1", tar_remk1.label);
  1626. var avulsioncnt = getNodesetCount(xAvulsionListPath);
  1627. var avulsionflag = "";
  1628. var avulsionflagnm = "";
  1629. for(var i = 1; i <= avulsioncnt; i++){
  1630. avulsionflag = model.getValue(xAvulsionListPath + "[" + i + "]/avulsionflag");
  1631. avulsionflagnm = model.getValue("/root/init/M0324list/M0324[cdid ='" + avulsionflag + "']/cdnm");
  1632. model.makeValue(xAvulsionListPath + "[" + i + "]/avulsionflagnm", avulsionflagnm);
  1633. }
  1634. model.makeNode("/root/send/signinfo/signdata[" + sign_row + "]/avulsioninfo");
  1635. model.copynode("/root/send/signinfo/signdata[" + sign_row + "]/avulsioninfo", "/root/main/avulsioninfo");
  1636. Sign.addnode("/root/send/signinfo/signdata[" + sign_row + "]");
  1637. }
  1638. /**
  1639. * @group :
  1640. * @ver : 2009.02.16
  1641. * @by : 성미연
  1642. * @---------------------------------------------------
  1643. * @type : function
  1644. * @access : public
  1645. * @desc : 참여의사/간호사명 삭제시 해당 인스턴스 아이디삭제
  1646. * @param :
  1647. * @param :
  1648. * @return :
  1649. * @---------------------------------------------------
  1650. */
  1651. function fDelEntrInfo(EntrNm, Seq){
  1652. if(model.getValue(xPartrtnEntrPath + "/" + EntrNm) == ""){
  1653. model.resetInstanceNode(xPartrtnEntrPath + "/entrid" + Seq);
  1654. }
  1655. }
  1656. /**
  1657. * @group :
  1658. * @ver : 2009.02.16
  1659. * @by : 성미연
  1660. * @---------------------------------------------------
  1661. * @type : function
  1662. * @access : public
  1663. * @desc : 부서조건에 따른 병실 조회
  1664. * @param :
  1665. * @param :
  1666. * @return :
  1667. * @---------------------------------------------------
  1668. */
  1669. function fGetRoomInfo() {
  1670. model.removeNodeset("/root/init/roominfo/room/roomcd");
  1671. model.resetInstanceNode("/root/main/cond/patnm");
  1672. model.resetInstanceNode("/root/main/cond/pid");
  1673. model.removeNodeset(xNbabyListPath);
  1674. model.removeNodeset(xAvulsionListPath);
  1675. model.resetInstanceNode(xNbabyPath);
  1676. model.resetInstanceNode(xPartrtnPath);
  1677. model.resetInstanceNode(xPartrtnEntrPath);
  1678. model.removeNodeset("/root/send/reqdata");
  1679. model.makeNode("/root/send/reqdata");
  1680. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1681. if (submit("TRMNW10902", false)) {
  1682. if (model.getValue("/root/main/cond/upinfopid") != "") { //상단정보에 환자가 셋팅되어 있을 경우
  1683. model.setValue("/root/main/cond/roomcd", model.getValue("/root/main/cond/upinforoomcd"));
  1684. //model.setValue("/root/main/cond/roomcd", model.getValue("/root/init/paminfo/list/roomcd"));
  1685. //퇴원한 환자는 조회조건 disable_20090225_SMY
  1686. if(model.getValue("/root/main/cond/indschacptstat") == "D" || model.getValue("/root/main/cond/indschacptstat") == "T"){
  1687. cmb_ward.disabled = true;
  1688. cmb_room.disabled = true;
  1689. cmb_patnm.disabled = true;
  1690. ipt_pid.disabled = true;
  1691. btn_srch.disabled = true;
  1692. model.removenode("/root/send");
  1693. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/upinfopid"));
  1694. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  1695. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  1696. if (submit("TRMNN00704", false)) {
  1697. var pid = model.getValue("/root/main/cond/upinfopid");
  1698. if (pid != "") { //상단정보에 환자가 셋팅되어 있을 경우
  1699. model.setValue("/root/main/cond/patnm", pid);
  1700. model.setValue("/root/main/cond/pid", pid);
  1701. //환자정보조건 셋팅
  1702. model.copyNode("/root/main/patinfocond/patinfo", "/root/init/patinfo/patlist[pid = '" + pid + "']");
  1703. //조회
  1704. fGetPartrtnRecInfo();
  1705. }
  1706. }
  1707. }else{
  1708. fGetPatInfo();
  1709. }
  1710. } else {
  1711. model.setValue("/root/main/cond/roomcd", "-");
  1712. model.removeNodeset("/root/init/patinfo/patlist");
  1713. }
  1714. }
  1715. model.refresh();
  1716. }
  1717. /**
  1718. * @group :
  1719. * @ver : 2009.02.16
  1720. * @by : 성미연
  1721. * @---------------------------------------------------
  1722. * @type : function
  1723. * @access : public
  1724. * @desc : 병실조건에 따른 환자정보 조회
  1725. * @param :
  1726. * @param :
  1727. * @return :
  1728. * @---------------------------------------------------
  1729. */
  1730. function fGetPatInfo() {
  1731. model.resetInstanceNode("/root/main/cond/pid");
  1732. model.resetInstanceNode("/root/main/cond/patnm");
  1733. model.removeNodeset(xNbabyListPath);
  1734. model.removeNodeset(xAvulsionListPath);
  1735. model.resetInstanceNode(xNbabyPath);
  1736. model.resetInstanceNode(xPartrtnPath);
  1737. model.resetInstanceNode(xPartrtnEntrPath);
  1738. model.removeNodeset("/root/send/reqdata");
  1739. model.makeNode("/root/send/reqdata");
  1740. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/reportdd"));
  1741. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1742. model.makeValue("/root/send/reqdata/roomcd", model.getValue("/root/main/cond/roomcd"));
  1743. model.makeValue("/root/send/reqdata/refflag", "room");
  1744. model.makeValue("/root/send/reqdata/ordtype", "I");
  1745. if (submit("TRMNW10903", false)) {
  1746. var pid = model.getValue("/root/main/cond/upinfopid");
  1747. if (pid != "") { //상단정보에 환자가 셋팅되어 있을 경우
  1748. model.setValue("/root/main/cond/patnm", pid);
  1749. model.setValue("/root/main/cond/pid", pid);
  1750. //환자정보조건 셋팅
  1751. model.copyNode("/root/main/patinfocond/patinfo", "/root/init/patinfo/patlist[pid = '" + pid + "']");
  1752. //조회
  1753. fGetPartrtnRecInfo();
  1754. } else {
  1755. model.setValue("/root/main/cond/patnm", "");
  1756. model.setValue("/root/main/cond/pid", "");
  1757. }
  1758. }
  1759. model.refresh();
  1760. }
  1761. /**
  1762. * @group :
  1763. * @ver : 2009.02.16
  1764. * @by : 성미연
  1765. * @---------------------------------------------------
  1766. * @type : function
  1767. * @access : public
  1768. * @desc : 조회조건 환자명 변경시
  1769. * @param :
  1770. * @param :
  1771. * @return :
  1772. * @---------------------------------------------------
  1773. */
  1774. function fChgPatnm() {
  1775. model.removeNodeset(xNbabyListPath);
  1776. model.removeNodeset(xAvulsionListPath);
  1777. model.resetInstanceNode(xNbabyPath);
  1778. model.resetInstanceNode(xPartrtnPath);
  1779. model.resetInstanceNode(xPartrtnEntrPath);
  1780. var pid = model.getValue("/root/main/cond/patnm");
  1781. model.setValue("/root/main/cond/pid", pid);
  1782. if (model.getValue("/root/main/cond/patnm") == "") {
  1783. model.resetInstanceNode("/root/main/cond/pid");
  1784. }
  1785. ipt_pid.refresh();
  1786. //환자정보조건 셋팅
  1787. model.copyNode("/root/main/patinfocond/patinfo", "/root/init/patinfo/patlist[pid = '" + pid + "']");
  1788. //조회
  1789. fGetPartrtnRecInfo();
  1790. }
  1791. /**
  1792. * @group :
  1793. * @ver : 2009.02.16
  1794. * @by : 성미연
  1795. * @---------------------------------------------------
  1796. * @type : function
  1797. * @access : public
  1798. * @desc : 환자아이디로 해당부서, 병실, 환자명 조회
  1799. * @param :
  1800. * @param :
  1801. * @return :
  1802. * @---------------------------------------------------
  1803. */
  1804. function fSearchPatInfo() {
  1805. //if(event.keycode == "13"){
  1806. // model.setFocus("btn_ref");
  1807. model.removeNodeset(xNbabyListPath);
  1808. model.removeNodeset(xAvulsionListPath);
  1809. model.resetInstanceNode(xNbabyPath);
  1810. model.resetInstanceNode(xPartrtnPath);
  1811. model.resetInstanceNode(xPartrtnEntrPath);
  1812. if(model.getValue("/root/main/cond/pid") == ""){
  1813. messageBox("등록번호를 입력해주세요.","I");
  1814. model.setFocus("ipt_pid");
  1815. model.refresh();
  1816. return;
  1817. }
  1818. //환자아이디로 현재 상태 조회
  1819. model.removeNodeset("/root/send/reqdata");
  1820. model.makeNode("/root/send/reqdata");
  1821. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/reportdd"));
  1822. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/cond/pid"));
  1823. model.makeValue("/root/send/reqdata/refflag", "pat");
  1824. if (submit("TRMNW10904")) {
  1825. if (model.getValue("/root/main/patinfocond/patinfo/wardcd") == 'err') {
  1826. messageBox("해당 환자 정보가 존재하지 않습니다.", "I");
  1827. model.setValue("/root/main/cond/patnm", model.getValue("/root/init/patinfo/patlist/pid"));
  1828. model.setFocus("ipt_pid");
  1829. model.refresh();
  1830. return;
  1831. } else {
  1832. //해당 부서 셋팅
  1833. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/patinfocond/patinfo/wardcd"));
  1834. if (model.getValue("/root/main/patinfocond/patinfo/ordtype") == 'I' || model.getValue("/root/main/patinfocond/patinfo/ordtype") == 'D' || model.getValue("/root/main/patinfocond/patinfo/ordtype") == 'E') {
  1835. cmb_room.disabled = false;
  1836. //해당 병동의 병실 조회
  1837. model.removeNodeset("/root/send/reqdata");
  1838. model.makeNode("/root/send/reqdata");
  1839. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1840. submit("TRMNW10902", false);
  1841. model.setValue("/root/main/cond/roomcd", model.getValue("/root/main/patinfocond/patinfo/roomcd")); //해당 병실 셋팅
  1842. //해당 병실의 환자 조회
  1843. model.removeNodeset("/root/send/reqdata");
  1844. model.makeNode("/root/send/reqdata");
  1845. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/reportdd"));
  1846. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  1847. model.makeValue("/root/send/reqdata/roomcd", model.getValue("/root/main/cond/roomcd"));
  1848. model.makeValue("/root/send/reqdata/refflag", "room");
  1849. model.makeValue("/root/send/reqdata/ordtype", "I");
  1850. submit("TRMNW10903", false);
  1851. }
  1852. model.setValue("/root/main/cond/patnm", model.getValue("/root/main/patinfocond/patinfo/pid")); //해당 환자명 셋팅
  1853. //조회
  1854. fGetPartrtnRecInfo();
  1855. }
  1856. }
  1857. //}
  1858. }
  1859. /**
  1860. * @group :
  1861. * @ver : 2009.02.17
  1862. * @by : 성미연
  1863. * @---------------------------------------------------
  1864. * @type : function
  1865. * @access : public
  1866. * @desc : 분만간호기록 조회
  1867. * @param :
  1868. * @param :
  1869. * @return :
  1870. * @---------------------------------------------------
  1871. */
  1872. function fGetPartrtnRecInfo(){
  1873. if(model.getValue("/root/main/cond/pid") == ""){
  1874. messageBox("등록번호를 입력해주세요.","I");
  1875. model.setFocus("ipt_pid");
  1876. return;
  1877. }
  1878. //신생아 출생정보 초기화
  1879. model.resetInstanceNode("/root/main/nbabyinfo");
  1880. model.setValue("/root/main/nbabyinfo/nbabylist/dlivdd" , getCurrentDate()); // 분만일자
  1881. //model.setValue("/root/main/nbabyinfo/nbabylist/dlivtm" , getCurrentTime().substr(0,4));// 분만시간
  1882. model.setValue("/root/main/nbabyinfo/nbabylist/dlivtm" , ""); // 분만시간
  1883. model.setValue("/root/main/nbabyinfo/nbabylist/weigunit" , "2"); // 출생시 체중단위(kg)
  1884. model.setValue("/root/main/nbabyinfo/nbabylist/urinecd" , "N"); // Urine유무(무)
  1885. model.setValue("/root/main/nbabyinfo/nbabylist/mecnmcolrayn" , "N"); // 태변착색 유무(무)
  1886. model.setValue("/root/main/nbabyinfo/nbabylist/oxygenabsopcd" , "N"); // 산소흡입유무(무)
  1887. model.setValue("/root/main/nbabyinfo/nbabylist/stoolcd" , "N"); // stool 유무(무)
  1888. model.setValue("/root/main/nbabyinfo/nbabylist/trueknotyn" , "N"); // True knot 유무(무)
  1889. model.setValue("/root/main/nbabyinfo/nbabylist/nuchalcordcd" , "N"); // Nuchal cord 유무(무)
  1890. model.setValue("/root/main/nbabyinfo/nbabylist/promyn" , "N"); // PROM 유무(무)
  1891. model.setValue("/root/main/nbabyinfo/nbabylist/antibiodrugyn" , "N"); // 항생제투여(무)
  1892. rdo_promyn.dispatch("xforms-select");
  1893. ipt_dlivdd.dispatch("xforms-value-changed");
  1894. rdo_babycnt.refresh();
  1895. chk_nbabyinfsick.visible=false;
  1896. ipt_dlivpredrugspec.visible=true;
  1897. ipt_nbabyinfsickspec.visible=false;
  1898. var pid = model.getValue("/root/main/patinfocond/patinfo/pid");
  1899. var indd = model.getValue("/root/main/patinfocond/patinfo/indd");
  1900. var cretno = model.getValue("/root/main/patinfocond/patinfo/cretno");
  1901. var pname = model.getValue("/root/main/patinfocond/patinfo/hngnm") ;
  1902. var babynm = "";
  1903. fGetBabyPartrtnInfo(pid,indd,cretno);
  1904. ibabycnt = Number(getNodesetCount(xNbabyListPath));
  1905. if(ibabycnt == 0){
  1906. ibabycnt = 1;
  1907. }
  1908. model.resetInstanceNode("/root/init/babynm");
  1909. //if(rdo_babycnt.value >= 1 && rdo_babycnt.value <= 3){
  1910. var babycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycnt");
  1911. if(babycnt>=1 && babycnt<=3){
  1912. for(var i = 1; i <= babycnt; i++){
  1913. if(babycnt == "1"){
  1914. model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "아기");
  1915. }else{
  1916. //model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  1917. if(i == "1") {
  1918. babynm = "첫째아";
  1919. }else if(i == "2") {
  1920. babynm = "둘째아";
  1921. }else if(i == "3") {
  1922. babynm = "셋째아";
  1923. }else if(i == "4") {
  1924. babynm = "넷째아";
  1925. }else if(i == "5") {
  1926. babynm = "다섯아";
  1927. }else if(i == "6") {
  1928. babynm = "여섯아";
  1929. }
  1930. model.makeValue("/root/init/babynm[" + i + "]/nm", pname +babynm);
  1931. }
  1932. }
  1933. //}else if(rdo_babycnt.value == 4 && ibabycnt > 4){
  1934. }else if(babycnt == 4 && ibabycnt > 4){
  1935. ibabycnt = model.getValue("/root/main/partrtninfo/partrtninfolist/babycntetc");//cmb_babycntetc.value;
  1936. for(var i = 1; i <= ibabycnt; i++){
  1937. //model.makeValue("/root/init/babynm[" + i + "]/nm", pname + "애기" + i);
  1938. if(i == "1") {
  1939. babynm = "첫째아";
  1940. }else if(i == "2") {
  1941. babynm = "둘째아";
  1942. }else if(i == "3") {
  1943. babynm = "셋째아";
  1944. }else if(i == "4") {
  1945. babynm = "넷째아";
  1946. }else if(i == "5") {
  1947. babynm = "다섯아";
  1948. }else if(i == "6") {
  1949. babynm = "여섯아";
  1950. }
  1951. model.makeValue("/root/init/babynm[" + i + "]/nm", pname +babynm);
  1952. }
  1953. }
  1954. for(var j=1; j <= getNodesetCount(xNbabyListPath); j++){
  1955. if(model.getValue(xNbabyListPath + "[" + j + "]/signno") != ""){
  1956. btn_save.disabled = true;
  1957. }
  1958. }
  1959. // }
  1960. model.refresh();
  1961. }