MMR00402.xjs 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * MMR00402.js
  4. * SMMMR00402_입원초진JCI.xrw
  5. CarePlan을 FreeText 형태로 작성되도록 변경:20140122 이윤주
  6. * /
  7. /**
  8. * @desc : [item코드목록]
  9. * "0000931001" 주호소
  10. * "0001173001" 현병력
  11. * "0000098001" 과거력
  12. * "0000079001" 계통문진
  13. * "0000570001" 신체검진
  14. * "0001019001" 추정진단
  15. * "0022826001" Care Plan
  16. * "0013328001" 퇴원계획
  17. * "0006747001" 환자및보호자교육
  18. * [버튼목록]
  19. * "btn_imge_0001173001"
  20. * "btn_etcrec_0001173001"
  21. * "btn_imge_0000098001"
  22. * "btn_fmy_0000098001"
  23. * "btn_etcrec_0000098001"
  24. * "btn_imge_0000079001"
  25. * "btn_etcrec_0000079001"
  26. * "btn_imge_0000570001"
  27. * "btn_etcrec_0000570001"
  28. * "btn_etcrec_0001019001"
  29. * "btn_dsch_0013328001"
  30. * "btn_edu_0006747001"
  31. */
  32. var gItemCds = new Array(
  33. "0000931001"//주호소
  34. , "0001173001"//현병력
  35. , "0000098001"//과거력
  36. , "0000079001"//계통문진
  37. , "0000570001"//신체검진
  38. , "0001019001"//추정진단
  39. , "0022826001"//Care Plan
  40. , "0013328001"//퇴원계획
  41. , "0006747001"//환자 및 보호자 교육
  42. );
  43. var gItemCdsTextArea = new Array(
  44. "0000931001"//주호소
  45. , "0001173001"//현병력
  46. , "0000098001"//과거력
  47. , "0000079001"//계통문진
  48. , "0000570001"//신체검진
  49. , "0001019001"//추정진단
  50. , "0022826001"//Care Plan
  51. , "0006747001"//환자 및 보호자 교육
  52. );
  53. /**
  54. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  55. * @id :
  56. * @authur : dhkim
  57. * @history : 2009.12.03 신규
  58. */
  59. var gExtnBtnIds = new Array(
  60. "btn_imge_0001173001" //현병력이미지
  61. , "btn_etcrec_0001173001" //현병력추가기록
  62. , "btn_imge_0000098001" //과거력
  63. , "btn_fmy_0000098001" //가계도
  64. , "btn_etcrec_0000098001" //
  65. , "btn_imge_0000079001"
  66. , "btn_etcrec_0000079001"
  67. , "btn_imge_0000570001"
  68. , "btn_etcrec_0000570001"
  69. , "btn_etcrec_0001019001"
  70. , "btn_dsch_0013328001" //퇴원요구도
  71. , "btn_edu_0006747001" //교육요구도
  72. );
  73. var gLoadFormCnts = 0;
  74. /*******************************************************************
  75. * Function : fFormReady
  76. * Description : 화면 로드시 초기화 작업을 수행
  77. *******************************************************************/
  78. function fFormReady()
  79. {
  80. this.ComnFormObj = this.grup_base;
  81. dsf_createDsRow("ds_temp_mainrecitem",
  82. [{col:"formxrw", val:""}]);
  83. // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
  84. ds_temp_mainrecitem.assign(ds_data_recitem);
  85. //섹션사이즈초기화
  86. lf_setSectionSize(gItemCds, "grup_base.tar_0000931001", "grup_base.tar_0006747001");
  87. //섹션별 버튼초기화
  88. InitBtnImge(gItemCds);
  89. InitBtnFmy(gItemCds);
  90. InitBtnEtcRec(gItemCds);
  91. // InitBtnComn(gItemCds);
  92. InitBtnDiag("0001019001");//0001019001: 추정진단
  93. //기본 첫번째 부분서식을 로딩해서 보여준다.
  94. // dispOnLoadComplete(COMN_FORM);//COMN_FORM : 1
  95. //2010.01.21, hkjoo
  96. // initCmbExtnList(gItemCds);
  97. // lf_checkUnitForm(gItemCds); // 부분서식 로딩
  98. lf_AllLoadUnitFormExpand(gItemCds); // 전체 로딩
  99. lf_setRecData(gItemCds);
  100. }
  101. /**
  102. * @desc : 기록데이터 조회
  103. * @id :
  104. * @event : xforms-ready
  105. * @return : void
  106. * @authur : 박종훈
  107. */
  108. function fLoadData()
  109. {
  110. lf_setRecData(gItemCds);
  111. // InitPgmFormData();
  112. // InitUnitFormData(gItemCds);
  113. }
  114. /**
  115. * @group :
  116. * @ver : 2008.06.13
  117. * @by : snoweye
  118. * @---------------------------------------------------
  119. * @type : function
  120. * @access : private
  121. * @desc : 부분서식 로딩
  122. * @param :
  123. * @return :
  124. * @---------------------------------------------------
  125. */
  126. function fLoadUnitForm()
  127. {
  128. initSection(gItemCds);
  129. }
  130. /**
  131. * @group :
  132. * @ver : 2009.12.03
  133. * @by : dhkim
  134. * @---------------------------------------------------
  135. * @type : function
  136. * @access : private
  137. * @desc : 부분서식 로딩후 후처리
  138. * @param :
  139. * @return :
  140. * @---------------------------------------------------
  141. */
  142. function fOnLoadComplete()
  143. {
  144. var curLoadFormCd = this.frmf_getParameter("loadformcd");
  145. var objExt = new ExtCommon;
  146. var arrUnitformmast = objExt.findRows(ds_data_unitformmast, "formcd", curLoadFormCd);
  147. var fstLevlItemCd = "";
  148. for (var i=0; i<arrUnitformmast.length; i++) {
  149. var unitformload = ds_data_unitformmast.getColumn(arrUnitformmast[i], "loaded");
  150. if (unitformload != "true") {
  151. fstLevlItemCd = ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemcd");
  152. var ivwObj = ComnFormObj.components["ivw_" + fstLevlItemCd];
  153. if(!utlf_isNull(ivwObj))
  154. {
  155. var nRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", fstLevlItemCd);
  156. ds_data_unitformmast.setColumn(nRow, "loaded", "true");
  157. //setFstLevlItemCdOnUnitForm(ivwObj, ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemno"));//부분서식의 아이템에 부분서식 상위코드를 세팅
  158. break;
  159. }
  160. }
  161. }
  162. if (fstLevlItemCd == "0000931001" || fstLevlItemCd == "0022826001" || fstLevlItemCd == "0013328001") {
  163. //주호소,care plan,퇴원계획
  164. fSetSizeFormCC(fstLevlItemCd);
  165. }
  166. //확장서식 데이터 값 매핑
  167. fExtnInitFormRec();
  168. gLoadFormCnts++;
  169. utlf_addLog("@@@@@ gItemCds.length : " + gItemCds.length + " gLoadFormCnts : " + gLoadFormCnts );
  170. if(gItemCds.length == gLoadFormCnts)
  171. {
  172. dispOnLoadComplete(UNIT_FORM);
  173. //서식 로딩 후 포커스 처리
  174. if (parent.fGetFormRec("status") == "C")
  175. {
  176. SetDefFocusMTX(gItemCds);
  177. }
  178. }
  179. //2010.04.14 dhkim 환자교육 날짜 default
  180. fSetEduDt();
  181. }
  182. /**
  183. * @group :
  184. * @ver : 2008.11.28
  185. * @by : jonghun
  186. * @---------------------------------------------------
  187. * @type : function
  188. * @access : private
  189. * @desc : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
  190. * @param :
  191. * @return :
  192. * @---------------------------------------------------
  193. */
  194. function fGetDefData()
  195. {
  196. dispOnLoadComplete(UNIT_FORM);
  197. if (parent.fGetFormRec("status") == "C")
  198. {
  199. SetDefFocusMTX(gItemCds);//공통기록 디폴트 포커스처리(MTX)
  200. }
  201. }
  202. /**
  203. * @desc : 서식 주호소 화면 로딩 후 사이즈 조절
  204. * care plan 화면 로딩 후 사이즈 조절
  205. * 퇴원계획화면 로딩 후 사이즈 조절
  206. * @id :
  207. * @event : xforms-ready
  208. * @return : void
  209. * @authur : dhkim
  210. */
  211. function fSetSizeFormCC(gItemCd_MMR00401)
  212. {
  213. //서식 주호소 화면 로딩
  214. if(gItemCd_MMR00401 == "0000931001")
  215. grup_base.ivw_0000931001.fInitPage(false, parseInt(grup_base.ivw_0000931001.position.height), parseInt(grup_base.ivw_0000931001.position.width));
  216. //퇴원계획화면 로딩
  217. else if(gItemCd_MMR00401 == "0013328001")//상용구팝업 visible
  218. grup_base.ivw_0013328001.fInitPage(false, parseInt(grup_base.ivw_0013328001.position.height), parseInt(grup_base.ivw_0013328001.position.width));
  219. }
  220. /**
  221. * @group :
  222. * @ver : 2009.12.04
  223. * @by : dhkim
  224. * @---------------------------------------------------
  225. * @type : function
  226. * @access : private
  227. * @desc : 부분서식 로딩
  228. * (0022826001) Care Plan,
  229. * (0013328001) 퇴원계획,
  230. * (0006747001) 환자및보호자교육
  231. * @param : gItemCds
  232. * @return :
  233. * @---------------------------------------------------
  234. */
  235. function loadUnitForm_MMR00401(itemCds){
  236. // var pageInfo = new PAGEINFO();
  237. // copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
  238. // model.removeNodeset("/root/main/recinfo");
  239. //
  240. // makeRefByDegnitemno();
  241. for (var i = 0; i < itemCds.length; i++)
  242. {
  243. var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
  244. var formdegnseq = ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
  245. var unitformcd = ds_data_unitformmast.getColumn(nFindRow, "formcd");
  246. var ivwObj = ComnFormObj.components["ivw_" + itemCds[i]];
  247. var tarObj = ComnFormObj.components["tar_" + itemCds[i]];
  248. if( itemCds[i] == "0022826001" //care plan
  249. || itemCds[i] == "0013328001" //퇴원계획
  250. ){
  251. // ivwObj.visible = true;
  252. // tarObj.visible = false;
  253. var unitformprogflag = ds_data_unitformmast.getColumn(nFindRow, "formprogflag");
  254. ivwObj.supdegnitemcd = itemCds[i];
  255. ivwObj.unitformcd = unitformcd;
  256. sysf_trace(unitformcd + " Loading 시작 : " + utlf_getCurrentTime());
  257. loadUnitForm(ivwObj, itemCds[i]);
  258. lf_getComponentID(unitformcd, itemCd[i]);
  259. sysf_trace(unitformcd + " Loading 끝 : " + utlf_getCurrentTime());
  260. }
  261. }
  262. }
  263. /*******************************************************************
  264. * Function : expandSection_MMR00401
  265. * Description : care plan ivw 확대
  266. *******************************************************************/
  267. function expandSection_MMR00401(obj){
  268. var ctrlID = obj.name;
  269. var itemcd = ctrlID.replace("lbl_", "");
  270. var bFold = itemcd == gMaxSectionID ? true : false;
  271. var ctrl = null;
  272. var unitformcd = "";
  273. var itemCds = gItemCds;
  274. for (var i = 0; i < itemCds.length; i++)
  275. {
  276. var secCtrl = ComnFormObj.components["lbl_" + itemCds[i]];
  277. var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
  278. var formdegnseq = ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
  279. unitformcd = ds_data_unitformmast.getColumn(nFindRow, "formcd");
  280. if(utlf_isNull(formdegnseq))
  281. ctrl = ComnFormObj.components["tar_" + itemCds[i]];
  282. else
  283. ctrl = ComnFormObj.components["ivw_" + itemCds[i]];
  284. //20100106 dhkim ivw 축소/확장
  285. if(itemcd == itemCds[i]){
  286. if(bFold){
  287. ctrl.position.height = gMaxSectionHei;
  288. if (unitformcd == "0900006875")//care plan 상용구 hidden
  289. {
  290. ctrl.fInitPage(true, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  291. }else{
  292. ctrl.fInitPage(false, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
  293. }
  294. }else{
  295. ctrl.position.height = ctrl.orgheight;
  296. if (unitformcd == "0900006875")//care plan 상용구 hidden
  297. {
  298. ctrl.fInitPage(true, parseInt(secCtrl.orgheight), parseInt(ctrl.position.width));
  299. }else{
  300. ctrl.fInitPage(false, parseInt(secCtrl.orgheight), parseInt(ctrl.position.width));
  301. }
  302. }
  303. }
  304. }
  305. }
  306. /**
  307. * @group :
  308. * @ver : 2009.10.09
  309. * @by :
  310. * @---------------------------------------------------
  311. * @type : function
  312. * @access : private
  313. * @desc :
  314. * @param :
  315. * @return :
  316. * @---------------------------------------------------
  317. */
  318. function setInterfaceData()
  319. {
  320. // alert("setInterfaceData");
  321. var ifItemCds = new Array(
  322. "0000931001"//주호소
  323. , "0001173001"//현병력
  324. , "0000098001"//과거력
  325. , "0000079001"//계통문진
  326. , "0000570001"//신체검진
  327. , "0001019001"//추정진단
  328. , "0022826001"//Care Plan
  329. , "0013328001"//퇴원계획
  330. , "0006747001"//환자및보호자교육
  331. );
  332. copyNodeset(gPageInfo.recItemRef2, "/root/main/recifinfo/recitem", "replace", model, parent.model);
  333. setSrchData(gPageInfo.recItemRef2 , window);
  334. InitUnitFormData(ifItemCds);
  335. setButtonToggleAllByRecYn(window, gExtnBtnIds);
  336. }
  337. /**
  338. * @desc : 서식 데이터 Clear
  339. * @id :
  340. * @event : xforms-ready
  341. * @return : void
  342. * @authur : 박종훈
  343. */
  344. function fClearComnFormData()
  345. {
  346. if (gMaxSectionID != "")
  347. {
  348. var MaxObj = document.controls("lbl_" + gMaxSectionID);
  349. MaxObj.dispatch("onclick");
  350. }
  351. ClearComnFormData(gItemCds);
  352. clearData();
  353. //포커스 처리
  354. SetDefFocusMTX(gItemCds);
  355. }
  356. /**
  357. * @desc : 기록 인스턴스 연결
  358. * @id :
  359. * @event : xforms-ready
  360. * @return : void
  361. * @authur : 박종훈
  362. */
  363. function fSetRecItemValue(reciteminfo)
  364. {
  365. return SetCommMediFormValue(gItemCds, reciteminfo);
  366. }
  367. /*******************************************************************
  368. * Function : fChkPreSave
  369. * Description : 저장전 필수입력내역을 체크한다.
  370. * History : - (care plan, 퇴원계획)필수체크 추가
  371. * "0022826001"//Care Plan
  372. * "0013328001"//퇴원계획
  373. *******************************************************************/
  374. function fChkPreSave(signedYn)
  375. {
  376. var nFindRow = ds_data_formdegn.findRow("degnitemcd", "0022826001");
  377. var itemNm = ds_data_formdegn.getColumn(nFindRow, "itemnm");
  378. var rtnVal = true;
  379. if(rtnVal == false){
  380. return rtnVal;
  381. }else{
  382. // 요청번호:20160419029 입원초진기록 작성 관련 프로그램 요청
  383. if (parent.fGetFormRec("status") == "C" ) {
  384. lf_setEduDt();
  385. }
  386. if( signedYn == "N" )
  387. return true;
  388. var nRow = ds_data_formdegn.findRow("degnitemcd", "0013328001");
  389. itemNm = ds_data_formdegn.getColumn(nRow, "itemnm");
  390. return grup_base.ivw_0013328001.fChkGrdPreSave(itemNm);
  391. }
  392. }
  393. /**
  394. * @group :
  395. * @ver : 2008.09.02
  396. * @by : jonghun
  397. * @---------------------------------------------------
  398. * @type : function
  399. * @access : private
  400. * @desc : 추가기록창 팝업처리
  401. * @param :
  402. * @return :
  403. * @---------------------------------------------------
  404. */
  405. function fEtcRec()
  406. {
  407. //setParameter("etc_rec", "추가 기타기록 테스트입니다...");
  408. modal("SPMMR06100");
  409. var recrtn = getParameter("etcrec_rtn");
  410. if (recrtn != "")
  411. {
  412. model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0000098.0008458']/reccnts", recrtn);
  413. setParameter("etc_rec", recrtn);
  414. }
  415. //alert(recrtn);
  416. }
  417. /**
  418. * @desc : Value List데이터 아이템 값 매핑
  419. * @
  420. * @param :
  421. * @return :
  422. * @authur : 박종훈
  423. */
  424. function fSetDataValItem()
  425. {
  426. }
  427. /**
  428. * @desc : 확장서식 기록 초기 설정
  429. * @
  430. * @param :
  431. * @return :
  432. * @authur : 박종훈
  433. */
  434. function fExtnInitFormRec()
  435. {
  436. fSetDataValItem();
  437. }
  438. /*******************************************************************
  439. * Function : fPopEduDsch_SMMMR00401
  440. * Description : 퇴원요구도/교육요구도 jci 팝업 호출
  441. *******************************************************************/
  442. function fPopEduDsch_SMMMR00401(){
  443. var pid = parent.fGetPamInfo("pid");
  444. var indd = parent.fGetPamInfo("indd");
  445. var cretno = parent.fGetPamInfo("cretno");
  446. this.frmf_setParameter("SPMRJ00300_pid", pid);
  447. this.frmf_setParameter("SPMRJ00300_orddd", indd);
  448. this.frmf_setParameter("SPMRJ00300_cretno", cretno);
  449. frmf_modal("SPMRJ00300", "SPMRJ00300", null, null, 1, 0, 0, null, null, null, null, null, "M");
  450. }
  451. /*******************************************************************
  452. * Function : getSubmitID_MMR01300I
  453. * Description : MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  454. *******************************************************************/
  455. function getSubmitID_MMR01300I(flag) {
  456. //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
  457. parent.fSetFormRec("xsltflag", "JCI2");
  458. //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
  459. if (utlf_isNull(flag)) {
  460. parent.fSetFormRec("addexecflag", "careplan;patedu");
  461. return TX_SUBMIT_EXTN_FORM;
  462. }
  463. }
  464. /*******************************************************************
  465. * Function : initFormAtLast_MMR01100I
  466. * Description : MMR01100.js에서 서식load를 완료한 후에 호출한다.
  467. *******************************************************************/
  468. function initFormAtLast_MMR01100I() {
  469. //grup_base.ivw_0013328001.fAddrow();
  470. var flag = false;
  471. if (parent.fGetFormRec("status") == "U" ) {
  472. if (parent.fGetFormRec("espiyn") == "Y") {
  473. var sSendDsNm = dsf_createDs("ds_send_extninfo", [{col: "infoflag" , type:"STRING", size:256}
  474. , {col: "formrecseq" , type:"BIGDECIMAL", size:256}
  475. , {col: "oprsrvno" , type:"STRING", size:256}
  476. , {col: "opendyn" , type:"STRING", size:256}
  477. , {col: "skinprepyn" , type:"STRING", size:256}
  478. , {col: "pid" , type:"STRING", size:256}
  479. , {col: "orddd" , type:"STRING", size:256}
  480. , {col: "cretno" , type:"STRING", size:256}
  481. , {col: "fromsrcformcd" , type:"STRING", size:256}
  482. , {col: "toformcd" , type:"STRING", size:256}
  483. , {col: "indd" , type:"STRING", size:256}
  484. , {col: "dschdd" , type:"STRING", size:256}
  485. , {col: "standd" , type:"STRING", size:256}
  486. , {col: "deptcd" , type:"STRING", size:256}
  487. , {col: "jobkindcd" , type:"STRING", size:256}
  488. , {col: "fstlevlitembasecds", type:"STRING", size:256}
  489. , {col: "srcformcd" , type:"STRING", size:256}
  490. , {col: "formrecdd" , type:"STRING", size:256}
  491. , {col: "anstdeptcd" , type:"STRING", size:256}
  492. , {col: "opdd" , type:"STRING", size:256}
  493. , {col: "recdataflag" , type:"STRING", size:256}
  494. , {col: "formrecdeptcd" , type:"STRING", size:256}
  495. , {col: "condflag" , type:"STRING", size:256}
  496. , {col: "orddeptcd" , type:"STRING", size:256}]);
  497. var objSendDS:Dataset = new Dataset;
  498. objSendDS = this.objects[sSendDsNm];
  499. objSendDS.addRow();
  500. //2010.01.15 안치원 - 입원초진기록JCI Staff-Sign 막음.
  501. //2010.02.25 dhkim - staff-sign주석해제
  502. flag = true;
  503. objSendDS.setColumn(0, "infoflag", "staffauth");
  504. objSendDS.setColumn(0, "formrecseq", parent.fGetFormRec("formrecseq"));
  505. }
  506. } else if (parent.fGetFormRec("status") == "C" ) {
  507. //2010.04.29 안치원 - 응급실,DSC경유 입원환자는 간호입실일자를 진료일자로하여 입원초진기록을 작성한다.
  508. //2010.04.29 dhkim - 응급실,DSC경유 입원환자 진료시간도 간호입실시간으로하여 입원초진기록을 작성한다.
  509. var ordtype = parent.fGetPamInfo("ioflag");
  510. var orgordtype = parent.fGetPamInfo("orgordtype");
  511. var careinrmdd = parent.fGetPamInfo("careinrmdd");
  512. var careinrmtm = parent.fGetPamInfo("careinrmtm");
  513. if (ordtype == "I" && orgordtype != "I" && ! utlf_isNull(careinrmdd)) {
  514. parent.fSetFormRec("formrecdd", careinrmdd);
  515. }
  516. if (ordtype == "I" && orgordtype != "I" && ! utlf_isNull(careinrmtm)) {
  517. parent.fSetFormRec("formrechm", careinrmtm);
  518. }
  519. //2010.04.14 dhkim 환자및 보호자 교육 일시 펑션 호출로 변경
  520. // fSetEduDt();
  521. this.setTimer(1, 500);
  522. }
  523. if (flag) {
  524. // return dataset set
  525. var sRtnDsNm_1 = dsf_createDs("ds_main_extninfo_resultinfo", [{col: "infoflag", type:"STRING", size:256}]);
  526. var objRtnDS_1:Dataset = new Dataset;
  527. objRtnDS_1 = this.objects[sRtnDsNm_1];
  528. var sRtnDsNm_2 = dsf_createDs("ds_main_extninfo_staffauthinfo", [{col: "authyn", type:"STRING", size:256}]);
  529. var objRtnDS_2:Dataset = new Dataset;
  530. objRtnDS_2 = this.objects[sRtnDsNm_2];
  531. var sRtnDsNm_3 = dsf_createDs("ds_main_extninfo_oprinfo", [{col: "oprsrvno" , type:"STRING", size:256}
  532. , {col: "opcnfmdd" , type:"STRING", size:256}
  533. , {col: "opcnfmhm" , type:"STRING", size:256}
  534. , {col: "perfdeptcd" , type:"STRING", size:256}
  535. , {col: "perfdrid" , type:"STRING", size:256}
  536. , {col: "perfdrnm" , type:"STRING", size:256}
  537. , {col: "assdrid" , type:"STRING", size:256}
  538. , {col: "assdrnm" , type:"STRING", size:256}
  539. , {col: "oproomcd" , type:"STRING", size:256}
  540. , {col: "anstdrid" , type:"STRING", size:256}
  541. , {col: "anstdrnm" , type:"STRING", size:256}
  542. , {col: "anstmthdcd" , type:"STRING", size:256}
  543. , {col: "anstmthdnm" , type:"STRING", size:256}
  544. , {col: "anstmthdcdsub" , type:"STRING", size:256}
  545. , {col: "anstmthdcdsubnm" , type:"STRING", size:256}
  546. , {col: "skinprepcc" , type:"STRING", size:256}
  547. , {col: "perfdrnm2" , type:"STRING", size:256}
  548. , {col: "perfdrnm3" , type:"STRING", size:256}
  549. , {col: "assdrnm2" , type:"STRING", size:256}
  550. , {col: "assdrnm3" , type:"STRING", size:256}
  551. , {col: "assdrnm4" , type:"STRING", size:256}]);
  552. var objRtnDS_3:Dataset = new Dataset;
  553. objRtnDS_3 = this.objects[sRtnDsNm_3];
  554. var sRtnDsNm_4 = dsf_createDs("ds_main_extninfo_oplistinfo", [{col: "opinfo" , type:"STRING", size:256}
  555. , {col: "oprsrvno" , type:"STRING", size:256}
  556. , {col: "deptcd" , type:"STRING", size:256}
  557. , {col: "depthngnm" , type:"STRING", size:256}
  558. , {col: "opcnfmdd" , type:"STRING", size:256}]);
  559. var objRtnDS_4:Dataset = new Dataset;
  560. objRtnDS_4 = this.objects[sRtnDsNm_4];
  561. var sRtnDsNm_5 = dsf_createDs("ds_main_extninfo_recitem", [{col: "instcd" , type:"STRING", size:256}
  562. , {col: "rechistseq" , type:"BIGDECIMAL", size:256}
  563. , {col: "recitemno" , type:"INT", size:256}
  564. , {col: "fstlevlitemcd" , type:"STRING", size:256}
  565. , {col: "formcd" , type:"STRING", size:256}
  566. , {col: "formdegnseq" , type:"BIGDECIMAL", size:256}
  567. , {col: "degnitemno" , type:"INT", size:256}
  568. , {col: "degnitemcd" , type:"STRING", size:256}
  569. , {col: "degnitemkind" , type:"STRING", size:256}
  570. , {col: "degnitemlevlno" , type:"STRING", size:256}
  571. , {col: "degnitemnm" , type:"STRING", size:256}
  572. , {col: "degnitemlevlcd" , type:"STRING", size:256}
  573. , {col: "rectermcd" , type:"STRING", size:256}
  574. , {col: "rectermnm" , type:"STRING", size:256}
  575. , {col: "recrefcd" , type:"STRING", size:256}
  576. , {col: "recitemnm" , type:"STRING", size:256}
  577. , {col: "reccnts" , type:"STRING", size:256}
  578. , {col: "unitnm" , type:"STRING", size:256}
  579. , {col: "recimge" , type:"BLOB", size:256}
  580. , {col: "srcimge" , type:"BLOB", size:256}
  581. , {col: "rowno" , type:"STRING", size:256}
  582. , {col: "colno" , type:"STRING", size:256}
  583. , {col: "supdegnitemno" , type:"INT", size:256}
  584. , {col: "extdegnitemlevlcd" , type:"STRING", size:256}
  585. , {col: "rectermflag" , type:"STRING", size:256}
  586. , {col: "degnunitcd" , type:"STRING", size:256}]);
  587. var objRtnDS_5:Dataset = new Dataset;
  588. objRtnDS_5 = this.objects[sRtnDsNm_5];
  589. //dsf_setTypeFormat(objRtnDS_5, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  590. var sRtnDsNm_6 = dsf_createDs("ds_main_extninfo_drlistinfo", [{col: "userid" , type:"STRING", size:256}
  591. , {col: "usernm" , type:"STRING", size:256}
  592. , {col: "mpphonno" , type:"STRING", size:256}
  593. , {col: "refseq" , type:"STRING", size:256}]);
  594. var objRtnDS_6:Dataset = new Dataset;
  595. objRtnDS_6 = this.objects[sRtnDsNm_6];
  596. var sRtnDsNm_7 = dsf_createDs("ds_data_diagcdlist", [{col: "diagkindcd" , type:"STRING", size:256}
  597. , {col: "diagkindcdflag" , type:"STRING", size:256}
  598. , {col: "icd10cd" , type:"STRING", size:256}
  599. , {col: "icd10cd" , type:"STRING", size:256}
  600. , {col: "diagengnm" , type:"STRING", size:256}
  601. , {col: "termhngnm" , type:"STRING", size:256}]);
  602. var objRtnDS_7:Dataset = new Dataset;
  603. objRtnDS_7 = this.objects[sRtnDsNm_7];
  604. var sRtnDsNm_8 = dsf_createDs("ds_main_extninfo_selectoplist", [{col: "opcd" , type:"STRING", size:256}
  605. , {col: "opengnm" , type:"STRING", size:256}]);
  606. var objRtnDS_8:Dataset = new Dataset;
  607. objRtnDS_8 = this.objects[sRtnDsNm_8];
  608. var sRtnDsNm_9 = dsf_createDs("ds_main_extninfo_dscinoutinfo", [{col: "nurin" , type:"STRING", size:256}
  609. , {col: "nurout" , type:"STRING", size:256}
  610. , {col: "oprin" , type:"STRING", size:256}
  611. , {col: "oprout" , type:"STRING", size:256}]);
  612. var objRtnDS_9:Dataset = new Dataset;
  613. objRtnDS_9 = this.objects[sRtnDsNm_9];
  614. var sRtnDsNm_10 = dsf_createDs("ds_main_extninfo_rectextinfo", [{col: "fstlevlitembasecd" , type:"STRING", size:256}
  615. , {col: "viewcnts" , type:"STRING", size:256}]);
  616. var objRtnDS_10:Dataset = new Dataset;
  617. objRtnDS_10 = this.objects[sRtnDsNm_10];
  618. var sRtnDsNm_11 = dsf_createDs("ds_main_extninfo_anstdrlistinfo", [{col: "userid" , type:"STRING", size:256}
  619. , {col: "usernm" , type:"STRING", size:256}
  620. , {col: "mpphonno" , type:"STRING", size:256}
  621. , {col: "refseq" , type:"STRING", size:256}]);
  622. var objRtnDS_11:Dataset = new Dataset;
  623. objRtnDS_11 = this.objects[sRtnDsNm_11];
  624. var sRtnDsNm_12 = dsf_createDs("ds_main_extninfo_oproomlistinfo", [{col: "oproomcd" , type:"STRING", size:256}
  625. , {col: "oproomnm" , type:"STRING", size:256}]);
  626. var objRtnDS_12:Dataset = new Dataset;
  627. objRtnDS_12 = this.objects[sRtnDsNm_12];
  628. var sRtnDsNm_13 = dsf_createDs("ds_main_extninfo_recseqinfo", [{col: "formrecseq" , type:"STRING", size:256}]);
  629. var objRtnDS_13:Dataset = new Dataset;
  630. objRtnDS_13 = this.objects[sRtnDsNm_13];
  631. var sRtnDsNm_14 = dsf_createDs("ds_main_extninfo_etcinfo", [{col: "col0" , type:"STRING", size:256}
  632. , {col: "col1" , type:"STRING", size:256}
  633. , {col: "col2" , type:"STRING", size:256}
  634. , {col: "col3" , type:"STRING", size:256}
  635. , {col: "col4" , type:"STRING", size:256}
  636. , {col: "col5" , type:"STRING", size:256}
  637. , {col: "col6" , type:"STRING", size:256}
  638. , {col: "col7" , type:"STRING", size:256}
  639. , {col: "col8" , type:"STRING", size:256}
  640. , {col: "col9" , type:"STRING", size:256}]);
  641. var objRtnDS_14:Dataset = new Dataset;
  642. objRtnDS_14 = this.objects[sRtnDsNm_14];
  643. var oParam = {};
  644. oParam.id = "TRMMR01302";
  645. oParam.service = "medirecapp.RecIf";
  646. oParam.method = "reqGetFormRecExtnInfo";
  647. oParam.inds = "req="+sSendDsNm;
  648. oParam.outds = sRtnDsNm_1+"=resultinfo "+sRtnDsNm_2+"=staffauthinfo "+sRtnDsNm_3+"=oprinfo "+sRtnDsNm_4+"=oplistinfo "+sRtnDsNm_5+"=recitem "+sRtnDsNm_6+"=drlistinfo "+sRtnDsNm_7+"=diagcdlist "+sRtnDsNm_8+"=selectoplist "+sRtnDsNm_9+"=dscinoutinfo "+sRtnDsNm_10+"=rectextinfo "+sRtnDsNm_11+"=anstdrlistinfo "+sRtnDsNm_12+"=oproomlistinfo "+sRtnDsNm_13+"=recseqinfo "+sRtnDsNm_14+"=etcinfo";
  649. oParam.async = false;
  650. oParam.callback = "cf_TRMMR01302";
  651. tranf_submit(oParam);
  652. if( arErrorCode.pop("TRMMR01302") > -1){
  653. var execInfoFlag = utlf_transNullToEmpty(objRtnDS_1.getColumn(0, "infoflag"));
  654. if (execInfoFlag.indexOf("staffauth;") != -1) {
  655. fCosignCheck_SMMMR00401();
  656. }
  657. }
  658. }
  659. }
  660. function cf_TRMMR01302(sSvcId, nErrorCode, sErrorMsg) {
  661. arErrorCode.push(sSvcId, nErrorCode);
  662. utlf_addLog("***** cf_TRMMR01302 *****");
  663. dsf_setDefaultVal(ds_main_extninfo_recitem, "recitemno:'',degnitemno:'',supdegnitemno:''");
  664. dsf_setTypeFormat(ds_main_extninfo_recitem, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  665. }
  666. /**
  667. * @desc : 분만실코드조회(간호공통테이블에서조회)
  668. * @ver : 2010.04.26 dhkim 추가
  669. */
  670. function fGetNursHardCdInfo_MMR00401(pCode, pDate){
  671. model.removeNodeset("/root/send_mmr00401");
  672. model.removeNodeset("/root/code_mmr00401");
  673. model.makeNode("/root/code_mmr00401");
  674. model.makeValue("/root/send_mmr00401/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  675. model.makeValue("/root/send_mmr00401/srchdd" , pDate); // 조회기준일자
  676. submit("TRMMR00902",false);
  677. }
  678. /*******************************************************************
  679. * Function : fSetEduDt
  680. * Description : 환자및 보호자 교육 일자,시간 세팅
  681. *******************************************************************/
  682. function fSetEduDt(){
  683. utlf_addLog("***** fSetEduDt() *****");
  684. if (parent.fGetFormRec("status") == "C" ) {
  685. if (!utlf_isNull(grup_base.ivw_0006747001.url)) {
  686. //2010.01.15 dhkim - format변경
  687. var itemVal = new ITEMVAL();
  688. var str = parent.fGetFormRec("formrecdd") + parent.fGetFormRec("formrechm");
  689. var formRecDt = str.toDate("YYYYMMDDhhmm");
  690. //교육일자 설정
  691. itemVal.reccnts = formRecDt.getDateFormat("YYYYMMDD");
  692. grup_base.ivw_0006747001.setFormItemValue("0000160", itemVal); //0006747.
  693. //교육시간 설정
  694. itemVal.reccnts = formRecDt.getDateFormat("hhmm");
  695. grup_base.ivw_0006747001.setFormItemValue("0000538", itemVal); //0006747.
  696. }
  697. }
  698. }
  699. /*******************************************************************
  700. * Function : fCosignCheck_SMMMR00401
  701. * Description : staff-sign 버튼을 설정한다.
  702. *******************************************************************/
  703. function fCosignCheck_SMMMR00401() {
  704. utlf_addLog("***** fCosignCheck_SMMMR00401() *****");
  705. if (parent.fGetFormRec("formrecdeptcd") == sysf_getUserInfo("dutplcecd")) {
  706. if (parent.fGetFormRec("espiyn") == "Y") {
  707. var authyn = ds_main_extninfo_staffauthinfo.getColumn(0, "authyn");
  708. var cosign = parent.fGetFormRec("cosign");
  709. utlf_addLog("authyn :"+authyn + "cosign :"+cosign );
  710. utlf_addLog("authyn getFormrec:"+parent.fGetFormRec("authyn"));
  711. if (cosign == "Y") {
  712. if (parent.fGetFormRec("cosignid") == sysf_getUserId()) {
  713. if (parent.fGetFormRec("formrecuserid") == sysf_getUserId()) {
  714. //staff이 신규작성하여 sign된 경우 수정모드
  715. // [요청번호:20180712032] 입퇴원요약기록, 수술기록의 STAFF SIGN 관련건 수정모드 -> 싸인모드
  716. parent.initButtonLayer_MMR01100("staff_auth_y");
  717. } else {
  718. //전공의가 신규작성하여 staff이 sign한 경우 싸인모드
  719. parent.initButtonLayer_MMR01100("staff_auth_y");
  720. }
  721. } else {
  722. //staff sign이후이므로 staff이외에는 수정불가
  723. parent.initButtonLayer_MMR01100("no_auth");
  724. }
  725. } else {
  726. if (authyn == "Y") {
  727. //전공의 신규작성후에 staff이 수정모드로 열었으므로, 싸인모드
  728. parent.initButtonLayer_MMR01100("staff_auth_y");
  729. } else {
  730. //수정모드
  731. parent.initButtonLayer_MMR01100("staff_auth_n");
  732. }
  733. }
  734. } else {
  735. //수정모드
  736. parent.initButtonLayer_MMR01100("staff_auth_n");
  737. }
  738. } else {
  739. parent.initButtonLayer_MMR01100("no_auth");
  740. }
  741. }]]></Script>