SPMMO08900.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 환자기본정보설정 ( SPMMO08900_환자기본정보설정.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sPATMAINTOPINFO = "/root/hidden/topinfo/patmaintopinfo";
  7. /**
  8. * @desc : 초기화 및 환자 기본정보 조회 및 상단정보 설정
  9. * @
  10. * @param :
  11. * @return :
  12. * @---------------------------------------------------
  13. */
  14. var sMsgYn = "Y"; // 상단정보 설정 실패시 안내 메세지 팝업 여부
  15. function fInitialize_SPMMO08900(){
  16. condparam = opener.javascript.getParameter("condparam");
  17. condarray = condparam.split("▦");
  18. if (fContainsHardCD("505", getUserInfo("dutplcecd"))) { // 안내 메세지 제외 부서 2015.06.23 심사팀 제외 이은정 선생님 요청
  19. sMsgYn = "N";
  20. }
  21. if(condarray[0] == "O"){ //외래
  22. if(fReqOutPatTopInfo()==false){
  23. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  24. if(sMsgYn == "Y") { messageBox("외래환자 상단정보를 로딩", "E001"); }
  25. window.close();
  26. return;
  27. }
  28. }else if(condarray[0] == "I"){ //입원
  29. if(fReqInPatTopInfo()==false){
  30. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  31. if(sMsgYn == "Y") { messageBox("입원환자 상단정보를 로딩", "E001"); }
  32. window.close();
  33. return;
  34. }
  35. }else if(condarray[0] == "S"){ //지원부서
  36. if(fReqSupDeptTopInfo()==false){
  37. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  38. if(sMsgYn == "Y") { messageBox("환자 상단정보를 로딩", "E001"); }
  39. window.close();
  40. return;
  41. }
  42. }else if(condarray[0] == "T"){ //수술
  43. if(fReqOPPatTopInfo()==false){
  44. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  45. if(sMsgYn == "Y") { messageBox("수술환자 상단정보를 로딩", "E001"); }
  46. window.close();
  47. return;
  48. }
  49. }else if(condarray[0] == "E"){ //응급
  50. if(fReqERPatTopInfo()==false){
  51. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  52. if(sMsgYn == "Y") { messageBox("응급환자 상단정보를 로딩", "E001"); }
  53. window.close();
  54. return;
  55. }
  56. }else if(condarray[0] == "C"){ //의뢰(consult)
  57. if(fReqCnstPatList()==false){
  58. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  59. if(sMsgYn == "Y") { messageBox("의뢰환자 상단정보를 로딩", "E001"); }
  60. window.close();
  61. return;
  62. }
  63. }else{
  64. messageBox("상단정보 parameter값이 잘못 설정", "I001");
  65. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "N");
  66. window.close();
  67. return;
  68. }
  69. // XP에서 TF열었을 때 TF에서 XP 상단정보 셋팅 하는 함수
  70. var sysMessageobj = getViewer("sysMessage");
  71. if(sysMessageobj != null && sysMessageobj.window.javascript.fPatientInfoLoadingToXP != undefined) {
  72. sysMessageobj.window.javascript.setParameter("PatientInfoXP", condparam);
  73. sysMessageobj.window.javascript.fPatientInfoLoadingToXP(true);
  74. sysMessageobj.window.javascript.clearParameter("PatientInfoXP");
  75. }
  76. opener.javascript.setParameter("SPMMO08900_rtn_useyn", "Y");
  77. window.close();
  78. }
  79. /**
  80. * @desc : 외래환자 원무, 환자구분, 상단정보 설정
  81. * @
  82. * @param :
  83. * @return :
  84. * @---------------------------------------------------
  85. */
  86. function fReqOutPatTopInfo(){
  87. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  88. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //진료일자
  89. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  90. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  91. model.makeValue("/root/send/reqdata/ioflag" , "O");
  92. var errflag = opener.javascript.getParameter("errflag");
  93. if(errflag == "Y"){
  94. setErrorOff();
  95. }
  96. if(submit("TRMMO04202")){
  97. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/outpatpaminfo");
  98. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/outpatflaginfo");
  99. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  100. if(paminfonode.length < 1){
  101. if(sMsgYn == "Y") { messageBox("외래환자 원무 정보가", "I004"); }
  102. return false;
  103. }
  104. if(patflagnode.length < 1){
  105. if(sMsgYn == "Y") { messageBox("외래환자 환자구분 정보가", "I004"); }
  106. return false;
  107. }
  108. if(maintopnode.length < 1){
  109. if(sMsgYn == "Y") { messageBox("외래환자 상단기본 정보가", "I004"); }
  110. return false;
  111. }
  112. if(fSetMainTopInfo()) {
  113. setPatientFlag(model.getValue("/root/hidden/topinfo/outpatflaginfo/prcpgenrflag"));
  114. setPatientInfoDetail("/root/hidden/topinfo/outpatpaminfo");
  115. } else {
  116. return false;
  117. }
  118. return true;
  119. } else {
  120. return false;
  121. }
  122. }
  123. /**
  124. * @desc : 입원환자 원무, 환자구분, 상단정보 설정
  125. * @
  126. * @param :
  127. * @return :
  128. * @---------------------------------------------------
  129. */
  130. function fReqInPatTopInfo(){
  131. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  132. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //입원일자
  133. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  134. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  135. if(condarray.length > 5){
  136. model.makeValue("/root/send/reqdata/srchdd" , condarray[5]); //조회일자
  137. }
  138. model.makeValue("/root/send/reqdata/ioflag" , "I");
  139. var errflag = opener.javascript.getParameter("errflag");
  140. if(errflag == "Y"){
  141. setErrorOff();
  142. }
  143. if(submit("TRMMO04302", false)){
  144. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/inpatpaminfo");
  145. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/inpatflaginfo");
  146. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  147. if(paminfonode.length < 1){
  148. if(sMsgYn == "Y") { messageBox("입원환자 원무 정보가", "I004"); }
  149. return false;
  150. }
  151. if(patflagnode.length < 1){
  152. if(sMsgYn == "Y") { messageBox("입원환자 환자구분 정보가", "I004"); }
  153. return false;
  154. }
  155. if(maintopnode.length < 1){
  156. if(sMsgYn == "Y") { messageBox("입원환자 상단기본 정보가", "I004"); }
  157. return false;
  158. }
  159. if(fSetMainTopInfo()) { //화면 상단정보 설정
  160. setPatientFlag(model.getValue("/root/hidden/topinfo/inpatflaginfo/prcpgenrflag"));
  161. setPatientInfoDetail("/root/hidden/topinfo/inpatpaminfo");
  162. } else {
  163. return false;
  164. }
  165. return true;
  166. } else {
  167. return false;
  168. }
  169. }
  170. /**
  171. * @desc : 지원부서 원무, 환자구분, 상단정보 설정
  172. * @
  173. * @param :
  174. * @return :
  175. * @---------------------------------------------------
  176. */
  177. function fReqSupDeptTopInfo(){
  178. model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
  179. model.makeValue("/root/send/reqdata/prcpdd" , condarray[1]); //처방일자
  180. model.makeValue("/root/send/reqdata/execprcpuniqno", condarray[2]); //실시부서유일번호
  181. model.makeValue("/root/send/reqdata/instcd" , condarray[3]); //기관코드
  182. if(condarray.length > 5){
  183. model.makeValue("/root/send/reqdata/srchdd" , condarray[4]); //기준일자
  184. }
  185. var errflag = opener.javascript.getParameter("errflag");
  186. if(errflag == "Y"){
  187. setErrorOff();
  188. }
  189. if(submit("TRMMO04102")){
  190. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatpaminfo");
  191. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatflaginfo");
  192. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  193. if(paminfonode.length < 1){
  194. if(sMsgYn == "Y") { messageBox("지원부서 환자 원무 정보가", "I004"); }
  195. return false;
  196. }
  197. if(patflagnode.length < 1){
  198. if(sMsgYn == "Y") { messageBox("지원부서 환자 환자구분 정보가", "I004"); }
  199. return false;
  200. }
  201. if(maintopnode.length < 1){
  202. if(sMsgYn == "Y") { messageBox("지원부서 환자 상단기본 정보가", "I004"); }
  203. return false;
  204. }
  205. if(fSetMainTopInfo()) { //화면 상단정보 설정
  206. setPatientFlag(model.getValue("/root/hidden/topinfo/etcpatflaginfo/prcpgenrflag"));
  207. setPatientInfoDetail("/root/hidden/topinfo/etcpatpaminfo");
  208. } else {
  209. return false;
  210. }
  211. return true;
  212. } else {
  213. return false;
  214. }
  215. }
  216. /**
  217. * @desc : 수술환자 원무, 환자구분, 상단정보 설정
  218. * @
  219. * @param :
  220. * @return :
  221. * @---------------------------------------------------
  222. */
  223. function fReqOPPatTopInfo(){
  224. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  225. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //수술일자
  226. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  227. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  228. model.makeValue("/root/send/reqdata/ioflag" , condarray[0]); //외래입원구분
  229. model.makeValue("/root/send/reqdata/orddeptcd", condarray[5]); //집도과
  230. model.makeValue("/root/send/reqdata/orddrid" , condarray[6]); //집도의
  231. model.makeValue("/root/send/reqdata/patflag" , condarray[7]); //환자구분 - dao sql에서 query구분자 설정
  232. model.makeValue("/root/send/reqdata/procflag" , condarray[8]); //처리구분(F:최초 조회, R:재조회)
  233. model.makeValue("/root/send/reqdata/oprsrvno" , condarray[9]); //수술예약번호
  234. model.makeValue("/root/send/reqdata/ophistno" , condarray[10]);//수술이력번호
  235. model.makeValue("/root/send/reqdata/srchdd" , condarray[11]);//조회일자
  236. var errflag = opener.javascript.getParameter("errflag");
  237. if(errflag == "Y"){
  238. setErrorOff();
  239. }
  240. if(submit("TRMMO04502")==true){
  241. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatpaminfo");
  242. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatflaginfo");
  243. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  244. var oppatnode = model.instance1.selectNodes("/root/hidden/topinfo/oppatopscheinfo");
  245. if(paminfonode.length < 1){
  246. if(sMsgYn == "Y") { messageBox("수술환자 원무 정보가", "I004"); }
  247. return false;
  248. }
  249. if(patflagnode.length < 1){
  250. if(sMsgYn == "Y") { messageBox("수술환자 환자구분 정보가", "I004"); }
  251. return false;
  252. }
  253. if(maintopnode.length < 1){
  254. if(sMsgYn == "Y") { messageBox("수술환자 상단기본 정보가", "I004"); }
  255. return false;
  256. }
  257. if(oppatnode.length < 1){
  258. if(sMsgYn == "Y") { messageBox("수술환자 예약 정보가", "I004"); }
  259. return false;
  260. }
  261. if(fSetMainTopInfo()) { //화면 상단정보 설정
  262. setPatientFlag(model.getValue("/root/hidden/topinfo/etcpatflaginfo/prcpgenrflag"));
  263. setPatientInfoDetail("/root/hidden/topinfo/etcpatpaminfo");
  264. setOperationInfo("/root/hidden/topinfo/oppatopscheinfo");
  265. } else {
  266. return false;
  267. }
  268. return true;
  269. } else {
  270. return false;
  271. }
  272. }
  273. /**
  274. * @desc : 응급환자 상단정보 조회조건 설정
  275. * @
  276. * @param :
  277. * @return :
  278. * @---------------------------------------------------
  279. */
  280. function fReqERPatTopInfo(){
  281. model.makeValue("/root/send/reqdata/pid" , condarray[1]); //등록번호
  282. model.makeValue("/root/send/reqdata/orddd" , condarray[2]); //입원일자
  283. model.makeValue("/root/send/reqdata/cretno" , condarray[3]); //생성번호
  284. model.makeValue("/root/send/reqdata/instcd" , condarray[4]); //기관코드
  285. if(condarray.length > 5){
  286. model.makeValue("/root/send/reqdata/srchdd", condarray[5]); //조회일자
  287. }
  288. if(condarray.length > 6){
  289. model.makeValue("/root/send/reqdata/callvisityn", condarray[6]); //콜비짓 유무
  290. }
  291. model.makeValue("/root/send/reqdata/ioflag" , "E");
  292. var errflag = opener.javascript.getParameter("errflag");
  293. if(errflag == "Y"){
  294. setErrorOff();
  295. }
  296. if(submit("TRMMO04302", false)){
  297. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/inpatpaminfo");
  298. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/inpatflaginfo");
  299. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  300. if(paminfonode.length < 1){
  301. if(sMsgYn == "Y") { messageBox("응급환자 원무 정보가", "I004"); }
  302. return false;
  303. }
  304. if(patflagnode.length < 1){
  305. if(sMsgYn == "Y") { messageBox("응급환자 환자구분 정보가", "I004"); }
  306. return false;
  307. }
  308. if(maintopnode.length < 1){
  309. if(sMsgYn == "Y") { messageBox("응급환자 상단기본 정보가", "I004"); }
  310. return false;
  311. }
  312. if(fSetMainTopInfo()) { //화면 상단정보 설정
  313. setPatientFlag(model.getValue("/root/hidden/topinfo/inpatflaginfo/prcpgenrflag"));
  314. setPatientInfoDetail("/root/hidden/topinfo/inpatpaminfo");
  315. } else {
  316. return false;
  317. }
  318. return true;
  319. } else {
  320. return false;
  321. }
  322. }
  323. /**
  324. * @desc : 의뢰(consult)환자 상단정보 조회조건 설정
  325. * @
  326. * @param :
  327. * @return :
  328. * @---------------------------------------------------
  329. */
  330. function fReqCnstPatList(){
  331. model.makeValue("/root/send/reqdata/ioflag" , condarray[0]);
  332. model.makeValue("/root/send/reqdata/chosflag" , condarray[1]);
  333. model.makeValue("/root/send/reqdata/pid" , condarray[2]); //등록번호
  334. model.makeValue("/root/send/reqdata/orddd" , condarray[3]); //입원일자
  335. model.makeValue("/root/send/reqdata/cretno" , condarray[4]); //생성번호
  336. model.makeValue("/root/send/reqdata/instcd" , condarray[5]); //기관코드
  337. model.makeValue("/root/send/reqdata/formrecseq", condarray[6]); //서식번호
  338. var errflag = opener.javascript.getParameter("errflag");
  339. if(errflag == "Y"){
  340. setErrorOff();
  341. }
  342. if(submit("TRMMO04802")){
  343. var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatpaminfo");
  344. var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/etcpatflaginfo");
  345. var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
  346. var cnstpatnode = model.instance1.selectNodes("/root/hidden/topinfo/cnstpattopinfo");
  347. if(paminfonode.length < 1){
  348. if(sMsgYn == "Y") { messageBox("의뢰환자 원무 정보가", "I004"); }
  349. return false;
  350. }
  351. if(patflagnode.length < 1){
  352. if(sMsgYn == "Y") { messageBox("의뢰환자 환자구분 정보가", "I004"); }
  353. return false;
  354. }
  355. if(maintopnode.length < 1){
  356. if(sMsgYn == "Y") { messageBox("의뢰환자 상단기본 정보가", "I004"); }
  357. return false;
  358. }
  359. if(cnstpatnode.length < 1){
  360. messageBox("의뢰환자 정보가", "I004");
  361. return false;
  362. }
  363. if(fSetMainTopInfo()) {
  364. setPatientFlag(model.getValue("/root/hidden/topinfo/etcpatflaginfo/prcpgenrflag"));
  365. setPatientInfoDetail("/root/hidden/topinfo/etcpatpaminfo");
  366. setConsultInfo("/root/hidden/topinfo/cnstpattopinfo");
  367. } else {
  368. return false;
  369. }
  370. return true;
  371. } else {
  372. return false;
  373. }
  374. }
  375. /**
  376. * @desc : 상단정보 설정
  377. * @
  378. * @param :
  379. * @return :
  380. * @---------------------------------------------------
  381. */
  382. function fSetMainTopInfo(){
  383. var bRtn = true;
  384. var pid = model.getValue(sPATMAINTOPINFO + "/pid"); //등록번호
  385. var hngnm = model.getValue(sPATMAINTOPINFO + "/hngnm"); //환자명
  386. var hngnm2 = model.getValue(sPATMAINTOPINFO + "/hngnm2"); //환자명2
  387. var dispnm1 = model.getValue(sPATMAINTOPINFO + "/dispnm1"); //표시명1
  388. var dispnm2 = model.getValue(sPATMAINTOPINFO + "/dispnm2"); //표시명2
  389. var age = model.getValue(sPATMAINTOPINFO + "/sa"); //나이/성별
  390. var rrgstno = model.getValue(sPATMAINTOPINFO + "/rrgstno"); //주민번호
  391. var addr = model.getValue(sPATMAINTOPINFO + "/addr"); //주소
  392. var insukind = model.getValue(sPATMAINTOPINFO + "/insukind"); //보험유형코드
  393. var suppkind = model.getValue(sPATMAINTOPINFO + "/suppkind"); //보조유형코드
  394. var insuyn = model.getValue(sPATMAINTOPINFO + "/insuyn"); //보험유형코드
  395. var ininfo = model.getValue(sPATMAINTOPINFO + "/ininfo"); //입원정보
  396. var body = model.getValue(sPATMAINTOPINFO + "/body"); //보험유형코드
  397. var orddept = model.getValue(sPATMAINTOPINFO + "/orddept"); //부서명
  398. var apntdr = model.getValue(sPATMAINTOPINFO + "/apntdr"); //지정의
  399. var attndr = model.getValue(sPATMAINTOPINFO + "/attndr"); //주치의
  400. var btype = model.getValue(sPATMAINTOPINFO + "/btype"); //RH혈액형
  401. var diagnosis = model.getValue(sPATMAINTOPINFO + "/diagnosis"); //진단
  402. var operation = model.getValue(sPATMAINTOPINFO + "/operation"); //수술
  403. var allergy = model.getValue(sPATMAINTOPINFO + "/allergy"); //알러지
  404. var infection = model.getValue(sPATMAINTOPINFO + "/infection"); //감염
  405. var intcare = model.getValue(sPATMAINTOPINFO + "/intcare"); //감염
  406. var cp = model.getValue(sPATMAINTOPINFO + "/cp"); //CP
  407. var drgyn = model.getValue(sPATMAINTOPINFO + "/drgyn"); //DRGYN
  408. var regstno = model.getValue(sPATMAINTOPINFO + "/regstno"); //주민번호 뒷자리
  409. var detladdr = model.getValue(sPATMAINTOPINFO + "/detladdr"); //상세주소
  410. var zipcd = model.getValue(sPATMAINTOPINFO + "/zipcd"); //우편번호
  411. var phontel = model.getValue(sPATMAINTOPINFO + "/phontel"); //전화번호
  412. var cnsttypenm = model.getValue(sPATMAINTOPINFO + "/cnsttypenm"); //협진명
  413. var healexam = model.getValue(sPATMAINTOPINFO + "/healexam"); //건진
  414. var vip = model.getValue(sPATMAINTOPINFO + "/vip"); //VIP
  415. var coop = model.getValue(sPATMAINTOPINFO + "/coop"); //onestop
  416. var recovwardnm = model.getValue(sPATMAINTOPINFO + "/recovwardnm"); //회복병실코드
  417. var stgediagnm = model.getValue(sPATMAINTOPINFO + "/stgediagnm"); //VIP
  418. var stgediagcd = model.getValue(sPATMAINTOPINFO + "/stgediagcd"); //VIP
  419. var stgecd = model.getValue(sPATMAINTOPINFO + "/stagecd"); //VIP
  420. var tnmcd1 = model.getValue(sPATMAINTOPINFO + "/tnmcd1"); //onestop
  421. var tnmcd2 = model.getValue(sPATMAINTOPINFO + "/tnmcd2"); //onestop
  422. var tnmcd3 = model.getValue(sPATMAINTOPINFO + "/tnmcd3"); //회복병실코드
  423. var organ = model.getValue(sPATMAINTOPINFO + "/organ"); //이식
  424. var dinfo = model.getValue(sPATMAINTOPINFO + "/dinfo"); //낙상
  425. var binfo = model.getValue(sPATMAINTOPINFO + "/binfo"); //욕창
  426. var pinfo = model.getValue(sPATMAINTOPINFO + "/pinfo"); //사생활
  427. var nutinfo = model.getValue(sPATMAINTOPINFO + "/nutinfo"); //영양고위험
  428. var recmerinfo = model.getValue(sPATMAINTOPINFO + "/recmerinfo"); //지인정보
  429. var recmer = model.getValue(sPATMAINTOPINFO + "/recmer"); //지인여부
  430. var schoolflag = model.getValue(sPATMAINTOPINFO + "/schoolflag"); //교직원 flag
  431. var drginfo = model.getValue(sPATMAINTOPINFO + "/drginfo"); //DRG 정보
  432. var pregnant = model.getValue(sPATMAINTOPINFO + "/pregnant"); //임신부 정보
  433. // 상단에 알러지 표시 깜빡거리는 기능 2008.07.17 오지훈
  434. var newallergy = model.getValue(sPATMAINTOPINFO + "/newallergy"); //뉴알러지
  435. // 상단 Allergy나 ADR 중 하나면 'Y'라도 둘다 'Y'로 변경
  436. // Allergy/ADR의 구분이 모호하다는 배성미 선생님 요청으로 변경 2008.07.16 정연우
  437. var sAYNArray = allergy.split("^");
  438. var callvisityn = model.getValue(sPATMAINTOPINFO + "/callvisityn"); //콜비짓
  439. // 주의요망환자 상단 불가 처리 2015.06.18 엄영만
  440. var errwarnmsg = model.getValue(sPATMAINTOPINFO + "/errwarnmsg"); //주의요망 상단불가 처리
  441. if(!isNull(errwarnmsg)) {
  442. messageBox(" ◆ 주의요망 환자관리 ◆\n\n" + errwarnmsg, "E999");
  443. return false;
  444. }
  445. // 메르스 환자 관련 체크 추가 원무 인터페이스 호출 (PAM.js) 2015.06.17 엄영만
  446. /* Start of 메르스 메세지 체크 삭제 2016.02.01 엄영만
  447. try {
  448. if(!isNull(pid)) {
  449. if(pid == "3292911") { // 메르스 확정환자
  450. if (!fContainsHardCD("5703", getUserInfo("userid"))) {
  451. messageBox("환자번호 : " + pid + "\n개인정보보호 관리대상 환자로 접근권한을 제한 합니다.\n\n진료지원실장 양동헌", "E999");
  452. return false;
  453. }
  454. }
  455. fMersPatChk("EMR", pid); // 메르스 안내 메세지 팝업
  456. }
  457. } catch(e) {
  458. }
  459. End of 메르스 메세지 체크 삭제 2016.02.01 엄영만
  460. */
  461. // 이윤주 추가(20160907)
  462. var instcd = getUserInfo("dutplceinstcd");
  463. var jobkindcd = getUserInfo("jobkindcd");
  464. var openerID = opener.window.javascript.getScreenID()
  465. //진료대상자창에서만 제어
  466. if ( openerID == "SMMMO04700" || openerID == "SMMMO04500" || openerID == "SMMMO04400" || openerID == "SMMMO04300" || openerID == "SMMMO04200") {
  467. if ( instcd == "031" && jobkindcd.substr(0,2) == "03") {
  468. model.makeValue("/root/send/reqdata/pid", pid);
  469. model.makeValue("/root/send/reqdata/instcd", instcd);
  470. model.makeValue("/root/send/reqdata/flag", "TOP");
  471. submit("TRMRI03007");
  472. var active = model.getValue("root/activeyn/activeyn");
  473. var activeyn = active.substr(0,1);
  474. if (activeyn == "N") {
  475. //modal("SPMRI03110", 1,10, 10, "SPMRI03110","/root/hidden/topinfo","/root/temp","sysmenu:hidden;" );
  476. modal("SPMRI03110", 1,10, 10, "SPMRI03110","/root/hidden/topinfo","/root/temp");
  477. var confirmyn = getParameter("SPMRI03110_param_confirmyn");
  478. if (confirmyn != "Y") {
  479. return false ;
  480. }
  481. }
  482. }
  483. }
  484. if(sAYNArray[0] == "Y" || sAYNArray[1] == "Y"){ allergy = "Y^Y";}
  485. setPatientInfo("pid" , pid); //등록번호
  486. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  487. setPatientInfo("pname2" , pid + "|" + hngnm2); //환자명2
  488. setPatientInfo("dispnm1" , pid + "|" + dispnm1); //표시명1
  489. setPatientInfo("dispnm2" , pid + "|" + dispnm2); //표시명2
  490. setPatientInfo("age" , pid + "|" + age); //나이/성별
  491. setPatientInfo("rrgstno" , pid + "|" + rrgstno); //주민번호
  492. setPatientInfo("addr" , pid + "|" + detladdr); //주소
  493. setPatientInfo("insukind" , pid + "|" + insukind); //보험유형코드
  494. setPatientInfo("suppkind" , pid + "|" + suppkind); //보조유형코드
  495. setPatientInfo("insuyn" , pid + "|" + insuyn); //보험유형에 따른 플래그
  496. setPatientInfo("ininfo" , pid + "|" + ininfo); //입원정보
  497. setPatientInfo("body" , pid + "|" + body); //보험유형코드
  498. setPatientInfo("orddept" , pid + "|" + orddept); //부서명
  499. setPatientInfo("apntdr" , pid + "|" + apntdr); //지정의
  500. setPatientInfo("attndr" , pid + "|" + attndr); //주치의
  501. setPatientInfo("btype" , pid + "|" + btype); //RH혈액형
  502. setPatientInfo("diagnosis" , pid + "|" + diagnosis); //진단
  503. setPatientInfo("operation" , pid + "|" + operation); //수술
  504. setPatientInfo("allergy" , pid + "|" + allergy); //알러지
  505. setPatientInfo("infection" , pid + "|" + infection); //감염
  506. setPatientInfo("intncare" , pid + "|" + intcare); //특례
  507. setPatientInfo("cp" , pid + "|" + cp); //CP
  508. setPatientInfo("drgyn" , pid + "|" + drgyn); //DRGYN
  509. setPatientInfo("regstno" , pid + "|" + regstno); //주민번호
  510. setPatientInfo("addrdetl" , pid + "|" + detladdr); //상세주소
  511. setPatientInfo("zipcd" , pid + "|" + zipcd); //우편번호
  512. setPatientInfo("telno" , pid + "|" + phontel); //전화번호
  513. setPatientInfo("cnsttypenm" , pid + "|" + cnsttypenm); //협진명
  514. // 상단에 알러지 표시 깜빡거리는 기능 2008.07.17 오지훈
  515. setPatientInfo("newallergy" , pid + "|" + newallergy); //뉴알러지
  516. setPatientInfo("healexam" , pid + "|" + healexam); //건진
  517. setPatientInfo("vip" , pid + "|" + vip); //vip
  518. setPatientInfo("coop" , pid + "|" + coop); //onestop
  519. setPatientInfo("recovwardnm" , pid + "|" + recovwardnm); //onestop
  520. setPatientInfo("stgediagnm" , pid + "|" + stgediagnm); //병기진단명
  521. setPatientInfo("stgediagcd" , pid + "|" + stgediagcd); //병기진단코드
  522. setPatientInfo("stgecd" , pid + "|" + stgecd); //병기 stage
  523. setPatientInfo("tnmcd1" , pid + "|" + tnmcd1); //tnmcd1
  524. setPatientInfo("tnmcd2" , pid + "|" + tnmcd2); //tnmcd2
  525. setPatientInfo("tnmcd3" , pid + "|" + tnmcd3); //tnmcd3
  526. setPatientInfo("organ" , pid + "|" + organ); //organ
  527. setPatientInfo("dinfo" , pid + "|" + dinfo); //dinfo
  528. setPatientInfo("binfo" , pid + "|" + binfo); //binfo
  529. setPatientInfo("pinfo" , pid + "|" + pinfo); //pinfo
  530. setPatientInfo("nutinfo" , pid + "|" + nutinfo); //nutinfo
  531. setPatientInfo("callvisityn" , pid + "|" + callvisityn); //callvisityn
  532. setPatientInfo("recmerinfo" , pid + "|" + recmerinfo); //recmerinfo
  533. setPatientInfo("recmer" , pid + "|" + recmer); //recmer
  534. setPatientInfo("schoolflag" , pid + "|" + schoolflag); //경대교직원
  535. setPatientInfo("drginfo" , pid + "|" + drginfo); //DRG정보
  536. setPatientInfo("pregnant" , pid + "|" + pregnant); //임신부정보
  537. return bRtn;
  538. }