SPMQP01400_STEP처방관리.xrw 171 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>처방 검색</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <prcp>
  11. <prcplist>
  12. <status/>
  13. <prcpstatcd/>
  14. <prcpclscd/>
  15. <prcpkindcd/>
  16. <prcpcd/>
  17. <prcpnm/>
  18. <prcpvol/>
  19. <prcpvolunitnm/>
  20. <prcpqty/>
  21. <prcpqtyunitnm/>
  22. <prcptims/>
  23. <prcpdayno/>
  24. <drugmthdspccdnm/>
  25. <prcpmixno/>
  26. <payflagcd/>
  27. <prcpdelivefact/>
  28. <hosinhosoutflag/>
  29. <prcpexecdeptcd/>
  30. <prcphopedd/>
  31. <choiordflag/>
  32. <rgstdt/>
  33. <rgstridnm/>
  34. <testrsltunit/>
  35. <testrsltcnts/>
  36. <prcpgenrflag/>
  37. <prcphistcd/>
  38. <tempprcpflag/>
  39. <prcpsetcd/>
  40. <prcpvolunitflag/>
  41. <prcpqtyunitflag/>
  42. <orgprcpqty/>
  43. <drugspd/>
  44. <drugspdunitflag/>
  45. <powdflag/>
  46. <prnprcpflag/>
  47. <prepprcpflag/>
  48. <selfprcpflag/>
  49. <selfdrugflag/>
  50. <drugpackflag/>
  51. <erprcpflag/>
  52. <precureprcpflag/>
  53. <nigtprcpflag/>
  54. <portprcpflag/>
  55. <fixprcpflag/>
  56. <anamneflag/>
  57. <fastprcpflag/>
  58. <erreadflag/>
  59. <prcpdirecflag/>
  60. <tnsuseflag/>
  61. <tnsfiltflag/>
  62. <trnptbftestflag/>
  63. <offictourhealexamflag/>
  64. <stemcellflag/>
  65. <angioflagcd/>
  66. <opansflagcd/>
  67. <ansttm/>
  68. <mealcalrcnts/>
  69. <mealprotcnts/>
  70. <mealupdtflag/>
  71. <hosinprcpresncd/>
  72. <etcprcpresncd/>
  73. <drugmthdspccd/>
  74. <issdeptcd/>
  75. <prcpauthflag/>
  76. <prcpinptflag/>
  77. <prcpsignflag/>
  78. <rateprcpflag/>
  79. <prcprefseq/>
  80. <ordreqlnkno/>
  81. <testreqlnkno/>
  82. <prcplnkdd/>
  83. <prcplnkno/>
  84. <oprsrvno/>
  85. <tootfact/>
  86. <clinccmtcnts/>
  87. <prcpessninptflag/>
  88. <grupsnglflag/>
  89. <drugrateqty/>
  90. <asttestflag/>
  91. <clincstdyflag/>
  92. <prtlno/>
  93. <clincstdycd/>
  94. <optermcd/>
  95. <prcpflag/>
  96. <hscttempprcpflag/>
  97. <inclprcpcd/>
  98. <inclprcpno/>
  99. <pampkspec/>
  100. <prcppkspec/>
  101. <calcscormastspec/>
  102. <drugmastspec/>
  103. <rateprcpspec/>
  104. <matrsetprcpspec/>
  105. <suppdeptspec/>
  106. <contprcpspec/>
  107. <etclnkspec/>
  108. <srchcondcnts/>
  109. <orgprcpnm/>
  110. <chkcol/>
  111. <hsctdelivepos/>
  112. <hsctlnkno/>
  113. <etcprcpflag/>
  114. <aftcertflag/>
  115. <aftcertdrid/>
  116. <prcpvalidd/>
  117. <spynpy1/>
  118. <specdrid/>
  119. <anticncrprtlno/>
  120. <anticncrdayno/>
  121. <druglnkno/>
  122. <rehbprcpcurefreqflag/>
  123. <dietprcpgenrflag/>
  124. <irpayflag/>
  125. <irflag/>
  126. <procerdietflag/>
  127. <diagtestconttestintvlflag/>
  128. <drugindependpackflag/>
  129. <diagtestconttestbasetm/>
  130. <diagtestconttestorgtims/>
  131. <ermediscmngtresncd/>
  132. <rehbprcpenddd/>
  133. <matrallsizespecid/>
  134. <rehbprcpcurepartcd/>
  135. <lowdrugresncd/>
  136. <tfdtlcd/>
  137. <dnorreqlnkno/>
  138. <subcretno/>
  139. <exptmthdfact/>
  140. <lowdrugresnetcfact/>
  141. <diagtestconttestcdspec/>
  142. <drgacptflag/>
  143. <drprcpetc1/>
  144. <drprcpetc2/>
  145. <drprcpetc3/>
  146. <drprcpetc4/>
  147. <drprcpetc5/>
  148. <drprcpetc6/>
  149. <drprcpetc7/>
  150. <drprcpetc8/>
  151. <drprcpetc9/>
  152. <drprcpetc10/>
  153. <tempcol1/>
  154. <tempcol2/>
  155. <tempcol3/>
  156. <tempcol4/>
  157. <tempcol5/>
  158. <tempcol6/>
  159. <tempcol7/>
  160. <tempcol8/>
  161. <tempcol9/>
  162. <tempcol10/>
  163. <tempcol11/>
  164. <tempcol12/>
  165. <tempcol13/>
  166. <tempcol14/>
  167. <tempcol15/>
  168. <tempcol16/>
  169. <tempcol17/>
  170. <tempcol18/>
  171. <tempcol19/>
  172. <tempcol20/>
  173. <tempcol21/>
  174. <tempcol22/>
  175. <tempcol23/>
  176. <tempcol24/>
  177. <tempcol25/>
  178. <nullvalexistyn/>
  179. <nullcolumncd/>
  180. <anstcnfmneedyn/>
  181. <orghosinhosoutflag/>
  182. <orghosinprcpresncd/>
  183. <essnprcpyn/>
  184. <limno/>
  185. <limhistno/>
  186. <limcdno/>
  187. <inqrno/>
  188. <qestno/>
  189. </prcplist>
  190. </prcp>
  191. <form>
  192. <formcd/>
  193. <menu>
  194. <item>
  195. <name>삭제</name>
  196. <func>fDelFormCd</func>
  197. </item>
  198. <item>
  199. <name>서식호출</name>
  200. <func>fLoadForm</func>
  201. </item>
  202. </menu>
  203. </form>
  204. <prmsprcpsetinfo>
  205. <prmsprcpsetlist>
  206. <levl/>
  207. <setno/>
  208. <supsetno/>
  209. <sortno/>
  210. <setkindcd/>
  211. <setclscd/>
  212. <settrgtcd/>
  213. <setnm/>
  214. <settypecd/>
  215. <ioflag/>
  216. </prmsprcpsetlist>
  217. </prmsprcpsetinfo>
  218. <formbaseset/>
  219. <down/>
  220. </main>
  221. <init>
  222. <M0094list>
  223. <M0094>
  224. <cdid/>
  225. <cdnm/>
  226. </M0094>
  227. </M0094list>
  228. <detlvw>p</detlvw>
  229. <detlivw>p</detlivw>
  230. <omsrght>
  231. <mouserght>
  232. <label>약속처방등록</label>
  233. <func>fPrmsPrcp</func>
  234. </mouserght>
  235. <mouserght>
  236. <label/>
  237. <func/>
  238. </mouserght>
  239. <mouserght>
  240. <label>일괄입력</label>
  241. <func>fPrcpDetlCom</func>
  242. </mouserght>
  243. <mouserght>
  244. <label/>
  245. <func/>
  246. </mouserght>
  247. <mouserght>
  248. <label>삭제</label>
  249. <func>fDeleteRow</func>
  250. </mouserght>
  251. <mouserght>
  252. <label>선택제외삭제</label>
  253. <func>fDeleteElseRow</func>
  254. </mouserght>
  255. <mouserght>
  256. <label/>
  257. <func/>
  258. </mouserght>
  259. <mouserght>
  260. <label>복사</label>
  261. <func>fCopyRow</func>
  262. </mouserght>
  263. <mouserght>
  264. <label>잘라내기</label>
  265. <func>fPrcpCrop</func>
  266. </mouserght>
  267. <mouserght>
  268. <label>붙여넣기</label>
  269. <func>fPrcpPaste</func>
  270. </mouserght>
  271. <mouserght>
  272. <label/>
  273. <func/>
  274. </mouserght>
  275. <mouserght>
  276. <label>용법복사</label>
  277. <func>fMthdCopy</func>
  278. </mouserght>
  279. <mouserght>
  280. <label>용법붙여넣기</label>
  281. <func>fMthdPaste</func>
  282. </mouserght>
  283. <mouserght>
  284. <label/>
  285. <func/>
  286. </mouserght>
  287. <mouserght>
  288. <label>Pre work-up</label>
  289. <func>fPreWorkUp</func>
  290. </mouserght>
  291. <mouserght>
  292. <label/>
  293. <func/>
  294. </mouserght>
  295. <mouserght>
  296. <label>입원전검사처방</label>
  297. <func>fPreHosInPrcp</func>
  298. </mouserght>
  299. <mouserght>
  300. <label/>
  301. <func/>
  302. </mouserght>
  303. <mouserght>
  304. <label>Mix적용</label>
  305. <func>fMixNoCnt</func>
  306. </mouserght>
  307. <mouserght>
  308. <label>Mix취소</label>
  309. <func>fMixNoDel</func>
  310. </mouserght>
  311. <mouserght>
  312. <label>치식</label>
  313. <func>fDentifmla</func>
  314. </mouserght>
  315. <mouserght>
  316. <label>검사의뢰서</label>
  317. <func>fReqfrm</func>
  318. </mouserght>
  319. <mouserght>
  320. <label/>
  321. <func/>
  322. </mouserght>
  323. <mouserght>
  324. <label>약품편람</label>
  325. <func>fDrugInfo</func>
  326. </mouserght>
  327. <mouserght>
  328. <label>수가조회</label>
  329. <func>fOpenCalscorCD</func>
  330. </mouserght>
  331. <mouserght>
  332. <label>투약일수조회</label>
  333. <func>fMediDayNo</func>
  334. </mouserght>
  335. <mouserght>
  336. <label>검사실별예약현황</label>
  337. <func>fOpenExamRsrvInfo</func>
  338. </mouserght>
  339. <mouserght>
  340. <label>보험정보조회</label>
  341. <func>fOpenInsuInfo</func>
  342. </mouserght>
  343. </omsrght>
  344. <imsrght>
  345. <mouserght>
  346. <label>약속처방등록</label>
  347. <func>fPrmsPrcp</func>
  348. </mouserght>
  349. <mouserght>
  350. <label/>
  351. <func/>
  352. </mouserght>
  353. <mouserght>
  354. <label>일괄입력</label>
  355. <func>fPrcpDetlCom</func>
  356. </mouserght>
  357. <mouserght>
  358. <label/>
  359. <func/>
  360. </mouserght>
  361. <mouserght>
  362. <label>삭제</label>
  363. <func>fDeleteRow</func>
  364. </mouserght>
  365. <mouserght>
  366. <label>선택제외삭제</label>
  367. <func>fDeleteElseRow</func>
  368. </mouserght>
  369. <mouserght>
  370. <label/>
  371. <func/>
  372. </mouserght>
  373. <mouserght>
  374. <label>복사</label>
  375. <func>fCopyRow</func>
  376. </mouserght>
  377. <mouserght>
  378. <label>잘라내기</label>
  379. <func>fPrcpCrop</func>
  380. </mouserght>
  381. <mouserght>
  382. <label>붙여넣기</label>
  383. <func>fPrcpPaste</func>
  384. </mouserght>
  385. <mouserght>
  386. <label/>
  387. <func/>
  388. </mouserght>
  389. <mouserght>
  390. <label>용법복사</label>
  391. <func>fMthdCopy</func>
  392. </mouserght>
  393. <mouserght>
  394. <label>용법붙여넣기</label>
  395. <func>fMthdPaste</func>
  396. </mouserght>
  397. <mouserght>
  398. <label/>
  399. <func/>
  400. </mouserght>
  401. <mouserght>
  402. <label>Pre work-up</label>
  403. <func>fPreWorkUp</func>
  404. </mouserght>
  405. <mouserght>
  406. <label/>
  407. <func/>
  408. </mouserght>
  409. <mouserght>
  410. <label>Mix적용</label>
  411. <func>fMixNoCnt</func>
  412. </mouserght>
  413. <mouserght>
  414. <label>Mix취소</label>
  415. <func>fMixNoDel</func>
  416. </mouserght>
  417. <mouserght>
  418. <label>치식</label>
  419. <func>fDentifmla</func>
  420. </mouserght>
  421. <mouserght>
  422. <label>검사의뢰서</label>
  423. <func>fReqfrm</func>
  424. </mouserght>
  425. <mouserght>
  426. <label/>
  427. <func/>
  428. </mouserght>
  429. <mouserght>
  430. <label>약품편람</label>
  431. <func>fDrugInfo</func>
  432. </mouserght>
  433. <mouserght>
  434. <label>수가조회</label>
  435. <func>fOpenCalscorCD</func>
  436. </mouserght>
  437. <mouserght>
  438. <label>보험정보조회</label>
  439. <func>fOpenInsuInfo</func>
  440. </mouserght>
  441. </imsrght>
  442. <emsrght>
  443. <mouserght>
  444. <label>약속처방등록</label>
  445. <func>fPrmsPrcp</func>
  446. </mouserght>
  447. <mouserght>
  448. <label/>
  449. <func/>
  450. </mouserght>
  451. <mouserght>
  452. <label>일괄입력</label>
  453. <func>fPrcpDetlCom</func>
  454. </mouserght>
  455. <mouserght>
  456. <label/>
  457. <func/>
  458. </mouserght>
  459. <mouserght>
  460. <label>삭제</label>
  461. <func>fDeleteRow</func>
  462. </mouserght>
  463. <mouserght>
  464. <label>선택제외삭제</label>
  465. <func>fDeleteElseRow</func>
  466. </mouserght>
  467. <mouserght>
  468. <label/>
  469. <func/>
  470. </mouserght>
  471. <mouserght>
  472. <label>복사</label>
  473. <func>fCopyRow</func>
  474. </mouserght>
  475. <mouserght>
  476. <label>잘라내기</label>
  477. <func>fPrcpCrop</func>
  478. </mouserght>
  479. <mouserght>
  480. <label>붙여넣기</label>
  481. <func>fPrcpPaste</func>
  482. </mouserght>
  483. <mouserght>
  484. <label/>
  485. <func/>
  486. </mouserght>
  487. <mouserght>
  488. <label>용법복사</label>
  489. <func>fMthdCopy</func>
  490. </mouserght>
  491. <mouserght>
  492. <label>용법붙여넣기</label>
  493. <func>fMthdPaste</func>
  494. </mouserght>
  495. <mouserght>
  496. <label/>
  497. <func/>
  498. </mouserght>
  499. <mouserght>
  500. <label>Pre work-up</label>
  501. <func>fPreWorkUp</func>
  502. </mouserght>
  503. <mouserght>
  504. <label/>
  505. <func/>
  506. </mouserght>
  507. <mouserght>
  508. <label>Mix적용</label>
  509. <func>fMixNoCnt</func>
  510. </mouserght>
  511. <mouserght>
  512. <label>Mix취소</label>
  513. <func>fMixNoDel</func>
  514. </mouserght>
  515. <mouserght>
  516. <label>지정일</label>
  517. <func>fContPrcpDd</func>
  518. </mouserght>
  519. <mouserght>
  520. <label>치식</label>
  521. <func>fDentifmla</func>
  522. </mouserght>
  523. <mouserght>
  524. <label>검사의뢰서</label>
  525. <func>fReqfrm</func>
  526. </mouserght>
  527. <mouserght>
  528. <label>응급의료관리료</label>
  529. <func>fErMgrPay</func>
  530. </mouserght>
  531. <mouserght>
  532. <label/>
  533. <func/>
  534. </mouserght>
  535. <mouserght>
  536. <label>약품편람</label>
  537. <func>fDrugInfo</func>
  538. </mouserght>
  539. <mouserght>
  540. <label>수가조회</label>
  541. <func>fOpenCalscorCD</func>
  542. </mouserght>
  543. <mouserght>
  544. <label>보험정보조회</label>
  545. <func>fOpenInsuInfo</func>
  546. </mouserght>
  547. </emsrght>
  548. <diagmsrght>
  549. <mouserght>
  550. <label>삭제</label>
  551. <func>fDiagDeleteRow</func>
  552. </mouserght>
  553. <mouserght>
  554. <label/>
  555. <func/>
  556. </mouserght>
  557. <mouserght>
  558. <label>치식</label>
  559. <func>fDentifmla</func>
  560. </mouserght>
  561. <mouserght>
  562. <label/>
  563. <func/>
  564. </mouserght>
  565. <mouserght>
  566. <label>즐겨찾기</label>
  567. <func>fOpenEnjoySet</func>
  568. </mouserght>
  569. <mouserght>
  570. <label/>
  571. <func/>
  572. </mouserght>
  573. <mouserght>
  574. <label>즐겨찾기 추가</label>
  575. <func>fAddEnjoyPrivate</func>
  576. </mouserght>
  577. <mouserght>
  578. <label/>
  579. <func/>
  580. </mouserght>
  581. <mouserght>
  582. <label>기왕증 적용</label>
  583. <func>f</func>
  584. </mouserght>
  585. <mouserght>
  586. <label>기왕증 해제</label>
  587. <func>f</func>
  588. </mouserght>
  589. </diagmsrght>
  590. <prcpkindcd/>
  591. <prcpclscd/>
  592. <prcpstatcd/>
  593. <hosinprcpresncd/>
  594. <payflagcd/>
  595. <rehbprcpcurepartcd/>
  596. <opansflagcd/>
  597. <prcpdd/>
  598. <patinfo/>
  599. <diagdetlvw>p</diagdetlvw>
  600. <diagsrchcond1>2</diagsrchcond1>
  601. <prcpauthflag>0</prcpauthflag>
  602. <pid/>
  603. <orddept/>
  604. <inclprcpno>0</inclprcpno>
  605. <hsctlnkno>0</hsctlnkno>
  606. <prcpmixno>0</prcpmixno>
  607. <mthdcopy>
  608. <prcpclscd/>
  609. <prcptims/>
  610. <drugmthdspccd/>
  611. <drugmthdspccdnm/>
  612. </mthdcopy>
  613. <srchbtn/>
  614. <cropflag/>
  615. <restantimicyn>N</restantimicyn>
  616. <drugbatch>N</drugbatch>
  617. <prgtbooprcpyn>N</prgtbooprcpyn>
  618. <bfpayflagcd/>
  619. <erresn/>
  620. <bfprcpkindcd/>
  621. <prcpinptflag/>
  622. <setprcpyn/>
  623. <bfprcpload/>
  624. <ordrecflag/>
  625. <fstopenflag>Y</fstopenflag>
  626. <cnsttypenm/>
  627. <repltypenm/>
  628. <prmsautoflag/>
  629. <subjsubcretno/>
  630. <emrobjsaveyn/>
  631. <prcpobjsaveyn/>
  632. <chronicdiseaseyn/>
  633. <specordtypenm/>
  634. <multidayno/>
  635. <specdrinfo/>
  636. </init>
  637. <save>
  638. <saveflaginfo>
  639. <savedataflag/>
  640. <saveflag/>
  641. <prcpflag/>
  642. <inptflag/>
  643. <deptcd/>
  644. <deptnm/>
  645. <userid/>
  646. <usernm/>
  647. <signyn/>
  648. <prcpdd/>
  649. <divyn/>
  650. <pseuacptflag/>
  651. <admininfo/>
  652. </saveflaginfo>
  653. </save>
  654. <send>
  655. <cond1/>
  656. <cond2/>
  657. <cond3/>
  658. <cond4/>
  659. <cond5/>
  660. <cond9/>
  661. <cond6/>
  662. <cond7/>
  663. <cond8/>
  664. <cond9/>
  665. <cond10/>
  666. <cond11/>
  667. <cond12/>
  668. <cond13/>
  669. <cond14/>
  670. <cond15/>
  671. <cond16/>
  672. <cond17/>
  673. <cond18/>
  674. <cond19/>
  675. <cond99/>
  676. </send>
  677. <prcporg/>
  678. <prcpdel/>
  679. <prcpdc/>
  680. <prcpdrag/>
  681. <paminfo>
  682. <list>
  683. <instcd/>
  684. <insukind/>
  685. </list>
  686. </paminfo>
  687. <prcptemp/>
  688. <diagorg/>
  689. <patflag>
  690. <list>
  691. <prcpgenrflag>O</prcpgenrflag>
  692. </list>
  693. </patflag>
  694. <drugcalc>
  695. <prcpvol/>
  696. <prcpqty/>
  697. <prcptims/>
  698. <drprcpetc7/>
  699. <drprcpetc8/>
  700. </drugcalc>
  701. <tmedmthd>
  702. <tmedmthdlist>
  703. <status/>
  704. <abbrnm/>
  705. <mthdcnts/>
  706. <mthdcd/>
  707. <basecnt/>
  708. <adminpath/>
  709. <mealflag/>
  710. <drdirecyn/>
  711. </tmedmthdlist>
  712. </tmedmthd>
  713. <hidden>
  714. <prmsprcpsetdetlset>
  715. <setno/>
  716. <settypecd/>
  717. <setnm/>
  718. </prmsprcpsetdetlset>
  719. <prmsprcpsetinfo>
  720. <prmsprcpsetlist>
  721. <status/>
  722. <levl/>
  723. <setno/>
  724. <supsetno/>
  725. <sortno/>
  726. <setkindcd/>
  727. <setclscd/>
  728. <settrgtcd/>
  729. <setnm/>
  730. <settypecd/>
  731. <procflag/>
  732. <ioflag/>
  733. </prmsprcpsetlist>
  734. </prmsprcpsetinfo>
  735. <formcd/>
  736. <choinewform/>
  737. <reqfrminfo>
  738. <pid/>
  739. <patnm/>
  740. <prcpcd/>
  741. <prcpnm/>
  742. <opnm/>
  743. <spccd/>
  744. <spcnm/>
  745. <reqno/>
  746. <reqhistno/>
  747. <scrnno/>
  748. <instcd/>
  749. <tday/>
  750. <tdayyn/>
  751. <prcpstatcd/>
  752. <prcp/>
  753. </reqfrminfo>
  754. <receivedata>
  755. <orddeptcd/>
  756. <ioflag/>
  757. <pid/>
  758. <age/>
  759. <sex/>
  760. <cretno/>
  761. <orddd/>
  762. <srchdrugcd/>
  763. </receivedata>
  764. <target>
  765. <pid/>
  766. <indd/>
  767. <cretno/>
  768. <hngnm/>
  769. </target>
  770. <ocrprint>
  771. <calcscor>
  772. <pid/>
  773. <cretno/>
  774. <orddd/>
  775. <ordtype/>
  776. <calcscorcd/>
  777. <disflag>calcscor</disflag>
  778. </calcscor>
  779. </ocrprint>
  780. </hidden>
  781. <result>
  782. <prcperrlist/>
  783. <savedrprcplist/>
  784. <saveexecprcplist/>
  785. <savepamlist/>
  786. </result>
  787. <reset>
  788. <list>
  789. <prcpno/>
  790. <prcpclscd/>
  791. <prcpstatcd/>
  792. <prcpkindcd/>
  793. <prcpcd/>
  794. <prcpnm/>
  795. <prcpvol/>
  796. <volunit/>
  797. <prcpqty/>
  798. <qtyunit/>
  799. <prcptims/>
  800. <prcpdayno/>
  801. <prcpmixno/>
  802. <drugmthdspccd/>
  803. <drugmthdspccdnm/>
  804. <asttestflag/>
  805. <times/>
  806. <prtlstat/>
  807. <prcpdd/>
  808. <stepno/>
  809. <stepnm/>
  810. </list>
  811. <prcplist>
  812. <status>S</status>
  813. <prcpstatcd/>
  814. <prcpclscd/>
  815. <prcpkindcd/>
  816. <prcpcd/>
  817. <prcpnm/>
  818. <prcpvol/>
  819. <prcpvolunitnm/>
  820. <prcpqty/>
  821. <prcpqtyunitnm/>
  822. <prcptims/>
  823. <prcpdayno/>
  824. <drugmthdspccdnm/>
  825. <prcpmixno/>
  826. <payflagcd/>
  827. <prcpdelivefact/>
  828. <hosinhosoutflag/>
  829. <prcpexecdeptcd/>
  830. <prcphopedd/>
  831. <choiordflag/>
  832. <rgstdt/>
  833. <rgstridnm/>
  834. <testrsltunit/>
  835. <testrsltcnts/>
  836. <prcpgenrflag/>
  837. <prcphistcd/>
  838. <tempprcpflag/>
  839. <prcpsetcd/>
  840. <prcpvolunitflag/>
  841. <prcpqtyunitflag/>
  842. <orgprcpqty/>
  843. <drugspd/>
  844. <drugspdunitflag/>
  845. <powdflag/>
  846. <prnprcpflag/>
  847. <prepprcpflag/>
  848. <selfprcpflag/>
  849. <selfdrugflag/>
  850. <drugpackflag/>
  851. <erprcpflag/>
  852. <precureprcpflag/>
  853. <nigtprcpflag/>
  854. <portprcpflag/>
  855. <fixprcpflag/>
  856. <anamneflag/>
  857. <fastprcpflag/>
  858. <erreadflag/>
  859. <prcpdirecflag/>
  860. <tnsuseflag/>
  861. <tnsfiltflag/>
  862. <trnptbftestflag/>
  863. <offictourhealexamflag/>
  864. <stemcellflag/>
  865. <angioflagcd/>
  866. <opansflagcd/>
  867. <ansttm/>
  868. <mealcalrcnts/>
  869. <mealprotcnts/>
  870. <mealupdtflag/>
  871. <hosinprcpresncd/>
  872. <etcprcpresncd/>
  873. <drugmthdspccd/>
  874. <issdeptcd/>
  875. <prcpauthflag/>
  876. <prcpinptflag/>
  877. <prcpsignflag/>
  878. <rateprcpflag/>
  879. <prcprefseq/>
  880. <ordreqlnkno/>
  881. <testreqlnkno/>
  882. <prcplnkdd/>
  883. <prcplnkno/>
  884. <oprsrvno/>
  885. <tootfact/>
  886. <clinccmtcnts/>
  887. <prcpessninptflag/>
  888. <grupsnglflag/>
  889. <drugrateqty/>
  890. <asttestflag/>
  891. <clincstdyflag/>
  892. <prtlno/>
  893. <clincstdycd/>
  894. <optermcd/>
  895. <prcpflag/>
  896. <hscttempprcpflag/>
  897. <inclprcpcd/>
  898. <inclprcpno/>
  899. <pampkspec/>
  900. <prcppkspec/>
  901. <calcscormastspec/>
  902. <drugmastspec/>
  903. <rateprcpspec/>
  904. <matrsetprcpspec/>
  905. <suppdeptspec/>
  906. <contprcpspec/>
  907. <etclnkspec/>
  908. <srchcondcnts/>
  909. <orgprcpnm/>
  910. <chkcol/>
  911. <hsctdelivepos/>
  912. <hsctlnkno/>
  913. <etcprcpflag/>
  914. <aftcertflag/>
  915. <aftcertdrid/>
  916. <prcpvalidd/>
  917. <spynpy1/>
  918. <specdrid/>
  919. <anticncrprtlno/>
  920. <anticncrdayno/>
  921. <druglnkno/>
  922. <rehbprcpcurefreqflag/>
  923. <dietprcpgenrflag/>
  924. <irpayflag/>
  925. <irflag/>
  926. <procerdietflag/>
  927. <diagtestconttestintvlflag/>
  928. <drugindependpackflag/>
  929. <diagtestconttestbasetm/>
  930. <diagtestconttestorgtims/>
  931. <ermediscmngtresncd/>
  932. <rehbprcpenddd/>
  933. <matrallsizespecid/>
  934. <rehbprcpcurepartcd/>
  935. <lowdrugresncd/>
  936. <tfdtlcd/>
  937. <dnorreqlnkno/>
  938. <subcretno/>
  939. <exptmthdfact/>
  940. <lowdrugresnetcfact/>
  941. <diagtestconttestcdspec/>
  942. <drgacptflag/>
  943. <drprcpetc1/>
  944. <drprcpetc2/>
  945. <drprcpetc3/>
  946. <drprcpetc4/>
  947. <drprcpetc5/>
  948. <drprcpetc6/>
  949. <drprcpetc7/>
  950. <drprcpetc8/>
  951. <drprcpetc9/>
  952. <drprcpetc10/>
  953. <tempcol1/>
  954. <tempcol2/>
  955. <tempcol3/>
  956. <tempcol4/>
  957. <tempcol5/>
  958. <tempcol6/>
  959. <tempcol7/>
  960. <tempcol8/>
  961. <tempcol9/>
  962. <tempcol10/>
  963. <tempcol11/>
  964. <tempcol12/>
  965. <tempcol13/>
  966. <tempcol14/>
  967. <tempcol15/>
  968. <tempcol16/>
  969. <tempcol17/>
  970. <tempcol18/>
  971. <tempcol19/>
  972. <tempcol20/>
  973. <tempcol21/>
  974. <tempcol22/>
  975. <tempcol23/>
  976. <tempcol24/>
  977. <tempcol25/>
  978. <nullvalexistyn/>
  979. <nullcolumncd/>
  980. <anstcnfmneedyn/>
  981. <orghosinhosoutflag/>
  982. <orghosinprcpresncd/>
  983. <essnprcpyn/>
  984. <limno/>
  985. <limhistno/>
  986. <limcdno/>
  987. <inqrno/>
  988. <qestno/>
  989. </prcplist>
  990. <anstprcplist>
  991. <prcpcd/>
  992. <prcpvol/>
  993. <drugmthdcd/>
  994. <mthdcnts/>
  995. <prcpdd/>
  996. <insukind/>
  997. <temp/>
  998. </anstprcplist>
  999. </reset>
  1000. <directprcp>
  1001. <prcplist>
  1002. <status/>
  1003. <prcpstatcd>000</prcpstatcd>
  1004. <prcpclscd>09</prcpclscd>
  1005. <prcpkindcd/>
  1006. <prcpcd>
  1007. <![CDATA[000000000033]]>
  1008. </prcpcd>
  1009. <prcpnm>
  1010. <![CDATA[전달사항]]>
  1011. </prcpnm>
  1012. <prcpvol>1.0</prcpvol>
  1013. <prcpvolunitnm>-</prcpvolunitnm>
  1014. <prcpqty>1.0</prcpqty>
  1015. <prcpqtyunitnm>-</prcpqtyunitnm>
  1016. <prcptims>1</prcptims>
  1017. <prcpdayno>1</prcpdayno>
  1018. <drugmthdspccdnm>-</drugmthdspccdnm>
  1019. <prcpmixno>-</prcpmixno>
  1020. <payflagcd>-</payflagcd>
  1021. <prcpdelivefact/>
  1022. <hosinhosoutflag>-</hosinhosoutflag>
  1023. <prcpexecdeptcd>-</prcpexecdeptcd>
  1024. <prcphopedd/>
  1025. <choiordflag/>
  1026. <rgstdt/>
  1027. <rgstridnm/>
  1028. <testrsltunit>-</testrsltunit>
  1029. <testrsltcnts>-</testrsltcnts>
  1030. <prcpgenrflag/>
  1031. <prcphistcd>O</prcphistcd>
  1032. <tempprcpflag>N</tempprcpflag>
  1033. <prcpsetcd>-</prcpsetcd>
  1034. <prcpvolunitflag>-</prcpvolunitflag>
  1035. <prcpqtyunitflag>-</prcpqtyunitflag>
  1036. <orgprcpqty/>
  1037. <drugspd>0</drugspd>
  1038. <drugspdunitflag>-</drugspdunitflag>
  1039. <powdflag>N</powdflag>
  1040. <prnprcpflag>N</prnprcpflag>
  1041. <prepprcpflag>N</prepprcpflag>
  1042. <selfprcpflag>N</selfprcpflag>
  1043. <selfdrugflag>N</selfdrugflag>
  1044. <drugpackflag>N</drugpackflag>
  1045. <erprcpflag>N</erprcpflag>
  1046. <precureprcpflag>N</precureprcpflag>
  1047. <nigtprcpflag>N</nigtprcpflag>
  1048. <portprcpflag>N</portprcpflag>
  1049. <fixprcpflag>N</fixprcpflag>
  1050. <anamneflag>N</anamneflag>
  1051. <fastprcpflag>N</fastprcpflag>
  1052. <erreadflag>N</erreadflag>
  1053. <prcpdirecflag>-</prcpdirecflag>
  1054. <tnsuseflag>0</tnsuseflag>
  1055. <tnsfiltflag>N</tnsfiltflag>
  1056. <trnptbftestflag>N</trnptbftestflag>
  1057. <offictourhealexamflag>N</offictourhealexamflag>
  1058. <stemcellflag>00NNN</stemcellflag>
  1059. <angioflagcd>-</angioflagcd>
  1060. <opansflagcd>-</opansflagcd>
  1061. <ansttm>0000</ansttm>
  1062. <mealcalrcnts>0</mealcalrcnts>
  1063. <mealprotcnts>0</mealprotcnts>
  1064. <mealupdtflag>0</mealupdtflag>
  1065. <hosinprcpresncd>00</hosinprcpresncd>
  1066. <etcprcpresncd>-</etcprcpresncd>
  1067. <drugmthdspccd>-</drugmthdspccd>
  1068. <issdeptcd/>
  1069. <prcpauthflag/>
  1070. <prcpinptflag/>
  1071. <prcpsignflag/>
  1072. <rateprcpflag>N</rateprcpflag>
  1073. <prcprefseq>0</prcprefseq>
  1074. <ordreqlnkno>0</ordreqlnkno>
  1075. <testreqlnkno>0</testreqlnkno>
  1076. <prcplnkdd>00000000</prcplnkdd>
  1077. <prcplnkno>0</prcplnkno>
  1078. <oprsrvno/>
  1079. <tootfact>-</tootfact>
  1080. <clinccmtcnts>-</clinccmtcnts>
  1081. <prcpessninptflag>-</prcpessninptflag>
  1082. <grupsnglflag>S</grupsnglflag>
  1083. <drugrateqty>-</drugrateqty>
  1084. <asttestflag>N</asttestflag>
  1085. <clincstdyflag/>
  1086. <prtlno>0</prtlno>
  1087. <clincstdycd>-</clincstdycd>
  1088. <optermcd>-</optermcd>
  1089. <prcpflag>2</prcpflag>
  1090. <hscttempprcpflag>N</hscttempprcpflag>
  1091. <inclprcpcd>-</inclprcpcd>
  1092. <inclprcpno>0</inclprcpno>
  1093. <pampkspec/>
  1094. <prcppkspec/>
  1095. <calcscormastspec>
  1096. <![CDATA[-|-|-|-]]>
  1097. </calcscormastspec>
  1098. <drugmastspec>Y</drugmastspec>
  1099. <rateprcpspec>-</rateprcpspec>
  1100. <matrsetprcpspec>-</matrsetprcpspec>
  1101. <suppdeptspec>-</suppdeptspec>
  1102. <contprcpspec>-</contprcpspec>
  1103. <etclnkspec>-</etclnkspec>
  1104. <srchcondcnts>0</srchcondcnts>
  1105. <orgprcpnm>
  1106. <![CDATA[전달사항]]>
  1107. </orgprcpnm>
  1108. <chkcol/>
  1109. <hsctdelivepos>0</hsctdelivepos>
  1110. <hsctlnkno>0</hsctlnkno>
  1111. <etcprcpflag>-</etcprcpflag>
  1112. <aftcertflag/>
  1113. <aftcertdrid/>
  1114. <prcpvalidd/>
  1115. <spynpy1>0</spynpy1>
  1116. <specdrid/>
  1117. <anticncrprtlno/>
  1118. <anticncrdayno/>
  1119. <druglnkno/>
  1120. <rehbprcpcurefreqflag>0</rehbprcpcurefreqflag>
  1121. <dietprcpgenrflag>-</dietprcpgenrflag>
  1122. <irpayflag>N</irpayflag>
  1123. <irflag>N</irflag>
  1124. <procerdietflag>N</procerdietflag>
  1125. <diagtestconttestintvlflag>N</diagtestconttestintvlflag>
  1126. <drugindependpackflag>N</drugindependpackflag>
  1127. <diagtestconttestbasetm>0</diagtestconttestbasetm>
  1128. <diagtestconttestorgtims>0</diagtestconttestorgtims>
  1129. <ermediscmngtresncd>-</ermediscmngtresncd>
  1130. <rehbprcpenddd>-</rehbprcpenddd>
  1131. <matrallsizespecid>-</matrallsizespecid>
  1132. <rehbprcpcurepartcd>-</rehbprcpcurepartcd>
  1133. <lowdrugresncd>N</lowdrugresncd>
  1134. <tfdtlcd>-</tfdtlcd>
  1135. <dnorreqlnkno>0</dnorreqlnkno>
  1136. <subcretno>0</subcretno>
  1137. <exptmthdfact>-</exptmthdfact>
  1138. <lowdrugresnetcfact>-</lowdrugresnetcfact>
  1139. <diagtestconttestcdspec>-</diagtestconttestcdspec>
  1140. <drgacptflag>-</drgacptflag>
  1141. <drprcpetc1/>
  1142. <drprcpetc2/>
  1143. <drprcpetc3/>
  1144. <drprcpetc4/>
  1145. <drprcpetc5/>
  1146. <drprcpetc6/>
  1147. <drprcpetc7>1</drprcpetc7>
  1148. <drprcpetc8>1</drprcpetc8>
  1149. <drprcpetc9/>
  1150. <drprcpetc10/>
  1151. <tempcol1/>
  1152. <tempcol2>07|00|00</tempcol2>
  1153. <tempcol3>
  1154. <![CDATA[전달사항]]>
  1155. </tempcol3>
  1156. <tempcol4/>
  1157. <tempcol5/>
  1158. <tempcol6/>
  1159. <tempcol7/>
  1160. <tempcol8/>
  1161. <tempcol9/>
  1162. <tempcol10/>
  1163. <tempcol11/>
  1164. <tempcol12/>
  1165. <tempcol13/>
  1166. <tempcol14/>
  1167. <tempcol15/>
  1168. <tempcol16>A</tempcol16>
  1169. <tempcol17/>
  1170. <tempcol18/>
  1171. <tempcol19/>
  1172. <tempcol20/>
  1173. <tempcol21/>
  1174. <tempcol22/>
  1175. <tempcol23/>
  1176. <tempcol24/>
  1177. <tempcol25/>
  1178. <nullvalexistyn/>
  1179. <nullcolumncd/>
  1180. <anstcnfmneedyn/>
  1181. <orghosinhosoutflag/>
  1182. <orghosinprcpresncd/>
  1183. <essnprcpyn/>
  1184. <limno/>
  1185. <limhistno/>
  1186. <limcdno/>
  1187. <inqrno/>
  1188. <qestno/>
  1189. </prcplist>
  1190. </directprcp>
  1191. <prcplock>
  1192. <prcplocklist>
  1193. <flag/>
  1194. <msg/>
  1195. </prcplocklist>
  1196. </prcplock>
  1197. <prcplockcond>
  1198. <ioflag/>
  1199. <pid/>
  1200. <orddd/>
  1201. <cretno/>
  1202. <acptseqno/>
  1203. <userid/>
  1204. <usernm/>
  1205. </prcplockcond>
  1206. <usge>prms</usge>
  1207. <operation/>
  1208. <!--<temp/>-->
  1209. <initsrch/>
  1210. <initsrchprcp/>
  1211. <initsrchcond>
  1212. <ioflag/>
  1213. <pid/>
  1214. <orddd/>
  1215. <cretno/>
  1216. <instcd/>
  1217. <prcpdd/>
  1218. <deptcd/>
  1219. <userid/>
  1220. <scrnkindcd/>
  1221. <scrnid/>
  1222. <suppkind/>
  1223. <orddeptcd/>
  1224. <prcpkind/>
  1225. </initsrchcond>
  1226. <prcpetcinfo>
  1227. <saveestmspclcs/>
  1228. <saveserdiagappfrm/>
  1229. <savelglydis/>
  1230. </prcpetcinfo>
  1231. <issdept/>
  1232. <antibiotics/>
  1233. <anstprcp>
  1234. </anstprcp>
  1235. <orddept/>
  1236. <inclprcp/>
  1237. <srchinclprcp/>
  1238. <followup/>
  1239. <anst>
  1240. <paramyn/>
  1241. <opansflagcd/>
  1242. <ansttm/>
  1243. <anstfromdt/>
  1244. <ansttodt/>
  1245. </anst>
  1246. <tmp>
  1247. <pid/>
  1248. <useflag/>
  1249. </tmp>
  1250. <savertninfo/>
  1251. <temp>
  1252. <cpcopyset/>
  1253. <trvprmsprcpsetlist/>
  1254. <trvdeptindxcdlist/>
  1255. <copy>
  1256. <setno/>
  1257. <settypecd/>
  1258. <setkindcd/>
  1259. <setclscd/>
  1260. <settrgtcd/>
  1261. <setnm/>
  1262. <supsetno/>
  1263. <trgtsettypecd/>
  1264. <trgtsetkindcd/>
  1265. <trgtsettrgtcd/>
  1266. <trgtsetclscd/>
  1267. <trgtioflag/>
  1268. <ioflag/>
  1269. </copy>
  1270. </temp>
  1271. <cp>S</cp>
  1272. <prcpcodeinfo>
  1273. <prcpcodelist>
  1274. <prcpcd/>
  1275. <prcpclscd/>
  1276. <choiordflag/>
  1277. <todayspcdrid/>
  1278. <allspcdrid/>
  1279. <spcspifyn/>
  1280. <speccls/>
  1281. </prcpcodelist>
  1282. </prcpcodeinfo>
  1283. <spcdrinfo>
  1284. <info>
  1285. <todayspcdrid/>
  1286. <allspcdrid/>
  1287. </info>
  1288. </spcdrinfo>
  1289. </root>
  1290. </instance>
  1291. <bind id="bind1" ref="/root/main/prcp/prcplist/prcpvol" readonly="../prcpclscd != &quot;A2&quot; and ../prcpclscd != &quot;A4&quot; and ../prcpclscd != &quot;A6&quot;"/>
  1292. <bind id="bind2" ref="/root/main/prcp/prcplist/prcpnm" readonly="../status != &quot;S&quot; and ../prcpflag !=&quot;2&quot; and ../drugmastspec !=&quot;Y&quot; )"/>
  1293. <bind id="bind3" ref="/root/main/diaginfo/diagcdlist/icd10cd" readonly="../status != &quot;S&quot;"/>
  1294. <bind id="bind4" ref="/root/main/diaginfo/diagcdlist/diagengnm" readonly="../status != &quot;S&quot;"/>
  1295. <bind id="bind5" ref="/root/main/prcp/prcplist/prcpkindcd" readonly="../status = &quot;S&quot;"/>
  1296. <bind id="bind6" ref="/root/main/prcp/prcplist/prcpqty" readonly="../status = &quot;S&quot;"/>
  1297. <bind id="bind7" ref="/root/main/prcp/prcplist/prcptims" readonly="../status = &quot;S&quot;"/>
  1298. <bind id="bind8" ref="/root/main/prcp/prcplist/prcpdayno" readonly="../status = &quot;S&quot;"/>
  1299. <bind id="bind9" ref="/root/main/prcp/prcplist/prcpmixno" readonly="../status = &quot;S&quot;"/>
  1300. <bind id="bind10" ref="/root/main/prcp/prcplist/payflagcd" readonly="../status = &quot;S&quot;"/>
  1301. <bind id="bind11" ref="/root/main/prcp/prcplist/prcpexecdeptcd" readonly="../status = &quot;S&quot;"/>
  1302. <bind id="bind12" ref="/root/main/prcp/prcplist/prcphopedd" readonly="../status = &quot;S&quot;"/>
  1303. <bind id="bind13" ref="/root/main/prcp/prcplist/choiordflag" readonly="../status = &quot;S&quot;"/>
  1304. <bind id="bind14" ref="/root/main/prcp/prcplist/prcpcd" readonly="../status != &quot;S&quot; and ../prcpflag !=&quot;2&quot; and ../drugmastspec !=&quot;Y&quot; )"/>
  1305. <bind id="bind17" ref="/root/main/prcp/prcplist/drprcpetc7" readonly="( ../prcpclscd != &quot;A2&quot; and ../prcpclscd != &quot;A4&quot; and ../prcpclscd != &quot;A6&quot; ) or ( ../inclprcpno &gt; 0 ) or ../status = &quot;D&quot;"/>
  1306. <bind id="bind18" ref="/root/main/prcp/prcplist/choiordflag" readonly="../tempcol24 != &quot;Y&quot; or ../status = &quot;S&quot;"/>
  1307. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  1308. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  1309. <submission id="TRMQP01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/form/forminfo"/>
  1310. <submission id="TRMQP01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcp"/>
  1311. <submission id="TRMQP01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/down"/>
  1312. <submission id="TRMQP01404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/essprmsdata" resultref="/root/main/essprcp"/>
  1313. <submission id="TXMQP01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/form/forminfo"/>
  1314. <submission id="TXMQP01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  1315. <submission id="TXMQP01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcp"/>
  1316. <submission id="TXMQP01404" mediatype="application/x-www-form-urlencoded" method="post"/>
  1317. <submission id="TRMMB00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
  1318. <submission id="TRMMB00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcp"/>
  1319. <submission id="TRMMB04102" mediatype="application/x-www-form-urlencoded" method="post"/>
  1320. <submission id="TRMMO00143" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpcodeinfo"/>
  1321. <submission id="TRMMO00144" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/spcdrinfo"/>
  1322. <submission id="TRMMB00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  1323. <submission id="TXMMB00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcp"/>
  1324. <submission id="TXMMB00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/prmsprcpsetinfo"/>
  1325. <submission id="TRMMO00100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
  1326. <submission id="TRMMR00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqinitinfo" resultref="/root/main/formbaseset"/>
  1327. <submission id="TRMMO00116" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/orddept"/>
  1328. <submission id="TRMMO00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrch"/>
  1329. <submission id="TRMMO00206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrchprcp"/>
  1330. <submission id="TRMMO00207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/addsetprcp"/>
  1331. <!--<submission id="TRMMO02201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcpclscdlist"/>-->
  1332. <submission id="TRMMO00113" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrch"/>
  1333. <submission id="TRMMO00118" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/allsizegrupprcp"/>
  1334. <submission id="TRMMO01901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmedmthd"/>
  1335. <submission id="TXMMO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  1336. <submission id="TRMMB00602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/etcprmsprcpsetdetlinfo"/>
  1337. <submission id="TRMMO01609" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  1338. <submission id="submission1" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpcodeinfo"/>
  1339. <submission id="submission2" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/spcdrinfo"/>
  1340. <!-- 처방 복사 로직변경 xml 2013.07.05 by 엄영만-->
  1341. <submission id="TRMMO00150" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpcopy"/>
  1342. <!--<submission id="TRMMO00151" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>-->
  1343. <submission id="TXMMO00120" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/monitoringlog/reqdata" resultref="/root/monitoringlog"/>
  1344. <script type="javascript" ev:event="xforms-model-construct-done">
  1345. <![CDATA[
  1346. var colHidnValue = grdBaseColHidn("D");
  1347. grdBaseColHidn(colHidnValue, "grd_prcplist", 40, "prcpvol", "prcpqty", "drprcpetc7", "drprcpetc8");
  1348. var patPlanYN = opener.javascript.getParameter("patplanyn");
  1349. if( patPlanYN == "Y" ){
  1350. // 창 사이즈를 바꾼다
  1351. window.height = 700;
  1352. btn_prcpsrch.dispatch("DOMActivate");
  1353. btn_prcpsrch.selected = true;
  1354. btn_prcpsrch.attribute("class") = "btn_sw";
  1355. btn_prcpsrch.attribute("top") = 21;
  1356. btn_prmsprcp.attribute("class") = "btn_sw";
  1357. btn_prmsprcp.attribute("top") = 21;
  1358. cmb_prcpkind.attribute("left") = 135;
  1359. cmb_prcpkind.attribute("top") = 21;
  1360. cmb_issdept.attribute("left") = 243;
  1361. cmb_issdept.attribute("top") = 21;
  1362. btn_undo.attribute("top") = 21;
  1363. btn_undo.attribute("left") = 343;
  1364. line8.visible = true;
  1365. line8.attribute("x2") = 1192;
  1366. cap_srchprcp.visible = true;
  1367. btn_addprcp.visible = true;
  1368. btn_close.visible = true;
  1369. grd_prcplist.attribute("left") = 385;
  1370. grd_prcplist.attribute("width") = 805;
  1371. grd_prcplist.attribute("height") = 603;
  1372. cap_formcd.visible = false;
  1373. btn_formsrch.visible = false;
  1374. //btn_consultsrch.visible = false;
  1375. btn_sizecntl.visible = false;
  1376. btn_excel.visible = false;
  1377. model.setValue ( "/root/usge", "prcp");
  1378. }
  1379. //생성기, 처방검색(M-GPS환자계획표에서 처방 추가 시 팝업)에서 본화면 띄울경우, 구조가 main>child>child 임.
  1380. ioFlagCd = opener.opener.model.getValue("/root/main/masterinfo/info/ioflagcd");
  1381. var steplist = opener.model.getValue("/root/main/temp/selectedstep/csvlist");
  1382. var times = steplist.split("▦")[4];
  1383. model.setValue("/root/patflag/list/prcpgenrflag", ioFlagCd);
  1384. model.setValue("/root/prcplockcond/ioflag", ioFlagCd);
  1385. model.setValue("/root/initsrchcond/ioflag", ioFlagCd);
  1386. if( times == "0" || ioFlagCd == "O" ){ //D0 step이거나 외래스텝이면 colHidden
  1387. //외래일 경우, 처방종류 hidden
  1388. grd_prcplist.colhidden(3) = true;
  1389. model.recalculate();
  1390. }
  1391. //model.setValue ( "/root/cp", "Y");
  1392. model.setValue ( "/root/main/prcp/prcplist/status", "S");
  1393. grd_prcplist.refresh();
  1394. grd_prcplist.backcoloralternate = "transparent";
  1395. //fBaseCdInit() 에 공통코드 array 인자 값 추가
  1396. fPrcpExecDeptSrch("all");
  1397. zbcfGetCodeListSubmit(new Array("M0003", "M0005", "M0011", "P0034", "M0029", "M0094" ),
  1398. new Array("/root/init/prcpkindcd","/root/init/prcpclscd","/root/init/prcpstatcd","/root/init/hosinprcpresncd","/root/init/payflagcd", "/root/init/M0094list"));
  1399. model.setValue ( "/root/init/prcpdd" , getCurrentDate());
  1400. zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "W", "/root/issdept", "depthngnm");
  1401. mmbfGetUserComboList("/root/send/reqdata", "/root/init/specdrinfo" , getUserInfo("dutplcecd"), "0330", "", "M", "", "", "", "Y"); // 선택진료의사 리스트를 조회한다.
  1402. fInitSrch(); //처방화면에서 초기 검색 값을 가져옴(paminfo, 중증환자 체크)
  1403. fCpInitializeConDone();
  1404. if( patPlanYN != "Y" ){
  1405. //서식 즐겨찾기 리스트를 조회한다
  1406. submit("TRMMR00103");
  1407. model.setValue("/root/hidden/choinewform", "-");
  1408. }
  1409. ]]>
  1410. </script>
  1411. <script type="javascript" ev:event="xforms-ready">
  1412. <![CDATA[
  1413. //fScrnInitialize();
  1414. //if(opener.window.javascript.OutLinesOpenerKind == "Generator"){
  1415. //fInitData();
  1416. //처방화면에서 약속처방 등록시는 보험유형과 급비기준이 관련있으므로 [건강보험,의료급여1종,의료급여2종] 환자에서만 약속처방 등록이 가능하므로, 건강보험으로 default setting 한다
  1417. if( instance1.selectSingleNode("/root/paminfo/list") == null ){
  1418. model.makeNode("/root/paminfo/list/insukind");
  1419. model.makeNode("/root/paminfo/list/instcd");
  1420. }
  1421. model.setValue("/root/paminfo/list/insukind", "11");
  1422. model.setValue("/root/paminfo/list/instcd", getUserInfo("dutplceinstcd"));
  1423. model.setValue ( "/root/init/prcpdd" , getCurrentDate());
  1424. //alert(model.getValue("/root/init/prcpkindcd/M0003/cdnm"));
  1425. var patPlanYN = opener.javascript.getParameter("patplanyn");
  1426. if( patPlanYN == "Y" ){
  1427. if( !isNull(model.getValue("/root/reset/list/prcpdd")) ){
  1428. model.setValue ( "/root/init/prcpdd" , model.getValue("/root/reset/list/prcpdd"));
  1429. model.setValue ( "/root/init/prcpkindcd" , "10"); //처방종류 = 정규
  1430. }else{
  1431. model.setValue ( "/root/init/prcpdd" , getCurrentDate());
  1432. model.setValue ( "/root/init/prcpkindcd" , "00"); //처방종류 = Admission
  1433. }
  1434. }
  1435. model.setValue ( "/root/issdept", model.getValue ( "/root/paminfo/list/wardcd" ));
  1436. model.refresh();
  1437. //}
  1438. ]]>
  1439. </script>
  1440. </model>
  1441. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  1442. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  1443. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  1444. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  1445. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  1446. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  1447. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  1448. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO00100.js"/>
  1449. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMB00200.js"/>
  1450. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMB00600.js"/>
  1451. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMB00800.js"/>
  1452. <script type="javascript" src="../../../emr/medirecweb/js/MMR00100.js"/>
  1453. <script type="javascript" src="../../../emr/commonweb/js/EMRCommon.js"/>
  1454. <script type="javascript">
  1455. <![CDATA[
  1456. var ref = "/root/main/prcp/prcplist";
  1457. var formRef = "/root/main/form/forminfo/formlist";
  1458. var stepNo;
  1459. var setKind;
  1460. var setNO;
  1461. var setType;
  1462. var setDept;
  1463. var stepNoArray = new Array();
  1464. var selectedCtrl = null;
  1465. var callfCreateControlYN = "N"; //아웃라인 뷰로 화면 전환할 때, 컨트롤 재생성 할지 여부
  1466. var prevSelectedStep = "";
  1467. var ioFlagCd = "";
  1468. var authChkYN = "N"; //권한 체크 최초 1회만 함..
  1469. //var openerKind = "";
  1470. //## CP/CPG 구분 (01:CP, 02:CPG) cpgType -> cpgFlagCd
  1471. var cpgFlagCd = ""; //W or G
  1472. var cpgNo = "";
  1473. var cpgHistSeq = "";
  1474. var ivwPrcpUseFlag = "";
  1475. /**
  1476. * @group :
  1477. * @ver : 2007.07
  1478. * @by : 전지은
  1479. * @---------------------------------------------------
  1480. * @type : function
  1481. * @access : public
  1482. * @desc : opener로 부터 받은 데이터를 셋팅하고, step 탭버튼을 생성한다,
  1483. * @param :
  1484. * @return :
  1485. * @---------------------------------------------------
  1486. */
  1487. function fInitData(){
  1488. //## CP/CPG 구분 (01:CP, 02:CPG)
  1489. //cpgType = opener.opener.model.getValue("/root/main/masterinfo/info/cpgflagcd");
  1490. cpgFlagCd = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd"); //W or G
  1491. cpgNo = opener.model.getValue("/root/main/outlineinfo/info/cpgno");
  1492. cpgHistSeq = opener.model.getValue("/root/main/outlineinfo/info/cpghistseq");
  1493. if (cpgFlagCd=="W" || cpgFlagCd=="01") {
  1494. //## CPG 일 경우, 필수 처방 여부 값 숨기기
  1495. grd_prcplist.colhidden(grd_prcplist.colRef("essnprcpyn")) = true;
  1496. //선택필수 버튼 숨기기
  1497. btn_essprcp.visible = false;
  1498. //처방 그리드에 선택필수 메뉴 없앰
  1499. }else{
  1500. grd_prcplist.colhidden(grd_prcplist.colRef("essnprcpyn")) = false;
  1501. btn_essprcp.visible = true;
  1502. //처방 그리드에 선택필수 메뉴 추가
  1503. model.makeNode("/root/temp/cpgpopupmenu/mouserght");
  1504. model.makeValue("/root/temp/cpgpopupmenu/mouserght/label", "선택필수 셋 등록");
  1505. model.makeValue("/root/temp/cpgpopupmenu/mouserght/func", "fEssPrmsPrcp");
  1506. copyNodeListType( "/root/init/omsrght", "/root/temp/cpgpopupmenu/mouserght", "before", model, model );
  1507. copyNodeListType( "/root/init/emsrght", "/root/temp/cpgpopupmenu/mouserght", "before", model, model );
  1508. copyNodeListType( "/root/init/imsrght", "/root/temp/cpgpopupmenu/mouserght", "before", model, model );
  1509. }
  1510. //iviewer에서 작업중이나, opener의 focus가 남아있으므로 "Enter event" 시 opener의 이벤트가 발생함 -> 오프너의 의미없는 컨트롤로 focus를 바꾼다
  1511. //opener.opener.model.setfocus("ipt_tmp"); //focus 설정변경
  1512. model.setfocus("grd_prcplist");
  1513. stepNo = opener.model.getValue("/root/main/temp/selectedstep/stepno");
  1514. if( isNull(stepNo) ){
  1515. stepNo = "1";
  1516. }
  1517. setKind = opener.model.getValue("/root/main/temp/selectedstep/stepflagcd");
  1518. setDept = opener.model.getValue("/root/main/outlineinfo/info/cpgorddeptcd");
  1519. setNO = opener.model.getValue("/root/main/steplist/info["+stepNo+"]/setno");
  1520. setType = opener.model.getValue("/root/main/steplist/info["+stepNo+"]/settypecd");
  1521. if( isNull(setType) ) setType = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  1522. model.setValue ("/root/hidden/prmsprcpsetdetlset/setnm", stepNo);
  1523. model.setValue ("/root/hidden/prmsprcpsetdetlset/settypecd", setType);
  1524. model.setValue ("/root/hidden/prmsprcpsetdetlset/setno", setNO);
  1525. var grpHeight;
  1526. var steplist = opener.model.getValue("/root/main/temp/selectedstep/csvlist");
  1527. var lnght = steplist.split("▩").length;
  1528. var sumStrLength = 0;
  1529. grp_contents.removeChild("btn_group");
  1530. var lastCntlLeft = 0;
  1531. var lastCntlWidth = 0;
  1532. var btn_group = grp_contents.createChild("xforms:group", "id:btn_group; left:205px; top:24px; width:847px; height:23px;");
  1533. for(var i=1; i<lnght-1; i++){
  1534. var rowdata = steplist.split("▩")[i];
  1535. var no = rowdata.split("▦")[0];
  1536. var flag = rowdata.split("▦")[1];
  1537. var set = rowdata.split("▦")[9];
  1538. var nm = rowdata.split("▦")[12];
  1539. var times = rowdata.split("▦")[4];
  1540. var nmLength = 0;
  1541. var btn_txt = flag + no;
  1542. var settype = opener.model.getValue("/root/main/steplist/info[stepno='"+no+"']/settypecd");
  1543. if( getStringLength(nm) <= 2 ){
  1544. //var strLength = Math.round( 2 * 17 );
  1545. var strLength = 2 * 17;
  1546. }else{
  1547. //var strLength = Math.round( (getStringLength(nm)/2) * 17 )+10;
  1548. var strLength = (Math.floor( getStringLength(nm) ) - 1 ) * 17;
  1549. }
  1550. var defaultLength = 0;
  1551. if( getStringLength(nm) == 0 ){
  1552. nm = btn_txt;
  1553. var maxNm = flag + (lnght-2);
  1554. //strLength = getStringLength(maxNm) * 17;
  1555. var strLength = (Math.floor( maxNm ) - 1 ) * 17;
  1556. }
  1557. var ctrlID = "xforms:button" + no; // i -> no
  1558. //left 위치는 stepno 순이 아닌, swimlineno, refseq 순이어야 함
  1559. sumStrLength = 0;
  1560. var sortSeq = opener.instance1.selectSingleNode("/root/main/sortedsteplist/info[stepno = '"+ no +"']/orgstepno");
  1561. for(var k=1; k<lnght-1; k++){
  1562. if( k < parseInt(sortSeq.text) ){
  1563. var sortNm = opener.instance1.selectSingleNode("/root/main/sortedsteplist/info[orgstepno = '"+ k +"']/stepnm");
  1564. if( sortNm != null ){
  1565. if( getStringLength(sortNm.text) == 0 ){
  1566. var stepflagcdNode = opener.instance1.selectSingleNode("/root/main/sortedsteplist/info[orgstepno = '"+ k +"']/stepflagcd");
  1567. var stepflagcdTxt = stepflagcdNode.text + (lnght-2);
  1568. sumStrLength = sumStrLength + (Math.floor(getStringLength(stepflagcdTxt)) - 1 ) * 17;
  1569. }else{
  1570. if( getStringLength(sortNm.text) <= 2 ){
  1571. sumStrLength = sumStrLength + Math.floor( 2 * 17 );
  1572. }else{
  1573. sumStrLength = sumStrLength + (Math.floor( getStringLength(sortNm.text)) - 1) * 17;
  1574. }
  1575. }
  1576. }
  1577. }
  1578. }
  1579. ctrl = btn_group.createChild("xforms:button", "id:"+ ctrlID + "; class:btn_sw; group:tab; left:" + sumStrLength + "px; top:" + 1 + "px; width:" + strLength + "px; height:" + 22 + "px;");
  1580. //스텝명컨트롤을 담은 그룹컨트롤의 width 를 벗어나는지 비교하기 위해, 가장 뒤에 있는 컨트롤의 lwft+width 를 계산해둔다 (20080821 JJE)
  1581. if(lastCntlLeft < sumStrLength){
  1582. lastCntlLeft = sumStrLength;
  1583. lastCntlWidth = strLength;
  1584. }
  1585. //sumStrLength = sumStrLength + strLength;
  1586. ctrl.attribute("text") = nm;
  1587. //탭 버튼을 클릭할 경우, 해당 스텝에 저장된 set 번호가 있으면 조회한다.
  1588. ctrl.attribute("onmousedown") = "fGetPrmsSetInfo()"; //이벤트와 컨트롤을 연결하는 동적 이벤트
  1589. if(stepNo == no){
  1590. selectedCtrl = ctrl;
  1591. stepNoArray[1] = stepNo;
  1592. stepNoArray[0] = "";
  1593. selectedCtrl.selected = true;
  1594. //선택한 스텝에 대한 처방set 및 서식코드 정보를 조회한다.
  1595. }
  1596. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/stepno", no);
  1597. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/setno", set);
  1598. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/settypecd", settype);
  1599. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/setnm", btn_txt);
  1600. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/stepnm", nm);
  1601. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/times", times);
  1602. }
  1603. //sortedsteplist를 copy
  1604. model.makeNode("/root/temp/sortedsteplist");
  1605. copyNodesetType("/root/temp/sortedsteplist", "/root/main/sortedsteplist", "replace", model, opener.model);
  1606. //선택필수 viwer가 열려있는 경우, steplist 재설정 (2010.05.28 JJE)
  1607. if( ivw_prcp.visible == true && ivw_prcp.attribute("src") == "../../../emr/cpgweb/xrw/SPMQP03800_약속처방.xrw" ){
  1608. ivw_prcp.window.javaScript.fInitSetAttrData();
  1609. }
  1610. sumStrLength = lastCntlLeft + lastCntlWidth;
  1611. if(sumStrLength > 847){
  1612. btn_group.attribute("top") = "9px";
  1613. btn_group.attribute("height") = "39px";
  1614. }
  1615. btn_group.refresh();
  1616. selectedCtrl.dispatch("onmousedown");
  1617. }
  1618. /**
  1619. * @group :
  1620. * @ver : 2008.10
  1621. * @by : 전지은
  1622. * @---------------------------------------------------
  1623. * @type : function
  1624. * @access : public
  1625. * @desc : M-GPS에서 처방 추가를 위해 열린 경우, 환자정보 등 초기값 셋팅 (fInitializeConDone()와 동일)
  1626. * @param :
  1627. * @return :
  1628. * @---------------------------------------------------
  1629. */
  1630. function fCpInitializeConDone(){
  1631. //grd_prcplist.backcoloralternate = "transparent";
  1632. //model.removeNodeSet ( prcpNode );
  1633. //appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
  1634. var pamInfoCvs = getGlobalVariable("paminfo");
  1635. if(pamInfoCvs != null){ //cvs가 null이 아닌 경우에만 처리함.
  1636. model.removeNodeSet ( "/root/paminfo/list" ); //상단화면 정보 초기화
  1637. setCSVToNode ( "/root/paminfo", pamInfoCvs );
  1638. model.setValue ( "/root/init/pid", model.getValue ( "/root/paminfo/list/pid" ));
  1639. var vopt_patinfo = model.getValue ( "/root/paminfo/list/hngnm" ) + " " + model.getValue ( "/root/paminfo/list/sex" ) + "/" + model.getValue ( "/root/paminfo/list/age" );
  1640. if ( model.getValue ( "/root/paminfo/list/roomcd" ) != "" ){
  1641. vopt_patinfo = vopt_patinfo + " " + model.getValue ( "/root/paminfo/list/roomcd" ) + "호";
  1642. }
  1643. model.setValue ( "/root/init/patinfo", vopt_patinfo );
  1644. }
  1645. var patFlagCvs = getGlobalVariable("patflag");
  1646. if(patFlagCvs.length != 0 ){ //cvs가 null이 아닌 경우에만 처리함.
  1647. model.removeNodeSet ( "/root/patflag/list" ); //상단화면 정보 초기화
  1648. setCSVToNode ( "/root/patflag", patFlagCvs );
  1649. prcpgenrflag = model.getValue ( "/root/patflag/list/prcpgenrflag" );
  1650. }
  1651. if ( prcpgenrflag == "O" || prcpgenrflag == "S" ){ //외래일때
  1652. grd_prcplist.colHidden(prcpKindCdCol) = true;
  1653. model.setValue ( "/root/init/prcpkindcd", "20" ); //처방종류(추가)
  1654. model.setValue ( "/root/init/prcpdd", model.getValue ( "/root/paminfo/list/orddd" ));
  1655. model.setValue ( "/root/init/hosinprcpresncd", model.getValue ( "/root/paminfo/list/hosoutexptresncd" ));
  1656. //20080927 마정민 수정. 외래환자가 암센터인경우는 발행처를 암센터로 한다.
  1657. if ( model.getValue ( "/root/paminfo/list/centcd" ) == "2361300000" ) {
  1658. model.setValue ( "/root/issdept", "2361300000" );
  1659. } else {
  1660. model.setValue ( "/root/issdept", model.getValue ( "/root/paminfo/list/orddeptcd" ));
  1661. }
  1662. } else { //입원, 응급일때
  1663. if (prcpgenrflag == "I") {
  1664. model.setValue ( "/root/init/hosinprcpresncd", "00");
  1665. } else {
  1666. model.setValue ( "/root/init/hosinprcpresncd", model.getValue ( "/root/paminfo/list/hosoutexptresncd" ));
  1667. }
  1668. model.setValue ( "/root/issdept", model.getValue ( "/root/paminfo/list/wardcd" ));
  1669. model.setValue ( "/root/init/prcpdd", getCurrentDate());
  1670. if (cpgFlagCd=="W" || cpgFlagCd=="01") model.setValue("/root/init/prcpkindcd", "10");
  1671. else if (cpgFlagCd=="G" || cpgFlagCd=="02") model.setValue("/root/init/prcpkindcd", "20");
  1672. }
  1673. if(model.getValue("/root/paminfo/list/replyn")=="N"){
  1674. model.setValue("/root/init/repltypenm", model.getValue("/root/paminfo/list/repltypenm"));
  1675. }
  1676. }
  1677. /**
  1678. * @group :
  1679. * @ver : 2007.07
  1680. * @by : 전지은
  1681. * @---------------------------------------------------
  1682. * @type : function
  1683. * @access : public
  1684. * @desc : 탭 선택하면, 해당하는 약속 set 처방 및 서식코드를 조회한다.
  1685. * @param :
  1686. * @return :
  1687. * @---------------------------------------------------
  1688. */
  1689. function fGetPrmsSetInfo(){
  1690. var ctrl = null;
  1691. ctrl = event.target;
  1692. selectedCtrl = document.controls(ctrl);
  1693. // 2008.08.04 pymi tab이 바뀌면 정규로 setting 되도록
  1694. if (cpgFlagCd=="W" || cpgFlagCd=="01") {
  1695. model.setValue("/root/init/prcpkindcd", "10");
  1696. }else if (cpgFlagCd=="G" || cpgFlagCd=="02") {
  1697. model.setValue("/root/init/prcpkindcd", "20");
  1698. }
  1699. cmb_prcpkind.refresh();
  1700. //먼저 선택된 탭의 정보를 저장한다.(임시저장)
  1701. if( opener.window.javascript.checkAuth("X") ){
  1702. if( instance1.selectSingleNode(ref + "[status != 'S' and status != '-' and status != '']") != null || instance1.selectSingleNode(formRef + "[status = 'i' or status = 'd' or status = 'u']") != null ){
  1703. var ret = messageBox("선택한 Step의 처방정보가 저장되지 않았습니다. 임시저장", "S001"); // 2008.08.22 pymi 메시지 변경
  1704. if( ret == "7"){
  1705. var text = selectedCtrl.attribute("id");
  1706. stepNo = text.substr(13, text.length-13);
  1707. selectedCtrl.selected = true;
  1708. stepNoArray[0] = stepNoArray[1];
  1709. stepNoArray[1] = stepNo;
  1710. //아니오는 저장 없이 다른 탭 혹은 outline으로 이동임.
  1711. }else if( ret == "6"){
  1712. //opener.window.javascript.fSaveStep();
  1713. opener.window.javascript.fTempletSave(); //전체 임시저장
  1714. return; //opener의 mian(전체정보) 저장 후 무조건 return (2008.11.17)
  1715. }else{
  1716. //취소시 return;
  1717. return;
  1718. }
  1719. }else{
  1720. if( !fExePrmsSetInfo("") ){
  1721. return;
  1722. }
  1723. }
  1724. }else{
  1725. var text = selectedCtrl.attribute("id");
  1726. stepNo = text.substr(13, text.length-13);
  1727. selectedCtrl.selected = true;
  1728. stepNoArray[0] = stepNoArray[1];
  1729. stepNoArray[1] = stepNo;
  1730. }
  1731. var reqStepNo = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/stepno");
  1732. var reqSetNo = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/setno");
  1733. var reqSetNm = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/setnm");
  1734. var reqSetType = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/settypecd"); //model.getValue("/root/hidden/prmsprcpsetdetlset/settypecd");
  1735. if( isNull(reqSetType) ) reqSetType = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  1736. var reqTimes = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/times");
  1737. var prevID = stepNoArray[0];
  1738. var curID = stepNoArray[1];
  1739. var currentStepCtrl = "xforms:group" + (parseInt(curID) - 1);
  1740. //선택된 스텝의 정보를 generater 상단 스텝정보에 보여준다.
  1741. opener.window.javascript.fPopupMenuEvent(currentStepCtrl);
  1742. //아웃라인의 선택 그룹을 바꾼다.
  1743. var returnText = opener.window.javascript.fChildrenCtrlToSelCtrl(currentStepCtrl, "SET");
  1744. if(reqSetNm.substr(0, 1) == "D"){
  1745. setParameter("stepinfo", returnText);
  1746. modal("SPMMP02100");
  1747. selectedCtrl.selected = false;
  1748. selectedCtrl = document.controls("xforms:button" + prevID);
  1749. stepNoArray[1] = prevID;
  1750. selectedCtrl.selected = true;
  1751. }else {
  1752. model.setValue("/root/hidden/prmsprcpsetdetlset/setno", reqSetNo);
  1753. model.setValue("/root/hidden/prmsprcpsetdetlset/settypecd", reqSetType);
  1754. //prmsprcpsetinfo 인스턴스에 값을 넣어준다(필요없음)
  1755. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno", reqSetNo);
  1756. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", reqSetType);
  1757. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm", stepNo);
  1758. if(reqSetNo != ""){
  1759. //처방을 조회한다 (fReqGetPrmsSet() 를 실행)
  1760. model.setValue ( "/root/send/cond1", parseInt(reqSetNo));
  1761. model.setValue ( "/root/send/cond2", reqSetType);
  1762. model.makeValue ( "/root/send/cpyn", "Y");
  1763. model.makeValue( "/root/send/reqdata/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  1764. submit("TRMQP01402", false ); //TRMMB00202
  1765. if( instance1.selectSingleNode("/root/main/prcp/prcplist[status = 'S']") == null ){
  1766. appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
  1767. }
  1768. model.removeNodeset("/root/send/reqdata");
  1769. }else{
  1770. model.resetInstanceNode("/root/main/prcp/prcplist");
  1771. model.setValue ( "/root/main/prcp/prcplist/status", "S");
  1772. }
  1773. //서식코드도 조회한다
  1774. model.removeNodeset("/root/send/reqdata");
  1775. model.makeNode("/root/send/reqdata");
  1776. model.makeValue( "/root/send/reqdata/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  1777. model.makeValue( "/root/send/reqdata/cpghistseq", opener.model.getValue("/root/main/outlineinfo/info/cpghistseq") );
  1778. model.makeValue( "/root/send/reqdata/stepno", model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/stepno") );
  1779. submit("TRMQP01401", false);
  1780. if( reqTimes == "0" ) ioFlagCd = "O";
  1781. else ioFlagCd = "I";
  1782. model.setValue("/root/patflag/list/prcpgenrflag", ioFlagCd);
  1783. model.setValue("/root/prcplockcond/ioflag", ioFlagCd);
  1784. model.setValue("/root/initsrchcond/ioflag", ioFlagCd);
  1785. if( ioFlagCd == "O" ){
  1786. //외래일 경우, 처방종류 hidden
  1787. grd_prcplist.colhidden(3) = true;
  1788. }else{
  1789. grd_prcplist.colhidden(3) = false;
  1790. }
  1791. model.recalculate();
  1792. //(end)
  1793. model.refresh();
  1794. }
  1795. model.recalculate();
  1796. }
  1797. /**
  1798. * @group :
  1799. * @ver : 2007.07
  1800. * @by : 전지은
  1801. * @---------------------------------------------------
  1802. * @type : function
  1803. * @access : public
  1804. * @desc : 탭 선택하면, 해당하는 약속 set 처방 및 서식코드를 저장한다.
  1805. * @param : kind ( 탭간 이동시에는 "" , opener의 저장, 등록버튼 클릭시에는 "T" 등의 스트링이 넘어옴 )
  1806. * @return :
  1807. * @---------------------------------------------------
  1808. */
  1809. function fExePrmsSetInfo( kind ){
  1810. model.setfocus( "grd_prcplist" );
  1811. callfCreateControlYN = "N";
  1812. var orgKind = "";
  1813. if( instance1.selectSingleNode(ref + "[status != 'S' and status != '-' and status != '']") != null || instance1.selectSingleNode(formRef + "[status = 'i' or status = 'd' or status = 'u']") != null ){
  1814. if(kind != ""){
  1815. //if(messageBox("선택한 Step의 처방정보가 저장되지 않았습니다.", "Q002") == "6"){
  1816. kind = "T";
  1817. orgKind = "onlySave";
  1818. //}
  1819. }
  1820. if(kind != ""){
  1821. //1. stepNoArray[0] 에 저장할 데이터가 있다면, 저장
  1822. //if(model.getValue(ref + "[" + 1 + "]/status") == "I"){
  1823. if(opener.model.getValue("/root/main/steplist/info[stepno='" + stepNo + "']/setno") > 0){
  1824. //OCS 수정/저장 시, 처방/서식 전체 삭제할 경우, 스텝정보의 setno를 비운다. (008.11.17) (s)
  1825. var prmsNodeSet = instance1.selectNodes("/root/main/prmsprcpsetinfo/prmsprcpsetlist");
  1826. var pk_setno = model.getValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/setno");
  1827. var pk_settype = model.getValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/settypecd"); //model.getValue("/root/hidden/prmsprcpsetdetlset/settypecd");
  1828. if( isNull(pk_settype) ) pk_settype = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  1829. if( pk_setno != "" && instance1.selectSingleNode(ref + "[status = 'I' or status = 'U' or status = '-']") == null && instance1.selectSingleNode("/root/main/form/forminfo/formlist[status='' or status='I']") == null ){
  1830. model.setValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/setno", "");
  1831. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/setno", "");
  1832. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/settypecd", "");
  1833. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/m", "u");
  1834. if( instance1.selectSingleNode(formRef) == null && pk_settype == "W" ){
  1835. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/formexistyn", "N");
  1836. }
  1837. callfCreateControlYN = "N";
  1838. opener.window.javascript.val_callfCreateControlYN = "Y"; //2008.11.17
  1839. var node = opener.instance1.selectNodes("/root/main/steplist/info[stepno='"+stepNo+"']");
  1840. opener.window.javascript.fSaveStep(stepNo); //바뀐 스텝만 update
  1841. }
  1842. //(e)
  1843. }else{
  1844. //1) 첫줄의 저장 flag 가 I 면, set 저장을 먼저 한다.
  1845. model.makeValue("/root/main/iptbox/setnm", stepNo);
  1846. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/status", "i");
  1847. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/supsetno", 1);
  1848. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/sortno", 1);
  1849. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setkindcd", "D"); //부서
  1850. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setclscd", "C"); //공통
  1851. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settrgtcd", setDept); //CP사용부서코드
  1852. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm", stepNo);
  1853. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/procflag", "D"); //처리구분
  1854. //2007.10.20 추가된 컬럼 (main에 iofalg 받아옴)
  1855. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/ioflag", ioFlagCd); //처리구분 ( cp는 O로...)
  1856. //CPG 중 CPG+CP인 경우, CP에 해당하는 스텝은 settypecd를 달리 해줌 (2010.06.26 JJE)
  1857. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", setType);
  1858. if( (cpgFlagCd=="G" || cpgFlagCd=="02") && opener.model.getValue("/root/main/steplist/info[stepno='"+stepNo+"']/settypecd") == "W" ){
  1859. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", "W");
  1860. }
  1861. model.makeNode("/root/send/savedata");
  1862. fSavePrmsDiagSet();
  1863. model.removeNodeset("/root/send/savedata");
  1864. var prmsNodeSet = instance1.selectNodes("/root/main/prmsprcpsetinfo/prmsprcpsetlist");
  1865. var pk_setno = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist["+ prmsNodeSet.length +"]/setno");
  1866. var pk_settype = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist["+ prmsNodeSet.length +"]/settypecd");
  1867. if( isNull(pk_settype) ) pk_settype = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  1868. var pk_setnm = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist["+ prmsNodeSet.length +"]/setnm");
  1869. model.setValue("/root/hidden/prmsprcpsetdetlset/setno", pk_setno);
  1870. model.setValue("/root/hidden/prmsprcpsetdetlset/settypecd" , pk_settype);
  1871. model.setValue("/root/hidden/prmsprcpsetdetlset/setnm" , pk_setnm);
  1872. //2014/05/27 이정택
  1873. model.setValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/setno", pk_setno);
  1874. model.setValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/setnm", pk_setnm);
  1875. //2014/05/27 이정택
  1876. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/setno", pk_setno);
  1877. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/settypecd", pk_settype);
  1878. opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/m", "u");
  1879. if( cpgFlagCd=="W" || cpgFlagCd=="01" ) opener.model.setValue("/root/main/steplist/info[stepno='"+stepNo+"']/formexistyn", "Y");
  1880. callfCreateControlYN = "Y";
  1881. opener.window.javascript.val_callfCreateControlYN = "Y"; //2008.11.17
  1882. if( opener.instance1.selectSingleNode("/root/main/steplist/info[stepno='"+stepNo+"']/orgstepno") != null ){
  1883. //sorted step list 의 setno도 바꿔준다 (2008.06.26)
  1884. var orgstepno = opener.model.getValue("/root/main/steplist/info[" + stepNo +"]/orgstepno");
  1885. opener.model.setValue("/root/main/steplist/info[stepno='" + orgstepno + "']/setno", pk_setno);
  1886. opener.model.setValue("/root/main/steplist/info[stepno='" + orgstepno + "']/settypecd", pk_settype);
  1887. }
  1888. var node = opener.instance1.selectNodes("/root/main/steplist/info[stepno='"+stepNo+"']");
  1889. opener.window.javascript.fSaveStep(stepNo); //바뀐 스텝만 update
  1890. }
  1891. //stepattrflag 에 속성 추가 (2009.02.19) (s)
  1892. if( cpgFlagCd=="G" || cpgFlagCd=="02" ){
  1893. var stepattrflag = opener.model.getValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag");
  1894. var orgStepattrflag = stepattrflag.substr(0, 1);
  1895. stepattrflag = stepattrflag.substr(1, stepattrflag.length-1);
  1896. if( instance1.selectSingleNode(ref + "[status = 'I' or status = 'U' or status = '-']") == null && orgStepattrflag != "0" ){
  1897. stepattrflag = "0" + stepattrflag;
  1898. opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1899. opener.opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1900. //model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1901. opener.window.javascript.val_callfCreateControlYN = "Y";
  1902. }else if(orgStepattrflag != "1"){
  1903. stepattrflag = "1" + stepattrflag;
  1904. opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1905. opener.opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1906. //model.setValue("/root/main/steplist/info[" + stepNo +"]/stepattrflag", stepattrflag);
  1907. opener.window.javascript.val_callfCreateControlYN = "Y";
  1908. }
  1909. }
  1910. //(e)
  1911. if(grd_prcplist.rows - grd_prcplist.fixedRows > 1){
  1912. var savePrcpInfo = instance1.selectNodes(ref + "[status != 'S' and status != '-']");
  1913. if(savePrcpInfo.length >= 1){
  1914. //2) detail 정보를 저장함.
  1915. if( !fInsPrmsPrcp() ){
  1916. return false;
  1917. }
  1918. if( instance1.selectSingleNode(ref + "[status != 'S' and status != '-' and status != 'D']") != null ){
  1919. callfCreateControlYN = "Y";
  1920. }
  1921. }
  1922. }
  1923. if(grd_formlist.rows - grd_formlist.fixedRows > 0){
  1924. savePrcpInfo = instance1.selectNodes(formRef + "[status = 'i' or status = 'd']");
  1925. if(savePrcpInfo.length > 0){
  1926. //3) 서식 정보를 저장함.
  1927. model.removeNodeset("/root/send/reqdata");
  1928. model.makeNode("/root/send/reqdata");
  1929. model.makeValue( "/root/send/reqdata/pkinfo/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  1930. model.makeValue( "/root/send/reqdata/pkinfo/cpghistseq", opener.model.getValue("/root/main/outlineinfo/info/cpghistseq") );
  1931. model.makeValue( "/root/send/reqdata/stepno", model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/stepno") );
  1932. //var formCSV = getNodeListCSV(savePrcpInfo);
  1933. model.makeValue( "/root/send/reqdata/forminfo", grd_formlist.getUpdateData());
  1934. if( submit("TXMQP01401", true ) ){
  1935. //opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/m", "u");
  1936. var allPrcpInfo = instance1.selectNodes(formRef);
  1937. var delPrcpInfo = instance1.selectNodes(formRef + "[status = 'd']");
  1938. if( pk_settype == "W" ){
  1939. if( allPrcpInfo.length == delPrcpInfo.length && callfCreateControlYN != "Y" )
  1940. opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/formexistyn", "N");
  1941. else
  1942. opener.model.setValue("/root/main/steplist/info[" + stepNo +"]/formexistyn", "Y");
  1943. }
  1944. opener.window.javascript.val_callfCreateControlYN = "Y"; //2008.11.17
  1945. }
  1946. }
  1947. }
  1948. }
  1949. }
  1950. //2. stepNoArray[1] 에 저장된 데이터가 있다면, 조회
  1951. //if(stepNoArray[0] != ""){
  1952. var text = selectedCtrl.attribute("id");
  1953. stepNo = text.substr(13, text.length-13);
  1954. selectedCtrl.selected = true;
  1955. stepNoArray[0] = stepNoArray[1];
  1956. stepNoArray[1] = stepNo;
  1957. //저장 시, opener 와 본화면 간의 저장이 동시에 일어나면서 submit이 예상됨. 외부 정보 저장 시(opener의 저장버튼 강제 dispatch 시) 함께 처리 (2008.11.17)
  1958. if(kind != ""){
  1959. var reqStepNo = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/stepno");
  1960. var reqSetNo = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/setno");
  1961. var reqSetNm = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/setnm");
  1962. var reqSetType = model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/settypecd"); //model.getValue("/root/hidden/prmsprcpsetdetlset/settypecd");
  1963. if( isNull(reqSetType) ) reqSetType = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  1964. var prevID = stepNoArray[0];
  1965. var curID = stepNoArray[1];
  1966. var currentStepCtrl = "xforms:group" + (parseInt(curID) - 1);
  1967. //선택된 스텝의 정보를 generater 상단 스텝정보에 보여준다.
  1968. //alert(currentStepCtrl);
  1969. opener.window.javascript.fPopupMenuEvent(currentStepCtrl);
  1970. //아웃라인의 선택 그룹을 바꾼다.
  1971. var returnText = opener.window.javascript.fChildrenCtrlToSelCtrl(currentStepCtrl, "SET");
  1972. if(reqSetNm.substr(0, 1) == "D"){
  1973. setParameter("stepinfo", returnText);
  1974. modal("SPMMP02100");
  1975. selectedCtrl.selected = false;
  1976. selectedCtrl = document.controls("xforms:button" + prevID);
  1977. stepNoArray[1] = prevID;
  1978. selectedCtrl.selected = true;
  1979. }else {
  1980. model.setValue("/root/hidden/prmsprcpsetdetlset/setno", reqSetNo);
  1981. model.setValue("/root/hidden/prmsprcpsetdetlset/settypecd", reqSetType);
  1982. //prmsprcpsetinfo 인스턴스에 값을 넣어준다(필요없음)
  1983. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno", reqSetNo);
  1984. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", reqSetType);
  1985. model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm", stepNo);
  1986. if(reqSetNo != ""){
  1987. //처방을 조회한다 (fReqGetPrmsSet() 를 실행)
  1988. model.setValue ( "/root/send/cond1", parseInt(reqSetNo));
  1989. model.setValue ( "/root/send/cond2", reqSetType);
  1990. model.makeValue ( "/root/send/cpyn", "Y");
  1991. model.makeValue( "/root/send/reqdata/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  1992. submit("TRMQP01402", false ); //TRMMB00202
  1993. if( instance1.selectSingleNode("/root/main/prcp/prcplist[status = 'S']") == null ){
  1994. appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
  1995. }
  1996. model.removeNodeset("/root/send/reqdata");
  1997. }else{
  1998. model.resetInstanceNode("/root/main/prcp/prcplist");
  1999. model.setValue ( "/root/main/prcp/prcplist/status", "S");
  2000. }
  2001. //필수 및 선택필수 저장에 따른 mainview의 문진리스트 항목 재조회 (2010.06.28)
  2002. if( instance1.selectSingleNode(ref + "[essnprcpyn='Y']") != null ) {
  2003. fInitMainAttList("R"); //"필수처방 미발행사유 문진" 추가에 따른 재조회
  2004. }
  2005. //서식코드도 조회한다
  2006. model.removeNodeset("/root/send/reqdata");
  2007. model.makeNode("/root/send/reqdata");
  2008. model.makeValue( "/root/send/reqdata/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  2009. model.makeValue( "/root/send/reqdata/cpghistseq", opener.model.getValue("/root/main/outlineinfo/info/cpghistseq") );
  2010. model.makeValue( "/root/send/reqdata/stepno", model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/stepno") );
  2011. submit("TRMQP01401", false);
  2012. model.refresh();
  2013. }
  2014. model.recalculate();
  2015. }
  2016. return true;
  2017. }
  2018. /**
  2019. * @group :
  2020. * @ver : 2007.07
  2021. * @by : 전지은
  2022. * @---------------------------------------------------
  2023. * @type : function
  2024. * @access : public
  2025. * @desc : 처방 검색 시, import의 visible / hiddend을 설정하고, 검색어로 조회하고, 검색결과를 get한다.
  2026. * @param :
  2027. * @return :
  2028. * @---------------------------------------------------
  2029. */
  2030. function fStepPrcpSrch(srchflag) {
  2031. if(event.keyCode == "13") {
  2032. if ((model.getValue(prcpNode+"["+grd_prcplist.row+"]/prcpflag") == "2" &&
  2033. model.getValue(prcpNode+"["+grd_prcplist.row+"]/drugmastspec") =="Y") ||
  2034. model.getValue(prcpNode+"["+grd_prcplist.row+"]/status") !="S" ){
  2035. return;
  2036. }
  2037. var prcpnm = model.getValue ( prcpNode + "[" + grd_prcplist.row+ "]/prcpnm" );
  2038. prcpnm = prcpnm.getTrim();
  2039. if ( srchflag == "prcpcd") {
  2040. prcpnm = model.getValue ( prcpNode + "[" + grd_prcplist.row+ "]/prcpcd" );
  2041. }
  2042. var isHangul = fIsHangul (prcpnm);
  2043. if ( isNull(prcpnm)) { //한글일때는 1글자만 넣어도 검색가능
  2044. messageBox ( "검색어를", "C001" );
  2045. return;
  2046. } else if ( isHangul == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
  2047. //영문,숫자일때는 4글자 넣어야 검색가능
  2048. if ( srchflag == "prcpcd") {
  2049. if ( prcpnm.length < 2 ){
  2050. messageBox ( "2글자 이상", "C001" );
  2051. return;
  2052. }
  2053. } else {
  2054. if ( prcpnm.length < 3 ){
  2055. messageBox ( "3글자 이상", "C001" );
  2056. return;
  2057. }
  2058. }
  2059. } else if ( isHangul == "H" ) {
  2060. if ( prcpnm.length < 3 ){
  2061. messageBox ( "한글은 3글자 이상", "C001" );
  2062. return;
  2063. }
  2064. }
  2065. if (prcpnm.charAt ( 0 ) == "/"){
  2066. if ( prcpnm.length == 1 ){
  2067. messageBox ( "검색할 수술명이", "I004" );
  2068. return;
  2069. }
  2070. var curRow = grd_prcplist.row;
  2071. var srchRow = grd_prcplist.rows -1;
  2072. fPrcpModal ( "SPMMO05100", 180, 80 );
  2073. } else {
  2074. var containflag = false;
  2075. if( srchflag != "prcpcd"){
  2076. //prcpnm = prcpnm.substring(1, prcpnm.length);
  2077. containflag = true;
  2078. }
  2079. prcpnm = prcpnm.getTrim();
  2080. if ( srchflag == "prcpcd") {
  2081. fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "", false, "getPrcpCdOldSrchInfo", isHangul , containflag);
  2082. } else if ( srchflag == "prcpnm") {
  2083. fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "", false, "getPrcpNmSrchInfo", isHangul , containflag);
  2084. } else {
  2085. fPrcpSrchCom ( prcpnm, model.getValue ( "/root/init/prcpdd" ), model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "", false, "getPrcpSrchInfo", isHangul , containflag);
  2086. }
  2087. var srchLength = model.instances(0).selectNodes( "/root/prcpsrch/prcplist" ).length;
  2088. var curRow = grd_prcplist.row;
  2089. var nextRow = grd_prcplist.row + 1;
  2090. if( srchLength > 1) {
  2091. if( !ivw_prcp.visible ){
  2092. import1.attribute ( "left" ) = "0px";
  2093. }else{
  2094. import1.attribute ( "left" ) = "386px";
  2095. }
  2096. if ( grd_prcplist.row <= 10) {
  2097. import1.attribute ( "top" ) = 94 + ( grd_prcplist.row - 1) * 23;
  2098. } else if ( grd_prcplist.row <= 24) {
  2099. import1.attribute ( "top" ) = 295 + 1;
  2100. } else if ( grd_prcplist.row > 24 ){
  2101. import1.attribute ( "top" ) = 295 + 1;
  2102. }
  2103. import1.visible = true;
  2104. model.refresh();
  2105. model.setfocus( "grd_prcpsrchlist" );
  2106. for ( var i=1; i <=srchLength ; i++ ) {
  2107. if (model.getValue ("/root/prcpsrch/prcplist[" + i + "]/prcpclscd")=="-") {
  2108. grd_prcpsrchlist.rowstyle(i, "data", "color") = "#ff0000";
  2109. } else {
  2110. grd_prcpsrchlist.rowstyle(i, "data", "color") = "#000000";
  2111. }
  2112. }
  2113. import1.visible = true;
  2114. model.refresh();
  2115. model.setfocus( "grd_prcpsrchlist" );
  2116. grd_prcpsrchlist.select( 1, 1, 1, 1) = true;
  2117. } else if( srchLength == 1) {
  2118. srchRow = addPrcpDetl ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , grd_prcplist.row, "00" );
  2119. if (srchRow !=0 ) {
  2120. //focusMain ( srchRow );
  2121. srchRow = fAddSetPrcpChk ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , srchRow, "00" );
  2122. fHosinPrcpResnChk ("main", "/root/main/prcp/" );
  2123. focusMain ( srchRow );
  2124. }
  2125. fPrcpColor();
  2126. } else {
  2127. messageBox ( "검색된 내용이", "I004" );
  2128. grd_prcplist.dispatch("onentercell");
  2129. }
  2130. }
  2131. }
  2132. }
  2133. /**
  2134. * @group :
  2135. * @ver : 2007.07
  2136. * @by : 전지은
  2137. * @---------------------------------------------------
  2138. * @type : function
  2139. * @access : public
  2140. * @desc : 신규 인스턴스에 null 관련 인스턴스 생성
  2141. * @param :
  2142. * @return :
  2143. * @---------------------------------------------------
  2144. */
  2145. function fMakeNullNode(){
  2146. for ( var i=1; i < grd_prcplist.rows-1; i++ ) {
  2147. var nullcol = "";
  2148. status = model.getValue( ref + "[" + i + "]/status" );
  2149. if( status == "I" ){
  2150. model.makeValue(ref + "[" + i + "]/nullvalexistyn", "N");
  2151. model.makeValue(ref + "[" + i + "]/nullcolumncd", "-");
  2152. }
  2153. }
  2154. }
  2155. /**
  2156. * @group :
  2157. * @ver : 2007.07
  2158. * @by : 전지은
  2159. * @---------------------------------------------------
  2160. * @type : function
  2161. * @access : public
  2162. * @desc : 처방 상세 내용을 저장한다. ( SMMMB00200, fPrmsPrcpSave() copy )
  2163. * @param :
  2164. * @return :
  2165. * @---------------------------------------------------
  2166. */
  2167. function fInsPrmsPrcp(){
  2168. var iRow = grd_prcplist.rows - grd_prcplist.fixedRows - 1;
  2169. var CurrentDate = getCurrentDate();
  2170. var status = "";
  2171. var setno = model.getValue ("/root/hidden/prmsprcpsetdetlset/setno" );
  2172. var settypecd = model.getValue ("/root/hidden/prmsprcpsetdetlset/settypecd" );
  2173. if( isNull(settypecd) ) settypecd = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  2174. var setnm = model.getValue( "/root/hidden/prmsprcpsetdetlset/setnm");
  2175. var setcdno = "";
  2176. var prcpClscd = "";
  2177. var prcpvol = "";
  2178. var prcpqty = "";
  2179. var prcptims = "";
  2180. //nullvalexistyn, nullcolumncd 컬럼값을 구성하여 저장한다. (2008.06.30 JJE)
  2181. var nullyn = "";
  2182. var cnt = 0; //수량과 용량 둘중하나라도 null 인지 체크하기 위해 이용하는 값
  2183. var hosinhosoutflag = "";
  2184. var hosinprcpresncd = "";
  2185. var orghosinprcpresncd = "";
  2186. var essnprcpyn = ""; //필수 처방 여부 값
  2187. var inqrno = ""; //필수 처방 번호
  2188. var seq = 0; //필수처방 instsance 카운트
  2189. var inqrno = 0; //필수처방의 문진번호가 하나라도 있는지 체크하기 위한 값
  2190. for ( var i=1; i < grd_prcplist.rows-1; i++ ) {
  2191. var nullcol = "";
  2192. status = model.getValue( ref + "[" + i + "]/status" );
  2193. prcpClscd = model.getValue( ref + "[" + i + "]/prcpclscd" );
  2194. prcpvol = model.getValue( ref + "[" + i + "]/prcpvol" );
  2195. prcpqty = model.getValue( ref + "[" + i + "]/prcpqty" );
  2196. prcptims = model.getValue( ref + "[" + i + "]/prcptims" );
  2197. // prcp/prcplist의 prcppkspec 정보는 new ver 아닌, 이전 ver를 여전히 가지고 있으므로... 수동으로 새로 저장된 setno를 넣어줌 (그렇지 않으면, 이전 ver 정보만 삭제됨) 2008.07.11 JJE
  2198. setcdno = model.getValue(ref + "[" + i + "]/prcppkspec").split("|")[2];
  2199. model.setValue(ref + "[" + i + "]/prcppkspec", setno + "|" + settypecd + "|" + setcdno);
  2200. var drprcpetc2 = model.getValue("/root/main/prcp/prcplist[" + i + "]/drprcpetc2"); // 약속처방오류 수정에 따른, 특수주사실 정보가 없으면 저장 시 오류 수정(2008.12.04)
  2201. if ( isNull(drprcpetc2) ) {
  2202. model.setValue(ref + "[" + i + "]/drprcpetc2", "-");
  2203. }
  2204. if( status == "I" ){
  2205. model.setValue(ref + "[" + i + "]/prcppkspec", setno + "|" + settypecd + "|" );
  2206. }
  2207. //2010/3/4 처방 검색 xml에 rgstdeptcd 추가됨에 따른 default 처리 (instance순서를 맞추기 위함 2010.04.16)
  2208. //if( instance1.selectSingleNode(ref + "[" + i + "]/rgstdeptcd") == null || isNull(model.getValue(ref + "[" + i + "]/rgstdeptcd")) )
  2209. model.makeValue(ref + "[" + i + "]/rgstdeptcd", opener.model.getValue("/root/main/outlineinfo/info/cpgorddeptcd"));
  2210. //윗줄 if( status == "I" ){ 에 포함됐던 문장 start==>
  2211. //key검색, 약속처방, 처방(분류)검색 등, 조회 방법에 따라, NullValExistYN, NullColumnCd 컬럼이 없을 수 있으므로, 값이 없으면 default 값의 instance 생성
  2212. if( instance1.selectSingleNode(ref + "[" + i + "]/nullvalexistyn") == null || isNull(model.getValue(ref + "[" + i + "]/nullvalexistyn")) ){
  2213. model.makeValue(ref + "[" + i + "]/nullvalexistyn", "N");
  2214. model.makeValue(ref + "[" + i + "]/nullcolumncd", "-");
  2215. }
  2216. // <= end
  2217. //새로 추가한 처방은 anstcnfmneedyn 컬럼이 없으므로, 저장 전 생성해줌. (2008.11.17)
  2218. if( instance1.selectSingleNode(ref + "[" + i + "]/anstcnfmneedyn") == null ){
  2219. model.makeNode(ref + "[" + i + "]/anstcnfmneedyn");
  2220. if(status != "S" && prcpClscd == "H2"){
  2221. model.setValue(ref + "[" + i + "]/anstcnfmneedyn", "Y");
  2222. }
  2223. }
  2224. //원내처방으로 선택 시, 원내처방사유가 55가 아닌경우 경고 및 return (2009.06.19)
  2225. if( model.getValue(ref + "[" + i + "]/hosinhosoutflag") == "I" && isNull(model.getValue(ref + "[" + i + "]/hosinprcpresncd")) ){
  2226. model.setValue( ref + "[" + i + "]/hosinhosoutflag", "O" );
  2227. model.setValue( ref + "[" + i + "]/hosinprcpresncd", "00" );
  2228. }
  2229. hosinhosoutflag = model.getValue( ref + "[" + i + "]/hosinhosoutflag" );
  2230. hosinprcpresncd = model.getValue( ref + "[" + i + "]/hosinprcpresncd" );
  2231. //새로 추가한 처방은 orghosinprcpresncd 컬럼이 없으므로, 저장 전 생성해줌. (2009.07.21)
  2232. orghosinhosoutflag = model.getValue( ref + "[" + i + "]/orghosinhosoutflag" );
  2233. orghosinprcpresncd = model.getValue( ref + "[" + i + "]/orghosinprcpresncd" );
  2234. if( isNull(orghosinprcpresncd) ){
  2235. model.makeValue(ref + "[" + i + "]/orghosinhosoutflag", hosinhosoutflag);
  2236. model.makeValue(ref + "[" + i + "]/orghosinprcpresncd", hosinprcpresncd);
  2237. orghosinhosoutflag = hosinhosoutflag;
  2238. orghosinprcpresncd = hosinprcpresncd;
  2239. }
  2240. if( prcpClscd == "A2" || prcpClscd == "A4" || prcpClscd == "A6" ){
  2241. if( hosinhosoutflag == "I" && hosinprcpresncd != orghosinprcpresncd ){
  2242. if( hosinprcpresncd == "00" ){
  2243. model.setValue( ref + "[" + i + "]/hosinhosoutflag", orghosinhosoutflag );
  2244. }else if( hosinprcpresncd != "00" && hosinprcpresncd != "55" ){
  2245. messageBox("원내처방 사유 변경은\n'검사, 수술, 처치에 사용하는 의약품'\n외에는 선택", "E001"); //할수없습니다
  2246. model.setValue( ref + "[" + i + "]/hosinhosoutflag", orghosinhosoutflag );
  2247. model.setValue( ref + "[" + i + "]/hosinprcpresncd", orghosinprcpresncd );
  2248. //return false;
  2249. }
  2250. }
  2251. cnt = 0;
  2252. //약, 주사, 수혈이면서, 수량과 용량이 null인 경우 값을 만들어 준다)
  2253. if( prcpvol == "" || prcpvol == "0" ){
  2254. nullcol += "01"; //용량
  2255. model.setValue(ref + "[" + i + "]/nullvalexistyn", "Y");
  2256. model.setValue(ref + "[" + i + "]/nullcolumncd", nullcol);
  2257. model.setValue( ref + "[" + i + "]/prcpvol", "0" );
  2258. cnt++;
  2259. }
  2260. if( prcpqty == "" || prcpqty == "0" ){ //if( nullCond && prcpqty == "" ){
  2261. if( cnt > 0 ){
  2262. nullcol += "|";
  2263. }
  2264. nullcol += "02"; //수량
  2265. model.setValue(ref + "[" + i + "]/nullvalexistyn", "Y");
  2266. model.setValue(ref + "[" + i + "]/nullcolumncd", nullcol);
  2267. model.setValue( ref + "[" + i + "]/prcpqty", "0" );
  2268. cnt++;
  2269. }
  2270. if( cnt == 0 ){
  2271. model.setValue(ref + "[" + i + "]/nullvalexistyn", "N");
  2272. model.setValue(ref + "[" + i + "]/nullcolumncd", "-");
  2273. }
  2274. }
  2275. // 2008.07.04 pymi null 처방때문에 05로 setting
  2276. model.setValue(ref + "[" + i + "]/prcpinptflag", "05");
  2277. // 2010.03.23 JJE : java에 처방일자 check 로직 추가로 인해, default값 셋팅하도록 수정
  2278. model.makeValue(ref + "[" + i + "]/prcpdd", CurrentDate);
  2279. model.makeValue(ref + "[" + i + "]/prcphopedd", CurrentDate);
  2280. model.makeValue(ref + "[" + i + "]/prcprefseq", i ); //처방조회순서를 만들어줌, 필수처방 저장 시 비교를 하기 위해
  2281. if( isNull(model.getValue(ref + "[" + i + "]/essnprcpyn")) ){
  2282. model.makeValue(ref + "[" + i + "]/essnprcpyn", grd_prcplist.valuematrix(i, grd_prcplist.colRef("essnprcpyn")));
  2283. model.makeValue(ref + "[" + i + "]/limno", "0");
  2284. model.makeValue(ref + "[" + i + "]/limhistno", "0");
  2285. model.makeValue(ref + "[" + i + "]/limcdno", "0");
  2286. model.makeValue(ref + "[" + i + "]/inqrno", "0");
  2287. model.makeValue(ref + "[" + i + "]/qestno", "0");
  2288. }
  2289. if (cpgFlagCd=="G" || cpgFlagCd=="02") { //## CPG 일 경우에만 필수 처방 값 적용
  2290. //## 필수 처방 번호 저장
  2291. essnprcpyn = model.getValue( ref + "[" + i + "]/essnprcpyn" );
  2292. if( essnprcpyn != "Y" ){
  2293. model.makeValue(ref + "[" + i + "]/essnprcpyn", "N");
  2294. essnprcpyn = "N";
  2295. }
  2296. inqrno = model.getValue( ref + "[" + i + "]/inqrno" ); //문진으로 저장된것이 하나라도 있는지 체크하기 위함 2010.06.23
  2297. if( isNull(inqrno) ) inqrno = "0";
  2298. if ( (essnprcpyn == "Y" || inqrno > 0) && status != "S" ) { // status != "D"
  2299. seq++;
  2300. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/istatus", status);
  2301. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/iprcprefseq", i);
  2302. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/ilimno", model.getValue(ref + "[" + i + "]/limno")); //2010.06.23 JJE
  2303. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/ilimhistseq", model.getValue(ref + "[" + i + "]/limhistseq")); //2010.06.23 JJE
  2304. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/ilimcdno", model.getValue(ref + "[" + i + "]/limcdno")); //2010.06.23 JJE
  2305. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/iinqrno", model.getValue(ref + "[" + i + "]/inqrno")); //2010.06.23 JJE
  2306. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/iqestno", model.getValue(ref + "[" + i + "]/qestno")); //2010.06.23 JJE
  2307. model.makeValue("/root/send/prcpessninfo/prcpessninfo[" + seq + "]/iessnprcpyn", essnprcpyn); //2010.06.23 JJE
  2308. }
  2309. }
  2310. } //end for
  2311. // 2008.07.03 pymi 조건 추가( nullvalexistyn = 'N') null처방과 node를 분리
  2312. var savePrcpInfo = instance1.selectNodes(ref + "[status != 'S' and status != '-' and nullvalexistyn = 'N']");
  2313. var delPrcpInfo = instance1.selectNodes(ref + "[status = 'D']");
  2314. if( savePrcpInfo.length > 0 ) model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
  2315. model.setValue ( "/root/send/cond2", "1" );
  2316. //2008.07.02 pymi (s)
  2317. //Null처방
  2318. var nulPrcpInfo = instance1.selectNodes(ref + "[status != '-' and nullvalexistyn = 'Y']");
  2319. if( nulPrcpInfo.length >0 ) {
  2320. copyNodeListType("/root/result", "/root/main/prcp/prcplist[nullvalexistyn = 'Y']", "replace", model, model);
  2321. modal("SPMMP02900", 1, window.screenleft + 100, window.screenTop + 50, "SPMMP02900", "/root/result", "/root/main/prcp" ); //Null처방 에러팝업
  2322. if(getParameter("SPMMP02900_endYN") == "Y") {
  2323. nullPrcpNodeList = getParameter("SPMMP02900_prcpErrNode");
  2324. setCSVToNode("/root/temp", nullPrcpNodeList, "prcperrlist");
  2325. } else return true;
  2326. }
  2327. //pymi(e)
  2328. if( savePrcpInfo.length > 0 ){
  2329. if ( !submit("TRMMB00203", false) ){ //저장 전 약속처방 check : reqGetPrcpSaveChk()
  2330. model.resetInstanceNode ( "/root/send" );
  2331. //model.refresh();
  2332. }
  2333. }
  2334. var prcpErrList = instance1.selectNodes( "/root/result/prcperrlist" );
  2335. var xpt = window.screenleft + 100;
  2336. var ypt = window.screenTop + 50;
  2337. if ( prcpErrList.length > 0 ) {
  2338. if ( !isNull(model.getValue ( "/root/result/prcperrlist[1]/prcpcd"))){
  2339. // 2008.07.03 pymi (s) null 처방 오류를 append
  2340. var srcNodeLth = instance1.selectNodes("/root/temp/prcperrlist").length;
  2341. var dscNode = instance1.selectSingleNode("/root/result");
  2342. for(var x = 1; x <= srcNodeLth ; x++) {
  2343. var srcNode = instance1.selectSingleNode("/root/temp/prcperrlist[" + x + "]");
  2344. dscNode.appendChild(srcNode.cloneNode(true));
  2345. }
  2346. // pymi (e)
  2347. modal ( "SPMMO00600", 1, xpt, ypt, "prcpdetl", "/root/result", "/root/result" ); //오류팝업
  2348. model.removeNodeset("/root/temp/prcperrlist");
  2349. model.removeNodeset("/root/result/prcperrlist");
  2350. }
  2351. return false;
  2352. } //pymi (s)
  2353. else if (instance1.selectNodes( "/root/temp/prcperrlist" ).length > 0){
  2354. modal ( "SPMMO00600", 1, xpt, ypt, "prcpdetl", "/root/temp", "/root/result" ); //오류팝업
  2355. model.removeNodeset("/root/temp/prcperrlist");
  2356. model.removeNodeset("/root/result/prcperrlist");
  2357. return true;
  2358. }
  2359. //pymi (e)
  2360. var d_node = instance1.selectSingleNode(ref + "[status = 'D']");
  2361. var i_node = instance1.selectSingleNode(ref + "[status = 'I']");
  2362. var u_node = instance1.selectSingleNode(ref + "[status = 'U']");
  2363. model.makeNode("/root/send/cond3"); //purpose 컬럼 (1:삭제만 처리, 2:추가,수정, 삭제+추가/수정)
  2364. model.makeValue("/root/send/icpgno", cpgNo); //2010.06.23 JJE
  2365. model.makeValue("/root/send/icpghistseq", cpgHistSeq); //2010.06.23 JJE
  2366. model.makeValue("/root/send/istepno", stepNo); //2010.06.23 JJE
  2367. model.makeValue("/root/send/istepnm", model.getValue("/root/temp/steplist/stepinfo[stepno='"+stepNo+"']/stepnm")); //2010.06.23 JJE
  2368. if( d_node != null && i_node == null && u_node == null ){ //삭제만 먼저 수행
  2369. model.setValue("/root/send/cond3", "1");
  2370. //model.setValue ( "/root/send/cond1", getNodeListCSV(delPrcpInfo));
  2371. copyNodeListType("/root/send/cond1", ref + "[status = 'D']", "replace", model, model); //2010.04.17 JJE
  2372. if (submit("TXMQP01403", false)) { //삭제만 수행하므로, 기존 TXMMB00201
  2373. appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
  2374. model.refresh();
  2375. model.recalculate();
  2376. }
  2377. }else{
  2378. //순서 정렬을 위해, 모든 set 처방을 delete한 후, insert/update가 되어야 함(TXMMB00201 -> TXMQP01403)
  2379. //var iPrcpNodeList = instance1.selectNodes(ref + "[status != 'I' and status != 'U']");
  2380. for ( var i=1; i < grd_prcplist.rows-1; i++ ) {
  2381. status = model.getValue ( ref + "[" + i + "]/status" );
  2382. if( status == "I" || status == "U" || status == "-" ){
  2383. model.setValue(ref + "[" + i + "]/prcppkspec", setno + "|" + settypecd );
  2384. model.setValue(ref + "[" + i + "]/status", "I" );
  2385. }
  2386. }
  2387. savePrcpInfo = instance1.selectNodes(ref + "[status != 'S' and status != '-' and status != 'D']");
  2388. //model.setValue ( "/root/send/cond1", getNodeListCSV(savePrcpInfo));
  2389. copyNodeListType("/root/send/cond1", ref + "[status = 'I' or status = 'U']", "replace", model, model); //2010.04.17 JJE
  2390. model.setValue("/root/send/cond3", "2");
  2391. if (submit("TXMQP01403", false)) { //약속처방 삭제 (set = del + ins )
  2392. appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" ); //검색라인추가
  2393. model.refresh();
  2394. model.recalculate();
  2395. }
  2396. }
  2397. //model.removenode("/root/send/cond3");
  2398. model.removeNodeset("/root/send/cond1/prcplist");
  2399. //## 필수 처방 저장 후 정보 삭제
  2400. model.removenode("/root/send/prcpessninfo");
  2401. return true;
  2402. }
  2403. /**
  2404. * @group :
  2405. * @ver : 2007.07
  2406. * @by : 전지은
  2407. * @---------------------------------------------------
  2408. * @type : function
  2409. * @access : public
  2410. * @desc : 한줄 삭제시, flag 가 D 로 바뀌고, 바로 DB에 삭제여부 컬럼을 업데이트 한다.
  2411. * @param :
  2412. * @return :
  2413. * @---------------------------------------------------
  2414. */
  2415. function fPrcpDeleteRow(){
  2416. //fDeleteRow();
  2417. //해당 라인을 바로 삭제한다.
  2418. //fInsPrmsPrcp("D");
  2419. fDeleteRow();
  2420. }
  2421. /**
  2422. * @group :
  2423. * @ver : 2007.07
  2424. * @by : 전지은
  2425. * @---------------------------------------------------
  2426. * @type : function
  2427. * @access : public
  2428. * @desc : 불러온 서식 코드를 삭제한다.
  2429. * @param :
  2430. * @return :
  2431. * @---------------------------------------------------
  2432. */
  2433. function fDelFormCd(){
  2434. if(grd_formlist.row < 1){
  2435. return;
  2436. } else{
  2437. var status = grd_formlist.rowStatus(grd_formlist.row);
  2438. if(status == 1){
  2439. grd_formlist.deleteRow(grd_formlist.row, true);
  2440. }else{
  2441. grd_formlist.rowStatus(grd_formlist.row)= 4;
  2442. model.makeNode(formRef + "[" + grd_formlist.row + "]/status");
  2443. model.setValue(formRef + "[" + grd_formlist.row + "]/status", "d");
  2444. }
  2445. }
  2446. }
  2447. /**
  2448. * @group :
  2449. * @ver : 2007.07
  2450. * @by : 전지은
  2451. * @---------------------------------------------------
  2452. * @type : function
  2453. * @access : public
  2454. * @desc : 처방set 정보를 삭제한다(삭제구분 을 Y 로 set 한다) (SMMMB0600, fSavePrmsDiagSet())
  2455. * @param :
  2456. * @return :
  2457. * @---------------------------------------------------
  2458. */
  2459. function delPrmsPrcpSetInfo(delSetInfoCSV){
  2460. model.makeNode("/root/send/savedata");
  2461. model.setValue("/root/send/savedata", delSetInfoCSV);
  2462. if(submit("TXMQP01402")){
  2463. //버튼 탭 컨트롤 삭제
  2464. //버튼 탭 refresh
  2465. }
  2466. model.removeNodeset("/root/send/savedata");
  2467. }
  2468. //바뀐 셋번호로 다시 셋팅한다
  2469. function fSetStepSetNo(steplist){
  2470. var steplist = opener.model.getValue("/root/main/temp/selectedstep/csvlist");
  2471. var lnght = steplist.split("▩").length;
  2472. for(var i=1; i<lnght-1; i++){
  2473. var rowdata = steplist.split("▩")[i];
  2474. var no = rowdata.split("▦")[0];
  2475. var flag = rowdata.split("▦")[1];
  2476. var set = rowdata.split("▦")[9];
  2477. var nm = rowdata.split("▦")[12];
  2478. var btn_txt = flag + no;
  2479. var settype = opener.model.getValue("/root/main/steplist/info[stepno='"+no+"']/settypecd");
  2480. if( isNull(settype) ) settype = opener.model.getValue("/root/main/outlineinfo/info/cpgflagcd");
  2481. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/stepno", no);
  2482. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/setno", set);
  2483. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/settypecd", settype);
  2484. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/setnm", btn_txt);
  2485. model.makeValue("/root/temp/steplist/stepinfo[ " + i + " ]/stepnm", nm);
  2486. }
  2487. model.setValue("/root/hidden/prmsprcpsetdetlset/setno", model.getValue("/root/temp/steplist/stepinfo[ " + stepNo + " ]/setno") );
  2488. //alert("바뀐값" + model.getValue("/root/hidden/prmsprcpsetdetlset/setno"));
  2489. }
  2490. function fCpMouseRghtBtnPopup() { // SMMMO00100.js의 fMouseRghtBtnPopup()
  2491. if (event.button == 3) {
  2492. if(grd_prcplist.isCell(event.target) && grd_prcplist.mouseRow >= grd_prcplist.fixedRows){
  2493. app.showPopupMenu(true);
  2494. var prcpgenrflag = model.getValue ( "/root/patflag/list/prcpgenrflag" );
  2495. if ( prcpgenrflag == "O" ) {
  2496. setPopupMenu("grd_prcplist", false, "/root/init/omsrght/mouserght", "label", "func");
  2497. } else if ( prcpgenrflag == "E" ) {
  2498. setPopupMenu("grd_prcplist", false, "/root/init/emsrght/mouserght", "label", "func");
  2499. } else {
  2500. setPopupMenu("grd_prcplist", false, "/root/init/imsrght/mouserght", "label", "func");
  2501. }
  2502. } else {
  2503. window.setPopupMenu(false);
  2504. }
  2505. }
  2506. }
  2507. /**
  2508. * @group :
  2509. * @ver : 2007.07
  2510. * @by : 전지은
  2511. * @---------------------------------------------------
  2512. * @type : function
  2513. * @access : public
  2514. * @desc : 불러온 서식 코드를 삭제한다.
  2515. * @param :
  2516. * @return :
  2517. * @---------------------------------------------------
  2518. */
  2519. function fSetemptyVal(){
  2520. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[prcpexecdeptcd='']");
  2521. if( nodeList.length >= 1 ){
  2522. for(var i=0; i<nodeList.length; i++){
  2523. var node = nodeList.item(i);
  2524. var prcpexecdeptcd = node.selectSingleNode("prcpexecdeptcd");
  2525. model.setValue(prcpexecdeptcd, "-");
  2526. }
  2527. }
  2528. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[asttestflag='']");
  2529. if( nodeList.length >= 1 ){
  2530. for(var i=0; i<nodeList.length; i++){
  2531. var node = nodeList.item(i);
  2532. var asttestflag = node.selectSingleNode("asttestflag");
  2533. model.setValue(asttestflag, "N");
  2534. }
  2535. }
  2536. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[hosinhosoutflag='']");
  2537. if( nodeList.length >= 1 ){
  2538. for(var i=0; i<nodeList.length; i++){
  2539. var node = nodeList.item(i);
  2540. var hosinhosoutflag = node.selectSingleNode("hosinhosoutflag");
  2541. model.setValue(hosinhosoutflag, "-");
  2542. }
  2543. }
  2544. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[hosinprcpresncd='']");
  2545. if( nodeList.length >= 1 ){
  2546. for(var i=0; i<nodeList.length; i++){
  2547. var node = nodeList.item(i);
  2548. var hosinprcpresncd = node.selectSingleNode("hosinprcpresncd");
  2549. model.setValue(hosinprcpresncd, "00");
  2550. }
  2551. }
  2552. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[clincstdyflag='']");
  2553. if( nodeList.length >= 1 ){
  2554. for(var i=0; i<nodeList.length; i++){
  2555. var node = nodeList.item(i);
  2556. var clincstdyflag = node.selectSingleNode("clincstdyflag");
  2557. model.setValue(clincstdyflag, "N");
  2558. }
  2559. }
  2560. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist[prepprcpflag='']");
  2561. if( nodeList.length >= 1 ){
  2562. for(var i=0; i<nodeList.length; i++){
  2563. var node = nodeList.item(i);
  2564. var prepprcpflag = node.selectSingleNode("prepprcpflag");
  2565. model.setValue(prepprcpflag, "N");
  2566. }
  2567. }
  2568. }
  2569. /**
  2570. * @group :
  2571. * @ver : 2008.07.02
  2572. * @by : 마정민 (수정자 pymi)
  2573. * @---------------------------------------------------
  2574. * @type : function
  2575. * @access : public
  2576. * @desc : 용량, 수량, 횟수를 수정했을 때 값계산
  2577. * 수정이력: A2, 4, 6, B4 Null 처방은 계산하지 않도록 수정 (2008.07.02 pymi)
  2578. * @param : flag(용량, 수량, 횟수 변경 구분), curRow(수정할 현재 row)
  2579. * @return :
  2580. * @---------------------------------------------------
  2581. */
  2582. function cpDrugCalc ( flag, curRow ) {
  2583. var pclscd = model.getValue ( prcpNode + "[" + curRow + "]/prcpclscd" );
  2584. if( pclscd != "A2" && pclscd != "A4" && pclscd != "A6" && pclscd != "B4") {
  2585. var PrcpVol = model.getValue ( prcpNode + "[" + curRow + "]/prcpvol" );
  2586. if ( isNull(PrcpVol) || PrcpVol == 0 ) {
  2587. PrcpVol = "1";
  2588. }
  2589. var PrcpQty = model.getValue ( prcpNode + "[" + curRow + "]/prcpqty" );
  2590. if ( isNull(PrcpQty) || PrcpQty == 0 ){
  2591. PrcpQty = "1";
  2592. }
  2593. var PrcpTims = model.getValue (prcpNode + "[" + curRow + "]/prcptims" );
  2594. if ( isNull(PrcpTims) || PrcpTims == 0 ) {
  2595. PrcpTims = "1";
  2596. }
  2597. var bfPrcpVol = model.getValue ( "/root/drugcalc/prcpvol" );
  2598. if ( isNull(bfPrcpVol) || bfPrcpVol == 0 ) {
  2599. bfPrcpVol = "1";
  2600. }
  2601. var bfPrcpQty = model.getValue ( "/root/drugcalc/prcpqty" );
  2602. if ( isNull(bfPrcpQty) || bfPrcpQty == 0 ) {
  2603. bfPrcpQty = "1";
  2604. }
  2605. var bfprcpTims = model.getValue ( "/root/drugcalc/prcptims" );
  2606. if ( isNull(bfprcpTims) || bfprcpTims == 0 ) {
  2607. bfprcpTims = "1";
  2608. }
  2609. var calcPrcpVol = 0;
  2610. var calcPrcpQty = 0;
  2611. if ( flag == "prcpvol" ) { // 용량을 수정했을 때: 수량 자동계산
  2612. calcPrcpQty = eval(PrcpVol) / eval(bfPrcpVol) * eval(PrcpQty)*1000;
  2613. calcPrcpQty = Math.round(calcPrcpQty)/1000;
  2614. model.setValue ( prcpNode + "[" + curRow + "]/prcpqty", calcPrcpQty );
  2615. } else if ( flag == "prcpqty" ) { // 수량을 수정했을 때: 용량 자동계산
  2616. calcPrcpVol = eval(PrcpQty) / eval(bfPrcpQty) * eval(PrcpVol)*1000;
  2617. calcPrcpVol = Math.round(calcPrcpVol)/1000;
  2618. model.setValue ( prcpNode + "[" + curRow + "]/prcpvol", calcPrcpVol );
  2619. }
  2620. /* else if ( flag == "prcptims" ) { // 횟수 수정했을 때: 용량, 수량 자동계산
  2621. calcPrcpVol = PrcpTims / bfprcpTims * PrcpVol;
  2622. calcPrcpQty = PrcpTims / bfprcpTims * PrcpQty;
  2623. model.setValue ( prcpNode + "[" + grd_prcplist.row + "]/prcpvol", calcPrcpVol );
  2624. model.setValue ( prcpNode + "[" + grd_prcplist.row + "]/prcpqty", calcPrcpQty );
  2625. }
  2626. */
  2627. }
  2628. }
  2629. /**
  2630. * @group :
  2631. * @ver : 2010.04.26
  2632. * @by : 전지은
  2633. * @---------------------------------------------------
  2634. * @type : function
  2635. * @access : public
  2636. * @desc : CPG 필수처방 셋 등록
  2637. * @param :
  2638. * @return :
  2639. * @---------------------------------------------------
  2640. */
  2641. function fEssPrmsPrcp(){
  2642. if (btn_essprcp.selected) {
  2643. model.setValue("/root/init/prmsautoflag", "N");
  2644. if( model.getValue ( "/root/cp" ) != "Y" ){
  2645. ivw_prcp.window.javascript.fPrmsSave();
  2646. }else{
  2647. ivw_prcp2.window.javascript.fPrmsSave();
  2648. }
  2649. } else {
  2650. btn_essprcp.dispatch ( "DOMActivate" );
  2651. btn_essprcp.selected = true;
  2652. // 약속처방 폴더선택이 없는 경우 자동등록 처리
  2653. model.setValue("/root/init/prmsautoflag", "Y");
  2654. if( model.getValue ( "/root/cp" ) != "Y" ){
  2655. ivw_prcp.window.javascript.fPrmsSave();
  2656. }else{
  2657. ivw_prcp2.window.javascript.fPrmsSave();
  2658. }
  2659. }
  2660. }
  2661. /**
  2662. * @group :
  2663. * @ver : 2010.04.26
  2664. * @by : 전지은
  2665. * @---------------------------------------------------
  2666. * @type : function
  2667. * @access : public
  2668. * @desc : CPG 선택필수 처방 조회
  2669. * @param :
  2670. * @return :
  2671. * @---------------------------------------------------
  2672. */
  2673. function fGetEssPrmsPrcpList(){
  2674. submit("TRMQP01404");
  2675. model.removeNodeset("/root/send/essprmsdata");
  2676. if( grd_essprcplist.visible == false ){
  2677. grd_essprcplist.visible = true;
  2678. btn_cnclessprcp.visible = true;
  2679. }
  2680. }
  2681. /**
  2682. * @group :
  2683. * @ver : 2010.06.27
  2684. * @by : 전지은
  2685. * @---------------------------------------------------
  2686. * @type : function
  2687. * @access : public
  2688. * @desc : /"필수처방 미발행사유 문진" 추가에 따른 재조회
  2689. * @param :
  2690. * @return :
  2691. * @---------------------------------------------------
  2692. */
  2693. function fInitMainAttList(flag){
  2694. opener.window.javascript.fInitMainAttList(flag);
  2695. }
  2696. function fLoadForm() {
  2697. var prnt = parent.parent;
  2698. prnt.javascript.fCreateViewer();
  2699. //body.createChild("xforms:group", "id:cap1;left:400px; top:235px; width:300px; height:150px; ");
  2700. prnt.ivw_loader.src = "../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw";
  2701. prnt.grp_form.visible = true;
  2702. prnt.ivw_loader.visible = true;
  2703. prnt.btn_hide.visible = true;
  2704. var formrecseq = model.getValue(grd_formlist.nodeset+"["+grd_formlist.row+"]/formrecseq");
  2705. //formrecseq = "1300000003757728";
  2706. var formcd = model.getValue(grd_formlist.nodeset+"["+grd_formlist.row+"]/formcd");
  2707. var calledflag = "cpgmain|" + formrecseq;
  2708. var recdd = model.getValue("/root/main/masterinfo/info/lastupdtdt").substring(0, 8);
  2709. //alert("formcd :"+formcd+",formrecseq :"+formrecseq);
  2710. if (formrecseq != null && formrecseq != "")
  2711. {
  2712. fOpenRecForm(formcd, formrecseq, calledflag);
  2713. }
  2714. else
  2715. {
  2716. prnt.ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", recdd);
  2717. fOpenNewForm(formcd, calledflag);
  2718. }
  2719. prnt.ivw_outline.visible = false;
  2720. //parent.parent.ivw_detail.visible = false;
  2721. }
  2722. /**
  2723. * @desc : 서식 오픈
  2724. * @id :
  2725. * @event :
  2726. * @return : void
  2727. * @authur : 박종훈
  2728. */
  2729. function fOpenNewForm(formcd, calledflag)
  2730. {
  2731. parent.parent.ivw_loader.window.javascript.fLoadNewForm(formcd, null, calledflag);
  2732. //fDefaultBtnClick();// 치과기록 닫기 ivew 조건 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101222 경북대)
  2733. }
  2734. /*
  2735. * @desc : 기록된 서식 오픈
  2736. * @id :
  2737. * @event : xforms-select
  2738. * @return : void
  2739. * @authur : 박종훈
  2740. */
  2741. function fOpenRecForm(formcd, formrecseq, calledflag)
  2742. {
  2743. parent.parent.ivw_loader.window.javascript.setParameter("userdeptcd", getUserInfo("dutplcecd"));
  2744. parent.parent.ivw_loader.window.javascript.fLoadRecForm(formrecseq, null, calledflag);
  2745. }
  2746. ]]>
  2747. </script>
  2748. </xhtml:head>
  2749. <xhtml:body overflow="hidden" pagewidth="1192" idprefix="import">
  2750. <group id="grp_contents" style="left:0px; top:0px; width:1192px; height:652px; margin-left:0; margin-top:0; margin-right:0; margin-bottom:0; ">
  2751. <datagrid id="grd_formlist" nodeset="/root/main/form/forminfo/formlist" caption="서식코드^서식이름^작성자^순번^의뢰구분^의뢰명^수신과^수신자^컨설트내용^서식기록순번" colsep="^" colwidth="0, 199, 57, 35, 0, 0, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:970px; top:47px; width:221px; height:603px; ">
  2752. <col ref="formcd" visibility="hidden"/>
  2753. <col ref="formnm"/>
  2754. <col ref="formwritflag" type="combo" visibility="hidden">
  2755. <choices>
  2756. <itemset nodeset="/root/init/M0094list/M0094">
  2757. <label ref="cdnm"/>
  2758. <value ref="cdid"/>
  2759. </itemset>
  2760. </choices>
  2761. </col>
  2762. <col ref="formseq" visibility="hidden"/>
  2763. <col ref="cnstflag" visibility="hidden"/>
  2764. <col ref="cnstclsnm" visibility="hidden"/>
  2765. <col ref="recvdeptcd" visibility="hidden"/>
  2766. <col ref="recvuserid" visibility="hidden"/>
  2767. <col ref="cnstcnts" visibility="hidden"/>
  2768. <col ref="formrecseq" visibility="hidden"/>
  2769. <script type="javascript" ev:event="onmousedown">
  2770. <![CDATA[
  2771. if( opener.window.javascript.checkAuth("X") ){
  2772. if(event.button == 3){
  2773. if(grd_formlist.isCell(event.target) && grd_formlist.mouseRow >= grd_formlist.fixedrows){
  2774. window.setPopupMenu(true, "/root/main/form/menu/item", "name", "func", false);
  2775. }else{
  2776. window.setPopupMenu(false);
  2777. }
  2778. }
  2779. }
  2780. ]]>
  2781. </script>
  2782. <script type="javascript" ev:event="DOMFocusOut">
  2783. <![CDATA[
  2784. window.setPopupMenu(false);
  2785. ]]>
  2786. </script>
  2787. <script type="javascript" ev:event="ondblclick">
  2788. <![CDATA[
  2789. /*
  2790. if(grd_formlist.isCell(event.target) ){
  2791. var mainObj = getMainViewer();
  2792. var sRow = grd_formlist.mouseRow;
  2793. if( sRow >= grd_formlist.fixedRows ) {
  2794. var formProgFlag = model.getValue("/root/main/form/forminfo/formlist["+ grd_formlist.row +"]/formprogflag");
  2795. if( formProgFlag == "OCR" ){
  2796. //OCR(동의서)
  2797. mainObj.window.javascript.open("SMMRF02300");
  2798. }else if( formProgFlag == "PROF" ){
  2799. //제증명
  2800. mainObj.window.javascript.open("SMMRF02900");
  2801. }else{
  2802. //서식
  2803. //fOpenRec();
  2804. var formcd = model.getValue("/root/main/form/forminfo/formlist["+ grd_formlist.row +"]/formcd");
  2805. var formrecseq = model.getValue("/root/main/form/forminfo/formlist["+ grd_formlist.row +"]/formrecseq");
  2806. var seq = model.getValue("/root/main/form/forminfo/formlist["+ grd_formlist.row +"]/formseq");
  2807. var calledflag = "cpgmain|" + seq; // 서식프로그램에서 알 수 있도록 CP구분자 + 서식 seq (필요하면 값을 더 추가)
  2808. //mainObj.window.javascript.fOpenFormByOther(formcd, formrecseq, calledflag);
  2809. mainObj.window.javascript.open("SSMMR01100");
  2810. }
  2811. }
  2812. }
  2813. */
  2814. if (grd_formlist.row>0 && grd_formlist.row <= grd_formlist.rows) {
  2815. var recvdeptcd = model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/recvdeptcd") ;
  2816. if (!(isNull(recvdeptcd))) {
  2817. if (recvdeptcd != "-") {
  2818. setParameter("SPMQP03700_edit", "Y");
  2819. setParameter("SPMQP03700_rtn", "");
  2820. setParameter("SPMQP03700_formcd" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/formcd"));
  2821. setParameter("SPMQP03700_cnstflag" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/cnstflag"));
  2822. setParameter("SPMQP03700_cnstclsnm" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/cnstclsnm"));
  2823. setParameter("SPMQP03700_recvdeptcd" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/recvdeptcd"));
  2824. setParameter("SPMQP03700_recvuserid" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/recvuserid"));
  2825. setParameter("SPMQP03700_cnstcnts" , model.getValue("/root/main/form/forminfo/formlist[" + grd_formlist.row + "]/cnstcnts"));
  2826. modal ( "SPMQP03700" );
  2827. if(!isNull(getParameter("SPMQP03700_formcd"))){
  2828. var rowcnt = grd_formlist.row;
  2829. if (getParameter("SPMQP03700_rtn") =="Y") {
  2830. if( isNull(model.getValue(formRef + "[" + rowcnt + "]/formseq")) ){
  2831. model.makeValue(formRef + "[" + rowcnt + "]/status" , "i");
  2832. model.makeValue(formRef + "[" + rowcnt + "]/formcd" , getParameter("SPMQP03700_formcd"));
  2833. model.makeValue(formRef + "[" + rowcnt + "]/cnstflag" , getParameter("SPMQP03700_cnstflag"));
  2834. model.makeValue(formRef + "[" + rowcnt + "]/formnm" , getParameter("SPMQP03700_cnstclsnm"));
  2835. model.makeValue(formRef + "[" + rowcnt + "]/recvdeptcd" , getParameter("SPMQP03700_recvdeptcd"));
  2836. model.makeValue(formRef + "[" + rowcnt + "]/recvuserid" , getParameter("SPMQP03700_recvuserid"));
  2837. model.makeValue(formRef + "[" + rowcnt + "]/cnstcnts" , getParameter("SPMQP03700_cnstcnts"));
  2838. model.makeValue(formRef + "[" + rowcnt + "]/cnstclsnm" , getParameter("SPMQP03700_cnstclsnm"));
  2839. grd_formlist.rowStatus(grd_formlist.row) = 1;
  2840. }
  2841. else{
  2842. model.setValue(formRef + "[" + rowcnt + "]/status" , "i");
  2843. grd_formlist.rowStatus(grd_formlist.row) = 2;
  2844. }
  2845. }
  2846. }
  2847. }
  2848. clearParameter("SPMQP03700_edit");
  2849. clearParameter("SPMQP03700_stepno");
  2850. clearParameter("SPMQP03700_formcd");
  2851. clearParameter("SPMQP03700_cnstflag");
  2852. clearParameter("SPMQP03700_cnstclsnm");
  2853. clearParameter("SPMQP03700_recvdeptcd");
  2854. clearParameter("SPMQP03700_recvuserid");
  2855. clearParameter("SPMQP03700_cnstcnts");
  2856. }
  2857. }
  2858. ]]>
  2859. </script>
  2860. </datagrid>
  2861. <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" caption="^상태^분류^종류^처방코드^처방명^총용량^1회용량^1회용량^1회수량^1회수량^1회수량^횟수^일수^급비^용법/검체^MIX^전달^원내외^시행부서^희망일자^선택진료^선택진료의^등록일시^등록자^마취확정필요여부^필수처방여부" colsep="^" colwidth="38, 55, 50, 55, 80, 240, 45, 44, 30, 37, 37, 30, 40, 37, 60, 153, 38, 40, 50, 100, 100, 55, 70, 80, 80, 80, 60" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" navindex="1" style="left:0px; top:47px; width:1190px; height:603px; ">
  2862. <col disabled="true" ref="status" type="combo" style="left:0px; top:23px; width:38px; height:23px; text-align:center; word-wrap:word; focus-rect:visible; ">
  2863. <choices>
  2864. <item>
  2865. <label>검색</label>
  2866. <value>S</value>
  2867. </item>
  2868. <item>
  2869. <label>신규</label>
  2870. <value>I</value>
  2871. </item>
  2872. <item>
  2873. <label>삭제</label>
  2874. <value>D</value>
  2875. </item>
  2876. <item>
  2877. <label>D/C</label>
  2878. <value>C</value>
  2879. </item>
  2880. <item>
  2881. <label>-</label>
  2882. <value>-</value>
  2883. </item>
  2884. <item>
  2885. <label>수정</label>
  2886. <value>U</value>
  2887. </item>
  2888. </choices>
  2889. </col>
  2890. <col disabled="true" ref="prcpstatcd" type="combo" style="text-align:center; focus-rect:visible; ">
  2891. <choices>
  2892. <itemset nodeset="/root/init/prcpstatcd/M0011">
  2893. <label ref="cdnm"/>
  2894. <value ref="cdid"/>
  2895. </itemset>
  2896. </choices>
  2897. </col>
  2898. <col ref="prcpclscd" type="combo" visibility="hidden" style="text-align:left; focus-rect:visible; ">
  2899. <choices>
  2900. <itemset nodeset="/root/init/prcpclscd/M0005">
  2901. <label ref="cdnm"/>
  2902. <value ref="cdid"/>
  2903. </itemset>
  2904. </choices>
  2905. </col>
  2906. <col class="gridcombo" ref="prcpkindcd" type="combo" style="text-align:center; focus-rect:visible; ">
  2907. <choices>
  2908. <itemset nodeset="/root/init/prcpkindcd/M0003">
  2909. <label ref="cdnm"/>
  2910. <value ref="cdid"/>
  2911. </itemset>
  2912. </choices>
  2913. </col>
  2914. <col ref="prcpcd" type="input" style="text-align:left; focus-rect:visible; "/>
  2915. <col ref="prcpnm" type="input" style="text-align:left; focus-rect:visible; "/>
  2916. <col ref="prcpvol" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  2917. <col ref="drprcpetc7" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  2918. <col ref="prcpvolunitnm" type="output" style="text-align:center; focus-rect:visible; "/>
  2919. <col ref="prcpqty" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  2920. <col ref="drprcpetc8" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  2921. <col ref="prcpqtyunitnm" style="text-align:center; focus-rect:visible; "/>
  2922. <col ref="prcptims" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  2923. <col ref="prcpdayno" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  2924. <col ref="payflagcd" type="combo">
  2925. <choices>
  2926. <itemset nodeset="/root/init/payflagcd/M0029">
  2927. <label ref="cdnm"/>
  2928. <value ref="cdid"/>
  2929. </itemset>
  2930. </choices>
  2931. </col>
  2932. <col ref="drugmthdspccdnm" type="output" style="focus-rect:visible; "/>
  2933. <col ref="prcpmixno" type="input" style="focus-rect:visible; "/>
  2934. <col ref="prcpdelivefact" style="focus-rect:visible; "/>
  2935. <col disabled="true" ref="hosinhosoutflag" type="combo" style="text-align:center; focus-rect:visible; ">
  2936. <choices>
  2937. <item>
  2938. <label>원내</label>
  2939. <value>I</value>
  2940. </item>
  2941. <item>
  2942. <label>원외</label>
  2943. <value>O</value>
  2944. </item>
  2945. <item>
  2946. <label/>
  2947. <value/>
  2948. </item>
  2949. </choices>
  2950. </col>
  2951. <col class="gridcombo" disabled="true" ref="prcpexecdeptcd" type="combo" style="focus-rect:visible; ">
  2952. <choices>
  2953. <itemset nodeset="/root/orddept/dept">
  2954. <label ref="depthngnm"/>
  2955. <value ref="deptcd"/>
  2956. </itemset>
  2957. </choices>
  2958. </col>
  2959. <col ref="prcphopedd" type="inputdate" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; focus-rect:visible; "/>
  2960. <col checkvalue="Y,N" ref="choiordflag" type="checkbox" style="focus-rect:visible; "/>
  2961. <col disabled="true" ref="specdrid" type="combo" style="text-align:center; ">
  2962. <choices>
  2963. <itemset nodeset="/root/init/specdrinfo/usercombo">
  2964. <label ref="usernm"/>
  2965. <value ref="userid"/>
  2966. </itemset>
  2967. </choices>
  2968. </col>
  2969. <col ref="rgsttm" visibility="hidden" format="yyyy-mm-dd"/>
  2970. <col ref="rgstridnm" visibility="hidden"/>
  2971. <col checkvalue="Y,N" ref="anstcnfmneedyn" type="checkbox" style="focus-rect:visible; "/>
  2972. <col checkvalue="Y,N" ref="essnprcpyn" type="checkbox" style="focus-rect:visible; "/>
  2973. <script type="javascript" ev:event="onendedit">
  2974. <![CDATA[
  2975. // editcell 상황에서 tab 키 누르면 화면 죽는 현상(TF문제 no, 컬럼 비교 분기에서 func 콜 하면서 로직 꼬임 detail 추후 파악 우선은 return) - 20080827 emr msh
  2976. if (event.keyCode == "9") {
  2977. return ;
  2978. }
  2979. var currow = grd_prcplist.row;
  2980. if ( grd_prcplist.col == grd_prcplist.colref("prcpnm")) {
  2981. if ( model.getValue ( "/root/main/prcp/prcplist[" + currow + "]/prcpflag" ) != "2" ) {
  2982. //fPrcpSrch("prcpnm");
  2983. fStepPrcpSrch("prcpnm");
  2984. }
  2985. // insert 키로 그리드 추가 후 처방명 변경 시 orgprcpnm 변경 데이타로 업데이트
  2986. if ( model.getValue ( "/root/main/prcp/prcplist[" + currow + "]/prcpcd" ) == "000000000033" ) {
  2987. model.setValue ( "/root/main/prcp/prcplist[" + currow + "]/orgprcpnm", model.getValue("/root/main/prcp/prcplist[" + currow + "]/prcpnm"));
  2988. }
  2989. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpcd")) {
  2990. //fPrcpSrch("prcpcd");
  2991. fStepPrcpSrch("prcpcd");
  2992. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpdayno")) {
  2993. fGridfBatIpt( "prcpdayno" );
  2994. // 일수에서 엔터를 치면 nextrow가 검색row일때 prcpcd 컬럼 활성 - 20080825 emr msh
  2995. if(event.keyCode == "13") {
  2996. var nextrow = currow +1 ;
  2997. var status = model.getValue("root/main/prcp/prcplist[" + nextrow + "]/status") ;
  2998. if (status == "S"){
  2999. grd_prcplist.row = nextrow;
  3000. grd_prcplist.col = grd_prcplist.colref("prcpcd");
  3001. grd_prcplist.editCell();
  3002. }
  3003. }
  3004. } else if ( grd_prcplist.col == grd_prcplist.colref("prcptims")) {
  3005. fGridfBatIpt( "prcptims" );
  3006. if ( grd_prcplist.selectedrow(0) == -1 && event.keyCode != "13" ) {
  3007. fBaseMthd(currow);
  3008. }
  3009. if(event.keyCode == "13") {
  3010. grd_prcplist.col = grd_prcplist.colref("prcpdayno");
  3011. grd_prcplist.row = currow;
  3012. //model.setfocus( "grd_prcplist" );
  3013. grd_prcplist.editCell();
  3014. }
  3015. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpqty")) {
  3016. DrugCalc ( "prcpqty" , grd_prcplist.row);
  3017. fGridfBatIpt( "prcpqty" );
  3018. if(event.keyCode == "13") {
  3019. grd_prcplist.col = grd_prcplist.colref("prcptims");
  3020. grd_prcplist.row = currow;
  3021. //model.setfocus( "grd_prcplist" );
  3022. grd_prcplist.editCell();
  3023. }
  3024. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpvol") ) {
  3025. DrugCalc ("prcpvol" , grd_prcplist.row);
  3026. if(event.keyCode == "13") {
  3027. grd_prcplist.row = currow;
  3028. grd_prcplist.col = grd_prcplist.colref("prcpqty");
  3029. //model.setfocus( "grd_prcplist" );
  3030. grd_prcplist.editCell();
  3031. }
  3032. /**
  3033. *<standard>
  3034. *개발일시: 2010.09.14
  3035. *개발자: 마정민
  3036. *요청병원: 경북대
  3037. *요청파트: 진료
  3038. *개발내용: 일회용량표시
  3039. *</standard>
  3040. */
  3041. } else if ( grd_prcplist.col == grd_prcplist.colref("drprcpetc7") ) {
  3042. gGridUpdateChk("per", grd_prcplist.row);
  3043. DrugCalc ("drprcpetc7" , grd_prcplist.row);
  3044. if(event.keyCode == "13") {
  3045. grd_prcplist.row = currow;
  3046. grd_prcplist.col = grd_prcplist.colref("drprcpetc8");
  3047. grd_prcplist.editCell();
  3048. }
  3049. } else if ( grd_prcplist.col == grd_prcplist.colref("drprcpetc8")) {
  3050. DrugCalc ( "drprcpetc8" , grd_prcplist.row);
  3051. if (event.keyCode != "9") { //tab key 선택시 화면이 죽는 현상이 있다.
  3052. fGridfBatIpt( "drprcpetc8" );
  3053. }
  3054. if(event.keyCode == "13") {
  3055. grd_prcplist.col = grd_prcplist.colref("prcptims");
  3056. grd_prcplist.row = currow;
  3057. grd_prcplist.editCell();
  3058. }
  3059. }
  3060. ]]>
  3061. </script>
  3062. <script type="javascript" ev:event="ondblclick">
  3063. <![CDATA[
  3064. var i = grd_prcplist.row;
  3065. var prcpclscd = model.getValue( "/root/main/prcp/prcplist[" + i + "]/prcpclscd");
  3066. var status = model.getValue( "/root/main/prcp/prcplist[" + i + "]/status");
  3067. if ( status == "D" ) {
  3068. messageBox ( "삭제처방은 수정할 수", "I004");
  3069. return;
  3070. }
  3071. if( grd_prcplist.isCell(event.target) && i >= grd_prcplist.fixedRows ){
  3072. //새로 추가한 처방은 orghosinprcpresncd 컬럼이 없으므로, 저장 전 생성해줌. (2009.07.21)
  3073. if( model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinhosoutflag") == "I" && isNull(model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinprcpresncd")) ){
  3074. model.setValue( ref + "[" + i + "]/hosinhosoutflag", "O" );
  3075. model.setValue( ref + "[" + i + "]/hosinprcpresncd", "00" );
  3076. }
  3077. if( instance1.selectSingleNode("/root/main/prcp/prcplist[" + i + "]/orghosinhosoutflag") == null ){
  3078. model.makeNode(ref + "[" + i + "]/nullvalexistyn");
  3079. model.makeNode(ref + "[" + i + "]/nullcolumncd");
  3080. model.makeNode(ref + "[" + i + "]/anstcnfmneedyn");
  3081. model.makeValue("/root/main/prcp/prcplist[" + i + "]/orghosinhosoutflag", model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinhosoutflag"));
  3082. model.makeValue("/root/main/prcp/prcplist[" + i + "]/orghosinprcpresncd", model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinprcpresncd"));
  3083. }
  3084. if ( grd_prcplist.col == grd_prcplist.colref("drugmthdspccdnm") && status != "S" ) {
  3085. if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  3086. fPrcpModal ("SPMMO01900", 500, 200);
  3087. } else if ( prcpclscd == "B2" || prcpclscd == "B4" || prcpclscd == "B6" ) {
  3088. fGetSpc (i, "", "", "Y");
  3089. }
  3090. } else if ( grd_prcplist.col == "15" && status != "S" ) {
  3091. fPrcpdelivefact( "M" );
  3092. } else if ( status != "S" ) {
  3093. fPrcpDetl();
  3094. }
  3095. }
  3096. ]]>
  3097. </script>
  3098. <script type="javascript" ev:event="onmousedown">
  3099. <![CDATA[
  3100. var patPlanYN = opener.javascript.getParameter("patplanyn");
  3101. if( patPlanYN == "Y" ){
  3102. fCpMouseRghtBtnPopup();
  3103. return;
  3104. }
  3105. else if( opener.window.javascript.checkAuth("X") ){
  3106. if( instance1.selectSingleNode( ref + "[status='I' and nullvalexistyn!='Y' and nullvalexistyn!='N']" ) != null ){
  3107. fMakeNullNode();
  3108. }
  3109. fCpMouseRghtBtnPopup();
  3110. }
  3111. ]]>
  3112. </script>
  3113. <script type="javascript" ev:event="xforms-value-changed">
  3114. <![CDATA[
  3115. // 외래, 주사(A6)인 경우, 일수 변경시 달력화면을 띄움 2008.05.29 오지훈
  3116. // 자가(self)약처방인 경우, 달력화면을 띄우지 않음 2008.07.08 오지훈
  3117. if(grd_prcplist.col == grd_prcplist.colRef("prcpdayno")){
  3118. fDayValChnged() ;
  3119. }
  3120. //CP에 추가된 check, 수술처방 이외일 경우, 수술마취확정필요여부 Y 설정 불가능 (2008.11.17)
  3121. /*
  3122. var selectedRows = grd_prcplist.selectedRows;
  3123. for (var i=0; i< selectedRows; i++) {
  3124. if( model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/anstcnfmneedyn") == "Y" && model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/status") != "H2" ){
  3125. //message();
  3126. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/anstcnfmneedyn", "N" );
  3127. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/status", "U" );
  3128. }
  3129. }
  3130. */
  3131. else if(grd_prcplist.col == grd_prcplist.colRef("anstcnfmneedyn")){
  3132. if( model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpclscd") != "H2" ){
  3133. model.makeValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/anstcnfmneedyn", "" );
  3134. messageBox ( "수술처방이어야 마취확정필요여부를 설정할 수", "I010");
  3135. return;
  3136. }else{
  3137. var anstTxt = grd_prcplist.labelmatrix(grd_prcplist.row, grd_prcplist.col);
  3138. model.makeValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/anstcnfmneedyn", anstTxt );
  3139. }
  3140. }
  3141. // 필수 처방 여부 추가 되어 값 설정. KIM HJ
  3142. /*else if(grd_prcplist.col == grd_prcplist.colRef("essnprcpyn")){
  3143. if( instance1.selectSingleNode("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/essnprcpyn") == null ){
  3144. model.makeValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/essnprcpyn", grd_prcplist.valuematrix(grd_prcplist.row, grd_prcplist.col));
  3145. }
  3146. }*/
  3147. if ( grd_prcplist.col == grd_prcplist.colref("choiordflag")) {
  3148. var choiordflag = model.getValue( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/choiordflag");
  3149. if ( choiordflag =="Y" ) {
  3150. //2011-01-12 mjm. 선택진료여부 체크시 선택진료의 팝업.
  3151. fChgChoiDr("auto", grd_prcplist.row);
  3152. } else {
  3153. model.setValue( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/specdrid", "-");
  3154. }
  3155. model.refresh();
  3156. }
  3157. fPrcpUpdate();
  3158. model.refresh();
  3159. model.recalculate();
  3160. if ( grd_prcplist.col == grd_prcplist.colref("payflagcd")) {
  3161. fGridfBatIpt( "payflagcd" );
  3162. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpkindcd")) {
  3163. fGridfBatIpt( "prcpkindcd" );
  3164. }
  3165. ]]>
  3166. </script>
  3167. <script type="javascript" ev:event="onstartedit">
  3168. <![CDATA[
  3169. if ( grd_prcplist.col == prcpVolCol) {
  3170. bfDrugCalc ( "prcpvol", grd_prcplist.row );
  3171. } else if ( grd_prcplist.col == prcpQtyCol) {
  3172. bfDrugCalc ( "prcpqty", grd_prcplist.row );
  3173. }
  3174. ]]>
  3175. </script>
  3176. <script type="javascript" ev:event="onkeydown">
  3177. <![CDATA[
  3178. if ( event.keycode == 46 ) {
  3179. model.setfocus( "grd_prcplist" );
  3180. } else if ( event.keycode == 45 ) {
  3181. model.setfocus( "grd_prcplist" );
  3182. }
  3183. ]]>
  3184. </script>
  3185. <script type="javascript" ev:event="onmouseup">
  3186. <![CDATA[
  3187. if ( grd_prcplist.selectedRows > 1 && grd_prcplist.col != grd_prcplist.colRef ( "prcpkindcd" ) && grd_prcplist.col != grd_prcplist.colref("payflagcd")) {
  3188. //model.setfocus( "grd_prcplist" );
  3189. grd_prcplist.editCell();
  3190. }
  3191. ]]>
  3192. </script>
  3193. <script type="javascript" ev:event="onentercell">
  3194. <![CDATA[
  3195. model.setValue ( "/root/init/bfpayflagcd", model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/payflagcd" ));
  3196. /*
  3197. //#원래 로직...
  3198. model.setfocus( "grd_prcplist" );
  3199. grd_prcplist.editCell();
  3200. */
  3201. ]]>
  3202. </script>
  3203. <script type="javascript" ev:event="onkeyup">
  3204. <![CDATA[
  3205. if ( event.keycode == 46 ) {
  3206. var currow = grd_prcplist.row;
  3207. fDeleteRow();
  3208. //model.setfocus( "grd_prcplist" );
  3209. grd_prcplist.row = currow;
  3210. } else if ( event.keycode == 45 ) {
  3211. //model.setfocus( "grd_prcplist" );
  3212. var insrow = 1;
  3213. if ( grd_prcplist.row == grd_prcplist.rows-1 ) {
  3214. insrow = grd_prcplist.rows - 1;
  3215. } else {
  3216. insrow = grd_prcplist.row+1;
  3217. }
  3218. model.copyNode ( "/root/prcpsrch", "/root/directprcp" );
  3219. var srchRow = addPrcpDetl ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , insrow, "00" );
  3220. //model.duplicate( model.instances(0).selectSingleNode( "/root/main/prcp" ), "/root/directprcp/prcplist", "*[" + insrow + "]");
  3221. model.recalculate();
  3222. grd_prcplist.refresh();
  3223. grd_prcplist.row = insrow;
  3224. grd_prcplist.col = grd_prcplist.colRef ( "prcpnm" );
  3225. model.setfocus( "grd_prcplist" );
  3226. grd_prcplist.editCell();
  3227. /*var prcpcd = model.getValue ( "root/initsrch/prcpinsertcnts/trgtcd" );
  3228. if ( !isNull(prcpcd)) {
  3229. var prcpdd = "";
  3230. if ( !isNull(model.getValue ( "/root/init/prcpdd" ))) {
  3231. prcpdd = model.getValue ( "/root/init/prcpdd" );
  3232. } else {
  3233. prcpdd = getCurrentDate();
  3234. }
  3235. var insrow = 1;
  3236. if ( grd_prcplist.row == grd_prcplist.rows-1 ) {
  3237. insrow = grd_prcplist.rows - 1;
  3238. } else {
  3239. insrow = grd_prcplist.row+1;
  3240. }
  3241. fPrcpSrchCom ( prcpcd, prcpdd, model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "-", false, "getPrcpCdSrchInfo" );
  3242. srchRow = addPrcpDetl ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , insrow, "00" );
  3243. model.recalculate();
  3244. model.refresh();
  3245. model.setfocus( "grd_prcplist" );
  3246. grd_prcplist.row = insrow;
  3247. grd_prcplist.col = grd_prcplist.colRef ( "prcpnm" );
  3248. grd_prcplist.editCell();
  3249. }*/
  3250. }
  3251. ]]>
  3252. </script>
  3253. </datagrid>
  3254. <iviewer id="ivw_prcp" visibility="hidden" style="left:800px; top:46px; width:385px; height:603px; "/>
  3255. <import id="import1" visibility="hidden" src="../../../emr/prcpmngtweb/xrw/SPMMO00500_그리드처방검색.xrw" style="left:0px; top:95px; width:800px; height:365px; "/>
  3256. <button id="btn_prcpsrch" class="btn_sw_bottom" group="prcp_tab" style="left:0px; top:1px; width:64px; height:22px; ">
  3257. <caption>처방검색</caption>
  3258. <script type="javascript" ev:event="DOMActivate">
  3259. <![CDATA[
  3260. ivwPrcpUseFlag = "";
  3261. if(ivw_prcp.visible == false){
  3262. ivw_prcp.attribute("src") = "../../../emr/prcpmngtweb/xrw/SMMMO02200_처방검색.xrw";
  3263. ivw_prcp.visible = true;
  3264. ivw_prcp.attribute("left") = "0px";
  3265. grd_prcplist.attribute("left") = "385px";
  3266. import1.attribute ( "left" ) = "386px";
  3267. ivw_prcp.trv_prcpclscdlist.attribute("height") = "475px";
  3268. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) - 385;
  3269. } else if(ivw_prcp.visible == true && ivw_prcp.attribute("src") != "../../../emr/prcpmngtweb/xrw/SMMMO02200_처방검색.xrw"){
  3270. ivw_prcp.attribute("src") = "../../../emr/prcpmngtweb/xrw/SMMMO02200_처방검색.xrw";
  3271. ivw_prcp.visible = true;
  3272. ivw_prcp.attribute("left") = "0px";
  3273. grd_prcplist.attribute("left") = "385px";
  3274. import1.attribute ( "left" ) = "386px";
  3275. ivw_prcp.trv_prcpclscdlist.attribute("height") = "475px";
  3276. }else {
  3277. ivw_prcp.visible = false;
  3278. ivw_prcp.attribute("left") = "805px";
  3279. grd_prcplist.attribute("left") = "0px";
  3280. import1.attribute ( "left" ) = "0px";
  3281. //grd_prcplist.attribute("width") = "965px";
  3282. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) + 385;
  3283. btn_prcpsrch.selected = false;
  3284. }
  3285. ]]>
  3286. </script>
  3287. </button>
  3288. <button id="btn_prmsprcp" class="btn_sw_bottom" group="prcp_tab" style="left:64px; top:1px; width:64px; height:22px; ">
  3289. <caption>약속처방</caption>
  3290. <script type="javascript" ev:event="DOMActivate">
  3291. <![CDATA[
  3292. ivwPrcpUseFlag = model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd");
  3293. if( ivw_prcp.visible == false){
  3294. ivw_prcp.attribute("src") = "../../../emr/prcpmngtweb/xrw/SMMMO02300_약속처방.xrw";
  3295. ivw_prcp.visible = true;
  3296. ivw_prcp.attribute("left") = "0px";
  3297. grd_prcplist.attribute("left") = "385px";
  3298. import1.attribute ("left") = "386px";
  3299. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) - 385;
  3300. if( ivw_prcp.attribute("src") == "../../../emr/prcpmngtweb/xrw/SMMMO02300_약속처방.xrw" ){
  3301. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno", model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno") );
  3302. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", ivwPrcpUseFlag );
  3303. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm", model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm") );
  3304. }
  3305. }else if(ivw_prcp.visible == true && ivw_prcp.attribute("src") != "../../../emr/prcpmngtweb/xrw/SMMMO02300_약속처방.xrw" ){
  3306. ivw_prcp.attribute("src") = "../../../emr/prcpmngtweb/xrw/SMMMO02300_약속처방.xrw";
  3307. ivw_prcp.visible = true;
  3308. ivw_prcp.attribute("left") = "0px";
  3309. ivw_prcp.line8.attribute("x2") = "375px";
  3310. ivw_prcp.trv_promprcpset.attribute("height") = "506px";
  3311. ivw_prcp.grd_promprcplist.attribute("width") = "195px";
  3312. ivw_prcp.grd_promprcplist.attribute("height") = "507px";
  3313. //ivw_prcp.grd_promprcplist.attribute("overflow") = "hidden";
  3314. grd_prcplist.attribute("left") = "385px";
  3315. import1.attribute ( "left" ) = "386px";
  3316. }else{
  3317. ivw_prcp.visible = false;
  3318. ivw_prcp.attribute("left") = "805px";
  3319. grd_prcplist.attribute("left") = "0px";
  3320. import1.attribute ( "left" ) = "0px";
  3321. //grd_prcplist.attribute("width") = "965px";
  3322. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) + 385;
  3323. btn_prmsprcp.selected = false;
  3324. }
  3325. ]]>
  3326. </script>
  3327. </button>
  3328. <button id="btn_essprcp" class="btn_sw_bottom" group="prcp_tab" style="left:128px; top:0px; width:64px; height:22px; ">
  3329. <caption>선택필수</caption>
  3330. <script type="javascript" ev:event="DOMActivate">
  3331. <![CDATA[
  3332. ivwPrcpUseFlag = "S";
  3333. if( ivw_prcp.visible == false){
  3334. if( ivw_prcp.attribute("src") == "../../../emr/cpgweb/xrw/SPMQP03800_약속처방.xrw" ){
  3335. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno", model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setno") );
  3336. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd", ivwPrcpUseFlag ); //model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/settypecd")
  3337. ivw_prcp.model.setValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm", model.getValue("/root/hidden/prmsprcpsetinfo/prmsprcpsetlist/setnm") );
  3338. }else{
  3339. ivw_prcp.attribute("src") = "../../../emr/cpgweb/xrw/SPMQP03800_약속처방.xrw";
  3340. }
  3341. ivw_prcp.attribute("left") = "0px";
  3342. grd_prcplist.attribute("left") = "385px";
  3343. import1.attribute ("left") = "386px";
  3344. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) - 385;
  3345. ivw_prcp.visible = true;
  3346. }else if(ivw_prcp.visible == true && ivw_prcp.attribute("src") != "../../../emr/cpgweb/xrw/SPMQP03800_약속처방.xrw" ){
  3347. ivw_prcp.attribute("src") = "../../../emr/cpgweb/xrw/SPMQP03800_약속처방.xrw";
  3348. ivw_prcp.visible = true;
  3349. ivw_prcp.attribute("left") = "0px";
  3350. ivw_prcp.line8.attribute("x2") = "375px";
  3351. ivw_prcp.trv_promprcpset.attribute("height") = "506px";
  3352. ivw_prcp.grd_promprcplist.attribute("width") = "195px";
  3353. ivw_prcp.grd_promprcplist.attribute("height") = "507px";
  3354. //ivw_prcp.grd_promprcplist.attribute("overflow") = "hidden";
  3355. grd_prcplist.attribute("left") = "385px";
  3356. import1.attribute ( "left" ) = "386px";
  3357. }else{
  3358. ivw_prcp.visible = false;
  3359. ivw_prcp.attribute("left") = "805px";
  3360. grd_prcplist.attribute("left") = "0px";
  3361. import1.attribute ( "left" ) = "0px";
  3362. //grd_prcplist.attribute("width") = "965px";
  3363. grd_prcplist.attribute("width") = parseInt(grd_prcplist.attribute("width")) + 385;
  3364. btn_prmsprcp.selected = false;
  3365. }
  3366. ]]>
  3367. </script>
  3368. </button>
  3369. <button id="btn_formsrch" class="btn2_letter4" visibility="hidden" style="left:1124px; top:26px; width:64px; height:19px; ">
  3370. <caption>서식목록</caption>
  3371. <script type="javascript" ev:event="DOMActivate">
  3372. <![CDATA[
  3373. setParameter("formlistflag","true");
  3374. setParameter("formcd", fCode);
  3375. setParameter("SPMMR01000_param_flag", "F");
  3376. var fCode = model.getValue("/root/hidden/formcd");
  3377. modal ( "SPMMR01000" );
  3378. /*
  3379. //var curObj = window.javascript.getOpenWindow("SMMMR02500");
  3380. var formTxt = model.getValue("/root/main/form/formcd");
  3381. setParameter("formcd", formTxt);
  3382. modal ( "SPMRF03600" );
  3383. */
  3384. if(getParameter("SPMMR01000_formcd_rtn") != ""){
  3385. grd_formlist.addRow();
  3386. var rowcnt = grd_formlist.rows - 1;
  3387. var value1 = getParameter("formcd");
  3388. var value2 = getParameter("formnm");
  3389. model.makeValue(formRef + "[" + rowcnt + "]/status", "i");
  3390. model.makeValue(formRef + "[" + rowcnt + "]/formcd", getParameter("SPMMR01000_formcd_rtn"));
  3391. model.makeValue(formRef + "[" + rowcnt + "]/formnm", getParameter("SPMMR01000_formnm_rtn"));
  3392. model.makeValue(formRef + "[" + rowcnt + "]/formseq", rowcnt);
  3393. }
  3394. clearParameter("formlistflag");
  3395. clearParameter("formcd");
  3396. clearParameter("formnm");
  3397. clearParameter("SPMMR01000_formcd_rtn"); //서식팝업에서 코드 추가 없이 close해도 이전에 추가한 코드가 붙었던 오류 수정 (2009.02.19 JJE)
  3398. ]]>
  3399. </script>
  3400. </button>
  3401. <treeview id="trv_prmsprcpsetlist" ref="/root/temp/trvprmsprcpsetlist" dragmode="true" dropmode="true" visibility="hidden" expanddepth="5" fullrowselect="false" itemsettype="depth" style="left:0px; top:500px; width:230px; height:110px; border-color:#c7a3cf; border-style:solid; ">
  3402. <itemset nodeset="/root/main/prmsprcpsetinfo/prmsprcpsetlist">
  3403. <label ref="setnm"/>
  3404. <value ref="setno"/>
  3405. <depth ref="levl"/>
  3406. </itemset>
  3407. </treeview>
  3408. <button id="btn_outline" class="btn2_letter8" visibility="hidden" style="left:775px; top:0px; width:108px; height:19px; ">
  3409. <caption>Outline Viewer</caption>
  3410. <script type="javascript" ev:event="DOMActivate">
  3411. <![CDATA[
  3412. opener.window.javascript.fViewDetailInfo();
  3413. ]]>
  3414. </script>
  3415. </button>
  3416. <button id="ivw_detail" class="btn4_letter2" visibility="hidden" style="left:885px; top:0px; width:56px; height:22px; ">
  3417. <caption>저장</caption>
  3418. <script type="javascript" ev:event="DOMActivate">
  3419. <![CDATA[
  3420. fExePrmsSetInfo();
  3421. ]]>
  3422. </script>
  3423. </button>
  3424. <button id="btn_del" class="btn2_letter2" visibility="hidden" style="left:730px; top:0px; width:42px; height:19px; ">
  3425. <caption>삭제</caption>
  3426. <script type="javascript" ev:event="DOMActivate">
  3427. <![CDATA[
  3428. deleteSelectedRows(grd_prcplist, true);
  3429. ]]>
  3430. </script>
  3431. </button>
  3432. <select1 id="cmb_prcpkind" ref="/root/init/prcpkindcd" class="combo_s_essential" visibility="visible" appearance="minimal" style="left:0px; top:27px; width:105px; height:19px; text-align:left; ">
  3433. <choices>
  3434. <itemset nodeset="/root/init/prcpkindcd/M0003">
  3435. <label ref="cdnm"/>
  3436. <value ref="cdid"/>
  3437. </itemset>
  3438. </choices>
  3439. <hint>
  3440. <![CDATA[처방종류]]>
  3441. </hint>
  3442. </select1>
  3443. <select1 id="cmb_choicenewform" ref="/root/hidden/choinewform" visibility="hidden" appearance="minimal" style="left:1000px; top:5px; width:15px; height:19px; ">
  3444. <choices>
  3445. <itemset nodeset="/root/main/formbaseset">
  3446. <label ref="formnminfo"/>
  3447. <value ref="formcd"/>
  3448. </itemset>
  3449. </choices>
  3450. <script type="javascript" ev:event="xforms-select">
  3451. <![CDATA[
  3452. fOpenNewFormByList();
  3453. ]]>
  3454. </script>
  3455. </select1>
  3456. <caption id="cap_choicenewform" class="search_name" visibility="hidden" style="left:970px; top:5px; width:15px; height:17px; ">구분 :</caption>
  3457. <input id="ipt_formcd" ref="/root/hidden/formcd" visibility="hidden" style="left:1015px; top:5px; width:15px; height:19px; "/>
  3458. <caption id="cap_formcd" class="search_name" visibility="hidden" style="left:985px; top:5px; width:13px; height:17px; ">서식</caption>
  3459. <select1 id="cmb_issdept" ref="/root/issdept" class="combo_s_essential" visibility="visible" appearance="minimal" style="left:107px; top:27px; width:97px; height:19px; text-align:left; ">
  3460. <choices>
  3461. <itemset nodeset="/root/issdept/dept">
  3462. <label ref="depthngnm"/>
  3463. <value ref="deptcd"/>
  3464. </itemset>
  3465. </choices>
  3466. <hint>
  3467. <![CDATA[처방 집계부서]]>
  3468. </hint>
  3469. </select1>
  3470. <button id="btn_editcell" visibility="hidden" style="left:205px; top:25px; width:100px; height:20px; ">
  3471. <caption>editcell</caption>
  3472. <script type="javascript" ev:event="DOMActivate">
  3473. <![CDATA[
  3474. model.setfocus( "grd_prcplist" );
  3475. grd_prcplist.editCell();
  3476. ]]>
  3477. </script>
  3478. </button>
  3479. <button id="button102" visibility="hidden" style="left:280px; top:25px; width:60px; height:20px; ">
  3480. <caption>진단검사</caption>
  3481. <script type="javascript" ev:event="DOMActivate">
  3482. <![CDATA[
  3483. modal ( "SPMMO02600" );
  3484. ]]>
  3485. </script>
  3486. </button>
  3487. <button id="button103" visibility="hidden" style="left:253px; top:25px; width:50px; height:20px; ">
  3488. <caption>응급</caption>
  3489. <script type="javascript" ev:event="DOMActivate">
  3490. <![CDATA[
  3491. setParameter ( "SMMMO00100_cond1", "Y" );
  3492. modal ( "SMMMO06100" );
  3493. ]]>
  3494. </script>
  3495. </button>
  3496. <button id="btn_undo" accesskey="ctrl+z" class="btn2_letter4" style="left:197px; top:2px; width:64px; height:19px; ">
  3497. <caption>되살리기</caption>
  3498. <script type="javascript" ev:event="DOMActivate">
  3499. <![CDATA[
  3500. fDelUndo();
  3501. ]]>
  3502. </script>
  3503. <hint>
  3504. <![CDATA[단축키는 ctrl+z 입니다.]]>
  3505. </hint>
  3506. </button>
  3507. <button id="btn_up1" class="icon_top_direction" style="left:270px; top:2px; width:26px; height:19px; ">
  3508. <caption/>
  3509. <hint>
  3510. <![CDATA[위로]]>
  3511. </hint>
  3512. <script type="javascript" ev:event="DOMActivate">
  3513. <![CDATA[
  3514. btn_up1.disabled = true;
  3515. var lastRow = grd_prcplist.selectedRow(grd_prcplist.selectedRows-1);
  3516. var status = model.getValue ( "/root/main/prcp/prcplist[" + lastRow+ "]/status" );
  3517. if (status=="S") {
  3518. alert("검색 행은 이동 할수 없습니다.");
  3519. } else {
  3520. fMoveGridRows("grd_prcplist", "UP");
  3521. }
  3522. btn_up1.disabled = false;
  3523. ]]>
  3524. </script>
  3525. </button>
  3526. <button id="btn_down1" class="icon_bottom_direction" style="left:300px; top:2px; width:26px; height:19px; ">
  3527. <caption/>
  3528. <hint>
  3529. <![CDATA[아래로]]>
  3530. </hint>
  3531. <script type="javascript" ev:event="DOMActivate">
  3532. <![CDATA[
  3533. btn_down1.disabled = true;
  3534. var lastRow = grd_prcplist.selectedRow(grd_prcplist.selectedRows-1);
  3535. var status = model.getValue ( "/root/main/prcp/prcplist[" + lastRow+ "]/status" );
  3536. if (status=="S") {
  3537. alert("검색 행은 이동 할수 없습니다.");
  3538. }else if(lastRow == grd_prcplist.rows - 2){
  3539. alert("검색 행 아래로 이동할 수 없습니다.");
  3540. } else {
  3541. fMoveGridRows("grd_prcplist", "DOWN");
  3542. }
  3543. btn_down1.disabled = false;
  3544. ]]>
  3545. </script>
  3546. </button>
  3547. <line id="line8" class="line_1" visibility="hidden" style="x1:0px; y1:42px; x2:969px; y2:42px; "/>
  3548. <caption id="cap_srchprcp" class="tit_2" visibility="hidden" style="left:5px; top:1px; width:95px; height:13px; ">처방 검색</caption>
  3549. <button id="btn_addprcp" class="btn2_letter2" visibility="hidden" style="left:1102px; top:21px; width:42px; height:19px; ">
  3550. <caption>확인</caption>
  3551. <script type="javascript" ev:event="DOMActivate">
  3552. <![CDATA[
  3553. if( model.getValue(ref + "[1]/status") == "S" ){
  3554. messageBox ( "검색된 처방이", "I004" );
  3555. window.close();
  3556. }
  3557. var newPrcpCnt = parseInt( opener.model.getValue("/root/temp/tmpprcpno") );
  3558. var setRef = "/root/reset/list"; // 빈 셋
  3559. var nodeList = instance1.selectNodes("/root/main/prcp/prcplist");
  3560. //JJE 2008.10.09 (s)
  3561. var srchNodeList = instance1.selectNodes("/root/main/prcpsrch/prcplist");
  3562. //(e)
  3563. for(var i=0; i<nodeList.length-1; i++){
  3564. newPrcpCnt++;
  3565. var node = nodeList.item(i);
  3566. var prcpclscdNode = node.selectSingleNode("prcpclscd");
  3567. var prcpstatcdNode = node.selectSingleNode("prcpstatcd");
  3568. var prcpkindcdNode = node.selectSingleNode("prcpkindcd");
  3569. var prcpcdNode = node.selectSingleNode("prcpcd");
  3570. var prcpnmNode = node.selectSingleNode("prcpnm");
  3571. var prcpvolNode = node.selectSingleNode("prcpvol");
  3572. var volunitNode = node.selectSingleNode("prcpvolunitnm");
  3573. var prcpqtyNode = node.selectSingleNode("prcpqty");
  3574. var qtyunitNode = node.selectSingleNode("prcpqtyunitnm");
  3575. var prcptimsNode = node.selectSingleNode("prcptims");
  3576. var prcpdaynoNode = node.selectSingleNode("prcpdayno");
  3577. var prcpmixnoNode = node.selectSingleNode("prcpmixno");
  3578. var drugmthdspccdNode = node.selectSingleNode("drugmthdspccd");
  3579. var drugmthdspcnmNode = node.selectSingleNode("drugmthdspccdnm");
  3580. var asttestflagNode = node.selectSingleNode("asttestflag");
  3581. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prcpinptflag", "05");
  3582. //model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/etclnkspec", "-");
  3583. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prcpdd", opener.model.getValue("/root/temp/choiprcpinfo/list/prcpdd"));
  3584. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prcphopedd", opener.model.getValue("/root/temp/choiprcpinfo/list/prcpdd"));
  3585. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/times", model.getValue(setRef + "/times"));
  3586. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/stepno", model.getValue(setRef + "/stepno"));
  3587. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/stepnm", model.getValue(setRef + "/stepnm"));
  3588. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prtlprcpno", "N" + newPrcpCnt );
  3589. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prcpno", "0");
  3590. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prcphistno", "0");
  3591. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/certprcpno", "");
  3592. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/prtlstat", "21"); //프로토콜처방 진행상태(21:추가)
  3593. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/rsrvdd", "00000000"); //추가처방 seq로 사용(임시)
  3594. /*
  3595. model.setValue(setRef + "/prcpno", "0");
  3596. model.setValue(setRef + "/prcpclscd", prcpclscdNode.text);
  3597. model.setValue(setRef + "/prcpstatcd", prcpstatcdNode.text);
  3598. model.setValue(setRef + "/prcpkindcd", prcpkindcdNode.text);
  3599. model.setValue(setRef + "/prcpcd", prcpcdNode.text);
  3600. model.setValue(setRef + "/prcpnm", prcpnmNode.text);
  3601. model.setValue(setRef + "/prcpvol", prcpvolNode.text);
  3602. model.setValue(setRef + "/prcpvolunitnm", volunitNode.text);
  3603. model.setValue(setRef + "/prcpqty", prcpqtyNode.text);
  3604. model.setValue(setRef + "/prcpqtyunitnm", qtyunitNode.text);
  3605. model.setValue(setRef + "/prcptims", prcptimsNode.text);
  3606. model.setValue(setRef + "/prcpdayno", prcpdaynoNode.text);
  3607. model.setValue(setRef + "/prcpmixno", prcpmixnoNode.text);
  3608. model.setValue(setRef + "/drugmthdspccd", drugmthdspccdNode.text);
  3609. model.setValue(setRef + "/drugmthdspccdnm", drugmthdspcnmNode.text);
  3610. model.setValue(setRef + "/asttestflag", asttestflagNode.text);
  3611. model.makeValue(setRef + "/prtlprcpno", "");
  3612. */
  3613. model.makeNode("/root/temp/cpcopyset/list[" + (i+1)+ "]");
  3614. model.copyNode("/root/temp/cpcopyset/list[" + (i+1)+ "]", "/root/main/prcp/prcplist[" + (i+1) + "]");
  3615. model.setValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prcpinptflag", "05");
  3616. //model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/etclnkspec", "-");
  3617. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prcpdd", opener.model.getValue("/root/temp/choiprcpinfo/list/prcpdd"));
  3618. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prcphopedd", opener.model.getValue("/root/temp/choiprcpinfo/list/prcpdd"));
  3619. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/times", model.getValue(setRef + "/times"));
  3620. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/stepno", model.getValue(setRef + "/stepno"));
  3621. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/stepnm", model.getValue(setRef + "/stepnm"));
  3622. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prtlprcpno", "N" + newPrcpCnt );
  3623. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prcpno", "0");
  3624. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prcphistno", "0");
  3625. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/certprcpno", "");
  3626. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/prtlstat", "21"); //프로토콜처방 진행상태(21:추가)
  3627. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/rsrvdd", "00000000"); //추가처방 seq로 사용(임시)
  3628. // hsctlnkno, inclprcpno 디폴트값 지정
  3629. if( isNull(model.getValue("/root/main/prcp/prcplist[" + (i+1) + "]/hsctlnkno")) ){
  3630. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/hsctlnkno", "0");
  3631. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/hsctlnkno", "0");
  3632. }
  3633. if( isNull(model.getValue("/root/main/prcp/prcplist[" + (i+1) + "]/inclprcpno")) ){
  3634. model.makeValue("/root/main/prcp/prcplist[" + (i+1) + "]/inclprcpno", "0");
  3635. model.makeValue("/root/temp/cpcopyset/list[" + (i+1) + "]/inclprcpno", "0");
  3636. }
  3637. }
  3638. copyNodesetType( "/root/temp/copyset", "/root/temp/cpcopyset", "replace", opener.model, model );
  3639. //JJE 2008.10.09 (+)
  3640. copyNodeListType( "/root/main/prcpsrch", "/root/main/prcp/prcplist[status='I']", "after", opener.model, model );
  3641. //appendChildPrcp ( "/root/main/prcp/prcplist", "/root/main/prcpsrch");
  3642. //(e)
  3643. appendChildPrcp ( "/root/main/prcp/prcplist", "/root/main/prcp");
  3644. //opener.window.javascript.newPrcpCnt = newPrcpCnt;
  3645. opener.model.setValue("/root/temp/tmpprcpno", newPrcpCnt);
  3646. window.close();
  3647. ]]>
  3648. </script>
  3649. </button>
  3650. <button id="btn_close" class="btn2_letter2" visibility="hidden" style="left:1147px; top:21px; width:42px; height:19px; ">
  3651. <caption>닫기</caption>
  3652. <script type="javascript" ev:event="DOMActivate">
  3653. <![CDATA[
  3654. window.close();
  3655. ]]>
  3656. </script>
  3657. </button>
  3658. <input id="cmb_prcpdd" ref="/root/init/prcpdd" class="input_s_essential" visibility="hidden" inputtype="date" style="left:315px; top:22px; width:100px; height:19px; text-align:center; ">
  3659. <script type="javascript" ev:event="xforms-value-changed">
  3660. <![CDATA[
  3661. fPrcpDdCheck();
  3662. ]]>
  3663. </script>
  3664. <hint>
  3665. <![CDATA[처방 적용일자]]>
  3666. </hint>
  3667. </input>
  3668. <button id="btn_genr" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:0px; top:20px; width:60px; height:22px; ">
  3669. <caption>일반</caption>
  3670. <script type="javascript" ev:event="DOMActivate">
  3671. <![CDATA[
  3672. fReqOrderPrcp("genr");
  3673. ]]>
  3674. </script>
  3675. </button>
  3676. <button id="btn_bmt" class="btn_sw" visibility="hidden" group="tab" selected="false" style="left:60px; top:20px; width:60px; height:22px; ">
  3677. <caption>BMT</caption>
  3678. <script type="javascript" ev:event="DOMActivate">
  3679. <![CDATA[
  3680. fReqOrderPrcp("bmt");
  3681. ]]>
  3682. </script>
  3683. </button>
  3684. <button id="btn_detl" class="btn2_letter2" visibility="hidden" style="left:322px; top:51px; width:42px; height:19px; ">
  3685. <caption>이전</caption>
  3686. <script type="javascript" ev:event="onclick">
  3687. <![CDATA[
  3688. fdetlvw();
  3689. ]]>
  3690. </script>
  3691. </button>
  3692. <line id="line1" class="line_1" visibility="hidden" style="x1:0px; y1:42px; x2:378px; y2:42px; "/>
  3693. <datagrid id="grd_downlist" nodeset="/root/main/down/prcplist" visibility="hidden" caption="스텝명^분류^종류^처방코드^처방명^1회용량^1회용량^1회수량^1회수량^횟수^일수^급비^용법/검체^MIX^전달^원내외^시행부서^선택진료^등록일시^등록자^마취확정필요여부^필수처방여부" colsep="^" colwidth="100, 50, 55, 80, 260, 45, 27, 37, 27, 40, 37, 60, 153, 38, 40, 50, 100, 60, 80, 80, 80, 60" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" navindex="1" style="left:965px; top:590px; width:215px; height:50px; ">
  3694. <col ref="stepnm"/>
  3695. <col ref="prcpclscd" type="combo" visibility="hidden" style="text-align:left; focus-rect:visible; ">
  3696. <choices>
  3697. <itemset nodeset="/root/init/prcpclscd/M0005">
  3698. <label ref="cdnm"/>
  3699. <value ref="cdid"/>
  3700. </itemset>
  3701. </choices>
  3702. </col>
  3703. <col class="gridcombo" ref="prcpkindcd" type="combo" style="text-align:center; focus-rect:visible; ">
  3704. <choices>
  3705. <itemset nodeset="/root/init/prcpkindcd/M0003">
  3706. <label ref="cdnm"/>
  3707. <value ref="cdid"/>
  3708. </itemset>
  3709. </choices>
  3710. </col>
  3711. <col ref="prcpcd" type="input" style="text-align:left; focus-rect:visible; "/>
  3712. <col ref="prcpnm" type="input" style="text-align:left; focus-rect:visible; "/>
  3713. <col ref="drprcpetc7" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  3714. <col ref="prcpvolunitnm" type="output" style="text-align:center; focus-rect:visible; "/>
  3715. <col ref="drprcpetc8" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  3716. <col ref="prcpqtyunitnm" style="text-align:center; focus-rect:visible; "/>
  3717. <col ref="prcptims" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  3718. <col ref="prcpdayno" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  3719. <col ref="payflagcd" type="combo">
  3720. <choices>
  3721. <itemset nodeset="/root/init/payflagcd/M0029">
  3722. <label ref="cdnm"/>
  3723. <value ref="cdid"/>
  3724. </itemset>
  3725. </choices>
  3726. </col>
  3727. <col ref="drugmthdspccdnm" type="output" style="focus-rect:visible; "/>
  3728. <col ref="prcpmixno" type="input" style="focus-rect:visible; "/>
  3729. <col ref="prcpdelivefact" style="focus-rect:visible; "/>
  3730. <col disabled="true" ref="hosinhosoutflag" type="combo" style="text-align:center; focus-rect:visible; ">
  3731. <choices>
  3732. <item>
  3733. <label>원내</label>
  3734. <value>I</value>
  3735. </item>
  3736. <item>
  3737. <label>원외</label>
  3738. <value>O</value>
  3739. </item>
  3740. <item>
  3741. <label/>
  3742. <value/>
  3743. </item>
  3744. </choices>
  3745. </col>
  3746. <col class="gridcombo" disabled="true" ref="prcpexecdeptcd" type="combo" style="focus-rect:visible; ">
  3747. <choices>
  3748. <itemset nodeset="/root/orddept/dept">
  3749. <label ref="depthngnm"/>
  3750. <value ref="deptcd"/>
  3751. </itemset>
  3752. </choices>
  3753. </col>
  3754. <col checkvalue="Y,N" ref="choiordflag" type="checkbox" style="focus-rect:visible; "/>
  3755. <col ref="rgsttm" visibility="hidden" format="yyyy-mm-dd"/>
  3756. <col ref="rgstridnm" visibility="hidden"/>
  3757. <col class="gridcombo" ref="anstcnfmneedyn" type="combo" style="focus-rect:visible; ">
  3758. <choices>
  3759. <item>
  3760. <label>Y</label>
  3761. <value>Y</value>
  3762. </item>
  3763. <item>
  3764. <label>N</label>
  3765. <value>N</value>
  3766. </item>
  3767. </choices>
  3768. </col>
  3769. <col checkvalue="Y,N" ref="essnprcpyn" type="checkbox" style="focus-rect:visible; "/>
  3770. </datagrid>
  3771. <button id="btn_consultsrch" class="btn2_letter4" visibility="hidden" style="left:1057px; top:26px; width:64px; height:19px; ">
  3772. <caption>Consult</caption>
  3773. <script type="javascript" ev:event="DOMActivate">
  3774. <![CDATA[
  3775. modal ( "SPMQP03700" );
  3776. if(!isNull(getParameter("SPMQP03700_formcd"))){
  3777. grd_formlist.addRow();
  3778. var rowcnt = grd_formlist.rows - 1;
  3779. model.makeValue(formRef + "[" + rowcnt + "]/status" , "i");
  3780. model.makeValue(formRef + "[" + rowcnt + "]/formcd" , getParameter("SPMQP03700_formcd"));
  3781. model.makeValue(formRef + "[" + rowcnt + "]/cnstflag" , getParameter("SPMQP03700_cnstflag"));
  3782. model.makeValue(formRef + "[" + rowcnt + "]/formnm" , getParameter("SPMQP03700_cnstclsnm"));
  3783. model.makeValue(formRef + "[" + rowcnt + "]/recvdeptcd" , getParameter("SPMQP03700_recvdeptcd"));
  3784. model.makeValue(formRef + "[" + rowcnt + "]/recvuserid" , getParameter("SPMQP03700_recvuserid"));
  3785. model.makeValue(formRef + "[" + rowcnt + "]/cnstcnts" , getParameter("SPMQP03700_cnstcnts"));
  3786. model.makeValue(formRef + "[" + rowcnt + "]/cnstclsnm" , getParameter("SPMQP03700_cnstclsnm"));
  3787. model.makeValue(formRef + "[" + rowcnt + "]/formseq" , rowcnt);
  3788. }
  3789. clearParameter("SPMQP03700_stepno");
  3790. clearParameter("SPMQP03700_formcd");
  3791. clearParameter("SPMQP03700_cnstflag");
  3792. clearParameter("SPMQP03700_cnstclsnm");
  3793. clearParameter("SPMQP03700_recvdeptcd");
  3794. clearParameter("SPMQP03700_recvuserid");
  3795. clearParameter("SPMQP03700_cnstcnts");
  3796. ]]>
  3797. </script>
  3798. </button>
  3799. <button id="btn_excel" class="btn2_letter2" style="left:1117px; top:3px; width:42px; height:19px; ">
  3800. <caption>엑셀</caption>
  3801. <script type="javascript" ev:event="DOMActivate">
  3802. <![CDATA[
  3803. model.removeNodeset("/root/send/reqdata");
  3804. model.makeNode("/root/send/reqdata");
  3805. model.makeValue( "/root/send/reqdata/cpgno", opener.model.getValue("/root/main/outlineinfo/info/cpgno") );
  3806. model.makeValue( "/root/send/reqdata/cpghistseq", opener.model.getValue("/root/main/outlineinfo/info/cpghistseq") );
  3807. model.makeValue( "/root/send/reqdata/setcond", model.getValue("/root/hidden/prmsprcpsetdetlset/setno") );
  3808. if( submit("TRMQP01403", true) ){
  3809. var cpgNm = opener.model.getValue("/root/main/outlineinfo/info/cpgnm");
  3810. var fileName = window.fileDialog("save", ",", false, cpgNm, "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  3811. if (fileName != ""){
  3812. grd_downlist.saveExcel(fileName, "프로토콜 리스트", false, false, "", "", false);
  3813. }
  3814. }
  3815. ]]>
  3816. </script>
  3817. </button>
  3818. <button id="btn_essnprcp" visibility="hidden" style="left:455px; top:5px; width:100px; height:20px; ">
  3819. <caption>importbutton1</caption>
  3820. </button>
  3821. <datagrid id="grd_essprcplist" nodeset="/root/main/essprcp/prcplist" visibility="hidden" caption="^상태^분류^종류^처방코드^처방명^1회용량^1회용량^1회수량^1회수량^횟수^일수^급비^용법/검체^MIX^전달^원내외^시행부서^희망일자^선택진료^등록일시^등록자^마취확정필요여부" colsep="^" colwidth="38, 55, 50, 55, 80, 260, 45, 27, 37, 27, 40, 37, 60, 153, 38, 40, 50, 100, 100, 60, 80, 80, 80" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" navindex="1" style="left:385px; top:520px; width:805px; height:130px; ">
  3822. <col disabled="true" ref="status" type="combo" style="left:0px; top:23px; width:38px; height:23px; text-align:center; word-wrap:word; focus-rect:visible; ">
  3823. <choices>
  3824. <item>
  3825. <label>검색</label>
  3826. <value>S</value>
  3827. </item>
  3828. <item>
  3829. <label>신규</label>
  3830. <value>I</value>
  3831. </item>
  3832. <item>
  3833. <label>삭제</label>
  3834. <value>D</value>
  3835. </item>
  3836. <item>
  3837. <label>D/C</label>
  3838. <value>C</value>
  3839. </item>
  3840. <item>
  3841. <label>-</label>
  3842. <value>-</value>
  3843. </item>
  3844. <item>
  3845. <label>수정</label>
  3846. <value>U</value>
  3847. </item>
  3848. </choices>
  3849. </col>
  3850. <col disabled="true" ref="prcpstatcd" type="combo" style="text-align:center; focus-rect:visible; ">
  3851. <choices>
  3852. <itemset nodeset="/root/init/prcpstatcd/M0011">
  3853. <label ref="cdnm"/>
  3854. <value ref="cdid"/>
  3855. </itemset>
  3856. </choices>
  3857. </col>
  3858. <col ref="prcpclscd" type="combo" visibility="hidden" style="text-align:left; focus-rect:visible; ">
  3859. <choices>
  3860. <itemset nodeset="/root/init/prcpclscd/M0005">
  3861. <label ref="cdnm"/>
  3862. <value ref="cdid"/>
  3863. </itemset>
  3864. </choices>
  3865. </col>
  3866. <col class="gridcombo" ref="prcpkindcd" type="combo" style="text-align:center; focus-rect:visible; ">
  3867. <choices>
  3868. <itemset nodeset="/root/init/prcpkindcd/M0003">
  3869. <label ref="cdnm"/>
  3870. <value ref="cdid"/>
  3871. </itemset>
  3872. </choices>
  3873. </col>
  3874. <col ref="prcpcd" type="input" style="text-align:left; focus-rect:visible; "/>
  3875. <col ref="prcpnm" type="input" style="text-align:left; focus-rect:visible; "/>
  3876. <col ref="drprcpetc7" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  3877. <col ref="prcpvolunitnm" type="output" style="text-align:center; focus-rect:visible; "/>
  3878. <col ref="drprcpetc8" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  3879. <col ref="prcpqtyunitnm" style="text-align:center; focus-rect:visible; "/>
  3880. <col ref="prcptims" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  3881. <col ref="prcpdayno" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  3882. <col ref="payflagcd" type="combo">
  3883. <choices>
  3884. <itemset nodeset="/root/init/payflagcd/M0029">
  3885. <label ref="cdnm"/>
  3886. <value ref="cdid"/>
  3887. </itemset>
  3888. </choices>
  3889. </col>
  3890. <col ref="drugmthdspccdnm" type="output" style="focus-rect:visible; "/>
  3891. <col ref="prcpmixno" type="input" style="focus-rect:visible; "/>
  3892. <col ref="prcpdelivefact" style="focus-rect:visible; "/>
  3893. <col disabled="true" ref="hosinhosoutflag" type="combo" style="text-align:center; focus-rect:visible; ">
  3894. <choices>
  3895. <item>
  3896. <label>원내</label>
  3897. <value>I</value>
  3898. </item>
  3899. <item>
  3900. <label>원외</label>
  3901. <value>O</value>
  3902. </item>
  3903. <item>
  3904. <label/>
  3905. <value/>
  3906. </item>
  3907. </choices>
  3908. </col>
  3909. <col class="gridcombo" disabled="true" ref="prcpexecdeptcd" type="combo" style="focus-rect:visible; ">
  3910. <choices>
  3911. <itemset nodeset="/root/orddept/dept">
  3912. <label ref="depthngnm"/>
  3913. <value ref="deptcd"/>
  3914. </itemset>
  3915. </choices>
  3916. </col>
  3917. <col ref="prcphopedd" type="inputdate" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; focus-rect:visible; "/>
  3918. <col checkvalue="Y,N" ref="choiordflag" type="checkbox" style="focus-rect:visible; "/>
  3919. <col ref="rgsttm" visibility="hidden" format="yyyy-mm-dd"/>
  3920. <col ref="rgstridnm" visibility="hidden"/>
  3921. <col checkvalue="Y,N" ref="anstcnfmneedyn" type="checkbox" style="focus-rect:visible; "/>
  3922. <script type="javascript" ev:event="onendedit">
  3923. <![CDATA[
  3924. // editcell 상황에서 tab 키 누르면 화면 죽는 현상(TF문제 no, 컬럼 비교 분기에서 func 콜 하면서 로직 꼬임 detail 추후 파악 우선은 return) - 20080827 emr msh
  3925. if (event.keyCode == "9") {
  3926. return ;
  3927. }
  3928. var currow = grd_essprcplist.row;
  3929. if ( grd_essprcplist.col == grd_essprcplist.colref("prcpdayno")) {
  3930. fGridfBatIpt( "prcpdayno" );
  3931. } else if ( grd_essprcplist.col == grd_essprcplist.colref("prcptims")) {
  3932. fGridfBatIpt( "prcptims" );
  3933. if ( grd_essprcplist.selectedrow(0) == -1 && event.keyCode != "13" ) {
  3934. fBaseMthd(currow);
  3935. }
  3936. } else if ( grd_essprcplist.col == grd_essprcplist.colref("prcpqty")) {
  3937. DrugCalc ( "prcpqty" , grd_essprcplist.row);
  3938. fGridfBatIpt( "prcpqty" );
  3939. } else if ( grd_essprcplist.col == grd_essprcplist.colref("prcpvol") ) {
  3940. DrugCalc ("prcpvol" , grd_essprcplist.row);
  3941. } else if ( grd_essprcplist.col == grd_essprcplist.colref("drprcpetc7")) {
  3942. DrugCalc ("drprcpetc7" , grd_prcplist.row);
  3943. } else if ( grd_essprcplist.col == grd_essprcplist.colref("prcpvol") ) {
  3944. DrugCalc ( "drprcpetc8" , grd_prcplist.row);
  3945. fGridfBatIpt( "drprcpetc8" );
  3946. }
  3947. ]]>
  3948. </script>
  3949. <script type="javascript" ev:event="ondblclick">
  3950. <![CDATA[
  3951. var i = grd_prcplist.row;
  3952. var prcpclscd = model.getValue( "/root/main/prcp/prcplist[" + i + "]/prcpclscd");
  3953. var status = model.getValue( "/root/main/prcp/prcplist[" + i + "]/status");
  3954. if ( status == "D" ) {
  3955. messageBox ( "삭제처방은 수정할 수", "I004");
  3956. return;
  3957. }
  3958. if( grd_prcplist.isCell(event.target) && i >= grd_prcplist.fixedRows ){
  3959. //새로 추가한 처방은 orghosinprcpresncd 컬럼이 없으므로, 저장 전 생성해줌. (2009.07.21)
  3960. if( model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinhosoutflag") == "I" && isNull(model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinprcpresncd")) ){
  3961. model.setValue( ref + "[" + i + "]/hosinhosoutflag", "O" );
  3962. model.setValue( ref + "[" + i + "]/hosinprcpresncd", "00" );
  3963. }
  3964. if( instance1.selectSingleNode("/root/main/prcp/prcplist[" + i + "]/orghosinhosoutflag") == null ){
  3965. model.makeNode(ref + "[" + i + "]/nullvalexistyn");
  3966. model.makeNode(ref + "[" + i + "]/nullcolumncd");
  3967. model.makeNode(ref + "[" + i + "]/anstcnfmneedyn");
  3968. model.makeValue("/root/main/prcp/prcplist[" + i + "]/orghosinhosoutflag", model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinhosoutflag"));
  3969. model.makeValue("/root/main/prcp/prcplist[" + i + "]/orghosinprcpresncd", model.getValue("/root/main/prcp/prcplist[" + i + "]/hosinprcpresncd"));
  3970. }
  3971. if ( grd_prcplist.col == grd_prcplist.colref("drugmthdspccdnm") && status != "S" ) {
  3972. if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  3973. fPrcpModal ("SPMMO01900", 500, 200);
  3974. } else if ( prcpclscd == "B2" || prcpclscd == "B4" || prcpclscd == "B6" ) {
  3975. fGetSpc (i, "", "", "Y");
  3976. }
  3977. } else if ( grd_prcplist.col == "15" && status != "S" ) {
  3978. fPrcpdelivefact( "M" );
  3979. } else if ( status != "S" ) {
  3980. fPrcpDetl();
  3981. }
  3982. }
  3983. ]]>
  3984. </script>
  3985. <script type="javascript" ev:event="onmousedown">
  3986. <![CDATA[
  3987. var patPlanYN = opener.javascript.getParameter("patplanyn");
  3988. if( patPlanYN == "Y" ){
  3989. fCpMouseRghtBtnPopup();
  3990. return;
  3991. }
  3992. else if( opener.window.javascript.checkAuth("X") ){
  3993. if( instance1.selectSingleNode( ref + "[status='I' and nullvalexistyn!='Y' and nullvalexistyn!='N']" ) != null ){
  3994. fMakeNullNode();
  3995. }
  3996. fCpMouseRghtBtnPopup();
  3997. }
  3998. ]]>
  3999. </script>
  4000. <script type="javascript" ev:event="xforms-value-changed">
  4001. <![CDATA[
  4002. // 외래, 주사(A6)인 경우, 일수 변경시 달력화면을 띄움 2008.05.29 오지훈
  4003. // 자가(self)약처방인 경우, 달력화면을 띄우지 않음 2008.07.08 오지훈
  4004. if(grd_prcplist.col == grd_prcplist.colRef("prcpdayno")){
  4005. fDayValChnged() ;
  4006. } else if(grd_prcplist.col == grd_prcplist.colRef("anstcnfmneedyn")){
  4007. if( model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpclscd") != "H2" ){
  4008. model.makeValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/anstcnfmneedyn", "" );
  4009. messageBox ( "수술처방이어야 마취확정필요여부를 설정할 수", "I010");
  4010. return;
  4011. }else{
  4012. var anstTxt = grd_prcplist.labelmatrix(grd_prcplist.row, grd_prcplist.col);
  4013. model.makeValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/anstcnfmneedyn", anstTxt );
  4014. }
  4015. } else if(grd_prcplist.col == grd_prcplist.colRef("essnprcpyn")){ //## 필수 처방 여부 추가 되어 값 설정. KIM HJ
  4016. if( instance1.selectSingleNode("/root/main/prcp/prcplist[" + i + "]/essnprcpyn") == null ){
  4017. model.makeValue("/root/main/prcp/prcplist[" + i + "]/essnprcpyn", grd_prcplist.valuematrix(grd_prcplist.row, grd_prcplist.col));
  4018. }
  4019. }
  4020. fPrcpUpdate();
  4021. if ( grd_prcplist.col == grd_prcplist.colref("payflagcd")) {
  4022. fGridfBatIpt( "payflagcd" );
  4023. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpkindcd")) {
  4024. fGridfBatIpt( "prcpkindcd" );
  4025. }
  4026. ]]>
  4027. </script>
  4028. <script type="javascript" ev:event="onstartedit">
  4029. <![CDATA[
  4030. if ( grd_prcplist.col == grd_prcplist.colRef("prcpvol")) {
  4031. bfDrugCalc ( "prcpvol", grd_prcplist.row );
  4032. } else if ( grd_prcplist.col == grd_prcplist.colRef("prcpqty")) {
  4033. bfDrugCalc ( "prcpqty", grd_prcplist.row );
  4034. } else if ( grd_prcplist.col == grd_prcplist.colRef("prcptims")) {
  4035. bfDrugCalc ( "prcptims", grd_prcplist.row );
  4036. } else if ( grd_prcplist.col == grd_prcplist.colRef("drprcpetc7")) {
  4037. bfDrugCalc ( "drprcpetc7", grd_prcplist.row );
  4038. } else if ( grd_prcplist.col == grd_prcplist.colRef("drprcpetc8")) {
  4039. bfDrugCalc ( "drprcpetc8", grd_prcplist.row );
  4040. }
  4041. ]]>
  4042. </script>
  4043. <script type="javascript" ev:event="onkeydown">
  4044. <![CDATA[
  4045. if ( event.keycode == 46 ) {
  4046. model.setfocus( "grd_prcplist" );
  4047. } else if ( event.keycode == 45 ) {
  4048. model.setfocus( "grd_prcplist" );
  4049. }
  4050. ]]>
  4051. </script>
  4052. <script type="javascript" ev:event="onmouseup">
  4053. <![CDATA[
  4054. if ( grd_prcplist.selectedRows > 1 && grd_prcplist.col != grd_prcplist.colRef ( "prcpkindcd" ) && grd_prcplist.col != grd_prcplist.colref("payflagcd")) {
  4055. grd_prcplist.editCell();
  4056. }
  4057. ]]>
  4058. </script>
  4059. <script type="javascript" ev:event="onentercell">
  4060. <![CDATA[
  4061. model.setValue ( "/root/init/bfpayflagcd", model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/payflagcd" ));
  4062. ]]>
  4063. </script>
  4064. <script type="javascript" ev:event="onkeyup">
  4065. <![CDATA[
  4066. if ( event.keycode == 46 ) {
  4067. var currow = grd_prcplist.row;
  4068. fDeleteRow();
  4069. grd_prcplist.row = currow;
  4070. } else if ( event.keycode == 45 ) {
  4071. var insrow = 1;
  4072. if ( grd_prcplist.row == grd_prcplist.rows-1 ) {
  4073. insrow = grd_prcplist.rows - 1;
  4074. } else {
  4075. insrow = grd_prcplist.row+1;
  4076. }
  4077. model.copyNode ( "/root/prcpsrch", "/root/directprcp" );
  4078. var srchRow = addPrcpDetl ( "import" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , insrow, "00" );
  4079. model.recalculate();
  4080. grd_prcplist.refresh();
  4081. grd_prcplist.row = insrow;
  4082. grd_prcplist.col = grd_prcplist.colRef ( "prcpnm" );
  4083. model.setfocus( "grd_prcplist" );
  4084. grd_prcplist.editCell();
  4085. }
  4086. ]]>
  4087. </script>
  4088. </datagrid>
  4089. <button id="btn_cnclessprcp" class="btn2_letter2" visibility="hidden" style="left:1148px; top:500px; width:42px; height:19px; ">
  4090. <caption>닫기</caption>
  4091. <script type="javascript" ev:event="DOMActivate">
  4092. <![CDATA[
  4093. grd_essprcplist.visible = false;
  4094. btn_cnclessprcp.visible = false;
  4095. ]]>
  4096. </script>
  4097. </button>
  4098. <button id="btn_sizecntl" class="icon_left" style="left:1162px; top:3px; width:26px; height:19px; ">
  4099. <caption/>
  4100. <script type="javascript" ev:event="DOMActivate">
  4101. <![CDATA[
  4102. var grdWidth = parseInt( grd_prcplist.attribute("width") );
  4103. if( btn_sizecntl.attribute("class") == "icon_left" ){
  4104. if( ivw_prcp.visible == true ){
  4105. grd_prcplist.attribute("width") = "580px";
  4106. }else{
  4107. grd_prcplist.attribute("width") = "965px";
  4108. }
  4109. btn_sizecntl.attribute("class") = "icon_right";
  4110. btn_formsrch.visible = true;
  4111. btn_consultsrch.visible = true;
  4112. //btn_consultsrch.visible = true;
  4113. }else{
  4114. if( ivw_prcp.visible == true ){
  4115. grd_prcplist.attribute("width") = "805px";
  4116. }else{
  4117. grd_prcplist.attribute("width") = "1190px";
  4118. }
  4119. btn_sizecntl.attribute("class") = "icon_left";
  4120. btn_formsrch.visible = false;
  4121. btn_consultsrch.visible = false;
  4122. //btn_consultsrch.visible = false;
  4123. }
  4124. btn_formsrch.refresh();
  4125. //btn_consultsrch.refresh();
  4126. ]]>
  4127. </script>
  4128. </button>
  4129. </group>
  4130. </xhtml:body>
  4131. </xhtml:html>