123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983 |
- /***************************************************************************************************
- *
- * @ create-date : 2008-06-16
- * @ author : dhkim
- * @ pgm-name : 중증도조회
- * @ pgm-code : SMMNR07800
- * @ src : emr/carerecweb/xrw/SMMNR07800_중증도조회.xrw
- * @ description : 중증도 조회 화면에서 사용하는 스크립트
- *
- ***************************************************************************************************/
- /*********************************************************************************************************************************************
- * + description +
- * 20080902
- * 왼편의 화면의 트리를 클릭했을때 보여지는 오른쪽 그리드들은 각각 switch case별로 별도의 화면으로 분리되어있다.
- * 중증도및 위험사정에서 기록한 내역들을 조회하는 화면이며,
- * 중증기록화면에서 입력하는 중증도기록, 낙상기록, 욕창기록이 따로 작성되는 것과 마찬가지로
- * 본 조회화면도 중증도(중환자실, 일반병동), 낙상(성인, 아동), 욕창별로 별도의 화면에서 조회기능을 구현한다.
- * 각 상세분류화면의 경우 중환자실, 일반병동, 낙상성인, 낙상소아, 욕창 5가지가 있는데,
- * 기록화면에서 항목별 필수입력+single체크 로 작성되는 일반병동, 욕창은 조회시 그리드항목타이틀과 점수를 각각 따로 조회하고,
- * 기록화면에서 항목별 필수입력이아니고 multi체크로 작성되는 중환자실, 낙상성인, 낙상소아 는 조회시 그리드의 항목은 fix되어있으며, sql이 client에서 구현된다.
- * == 추후에는 욕창, 일반병동 상세분류도 같은형식으로 수정하여 패턴을 똑같이 맞추는게 관리가 편할듯...
- *********************************************************************************************************************************************/
- /**
- * @group :
- * @ver : 2008-06-16
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 화면을 초기화한다.
- * @------------------------------------------------------------------------------------------------
- */
-
- function fInit(){
- //중증도 기록에서 사용하는 부서코드 조회_20090416_SMY추가(EMR_MNWMCODE)
- submit("TRMNW04001");
-
- trv_seridiagflag.select(1); //트리뷰 디폴트 선택
- var trv_idx = trv_seridiagflag.focusIndex;
- if(trv_idx == null || trv_idx == -1){
- trv_idx = 1;//default
- }
-
-
- //조회조건을 초기화
- model.makeValue('/root/cond/schfromdd', getCurrentDate());
- model.makeValue('/root/cond/schtodd', getCurrentDate());
- model.makeValue('/root/cond/infromdd', '');
- model.makeValue('/root/cond/intodd', '');
- model.makeValue('/root/cond/schtomon', getCurrentDate().substring(0, 6));
- model.makeValue('/root/cond/schtoyear', getCurrentDate().substring(0, 4));
- model.makeValue('/root/cond/schcode', model.getValue("/root/cond/grupcd"));
- model.makeValue('/root/cond/wardflag','1');
- //병동 조회
- fGetWard();
- addComboItem("cmb_bspntcd", "- 전체 -", "", "above" );
-
- //20080820 세션의 부서코드를 디폴트로 세팅
- var wardcd = getUserInfo("dutplcecd");
- model.makeValue('/root/cond/wardcd', wardcd);//로그인한 사원의부서 default
-
- //20080820 주석처리
- //var wardcd = '3060000000';
- //model.makeValue('/root/cond/wardcd', wardcd);//중환자실 default
- //분류조회
- //fGetClsFlag(wardcd, model.getValue('/root/hidden/treeitem/serdiaglist['+ trv_idx + ']/recflag')); //20090319_SMY_주석처리
- model.refresh();
-
- //addComboItem("cmb_wardcd", "전체", "1000000000", "above");
- //addComboItem("cmb_bspntcd", "전체", "", "above");
- //중증도 조회
- //fSearch();
-
-
- }
- /**
- * @group :
- * @ver : 2008-06-16
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 병동 분류별, 트리뷰(중증도, 낙상, 욕창)구분별 분류군 코드 조회
- * [병동코드정보wardcd]
- * 3060000000 - 중환자실
- * 3060100000 - 내과중환자실
- * 3060200000 - 외과중환자실
- * 3060300000 - 신경외과중환자실
- * 3060400000 - 순환기계중환자실
- * 3060600000 - 2층중환자실
- * 2110201000 - 신생아중환자실
- * 3050122000 - 10층동병동
- * [분류군정보recflag]
- * 1 - 중증도
- * 2 - 낙상
- * 3 - 욕창
- * clsflag(recflag=1)(1:일반병동, 2:신생아ICU, 3: 혈액투석, 4:중환자실, 5: 정신과병동)
- * (recflag=2)(1:아동, 2: 성인)
- * (recflag=3)(1:욕창)
- * @------------------------------------------------------------------------------------------------
- */
- function fGetClsFlag(wardcd, recflag){ //사용하지 않음_20090319_SMY확인_호출하는 부분은 다 주석처리함
-
- var clsflag;//분류군구분
-
- //병동분류별
- if((wardcd == null || wardcd == '') && (recflag == null || recflag == '')){
- cmb_bspntcd.attribute('visibility') = 'hidden';
- return;
- }else{
- cmb_bspntcd.attribute('visibility') = 'visible';
- }
-
- //1. tree view 가 중증도일때
- // wardcd가 중환자실, 내과중환자실, 외과중환자실, 신경외과중환자실, 순환기계중환자실 이면 중환자실의 분류군 load
- // wardcd가 신생아중환자실 이면 신생아ICU 분류군 load
- // wardcd가 10층동병동 이면 정신과병동 분류군 load
- // wardcd가 그 나머지일때는 일반병동 분류군 load
- //2. tree view 가 낙상성인일때 낙상성인 분류군 load
- //3. tree view 가 낙상소아일때 낙상소아 분류군 load
- //4. tree view 가 욕창일때 욕창 분류군 load
- if(recflag == '1'){
-
- if(wardcd == '3060000000' || wardcd == '3060100000' || wardcd == '3060200000' || wardcd == '3060300000' || wardcd == '3060400000'|| wardcd == '3060600000'){
- clsflag = '4';//중환자실
- }else if(wardcd == '3050122000'){
- clsflag = '5';//정신과병동
- }else if(wardcd == '2110201000'){
- clsflag = '2';//신생아ICU
- }else{
- clsflag = '1';//일반병동
- }
-
- }else if(recflag == '2'){
- clsflag = '1';//낙상소아
- }else if(recflag == '2'){
- clsflag = '2';//낙상성인
- }else if(recflag == '3'){
- clsflag = '1';//욕창
- }
-
-
- if(!submit('TRMNR07801')){ //return null
- messageBox('분류군조회를', 'E004');
- return;
- }
- }
- /**
- * @group :
- * @ver : 2008-06-16
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 전체 병동 검색
- * @------------------------------------------------------------------------------------------------
- */
- function fGetWard(){
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/wardflag",model.getValue("/root/cond/wardflag"));
- submit("TRMNW04003"); //병동 조회
- addComboItem("cmb_wardcd", "- 전체 -", "", "above" );
- }
- /**
- * @group :
- * @ver : 2008-06-16
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 트리뷰의 인덱스가 변경될 때마다 화면에 보여지는 그룹을 트리뷰의 인덱스에 맞게 변경한다.
- * @------------------------------------------------------------------------------------------------
- */
- function fShowSelectedIndexGrup(idx){
- if(model.getValue("/root/cond/wardflag") == "3") {//혈액투석선택
- cmb_wardcd2.visible=false;
- if(idx == "9" ||idx == "10" ){
- messageBox("부서가 혈액투석인 경우는 조회", "E001");
- return;
- }else if(idx == "12" ||idx == "13" ){
- messageBox("부서가 혈액투석인 경우는 조회", "E001");
- return;
- }else if(idx == "15"||idx == "16" ){
- messageBox("부서가 혈액투석인 경우는 조회", "E001");
- return;
- }
- }else {
- cmb_wardcd2.visible=true;
- }
-
- if(idx == null || idx == 0){
- idx = 2;//default
- }
- if(trv_seridiagflag.focusIndex == "4") {
- if(model.getValue("/root/cond/wardflag") == "1" || model.getValue("/root/cond/wardflag") == "3") {
- var trv_idx = idx+1;
- var hngnm = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/hngnm');
- var grupcd = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/grupcd');
- model.toggle("case" + grupcd);
-
- var recflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/recflag');
- var clsflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/clsflag');
- var sqlflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/sqlflag');
- } else {
- var hngnm = "중증도 통계-기간별(중환자)";
- var grupcd = "15";
-
- model.toggle("case" + grupcd);
-
- var recflag = "1";
- var clsflag = "'2','4'";
- var sqlflag = '9';
- }
- }
- else{
- var trv_idx = idx+1;
- var hngnm = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/hngnm');
- var grupcd = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/grupcd');
-
- model.toggle("case" + grupcd);
-
- var recflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/recflag');
- var clsflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/clsflag');
- var sqlflag = model.getValue('root/hidden/treeitem/serdiaglist['+ trv_idx + ']/sqlflag');
- }
-
- if(model.getValue("/root/cond/wardflag") =="3") {
- var clsflag = "3";
- }
-
- if(sqlflag == "7" || sqlflag =="8") { //중증도 월별, 년별.
- grp_sea.visible = false;
- grp_sea2.visible = true;
-
- if(grupcd == "13") { //중증도 월별
- ipt_schtomon.visible = true;
- ipt_schtoyear.visible = false;
- } else if(grupcd == "14") { //중증도 년별
- ipt_schtomon.visible = false;
- ipt_schtoyear.visible = true;
- }
-
- } else {
- grp_sea.visible = true;
- grp_sea2.visible = false;
- }
- model.makeValue("/root/cond/recflag", recflag);
- model.makeValue("/root/cond/clsflag", clsflag);
- model.makeValue("/root/cond/sqlflag", sqlflag);
- fSearch();
- }
- function fSaveExcel() {
- var idx = trv_seridiagflag.focusIndex;
-
- if(trv_seridiagflag.focusIndex == null || trv_seridiagflag.focusIndex == 0 ){
- idx = 3;//default
- }
- if(trv_seridiagflag.focusIndex == -1) {
- idx = 2;
- }
- var trv_idx = trv_seridiagflag.focusIndex;
- if(trv_idx == "-1") {
- trv_idx =1;
- }
- // var grupcd = model.getValue('/root/hidden/treeitem/serdiaglist[' + trv_idx + ']/grupcd');
- var grupcd = 0;
- if(model.getValue("/root/cond/wardflag") == "1") {//병동선택
- if(trv_idx == "1") {
- grupcd = "1";
- }else if(trv_idx == "2") {
- grupcd = "5";
- }else if(trv_idx == "3") {
- grupcd = "6";
- }else if(trv_idx == "4") {
- grupcd = "12";
- }else if(trv_idx == "5") {
- grupcd = "13";
- }else if(trv_idx == "6") {
- grupcd = "14";
- }else if(trv_idx == "9") {
- grupcd = "7";
- }else if(trv_idx == "10") {
- grupcd = "8";
- }else if(trv_idx == "12") {
- grupcd = "7";
- }else if(trv_idx == "13") {
- grupcd = "9";
- }else if(trv_idx == "15") {
- grupcd = "10";
- }else if(trv_idx == "16") {
- grupcd = "11";
- }
- }else if(model.getValue("/root/cond/wardflag") == '2') {//중환자실선택
- if(trv_idx == "1") {
- grupcd = "1";
- }else if(trv_idx == "2") {
- grupcd = "4";
- }else if(trv_idx == "3") {
- return;
- }else if(trv_idx == "4") {
- grupcd = "12";
- }else if(trv_idx == "5") {
- grupcd = "13";
- }else if(trv_idx == "6") {
- grupcd = "14";
- }else if(trv_idx == "9") {
- grupcd = "7";
- }else if(trv_idx == "10") {
- grupcd = "8";
- }else if(trv_idx == "12") {
- grupcd = "7";
- }else if(trv_idx == "13") {
- grupcd = "9";
- }else if(trv_idx == "15") {
- grupcd = "10";
- }else if(trv_idx == "16") {
- grupcd = "11";
- }
- } else if(model.getValue("/root/cond/wardflag") == '3') {//혈액투석
- if(trv_idx == "1") {
- grupcd = "17";
- }else if(trv_idx == "2") {
- grupcd = "16";
- }else if(trv_idx == "3") {
- return;
- }else if(trv_idx == "4") {
- grupcd = "12";
- }else if(trv_idx == "5") {
- grupcd = "13";
- }else if(trv_idx == "6") {
- grupcd = "14";
- }else if(trv_idx == "9") {
- return;
- }else if(trv_idx == "10") {
- return;
- }else if(trv_idx == "12") {
- return;
- }else if(trv_idx == "13") {
- return;
- }else if(trv_idx == "15") {
- return;
- }else if(trv_idx == "16") {
- return;
- }
- }
- var hngnm = model.getValue('/root/hidden/treeitem/serdiaglist[' + (trv_idx+1) + ']/hngnm');
-
- hngnm=hngnm.setReplaceWord("/","_");
-
- var grdName;
-
- if(grupcd == "1") {
- grdName="grd_seridiag";
- }else if(grupcd == "2") {
- grdName = "grd_seriindsch";
- }else if(grupcd == "3") {
- grdName = "grd_seritotal";
- }else if(grupcd == "4") {
- grdName = "grd_seriroom";
- }else if(grupcd == "5") {
- grdName = "grd_ward";
- }else if(grupcd == "6") {
- grdName = "grd_basecare";
- }else if(grupcd == "7") {
- grdName = "grd_fallseridiag";
- }else if(grupcd == "8") {
- grdName = "grd_falladult";
- }else if(grupcd == "9") {
- grdName = "grd_fallchild";
- }else if(grupcd == "10") {
- grdName = "grd_bedsrseridiag";
- }else if(grupcd == "11") {
- grdName = "grd_bedsr";
- }else if(grupcd == "12") {
- grdName = "grd_totalwardterm";
- }else if(grupcd == "13") {
- grdName = "grd_totalwardmon";
- }else if(grupcd == "14") {
- grdName = "grd_totalwardyear";
- }else if(grupcd == "15") {
- grdName = "grd_totalserterm";
- }else if(grupcd == "16") {
- grdName = "grd_bloodroom1";
- }else if(grupcd == "17") {
- grdName = "grd_dmpg1";
- }
-
- var grd = document.controls.item(grdName);
- var fileName = window.fileDialog("save", ",", false, hngnm, "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
-
- if (fileName != "") {
- grd.saveExcel(fileName, "SheetName", true, true, "", "", false);
- }
- }
- /**
- * @group :
- * @ver : 2008-06-16
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 중증도 조회
- * @------------------------------------------------------------------------------------------------
- */
- function fSearch(){
- //중증도 기록에서 사용하는 부서코드 조회_20090416_SMY추가
- var icuwardcd = "";
- var wardcd = "";
- var grupcd = "";
- var recflag = "";
- var clsflag = "";
- var sqlflag = "";
- var trv_idx = trv_seridiagflag.focusIndex;
- if(trv_seridiagflag.focusIndex == null || trv_seridiagflag.focusIndex == -1){
- trv_idx = 1;//default
- }
-
- for(i = 1; i <= getNodesetCount("/root/init/icucdgrup/icucdgruplist"); i++){
- wardcd = model.getValue("/root/init/icucdgrup/icucdgruplist[" + i + "]/wardcd");
-
- if( model.getValue("/root/init/icucdgrup/icucdgruplist[" + i + "]/clsflag") == '2'
- || model.getValue("/root/init/icucdgrup/icucdgruplist[" + i + "]/clsflag") == '4'
- ){//중환자실
- if(icuwardcd == ""){
- icuwardcd = "'" + wardcd + "'";
- }else{
- icuwardcd += "," + "'" + wardcd + "'";
- }
- }
- }
- /*
- sqlflag값_20090319_SMY주석추가
- 0 : 2depth 타이틀
- 1 : 환자별 중증도, 환자별 낙상, 환자별 욕창
- 3 : 중환자실 입실/퇴실
- 4 : 중증도통계
- 2b: 중환자 상세분류, 환자별 상세분류, 낙상 상세분류, 욕창 상세분류
- 5 : 기본간호
- 6 : 중증도 통계 - 기간별
- 7 : 중증도 통계 - 월간
- 8 : 중증도 통계 - 년간
- 9 : 중증도 통계 - 기간별(중환자)
-
- */
- if(model.getValue("/root/cond/wardflag") == "1") {//병동선택
- if(trv_idx == "1") {
- model.makeValue("/root/cond/grupcd", "1");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'1','5'");
- model.makeValue("/root/cond/sqlflag", "1");
- grupcd = "1";
- recflag = "1";
- clsflag = "'1','5'";
- sqlflag = "1";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "2") {
- if(model.getValue("/root/cond/wardcd") == "") {
- // messageBox("부서를 선택한 경우만 조회가능합니다.", "I");
- // return;
- }
- model.makeValue("/root/cond/grupcd", "5");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'1','5'");
- model.makeValue("/root/cond/sqlflag", "2b");
- grupcd = "5";
- recflag = "1";
- clsflag = "'1','5'";
- sqlflag = "2b";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "3") {
- model.makeValue("/root/cond/grupcd", "6");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'1','5'");
- model.makeValue("/root/cond/sqlflag", "5");
- grupcd = "6";
- recflag = "1";
- clsflag = "'1','5'";
- sqlflag = "5";
- model.toggle("case" + grupcd);
- }else {
- if(trv_idx == "4"){
- grupcd ="12";
- model.makeValue("/root/cond/clsflag", "'1','5'");
- }else if(trv_idx == "5" ||trv_idx == "6"){
- model.makeValue("/root/cond/clsflag", "'1','5'");
- }else if(trv_idx == "9" ||trv_idx == "10" ){
- model.makeValue("/root/cond/clsflag", "'2'");
- }else if(trv_idx == "12" ||trv_idx == "13" ){
- model.makeValue("/root/cond/clsflag", "'1'");
- }else if(trv_idx == "15"||trv_idx == "16" ){
- model.makeValue("/root/cond/clsflag", "'1'");
- }
- model.setValue("/root/cond/infromdd","");
- model.setValue("/root/cond/intodd","");
- model.toggle("case" + grupcd);
- }
- }else if(model.getValue("/root/cond/wardflag") == '2') {//중환자실선택
- if(trv_idx == "1") {
- model.makeValue("/root/cond/grupcd", "1");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'2','4'");
- model.makeValue("/root/cond/sqlflag", "1");
- grupcd = "1";
- recflag = "1";
- clsflag = "'2','4'";
- sqlflag = "1";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "2") {
- model.makeValue("/root/cond/grupcd", "4");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'2','4'");
- model.makeValue("/root/cond/sqlflag", "2b");
- grupcd = "4";
- recflag = "1";
- clsflag = "'2','4'";
- sqlflag = "2b";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "3") {
- messageBox("부서가 병동인 경우만 조회가능합니다.", "I");
- return;
- /* --aaa
- model.makeValue("/root/cond/grupcd", "6");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'2','4'");
- model.makeValue("/root/cond/sqlflag", "5");
- grupcd = "6";
- recflag = "1";
- clsflag = "'2','4'";
- sqlflag = "5";
- model.toggle("case" + grupcd);
- */
- }else {
- if(trv_idx == "4"){
- grupcd = "15";
- model.makeValue("/root/cond/clsflag", "'2','4'");
- }else if(trv_idx == "5" ||trv_idx == "6"){
- model.makeValue("/root/cond/clsflag", "'2','4'");
- }else if(trv_idx == "9" ||trv_idx == "10" ){
- model.makeValue("/root/cond/clsflag", "'2'");
- }else if(trv_idx == "12" ||trv_idx == "13" ){
- model.makeValue("/root/cond/clsflag", "'1'");
- }else if(trv_idx == "15"||trv_idx == "16" ){
- model.makeValue("/root/cond/clsflag", "'1'");
- }
- model.setValue("/root/cond/infromdd","");
- model.setValue("/root/cond/intodd","");
- model.toggle("case" + grupcd);
- }
- } else if(model.getValue("/root/cond/wardflag") == '3') {//혈액투석
- if(trv_idx == "1") {
- model.makeValue("/root/cond/grupcd", "17");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'3'");
- model.makeValue("/root/cond/sqlflag", "1");
- grupcd = "17";
- sqlflag = "1";
- recflag = "1";
- clsflag = "'3'";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "2") {
- model.makeValue("/root/cond/grupcd", "16");
- model.makeValue("/root/cond/recflag", "1");
- model.makeValue("/root/cond/clsflag", "'3'");
- model.makeValue("/root/cond/sqlflag", "2b");
- grupcd = "16";
- sqlflag = "2b";
- recflag = "1";
- clsflag = "'3'";
- model.toggle("case" + grupcd);
- }else if(trv_idx == "3") {
- messageBox("부서가 병동인 경우만 조회가능합니다.", "I");
- //messageBox("부서가 병동,중환자실인 경우만 조회가능합니다.", "I");--aaa
- return;
- }else {
- if(trv_idx == "4"){
- grupcd ="12";
- model.makeValue("/root/cond/clsflag", "'3'");
- }else if(trv_idx == "5" ||trv_idx == "6"){
- model.makeValue("/root/cond/clsflag", "'3'");
- }
- model.setValue("/root/cond/infromdd","");
- model.setValue("/root/cond/intodd","");
- model.toggle("case" + grupcd);
- }
- }
- model.removenode('/root/send');
- model.makeValue('/root/send/schfromdd', model.getValue('/root/cond/schfromdd'));
- model.makeValue('/root/send/schtodd', model.getValue('/root/cond/schtodd'));
- model.makeValue('/root/send/wardcd', model.getValue('/root/cond/wardcd'));
- model.makeValue('/root/send/icuwardcd', icuwardcd); //20090416_SMY추가
- model.makeValue('/root/send/recflag', model.getValue('/root/cond/recflag'));
- model.makeValue('/root/send/clsflag', model.getValue('/root/cond/clsflag'));
- model.makeValue('/root/send/infromdd', model.getValue('/root/cond/infromdd'));
- model.makeValue('/root/send/intodd', model.getValue('/root/cond/intodd'));
- model.makeValue('/root/send/dschflag', model.getValue('/root/cond/dschflag'));
- model.makeValue('/root/send/schcode', '1');
- model.makeValue('/root/send/bspntcd', model.getValue('/root/cond/bspntcd'));
- model.makeValue('/root/send/sqlflag', model.getValue('/root/cond/sqlflag'));
- model.makeValue('/root/send/wardflag', model.getValue('/root/cond/wardflag'));
-
- if(trv_idx != "1" && trv_idx != "2" && trv_idx != "3" ) {
- var recflag = model.getValue('root/hidden/treeitem/serdiaglist['+ (trv_idx+1) + ']/recflag');
- var clsflag = model.getValue('root/hidden/treeitem/serdiaglist['+ (trv_idx+1) + ']/clsflag');
- var sqlflag = model.getValue('/root/hidden/treeitem/serdiaglist[' + (trv_idx+1) + ']/sqlflag');
- }
- if(trv_seridiagflag.focusIndex == "4") { //중증도 통계-기간별 선택시(중환자)
- if(model.getValue("/root/cond/wardflag") == "1" ||model.getValue("/root/cond/wardflag") == "3") {
- recflag = "1";
- sqlflag = "6";
- model.makeValue('/root/send/recflag', "1");
- model.makeValue('/root/send/sqlflag', "6");
- }
- if(model.getValue("/root/cond/wardflag") == "2" ) {
- var grupcd = "15";
- var recflag = "1";
- var clsflag = "'2','4'";
- var sqlflag = '9';
- }
- }
- if(sqlflag == "7" || sqlflag =="8") { //중증도 월별, 년별.
- grp_sea.visible = false;
- grp_sea2.visible = true;
-
- if(grupcd == "13") { //중증도 월별
- ipt_schtomon.visible = true;
- ipt_schtoyear.visible = false;
- } else if(grupcd == "14") { //중증도 년별
- ipt_schtomon.visible = false;
- ipt_schtoyear.visible = true;
- }
-
- } else {
- grp_sea.visible = true;
- grp_sea2.visible = false;
- }
- if(sqlflag == "3") {
- model.makeValue('/root/send/rdoflag', model.getValue('/root/cond/rdoflag'));
- } else if(sqlflag == "7") {
- model.makeValue('/root/send/schtodd', model.getValue("/root/cond/schtomon"));
- if(model.getValue("/root/cond/wardflag") != "3" ) {
- if(model.getValue("/root/cond/schtomon") == "" && model.getValue("/root/cond/wardcd") == "" ) {
- messageBox("병동과 조회월을 선택하여주세요.", "E");
- } else if(model.getValue("/root/cond/schtomon") == "" && model.getValue("/root/cond/wardcd") != "") {
- messageBox("병동과 조회월을 선택하여주세요.", "E");
-
- } else if(model.getValue("/root/cond/schtomon") != "" && model.getValue("/root/cond/wardcd") == "") {
- // messageBox("병동을 선택하여 주세요.", "E");
-
- } else if(model.getValue("/root/cond/schtomon") == "" && model.getValue("/root/cond/wardcd") != "") {
- // messageBox("조회일자를 선택여주세요.", "E");
-
- }
- }
- } else if(sqlflag == "8") {
- model.makeValue('/root/send/schtodd', model.getValue("/root/cond/schtoyear"));
- model.refresh();
- }
-
-
- var grdNm;
- var grdNm2;
-
- if(sqlflag == "7" || sqlflag =="8") {
- //중증도 통계(월별, 년별)
- if(!submit('TRMNR07803')){ //sfdr.wardcd = #wardcd#
- messageBox('중증도 통계(월별, 년별) 조회를', 'E009');
- return false;
- } else {
-
- if(sqlflag == "7") {
- grdNm = "grd_totalwardmon";
- } else {
- grdNm = "grd_totalwardyear";
- }
- totalWardTerm(grdNm, sqlflag);
-
- }
-
- }else if(sqlflag == "9") {
- //중증도 통계(기간별 중환자)
- if(!submit('TRMNR07804')) { //and sfdr.wardcd in ('3060000000', '3060100000', '3060200000', '3060300000', '3060400000', '3060600000', #wardcd#)
- messageBox('중증도 통계(기간별 중환자) 조회를', 'E009');
- return false;
- }
- }else {
- var rdoflag = model.getValue('/root/cond/rdoflag');
- if(rdoflag == null || rdoflag == ''){
- rdoflag = 'A';
- }
-
- model.setValue('/root/cond/rdoflag', rdoflag);
- model.refresh();
- model.makeValue('/root/send/wardflag', model.getValue('/root/cond/wardflag'));
-
- if(!submit('TRMNR07802')){
- messageBox('중증도 조회를', 'E009');
- return false;
- } else {
- /**
- * 20080902
- * sqlflag
- * 1:환자별중증도 //and inpt.wardcd = #wardcd# -- 20081005 dhkim sfrd에서 inpt로 수정
- * 2a:상세분류( 사용안함) 2b:상세분류(일반병동,욕창, 중환자, 낙상성인, 낙상아동) -- 20080902 변경 //and inpt.wardcd = #wardcd# -- 20081005 dhkim sfrd에서 inpt로 수정
- * 3:중환자입실/퇴실 //and inpt.wardcd IN ('3060000000', '3060100000', '3060200000', '3060300000', '3060400000', '3060600000', #wardcd#)
- * 4:중증도통계 5:병동기본간호 6:중증도통계기간별(병동) //and inpt.wardcd = #wardcd# -- 20081006 sfrd를 inpt로 수정
- * 7:중증도통계 월간 8:중증도통계 년간 9:중증도 통계 기간별중환자
- */
- //중증도상세분류(사용안함 ---- 아이템을 그리드내에서 동적으로 변경)조회 --20080902 변경
- if(sqlflag == "2a") {
- seridiagdetl(grdNm);//중증도 종류에 따라 타이틀을 유동적으로 변경한다.
- setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
- }
-
- //중증도상세분류(일반병동,욕창, 중환자실, 낙상성인, 낙상소아 ----- 아이템을 그리드헤더에 fix)조회 --20080902 변경
- else if(sqlflag == "2b") {
- //중환자실
- if(recflag == "1" && clsflag == "'2','4'") {
- grdNm = "grd_seriroom";
- grdNm2 = "grd_totalseriroom";
- }
-
- //병동
- if(recflag == "1" && clsflag == "'1','5'") {
- grdNm = "grd_ward";
- grdNm2 = "grd_totalward";
- }
- //혈액투석
- if(recflag == "" && clsflag == "") {
- grdNm = "grd_ward";
- grdNm2 = "grd_totalward";
- }
- //혈액투석
- if(recflag == "1" && clsflag == "'3'") {
- grdNm = "grd_bloodroom1";
- grdNm2 = "grd_bloodroom";
- }
- //낙상성인
- if(recflag =="2" && clsflag == "2") {
- grdNm = "grd_falladult";
- grdNm2 = "grd_totalfalladult";
- }
- //낙상소아
- if(recflag == "2" && clsflag == "1") {
- grdNm = "grd_fallchild";
- grdNm2 = "grd_totalfallchild";
- }
- //욕창
- if(recflag == "3" && clsflag == "1") {
- grdNm = "grd_bedsr";
- grdNm2 = "grd_totalbedsr";
- }
-
- setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
- if(recflag == "1" && clsflag == "'2','4'") { //중증도중환자상세분류일때 병실이 신생아중환자실일경우
- for(var i=1;i<=(grd_seriroom.rows-1);i++) {
- if(model.getValue("/root/main/gridgrup/recpntlist["+i+"]/wardnm") == "신생아중환자실"
- ||model.getValue("/root/main/gridgrup/recpntlist["+i+"]/wardnm") == "신생아중환자실Unit") {
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval11",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval01"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval12",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval02"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval13",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval03"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval14",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval04"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval15",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval05"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval17",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval07"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval18",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval08"));
- model.setValue("/root/main/gridgrup/recpntlist["+i+"]/timsval19",model.getValue("/root/main/gridgrup/recpntlist["+i+"]/timsval09"));
- }
- }
- }
-
- }
- //중증도통계기간별(병동)
- else if(sqlflag == "6") {
- totalWardTerm("grd_totalwardterm", sqlflag);
- model.refresh();
- }
- //환자별중증도
- if(sqlflag == "1") {
- if(clsflag =="'3'" && recflag =="1") {
- grdNm = "grd_dmpg1";
- grdNm2 = "grd_dmpg";
- setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
- } else {
- grdNm = "grd_seridiag";
- grdNm2 = "grd_totalward1";
- setTotalGridInfo(grdNm2);//상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
- }
-
- }
- }
- }
- addComboItem("cmb_bspntcd", "- 전체 -", "", "above" );
-
- }
- /**
- * @group :
- * @ver : 2008-07-10
- * @by : dark9258(김병국)
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : 그리드명.
- * @return : 없음
- * @desc : 중증도 종류에 따라 타이틀을 유동적으로 변경한다.
- * @------------------------------------------------------------------------------------------------
- */
- function seridiagdetl(grdNm) {
- var datagrid = document.controls.item(grdNm);
-
- var cnt = Number(model.getValue("/root/main/gridgrup/titlelist/cnt"));
-
- //가져온 분류군들중 title맨처음 항목의 위치를 가져온다.
- var fdx = 0;
- fdx = Number(datagrid.colRef("hd"));
- var hngnm;
- var idx = 0;
-
- for(var i = 1; i <= cnt; i++) {
- hngnm = model.getValue("/root/main/gridgrup/titlelist[" + i + "]/hngnm");
- idx = Number(fdx) + Number(i);
-
-
- datagrid.colhidden(idx) = false; //조회된 컬럼 갯수만큼 그리드의 필드를 보여줌
- datagrid.colwidth(idx) = 80; //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
-
- //그리드의 타이틀필드값에 상세내역의 타이틀을 세팅
- datagrid.valuematrix(0, idx) = hngnm;
- datagrid.valuematrix(1, idx) = hngnm;
-
- }
-
- datagrid.colhidden(datagrid.colRef("totpnt")) = false;
- datagrid.colhidden(datagrid.colRef("resultcd")) = false;
-
- datagrid.colwidth(datagrid.colRef("totpnt")) = 100;
- datagrid.colwidth(datagrid.colRef("resultcd")) = 100;
-
- datagrid.refresh();
-
-
- }
- function setTotalGridInfo(grdNm2) {
- var datagrid = document.controls.item(grdNm2);
-
- var grdCnt = model.getValue("/root/main/gridgrup/bspnttotal/cnt");
- var bspntnm;
- var totalnm;
- var bspntnmWidth;
- var totalnmWidth;
- var width = 0;
-
- for(var i = 0; i < grdCnt; i++) {
- //상세정보중. 분류군과 분류군에 따른 집계를 보여주기위한 곳.
- bspntnm = model.getValue("/root/main/gridgrup/bspnttotal/bspntnm"+ i);
- totalnm = model.getValue("/root/main/gridgrup/bspnttotal/total"+ i);
-
- if(bspntnm.length < 6) {
- bspntnmWidth = 70;
- } else {
- bspntnmWidth = bspntnm.length * 15;
- }
-
- if(totalnm.length < 6) {
- totalnmWidth = 40;
- } else {
- totalnmWidth = totalnm.length * 10;
- }
- datagrid.colHidden(i*2) = false;
- datagrid.colWidth(i*2) = bspntnmWidth;
-
- datagrid.colHidden(i*2+1) = false;
- datagrid.colWidth(i*2+1) = totalnmWidth;
-
- width += bspntnmWidth + totalnmWidth;
- }
-
- datagrid.attribute("width") = width + 2;
- datagrid.attribute("left") = (928-width) / 2;
-
- }
- /**
- * @group :
- * @ver : 2008-07-10
- * @by : dark9258(김병국)
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : 그리드명.
- * @return : 없음
- * @desc : 중증도 종류에 따라 타이틀을 유동적으로 변경한다.
- * @------------------------------------------------------------------------------------------------
- */
- function totalWardTerm(datagrid, sqlflag) {
- //넘어온 그리드 명을 가진 그리드 객체를 가져옴.
- var datagridnm = datagrid;
- var datagrid = document.controls.item(datagrid);
- var cnt = Number(model.getValue("/root/main/gridgrup/titlewardterm/cnt"));
- //가져온 분류군들중 title맨처음 항목의 위치를 가져온다.
- var fdx = 0;
- if(sqlflag == "6") {
- fdx = Number(datagrid.colRef("roomcd")) + 1;
- } else if(sqlflag == "9") {
-
- }
- else {
- fdx = Number(datagrid.colRef("execdd")) + 1;
- }
-
- var hngnm;
- var idx = 0;
-
- if(model.getValue("/root/cond/wardflag") == "3" && datagridnm == "grd_totalwardterm") { //혈액투석(중증도 통계-기간별)
- datagrid.colhidden(datagrid.colRef("roomcd")) = true;
- } else {
- datagrid.colhidden(datagrid.colRef("roomcd")) = false;
- }
- for(var i = 0; i < cnt; i++) {
- //분류군과 분류군%를 가로로 컬럼으로 셋팅하기 위한곳.
- bspntnm = model.getValue("/root/main/gridgrup/titlewardterm/bspntnm" + i); //분류군
- bspntpnm = model.getValue("/root/main/gridgrup/titlewardterm/bspntpnm" + i); //분류군%
-
- idx = Number(fdx) + Number(i) * 2;
-
- datagrid.colhidden(idx) = false; //조회된 컬럼 갯수만큼 그리드의 필드를 보여줌
- datagrid.colhidden(idx + 1) = false;
-
- datagrid.colwidth(idx) = (bspntnm.length > 5) ? bspntnm.length * 10 : 50; //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
- datagrid.colwidth(idx + 1) = (bspntpnm.length > 5) ? bspntnm.length * 10 : 50; //조회된 컬럼 갯수만큼 그리드의 필드를 100으로 길이 세팅
-
- //그리드의 타이틀필드값에 상세내역의 타이틀을 세팅
- datagrid.valuematrix(0, idx) = bspntnm;
- datagrid.valuematrix(0, idx + 1) = bspntpnm;
- }
- datagrid.refresh();
- }
-
|