123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904 |
- /*
- (SMMNW04700.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 피부욕창상처기록및 피부욕창 팝업이미지 에서 사용하는 스크립트
- - 가정간호에서 팝업띄워 기록및 조회
- */
- /******************************************************************************************************************************************************/
- /****************************************************** 피부욕창기록에서 사용하는 펑션 시작************************************************************/
- /******************************************************************************************************************************************************/
- var xCondPath = "/root/cond"; // 조회조건 xPath
- var xBedsoreGridPath = "/root/main/detlgrup/detlgruplist" // 그리드 xPath
- var xClsListBKPath = "/root/hidden/main/detlgrup/detlgruplist"; // 그리드 hidden xPath
- var xPamInfoPath = '/root/temp/paminfo'
- var xSearchPamInfoPath = '/root/main/patinfo/patinfolist'
- //가정간호 parameter를 global variable로 선언
- var HC_homecarecd = '';
- var HC_ioflag = '';
- var HC_isHomeCare = '';
- var HC_gCareFlag = '';
- var HC_gInptDt = '';
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function finit(){
- //조회조건을 세팅한다.
- model.removenode('/root/cond');
- model.makeNode('/root/cond/wardcd');
- model.makeNode('/root/cond/roomcd');
- model.makeNode('/root/cond/patientnm');
- model.makeNode('/root/cond/pid');
- model.makeNode('/root/cond/indd');
- model.makeNode('/root/cond/cretno');
- model.makeNode("/root/cond/settingrnid");
- model.makeNode("/root/cond/zonecd");
- model.makeNode("/root/cond/indsch");
- model.makeValue(rdo_indsch.attribute("ref"), "1" );
- model.makeValue(rdo_stdradio.attribute("ref"), "2" ); // 종료전(최근입력만) 선택
- model.makeValue(ipt_genrdd.attribute("ref"), getCurrentDate()); // 기준일에 현재날짜(디폴트)
- model.makeValue(ipt_genrtm.attribute("ref"), getCurrentDateTime().substring(9,13)); // 기준시간 셋팅
- fGetNursHardCdInfo("'002','U30','R11'", getCurrentDate()); // '002' 응급의료센터 여부 조회, 160512_AYS_발생장소(원내) 제어코드(R11)추가
- model.setValue(cmb_wardcd.attribute("ref"), getUserInfo("dutplcecd"));
-
- var useyn = model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='U30']/cdid");
- if(useyn == "N") {
- grd_detlgrup.colHidden(grd_detlgrup.colRef("pushyn")) = true;
- } else {
- grd_detlgrup.colHidden(grd_detlgrup.colRef("pushyn")) = false;
- }
- //상단정보를 가져온다.
- var isOpener = fSetPatInfo();
-
- //가정간호 parameter 세팅
- if(checkOpener()){
- HC_isHomeCare = fSetHomeCareParamter();
- }
-
- //병동 조회
- if(!submit('TRMNW04705')){
- messageBox('화면 초기화를', 'E009');
- return;
- }
- //그리드에 들어갈 공통코드리스트 조회
- if(!submit("TRMNW04701")){
- messageBox('화면 초기화를', 'E009');
- return;
- }
-
- var indschacptstat = model.getValue("/root/temp/paminfo/indschacptstat");
-
- if( isNull(HC_homecarecd)) {
- fGetZoneList(); //CareCom.js 응급실구역정보조회
- fnZoneDisp();
- fSettingnurid();
-
- if(indschacptstat == "" || indschacptstat == "A"){
- fGetWardPatList();
- }
- }else{
- ctn_pid.visible = true;
- cmb_patientnm.visible = true;
- ipt_pid.visible = true;
- }
- //상단정보가 있으면 바로 조회
- if(isOpener || HC_isHomeCare){
- var pid = model.getValue("/root/temp/paminfo/pid");
- fSetInDsch(indschacptstat);
-
- if (pid != "") {
- if(model.getValue("/root/temp/paminfo/ioflag") != "E" && model.getValue("/root/temp/paminfo/careinrmdd") == "-"){
- messageBox("아직 입실확인하지 않은 환자입니다.", "I");
- //return;
- }
-
- grd_wardpatlist.row = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"));
- grd_wardpatlist.topRow = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"))-1;
- fSearch();
- }
- }
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return : true/false (true는 가정간호 parameter정상 세팅/ false는 리턴)
- * @desc : 가정간호의 parameter를 넘겨받은 경우에는 조회조건에 parameter값을 setting한다.
- * 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 세팅한다.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden시키고 등록번호, 환자명을 조회영역에 세팅한다.
- * [가정간호에서 받아오는 parameter]
- * - homecarecd : 3090100000 (가정간호를 구분하기 위한 부서코드)
- * - ioflag : I/O (I:입원, O:외래)
- * - pid : 등록번호
- * - hngnm : 환자명
- * - wardcd : 병동코드
- * - roomcd : 병실코드
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
-
- function fSetHomeCareParamter(){
-
- //가정간호 parameter를 가져온다.
- model.removenode('/root/hidden/homecareparam');
- model.makenode('/root/hidden/homecareparam');
- HC_homecarecd = opener.javascript.getParameter('homecarecd');//'3090100000';//'3090100000';//
- HC_ioflag = opener.javascript.getParameter('ioflag');//'O';//'I';//
- var pid = opener.javascript.getParameter('pid'); //'551121110';//'11524296';//
- var hngnm = opener.javascript.getParameter('hngnm'); //'김미연';//'이상월';//
- var wardcd = opener.javascript.getParameter('wardcd');//'';//'3050107000';//
- var roomcd = opener.javascript.getParameter('roomcd');//'';//'4003';//
- var orddd = opener.javascript.getParameter('orddd');
- var cretno = opener.javascript.getParameter('cretno');
- var orddrid = opener.javascript.getParameter('orddrid');
- var orddeptcd = opener.javascript.getParameter('orddeptcd');
- HC_gCareFlag = opener.javascript.getParameter('careflag');
- HC_gInptDt = opener.javascript.getParameter('inptdt');
-
-
- // alert('homcarecd :' + HC_homecarecd + ', hc_ioflag :' + HC_ioflag + ', pid : ' + pid + ', hngnm : ' + hngnm + ', wardcd : ' + wardcd + ', roomcd : ' + roomcd);
-
- //외래/입원의 경우에 따라 조회영역을 visible/hidden처리
- fHiddenRoomWard(HC_ioflag);
-
- //가정간호구분자가 널이면 리턴
- if(HC_homecarecd != null && HC_homecarecd != ''){
- if( isNull(pid)){
- messageBox('필수정보가 없으므로 기록을 조회할 수', 'I004');
- return false;
- }else{
- model.removenode('/root/patientgrup/patientgruplist');
- model.makeValue('/root/patientgrup/patientgruplist/patientnm', hngnm);
- model.makeValue('/root/patientgrup/patientgruplist/pid' , pid);
- model.makeValue('/root/patientgrup/patientgruplist/indd' , orddd);
- model.makeValue('/root/patientgrup/patientgruplist/cretno' , cretno);
- model.makeValue('/root/patientgrup/patientgruplist/orddrid' , orddrid);
- model.makeValue('/root/patientgrup/patientgruplist/orddeptcd', orddeptcd);
- model.makeValue('/root/patientgrup/patientgruplist/ordtype', HC_ioflag);
- model.setValue(cmb_patientnm.attribute('ref') , pid);
- model.setValue(ipt_pid.attribute('ref') , pid);
- model.refresh();
- // if(HC_ioflag == 'O'){
- // //환자명 combonode, input pid set
- // model.removenode('/root/patientgrup/patientgruplist');
- // model.makeValue('/root/patientgrup/patientgruplist/patientnm', hngnm);
- // model.makeValue('/root/patientgrup/patientgruplist/pid' , pid);
- // model.makeValue('/root/patientgrup/patientgruplist/indd' , orddd);
- // model.makeValue('/root/patientgrup/patientgruplist/cretno' , cretno);
- // model.makeValue('/root/patientgrup/patientgruplist/orddrid' , orddrid);
- // model.makeValue('/root/patientgrup/patientgruplist/orddeptcd', orddeptcd);
- // model.makeValue('/root/patientgrup/patientgruplist/ordtype', HC_ioflag);
- // model.setValue(cmb_patientnm.attribute('ref') , pid);
- // model.setValue(ipt_pid.attribute('ref') , pid);
- // model.refresh();
- // }else if(HC_ioflag == 'I'){
- // //pid를 가지고 병실, 병동 정보를 찾는다.
- // fSetWardRoomPidInfo(wardcd, roomcd, pid);
- // }
- return true;
- }
- }else{
- return false;
- }
-
-
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : ioflag I/O (I:입원, O:외래)
- * @return :
- * @desc : 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 visible.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fHiddenRoomWard(ioflag){
- if ( !isNull(HC_homecarecd) ){
- grp_icupnt.attribute('visibility') = 'hidden';
- ctn_ward.attribute('visibility') = 'hidden';
- cmb_wardcd.attribute('visibility') = 'hidden';
- ctn_room.attribute('visibility') = 'hidden';
- cmb_roomcd.attribute('visibility') = 'hidden';
- cap_Zone.attribute('visibility') = 'hidden';
- cmb_Zone.attribute('visibility') = 'hidden';
- cap_settingrn.attribute('visibility') = 'hidden';
- cmb_settingrn.attribute('visibility') = 'hidden';
- btn_patSearch.attribute('visibility') = 'visible';
- ctn_searchflag.attribute('style') = 'top:14px;';
- rdo_stdradio.attribute('style') = 'top:14px;';
- grd_wardpatlist.attribute('visibility') = 'hidden';
- grd_detlgrup.attribute('style') = 'left:0px;';
- grd_detlgrup.attribute('style') = 'width:1195px;';
- line5.attribute('visibility') = 'hidden';
- line2.attribute('style') = 'x1:0px;';
- line2.attribute('style') = 'x2:1195px;';
- rdo_indsch.attribute('visibility') = 'hidden';
- }else{
- if(ioflag == 'O'){
- grp_icupnt.attribute('visibility') = 'hidden';
- ctn_ward.attribute('visibility') = 'hidden';
- cmb_wardcd.attribute('visibility') = 'hidden';
- ctn_room.attribute('visibility') = 'hidden';
- cmb_roomcd.attribute('visibility') = 'hidden';
- cap_Zone.attribute('visibility') = 'hidden';
- cmb_Zone.attribute('visibility') = 'hidden';
- cap_settingrn.attribute('visibility') = 'hidden';
- cmb_settingrn.attribute('visibility') = 'hidden';
- btn_patSearch.attribute('visibility') = 'visible';
- ctn_searchflag.attribute('style') = 'top:14px;';
- rdo_stdradio.attribute('style') = 'top:14px;';
- grd_wardpatlist.attribute('visibility') = 'hidden';
- grd_detlgrup.attribute('style') = 'left:0px;';
- grd_detlgrup.attribute('style') = 'width:1195px;';
- line5.attribute('visibility') = 'hidden';
- line2.attribute('style') = 'x1:0px;';
- line2.attribute('style') = 'x2:1195px;';
- rdo_indsch.attribute('visibility') = 'hidden';
- }else{
- grp_icupnt.attribute('visibility') = 'visible';
- ctn_ward.attribute('visibility') = 'visible';
- cmb_wardcd.attribute('visibility') = 'visible';
- ctn_room.attribute('visibility') = 'hidden';
- cmb_roomcd.attribute('visibility') = 'hidden';
- cap_Zone.attribute('visibility') = 'hidden';
- cmb_Zone.attribute('visibility') = 'hidden';
- cap_settingrn.attribute('visibility') = 'visible';
- cmb_settingrn.attribute('visibility') = 'visible';
- btn_patSearch.attribute('visibility') = 'hidden';
- ctn_searchflag.attribute('style') = 'top:48px;';
- rdo_stdradio.attribute('style') = 'top:48px;';
- grd_wardpatlist.attribute('visibility') = 'visible';
- grd_detlgrup.attribute('style') = 'left:215px;';
- grd_detlgrup.attribute('style') = 'width:980px;';
- line5.attribute('visibility') = 'visible';
- line2.attribute('style') = 'x1:215px;';
- line2.attribute('style') = 'x2:1195px;';
- rdo_indsch.attribute('visibility') = 'visible';
- }
- }
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : wardcd 병동코드
- * @param : roomcd 병실코드
- * @param : pid 등록번호
- * @return :
- * @desc : pid를 가지고 병실, 병동 정보를 찾아서 조회영역에 병동, 병실, 환자명, 등록번호를 세팅한다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetWardRoomPidInfo(wardcd, roomcd, pid){
-
- cmb_wardcd.value = wardcd; //병동코드 세팅
- fSearchRoomcd(wardcd); //병동에 해당되는 병실조회
- cmb_roomcd.value = roomcd; //병실코드 세팅
- fSearchPatInfo(wardcd, roomcd); //병실에 해당되는 환자조회
-
- var hngnm = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/hngnm") : getPatientInfoDetail('hngnm') );
- var indd = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/indd") : getPatientInfoDetail('indd') );
- var cretno = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/cretno") : getPatientInfoDetail('cretno') );
- var orddeptcd = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/orddeptcd") : getPatientInfoDetail('orddeptcd') );
- var medispclid = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/medispclid") : getPatientInfoDetail('medispclid') );
- var ordtype = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/ordtype") : getPatientInfoDetail('ioflag') );
- var dschdd = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/dschdd") : getPatientInfoDetail('dschdd') );
-
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if ( isNull(model.getValue("/root/patientgrup/patientgruplist[pid='"+pid+"']/patientnm")) ){
- addComboItem( "cmb_patientnm", hngnm, pid, "above" );
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- model.makeValue("/root/patientgrup/patientgruplist[1]/patientnm", hngnm);
- model.makeValue("/root/patientgrup/patientgruplist[1]/indd", indd);
- model.makeValue("/root/patientgrup/patientgruplist[1]/cretno", cretno);
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddeptcd", orddeptcd);
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddrid", medispclid);
- model.makeValue("/root/patientgrup/patientgruplist[1]/ordtype", ordtype);
- model.makeValue("/root/patientgrup/patientgruplist[1]/dschdd", dschdd);
-
- // cmb_patientnm.disabled = true;
- }else{
- // cmb_patientnm.value = pid; //등록번호 세팅
- // cmb_patientnm.disabled = false;
- }
-
- ipt_pid.value = pid; //등록번호 세팅
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : pid - 등록번호
- * @return :
- * @desc : 등록번호만 입력된 상태일때는 병동, 병실정보를 알수 없으므로
- * 해당 등록번호의 환자의 병동정보를 조회해온다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fGetPidWardInfo(pid){
- if(HC_isHomeCare){
- messageBox('가정간호대상 환자입니다. 환자정보 조회를', 'E001');
- return;
- }
- if(pid != null && pid != ''){
- model.removenode('/root/send');
- model.removenode('/root/main/patinfo');
- model.makeValue('/root/send/pid', model.getValue('/root/cond/pid'));
- if ( getPatientInfoDetail('indschacptstat') == "D"
- || getPatientInfoDetail('indschacptstat') == "T" ){
- model.makeValue('/root/send/indd', getPatientInfoDetail('indd'));
- }
- if(!submit('TRMNW04707', "false")){
- messageBox('환자정보 조회를', 'E009');
- return;
- }else{
- cmb_wardcd.refresh();
- var wardcd = model.getValue('/root/main/patinfo/patinfolist/wardcd'); //병동코드,
- var roomcd = model.getValue('/root/main/patinfo/patinfolist/roomcd'); //병실코드
- var pid = model.getValue('/root/main/patinfo/patinfolist/pid'); //등록번호
-
- //가정간호의 경우는 상단정보가 아닌 parameter에서 받아온다
- //가정간호에서 팝업을 띄운 환자의 경우엔 skip한다. 20091006 김홍점 병동병실정보 세팅 불필요
- // if(HC_isHomeCare){
- // wardcd = opener.javascript.getParameter('wardcd');
- // roomcd = opener.javascript.getParameter('roomcd');
- // pid = opener.javascript.getParameter('pid');
- // }
- //pid를 가지고 병실, 병동 정보를 찾는다.
- fSetWardRoomPidInfo(wardcd, roomcd, pid);
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단정보를 세팅한다.
- * @param :
- * @return : true/false - 상단정보 있을때 true, 없을때 false
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPatInfo(){
-
- model.removenode("/root/temp/paminfo");
-
- var paminfo = getGlobalVariable("paminfo");
- var pid = "";
- var wardcd = "";
-
- if(paminfo.length > 0) {
- model.makeNode("/root/temp/paminfo");
- setCSVToNode("/root/temp/paminfo", paminfo); //환자정보내리기
- }
- var node = getPatientInfoDetails(xPamInfoPath) ;
- var pid = '';
- var hngnm = '';
- var wardcd = '';
- var roomcd = '';
- var isOpener = false;
- if(checkOpener()){
- pid = getPatientInfoDetail('pid');
- hngnm = getPatientInfoDetail('hngnm');
- wardcd = getPatientInfoDetail('wardcd');
- roomcd = getPatientInfoDetail('roomcd');
- if(pid != null && pid != ''){
- isOpener = true;
- }
- }
- if(pid != '' && hngnm != '' && wardcd != '' && roomcd != ''){
- //콤보에서 끌고 오기 위한 병실, 환자정보 조회
- fSearchRoomcd(wardcd);
- fSearchPatInfo(wardcd, roomcd);
- //상단정보를 세팅
- model.setValue(cmb_wardcd.attribute('ref'), wardcd);
- model.setValue(cmb_roomcd.attribute('ref'), roomcd);
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if ( isNull(model.getValue("/root/patientgrup/patientgruplist[pid='"+pid+"']/patientnm")) ){
- addComboItem( "cmb_patientnm", getPatientInfoDetail('hngnm'), pid, "above" );
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- model.makeValue("/root/patientgrup/patientgruplist[1]/indd", getPatientInfoDetail('indd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/cretno", getPatientInfoDetail('cretno'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddeptcd", getPatientInfoDetail('orddeptcd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddrid", getPatientInfoDetail('medispclid'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/ordtype", getPatientInfoDetail('ioflag'));
-
- //cmb_patientnm.disabled = true;
- }else{
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- //cmb_patientnm.disabled = false;
- }
- model.setValue(ipt_pid.attribute('ref'), pid);
- }
- model.refresh();
- return isOpener;
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병동코드에 해당되는 병실정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchRoomcd(wardcd){
- //병실정보 clear
- model.setValue('/root/cond/roomcd', '');
- model.removenode('/root/roomcdgrup');
- //해당 병실 환자정보 clear
- model.setValue('/root/cond/patientnm', '');
- model.setValue('/root/cond/pid', '');
- model.removenode('/root/patientgrup');
- //cmb_patientnm.disabled = false;
- //선택한 병동에 해당되는 병실 조회
- if(wardcd == null || wardcd == ''){
- wardcd = model.getValue("/root/cond/wardcd");
- model.removenode(xPamInfoPath);
- fInitTopInfo();
- }
- fGetCareComRoomList(wardcd);
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병실코드에 해당되는 환자정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchPatInfo(wardcd, roomcd){
- //해당 병실 환자정보 clear
- model.setValue('/root/cond/patientnm', '');
- model.setValue('/root/cond/pid', '');
- model.removenode('/root/patientgrup');
- //선택한 병동, 병실에 해당되는 환자 조회
- if(wardcd == null || wardcd == ''){
- wardcd = model.getValue('/root/cond/wardcd');
- //cmb_patientnm..disabled = false;
- model.removenode(xPamInfoPath);
- fInitTopInfo();
- }
- if(roomcd == null || roomcd == '')
- roomcd = model.getValue('/root/cond/roomcd');
- fGetCareComPatList(wardcd, roomcd);
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회버튼
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearch(Pram){
- var pid = "";
- var condparam = "";
- var indschacptstat = "";
-
- indschacptstat = model.getValue("/root/main/patindschinfo/patindschlist/indschacptstat");
-
- if(isNull(HC_homecarecd) ){
-
- if(Pram == "" || Pram == "click"){
- // 상단정보 올림
- condparam = model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/ordtype")
- + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid")
- + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd")
- + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno")
- + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd")
- + "▦" + model.getValue("/root/cond/genrdd");
-
- setParameter("condparam", condparam);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- }
-
- fSetPatInfo();
-
- pid = model.getValue("/root/cond/pid");
-
- if(Pram == "click"){
- //욕창발생부위 추가시 등록번호 필수
- if(pid == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return false;
- }else{
- fGetPidWardInfo(pid);
- }
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- cmb_patientnm.refresh();
- }
-
-
- fSearchRecInfo();
-
- //중증도사정및 욕창위험사정 점수조회
- if ( !HC_isHomeCare ){
- if(!submit('TRMNW04703')){
- messageBox('중증도사정및 욕창위험사정 점수의 조회를', 'E009');
- return false;
- }
- }
- }else{
- pid = model.getValue(cmb_patientnm.attribute('ref'));
-
- if(pid == ''){
- pid = model.getValue(ipt_pid.attribute('ref'));
- }else{
- //병실내 환자정보 선택시 환자등록번호 setting
- model.setValue(ipt_pid.attribute('ref'), pid);
- model.refresh();
- }
-
- //욕창발생부위 추가시 등록번호 필수
- if(pid == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return false;
- }
-
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- fSearchRecInfo();
- }
- //조회후 그리드의 욕창발생부위, 발생일자를 머지
- fMergeGenrAreaDD();
- return true;
-
- }
- function fSearchRecInfo() {
-
- //조회조건값 세팅
- model.removenode("/root/send");
- var pid = model.getValue("/root/cond/pid");
- model.makeValue("/root/send/pid", model.getValue("/root/cond/pid")); //등록번호
- model.makeValue("/root/send/indd", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd")); //등록번호
- model.makeValue("/root/send/cretno", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno")); //등록번호
- model.makeValue("/root/send/homecare", (HC_isHomeCare == true ? "Y" : "")); //가정간호대상자
- model.makeValue("/root/send/careflag", HC_gCareFlag); //가정간호대상자
- model.makeValue("/root/send/inptdt", HC_gInptDt); //가정간호대상자
- model.makeValue("/root/send/genrdd", model.getValue("/root/cond/genrdd")); //기준일자(발생일자)
- model.makeValue("/root/send/genrtm", model.getValue("/root/cond/genrtm")); //기준시간(발생시간)
- model.makeValue("/root/send/stdradio", model.getValue("/root/cond/stdradio")); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- //피부욕창관찰기록 조회
- model.removenode('/root/main/detlgrup');
- if(submit('TRMNW04702')){
- if(grd_detlgrup.rows > '2') {
- for(i=1; i <= grd_detlgrup.rows-2 ;i++ ) {
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,10) == "(anterior)"){
- model.setValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm", "Ant."+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(10))
- }
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,11) == "(posterior)"){
- model.setValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm", "Post."+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(11))
- }
- }
- }
- //그리드변경시 update상태파악위한 노드백업
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- //첨부파일이 존재할때에 그리드에 표시
- var fileCnt = 0;
- for(var i = 2; i < grd_detlgrup.rows ; i++){
- fileCnt = model.getValue('/root/main/detlgrup/detlgruplist[' + (i-1) + ']/addfile');
- grd_detlgrup.valuematrix(i, grd_detlgrup.colRef("fileimg")) = '';
- if(fileCnt > 0){
- grd_detlgrup.cellstyle("background-image", i, grd_detlgrup.colRef("fileimg")) = '../../../com/commonweb/images/icon_list.gif';
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회후 욕창발생부위, 발생일자가 같으면 머지한다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMergeGenrAreaDD(){
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartnm")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrdd")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrtm")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplce")) = true; //발생장소추가_20090220_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cause")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("rptsmsflag")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("rptconfirmflag")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("sel")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("flag")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("recdd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("rectm")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizewidth")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizeheight")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("sizedepth")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("stage")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("restage")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("tissue")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("color")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("state")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("amount")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptom")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangle")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("underdepth")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangleunit")) = false; //undermining단위추가_20090203_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("underdepthunit")) = false; //undermining단위추가_20090203_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("dressing")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("addfile")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("fileimg")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("etc")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("recrnm")) = false; //기록자정보추가_20090203_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("recrid")) = false; //기록자정보추가_20090203_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplceid")) = false; //발생장소추가_20090220_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("causeid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("colorid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptomid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("underangleid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("dressingid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("grupcd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("instcd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("obsrecseq")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("genrplcewardcd")) = true;
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 끝 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /////////////////팝업 오픈 시작////////////////////
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 첨부파일팝업을 호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fOpenFilePopup(){
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 첨부하세요.
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후 첨부파일을', 'C002');
- return;
- }
- }
-
- if(obsrecseq != ''){
- setParameter('pid', pid);
- setParameter('grupcd', grupcd);
- setParameter('obsrecseq', obsrecseq);
- modal('SPMNW04703', 100, 100);
- fSearch();
- }else{
- messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : undermining팝업 호출
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupUndermining(){
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 기록하세요.
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후', 'C002');
- return;
- }
- }
-
-
- if(obsrecseq != ''){
- setParameter('pid', pid);
- setParameter('grupcd', grupcd);
- setParameter('obsrecseq', obsrecseq);
- modal('SPMNW04701', 100, 100);
- fSearch();
- }else{
- messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
- /*
- //기준자료 팝업을 호출하기 전 parameter setting
- //var preCd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/'+colNm+'id');//기존저장되어있던 코드값
- //var preNm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/'+colNm);//기존저장되어있던 명칭값
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- //수정된 내역이 있으면 피부욕창기록을 먼저 저장하신 후 등록하세요.
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- messageBox('입력하신 피부욕창관찰기록을 먼저 저장하신 후', 'C002');
- return;
- }
- }
-
- //신규로 입력한 경우에 피부욕창관찰기록내역을 먼저 저아하신 후 등록하세요.
- if(obsrecseq == "") {
- messageBox('입력하신 피부욕창관찰기록내역을 먼저 저장하신 후', 'C001');
- return ;
- }
-
- /*********************************************************************************** /
- //미구현내역 =====undermining입력시 multi체크할때에 행추가로 보여지면서 merge되도록할것**** /
-
- /* type - 1 : undermining 팝업
- - 2 : multi select 팝업
- * /
- //multi팝업과 undermining팝업을 구분
- setParameter("type", "1");
-
- //undermining기준자료팝업 호출
- modal("SPMNW04701",1, event.screenX-200, event.screenY+50);
-
- var retClosParam = getParameter("returnnull");
- var retCDParam = '';
- var retNMParam = '';
-
- if(retClosParam != "close"){
- if(model.getValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat") != "i") {
- model.setValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat","u");
- }
- retNMParam = getParameter("underanglecdnm");
- retCDParam = getParameter("underanglecd");
- } else {
- return ;
- }
-
- alert(retNMParam + ' ' + retCDParam);
- model.makeNode("/root/tmp/griddata");
- model.copyNode("/root/tmp/griddata", xBedsoreGridPath +"[" + (iRow-1) + "]");
-
- var arr = retNMParam.split(",");
- arr2 = retCDParam.split(",");
-
- //선택한 젤 첫번째 row는 insert안 하고
- model.setValue(xBedsoreGridPath + "[" + (iRow+i) + "]/stat2", "i")
-
- for(var i = 0; i < (arr.length -1); i++) {
-
- //팝업에서 선택한 것 만큼 행추가
- grd_detlgrup.insertRow(iRow + i, "below");
-
- //그리드 인서트 상태에 마스터 내용을 뿌려줌.
- model.copyNode(xBedsoreGridPath +"[" + (iRow+i) + "]", "/root/tmp/griddata");
- //undermining 상태 적용 (무조건 신규)-->서버단에서 해당그룹 모두 삭제후 다시 insert
- model.setValue(xBedsoreGridPath + "[" + (iRow+i) + "]/stat2", "i");
-
-
- }
- grd_detlgrup.refresh();
- */
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창발생부위 팝업호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreImg(){
- var iRow = grd_detlgrup.row;
- var iCol = grd_detlgrup.col;
- var obsrecseq = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/obsrecseq");
- //팝업창에 부위 값이 있으면 기존값 셋팅
- //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
- if(grd_detlgrup.textmatrix(iRow,2) != ""){
- setParameter("partall", grd_detlgrup.textmatrix(iRow,3));
- if(obsrecseq > 0){
- setParameter('editable', 'f');
- }
- }else{
- setParameter('editable', 't');
- }
- // 환자 기록부분 선택 팝업
- modal("SMMNW04701",1, event.screenX-200, event.screenY+50); //이미지호출
- //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
- if( getParameter("returnnull") == "close" ){
- return ;
- } else {
- //욕창발생부위 값을 grid에 set
- var retStr = getParameter('retStr');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', retStr);
- //그리드 상태값 변경
- var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- if(stat != "i") {
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat","u");
- } else {
- //욕창발생부위의 추가시 해당 부위에 대해
- //동일한 발생부위+발생일자+발생시간+원인의 '종료'가 없으면
- //그 부위를 추가할수 없도록 메세지 리턴
- if(grd_detlgrup.rows > 3){
- var returnArr = fIsExistEndData(grd_detlgrup.row, true);
- if(returnArr[3] != null && !returnArr[3]){
- messageBox('선택하신 발생부위는 이미 등록되어 있으며, 종료된 사정이 아니므로 재등록 하실 수 ', 'I004');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', '');
- model.refresh();
- return ;
- }
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 욕창기준자료(원인, 기저부, 상처감염증상, dressing)팝업 호출
- * @type : function
- * @access : public
- * @param : colNm 그리드의 col ref
- * @param : iRow 그리드에서 현재 선택되어있는 row 인덱스
- * @param : nmColIdx 찾으려는 코드명칭의 col 인덱스
- * @param : cdColIdx 찾으려는 코드의 col 인덱스
- * @return :
- * __________________________________________________________________________
- * |column | cd |cdIdx| nm |nmIdx |
- * |________________________________________________________|__________|______|
- * |발생장소 |genrplceid | |genrplce | |
- * |________________________________________________________|__________|______|
- * |원인 |causeid | 5 |cause | 23 |
- * |________________________________________________________|__________|______|
- * |기저부색 |colorid | 14 |color | 24 |
- * |________________________________________________________|__________|______|
- * |상처감염증상 |symptomid | 17 |symptom | 25 |
- * |________________________________________________________|__________|______|
- * |Undermining방향 |underangleid | 18 |underangle| 26 |
- * |________________________________________________________|__________|______|
- * |Dressing |dressingid | 20 |dressing | 27 |
- * |________________________________________________________|__________|______|
- * |단계 |stageid | |stage | |
- |__________________________________________________________________________|
- |삼출물상태 |stateid | |state | |
- |__________________________________________________________________________|
- |삼출물양 |amountid | |amount | |
- |__________________________________________________________________________|
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreData(iRow){
- var curCol = grd_detlgrup.col;
-
- var dressCd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/dressingid'); //기존저장되어있던 코드값
- var dressNm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/dressing'); //기존저장되어있던 명칭값
- var flag = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/flag'); //구분
- var stat = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/stat'); //상태
-
- //욕창기준자료 (발생장소, 원인, 기저부, 상처감염증상,dressing)저장되어 있던 그리드의 값을 팝업에 세팅
- fSetPopupData(iRow, "genrplce");// (발생장소)_20090220_SMY추가
- fSetPopupData(iRow, "cause"); // (원인)
- fSetPopupData(iRow, "color"); // (기저부)
- fSetPopupData(iRow, "stage"); // (단계)
- fSetPopupData(iRow, "symptom"); // (상처감염증상)
- fSetPopupData(iRow, "state"); // (삼출물상태)
- fSetPopupData(iRow, "amount"); // (삼출물양)
- fSetPopupData(iRow, "dressing");// (dressing)
- fSetPopupData(iRow, "tissue");// 조직의 종류
-
- setParameter("type", "2");
- setParameter("flag", flag);
- setParameter("stat", stat);
-
- modal("SPMNW04702",1, event.screenX-200, event.screenY+50); //기준자료호출
-
- //팝업에서 가져온 return parameter를 그리드에 세팅
- var retClosParam = getParameter("returnnull");
-
- fGetPopupData(iRow, "genrplce", retClosParam); //발생장소
- fGetPopupData(iRow, "cause", retClosParam); //원인
- fGetPopupData(iRow, "color", retClosParam); //기저부색
- fGetPopupData(iRow, "stage", retClosParam); //단계
- fGetPopupData(iRow, "symptom", retClosParam); //감염증상
- fGetPopupData(iRow, "state", retClosParam); //삼출물상태
- fGetPopupData(iRow, "amount", retClosParam); //삼출물양
- fGetPopupData(iRow, "dressing", retClosParam); //드레싱
- fGetPopupData(iRow, "tissue", retClosParam); //조직의 종류
-
- //alert(getParameterPath());
-
- //parameters clear
- model.removenode(getParameterPath());
- var genrplcesplit = (model.getValue("/root/main/detlgrup/detlgruplist[" + (iRow - 1) + "]/genrplceid")).split(",");
- var genrplceh = 0;
- for(var i=0; i<genrplcesplit.length; i++){
- if(genrplcesplit[i] == "61"){ // 61 : 원내
- genrplceh ++;
- }
- }
-
- if( genrplceh == 0){
- model.setValue(xBedsoreGridPath+'['+ (iRow - 1) +']/genrplcewardcd',"");
- }
- }
- /////////////////팝업데이터 세팅 시작////////////////////
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 욕창기준자료저장되어 있던 그리드의 값을 팝업에 세팅
- * genrplce, genrplceid //20090220_SMY추가
- cause, causeid,
- * stage, stageid,
- * color, colorid,
- * state, stateid,
- * amount, amountid,
- * symptom, symptomid,
- * dressing, dressingid
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPopupData(iRow, str) {
- var cd;
- var nm = '';
-
- //if(str == "stage" || str=="state" || str=="amount") {
- if(str=="state" || str=="amount") {
- //단계, 삼출물상태, 삼출물양 (combo로 들어가는 값)
- cd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str);//기존저장되어있던 코드값
- } else {
- cd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id');//기존저장되어있던 코드값 ;
- nm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str);//기존저장되어있던 명칭값 ;
- }
-
- if(cd != '') {
- setParameter(str + "cdnm", "");
- setParameter(str + "cd", "");
- setParameter(str + "cdid", cd);
-
- //기타가 선택되어진 상태일때 freetext를 파라메터로 set한다.
- if(nm.indexOf('기타') > -1){
- var etcStr = nm.split(')')[0].split('(')[1];
- setParameter(str + 'EtcExist', true);
- setParameter(str + 'EtcStr', etcStr);
- }
- if(str == "dressing") {
- setParameter("dressingStr", nm);
- }
- }
- }
- /**
- * 발생장소 원인, 기저부, 상처감염증상,dressing 공통 팝업의 선택결과를 그리드에 세팅
- */
- function fGetPopupData(iRow, str, retClosParam) {
- var retCDParam = '';
- var retNMParam = '';
-
- var oldCDParam
-
- if(retClosParam != "close"){
- if(model.getValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat") != "i") {
- model.setValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat","u");
- }
- retNMParam = getParameter(str + "cdnm");
- retCDParam = getParameter(str +"cd");
- } else {
- return ;
- }
-
- //if(str == "stage" || str=="state" || str=="amount") {
- if(str=="state" || str=="amount") {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retCDParam) ;
- } else {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retNMParam);
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id', retCDParam) ;
- }
-
- clearParameter(str + "cdnm");
- clearParameter(str + "cd");
- clearParameter(str + "cdid");
- clearParameter(str + "Str");
- clearParameter(str + "etcExist");
- clearParameter(str + "etcStr");
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 종료 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창관찰기록 저장하기전에 유효성을 체크한다.
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsValid(){
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if(grd_detlgrup.rows < 3){
- messageBox("저장할 내역이","I004");
- return false;
- }
- //-----------------------------------------------------------------------------------------------
- //수정 데이터 존재여부 체크
- /*var sflag = '';
- for(var i = 2; i < grd_detlgrup.rows; i++){
- //alert(grd_detlgrup.getUpdateData());
- alert(i);
- alert(grd_detlgrup.getUpdateData("insert"));
-
- sflag = getArrayData(grd_detlgrup.getUpdateDataAll("i"), i-1, 0);
- if(sflag == ''){
- messageBox("신규등록/수정사항이","I004");
- return false;
- }
- }*/
-
- var sflag = '';
- var cnts = 0;
-
- for(i = grd_detlgrup.fixedRows; i < grd_detlgrup.rows; i++) {
- /*if(model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != "-"
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != ""
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != null) {*/
- if(grd_detlgrup.rowStatus(i) != "0") {
- cnts ++;
- }
- }
-
- if ( cnts < 1 ) {
- messageBox("신규등록/수정사항이","I004");
- return false;
- }
- //--------------------------------------------------------------------------------------------------
- var dschdd = ( getPatientInfoDetail('pid')== false ? model.getValue(xSearchPamInfoPath + "/dschdd") : getPatientInfoDetail('dschdd') );
-
- var cnt = 0; // 욕창보고 체크 갯수 count용
- for(var i = 2 ; i < grd_detlgrup.rows; i++ ){
- //욕창발생부위 입력여부 체크
- if( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/obspartnm") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/obspartnm").length <= 0 ) {
- messageBox("욕창발생부위는","I003");
- return false;
- }
-
- //20130318 이후 기록만 점검
- if (model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/recdd") > "20130318") {
- //가로 세로 크기 입력을 필수로 처리 2013.03.18
- if( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/sizewidth") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/sizewidth").length <= 0
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/sizeheight") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/sizeheight").length <= 0 ) {
- messageBox("크기(가로, 세로)는","I003");
- return false;
- }
-
- //삼출물의 양 필수 처리 2013.03.19
- if( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/amount") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/amount").length <= 0 ) {
- messageBox("삼출물의 양은","I003");
- return false;
- }
- //조직의 종류 처리 2013.03.19
- if( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/tissue") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/tissue").length <= 0 ) {
- messageBox("조직의 종류는","I003");
- return false;
- }
- //사정 및 종료일 때는 재사정 단계 필수 처리 2013.03.19
-
- if( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/flag") != "00"
- && (model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/restage") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/restage").length <= 0) ) {
- messageBox("재사정 단계는","I003");
- return false;
- }
-
- //발생장소가 원내일 경우 발생장소(원내) 필수항목 지정_칠곡인증평가 관련_2016.05.12_AYS
- if( model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='R11']/cdid") == 'Y'
- && model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/genrplce") == "원내"
- && model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/genrplcewardcd") == ""){
- messageBox("발생장소(원내) 선택은","I003");
- return false;
- }
- }
-
-
- if (HC_isHomeCare == false)
- {
- if ( dschdd < "99991231"
- && ( model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/recdd") > dschdd
- || model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/genrdd") > dschdd)
- ){
- messageBox((i-1) + "번째에 기록일자 와 발생일자는 퇴원일 "+dschdd+" 이전이어야 합니다" ,"I007");
- return false;
- }
- }
-
- //필드값 필수입력여부 체크
- var valiStr = '';
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/cause'); //원인
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/stage'); //단계
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/color'); //기저부색
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/state'); //삼출물상태
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/amount'); //삼출물양
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/symptom'); //상처감염증상
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/underangle'); //undermining방향
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/underdepth'); //undermining깊이
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/dressing'); //dressing
- if(valiStr == ''){
- messageBox((i-1) + "번째에 항목을 1개 이상","C002");
- return false;
- }
-
- // 욕창보고 체크가 2개 이상 체크될 시 Blocking (2011.04.19 Ahn)
- if("true" == model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/rptsmsflag")){
- if( 1 < ++cnt) {
- messageBox("SMS전송은 한 건만 가능합니다." ,"I");
- return false;
- }
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창관찰기록 저장
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSave(){
- if(fIsValid()){
- //저장여부 메세지박스
- if(messageBox("","Q002") != 6)
- return false;
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedataAll('i'));
- model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
- if(submit("TXMNW04710")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fSearch();
- }
- }
- }
- var SIGN_ROW = 0;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if(fIsValid()){
- /*//2009-01-29_SMY_주석처리
- var retMsg = messageBox("인증저장을", "Q004"); // 실행 하시겠습니까? yes=6, no=7
- if(retMsg != "6") {
- return ;
- }
- */
-
- /* 환자정보 가져오는 노드 변경_20090205_SMY
- var pid = model.getValue(xBedsoreGridPath + "/pid");
- var indd = model.getValue(xBedsoreGridPath + "/indd");
- var cretno = model.getValue(xBedsoreGridPath + "/cretno");
- var orddeptcd = model.getValue(xBedsoreGridPath + "/orddeptcd");
- var orddrid = model.getValue(xBedsoreGridPath + "/orddrid");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
- */
- var pid = model.getValue("/root/cond/pid");
- var indd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd");
- var cretno = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno");
- var orddeptcd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddeptcd");
- var orddrid = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddrid");
- var ordtype = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/ordtype");
- var signno = ''; //model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- // 저장 데이터 세팅
- model.removenode("/root/send/savedata");
- var iRows = grd_detlgrup.rows;
- for(var i=1;i<iRows;i++) {
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,4) == "Ant."){
- model.setValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm", "(anterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(4))
- }
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,5) == "Post."){
- model.setValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm", "(posterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(5))
- }
- }
- /*
- var stat = "", obspartnm = "", genrdd = "", genrtm = "", genrplce = "", cause = "", flag = "",
- recdd = "", rectm = "", sel = "", sizewidth = "", sizeheight = "", sizedepth = "", stage = "",
- color = "", state = "", amount = "", symptom = "", underangle = "", underdepth = "", dressing = "",
- photimg = "", etc = "", genrplceid = "", causeid = "", colorid = "", symptomid = "", underangleid = "",
- dressingid = "", pid = "", grupcd = "", obsrecseq = "", instcd = "", signno = "";
- var iRows = grd_detlgrup.rows;
- var iPath = "/root/main/detlgrup/detlgruplist";
- var detlgruplist = "m▦rownum▦stat▦obspartnm▦genrdd▦genrtm▦genrplce▦cause▦flag▦recdd▦rectm▦sel▦sizewidth▦sizeheight▦sizedepth▦stage▦color▦state▦amount▦symptom▦underangle▦underdepth▦dressing▦▦photimg▦etc▦genrplceid▦causeid▦colorid▦symptomid▦underangleid▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno";
- ▦▦▦▦▦▦▦▦▦▦▦▦etc▦genrplceid
- ▦causeid▦colorid▦symptomid▦underangleid▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno;
- for(var i=1;i<iRows; i++) {
- stat = model.getValue(iPath+"["+i+"]/stat");
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,4) == "Ant."){
- obspartnm = "(anterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(4))
- }
- if(model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(0,5) == "Post."){
- obspartnm = "(posterior)"+model.getValue("/root/main/detlgrup/detlgruplist["+i+"]/obspartnm").substring(5))
- }
- genrdd = model.getValue(iPath+"["+i+"]/genrdd");
- genrtm = model.getValue(iPath+"["+i+"]/genrtm");
- genrplce = model.getValue(iPath+"["+i+"]/genrplce");
- cause = model.getValue(iPath+"["+i+"]/cause");
- flag = model.getValue(iPath+"["+i+"]/flag");
- sel = model.getValue(iPath+"["+i+"]/sel");
- sizewidth = model.getValue(iPath+"["+i+"]/sizewidth");
- sizedepth = model.getValue(iPath+"["+i+"]/sizedepth");
- stage = model.getValue(iPath+"["+i+"]/stage");
- color = model.getValue(iPath+"["+i+"]/color");
- state = model.getValue(iPath+"["+i+"]/state");
- amount = model.getValue(iPath+"["+i+"]/amount");
- symptom = model.getValue(iPath+"["+i+"]/symptom");
- underangle = model.getValue(iPath+"["+i+"]/underangle");
- underdepth = model.getValue(iPath+"["+i+"]/underdepth");
-
- dressing = model.getValue(iPath+"["+i+"]/dressing");
- flag = model.getValue(iPath+"["+i+"]/flag");
- flag = model.getValue(iPath+"["+i+"]/flag");
-
- detlgruplist = detlgruplist + "▩" + "i" + "▦" + i + "▦" + stat + "▦" + obspartnm
- + "▦" + genrdd + "▦" + genrtm + "▦" + genrplce + "▦" + cause
- + "▦" + flag + "▦" + sel + "▦" + sizewidth + "▦" + sizedepth
- + "▦" + stage + "▦" + state + "▦" + amount + "▦" + symptom
- + "▦" + underangle + "▦" + underdepth + "▦" + dressing + "▦" + photimg
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno
- + "▦" + updtflag + "▦" + chkflag + "▦" + wardtel + "▦" + trno;
- }
- */
-
- //------------------------------------------------------------------------------------------------------
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedataAll('i'));
- //model.makeValue("/root/send/savedata/pid", pid);
-
-
- model.refresh();
- //------------------------------------------------------------------------------------------------------
- /*var sHeader = "stat▦obspartnm▦genrdd▦genrtm▦genrplce▦cause▦flag"
- + "▦recdd▦rectm▦rptsmsflag▦sel▦sizewidth▦sizeheight▦sizedepth"
- + "▦stageid▦color▦state▦amount▦symptom▦underangle▦underdepth▦dressing"
- + "▦photimg▦etc▦genrplceid▦causeid▦colorid▦symptomid▦underangleid"
- + "▦dressingid▦pid▦grupcd▦obsrecseq▦instcd▦signno▩";
-
- var sData = "";
-
- for(i = grd_detlgrup.fixedRows; i < grd_detlgrup.rows; i++) {
- if(model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != "-"
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != ""
- && model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") != null) {
- sData += model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stat") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/obspartnm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrdd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrtm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrplce") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/cause") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/flag") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/recdd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/rectm") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/rptsmsflag") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sel") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizewidth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizeheight") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/sizedepth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/stageid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/color") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/state") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/amount") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/symptom") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underangle") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underdepth") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/dressing") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/photimg") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/etc") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/genrplceid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/causeid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/colorid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/symptomid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/underangleid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/dressingid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/pid") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/grupcd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/obsrecseq") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/instcd") + "▦"
- + model.getValue("/root/main/detlgrup/detlgruplist[" + i + "]/signno") + "▩" ;
- }
- }
-
- model.makeValue("/root/send/savedata/detlgrup", sHeader+sData)*/
- //-----------------------------------------------------------------------------------------------
-
-
- //------------------------------------------------------------------------------------------------------
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- //for를 돌면서 각 욕창기록정보의 노드를 복사 한다.
- for(var i = 2; i < grd_detlgrup.rows; i++){
- SIGN_ROW = (i-1);
- signno = model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/signno');
-
- // 인증 로직 호출
- ViewFunc = "sign";
- if(Sign.signprocess() == true){
- //alert(Sign.signedInfos[1]);
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/cretno" , cretno); // 생성번호
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recdd", getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/screenid" , getScreenID());
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/dispyn", "N"); // 인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
- } else {
- return ;
- }
- }
-
- //------------------------------------------------------------------------------------------------------
-
- // 욕창보고 컬럼이 체크된 행 추출 (2011.04.20 ahn)
- var rptSMSRow = "";
- for(var i = 2; i < grd_detlgrup.rows; i++) {
- if(model.getValue("/root/main/detlgrup/detlgruplist["+(i-1)+"]/rptsmsflag") == "true"){
- rptSMSRow = i-1;
- //alert("욕창보고가 선택된 행 : " + rptSMSRow);
- break;
- }
- }
-
- if(rptSMSRow != ""){
- // 환자정보 및 욕창보고 컬럼이 체크된 행 데이터 복사 (2011.04.20 ahn)
- //model.removenode("/root/temp");
- //model.makeNode("/root/temp");
- copyNodeset("/root/temp/detlgrup/detlgruplist", "/root/main/detlgrup/detlgruplist[" + rptSMSRow + "]","replace", model, model);
- copyNodeset("/root/temp/sriusgrup", "/root/main/sriusgrup","replace", model, model);
-
- // 진단명 set
- model.makeValue("/root/temp/paminfo/diag", model.getValue("/root/patientgrup/patientgruplist[pid = '" + pid + "']/diag"));
- // 병동코드 set
- //model.makeValue("/root/temp/paminfo/wardcd", model.getValue("/root/patinfo/patinfolist/wardcd"));
- }
-
- if(submit("TXMNW04710")){
- // 인증 저장이 성공하면 '욕창발생보고 및 sms전송' 팝업 화면 띄우고 복사해놓은 인스턴스 copy (욕창보고 체크된 행 데이터)
- // 2011.04.20 Ahn
- //debugger;
- if(rptSMSRow != ""){
- //alert(model.getValue("/root/temp/obsrecseqinfo/obsrecseqlist/obsrecseq"));
- // obsrecseq(욕창관찰기록 seq) set
- model.setValue("/root/temp/detlgrup/detlgruplist/obsrecseq", model.getValue("/root/temp/obsrecseqinfo/obsrecseqlist/obsrecseq"));
- model.makeValue("/root/temp/detlgrup/detlgruplist/obsrecrptseq", model.getValue("/root/temp/obsrecseqinfo/obsrecseqlist/obsrecrptseq"));
- model.makeValue("/root/temp/detlgrup/detlgruplist/genrplcewardnm", grd_detlgrup.labelMatrix(rptSMSRow+1, grd_detlgrup.colRef("genrplcewardcd")));
-
- setParameter("ScreenId", "SMMNW04700");
-
- if(model.getValue("/root/cond/indsch") == "1"){ // 재원환자일때만 sms발생보고
- modal('SPMNW04704', 100, 100, 100, "", "/root/temp", "/root/init");
- //function modal(id,monNo,xPos,yPos,wid,ref,resultref,userProp,prevPos, authCode, resizeType)
- }
- }
-
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fMakeViewData(); //통합기록view용 데이터생성
- if( !isNull(HC_homecarecd)) {
- fSearch();
- }else{
- finit();
- }
- }
- }
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
- if (ViewFunc == "sign"){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- Sign.addnode("/root/cond");
- Sign.addnode("/root/main/detlgrup/detlgruplist[" + SIGN_ROW + "]");
- Sign.addnode("/root/main/sriusgrup");
- Sign.addnode("/root/main/patinfo/patinfolist");
-
- var xDeltGrupPath = Sign.XPATH_SIGNINFO + "/detlgruplist[" + SIGN_ROW + "]";
-
- var flag;
- var stage;
- var state;
- var amount;
- var underangle;
-
- //구분
- flag = model.getValue(xDeltGrupPath + "/flag");
- if(flag != "") {
- model.setValue(xDeltGrupPath + "/flag", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("flag")));
- }
- //단계 - 2014.02.17 불필요한 로직 삭제
- //stage = model.getValue(xDeltGrupPath + "/stage");
- //if(stage != "") {
- // model.setValue(xDeltGrupPath + "/stage", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("stage")));
- //}
-
- //삼출물(상태)
- state = model.getValue(xDeltGrupPath + "/state");
- if(state != "") {
- model.setValue(xDeltGrupPath + "/state", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("state")));
- }
- //삼출물(양)
- amount = model.getValue(xDeltGrupPath + "/amount");
- if(amount != "") {
- model.setValue(xDeltGrupPath + "/amount", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("amount")));
- }
- //Undermining(방향)
- underangle = model.getValue(xDeltGrupPath + "/underangle");
- if(underangle != "") {
- model.setValue(xDeltGrupPath + "/underangle", grd_detlgrup.labelMatrix(SIGN_ROW+1, grd_detlgrup.colRef("underangle")));
- }
-
- //undermining 쪽 데이터를 detail노드로 addnode한다.
-
- // var xRecinfoPath = Sign.XPATH_SIGNINFO+"/recinfo/recinfolists";
- }else if (ViewFunc == "view"){
-
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- Sign.addnode("/root/cond");
- Sign.addnode("/root/viewinfo/viewdetlgrup");
- Sign.addnode("/root/main/sriusgrup");
- Sign.addnode("/root/main/patinfo/patinfolist");
- var xViewDeltGrupPath = Sign.XPATH_SIGNINFO + "/viewdetlgrup";
- var flag;
- var stage;
- var state;
- var amount;
- var addfile;
- var underangle;
- var underangleunit;
- var underdepth;
- var underdepthunit;
- var undermining;
-
- var bf_pid = "";
- var bf_grupcd = "";
- var bf_obsrecseq = "";
- var bf_instcd = "";
- var af_pid = "";
- var af_grupcd = "";
- var af_obsrecseq = "";
- var af_instcd = "";
-
- for(var i = 1 ; i <= getNodesetCount(xViewDeltGrupPath + "/detlgruplist"); i++) {
- af_pid = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/pid");
- af_grupcd = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/grupcd");
- af_obsrecseq = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/obsrecseq");
- af_instcd = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/instcd");
-
- //구분
- flag = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag");
-
- if(flag != "") {
- if(flag == "00"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "등록");
- }else if(flag == "01"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "사정");
- }else if(flag == "99"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "종료");
- }
- }
-
- //단계 - 2014.02.17 통합기록조회 단계에 저장되지 않아 주석처리
- //stage = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/stage");
- //if(stage != "") {
- // model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/stage", model.getValue("/root/hidden/codelist/getVOStage[cd='"+ stage +"']/cdnm"));
- //}
-
- //삼출물(상태)
- state = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/state");
- if(state != "") {
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/state", model.getValue("/root/hidden/codelist/getVOState[cd='"+ state +"']/cdnm"));
- }
- //삼출물(양)
- amount = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/amount");
- if(amount != "") {
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/amount", model.getValue("/root/hidden/codelist/getVOAmount[cd='"+ amount +"']/cdnm"));
- }
- //첨부파일
- addfile = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/addfile");
- if(addfile > 0){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/addfile", "Y");
- }else{
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/addfile", "N");
- }
-
- //Undermining(방향)
- underangle = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/underangle");
- if(underangle != "") {
- //Undermining(방향단위)
- underangleunit = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/underangleunit");
- if(underangleunit != ""){
- underangle = model.getValue("/root/hidden/codelist/getVOAngle[cd='"+ underangle +"']/cdnm") + underangleunit;
- }else{
- underangle = model.getValue("/root/hidden/codelist/getVOAngle[cd='"+ underangle +"']/cdnm");
- }
- }
-
- //Undermining(깊이)
- underdepth = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/underdepth");
- if(underdepth != "") {
- //Undermining(깊이단위)
- underdepthunit = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/underdepthunit");
- if(underdepthunit != ""){
- underdepth = underdepth + underdepthunit;
- }
- }
-
- //Undermining의 경우 여러 row가 조회되므로 한 row에 묶음(방향-길이로 표시함)
- if(underdepth != ""){
- if (underangle == ""){
- underangle = underdepth;
- }else{
- underangle = underangle + "-" + underdepth;
- }
- }
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/underangle", underangle);
-
- if(bf_pid == af_pid && bf_grupcd == af_grupcd && bf_obsrecseq == af_obsrecseq && bf_instcd == af_instcd){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + (i-1) + "]/underangle", model.getValue(xViewDeltGrupPath + "/detlgruplist[" + (i-1) + "]/underangle")+", " + underangle);
- model.removeNodeset(xViewDeltGrupPath + "/detlgruplist[" + i + "]");
- i--;
- }
-
- bf_pid = af_pid;
- bf_grupcd = af_grupcd;
- bf_obsrecseq = af_obsrecseq;
- bf_instcd = af_instcd;
-
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * 2008.06.04 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕찰관찰기록 삭제
- * @param :
- * @return : returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 사정기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] genrdd string 발생일자(set parameter)
- * returnArr[8] genrtm string 발생시간(set parameter)
- * returnArr[9] cause string 원인 (set parameter)
- * returnArr[10] causeid string 원인코드(set parameter)
- * returnArr[12] genrplce string 발생장소(set parameter)
- * returnArr[13] genrplceid string 발생장소코드(set parameter)
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fDel(){
-
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false; //체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
- var flag = ''; //등록구분 (등록/사정/종료)
- var fileCnt = 0; //첨부파일등록된 갯수
- var returnArr, isEnd, isAss, isStage;
- var checkStr; //체크값 (발생부위 + 발생일자 + 발생시간 + 원인)
- var isSvrDel = false; //db에 저장된 데이터 삭제시
-
- //20080930 retMsg추가
- var retMsg = messageBox('선택하신 욕창기록을', 'Q001');
-
- //20080930 인증추가
- var pid = model.getValue(xBedsoreGridPath + "/pid");
- var orddd = model.getValue(xBedsoreGridPath + "/orddd");
- var cretno = model.getValue(xBedsoreGridPath + "/cretno");
- var orddeptcd = model.getValue(xBedsoreGridPath + "/orddeptcd");
- var orddrid = model.getValue(xBedsoreGridPath + "/orddrid");
- var ordtype = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/ordtype");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
- for(var i = 2; i < grd_detlgrup.rows; i++){
- sel = model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/sel");
- stat = model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/stat");
- flag = model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/flag");
- fileCnt = model.getValue(xBedsoreGridPath + "[" + (i-1) + "]/addfile");
-
- SIGN_ROW = (i-1); //20080930
- if(sel == 'true'){
- delFlag = true;
- if(stat == 'i'){
- //체크한 항목이 행추가 (stat:i)상태인 경우 그리드에서 바로 삭제
- grd_detlgrup.deleteRow(i);
- }else{
- isSvrDel = true;
- //종료가 존재하는지 여부를 배열로 리턴
- returnArr = fIsExistEndData(i);
- isAss = returnArr[2];
- isEnd = returnArr[3];
- checkStr = i + '¿' + returnArr[6] + returnArr[7] + returnArr[8] + returnArr[9];
- if(isEnd){
- //체크한 항목의 해당 부위에 종료가 있으면 삭제할수 없다는 메세지 출력후 리턴
- var obspartnm = returnArr[6];
- var gendt = returnArr[7].substring(0, 4) + '-' + returnArr[7].substring(4, 6) + '-'
- + returnArr[7].substring(6) + ' ' + returnArr[8].substring(0, 2) + ':' + returnArr[8].substring(2);
- messageBox('선택하신 발생부위 "' + obspartnm + '"발생일시"' + gendt + '" 는 이미 종료기록이 있으므로 삭제하실 수', 'I004');
- //update상태로 변경된 row를 원상태로 변경
- grd_detlgrup.removeStatus(i, 'update');
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/sel", 'false');
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/stat", '-');
-
- model.refresh();
- return;
- }
- //등록 삭제시 해당부위에 사정기록있으면 등록~사정 모두삭제한다는 메세지 출력
- else if(flag == '00' && isAss){
- //선택한 체크박스가 등록상태이고, 해당 발생부위에 사정기록이 존재할때
- //사정기록까지 삭제하겠냐는 메세지 호출해 확인 누르면 해당 그룹 모두 체크 취소누르면 선택 해제
- if(messageBox('선택하신 욕창부위 "'+returnArr[6]+'"를 삭제하시면 사정기록도 함께 삭제됩니다.', 'Q001') == 6){
- fCheckSamePart(checkStr);
- }
- }
- //첨부파일 등록된 갯수가 있으면 함께 삭제된다는 메세지 출력
- else if(fileCnt > 0){
- var fileMsg = messageBox('선택된 욕창기록에 첨부되어 있는 파일도 함께 삭제됩니다.', 'Q003') ;
- if(fileMsg == 7){
- return;
- }else if(fileMsg == 6){
- //상태값을 'd'로 변경
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/stat", 'd');
- grd_detlgrup.addStatus(i, 'delete');
- }
- }
- else{
- //상태값을 'd'로 변경
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/stat", 'd');
- grd_detlgrup.addStatus(i, 'delete');
-
- //20080930 인증추가
- signno = model.getValue(xBedsoreGridPath + '[' + (i-1) + ']/signno');
- // 인증 로직 호출
- ViewFunc = "sign";
- if(Sign.signprocess() == true){
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddd", orddd); // 입원일자(입원,응급)/진료일자(외래)
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/cretno" , cretno); // 생성번호
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recdd", getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/screenid", getScreenID());
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/dispyn", "N"); //인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
-
- } else {
- return ;
- }
-
- }
- }
- }
- }
- //선택한 항목이 없을때
- if(!delFlag){
- messageBox('삭제할 항목을', 'C002');
- return;
- }
- //삭제하기전 첨부파일이 있으면 함께 삭제된다는 메세지 출력
- //db에 저장되어 있던 데이터 삭제시(isSvrDel== true)
- //20080930 retMsg추가
- if(isSvrDel == true && retMsg == 7){
- return;
- }
- //삭제 서브미션 호출
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedata('delete'));
- model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
- if(submit("TXMNW04710")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fMakeViewData(); //통합기록view용 데이터생성
-
- if( !isNull(HC_homecarecd)) {
- fSearch();
- }else{
- finit();
- }
- }
- }
- //선택한 발생부위에 해당되는 모든 그룹을 체크(true)로 변경
- function fCheckSamePart(checkStr){
- var _chkArr = checkStr.split('¿');
- var sRow = _chkArr[0];
- var chkStr = _chkArr[1];
- var _chkStr = '';
- for(var i = sRow; i < grd_detlgrup.rows; i++){
- _chkStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(chkStr == _chkStr){
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/stat", 'd');
- model.setValue(xBedsoreGridPath + "[" + (i-1) + "]/sel", 'true');
- grd_detlgrup.addStatus(i, 'delete');
- }
- }
- model.refresh();
- }
- //체크 해제하면 update상태를 select상태로 변경한다.
- function fChangeStatus(selRow){
-
- var isChk = model.getValue(xBedsoreGridPath + "[" + (selRow-1) + "]/sel");
- if(isChk == 'false'){
- if(grd_detlgrup.rowstatus(selRow) == "1" || grd_detlgrup.rowstatus(selRow) == "3") {
-
- } else {
- model.setValue(xBedsoreGridPath + "[" + (selRow-1) + "]/stat", '-');
- grd_detlgrup.removeStatus(selRow, 'update');
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 발생부위추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddGenArea(){
-
- var pid = model.getValue(ipt_pid.attribute('ref'));
- //욕창발생부위 추가시 등록번호 필수
- if(pid == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return;
- }
- //발생부위 추가전에 그리드에 row가 없으면 조회후 추가
-
- if(grd_detlgrup.rows == 2){
- if(!fSearch() || pid == ''){
- messageBox('등록번호를', 'C001');
- return;
- }
- }
- var iRows = grd_detlgrup.rows;
- var iRow = grd_detlgrup.row;
-
- grd_detlgrup.addRow();
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("flag"))=true;
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
-
- if(iRows < 3){
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/grupcd","00000001");
- } else if(iRows > 2){
- var sRowCnt = grd_detlgrup.rows-grd_detlgrup.fixedrows;
- /* grupcd 현재 화면의 최대값 가져오기 시작 */
- var retVal = "" ;
- for(var i=2; i<= sRowCnt; i++){
- if(model.getValue(xBedsoreGridPath+"["+i+"]/grupcd") ) {
- saveyn = 1 ;
- }
- retVal = Math.max(retVal,model.getValue(xBedsoreGridPath+"["+i+"]/grupcd"));
- }
- retVal = retVal + 1 ;
- retVal = String(retVal) ;
- retVal = fLpad(retVal,8,0);// grupcd 8자리 나머지는 0 으로 매꿈
- /* grupcd 현재 화면의 최대값 가져오기 끝 */
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/grupcd",retVal);
- }
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat", "i");
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/pid", pid);
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/genrdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/genrtm", getCurrentDateTime().substring(9,13));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/flag", "00");
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/rectm", getCurrentDateTime().substring(9,13));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/recrnm", getUserName());
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/recrid", getUserId());
- // 발생부위추가 시 욕창보고 체크박스 default 체크 (2011.04.14 ahn)
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/rptsmsflag", "true");
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/pushyn", "N");
-
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/indd", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd"));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/cretno", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno"));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/totpnt", model.getValue("/root/main/sriusgrup/totpnt"));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/clsgrupkind",model.getValue("/root/main/sriusgrup/clsgrupkind"));
-
- grd_detlgrup.isReadOnly(grd_detlgrup.row,grd_detlgrup.colRef("genrdd")) = false;
- grd_detlgrup.isReadOnly(grd_detlgrup.row,grd_detlgrup.colRef("recdd")) = false;
- model.refresh();
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 끝 +++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 왼쪽 자리수 채우기
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- // Left 빈자리 만큼 padStr 을 붙인다.
- function fLpad(src, len, padStr){
- var retStr = "";
- var padCnt = Number(len) - String(src).length;
- for(var i=0;i<padCnt;i++)
- retStr += String(padStr);
- return retStr+src;
- }
- /**
- * @group :
- * @ver : 2007.04.04
- * 2008.06.04 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드내의 mousedown 이벤트 발생시 호출
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMouseDownGridRow(){
- var iDetlGrupRow = grd_detlgrup.row;
- // right Button Click
- if(event.button == 3){
- //데이터 행이 존재할때
- if(grd_detlgrup.rows > grd_detlgrup.fixedrows && grd_detlgrup.isCell(event.target) && grd_detlgrup.mouseRow >= grd_detlgrup.fixedrows){
- window.setPopupMenu(true, "/root/hidden/detlgrup_sameinflevl_popmenu/menu", "name", "func", false);
- }else{
- window.setPopupMenu(false);
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.04.02
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창그리드의 xforms-value-changed이벤트 발생시 호출된다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fChangedGridCol(){
- var sDetlGrupRow = (grd_detlgrup.row-1);
- var sDetlGrupBKRow=0;
- var iRow = grd_detlgrup.row;
- var iCol = grd_detlgrup.col;
- var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
- if(stat == "-"){
- //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
- var obsrecseq = model.getValue(xBedsoreGridPath+"["+sDetlGrupRow+"]/obsrecseq");
- for(var i=1; i<= getNodesetCount(xClsListBKPath); i++){
- if(model.getValue(xClsListBKPath+"["+i+"]/obsrecseq") == obsrecseq){
- sDetlGrupBKRow = i;
- break;
- }
- }
- //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
- //if(iCol != 8){// 선택시 stat 값 변경 않기
- if(iCol != grd_detlgrup.colRef("sel")){// 선택시 stat 값 변경 않기
- var preUpdatedStr = instance1.selectSingleNode(xClsListBKPath+"["+sDetlGrupBKRow+"]").xml;
- var updatedStr = instance1.selectSingleNode(xBedsoreGridPath+"["+sDetlGrupRow+"]").xml;
-
- if(updatedStr != preUpdatedStr){
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat","u");
- }
-
- //var preUnderAngle = model.getValue(xClsListBKPath+"["+sDetlGrupBKRow+"]/underangle");
- //var updateUnerAngle = model.getValue(xBedsoreGridPath+"["+ sDetlGrupRow +"]/underangle");
-
- //if(preUnderAngle != updateUnerAngle) {
- // model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat2","u");
- //}
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 선택한 부위가 종료된 것이 있으면 종료할 수 없다는 메세지를 출력한다.
- * 선택한 부위가 사정된 것이 없으면 종료할 수 없다는 메세지를 출력한다.
- * 발생부위가 등록/사정만 있으면 해당 발생부위 하위에
- * 구분을 종료로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItemEnd(){
- fAddSameLevlItem(true);
- return ;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selEndMenu - true이면 오른쪽 메뉴에서 종료를 선택한 상태, false이면 사정을 선택한 상태
- * @return :
- * @desc : 선택한 부위가 종료된 것이 있으면 사정할수 없다는 메세지를 출력한다.
- * 발생부위가 등록/사정만 있으면 해당 발생부위 하위에
- * 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItem(selEndMenu){//오른쪽 메뉴에서 사정또는 종료 선택시
- var msgStr = '사정기록';
- if(selEndMenu){
- msgStr = '종료기록';
- }
- //종료또는 사정기록 존재여부를 리턴받는다.
- var returnArr = fIsExistEndData(grd_detlgrup.row);
- var compareStr = returnArr[0];
- var compRow = returnArr[1];
- var isAss = returnArr[2];
- var isEnd = returnArr[3];
- var isStage = returnArr[16];
- var stage = returnArr[15];
-
- //종료기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if(isEnd){
- messageBox('선택하신 부위는 이미 종료된 기록이 있으므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if(selEndMenu && !isAss){
- messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
-
- //1~4단계 기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if(isStage && (stage == "65" || stage == "66")){
- messageBox('선택하신 부위는 이미 1~4단계로 기록된 내용이 있으므로 5, 6단계 기록을 활용하여 사정 하실 수', 'I004');
- return;
- }
- //해당 발생부위 가장 하위의 그리드에 insertRow을 하기 위해 발생부위 가장 하위row index를 찾는다.
- var addLastRow = 0;
- var _compareStr;
-
- for(var i = compRow; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
-
- if(compareStr != _compareStr){
- addLastRow = i;
- break;
- }
- }
-
- var rows = grd_detlgrup.rows-2;
- var gropcd1= model.getValue(xBedsoreGridPath+"["+ rows +"]/grupcd");
- var gropcd2= model.getValue(xBedsoreGridPath+"["+ grd_detlgrup.row +"]/grupcd");
-
- // alert("gropcd1: "+gropcd1);
- // alert("gropcd2: "+gropcd2);
- // alert("addLastRow: "+addLastRow);
- // alert("compRow: "+compRow);
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if( addLastRow == "0" ){
- if( gropcd1 == gropcd2 || compRow =="0" || compRow == rows){// 마지막 행
- grd_detlgrup.addrow();
- }else{
- grd_detlgrup.insertRow(grd_detlgrup.row+1);
- }
- addLastRow = grd_detlgrup.row;
- }else{
- grd_detlgrup.insertRow(addLastRow);
- }
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("flag"))=true;
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
-
- //그리드에 발생부위, 일자, 시간, 원인, 기록일시 set한다.
- fSetInsertValue(addLastRow, selEndMenu, returnArr);
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selRow - 선택한 row 인덱스
- * @param : updatePartChk - 욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- * @return : returnArr(10) - 배열로 리턴한다.
- * @desc : 선택한 발생부위의 기록에 사정 또는 종료가 존재하는지 여부를 배열로 리턴한다
- * Array idx value type description
- * --------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 사정기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] genrdd string 발생일자(set parameter)
- * returnArr[8] genrtm string 발생시간(set parameter)
- * returnArr[9] cause string 원인 (set parameter)
- * returnArr[10] causeid string 원인코드(set parameter)
- * returnArr[12] genrplce string 발생장소(set parameter)
- * returnArr[13] genrplceid string 발생장소코드(set parameter)
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsExistEndData(selRow, updatePartChk){
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var compRow = 0;
- var isAss ; //사정기록 존재여부
- var isEnd ; //종료기록 존재여부
- var returnArr = new Array(10);
- var isStage ; //1~4단계 기록 존재여부
- //선택한 발생부위 비교값
- var pid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/pid');
- var grupcd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/grupcd');
- var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/obspartnm');
- var genrdd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/genrdd');
- var genrtm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/genrtm');
- var cause = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/cause');
- var causeid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/causeid');
- var genrplce = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/genrplce'); //발생장소추가_20090220_SMY
- var genrplceid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/genrplceid'); //발생장소추가_20090220_SMY
- var stage = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/stage'); //단계 추가 2013.03.18 KJS
- var stageid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/stageid'); //단계 추가 2013.03.18 KJS
- var genrplcewardcd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/genrplcewardcd');
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(updatePartChk){
- compareStr = obspartnm;
- }else{
- compareStr = obspartnm + genrdd + genrtm + cause;
- }
- var obsrecseq = 0;
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for(var i = 2; i < grd_detlgrup.rows; i++){
- //alert('i = ' + i + 'selRow : ' + selRow + ' 부위 : ' + model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm'));
- if(selRow != i){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(!updatePartChk){
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- }
- }
- if(compareStr == _compareStr){
- compRow = i;
- _flag = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/flag');
- if(_flag == '99'){//등록구분이 종료(99)
- isEnd = true;
- obsrecseq = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obsrecseq');
- break;
- }else if(_flag == '01'){//등록구분이 사정(01)
- isAss = true;
- obsrecseq = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obsrecseq');
- }else{
- isEnd = false;
- isAss = false;
- }
- }
- }
-
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for(var i = 2; i < grd_detlgrup.rows; i++){
- //alert('i = ' + i + 'selRow : ' + selRow + ' 부위 : ' + model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm'));
- if(selRow != i){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- //욕창발생부위선택시 사정종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(!updatePartChk){
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- }
- }
- if(compareStr == _compareStr){
- compRow = i;
- _stageid = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/stageid');
- if(_stageid != '65' && _stageid != '66'){
- isStage = true;
- break;
- } else {
- isStage = false;
- }
- }
- }
-
- //배열을 리턴한다.
- returnArr[0] = compareStr;
- returnArr[1] = compRow;
- returnArr[2] = isAss;
- returnArr[3] = isEnd;
- returnArr[4] = pid;
- returnArr[5] = grupcd;
- returnArr[6] = obspartnm;
- returnArr[7] = genrdd;
- returnArr[8] = genrtm;
- returnArr[9] = cause;
- returnArr[10] = causeid;
- returnArr[11] = obsrecseq;
- returnArr[12] = genrplce;
- returnArr[13] = genrplceid;
- returnArr[14] = stage;
- returnArr[15] = stageid;
- returnArr[16] = isStage;
- returnArr[17] = genrplcewardcd;
- return returnArr;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetInsertValue(addLastRow, selEndMenu, returnArr){
-
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stat', 'i');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/pid', returnArr[4]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/grupcd', returnArr[5]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/obspartnm', returnArr[6]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrdd', returnArr[7]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrtm', returnArr[8]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/cause', returnArr[9]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/causeid', returnArr[10]);
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/rectm", getCurrentDateTime().substring(9,13));
- //기록자정보추가_20090203_SMY
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recrnm", getUserName());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recrid", getUserId());
- //발생장소추가_20090220_SMY
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrplce', returnArr[12]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrplceid', returnArr[13]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrplcewardcd', returnArr[17]);
- //단계 추가 2013.03.18 KJS
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stage', returnArr[14]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stageid', returnArr[15]);
-
- if(!selEndMenu){
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '01');//사정
- }else{
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '99');//종료
- }
-
- grd_detlgrup.isReadOnly(addLastRow,grd_detlgrup.colRef("genrdd")) = true;
- grd_detlgrup.isReadOnly(addLastRow,grd_detlgrup.colRef("genrplcewardcd")) = true;
- }
- function fAddSameLevlItem111(isEnd){
- var msgStr = '사정기록';
- if(isEnd){
- msgStr = '종료기록';
- }
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var pid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/pid');
- var grupcd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/grupcd');
- var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/obspartnm');
- var genrdd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrdd');
- var genrtm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrtm');
- var cause = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/cause');
- var causeid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/causeid');
- var compRow = 0;
- var isAss = false;//사정기록 존재여부
- //선택한 발생부위 비교값
- compareStr = obspartnm + genrdd + genrtm + cause;
- //종료기록이 있으면 메세지 출력후 리턴
- for(var i = 2; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr == _compareStr){
- compRow = i;
- _flag = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/flag');
- if(_flag == '99'){
- messageBox('선택하신 부위는 이미 종료된 기록이므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }else if(_flag == '01'){
- isAss = true;
- }
- }
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if(isEnd && !isAss){
- messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
- //해당 발생부위 가장 하위 row index찾기
- var addLastRow = 0;
- for(var i = compRow; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr != _compareStr){
- addLastRow = i;
- break;
- }
- }
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if(addLastRow == 0){
- addLastRow = grd_detlgrup.rows;
- grd_detlgrup.addRow();
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
- }else{
- grd_detlgrup.insertRow(addLastRow);
- // 보고확인 체크박스는 default로 비활성화 (2011.04.14 ahn)
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("rptconfirmflag"))=true;
- }
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stat', 'i');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/pid', pid);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/grupcd', grupcd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/obspartnm', obspartnm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrdd', genrdd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrtm', genrtm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/cause', cause);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/causeid', causeid);
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/rectm", getCurrentDateTime().substring(9,13));
- if(!isEnd)
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '01');//사정
- else
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '99');//종료
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2009.02.04
- * @by : smy
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 통합기록조회용 인증데이터 생성
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMakeViewData(){
- var pid = model.getValue("/root/cond/pid");
- var indd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd");
- var cretno = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno");
- var orddeptcd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddeptcd");
- var orddrid = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddrid");
- var ordtype = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/ordtype");
- var signno = '';
-
- //조회조건값 세팅
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/cond/pid")); //등록번호
- model.makeValue("/root/send/indd", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd")); //등록번호
- model.makeValue("/root/send/cretno", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno")); //등록번호
-
- model.makeValue("/root/send/genrdd", model.getValue("/root/cond/genrdd")); //기준일자(발생일자)
- model.makeValue("/root/send/genrtm", model.getValue("/root/cond/genrtm")); //기준시간(발생시간)
- model.makeValue("/root/send/stdradio", '0'); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- model.makeValue("/root/send/homecare", (HC_isHomeCare == true ? "Y" : "")); //가정간호대상자
- model.makeValue("/root/send/careflag", HC_gCareFlag); //가정간호대상자
- model.makeValue("/root/send/inptdt", HC_gInptDt); //가정간호대상자
- //피부욕창관찰기록 조회
- model.removenode('/root/main/detlgrup');
- if(submit('TRMNW04708')){
- // 인증 로직 호출
- ViewFunc = "view";
- if (Sign.signprocess() == true){
- model.makeValue("/root/send/savedata/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- model.makeValue("/root/send/savedata/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/cretno" , cretno); // 생성번호
- model.makeValue("/root/send/savedata/recdd", model.getValue("/root/viewinfo/viewdetlgrup/detlgruplist/signrecddmax")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signflag" , (HC_isHomeCare == true ? "20" : "02")); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signgenrflag", (HC_isHomeCare == true ? ordtype : "I")); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/formcd", "0000002461"); // 각 기록지별 서식코드(0000002461 피부욕창(상처)기록)
- model.makeValue("/root/send/savedata/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/screenid" , getScreenID());
- model.makeValue("/root/send/savedata/dispyn", "Y"); //인증저장용 data(view용 인증데이터는 따로 생성함)_20090204_SMY추가
-
- } else {
- return ;
- }
-
- if(submit("TXMNW04713")){
- //model.removeNodeset("/root/viewinfo"); //***********************************
- //model.makeNode("/root/viewinfo"); //**********************************
- }
- }
- }
- // 응급실 구역 보여주기
- function fnZoneDisp() {
-
- //응급의료센터(2280200000)인 경우
- //내환자정보대신에 구역정보가 보임)
- if ( !isNull(model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='002' and cdid ='"+cmb_wardcd.value+"']/cdid")) ) {
- //cap_settingrn.visible = false;
- //cmb_settingrn.visible = false;
- cap_Zone.visible = true;
- cmb_Zone.visible = true;
- cap_settingrn.attribute("left") = 390;
- cap_settingrn.attribute("top") = 15;
- cmb_settingrn.attribute("left") = 470;
- cmb_settingrn.attribute("top") = 15;
-
- var zonecd = model.getValue("/root/temp/paminfo/sectioncd");
- if( !isNull(zonecd) && zonecd != "-" ){
- cmb_Zone.value = model.getValue("/root/temp/paminfo/sectioncd");
- } else {
- cmb_Zone.value = "-";
- }
- } else {
- //cap_settingrn.visible = true;
- //cmb_settingrn.visible = true;
- cap_Zone.visible = false;
- cmb_Zone.visible = false;
- cmb_Zone.value = "-";
- cap_settingrn.attribute("left") = 235;
- cap_settingrn.attribute("top") = 15;
- cmb_settingrn.attribute("left") = 314;
- cmb_settingrn.attribute("top") = 15;
- }
- model.refresh();
- }
- // 내환자 셋팅정보 조회
- function fSettingnurid(){
-
- model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/cond/wardcd") );
-
- if(submit("TRMNW10910") == true){
- //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
-
- model.setValue("/root/cond/settingrnid", "");
- }
- cmb_settingrn.refresh();
- }
- // 환자 리스트 조회
- function fGetWardPatList(){
- model.removenode('/root/main/detlgrup');
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata", "/root/cond");
- if(model.getValue("/root/cond/wardcd") == model.getValue("/root/codeinfo/codeinfo/codelist/cdid")){
- model.makeValue("/root/send/reqdata/emcflag", "Y");
- }
- submit("TRMNW04715");
-
- }
- // 재원/퇴원 구분
- function fSetInDsch(Pram){
-
- if(Pram == "A"){
- model.makeValue(rdo_indsch.attribute("ref"), "1" );
-
- }else{
- model.makeValue(rdo_indsch.attribute("ref"), "2" );
- }
- rdo_indsch.refresh();
- fSetInDschHidden();
- }
- // 재원/퇴원 구분
- function fSetInDschHidden(){
-
- var indsch = model.getValue("/root/cond/indsch");
- if(indsch == "1"){
- if( isNull(HC_homecarecd)) {
- ctn_pid.visible = false;
- cmb_patientnm.visible = false;
- ipt_pid.visible = false;
- ctn_ward.visible = true;
- cmb_wardcd.visible = true;
- cap_settingrn.visible = true;
- cmb_settingrn.visible = true;
- }
- fnZoneDisp();
- }else if(indsch == "2"){
- ctn_pid.visible = true;
- cmb_patientnm.visible = true;
- ipt_pid.visible = true;
- ctn_ward.visible = false;
- cmb_wardcd.visible = false;
- cap_settingrn.visible = false;
- cmb_settingrn.visible = false;
- cap_Zone.visible = false;
- cmb_Zone.visible = false;
- }
- }
- /***********************************************************************************************************************************************************/
- /****************************************************** 피부욕창기록에서 사용하는 펑션 종료 ************************************************************/
- /***********************************************************************************************************************************************************/
|