SMPMC01400_환자기본정보관리.xrw 112 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--수정이력 : 2007.10.15 박재형 - 감면정보에 가족주민번호, 가족성명 추가 -->
  3. <!--수정이력 : 2008.01.14 박재형 - 감면정보 Grid -->
  4. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  5. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  6. <xhtml:head>
  7. <xhtml:title>환자기본정보관리</xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <main>
  12. <popupendflag/>
  13. <patinfo>
  14. <patinfolist>
  15. <pid/>
  16. <hngnm/>
  17. <engnm/>
  18. <chinm/>
  19. <rrgstno1/>
  20. <rrgstno2/>
  21. <brthdd/>
  22. <sex/>
  23. <age/>
  24. <bindpid/>
  25. <hometel/>
  26. <mpphontel/>
  27. <etctel1/>
  28. <etctel2/>
  29. <smsaprvyn/>
  30. <email/>
  31. <zipcd1/>
  32. <zipcd2/>
  33. <zipcdseq/>
  34. <addr/>
  35. <detladdr/>
  36. <btype/>
  37. <rh/>
  38. <forgeryn/>
  39. <nati/>
  40. <psptno/>
  41. <recmyn/>
  42. <recmerid/>
  43. <recmernm/>
  44. <recmerrela/>
  45. <vipyn/>
  46. <viprem/>
  47. <religncd/>
  48. <baptnm/>
  49. <chchnm/>
  50. <dethyn/>
  51. <dethdt/>
  52. <dethdd/>
  53. <dethtm/>
  54. <chosresn/>
  55. <animyn/>
  56. <exptresncd/>
  57. <inhospyn/>
  58. <handicapryn/>
  59. <remfact/>
  60. <fstrgstrid/>
  61. <fstrgstdt/>
  62. <lastupdtrid/>
  63. <lastupdtdt/>
  64. <kioskrcptnoyn/>
  65. <carnum/>
  66. <mig/>
  67. <hngnm2/>
  68. <builno/>
  69. <smtappscanyn/>
  70. <lastorddd/>
  71. <lastcretno/>
  72. </patinfolist>
  73. </patinfo>
  74. <detailinfo>
  75. <patinsuinfo>
  76. <patinsuinfolist>
  77. <pid/>
  78. <insukind/>
  79. <todd/>
  80. <seqno/>
  81. <instcd/>
  82. <histstat/>
  83. <fromdd/>
  84. <insucd/>
  85. <insuno/>
  86. <insdnm/>
  87. <insdrrgstno1/>
  88. <insdrrgstno2/>
  89. <insdrela/>
  90. <fstrgstrid/>
  91. <fstrgstdt/>
  92. <lastupdtrid/>
  93. <lastupdtdt/>
  94. </patinsuinfolist>
  95. </patinsuinfo>
  96. <patdiscinfo>
  97. <patdiscinfolist>
  98. <pid/>
  99. <disccd/>
  100. <discflag/>
  101. <disccls/>
  102. <todd/>
  103. <seqno/>
  104. <instcd/>
  105. <histstat/>
  106. <fromdd/>
  107. <empid/>
  108. <rrgstno1/>
  109. <rrgstno2/>
  110. <hngnm/>
  111. <emprela/>
  112. <discappacptyn/>
  113. <profacptyn/>
  114. <profacptdd/>
  115. <remfact/>
  116. <fstrgstrid/>
  117. <fstrgstdt/>
  118. <lastupdtrid/>
  119. <lastupdtdt/>
  120. <prrgstno1/>
  121. <prrgstno2/>
  122. </patdiscinfolist>
  123. </patdiscinfo>
  124. <patordrecinfo>
  125. <patordrecinfolist>
  126. <incnt/>
  127. <fstindd/>
  128. <fstindeptnm/>
  129. <lstindd/>
  130. <lstindeptnm/>
  131. <outcnt/>
  132. <fstoutdd/>
  133. <fstoutdeptnm/>
  134. <lstoutdd/>
  135. <lstoutdeptnm/>
  136. </patordrecinfolist>
  137. </patordrecinfo>
  138. <nbabyinfo>
  139. <nbabyinfolist>
  140. <nbabyindd/>
  141. <sickbabyyn/>
  142. <womnbrthdd/>
  143. <womnindd/>
  144. <womnpid/>
  145. <womnnm/>
  146. </nbabyinfolist>
  147. </nbabyinfo>
  148. </detailinfo>
  149. <result/>
  150. <userpopupinfo>
  151. <param/>
  152. <flag/>
  153. <searchitem/>
  154. </userpopupinfo>
  155. <protinfo>
  156. <protlist/>
  157. </protinfo>
  158. </main>
  159. <send>
  160. <pid/>
  161. <!-- 수정 추가 : 2007.10.15 박재형 : 감면정보중 가족의 감면정보를 가져오기위한 환자의 주민번호를 보내기위한 인스턴스-->
  162. <prrgstno1/>
  163. <prrgstno2/>
  164. <updatedata>
  165. <patinfo>
  166. <patinfolist/>
  167. </patinfo>
  168. <patinsuinfo>
  169. <patinsuinfolist/>
  170. </patinsuinfo>
  171. <patdiscinfo>
  172. <patdiscinfolist/>
  173. </patdiscinfo>
  174. </updatedata>
  175. <!-- 수정 추가 : 2007.10.15 박재형 : 감면테이블의 직원과 가족중 해당하는 주민번호 성명을 조회하기 위한 인스턴스-->
  176. <discsearch>
  177. <discsearchinfo>
  178. <discrrgstno1/>
  179. <discrrgstno2/>
  180. <hngnm/>
  181. </discsearchinfo>
  182. </discsearch>
  183. <!-- 수정 추가 : 2007.10.15 박재형 : 감면만 따로 저장을 위한 인스턴스 -->
  184. <discupdate>
  185. <patdiscinfo>
  186. <patdiscinfolist/>
  187. </patdiscinfo>
  188. </discupdate>
  189. <!-- 수정추가 : 2008.01.14 박재형 : 할인코드(submit00106)를 가져오기 위한 input 값 -->
  190. <data1>
  191. <sess_posinstcd>012</sess_posinstcd>
  192. </data1>
  193. <smtappdata>
  194. <pid/>
  195. <mpphontel/>
  196. </smtappdata>
  197. </send>
  198. <init>
  199. <P0327list>
  200. <P0327>
  201. <cdnm/>
  202. <cdid/>
  203. </P0327>
  204. </P0327list>
  205. <P0157list>
  206. <P0157>
  207. <cdnm/>
  208. <cdid/>
  209. </P0157>
  210. </P0157list>
  211. <P0034list>
  212. <P0034>
  213. <cdnm/>
  214. <cdid/>
  215. </P0034>
  216. </P0034list>
  217. <P0008list>
  218. <P0008>
  219. <cdnm/>
  220. <cdid/>
  221. </P0008>
  222. </P0008list>
  223. <P0016list>
  224. <P0016>
  225. <cdnm/>
  226. <cdid/>
  227. </P0016>
  228. </P0016list>
  229. <P0004list>
  230. <P0004>
  231. <cdnm/>
  232. <cdid/>
  233. </P0004>
  234. </P0004list>
  235. <P1010list>
  236. <P1010>
  237. <cdnm/>
  238. <cdid/>
  239. </P1010>
  240. </P1010list>
  241. <P0349list>
  242. <P0349>
  243. <cdnm/>
  244. <cdid/>
  245. </P0349>
  246. </P0349list>
  247. <P0400list>
  248. <P0400>
  249. <cdnm/>
  250. <cdid/>
  251. </P0400>
  252. </P0400list>
  253. <!-- 수정 추가 : 20071017 박재형 : 할인분류구분(P0417)-->
  254. <P0417list>
  255. <P0417>
  256. <cdnm/>
  257. <cdid/>
  258. </P0417>
  259. </P0417list>
  260. </init>
  261. <hidden>
  262. <source>
  263. <srchcond/>
  264. <pid/>
  265. <hngnm/>
  266. <rrgstno1/>
  267. <rrgstno2/>
  268. </source>
  269. <tmpnode/>
  270. <!-- 수정추가 : 2008.01.14 박재형 : 감면Grid 할인코드 출력 인스턴스 -->
  271. <init>
  272. <disccd>
  273. <cd/>
  274. <nm/>
  275. </disccd>
  276. <naticd>
  277. <cd/>
  278. <nm/>
  279. </naticd>
  280. </init>
  281. <smtappresult/>
  282. </hidden>
  283. <temp/>
  284. <paminit>
  285. <P0022list/>
  286. <PK223list/>
  287. </paminit>
  288. </root>
  289. </instance>
  290. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  291. <submission id="TRPMC01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/detailinfo"/>
  292. <submission id="TRPMC02500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/source" resultref="/root/main/result/patinfo"/>
  293. <submission id="TXPMC01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/updatedata" resultref="/root/main/result"/>
  294. <!-- 수정 추가 : 2007.10.15 박재형 : 감면저장-->
  295. <submission id="TXPMC01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/discupdate" resultref="/root/main/result"/>
  296. <!-- 수정추가 : 2007.10.15 박재형 : 감면 조회-->
  297. <submission id="TRPMC01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/discsearch/discsearchinfo" resultref="/root/main/detailinfo"/>
  298. <submission id="TXPAM00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/patcardissue" resultref="/root/hidden/patcardissue/result"/>
  299. <!-- 수정추가 : 2008.01.14 박재형 : 감면Grid 할인코드 콤보박스 data 가져오기 -->
  300. <submission id="TRPMC01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" resultref="/root/hidden/init"/>
  301. <submission id="TRPMC01404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/protinfo"/>
  302. <submission id="TXPMC01404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/temp"/>
  303. <submission id="TRPAO00002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/checkptbs" resultref="/root/temp"/>
  304. <submission id="TRPAM00105" mediatype="application/x-www-form-urlencoded" method="post"/>
  305. <submission id="TXPMC01405" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/smtappdata" resultref="/root/hidden/smtappresult"/>
  306. <script type="javascript" ev:event="xforms-model-destruct">
  307. <![CDATA[
  308. if ( checkOpener() ) {
  309. opener.javascript.setParameter("SMPMC01400_PID", model.getValue("/root/main/patinfo/patinfolist/pid"));
  310. }
  311. ]]>
  312. </script>
  313. </model>
  314. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  315. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  316. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  317. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  318. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  319. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  320. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  321. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  322. <script type="javascript" src="../../../com/shortmsgweb/js/ZMS001.js"/>
  323. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  324. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM001.js"/>
  325. <!-- 수정추가 : 20071015 박재형 : 할인분류구분 공통코드추가 (P0417)-->
  326. <script type="javascript" ev:event="xforms-ready">
  327. <![CDATA[
  328. zbcfGetCodeList(new Array("P0157", "P0327", "P0034", "P0008", "P0016", "P0004", "P1010", "P0349", "P0400", "P0417" ),
  329. new Array("/root/init/P0157list", "/root/init/P0327list", "/root/init/P0034list", "/root/init/P0008list", "/root/init/P0016list",
  330. "/root/init/P0004list", "/root/init/P1010list", "/root/init/P0349list", "/root/init/P0400list", "/root/init/P0417list"));
  331. //getUserInfo();
  332. //2015/07/28 이정택 추가(우편번호 변경에 따라서)
  333. pamfGetCodeList(new Array("P0022", "PK223"), new Array("/root/paminit/P0022list", "/root/paminit/PK223list"));
  334. //2015/07/28 이정택 추가(우편번호 변경에 따라서)
  335. //2007-10-04 이동식 추가 - 환자카드발급 PC정보를 읽어온다.
  336. fGetPCID();
  337. //END..
  338. var spid = model.getValue("/root/hidden/source/pid");
  339. if(spid != ""){
  340. model.resetInstanceNode("/root/main/result");
  341. model.makeNode("/root/main/result/patinfo");
  342. if(submit("TRPMC02500")) {
  343. //메인화면의 fSearch() 함수 콜!
  344. if (getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  345. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  346. model.setValue("/root/main/popupendflag", "ok");
  347. fSearch();
  348. submit("TRPMC01404");
  349. } else{
  350. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  351. model.resetInstanceNode("/root/main/detailinfo/patinsuinfo/patinsuinfolist");
  352. model.resetInstanceNode("/root/main/detailinfo/patdiscinfo/patdiscinfolist");
  353. fInitialize();
  354. }
  355. }else{
  356. fInitialize();
  357. }
  358. }else{
  359. fInitialize();
  360. }
  361. //수정추가 : 2008.01.14 박재형 : 감면Grid내 할인코드 콤보박스 itemset
  362. submit("TRPMC01403");
  363. model.refresh();
  364. ]]>
  365. </script>
  366. <script type="javascript">
  367. <![CDATA[
  368. //2007-10-04 이동식 추가 - 환자카드발급신청
  369. function fIssuePatientCard(){
  370. //노드생성
  371. model.makeNode("/root/hidden/patcardissue/flag");
  372. model.makeNode("/root/hidden/patcardissue/pid");
  373. model.makeNode("/root/hidden/patcardissue/rrgstno1");
  374. model.makeNode("/root/hidden/patcardissue/rrgstno2");
  375. model.makeNode("/root/hidden/patcardissue/issflag");
  376. model.makeNode("/root/hidden/patcardissue/issno");
  377. model.makeNode("/root/hidden/patcardissue/hngnm");
  378. model.makeNode("/root/hidden/patcardissue/remfact");
  379. model.makeNode("/root/hidden/patcardissue/result");
  380. //데이터 체크
  381. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  382. if( pid == '' || pid == ' ' || pid == '-' ){
  383. messageBox("등록번호를 찾을 수 없습니다.", "E999", "");
  384. return false;
  385. }
  386. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  387. if( rrgstno1 == '' || rrgstno1 == ' ' || rrgstno1 == '-' ){
  388. messageBox("주민등록번호 앞 6자리를 찾을 수 없습니다.", "E999", "");
  389. return false;
  390. }
  391. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  392. if( rrgstno2 == '' || rrgstno2 == ' ' || rrgstno2 == '-' ){
  393. messageBox("주민등록번호 뒤 7자리를 찾을 수 없습니다.", "E999", "");
  394. return false;
  395. }
  396. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  397. if( hngnm == '' || hngnm == ' ' || hngnm == '-' ){
  398. messageBox("환자이름을 찾을 수 없습니다.", "E999", "");
  399. return false;
  400. }
  401. var issno = model.getValue("/root/hidden/patcardissue/pcinfo");
  402. if( issno == '' || issno == ' ' || issno == '-' ){
  403. messageBox("PC 고유번호 정보를 찾을 수 없습니다.", "E999", "");
  404. return false;
  405. }
  406. //노드값 세팅
  407. model.setValue("/root/hidden/patcardissue/flag", "R"); //재발행 cf)최초발행은 'F'
  408. model.setValue("/root/hidden/patcardissue/pid", pid);
  409. model.setValue("/root/hidden/patcardissue/rrgstno1", rrgstno1);
  410. model.setValue("/root/hidden/patcardissue/rrgstno2", rrgstno2);
  411. model.setValue("/root/hidden/patcardissue/issflag", "7"); //환자 cf)직원은 '4"
  412. model.setValue("/root/hidden/patcardissue/issno", issno);
  413. model.setValue("/root/hidden/patcardissue/hngnm", hngnm);
  414. model.setValue("/root/hidden/patcardissue/remfact", '-');
  415. if(submit("TXPAM00201")){
  416. messageBox("환자카드 발급신청을 정상적으로 완료했습니다. 카드발급 프린터에서 발급상황을 확인하세요.", "I999", "");
  417. }
  418. }
  419. //END..
  420. function fCheckData(){
  421. //환자정보 체크
  422. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  423. if( hngnm.length <= 0 ){
  424. messageBox("한글 이름이 정확히 입력되지 않았습니다.", "E999", "");
  425. return false;
  426. }
  427. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  428. hngnm = hngnm.replace("★", "");
  429. //1.외래환자의 경우 표시명은 실명과 동일하게 설정
  430. if(isNull(model.getValue("/root/main/patinfo/patinfolist/inhospyn")) || model.getValue("/root/main/patinfo/patinfolist/inhospyn") != "I"){
  431. model.setValue("/root/main/patinfo/patinfolist/hngnm2" , hngnm);
  432. model.setValue("/root/send/updatedata/patinfo/patinfolist/hngnm2" , hngnm);
  433. //2.재원중인 환자의 경우 실명과 표시명이 다를 경우 표시명을 동명이인체크하여 세팅
  434. //(재원중인 환자가 실명과 표시명이 다른 경우는 개명 또는 신생아 출생등록 크게 2케이스임)
  435. } else {
  436. var hngnm2 = model.getValue("/root/main/patinfo/patinfolist/hngnm2");
  437. hngnm2 = hngnm2.replace(/[A-Z★]/gi, "");
  438. //표시명이 다른경우 중복되지 않는 표시명 자동추출하여 세팅
  439. if (hngnm != hngnm2) {
  440. // 중복되지 않는 표시명 취득
  441. var ivrObjt2 = document.all("ivr_nameconf");
  442. if (ivrObjt2 == null) {
  443. body.createChild("xforms:iviewer", "id:ivr_nameconf; src:../../../pam/patinfomngtweb/xrw/SPPMC07300_동명이인환자관리.xrw");
  444. ivrObjt2 = document.all("ivr_nameconf");
  445. }
  446. var hngNm2 = ivrObjt2.window.javascript.fGetNewHngnm2(model.getValue("/root/main/patinfo/patinfolist/pid"), hngnm);
  447. //재원환자 동명이인처리된 경우 팝업으로 내용안내
  448. messageBox("재원환자 동명이인 체크결과에 의하여 표시명이 다음과 같이 설정되었습니다. "
  449. + "\r\n업무에 참고하시기 바랍니다."
  450. + "\r\n표시명 : "+ hngNm2, "I000");
  451. model.setValue("/root/main/patinfo/patinfolist/hngnm2" , hngNm2);
  452. model.setValue("/root/send/updatedata/patinfo/patinfolist/hngnm2" , hngNm2);
  453. }
  454. }
  455. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  456. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  457. if(rrgstno1.length != 6){
  458. messageBox("환자주민번호1은 6자리입니다!","E999","");
  459. model.setFocus("ipt_rrgstno1");
  460. return false;
  461. }else if (rrgstno2.length != 7){
  462. messageBox("환자주민번호2는 7자리입니다!","E999","");
  463. model.setFocus("ipt_rrgstno2");
  464. return false;
  465. }else if(!isResidentNo(rrgstno1.concat(rrgstno2))){
  466. if(messageBox("유효하지 않은 주민번호입니다! 계속","Q002","") != 6 ){
  467. return false;
  468. }
  469. }
  470. var sex = model.getValue("/root/main/patinfo/patinfolist/sex");
  471. var brthdd = model.getValue("/root/main/patinfo/patinfolist/brthdd");
  472. if(brthdd == "" && sex == ""){
  473. if(fGetSexAgeBirthDD() == false ){
  474. return false;
  475. }
  476. }else if( isValidDateTime(brthdd, "YYYYMMDD") == false){
  477. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  478. return false;
  479. }else if( sex.toUpperCase() != "M" && sex.toUpperCase() !="F" && sex.toUpperCase() != "A"){
  480. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  481. return false;
  482. }
  483. var zipcd1 = model.getValue("/root/main/patinfo/patinfolist/zipcd1");
  484. var zipcd2 = model.getValue("/root/main/patinfo/patinfolist/zipcd2");
  485. /*
  486. if(model.getValue("/root/paminit/P0022list/P0022[cdid='94']/cdnm")=="Y"){
  487. fNewZipCode(zipcd1, zipcd2);
  488. }
  489. */
  490. /*
  491. if( zipcd1.length != 3 || zipcd2.length != 2 ){
  492. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcd1", "000");
  493. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcd2", "00");
  494. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcdseq", "0");
  495. return false;
  496. }
  497. */
  498. var dataYN = model.getValue("/root/main/patinfo/patinfolist/inhospyn");
  499. if( dataYN.toUpperCase() == "" ){
  500. model.setValue("/root/send/updatedata/patinfo/patinfolist/inhospyn", "N");
  501. }
  502. dataYN = model.getValue("/root/main/patinfo/patinfolist/forgeryn");
  503. if( dataYN.toUpperCase() == "" ){
  504. model.setValue("/root/send/updatedata/patinfo/patinfolist/forgeryn", "N");
  505. //}else if( dataYN.toUpperCase() == "Y" ){
  506. // if( model.getValue("/root/main/patinfo/patinfolist/nati") == '' ){
  507. // messageBox("국적코드를 넣어주세요.", "E999", "");
  508. // }
  509. }
  510. //직원추천정보 체크
  511. dataYN = model.getValue("/root/main/patinfo/patinfolist/recmyn");
  512. if( dataYN.toUpperCase() == "" ){
  513. model.setValue("/root/send/updatedata/patinfo/patinfolist/recmyn", "N");
  514. }else if( dataYN.toUpperCase() == "Y" ){
  515. if( model.getValue("/root/main/patinfo/patinfolist/recmerid") == ''){
  516. messageBox("추천 직원정보를 넣어주세요.", "E999", "");
  517. return false;
  518. }else if( model.getValue("/root/main/patinfo/patinfolist/recmerrela") == ''){
  519. messageBox("추천직원과의 관계정보를 넣어주세요.", "E999", "");
  520. return false;
  521. }
  522. }
  523. //VIP정보체크
  524. dataYN = model.getValue("/root/main/patinfo/patinfolist/vipyn");
  525. if( dataYN.toUpperCase() == "" ){
  526. model.setValue("/root/send/updatedata/patinfo/patinfolist/vipyn", "N");
  527. }
  528. //사망정보 체크
  529. dataYN = model.getValue("/root/main/patinfo/patinfolist/dethyn");
  530. //2009.11.19 MYKIM 추가 (마이그레이션 데이타이면서 사망시각이 없는 데이타인경우 수정이 가능하도록 함)
  531. migYN = model.getValue("/root/main/patinfo/patinfolist/mig");
  532. if( dataYN.toUpperCase() == "" ){
  533. model.setValue("/root/send/updatedata/patinfo/patinfolist/dethyn", "N");
  534. }else if( dataYN.toUpperCase() == "Y"){
  535. var dethdd = model.getValue("/root/main/patinfo/patinfolist/dethdd");
  536. var dethtm = model.getValue("/root/main/patinfo/patinfolist/dethtm");
  537. //if(migYN =="" || migYN == "-"){
  538. if( dethdd == '' || isValidDateTime(dethdd, "YYYYMMDD") == false ){
  539. messageBox("사망일자를 잘못입력하셨습니다.", "E999", "");
  540. return false;
  541. }else if( dethtm == '' || isValidDateTime( dethtm, 'hhmmss') == false ){
  542. messageBox("사망시간을 잘못입력하셨습니다.", "E999", "");
  543. return false;
  544. }else{
  545. model.setValue("/root/send/updatedata/patinfo/patinfolist/dethdt", dethdd.concat(dethtm) );
  546. }
  547. //}
  548. }
  549. //동물임상여부 체크
  550. dataYN = model.getValue("/root/main/patinfo/patinfolist/animyn");
  551. if( dataYN.toUpperCase() == "" ){
  552. model.setValue("/root/send/updatedata/patinfo/patinfolist/animyn", "N");
  553. }
  554. //보험정보 체크
  555. //감면정보 체크
  556. return true;
  557. }
  558. //환자기본정보 저장
  559. function fSave(){
  560. if(!fCheckData()){
  561. //messageBox("데이터 저장에 실패했습니다.", "E999", "");
  562. return false;
  563. }
  564. //IP주소 저장 추가 by 조중래 20130906
  565. model.makeValue("/root/send/updatedata/patinfo/patinfolist/ipaddr", getUserInfo("ipaddr"));
  566. //정보저장
  567. if(submit("TXPMC01402")){
  568. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  569. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  570. //환자 인적사항 변경사항 체크위해서..
  571. model.makeNode("/root/hidden/tmpnode");
  572. model.copyNode("/root/hidden/tmpnode", "/root/main/result/patinfo");
  573. }
  574. model.copyNode("/root/main/detailinfo/patinsuinfo", "/root/main/result/patinsuinfo");
  575. // model.copyNode("/root/main/detailinfo/patdiscinfo", "/root/main/result/patdiscinfo");
  576. grd_insuinfo.clearStatus();
  577. // grd_discinfo.clearStatus();
  578. model.refresh();
  579. }
  580. }
  581. //보험 / 감면 정보 조회
  582. function fSearch(){
  583. if( model.getValue("/root/main/popupendflag") == "ok" ){
  584. //인적사항에 변경이 있는지를 비교하기 위해서 tmp에 인적사항을 미리 저장해 놓는다.
  585. model.makeNode("/root/hidden/tmpnode");
  586. model.copyNode("/root/hidden/tmpnode", "/root/main/patinfo");
  587. //보험/감면/진료기록/신생하*산모내역 조회
  588. model.setValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  589. //수정 추가 : 2007.10.17 박재형 : 감면정보를 얻기위해 환자의 주민번호를 보낸다.
  590. model.setValue("/root/send/prrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  591. model.setValue("/root/send/prrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  592. submit("TRPMC01401");
  593. //model.makeNode("/root/main/popupendflag");
  594. // 환자용 스마트앱 가입 동의서
  595. if (model.getValue("/root/main/patinfo/patinfolist/smtappscanyn") == "P") {
  596. cap_smtappscanyn.value = "[ 환자용 스마트앱 가입동의서 : P ]";
  597. } else if (model.getValue("/root/main/patinfo/patinfolist/smtappscanyn") == "S") {
  598. cap_smtappscanyn.value = "[ 환자용 스마트앱 가입동의서 : S ]";
  599. } else {
  600. cap_smtappscanyn.value = "[ 환자용 스마트앱 가입동의서 : X ]";
  601. }
  602. }
  603. }
  604. function fGetSexAgeBirthDD(){
  605. var ptbs_brthdd;
  606. var ptbs_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  607. var ptbs_rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  608. if (ptbs_rrgstno1.length != 6){
  609. messageBox("환자주민번호1은 6자리입니다!","E999","");
  610. model.setFocus("ipt_rrgstno1");
  611. return false;
  612. }
  613. if (ptbs_rrgstno2.length != 7){
  614. messageBox("환자주민번호2는 7자리입니다!","E999","");
  615. model.setFocus("ipt_rrgstno2");
  616. return false;
  617. }
  618. /*
  619. 9: 1800 ~ 1899년에 태어난 남성
  620. 0: 1800 ~ 1899년에 태어난 여성
  621. 1: 1900 ~ 1999년에 태어난 남성
  622. 2: 1900 ~ 1999년에 태어난 여성
  623. 3: 2000 ~ 2099년에 태어난 남성
  624. 4: 2000 ~ 2099년에 태어난 여성
  625. 5: 1900 ~ 1999년에 태어난 외국인 남성
  626. 6: 1900 ~ 1999년에 태어난 외국인 여성
  627. 7: 2000 ~ 2099년에 태어난 외국인 남성
  628. 8: 2000 ~ 2099년에 태어난 외국인 여성
  629. */
  630. var gubn = ptbs_rrgstno2.substr(0,1);
  631. switch(gubn){
  632. case '0' :
  633. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  634. break;
  635. case '9' :
  636. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  637. break;
  638. case '1' :
  639. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  640. break;
  641. case '2' :
  642. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  643. break;
  644. case '3' :
  645. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  646. break;
  647. case '4' :
  648. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  649. break;
  650. case '5' :
  651. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  652. break;
  653. case '6' :
  654. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  655. break;
  656. case '7' :
  657. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  658. break;
  659. case '8' :
  660. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  661. break;
  662. default :
  663. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  664. break;
  665. }
  666. /*
  667. * 3번 : 행려환자 중 주민번호 불명자.
  668. * 4번 : 사회복지 시설 수용자가 아닌자로서 주민번호 불명자
  669. * 5번 : 사회복지 시설 수용자 중 주민번호 불명자
  670. */
  671. if (isValidDateTime(ptbs_brthdd, "YYYYMMDD") == false){
  672. if( messageBox("주민번호 앞6자리 형식오류입니다. 무시하고 계속 진행하시겠습니까?","Q999","") != 6 ){
  673. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  674. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  675. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  676. model.setValue("/root/main/patinfo/patinfolist/sex","");
  677. model.setValue("/root/main/patinfo/patinfolist/age","");
  678. model.refresh();
  679. model.setFocus("ipt_rrgstno1");
  680. return false;
  681. }{
  682. messageBox("생년월일을 꼭 정확하게 입력해 주세요", "I999", "");
  683. model.setValue("/root/main/patinfo/patinfolist/brthdd", "");
  684. }
  685. }else{
  686. model.setValue("/root/main/patinfo/patinfolist/brthdd", ptbs_brthdd);
  687. }
  688. //성별 세팅
  689. var sex = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  690. model.setValue("/root/main/patinfo/patinfolist/sex", getGender(sex));
  691. //나이 세팅
  692. model.setValue("/root/main/patinfo/patinfolist/age", getFullAge(model.getValue("/root/main/patinfo/patinfolist/brthdd")));
  693. model.refresh();
  694. //전체 주민번호 체크
  695. var ptbs_rrgstno = ptbs_rrgstno1.concat(ptbs_rrgstno2);
  696. if (isResidentNo(ptbs_rrgstno) == false){
  697. var message = messageBox("유효하지 않은 주민번호입니다! 계속 진행","S001");
  698. if( message == 6 ){
  699. return true;
  700. }else{
  701. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  702. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  703. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  704. model.setValue("/root/main/patinfo/patinfolist/sex","");
  705. model.setValue("/root/main/patinfo/patinfolist/age","");
  706. model.refresh();
  707. model.setFocus("ipt_rrgstno1");
  708. return false;
  709. }
  710. }
  711. }
  712. function fInitialize(){
  713. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  714. model.removeNodeset("/root/main/detailinfo/patinsuinfo/patinsuinfolist");
  715. model.removeNodeset("/root/main/detailinfo/patdiscinfo/patdiscinfolist");
  716. model.resetInstanceNode("/root/main/detailinfo/patordrecinfo/patordrecinfolist");
  717. model.resetInstanceNode("/root/main/detailinfo/nbabyinfo/nbabyinfolist");
  718. //초기값 세팅
  719. model.setValue("/root/main/patinfo/patinfolist/hngnm2", '-');
  720. model.setValue("/root/main/patinfo/patinfolist/engnm", '-');
  721. model.setValue("/root/main/patinfo/patinfolist/chinm", '-');
  722. model.setValue("/root/main/patinfo/patinfolist/hometel", '-');
  723. model.setValue("/root/main/patinfo/patinfolist/mpphontel", '-');
  724. model.setValue("/root/main/patinfo/patinfolist/etctel1", '-');
  725. model.setValue("/root/main/patinfo/patinfolist/etctel2", '-');
  726. model.setValue("/root/main/patinfo/patinfolist/email", '@');
  727. model.setValue("/root/main/patinfo/patinfolist/zipcd1", '000');
  728. model.setValue("/root/main/patinfo/patinfolist/zipcd2", '00');
  729. model.setValue("/root/main/patinfo/patinfolist/zipcdseq", '0');
  730. model.setValue("/root/main/patinfo/patinfolist/detladdr", '-');
  731. model.setValue("/root/main/patinfo/patinfolist/btype", '-');
  732. model.setValue("/root/main/patinfo/patinfolist/rh", '-');
  733. model.setValue("/root/main/patinfo/patinfolist/viprem", '-');
  734. model.setValue("/root/main/patinfo/patinfolist/baptnm", '-');
  735. model.setValue("/root/main/patinfo/patinfolist/chchnm", '-');
  736. model.setValue("/root/main/patinfo/patinfolist/remfact", '-');
  737. model.setValue("/root/main/patinfo/patinfolist/smsaprvyn", 'Y');
  738. model.setFocus("ipt_pid");
  739. model.refresh();
  740. cap_smtappscanyn.value = "";
  741. }
  742. /*
  743. //추가수정 2007.10.15 박재형 : 환자감면정보 저장]
  744. function fDiscSave(){
  745. if( !fCheckDiscData() ){
  746. return false;
  747. }
  748. if(submit("TXPMC01403")){
  749. model.copyNode("/root/main/detailinfo/patdiscinfo", "/root/main/result/patdiscinfo");
  750. // grd_discinfo.clearStatus();
  751. model.refresh();
  752. }
  753. }
  754. // 수정 추가 : 2007.10.17 : 박재형 - 감면만 따로 저장시 not null을 배제하기 위한 체크
  755. function fCheckDiscData(){
  756. //pid, disccd, discflag, disccls, todd, seqno, histstat, fromdd, empid, emprela, rrgstno1, rrgstno2, hngnm
  757. var rows = grd_discinfo.rows;
  758. var fixedrows = grd_discinfo.fixedRows;
  759. var datarows = rows - fixedrows;
  760. var cols = grd_discinfo.cols;
  761. var fixedcols = grd_discinfo.fixedCols;
  762. var datacols = cols - fixedcols;
  763. for(var i = datarows; i > 0; i--){
  764. var status = grd_discinfo.rowStatus(i);
  765. if(status != '0' || status != '4'){
  766. var pid = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/pid");
  767. var disccd = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/disccd");
  768. var discflag = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/discflag");
  769. var disccls = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/disccls");
  770. var todd = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/todd");
  771. var seqno = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/seqno");
  772. var fromdd = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/fromdd");
  773. var histstat = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/histstat");
  774. var empid = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/empid");
  775. var emprela = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/emprela");
  776. var rrgstno1 = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/rrgstno1");
  777. var rrgstno2 = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/rrgstno2");
  778. var hngnm = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/hngnm");
  779. if(pid == ""){
  780. messageBox("환자번호가 입력되지","E007");
  781. return false;
  782. }
  783. if(disccd == ""){
  784. messageBox("할인코드가 입력되지","E007");
  785. return false;
  786. }
  787. if(discflag == ""){
  788. messageBox("할인구분이 입력되지","E007");
  789. return false;
  790. }
  791. if(disccls == ""){
  792. messageBox("할인분류구분이 입력되지","E007");
  793. return false;
  794. }
  795. if(todd == ""){
  796. messageBox("종료일자가 입력되지","E007");
  797. return false;
  798. }
  799. // 수정사항 : 2008.01.14 박재형 : 메세지박스 임시 주석처리
  800. // if(seqno == ""){
  801. // messageBox("일련번호가 입력되지","E007");
  802. // return false;
  803. // }
  804. // if(histstat == ""){
  805. // messageBox("이력상태가 입력되지","E007");
  806. // return false;
  807. // }
  808. if(fromdd == ""){
  809. messageBox("시작일자가 입력되지","E007");
  810. return false;
  811. }
  812. if(empid == ""){
  813. messageBox("직원사번이 입력되지","E007");
  814. return false;
  815. }
  816. if(emprela == ""){
  817. messageBox("직원과의 관계가 입력되지","E007");
  818. return false;
  819. }
  820. if(rrgstno1 == ""){
  821. messageBox("주민번호 앞자리가 입력되지","E007");
  822. return false;
  823. }
  824. if(rrgstno2 == ""){
  825. messageBox("주민번호 뒷자리가 입력되지","E007");
  826. return false;
  827. }
  828. if(hngnm == ""){
  829. messageBox("성명이 입력되지","E007");
  830. return false;
  831. }
  832. }
  833. if(status == '4'){
  834. var pid = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/pid");
  835. var disccd = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/disccd");
  836. var discflag = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/discflag");
  837. var disccls = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/disccls");
  838. var todd = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/todd");
  839. var seqno = model.getValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + i + "]/seqno");
  840. if(pid == ""){
  841. messageBox("환자번호가 입력되지","E007");
  842. return false;
  843. }
  844. if(disccd == ""){
  845. messageBox("할인코드가 입력되지","E007");
  846. return false;
  847. }
  848. if(discflag == ""){
  849. messageBox("할인구분이 입력되지","E007");
  850. return false;
  851. }
  852. if(disccls == ""){
  853. messageBox("할인분류구분이 입력되지","E007");
  854. return false;
  855. }
  856. if(todd == ""){
  857. messageBox("종료일자가 입력되지","E007");
  858. return false;
  859. }
  860. if(seqno == ""){
  861. messageBox("일련번호가 입력되지","E007");
  862. return false;
  863. }
  864. }
  865. }
  866. return true;
  867. /*
  868. //환자정보 체크
  869. var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  870. if( hngnm.length <= 0 ){
  871. messageBox("한글 이름이 정확히 입력되지 않았습니다.", "E999", "");
  872. return false;
  873. }
  874. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  875. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  876. if (rrgstno1.length != 6){
  877. messageBox("환자주민번호1은 6자리입니다!","E999","");
  878. model.setFocus("ipt_rrgstno1");
  879. return false;
  880. }else if (rrgstno2.length != 7){
  881. messageBox("환자주민번호2는 7자리입니다!","E999","");
  882. model.setFocus("ipt_rrgstno2");
  883. return false;
  884. }else if( isResidentNo( rrgstno1.concat(rrgstno2) )){
  885. if(messageBox("유효하지 않은 주민번호입니다! 계속","Q002","") != 6 ){
  886. return false;
  887. }
  888. }
  889. var sex = model.getValue("/root/main/patinfo/patinfolist/sex");
  890. var brthdd = model.getValue("/root/main/patinfo/patinfolist/brthdd");
  891. if(brthdd == "" && sex == ""){
  892. if( fGetSexAgeBirthDD() == false ){
  893. return false;
  894. }
  895. }else if( isValidDateTime(brthdd, "YYYYMMDD") == false){
  896. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  897. return false;
  898. }else if( sex.toUpperCase() != "M" && sex.toUpperCase() !="F" && sex.toUpperCase() != "A"){
  899. messageBox("생년월일 형식이 정확하지 않습니다.", "E999", "");
  900. return false;
  901. }
  902. var zipcd1 = model.getValue("/root/main/patinfo/patinfolist/zipcd1");
  903. var zipcd2 = model.getValue("/root/main/patinfo/patinfolist/zipcd2");
  904. if( zipcd1.length != 3 || zipcd2.length != 3 ){
  905. messageBox("우편번호 형식이 정확하지 않습니다.", "E999", "");
  906. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcd1", "000");
  907. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcd2", "000");
  908. model.setValue("/root/send/updatedata/patinfo/patinfolist/zipcdseq", "0");
  909. return false;
  910. }
  911. var dataYN = model.getValue("/root/main/patinfo/patinfolist/inhospyn");
  912. if( dataYN.toUpperCase() == "" ){
  913. model.setValue("/root/send/updatedata/patinfo/patinfolist/inhospyn", "N");
  914. }
  915. dataYN = model.getValue("/root/main/patinfo/patinfolist/forgeryn");
  916. if( dataYN.toUpperCase() == "" ){
  917. model.setValue("/root/send/updatedata/patinfo/patinfolist/forgeryn", "N");
  918. //}else if( dataYN.toUpperCase() == "Y" ){
  919. // if( model.getValue("/root/main/patinfo/patinfolist/nati") == '' ){
  920. // messageBox("국적코드를 넣어주세요.", "E999", "");
  921. // }
  922. }
  923. //직원추천정보 체크
  924. dataYN = model.getValue("/root/main/patinfo/patinfolist/recmyn");
  925. if( dataYN.toUpperCase() == "" ){
  926. model.setValue("/root/send/updatedata/patinfo/patinfolist/recmyn", "N");
  927. }else if( dataYN.toUpperCase() == "Y" ){
  928. if( model.getValue("/root/main/patinfo/patinfolist/recmerid") == ''){
  929. messageBox("추천 직원정보를 넣어주세요.", "E999", "");
  930. return false;
  931. }else if( model.getValue("/root/main/patinfo/patinfolist/recmerrela") == ''){
  932. messageBox("추천직원과의 관계정보를 넣어주세요.", "E999", "");
  933. return false;
  934. }
  935. }
  936. //VIP정보체크
  937. dataYN = model.getValue("/root/main/patinfo/patinfolist/vipyn");
  938. if( dataYN.toUpperCase() == "" ){
  939. model.setValue("/root/send/updatedata/patinfo/patinfolist/vipyn", "N");
  940. }
  941. //사망정보 체크
  942. dataYN = model.getValue("/root/main/patinfo/patinfolist/dethyn");
  943. if( dataYN.toUpperCase() == "" ){
  944. model.setValue("/root/send/updatedata/patinfo/patinfolist/dethyn", "N");
  945. }else if( dataYN.toUpperCase() == "Y"){
  946. var dethdd = model.getValue("/root/main/patinfo/patinfolist/dethdd");
  947. var dethtm = model.getValue("/root/main/patinfo/patinfolist/dethtm");
  948. if( dethdd == '' || isValidDateTime(dethdd, "YYYYMMDD") == false ){
  949. messageBox("사망일자를 잘못입력하셨습니다.", "E999", "");
  950. return false;
  951. }else if( dethtm == '' || isValidDateTime( dethtm, 'hhmmss') == false ){
  952. messageBox("사망시간을 잘못입력하셨습니다.", "E999", "");
  953. return false;
  954. }else{
  955. model.setValue("/root/send/updatedata/patinfo/patinfolist/dethdt", dethdd.concat(dethtm) );
  956. }
  957. }
  958. //동물임상여부 체크
  959. dataYN = model.getValue("/root/main/patinfo/patinfolist/animyn");
  960. if( dataYN.toUpperCase() == "" ){
  961. model.setValue("/root/send/updatedata/patinfo/patinfolist/animyn", "N");
  962. }
  963. //보험정보 체크
  964. //감면정보 체크
  965. return true;
  966. }
  967. */
  968. // 수정추가 : 2007.10.17 : 박재형 - 감면정보 조회시 주민번호 앞자리 조건 확인
  969. function fRrgstNo1Veri(){
  970. // var ptbs_rrgstno1 = model.getValue("/root/send/discsearch/discsearchinfo/discrrgstno1");
  971. var ptbs_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  972. if (ptbs_rrgstno1 != null && ptbs_rrgstno1 != "" && ptbs_rrgstno1 != " " && ptbs_rrgstno1 != "-"){
  973. if (ptbs_rrgstno1.length != 6){
  974. messageBox("주민번호1은 6자리여야 합니다!","E999","");
  975. model.setFocus("ptbs_rrgstno1");
  976. model.refresh();
  977. return false;
  978. }
  979. if (ptbs_rrgstno1.isNumber() != true){
  980. messageBox("주민번호1은 숫자형태로 입력되어야 합니다!","E999","");
  981. model.setFocus("ptbs_rrgstno1");
  982. model.refresh();
  983. return false;
  984. }
  985. }else{
  986. messageBox("주민번호1은 6자리여야 합니다!","E999","");
  987. model.setFocus("ptbs_rrgstno1");
  988. model.refresh();
  989. return false;
  990. }
  991. return true;
  992. }
  993. // 수정추가 : 2007.10.17 : 박재형 - 감면정보 조회시 주민번호 뒷자리 조건 확인 및 앞자리 날짜입력양식 확인
  994. function fRrgstNo2Veri(){
  995. var ptbs_brthdd;
  996. // var ptbs_rrgstno1 = model.getValue("/root/send/discsearch/discsearchinfo/discrrgstno1");
  997. // var ptbs_rrgstno2 = model.getValue("/root/send/discsearch/discsearchinfo/discrrgstno2");
  998. var ptbs_rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  999. var ptbs_rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1000. if (ptbs_rrgstno1.length != 6){
  1001. messageBox("환자주민번호1은 6자리입니다!","E999","");
  1002. model.setFocus("ptbs_rrgstno1");
  1003. return false;
  1004. }
  1005. if (ptbs_rrgstno2.length != 7){
  1006. messageBox("환자주민번호2은 7자리입니다!","E999","");
  1007. model.setFocus("ipt_rrgstno2");
  1008. return false;
  1009. }
  1010. /*
  1011. 9: 1800 ~ 1899년에 태어난 남성
  1012. 0: 1800 ~ 1899년에 태어난 여성
  1013. 1: 1900 ~ 1999년에 태어난 남성
  1014. 2: 1900 ~ 1999년에 태어난 여성
  1015. 3: 2000 ~ 2099년에 태어난 남성
  1016. 4: 2000 ~ 2099년에 태어난 여성
  1017. 5: 1900 ~ 1999년에 태어난 외국인 남성
  1018. 6: 1900 ~ 1999년에 태어난 외국인 여성
  1019. 7: 2000 ~ 2099년에 태어난 외국인 남성
  1020. 8: 2000 ~ 2099년에 태어난 외국인 여성
  1021. */
  1022. var gubn = ptbs_rrgstno2.substr(0,1);
  1023. switch(gubn){
  1024. case '0' :
  1025. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  1026. break;
  1027. case '9' :
  1028. ptbs_brthdd = '18'.concat(ptbs_rrgstno1);
  1029. break;
  1030. case '1' :
  1031. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  1032. break;
  1033. case '2' :
  1034. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  1035. break;
  1036. case '3' :
  1037. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  1038. break;
  1039. case '4' :
  1040. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  1041. break;
  1042. case '5' :
  1043. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  1044. break;
  1045. case '6' :
  1046. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  1047. break;
  1048. case '7' :
  1049. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  1050. break;
  1051. case '8' :
  1052. ptbs_brthdd = '20'.concat(ptbs_rrgstno1);
  1053. break;
  1054. default :
  1055. ptbs_brthdd = '19'.concat(ptbs_rrgstno1);
  1056. break;
  1057. }
  1058. if (isValidDateTime(ptbs_brthdd, "YYYYMMDD") == false){
  1059. if( messageBox("주민번호 앞6자리 형식오류입니다. 무시하고 계속 진행하시겠습니까?","Q999","") != 6 ){
  1060. model.setFocus("ipt_hometel");
  1061. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  1062. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  1063. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  1064. model.setValue("/root/main/patinfo/patinfolist/sex","");
  1065. model.setValue("/root/main/patinfo/patinfolist/age","");
  1066. model.setFocus("ipt_rrgstno1");
  1067. model.refresh();
  1068. return false;
  1069. }{
  1070. messageBox("생년월일을 꼭 정확하게 입력해 주세요", "I999", "");
  1071. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  1072. }
  1073. }else{
  1074. model.setValue("/root/main/patinfo/patinfolist/brthdd", ptbs_brthdd);
  1075. }
  1076. //성별 세팅
  1077. var ptbs_sex = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1078. if( !isNull(ptbs_sex) ){
  1079. model.setValue("/root/main/patinfo/patinfolist/sex", getGender(ptbs_sex));
  1080. }
  1081. //나이 세팅
  1082. model.setValue("/root/main/patinfo/patinfolist/age", getFullAge(model.getValue("/root/main/patinfo/patinfolist/brthdd")));
  1083. model.refresh();
  1084. //전체 주민번호 체크
  1085. var ptbs_rrgstno = ptbs_rrgstno1.concat(ptbs_rrgstno2);
  1086. if (isResidentNo(ptbs_rrgstno) == false){
  1087. var message = messageBox("유효하지 않은 주민번호입니다! 계속 진행하시겠습니까?","Q999","");
  1088. if( message == 6 ){
  1089. return true;
  1090. }else{
  1091. model.setFocus("ipt_hometel");
  1092. model.setValue("/root/main/patinfo/patinfolist/rrgstno1","");
  1093. model.setValue("/root/main/patinfo/patinfolist/rrgstno2","");
  1094. model.setValue("/root/main/patinfo/patinfolist/brthdd","");
  1095. model.setValue("/root/main/patinfo/patinfolist/sex","");
  1096. model.setValue("/root/main/patinfo/patinfolist/age","");
  1097. model.setFocus("ipt_rrgstno1");
  1098. model.refresh();
  1099. return false;
  1100. }
  1101. }
  1102. return true;
  1103. }
  1104. /*
  1105. //수정추가 : 2007.10.17 : 박재형 - 전체 저장시 감면저장후 조회를 위해 환자의 주민번호 셋팅한다.
  1106. function fPatientRrgstno(){
  1107. var rows = grd_discinfo.rows;
  1108. var fixedrow = grd_discinfo.fixedrows;
  1109. var datarows = rows - fixedrow;
  1110. var check = 0;
  1111. for(var i = datarows; i > 0; i--){
  1112. check = grd_discinfo.rowStatus(i);
  1113. if(check == 2){
  1114. grd_discinfo.valueMatrix(i, 17) = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
  1115. grd_discinfo.valueMatrix(i, 18) = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  1116. }
  1117. }
  1118. }
  1119. //수정추가 : 2007.10.17 : 박재형 - 감면정보 행추가시 기본셋팅 한다.
  1120. function fRowAddSetting(){
  1121. var cur_row = grd_discinfo.row;
  1122. model.setValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + cur_row + "]/discflag", model.getValue("/root/init/P0004list/P0004[2]/cdid"));
  1123. model.setValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + cur_row + "]/disccls", model.getValue("/root/init/P0417list/P0417[2]/cdid"));
  1124. model.setValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + cur_row + "]/fromdd", getCurrentDate());
  1125. model.setValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + cur_row + "]/todd", "99991231");
  1126. model.setValue("/root/main/detailinfo/patdiscinfo/patdiscinfolist[" + cur_row + "]/emprela", model.getValue("/root/init/P0016list/P0016[2]/cdid"));
  1127. }
  1128. function fEditCell(){
  1129. var col = grd_discinfo.col;
  1130. if(col == -1){
  1131. grd_discinfo.col = grd_discinfo.col + 2;
  1132. }
  1133. if(col != -1){
  1134. grd_discinfo.col = 1;
  1135. }
  1136. var col = grd_discinfo.col;
  1137. grd_discinfo.dispatch("onentercell");
  1138. grd_discinfo.editCell();
  1139. }
  1140. */
  1141. //2016/04/12 치과 및 본원간 환자정보 동기화 관련 수정(이정택)
  1142. function fPatInfoCheck(){
  1143. var ptbs_instcd = model.getValue("/root/main/patinfo/patinfolist/instcd");
  1144. var dutplceinstcd = getUserInfo("dutplceinstcd");
  1145. if(ptbs_instcd!=dutplceinstcd){
  1146. if(dutplceinstcd=="031" && ptbs_instcd=="033"){
  1147. messageBox("환자 정보를 치과에서 가져왔습니다.\n업무에 참고하시기 바랍니다.", "I");
  1148. model.makeValue("/root/main/patinfo/patinfolist/instcd", "031");
  1149. }
  1150. if(dutplceinstcd=="032" && ptbs_instcd=="033"){
  1151. messageBox("환자 정보를 치과에서 가져왔습니다.\n업무에 참고하시기 바랍니다.", "I");
  1152. model.makeValue("/root/main/patinfo/patinfolist/instcd", "032");
  1153. }
  1154. if(dutplceinstcd=="033" && ptbs_instcd=="031"){
  1155. messageBox("환자 정보를 본원에서 가져왔습니다.\n업무에 참고하시기 바랍니다.", "I");
  1156. model.makeValue("/root/main/patinfo/patinfolist/instcd", "033");
  1157. }
  1158. }
  1159. }
  1160. ]]>
  1161. </script>
  1162. </xhtml:head>
  1163. <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1164. <group id="group2" style="left:0px; top:13px; width:1195px; height:576px; ">
  1165. <group id="group4" style="left:0px; top:0px; width:422px; height:575px; ">
  1166. <caption id="caption123" class="cell_1" visibility="hidden" style="left:0px; top:500px; width:100px; height:45px; vertical-align:middle; ">직원추천정보</caption>
  1167. <select1 id="combo37" ref="/root/main/patinfo/patinfolist/recmerrela" class="combo_default" disabled="true" visibility="hidden" appearance="minimal" style="left:280px; top:502px; width:142px; height:19px; ">
  1168. <choices>
  1169. <itemset nodeset="/root/init/P0327list/P0327">
  1170. <label ref="cdnm"/>
  1171. <value ref="cdid"/>
  1172. </itemset>
  1173. </choices>
  1174. </select1>
  1175. <input id="input5" ref="/root/main/patinfo/patinfolist/chchnm" class="input_default" navindex="19" visibility="hidden" style="left:346px; top:526px; width:72px; height:19px; "/>
  1176. <caption id="caption8" visibility="hidden" style="left:123px; top:525px; width:145px; height:20px; ">지인등록자 SMS 발송유무</caption>
  1177. <bool id="bool9" visibility="hidden" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/baptnm" style="left:103px; top:525px; width:20px; height:20px; "/>
  1178. <caption id="caption36" class="cell_1" visibility="hidden" style="left:270px; top:524px; width:75px; height:23px; vertical-align:middle; ">성당정보</caption>
  1179. <button id="button50" class="icon_search" visibility="hidden" style="left:261px; top:503px; width:16px; height:16px; ">
  1180. <caption/>
  1181. <script type="javascript" ev:event="DOMActivate">
  1182. <![CDATA[
  1183. /* 지인관리 개발에 따른 수정 - 20130614
  1184. model.setValue("/root/main/userpopupinfo/param", "_OneS");
  1185. model.setValue("/root/main/userpopupinfo/flag", "usernm");
  1186. model.setValue("/root/main/userpopupinfo/searchitem", "사용자명");
  1187. modal("SPZSU10103_사용자부서조회", "", "200", "200", "SPZSU10103","/root/main/userpopupinfo","/root/main/temp");
  1188. var iParam = getParameter("SPZSU10103_");
  1189. model.makeNode("/root/hidden/onerowselect");
  1190. model.makeNode("/root/main/patinfo/patinfolist/recmernm");
  1191. setCSVToNode("/root/hidden/onerowselect", iParam);
  1192. model.setValue("/root/main/patinfo/patinfolist/recmerid", model.getValue("/root/hidden/onerowselect/list/userid") );
  1193. model.setValue("/root/main/patinfo/patinfolist/recmernm", model.getValue("/root/hidden/onerowselect/list/usernm") );
  1194. clearParameter("SPZSU10103_");
  1195. //model.removeNodeset("/root/hidden/onerowselect");
  1196. model.refresh();
  1197. */
  1198. clearParameter("SPPMC05500_emplno");
  1199. clearParameter("SPPMC05500_pid");
  1200. clearParameter("SPPMC05500_popupendflag")
  1201. setParameter("SPPMC05500_emplno" , model.getValue("/root/main/patinfo/patinfolist/recmerid"));
  1202. setParameter("SPPMC05500_pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  1203. modal("SPPMC05500", "1","50", "50", "", "", "", "sysmenu:hidden;");
  1204. if(getParameter("SPPMC05500_popupendflag") == "Y"){
  1205. model.setValue("/root/main/patinfo/patinfolist/recmyn" , getParameter("SPPMC05500_recmyn"));
  1206. model.setValue("/root/main/patinfo/patinfolist/recmerid" , getParameter("SPPMC05500_recmerid"));
  1207. model.setValue("/root/main/patinfo/patinfolist/recmernm" , getParameter("SPPMC05500_recmernm"));
  1208. model.setValue("/root/main/patinfo/patinfolist/recmerrela" , getParameter("SPPMC05500_recmerrela"));
  1209. model.setValue("/root/main/patinfo/patinfolist/baptnm" , getParameter("SPPMC05500_recmersmsyn"));
  1210. model.refresh();
  1211. }
  1212. ]]>
  1213. </script>
  1214. </button>
  1215. <bool id="bool2" visibility="hidden" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/recmyn" style="left:103px; top:501px; width:20px; height:20px; ">
  1216. <script type="javascript" ev:event="onclick">
  1217. <![CDATA[
  1218. model.setValue("/root/main/patinfo/patinfolist/recmerid", "");
  1219. model.setValue("/root/main/patinfo/patinfolist/recmernm", "");
  1220. model.setValue("/root/main/patinfo/patinfolist/recmerrela", "");
  1221. model.setValue("/root/main/patinfo/patinfolist/baptnm", "");
  1222. ]]>
  1223. </script>
  1224. </bool>
  1225. <caption id="caption20" visibility="hidden" style="left:123px; top:501px; width:50px; height:20px; ">직원소개</caption>
  1226. <output id="output67" ref="/root/main/patinfo/patinfolist/recmernm" class="output_fix" visibility="hidden" appearance="output" style="left:178px; top:502px; width:80px; height:19px; "/>
  1227. <caption id="caption86" class="cell_1" style="left:0px; top:419px; width:100px; height:151px; vertical-align:middle; ">참고사항</caption>
  1228. <button id="btn_search" class="icon_search" style="left:213px; top:32px; width:16px; height:16px; ">
  1229. <caption/>
  1230. <script type="javascript" ev:event="DOMActivate">
  1231. <![CDATA[
  1232. //팝업창
  1233. modal("SPPMC02500", 1,150, 150, "SPPMC02500", "/root/hidden/source", "/root/send");
  1234. //환자 나이 계산과 메인화면의 fSearch() 함수 콜!
  1235. fSearch();
  1236. model.resetInstanceNode("/root/hidden/source");
  1237. model.refresh();
  1238. //2016/04/12 치과 및 본원간 환자정보 동기화 관련 수정(이정택)
  1239. fPatInfoCheck();
  1240. ]]>
  1241. </script>
  1242. </button>
  1243. <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:85px; height:13px; ">인적사항</caption>
  1244. <line id="line7" class="line_1" style="x1:0px; y1:25px; x2:422px; y2:25px; "/>
  1245. <line id="line8" class="line_2" style="x1:0px; y1:52px; x2:422px; y2:52px; "/>
  1246. <line id="line15" class="line_2" style="x1:0px; y1:76px; x2:422px; y2:76px; "/>
  1247. <line id="line17" class="line_2" style="x1:0px; y1:124px; x2:422px; y2:124px; "/>
  1248. <line id="line18" class="line_2" style="x1:0px; y1:172px; x2:422px; y2:172px; "/>
  1249. <line id="line19" class="line_2" style="x1:0px; y1:196px; x2:422px; y2:196px; "/>
  1250. <line id="line20" class="line_2" style="x1:0px; y1:244px; x2:422px; y2:244px; "/>
  1251. <line id="line21" class="line_2" style="x1:0px; y1:292px; x2:422px; y2:292px; "/>
  1252. <line id="line22" class="line_2" style="x1:0px; y1:316px; x2:422px; y2:316px; "/>
  1253. <input id="ipt_hometel" ref="/root/main/patinfo/patinfolist/hometel" class="input_default" navindex="6" maxlength="13" style="left:103px; top:103px; width:128px; height:19px; ">
  1254. <script type="javascript" ev:event="xforms-value-changed">
  1255. <![CDATA[
  1256. model.setValue("/root/main/patinfo/patinfolist/hometel", fMakeTelNumFormat(model.getValue("/root/main/patinfo/patinfolist/hometel")));
  1257. ipt_hometel.refresh();
  1258. ]]>
  1259. </script>
  1260. <script type="javascript" ev:event="onkeypress">
  1261. <![CDATA[
  1262. if (event.keyCode == "13"){
  1263. model.setFocus("ipt_mpphontel");
  1264. }
  1265. ]]>
  1266. </script>
  1267. </input>
  1268. <input id="ipt_mpphontel" ref="/root/main/patinfo/patinfolist/mpphontel" class="input_default" navindex="7" maxlength="13" style="left:234px; top:103px; width:188px; height:19px; ">
  1269. <script type="javascript" ev:event="xforms-value-changed">
  1270. <![CDATA[
  1271. model.setValue("/root/main/patinfo/patinfolist/mpphontel", fMakeTelNumFormat(model.getValue("/root/main/patinfo/patinfolist/mpphontel")));
  1272. ipt_mpphontel.refresh();
  1273. ]]>
  1274. </script>
  1275. <script type="javascript" ev:event="onkeypress">
  1276. <![CDATA[
  1277. if (event.keyCode == "13"){
  1278. model.setFocus("ipt_etctel1");
  1279. }
  1280. ]]>
  1281. </script>
  1282. </input>
  1283. <button id="button37" class="icon_search" style="left:210px; top:152px; width:16px; height:16px; ">
  1284. <caption/>
  1285. <script type="javascript" ev:event="DOMActivate">
  1286. <![CDATA[
  1287. zbcfOpenZipCodeList("combination"
  1288. , ""
  1289. , "/root/main/patinfo/patinfolist/zipcd1"
  1290. , "/root/main/patinfo/patinfolist/zipcd2"
  1291. , "/root/main/patinfo/patinfolist/zipcdseq"
  1292. , "/root/main/patinfo/patinfolist/addr"
  1293. , ""
  1294. , "/root/main/patinfo/patinfolist/detladdr"
  1295. , "/root/main/patinfo/patinfolist/builno"
  1296. );
  1297. //2014/08/04 하위주소 제거
  1298. ipt_detladdr.value="";
  1299. //2014/08/04
  1300. model.setFocus("ipt_detladdr");
  1301. ]]>
  1302. </script>
  1303. </button>
  1304. <input id="opt_addr" ref="/root/main/patinfo/patinfolist/addr" class="output_fix" editable="false" appearance="output" style="left:234px; top:151px; width:188px; height:19px; ">
  1305. <script type="javascript" ev:event="onmouseover">
  1306. <![CDATA[
  1307. opt_addr.hint = opt_addr.label;
  1308. ]]>
  1309. </script>
  1310. </input>
  1311. <input id="ipt_detladdr" ref="/root/main/patinfo/patinfolist/detladdr" class="input_default" navindex="12" style="left:103px; top:175px; width:319px; height:19px; "/>
  1312. <input id="input26" ref="/root/main/patinfo/patinfolist/zipcd2" class="input_default" navindex="11" maxlength="3" format="999" style="left:141px; top:151px; width:35px; height:19px; ">
  1313. <script type="javascript" ev:event="xforms-value-changed">
  1314. <![CDATA[
  1315. var zipcd1 = input1.currentText.getTrim();
  1316. var zipcd2 = input26.currentText.getTrim();
  1317. model.setValue("/root/main/patinfo/patinfolist/zipcd1", zipcd1);
  1318. model.setValue("/root/main/patinfo/patinfolist/zipcd2", zipcd2);
  1319. if( zipcd1 != '' && zipcd1 != '000' && zipcd1 != '-' && zipcd2 != '' && zipcd2 != '00' && zipcd2 != '-' ){
  1320. zbcfOpenZipCodeList("zipcode"
  1321. , zipcd1 + "-" + zipcd2
  1322. , "/root/main/patinfo/patinfolist/zipcd1"
  1323. , "/root/main/patinfo/patinfolist/zipcd2"
  1324. , "/root/main/patinfo/patinfolist/zipcdseq"
  1325. , "/root/main/patinfo/patinfolist/addr"
  1326. , ""
  1327. , "/root/main/patinfo/patinfolist/detladdr"
  1328. , "/root/main/patinfo/patinfolist/builno"
  1329. );
  1330. }
  1331. ]]>
  1332. </script>
  1333. </input>
  1334. <input id="input1" ref="/root/main/patinfo/patinfolist/zipcd1" class="input_default" navindex="10" maxlength="3" format="999" style="left:103px; top:151px; width:35px; height:19px; ">
  1335. <script type="javascript" ev:event="xforms-value-changed">
  1336. <![CDATA[
  1337. var zipcd1 = input1.currentText.getTrim();
  1338. var zipcd2 = input26.currentText.getTrim();
  1339. model.setValue("/root/main/patinfo/patinfolist/zipcd1", zipcd1);
  1340. model.setValue("/root/main/patinfo/patinfolist/zipcd2", zipcd2);
  1341. if( zipcd1 != '' && zipcd1 != '000' && zipcd1 != '-' && zipcd2 != '' && zipcd2 != '00' && zipcd2 != '-' ){
  1342. zbcfOpenZipCodeList("zipcode"
  1343. , zipcd1 + "-" + zipcd2
  1344. , "/root/main/patinfo/patinfolist/zipcd1"
  1345. , "/root/main/patinfo/patinfolist/zipcd2"
  1346. , "/root/main/patinfo/patinfolist/zipcdseq"
  1347. , "/root/main/patinfo/patinfolist/addr"
  1348. , ""
  1349. , "/root/main/patinfo/patinfolist/detladdr"
  1350. , "/root/main/patinfo/patinfolist/builno"
  1351. );
  1352. }
  1353. ]]>
  1354. </script>
  1355. </input>
  1356. <select1 id="combo35" ref="/root/main/patinfo/patinfolist/religncd" class="combo_default" appearance="minimal" style="left:103px; top:298px; width:72px; height:19px; ">
  1357. <choices>
  1358. <itemset nodeset="/root/init/P0157list/P0157">
  1359. <label ref="cdnm"/>
  1360. <value ref="cdid"/>
  1361. </itemset>
  1362. </choices>
  1363. </select1>
  1364. <textarea id="textarea3" ref="/root/main/patinfo/patinfolist/remfact" navindex="21" scroll="vertical" editable="false" imemode="hangul" maxlength="450" style="left:103px; top:419px; width:319px; height:148px; "/>
  1365. <input id="input44" ref="/root/main/patinfo/patinfolist/age" class="input_default" style="left:380px; top:31px; width:42px; height:19px; "/>
  1366. <input id="ipt_engnm" ref="/root/main/patinfo/patinfolist/engnm" class="input_default" imemode="alpha" style="left:274px; top:55px; width:74px; height:19px; "/>
  1367. <input id="ipt_rrgstno1" ref="/root/main/patinfo/patinfolist/rrgstno1" class="input_s_essential" navindex="3" autonext="true" format="999999" style="left:103px; top:79px; width:60px; height:19px; ">
  1368. <script type="javascript" ev:event="xforms-value-changed">
  1369. <![CDATA[
  1370. model.setValue("/root/main/patinfo/patinfolist/rrgstno1", ipt_rrgstno1.currentText);
  1371. model.setValue("/root/main/patinfo/patinfolist/rrgstno2", ipt_rrgstno2.currentText);
  1372. if(model.getValue("/root/main/patinfo/patinfolist/rrgstno2").length == 7){
  1373. if (fRrgstNo2Veri() == false) return;
  1374. }else{
  1375. if (fRrgstNo1Veri() == false) return;
  1376. }
  1377. ]]>
  1378. </script>
  1379. <script type="javascript" ev:event="onkeypress">
  1380. <![CDATA[
  1381. model.setValue("/root/hidden/source/srchcond", "3");
  1382. model.setValue("/root/hidden/source/rrgstno1", ipt_rrgstno1.currentText);
  1383. model.setValue("/root/hidden/source/rrgstno2", ipt_rrgstno2.currentText);
  1384. inputEnterKey("btn_search", "DOMActivate");
  1385. ]]>
  1386. </script>
  1387. </input>
  1388. <input id="input38" ref="/root/main/patinfo/patinfolist/brthdd" class="input_default" navindex="5" inputtype="date" style="left:337px; top:79px; width:85px; height:19px; ">
  1389. <script type="javascript" ev:event="xforms-value-changed">
  1390. <![CDATA[
  1391. if(fBrthddVeri(model.getValue("/root/main/patinfo/patinfolist/brthdd"),input38) == false) return; //2010-01-18 김주희 생년월일체크
  1392. ]]>
  1393. </script>
  1394. </input>
  1395. <input id="ipt_pid" ref="/root/main/patinfo/patinfolist/pid" class="input_s_essential" navindex="1" autonext="false" imemode="disabled" maxlength="10" format="#" appearance="input" style="left:103px; top:31px; width:105px; height:19px; ">
  1396. <script type="javascript" ev:event="onkeypress">
  1397. <![CDATA[
  1398. if (event.keyCode == '13') {
  1399. model.setValue("/root/hidden/source/srchcond", "1");
  1400. model.setValue("/root/hidden/source/pid", ipt_pid.currentText);
  1401. //환자등록번호 체크
  1402. if(ipt_pid.currentText.length >= 1 ){
  1403. model.resetInstanceNode("/root/main/result");
  1404. model.makeNode("/root/main/result/patinfo");
  1405. if(submit("TRPMC02500")){
  1406. //메인화면의 fSearch() 함수 콜!
  1407. if(getNodesetCount("/root/main/result/patinfo/patinfolist") > 0){
  1408. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  1409. //합번등록번호 체크
  1410. var sBindPid = model.getValue("/root/main/patinfo/patinfolist/bindpid");
  1411. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' ){
  1412. //합번된 등록번호 메세지 처리
  1413. var sPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1414. var sHngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  1415. var retValue = messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  1416. if( retValue == '6' ){
  1417. model.setValue("/root/main/patinfo/patinfolist/pid", sBindPid);
  1418. model.setValue("/root/main/popupendflag", "ok");
  1419. model.refresh();
  1420. fSearch();
  1421. //보호자 연락처 추가
  1422. submit("TRPMC01404");
  1423. }else{
  1424. //화면 초기화!!
  1425. btn_initialize.dispatch("DOMActivate");
  1426. return false;
  1427. }
  1428. }else{
  1429. model.setValue("/root/main/popupendflag", "ok");
  1430. model.refresh();
  1431. fSearch();
  1432. }
  1433. }else{
  1434. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1435. model.resetInstanceNode("/root/main/detailinfo/patinsuinfo/patinsuinfolist");
  1436. model.resetInstanceNode("/root/main/detailinfo/patdiscinfo/patdiscinfolist");
  1437. model.refresh();
  1438. messageBox("없는 환자 번호 입니다.", "E999", "");
  1439. }
  1440. }
  1441. }else{
  1442. messageBox("환자등록번호를 정확히", "C001");
  1443. }
  1444. // 2015/07/28 신우편번호 확인
  1445. if(model.getValue("/root/paminit/P0022list/P0022[cdid='94']/cdnm")=="Y"){
  1446. if(fNewZipCode(model.getValue("/roo/main/patinfo/patinfolist/zipcd1"), model.getValue("/root/main/patinfo/patinfolist/zipcd2"))){
  1447. button37.dispatch("DOMActivate");
  1448. }
  1449. }
  1450. // 2015/07/28 신우편번호 확인
  1451. //2016/04/12 치과 및 본원간 환자정보 동기화 관련 수정(이정택)
  1452. fPatInfoCheck();
  1453. }
  1454. ]]>
  1455. </script>
  1456. <script type="javascript" ev:event="xforms-value-changed">
  1457. <![CDATA[
  1458. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1459. //환자번호 수정시 화면 클리어!!
  1460. btn_initialize.dispatch("DOMActivate");
  1461. model.setValue("/root/main/patinfo/patinfolist/pid", pid);
  1462. model.setFocus("ipt_pid");
  1463. ]]>
  1464. </script>
  1465. </input>
  1466. <line id="line105" class="line_2" style="x1:0px; y1:100px; x2:420px; y2:100px; "/>
  1467. <line id="line14" class="line_2" style="x1:0px; y1:340px; x2:422px; y2:340px; "/>
  1468. <line id="line23" class="line_2" style="x1:0px; y1:388px; x2:422px; y2:388px; "/>
  1469. <select1 id="combo1" ref="/root/main/patinfo/patinfolist/nati" class="combo_default" appearance="minimal" editmode="search" showvalue="true" style="left:256px; top:223px; width:166px; height:19px; ">
  1470. <choices>
  1471. <itemset nodeset="/root/hidden/init/naticd">
  1472. <label ref="nm"/>
  1473. <value ref="cd"/>
  1474. </itemset>
  1475. </choices>
  1476. </select1>
  1477. <input id="input2" ref="/root/main/patinfo/patinfolist/dethdd" class="input_default" navindex="20" inputtype="date" style="left:256px; top:322px; width:93px; height:19px; "/>
  1478. <input id="input3" ref="/root/main/patinfo/patinfolist/dethtm" class="input_default" format="hh:nn:ss" showmask="true" style="left:352px; top:322px; width:70px; height:19px; "/>
  1479. <input id="input4" ref="/root/main/patinfo/patinfolist/psptno" class="input_default" navindex="16" style="left:103px; top:247px; width:128px; height:19px; "/>
  1480. <line id="line24" class="line_2" style="x1:0px; y1:268px; x2:422px; y2:268px; "/>
  1481. <line id="line25" class="line_2" style="x1:0px; y1:364px; x2:422px; y2:364px; "/>
  1482. <line id="line26" class="line_2" style="x1:0px; y1:412px; x2:422px; y2:412px; "/>
  1483. <select1 id="combo2" ref="/root/main/patinfo/patinfolist/chosresn" class="combo_default" appearance="minimal" style="left:256px; top:346px; width:166px; height:19px; ">
  1484. <choices>
  1485. <itemset nodeset="/root/init/P0349list/P0349">
  1486. <label ref="cdnm"/>
  1487. <value ref="cdid"/>
  1488. </itemset>
  1489. </choices>
  1490. </select1>
  1491. <line id="line5" class="line_3" style="x1:0px; y1:572px; x2:422px; y2:572px; "/>
  1492. <input id="ipt_etctel1" ref="/root/main/patinfo/patinfolist/etctel1" class="input_default" navindex="8" maxlength="30" style="left:103px; top:127px; width:128px; height:19px; ">
  1493. <script type="javascript" ev:event="xforms-value-changed">
  1494. <![CDATA[
  1495. model.setValue("/root/main/patinfo/patinfolist/etctel1", fMakeTelNumFormat(model.getValue("/root/main/patinfo/patinfolist/etctel1")));
  1496. ipt_etctel1.refresh();
  1497. ]]>
  1498. </script>
  1499. <script type="javascript" ev:event="onkeypress">
  1500. <![CDATA[
  1501. if (event.keyCode == "13"){
  1502. model.setFocus("ipt_etctel2");
  1503. }
  1504. ]]>
  1505. </script>
  1506. </input>
  1507. <input id="ipt_etctel2" ref="/root/main/patinfo/patinfolist/etctel2" class="input_default" navindex="9" maxlength="30" style="left:234px; top:127px; width:188px; height:19px; ">
  1508. <script type="javascript" ev:event="xforms-value-changed">
  1509. <![CDATA[
  1510. model.setValue("/root/main/patinfo/patinfolist/etctel2", fMakeTelNumFormat(model.getValue("/root/main/patinfo/patinfolist/etctel2")));
  1511. ipt_etctel2.refresh();
  1512. ]]>
  1513. </script>
  1514. <script type="javascript" ev:event="onkeypress">
  1515. <![CDATA[
  1516. if (event.keyCode == "13"){
  1517. model.setFocus("button37");
  1518. }
  1519. ]]>
  1520. </script>
  1521. </input>
  1522. <line id="line10" class="line_2" style="x1:0px; y1:148px; x2:422px; y2:148px; "/>
  1523. <input id="input15" ref="/root/main/patinfo/patinfolist/email" class="input_default" navindex="13" imemode="alpha" style="left:103px; top:199px; width:128px; height:19px; "/>
  1524. <line id="line12" class="line_2" style="x1:0px; y1:220px; x2:422px; y2:220px; "/>
  1525. <input id="input17" ref="/root/main/patinfo/patinfolist/btype" class="input_default" navindex="14" style="left:312px; top:199px; width:50px; height:19px; "/>
  1526. <select1 id="combo5" ref="/root/main/patinfo/patinfolist/sex" appearance="minimal" style="left:337px; top:31px; width:40px; height:19px; ">
  1527. <choices>
  1528. <item>
  1529. <label>남</label>
  1530. <value>M</value>
  1531. </item>
  1532. <item>
  1533. <label>여</label>
  1534. <value>F</value>
  1535. </item>
  1536. <item>
  1537. <label>동물</label>
  1538. <value>A</value>
  1539. </item>
  1540. </choices>
  1541. </select1>
  1542. <caption id="caption81" class="cell_1" style="left:0px; top:78px; width:100px; height:23px; vertical-align:middle; ">주민번호</caption>
  1543. <caption id="caption124" class="cell_1" style="left:0px; top:271px; width:100px; height:23px; vertical-align:middle; ">VIP/참고사항</caption>
  1544. <caption id="caption82" class="cell_1" style="left:0px; top:30px; width:100px; height:23px; vertical-align:middle; ">등록번호</caption>
  1545. <caption id="caption83" class="cell_1" style="left:234px; top:30px; width:100px; height:23px; vertical-align:middle; ">성별/나이</caption>
  1546. <caption id="caption126" class="cell_1" style="left:0px; top:297px; width:100px; height:23px; vertical-align:middle; ">종교</caption>
  1547. <caption id="caption84" class="cell_1" style="left:234px; top:78px; width:100px; height:23px; vertical-align:middle; ">생년월일</caption>
  1548. <caption id="caption85" class="cell_1" style="left:0px; top:102px; width:100px; height:23px; vertical-align:middle; ">연락처/휴대폰</caption>
  1549. <caption id="caption21" class="cell_1" style="left:0px; top:198px; width:100px; height:23px; vertical-align:middle; ">E-MAIL</caption>
  1550. <caption id="caption10" class="cell_1" style="left:0px; top:345px; width:100px; height:23px; vertical-align:middle; ">재원여부</caption>
  1551. <caption id="caption78" class="cell_1" style="left:0px; top:150px; width:100px; height:23px; vertical-align:middle; ">우편번호</caption>
  1552. <caption id="caption3" class="cell_1" style="left:0px; top:321px; width:100px; height:23px; vertical-align:middle; ">사망여부</caption>
  1553. <caption id="caption79" class="cell_1" style="left:0px; top:54px; width:100px; height:23px; vertical-align:middle; ">성명[한표영중]</caption>
  1554. <caption id="caption4" class="cell_1" style="left:178px; top:321px; width:75px; height:23px; vertical-align:middle; ">사망시각</caption>
  1555. <caption id="caption5" class="cell_1" style="left:178px; top:222px; width:75px; height:23px; vertical-align:middle; ">국적코드</caption>
  1556. <caption id="caption7" class="cell_1" style="left:0px; top:246px; width:100px; height:23px; vertical-align:middle; ">여권번호</caption>
  1557. <caption id="caption19" class="cell_1" style="left:0px; top:126px; width:100px; height:23px; vertical-align:middle; ">주보호자/가족</caption>
  1558. <caption id="caption122" class="cell_1" style="left:0px; top:222px; width:100px; height:23px; vertical-align:middle; ">외국인여부</caption>
  1559. <caption id="caption80" class="cell_1" style="left:0px; top:174px; width:100px; height:23px; vertical-align:middle; ">하위주소</caption>
  1560. <input id="ipt_rrgstno2" ref="/root/main/patinfo/patinfolist/rrgstno2" class="input_s_essential" navindex="4" autonext="true" format="9999999" style="left:166px; top:79px; width:65px; height:19px; ">
  1561. <script type="javascript" ev:event="xforms-value-changed">
  1562. <![CDATA[
  1563. model.setValue("/root/hidden/source/srchcond", "3");
  1564. model.setValue("/root/hidden/source/rrgstno2", ipt_rrgstno2.currentText);
  1565. model.setValue("/root/hidden/source/rrgstno1", ipt_rrgstno1.currentText);
  1566. //fGetSexAgeBirthDD();
  1567. if (fGetSexAgeBirthDD() == false) return;
  1568. /*
  1569. if( model.getValue("/root/main/patinfo/patinfolist/brthdd") == "" || model.getValue("/root/main/patinfo/patinfolist/sex") == "" || model.getValue("/root/main/patinfo/patinfolist/age")){
  1570. fGetSexAgeBirthDD();
  1571. }
  1572. */
  1573. ]]>
  1574. </script>
  1575. <script type="javascript" ev:event="onkeypress">
  1576. <![CDATA[
  1577. if (event.keyCode == "13"){
  1578. //setInputNodeCurText();
  1579. model.setValue("/root/hidden/source/rrgstno2", ipt_rrgstno2.currentText);
  1580. model.setValue("/root/hidden/source/rrgstno1", ipt_rrgstno1.currentText);
  1581. //if (fRrgstNo1Veri() == false) return;
  1582. var hngnm = ipt_hngnm.currentText;
  1583. var rrgstno1 = ipt_rrgstno1.currentText
  1584. var rrgstno2 = ipt_rrgstno2.currentText
  1585. if( hngnm.length > 0 && rrgstno1.length == 0 && rrgstno2.length == 0){
  1586. model.setValue("/root/hidden/source/srchcond", "2");
  1587. model.setValue("/root/source/hngnm", hngnm);
  1588. }else if( hngnm.length > 0 ){
  1589. model.setValue("/root/hidden/source/srchcond", "4");
  1590. model.setValue("/root/hidden/source/hngnm", hngnm);
  1591. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  1592. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  1593. }else{
  1594. model.setValue("/root/hidden/source/srchcond", "3");
  1595. model.setValue("/root/hidden/source/rrgstno1", rrgstno1);
  1596. model.setValue("/root/hidden/source/rrgstno2", rrgstno2);
  1597. }
  1598. inputEnterKey("btn_search", "DOMActivate");
  1599. }
  1600. ]]>
  1601. </script>
  1602. </input>
  1603. <input id="ipt_chinm" ref="/root/main/patinfo/patinfolist/chinm" class="input_default" imemode="hangul" style="left:350px; top:55px; width:72px; height:19px; "/>
  1604. <input id="input19" ref="/root/main/patinfo/patinfolist/zipcdseq" class="input_default" disabled="true" maxlength="1" format="999" style="left:179px; top:151px; width:25px; height:19px; "/>
  1605. <caption id="caption23" class="cell_1" style="left:234px; top:198px; width:75px; height:23px; vertical-align:middle; ">혈액형/RH</caption>
  1606. <input id="input21" ref="/root/main/patinfo/patinfolist/rh" class="input_default" navindex="15" style="left:365px; top:199px; width:57px; height:19px; "/>
  1607. <input id="input22" ref="/root/main/patinfo/patinfolist/viprem" class="input_default" navindex="17" style="left:153px; top:272px; width:269px; height:19px; "/>
  1608. <caption id="caption24" class="cell_1" style="left:178px; top:345px; width:75px; height:23px; vertical-align:middle; ">내원사유</caption>
  1609. <line id="line13" class="line_2" style="x1:0px; y1:416px; x2:422px; y2:416px; "/>
  1610. <select1 id="combo4" ref="/root/main/patinfo/patinfolist/exptresncd" class="combo_default" appearance="minimal" style="left:103px; top:370px; width:319px; height:19px; ">
  1611. <choices>
  1612. <itemset nodeset="/root/init/P0034list/P0034">
  1613. <label ref="cdnm"/>
  1614. <value ref="cdid"/>
  1615. </itemset>
  1616. </choices>
  1617. </select1>
  1618. <caption id="caption26" class="cell_1" style="left:0px; top:369px; width:100px; height:23px; vertical-align:middle; ">원외예외사유</caption>
  1619. <bool id="bool1" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/forgeryn" style="left:103px; top:223px; width:20px; height:20px; ">
  1620. <script type="javascript" ev:event="onclick">
  1621. <![CDATA[
  1622. if(bool1.value == "Y"){
  1623. model.setValue("/root/main/patinfo/patinfolist/nati", "");
  1624. }
  1625. ]]>
  1626. </script>
  1627. </bool>
  1628. <caption id="caption6" style="left:123px; top:223px; width:45px; height:20px; ">외국인</caption>
  1629. <caption id="caption25" style="left:123px; top:272px; width:25px; height:20px; ">VIP</caption>
  1630. <bool id="bool3" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/vipyn" style="left:103px; top:272px; width:20px; height:20px; ">
  1631. <script type="javascript" ev:event="onclick">
  1632. <![CDATA[
  1633. model.setValue("/root/main/patinfo/patinfolist/viprem", "-");
  1634. ]]>
  1635. </script>
  1636. </bool>
  1637. <bool id="bool5" disabled="true" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/inhospyn" style="left:103px; top:346px; width:20px; height:20px; "/>
  1638. <caption id="caption28" style="left:123px; top:346px; width:45px; height:20px; ">재원</caption>
  1639. <caption id="caption30" class="cell_1" style="left:234px; top:246px; width:129px; height:23px; vertical-align:middle; ">SMS전송 승인여부</caption>
  1640. <bool id="bool7" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/smsaprvyn" style="left:366px; top:246px; width:20px; height:20px; "/>
  1641. <caption id="caption31" style="left:386px; top:246px; width:32px; height:20px; ">SMS</caption>
  1642. <button id="button4" class="btn2_letter5" style="left:235px; top:248px; width:75px; height:19px; ">
  1643. <caption>SMS 전송</caption>
  1644. <script type="javascript" ev:event="DOMActivate">
  1645. <![CDATA[
  1646. model.removeNodeset("/root/hidden/smsdata")
  1647. model.makeValue("/root/hidden/smsdata/bizabbr", "PAM");
  1648. model.makeValue("/root/hidden/smsdata/replytelno", "");
  1649. model.makeValue("/root/hidden/smsdata/rsrvyn", "");
  1650. model.makeValue("/root/hidden/smsdata/rsrvdate", "");
  1651. model.makeValue("/root/hidden/smsdata/rsrvtime", "");
  1652. model.makeValue("/root/hidden/smsdata/recvrlist/chk", "");
  1653. model.makeValue("/root/hidden/smsdata/recvrlist/recvrnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  1654. model.makeValue("/root/hidden/smsdata/recvrlist/recvrtelno", model.getValue("/root/main/patinfo/patinfolist/mpphontel"));
  1655. zmsfOpenSMS("/root/hidden/smsdata");
  1656. model.removeNodeset("/root/hidden/smsdata")
  1657. ]]>
  1658. </script>
  1659. </button>
  1660. <caption id="caption32" class="cell_1" style="left:0px; top:393px; width:100px; height:23px; vertical-align:middle; ">무인수납불가</caption>
  1661. <bool id="bool8" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/kioskrcptnoyn" style="left:103px; top:395px; width:20px; height:20px; text-align:left; "/>
  1662. <caption id="caption33" style="left:125px; top:395px; width:45px; height:20px; ">불가</caption>
  1663. <caption id="caption34" class="cell_1" style="left:178px; top:296px; width:75px; height:23px; vertical-align:middle; ">차량번호</caption>
  1664. <input id="input16" ref="/root/main/patinfo/patinfolist/carnum" class="input_default" navindex="19" style="left:256px; top:297px; width:166px; height:19px; "/>
  1665. <button id="button2" class="btn2_letter2" style="left:57px; top:506px; width:42px; height:19px; ">
  1666. <caption>펼침</caption>
  1667. <script type="javascript" ev:event="DOMActivate">
  1668. <![CDATA[
  1669. if (model.getValue("/root/main/patinfo/patinfolist/pid") == "") {
  1670. return;
  1671. }
  1672. //modal("../../../pam/inordamtmngtweb/xrw/SMPAI02200", "1","", "", "SMPAI02200", "/root/main/patinfo/patinfolist/pid", "/root/send/inptpatinfo", "align:center");
  1673. model.setValue("/root/main/patinfo/patinfolist/remfact",
  1674. fCallSpecPopUp_remfact(model.getValue("/root/main/patinfo/patinfolist/pid"),model.getValue("/root/main/patinfo/patinfolist/remfact")));
  1675. textarea3.refresh();
  1676. ]]>
  1677. </script>
  1678. </button>
  1679. <input id="ipt_hngnm" ref="/root/main/patinfo/patinfolist/hngnm" class="input_s_essential" navindex="2" autonext="false" imemode="hangul" style="left:103px; top:55px; width:87px; height:19px; ">
  1680. <script type="javascript" ev:event="onkeypress">
  1681. <![CDATA[
  1682. model.setValue("/root/hidden/source/srchcond", "2");
  1683. model.setValue("/root/hidden/source/hngnm", ipt_hngnm.currentText);
  1684. inputEnterKey("btn_search", "DOMActivate");
  1685. ]]>
  1686. </script>
  1687. </input>
  1688. <input id="input18" ref="/root/main/patinfo/patinfolist/hngnm2" class="input_default" imemode="hangul" style="left:191px; top:55px; width:81px; height:19px; "/>
  1689. <button id="button5" class="btn2_letter4" style="left:285px; top:5px; width:64px; height:19px; ">
  1690. <caption>동명이인</caption>
  1691. <script type="javascript" ev:event="DOMActivate">
  1692. <![CDATA[
  1693. modal("SPPMC07300", "1","50", "50", "SPPMC07300", "", "");
  1694. ]]>
  1695. </script>
  1696. </button>
  1697. </group>
  1698. <group id="group5" style="left:427px; top:225px; width:768px; height:155px; ">
  1699. <caption id="caption17" class="cell_1" style="left:575px; top:103px; width:100px; height:23px; vertical-align:middle; ">산모입원일자</caption>
  1700. <caption id="caption16" class="cell_1" style="left:384px; top:103px; width:100px; height:23px; vertical-align:middle; ">출산일자</caption>
  1701. <caption id="caption88" class="cell_1" style="left:426px; top:30px; width:81px; height:19px; vertical-align:middle; ">최종입원일자</caption>
  1702. <line id="line107" class="line_1" style="x1:2px; y1:25px; x2:766px; y2:25px; "/>
  1703. <caption id="caption77" class="tit_2" style="left:5px; top:10px; width:85px; height:13px; ">진료기록</caption>
  1704. <output id="output1" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/incnt" class="output_fix" style="left:60px; top:30px; width:27px; height:19px; text-align:center; "/>
  1705. <output id="output2" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/fstindd" class="output_fix" format="yyyy-mm-dd" style="left:173px; top:30px; width:64px; height:19px; "/>
  1706. <output id="input7" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/lstindd" class="output_fix" format="yyyy-mm-dd" inputtype="date" appearance="output" style="left:509px; top:30px; width:64px; height:19px; "/>
  1707. <line id="line2" class="line_1" style="x1:2px; y1:98px; x2:766px; y2:98px; "/>
  1708. <caption id="caption14" class="tit_2" style="left:5px; top:83px; width:144px; height:13px; ">신생아 산모내역</caption>
  1709. <output id="input8" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/nbabyindd" class="output_fix" format="yyyy-mm-dd" inputtype="date" appearance="output" style="left:105px; top:104px; width:85px; height:19px; "/>
  1710. <output id="input9" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/womnpid" class="output_fix" appearance="output" style="left:105px; top:128px; width:85px; height:19px; "/>
  1711. <output id="input10" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/womnindd" class="output_fix" format="yyyy-mm-dd" inputtype="date" appearance="output" style="left:678px; top:104px; width:88px; height:19px; "/>
  1712. <output id="input11" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/womnbrthdd" class="output_fix" format="yyyy-mm-dd" inputtype="date" appearance="output" style="left:487px; top:104px; width:85px; height:19px; "/>
  1713. <output id="input12" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/womnnm" class="output_fix" appearance="output" style="left:296px; top:128px; width:85px; height:19px; "/>
  1714. <select1 id="combo3" ref="/root/main/detailinfo/nbabyinfo/nbabyinfolist/sickbabyyn" class="combo_default" disabled="true" appearance="minimal" style="left:296px; top:104px; width:85px; height:19px; ">
  1715. <choices>
  1716. <item>
  1717. <label>환아</label>
  1718. <value>Y</value>
  1719. </item>
  1720. <item>
  1721. <label>정상</label>
  1722. <value>N</value>
  1723. </item>
  1724. </choices>
  1725. </select1>
  1726. <caption id="caption1" class="cell_1" style="left:89px; top:30px; width:82px; height:19px; vertical-align:middle; ">최초입원일자</caption>
  1727. <caption id="caption87" class="cell_1" style="left:2px; top:30px; width:58px; height:19px; vertical-align:middle; ">입원횟수</caption>
  1728. <caption id="caption11" class="cell_1" style="left:193px; top:103px; width:100px; height:23px; vertical-align:middle; ">환아여부</caption>
  1729. <caption id="caption12" class="cell_1" style="left:2px; top:103px; width:100px; height:23px; vertical-align:middle; ">신생아입원일자</caption>
  1730. <caption id="caption13" class="cell_1" style="left:193px; top:127px; width:100px; height:23px; vertical-align:middle; ">산모성명</caption>
  1731. <caption id="caption15" class="cell_1" style="left:2px; top:127px; width:100px; height:23px; vertical-align:middle; ">산모등록번호</caption>
  1732. <caption id="caption9" class="cell_1" style="left:239px; top:30px; width:68px; height:19px; vertical-align:middle; ">최초입원과</caption>
  1733. <output id="output3" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/fstindeptnm" class="output_fix" style="left:309px; top:30px; width:115px; height:19px; "/>
  1734. <output id="output4" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/lstindeptnm" class="output_fix" appearance="output" style="left:645px; top:30px; width:115px; height:19px; "/>
  1735. <caption id="caption37" class="cell_1" style="left:575px; top:30px; width:68px; height:19px; vertical-align:middle; ">최종입원과</caption>
  1736. <output id="output5" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/lstoutdeptnm" class="output_fix" appearance="output" style="left:645px; top:52px; width:115px; height:19px; "/>
  1737. <output id="output6" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/lstoutdd" class="output_fix" format="yyyy-mm-dd" inputtype="date" appearance="output" style="left:509px; top:52px; width:64px; height:19px; "/>
  1738. <caption id="caption38" class="cell_1" style="left:89px; top:52px; width:82px; height:19px; vertical-align:middle; ">최초외래일자</caption>
  1739. <caption id="caption39" class="cell_1" style="left:2px; top:52px; width:58px; height:19px; vertical-align:middle; ">외래횟수</caption>
  1740. <caption id="caption40" class="cell_1" style="left:426px; top:52px; width:81px; height:19px; vertical-align:middle; ">최종외래일자</caption>
  1741. <caption id="caption41" class="cell_1" style="left:575px; top:52px; width:68px; height:19px; vertical-align:middle; ">최종외래과</caption>
  1742. <caption id="caption42" class="cell_1" style="left:239px; top:52px; width:68px; height:19px; vertical-align:middle; ">최초외래과</caption>
  1743. <output id="output7" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/outcnt" class="output_fix" style="left:60px; top:52px; width:27px; height:19px; text-align:center; "/>
  1744. <output id="output8" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/fstoutdd" class="output_fix" format="yyyy-mm-dd" style="left:173px; top:52px; width:64px; height:19px; "/>
  1745. <output id="output9" ref="/root/main/detailinfo/patordrecinfo/patordrecinfolist/fstoutdeptnm" class="output_fix" style="left:309px; top:52px; width:115px; height:19px; "/>
  1746. </group>
  1747. <group id="group7" style="left:427px; top:0px; width:768px; height:223px; ">
  1748. <line id="line1" class="line_1" style="x1:2px; y1:25px; x2:767px; y2:25px; "/>
  1749. <button id="button53" class="btn2_letter3" style="left:714px; top:5px; width:53px; height:19px; ">
  1750. <caption>행추가</caption>
  1751. <script type="javascript" ev:event="DOMActivate">
  1752. <![CDATA[
  1753. grd_insuinfo.addRow();
  1754. var cur_row = grd_insuinfo.row;
  1755. model.setValue("/root/main/detailinfo/patinsuinfo/patinsuinfolist[" + cur_row + "]/pid", model.getValue("/root/main/patinfo/patinfolist/pid") );
  1756. model.refresh();
  1757. ]]>
  1758. </script>
  1759. </button>
  1760. <caption id="caption18" class="tit_2" style="left:5px; top:10px; width:75px; height:13px; ">보험</caption>
  1761. <datagrid id="grd_insuinfo" nodeset="/root/main/detailinfo/patinsuinfo/patinsuinfolist" caption="보험유형^시작일자^종료일자^보험자코드^보험증번호^피보험자성명^피보험자 주민번호^피보험자 주민번호^관계^환자번호^일련번호" colsep="^" colwidth="84, 84, 84, 111, 110, 85, 60, 60, 50, 74, 69" defaultrows="2" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:2px; top:30px; width:766px; height:185px; ">
  1762. <col ref="insukind" type="combo">
  1763. <choices>
  1764. <itemset nodeset="/root/init/P0008list/P0008">
  1765. <label ref="cdnm"/>
  1766. <value ref="cdid"/>
  1767. </itemset>
  1768. </choices>
  1769. </col>
  1770. <col ref="fromdd" type="inputdate"/>
  1771. <col ref="todd" type="inputdate"/>
  1772. <col ref="insucd" type="input"/>
  1773. <col ref="insuno" type="input"/>
  1774. <col ref="insdnm" type="input"/>
  1775. <col ref="insdrrgstno1" type="input" format="999999" maxlength="6"/>
  1776. <col ref="insdrrgstno2" type="input" format="9999999" maxlength="7"/>
  1777. <col ref="insdrela" type="combo">
  1778. <choices>
  1779. <itemset nodeset="/root/init/P0016list/P0016">
  1780. <label ref="cdnm"/>
  1781. <value ref="cdid"/>
  1782. </itemset>
  1783. </choices>
  1784. </col>
  1785. <col ref="pid" visibility="hidden"/>
  1786. <col ref="seqno" visibility="hidden"/>
  1787. </datagrid>
  1788. </group>
  1789. <group id="group6" style="left:425px; top:400px; width:765px; height:170px; ">
  1790. <datagrid id="grd_protlist" nodeset="/root/main/protinfo/protlist" caption="관계^성명^연락처^비고^스마트앱구분" colsep="^" colwidth="114, 120, 130, 200, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:5px; top:30px; width:755px; height:135px; ">
  1791. <col ref="protflag" type="combo">
  1792. <choices>
  1793. <item>
  1794. <label>본인</label>
  1795. <value>1</value>
  1796. </item>
  1797. <item>
  1798. <label>배우자</label>
  1799. <value>2</value>
  1800. </item>
  1801. <item>
  1802. <label>자녀</label>
  1803. <value>3</value>
  1804. </item>
  1805. <item>
  1806. <label>부모</label>
  1807. <value>4</value>
  1808. </item>
  1809. <item>
  1810. <label>기타</label>
  1811. <value>5</value>
  1812. </item>
  1813. </choices>
  1814. </col>
  1815. <col ref="name" type="input"/>
  1816. <col ref="phone" type="input"/>
  1817. <col ref="remark" type="input"/>
  1818. <col/>
  1819. <col ref="pid" visibility="hidden"/>
  1820. <col ref="seqno" visibility="hidden"/>
  1821. </datagrid>
  1822. <caption id="caption35" class="tit_2" style="left:10px; top:5px; width:100px; height:13px; ">보호자 연락처</caption>
  1823. <button id="button6" class="btn2_letter2" style="left:625px; top:5px; width:42px; height:19px; ">
  1824. <caption>추가</caption>
  1825. <script type="javascript" ev:event="DOMActivate">
  1826. <![CDATA[
  1827. grd_protlist.addRow();
  1828. grd_protlist.valueMatrix(grd_protlist.row, grd_protlist.colRef("pid")) = ipt_pid.value;
  1829. ]]>
  1830. </script>
  1831. </button>
  1832. <button id="button7" class="btn2_letter2" style="left:670px; top:5px; width:42px; height:19px; ">
  1833. <caption>삭제</caption>
  1834. <script type="javascript" ev:event="DOMActivate">
  1835. <![CDATA[
  1836. if ( grd_protlist.rowStatus(grd_protlist.row) == 1 || grd_protlist.rowStatus(grd_protlist.row) == 3 ) {
  1837. grd_protlist.deleteRow();
  1838. } else {
  1839. grd_protlist.rowStatus(grd_protlist.row) = 4;
  1840. }
  1841. ]]>
  1842. </script>
  1843. </button>
  1844. <button id="button8" class="btn5_letter2" style="left:715px; top:5px; width:42px; height:19px; ">
  1845. <caption>저장</caption>
  1846. <script type="javascript" ev:event="DOMActivate">
  1847. <![CDATA[
  1848. for ( i = grd_protlist.fixedRows; i < grd_protlist.rows; i++) {
  1849. if ( grd_protlist.rowStatus(i) == 1 || grd_protlist.rowStatus(i) == 2 || grd_protlist.rowStatus(i) == 3 ) {
  1850. if ( grd_protlist.valueMatrix(i, grd_protlist.colRef("protflag")) == "" || grd_protlist.valueMatrix(i, grd_protlist.colRef("name")) == "") {
  1851. messageBox("관계, 성명은 필수입력값입니다.", "E999", "");
  1852. return;
  1853. }
  1854. }
  1855. }
  1856. model.makeValue("/root/send/savedata/protlist", getGridUpdateData(grd_protlist));
  1857. submit("TXPMC01404");
  1858. submit("TRPMC01404");
  1859. ]]>
  1860. </script>
  1861. </button>
  1862. <button id="button9" class="btn2_letter3" style="left:570px; top:5px; width:53px; height:19px; ">
  1863. <caption>초기화</caption>
  1864. <script type="javascript" ev:event="DOMActivate">
  1865. <![CDATA[
  1866. submit("TRPMC01404");
  1867. ]]>
  1868. </script>
  1869. </button>
  1870. <caption id="cap_smtappscanyn" style="left:310px; top:4px; width:246px; height:20px; font-weight:bold; color:#0000ff; text-align:center; "/>
  1871. </group>
  1872. </group>
  1873. <group id="group1" scroll="auto" style="left:0px; top:588px; width:1195px; height:27px; ">
  1874. <button id="btn_initialize" class="btn4_letter3" style="left:1126px; top:5px; width:68px; height:22px; ">
  1875. <caption>초기화</caption>
  1876. <script type="javascript" ev:event="DOMActivate">
  1877. <![CDATA[
  1878. fInitialize();
  1879. ]]>
  1880. </script>
  1881. </button>
  1882. <button id="button3" class="btn4_letter2" style="left:1067px; top:5px; width:56px; height:22px; ">
  1883. <caption>저장</caption>
  1884. <script type="javascript" ev:event="DOMActivate">
  1885. <![CDATA[
  1886. //환자정보(주민등록번호) 존재여부 체크
  1887. if(!fGetPtbsInfo(model.getValue("/root/main/patinfo/patinfolist/rrgstno1"), model.getValue("/root/main/patinfo/patinfolist/rrgstno2"), model.getValue("/root/main/patinfo/patinfolist/pid"))){
  1888. return false;
  1889. }
  1890. if(fBrthddVeri(model.getValue("/root/main/patinfo/patinfolist/brthdd"),input38) == false) return; //2010-01-18 김주희 생년월일체크
  1891. if( model.getValue("/root/main/patinfo/patinfolist/rrgstno2").substring(0,1) == '5'
  1892. || model.getValue("/root/main/patinfo/patinfolist/rrgstno2").substring(0,1) == '6'
  1893. || model.getValue("/root/main/patinfo/patinfolist/rrgstno2").substring(0,1) == '7'
  1894. || model.getValue("/root/main/patinfo/patinfolist/rrgstno2").substring(0,1) == '8'
  1895. || model.getValue("/root/main/patinfo/patinfolist/forgeryn") == 'Y' ) {
  1896. if( model.getValue("/root/main/patinfo/patinfolist/nati") == '' || model.getValue("/root/main/patinfo/patinfolist/nati") == '-' ) {
  1897. messageBox("외국인입니다. 외국인 여부와 국적코드를 입력해 주세요", "E999", "");
  1898. return false;
  1899. }
  1900. }
  1901. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1902. if( pid == null || pid == "" ){
  1903. if( messageBox("신규 환자로", "Q002") == 6 ){ //if YES
  1904. //추가할 데이터를 send노드로 복사
  1905. model.copyNode("/root/send/updatedata/patinfo" ,"/root/main/patinfo");
  1906. //model.setValue("/root/send/updatedata/patinsuinfo/patinsuinfolist", grd_insuinfo.getUpdateData() );
  1907. //model.setValue("/root/send/updatedata/patdiscinfo/patdiscinfolist", grd_discinfo.getUpdateData() );
  1908. // fPatientRrgstno();
  1909. fSave();
  1910. }else{ //if NO
  1911. messageBox("환자번호를 정확히", "C001");
  1912. }
  1913. }else if( pid.length < 1 ){
  1914. messageBox("환자번호를 정확히", "C001");
  1915. }else{
  1916. //인적사항에 변동이 없을 경우
  1917. if(pamCompareNodes("/root/main/patinfo/patinfolist", "/root/hidden/tmpnode/patinfolist") ){
  1918. //인적사항 데이터를 send노드로 복사
  1919. model.copyNode("/root/send/updatedata/patinfo" ,"/root/main/patinfo");
  1920. model.makeNode("/root/send/updatedata/patinfo/patinfolist/srchcond");
  1921. model.setValue("/root/send/updatedata/patinfo/patinfolist/srchcond" , 1 );
  1922. model.setValue("/root/send/updatedata/patinsuinfo/patinsuinfolist", grd_insuinfo.getUpdateData() );
  1923. // model.setValue("/root/send/updatedata/patdiscinfo/patdiscinfolist", grd_discinfo.getUpdateData() );
  1924. // fPatientRrgstno();
  1925. fSave();
  1926. //인적사항 업데이트 시
  1927. }else{
  1928. //수정할 데이터를 send노드로 복사
  1929. model.copyNode("/root/send/updatedata/patinfo" ,"/root/main/patinfo");
  1930. model.makeNode("/root/send/updatedata/patinfo/patinfolist/srchcond"); //업데이트인지 체크를 위해..
  1931. model.setValue("/root/send/updatedata/patinfo/patinfolist/srchcond" , 0 );
  1932. model.setValue("/root/send/updatedata/patinsuinfo/patinsuinfolist", grd_insuinfo.getUpdateData() );
  1933. // model.setValue("/root/send/updatedata/patdiscinfo/patdiscinfolist", grd_discinfo.getUpdateData() );
  1934. // fPatientRrgstno();
  1935. fSave();
  1936. }
  1937. }
  1938. ]]>
  1939. </script>
  1940. </button>
  1941. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:1195px; y2:0px; "/>
  1942. <button id="btn_patcard" class="btn4_letter8" style="left:178px; top:5px; width:116px; height:22px; ">
  1943. <caption>환자카드재발행</caption>
  1944. <script type="javascript" ev:event="DOMActivate">
  1945. <![CDATA[
  1946. fIssuePatientCard();
  1947. ]]>
  1948. </script>
  1949. </button>
  1950. <button id="btn_insuno_search" accesskey="f4" class="btn3_letter4" style="left:95px; top:5px; width:80px; height:22px; ">
  1951. <caption>자격조회</caption>
  1952. <script type="javascript" ev:event="DOMActivate">
  1953. <![CDATA[
  1954. //보험증번호 조회(보험자격조회)
  1955. var suppkind = '00';
  1956. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  1957. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  1958. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  1959. getCurrentDate() + "▦" + //외래진료일자
  1960. 0 + "▦" + //생성번호
  1961. "O" + "▦" + //진료형태
  1962. "" + "▦" + //퇴원일자
  1963. "0" + "▦" + //본인일부부담금
  1964. "" + "▦" + //기관부담금
  1965. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  1966. // model.getValue("/root/init/orddeptcd[ cd = '" + cmb_orddeptcd.value + "']/reqdeptno") + "▦" + //진료과
  1967. '' + "▦" + //진료과
  1968. "" + "▦" + //본인부담구분
  1969. "0" + "▦" + //비급여총금액
  1970. "0" + "▦" + //산전지원금
  1971. suppkind + "▦"; //보조유형
  1972. setParameter("SPPMC03900_PARM",parm);
  1973. modal("SPPMC03900", "1","50", "50", "SPPMC03900", "", "", "sysmenu:hidden;");
  1974. /*
  1975. if (getParameter("SPPMC03900_RTN") == "N" || getParameter("SPPMC03900_RTN") == ""){
  1976. if( RSRVFLAG == 'O' ){
  1977. //자격조회 완료여부 세팅
  1978. model.setValue("/root/hidden/flag/check_insuinfo_flag", "N");
  1979. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  1980. // model.setValue("/root/main/otpt/otpt_insukind", "51");
  1981. // cmb_insukind.dispatch("xforms-select");
  1982. }else{
  1983. //자격조회 완료여부 세팅
  1984. model.setValue("/root/hidden/flag/check_insuinfo_flag", "N");
  1985. model.setValue("/root/main/otpt/otpt_insukind", "51");
  1986. cmb_insukind.dispatch("xforms-select");
  1987. }
  1988. //건보/의보일 경우 보험정보도 같이 변경한다.
  1989. if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  1990. for( var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_mseqno"); i++ ){
  1991. //보호/보험일 때
  1992. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHeom
  1993. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  1994. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 ){
  1995. //보험정보, 본인부담구분, 희귀난치병 세팅
  1996. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind", '51');
  1997. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '00');
  1998. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insucd", '-');
  1999. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", '-'); //본인부담구분세팅
  2000. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  2001. //보험
  2002. var mseqno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno");
  2003. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2004. for( var iLoop = 1; iLoop < ptinCnt; iLoop++ ){
  2005. if( model.getValue("/root/main/m_ptin/ptin["+ iLoop +"]/ptin_mseqno") == mseqno ){
  2006. model.removeNodeset("/root/main/m_ptin/ptin["+ iLoop +"]");
  2007. break;
  2008. }
  2009. }
  2010. ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2011. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2012. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2013. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  2014. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",mseqno);
  2015. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  2016. }
  2017. }
  2018. }
  2019. return;
  2020. }else if (getParameter("SPPMC03900_RTN") == "F"){
  2021. //자격조회 완료여부 세팅
  2022. model.setValue("/root/hidden/flag/check_insuinfo_flag", "F");
  2023. return;
  2024. }
  2025. if (getParameter("SPPMC03900_RTN") == "Y") {
  2026. //return 값이 있으면, 보험유형,증번호,보험자기호,취득일자,피보험자성명
  2027. var insukind = getParameter("SPPMC03900_insukind");
  2028. if( insukind == gsInsu_BoHeom || insukind == gsInsu_BoHo1 || insukind == gsInsu_BoHo2 || insukind == gsInsu_Noin){
  2029. if( RSRVFLAG == 'O' ){
  2030. insukind = '81';
  2031. }
  2032. }
  2033. model.setValue("/root/main/otpt/otpt_insukind", insukind);
  2034. model.setValue("/root/main/otpt/otpt_insucd", getParameter("SPPMC03900_insucd"));
  2035. model.setValue("/root/main/ptin/ptin_insukind" , insukind);
  2036. model.setValue("/root/main/ptin/ptin_insucd" , getParameter("SPPMC03900_insucd"));
  2037. model.setValue("/root/main/ptin/ptin_insuno" , getParameter("SPPMC03900_insuno"));
  2038. model.setValue("/root/main/ptin/ptin_insdnm" , getParameter("SPPMC03900_insdnm"));
  2039. model.setValue("/root/main/ptin/ptin_fromdd" , getParameter("SPPMC03900_insufromdd"));
  2040. //피보험자성명이 환자명과 같으면, 관계에 [본인]세팅
  2041. if ( model.getValue("/root/main/ptbs/ptbs_hngnm") == model.getValue("/root/main/ptin/ptin_insdnm") ) {
  2042. model.setValue("/root/main/ptin/ptin_insdrela","1");
  2043. }
  2044. model.setValue("/root/main/otpt/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  2045. // model.setValue("/root/main/otpt/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  2046. model.setValue("/root/main/otpt/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  2047. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  2048. //차상위 2종일때
  2049. if( getParameter("SPPMC03900_suppkind") == '33' ){
  2050. if(suppkind == '10'){ //가정간호
  2051. suppkind = '37'; //차상위2종 가정간호
  2052. }else if(suppkind == '11'){ //가정간호 등록암
  2053. suppkind = '38'; //차상위2종 가정간호 등록암
  2054. }
  2055. }
  2056. if( getNodesetCount("/root/init/suppkind[ up = '" + insukind + "' and cd = '" + suppkind + "' ]/nm") > 0 ){
  2057. model.setValue("/root/main/otpt/otpt_suppkind", suppkind); //가정간호 보조유형 세팅
  2058. }else{
  2059. if( RSRVFLAG == 'H'){
  2060. model.setValue("/root/main/otpt/otpt_suppkind", '00');
  2061. }else if( RSRVFLAG == 'O'){
  2062. model.setValue("/root/main/otpt/otpt_suppkind", '01');
  2063. }
  2064. }
  2065. }else{
  2066. //차상위 1, 2종
  2067. if( getParameter("SPPMC03900_suppkind") != '00' ){
  2068. model.setValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //차상위정보세팅
  2069. }else{
  2070. // model.setValue("/root/main/otpt/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //정상보조유형세팅
  2071. }
  2072. }
  2073. //2008-07-29
  2074. //예약내역에 정보세팅
  2075. //변경모드 및 멀티내역 수정모드가 아닐때...
  2076. //건보/의보일 경우 보험정보도 같이 변경한다.
  2077. if( btn_stat.attribute("background-color") == "#c0c0c0" ){
  2078. for( var i = 1; i <= getNodesetCount("/root/main/m_otpt/otpt/otpt_mseqno"); i++ ){
  2079. // if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_check") == 'Y' ){
  2080. // continue;
  2081. // }
  2082. //보호/보험일 때
  2083. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHeom
  2084. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo1
  2085. || model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") == gsInsu_BoHo2 ){
  2086. if( model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind") != getParameter("SPPMC03900_insukind") ){
  2087. //보험정보, 본인부담구분, 희귀난치병 세팅
  2088. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insukind", getParameter("SPPMC03900_insukind"));
  2089. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_insucd", getParameter("SPPMC03900_insucd"));
  2090. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  2091. // // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  2092. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  2093. if( RSRVFLAG == 'H' || RSRVFLAG == 'O'){
  2094. //차상위 2종일때
  2095. // if( getParameter("SPPMC03900_suppkind") == '33' ){
  2096. // if(suppkind == '10'){ //가정간호
  2097. // suppkind = '37'; //차상위2종 가정간호
  2098. // }else if(suppkind == '11'){ //가정간호 등록암
  2099. // suppkind = '38'; //차상위2종 가정간호 등록암
  2100. // }
  2101. // }
  2102. // if( getNodesetCount("/root/init/suppkind[ up = '" + insukind + "' and cd = '" + suppkind + "' ]/nm") > 0 ){
  2103. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", suppkind); //가정간호 보조유형 세팅
  2104. // }else{
  2105. // if( RSRVFLAG == 'H'){
  2106. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '00');
  2107. // }else if( RSRVFLAG == 'O'){
  2108. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", '01');
  2109. // }
  2110. // }
  2111. }else{
  2112. //차상위
  2113. if( getParameter("SPPMC03900_suppkind") != '00' ){
  2114. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", getParameter("SPPMC03900_suppkind")); //차상위정보세팅
  2115. }else{
  2116. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_suppkind", "00"); //보조유형 디폴트 세팅
  2117. }
  2118. }
  2119. //보험
  2120. var mseqno = model.getValue("/root/main/m_otpt/otpt[" + i + "]/otpt_mseqno");
  2121. var ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2122. for( var iLoop = 1; iLoop < ptinCnt; iLoop++ ){
  2123. if( model.getValue("/root/main/m_ptin/ptin["+ iLoop +"]/ptin_mseqno") == mseqno ){
  2124. model.removeNodeset("/root/main/m_ptin/ptin["+ iLoop +"]");
  2125. break;
  2126. }
  2127. }
  2128. ptinCnt = parseInt(getNodesetCount("/root/main/m_ptin/ptin/ptin_pid")) + 1;
  2129. model.removeNodeset("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2130. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]");
  2131. model.makeNode("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno");
  2132. model.setValue("/root/main/m_ptin/ptin["+ ptinCnt +"]/ptin_mseqno",mseqno);
  2133. copyNodeType("/root/main/m_ptin/ptin["+ ptinCnt +"]","/root/main/ptin", "after");
  2134. }
  2135. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_ownbflag", getParameter("SPPMC03900_ownbflag")); //본인부담구분세팅
  2136. // model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", getParameter("SPPMC03900_rareobstflag")); //희귀난치병정보세팅
  2137. model.setValue("/root/main/m_otpt/otpt[" + i + "]/otpt_rareobstflag", 'I'); //희귀난치병정보세팅
  2138. }
  2139. }
  2140. }
  2141. //자격조회 완료여부 세팅
  2142. model.setValue("/root/hidden/flag/check_insuinfo_flag", "Y");
  2143. model.setValue("/root/hidden/flag/check_insuinfo_insukind", insukind );
  2144. model.setValue("/root/hidden/flag/check_insuinfo_suppkind", getParameter("SPPMC03900_suppkind") );
  2145. model.setValue("/root/hidden/flag/check_insuinfo_ownbflag", getParameter("SPPMC03900_ownbflag") );
  2146. // model.setValue("/root/hidden/flag/check_insuinfo_rareobstflag", getParameter("SPPMC03900_rareobstflag") );
  2147. model.setValue("/root/hidden/flag/check_insuinfo_rareobstflag", 'I' );
  2148. //수가계산 안 한 상태로 ..
  2149. gs_prcs = "0";
  2150. model.refresh();
  2151. }
  2152. clearParameter("SPPMC03900_RTN");
  2153. clearParameter("SPPMC03900_insukind");
  2154. clearParameter("SPPMC03900_insucd");
  2155. clearParameter("SPPMC03900_insuno");
  2156. clearParameter("SPPMC03900_insdnm");
  2157. clearParameter("SPPMC03900_insufromdd");
  2158. clearParameter("SPPMC03900_ownbflag");
  2159. model.setFocus("btn_calcscorcalc");
  2160. */
  2161. ]]>
  2162. </script>
  2163. <hint>
  2164. <![CDATA[F4]]>
  2165. </hint>
  2166. </button>
  2167. <button id="button1" accesskey="f4" class="btn3_letter5" style="left:0px; top:5px; width:80px; height:22px; ">
  2168. <caption>차상위/희귀</caption>
  2169. <script type="javascript" ev:event="DOMActivate">
  2170. <![CDATA[
  2171. modal("SPPAO04600", "1","300", "300", "SPPAO04600", "/root/main/patinfo/patinfolist/pid", "/root/send/pid");
  2172. ]]>
  2173. </script>
  2174. <hint>
  2175. <![CDATA[F4]]>
  2176. </hint>
  2177. </button>
  2178. <button id="button11" class="btn4_letter5" style="left:309px; top:5px; width:128px; height:22px; ">
  2179. <caption>앱 동의서</caption>
  2180. <script type="javascript" ev:event="DOMActivate">
  2181. <![CDATA[
  2182. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2183. var cretno = model.getValue("/root/main/patinfo/patinfolist/lastcretno");
  2184. var orddd = model.getValue("/root/main/patinfo/patinfolist/lastorddd");
  2185. var ordtype = "O";
  2186. var user = getUserInfo("userid");
  2187. var instcd = getUserInfo("dutplceinstcd");
  2188. var mpphontel = model.getValue("/root/main/patinfo/patinfolist/mpphontel");
  2189. if (pid == "" || cretno == "" || orddd == "" || ordtype == "") {
  2190. messageBox("최근 수진정보가 없습니다. \r\n전자동의서는 반드시 수진이력이 존재해야 합니다.","I999");
  2191. return;
  2192. }
  2193. if (isNull(mpphontel) || mpphontel.replace("-", "").length < 10 ) {
  2194. messageBox("SMS수신을 위해 휴대전화번호는 반드시 입력해야합니다.","I999");
  2195. return;
  2196. }
  2197. // 전자동의서 파라미터 설정
  2198. setParameter("SSMRC03160_param_patid", pid);
  2199. setParameter("SSMRC03160_param_cretno", cretno);
  2200. setParameter("SSMRC03160_param_indate", orddd);
  2201. setParameter("SSMRC03160_param_instcd", instcd);
  2202. setParameter("SSMRC03160_param_class", ordtype);
  2203. if(getUserInfo("dutplceinstcd") == "032"){
  2204. setParameter("SSMRC03160_param_docucd", "1700020319"); // 환자용 스마트앱 가입 동의서(칠곡)
  2205. } else {
  2206. setParameter("SSMRC03160_param_docucd", "1700018939"); // 환자용 스마트앱 가입 동의서(칠곡 이외)
  2207. }
  2208. setParameter("SSMRC03160_param_cuser", user);
  2209. setParameter("SSMRC03160_param_flag", "M"); // 환자용 스마트앱 가입 동의서
  2210. setParameter("SSMRC03160_param_tag1", model.getValue("/root/paminit/PK223list/PK223[cdid=1]/cdnm")); // 담당자 성명
  2211. setParameter("SSMRC03160_param_tag2", model.getValue("/root/paminit/PK223list/PK223[cdid=2]/cdnm") // 담당자 연락처 / 이메일
  2212. + " / " + model.getValue("/root/paminit/PK223list/PK223[cdid=3]/cdnm"));
  2213. setParameter("SSMRC03160_param_tag3", getCurrentDate().substr(2, 2)); // 연(yy)
  2214. setParameter("SSMRC03160_param_tag4", getCurrentDate().substr(4, 2)); // 월(mm)
  2215. setParameter("SSMRC03160_param_tag5", getCurrentDate().substr(6, 2)); // 일(dd)
  2216. setParameter("SSMRC03160_param_tag6", mpphontel); // 환자 휴대폰번호(스마트앱 연동용)
  2217. // 전자동의서 팝업 호출
  2218. modal("SSMRC03160");
  2219. ]]>
  2220. </script>
  2221. </button>
  2222. <button id="button10" class="btn4_letter8" style="left:404px; top:5px; width:128px; height:22px; ">
  2223. <caption>앱 임시회원가입</caption>
  2224. <script type="javascript" ev:event="DOMActivate">
  2225. <![CDATA[
  2226. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2227. var smtappscanyn = model.getValue("/root/main/patinfo/patinfolist/smtappscanyn");
  2228. var mpphontel = model.getValue("/root/main/patinfo/patinfolist/mpphontel");
  2229. if (isNull(pid)) {
  2230. messageBox("환자정보가 없습니다.\r\n환자정보 조회 후 처리하십시오.","I999");
  2231. return;
  2232. }
  2233. if (smtappscanyn == "X") {
  2234. messageBox("환자용 스마트앱 가입 동의서가 작성되지 않았습니다. \r\n스마트앱 가입 동의서 작성 후 처리하십시오.","I999");
  2235. return;
  2236. }
  2237. if (isNull(mpphontel) || mpphontel.replace("-", "").length < 10 ) {
  2238. messageBox("SMS수신을 위해 휴대전화번호는 반드시 입력해야합니다.","I999");
  2239. return;
  2240. }
  2241. if (messageBox("스마트앱 가입을 위한 임시 비밀번호 \r\n발급용 SMS를 전송하시겠습니까?", "Q000") != "6") {
  2242. return;
  2243. }
  2244. model.setValue("/root/send/smtappdata/pid", pid);
  2245. model.setValue("/root/send/smtappdata/mpphontel", mpphontel);
  2246. submit("TXPMC01405");
  2247. var smsresult = model.getValue("/root/hidden/smtappresult/successyn");
  2248. var smsresultmsg = model.getValue("/root/hidden/smtappresult/errormsg");
  2249. if (smsresult != "Y") {
  2250. messageBox(smsresultmsg, "I000");
  2251. } else {
  2252. messageBox("정상처리 되었습니다.", "I000");
  2253. }
  2254. ]]>
  2255. </script>
  2256. </button>
  2257. </group>
  2258. <group id="group3" style="left:0px; top:0px; width:1195px; height:13px; ">
  2259. <caption id="caption22" class="tit_1" style="left:0px; top:0px; width:189px; height:13px; ">환자기본정보관리</caption>
  2260. </group>
  2261. <bool id="bool4" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/dethyn" style="left:103px; top:333px; width:20px; height:20px; ">
  2262. <script type="javascript" ev:event="onclick">
  2263. <![CDATA[
  2264. model.setValue("/root/main/patinfo/patinfolist/dethdt", "");
  2265. model.setValue("/root/main/patinfo/patinfolist/dethdd", "");
  2266. model.setValue("/root/main/patinfo/patinfolist/dethtm", "");
  2267. ]]>
  2268. </script>
  2269. </bool>
  2270. <caption id="caption27" style="left:123px; top:333px; width:45px; height:20px; ">사망</caption>
  2271. <bool id="bool6" checkvalue="Y,N" ref="/root/main/patinfo/patinfolist/animyn" style="left:350px; top:19px; width:20px; height:20px; "/>
  2272. <caption id="caption29" style="left:370px; top:19px; width:50px; height:20px; ">동물여부</caption>
  2273. </xhtml:body>
  2274. </xhtml:html>