123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543 |
- /**
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료 - 암환자용어검색( SPMRT01700_암환자용어검색.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- **/
- var xTophoinfoPath = "/root/main/tophlginfo/tophlglist";
- var xMophoinfoPath = "/root/main/diagcdinfo/kcd4m";
- var xDiaginfoPath = "/root/main/deptdiagcdlist/deptdiagcdinfo";
- var xSelectTophoinfoPath = "/root/param/topho/tophoinfo"; //선택 Tophology코드
- var xSelectMophoinfoPath = "/root/param/mopho/mophoinfo"; //선택 Mophology 코드
- var xSelectDiaginfoPath = "/root/param/selectdiaginfo/selectdiaglist"; //선택 진단코드
- /**
- * @group :
- * @ver : 2008-12-03
- * @by : 이창록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize_SPMRT01700()
- {
- // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/dutplcecd", 5502);
- // KNUH_20101207_박성호_end
-
- model.removeNodeset(xDiaginfoPath);
- model.removeNodeset(xMophoinfoPath);
- model.removeNodeset(xSelectDiaginfoPath);
- model.removeNodeset(xSelectMophoinfoPath);
- model.removeNodeset(xTophoinfoPath);
- model.removeNodeset(xSelectTophoinfoPath);
- if(checkOpener()){
- var search = opener.javascript.getParameter("SPMRT01700_SEARCHDATA"); // parameter 용어코드
- var flag = opener.javascript.getParameter("SPMRT01700_FLAG"); //용어 구분
- var stndd = opener.javascript.getParameter("stndd"); //용어 기준일자
- model.makeValue("/root/hidden/search/flag", flag);
- if(flag == "1"){
- if (search.length > 0){
- model.setValue("/root/main/cond/tophodata", search);
- fDiagSearch();
- }
- }else if(flag == "2"){
- if (search.length > 0){
- model.setValue("/root/main/cond/mophodata", search);
- fDiagSearch();
- }
- }else if(flag == "3"){
- if (search.length > 0){
- model.setValue("/root/main/cond/reqdata", search);
- fDiagSearch();
- }
- }
- }else{
- model.removeNodeset("/root/hidden/search");
- }
-
- //2013/06/19 Start
- fGethardcdArrayList(new Array('hardcd5940|5940'), new Array('/root/init'));
- //2013/06/19 End
- model.refresh();
- }
- /**
- * @group :
- * @ver :
- * @by : 이창록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Tophology/Morphology/icd10 코드 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDiagSearch(){
- var flag = model.getValue("/root/hidden/search/flag");
- if(flag==1){
- var cond1 = model.getValue("/root/main/cond/tophosrchflag");
- var cond5 = model.getValue("/root/main/cond/tophodata");
- if(cond5.length < 1){
- messageBox("검색어를 ", "C002");
- return;
- }
- model.removenode("/root/send");
- model.makeNode("/root/send");
- model.makeValue("/root/send/indxflag", "1");
- if(cond1 == "code"){//코드로 검색
- model.makeValue("/root/send/diagflag", "C");
- model.makeValue("/root/send/srchnm", cond5.toUpperCase());
- }else{
- model.makeValue("/root/send/diagflag", "WORD");
- }
- if(cond1 == "word"){
- if((cond5 != "") && (fIsHangul(cond5) == "E")){
- model.makeValue("/root/send/diagflag", "E");
- model.makeValue("/root/send/srchnm", cond5);
- }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
- model.makeValue("/root/send/diagflag", "H");
- model.makeValue("/root/send/srchnm", cond5);
- }
- }
- model.makeValue("/root/send/flag", "srch");
- var stndd = opener.javascript.getParameter("stndd");
- if(stndd!=""){
- model.makeValue("/root/send/stndd",stndd);
- }
- submit("TRMRT00502");
- }else if(flag ==2)//mophology
- {
- var cond1 = model.getValue("/root/main/cond/mophosrchflag");
- var cond5 = model.getValue("/root/main/cond/mophodata");
- if(cond5.length < 1){
- messageBox("검색어를 ", "C002");
- return;
- }
- model.removenode("/root/send");
- model.makeNode("/root/send");
- if(cond1 == "code"){//코드로 검색
- model.makeValue("/root/send/srchflag", "C");
- model.makeValue("/root/send/srchnm", cond5.toUpperCase());
- }else{
- model.makeValue("/root/send/srchflag", "");
- }
- if(cond1 == "word"){
- if((cond5 != "") && (fIsHangul(cond5) == "E")){
- model.makeValue("/root/send/srchflag", "E");
- model.makeValue("/root/send/srchnm", cond5);
- }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
- model.makeValue("/root/send/srchflag", "H");
- model.makeValue("/root/send/srchnm", cond5);
- }
- }
- var stndd = opener.javascript.getParameter("stndd");
- if(stndd!=""){
- model.makeValue("/root/send/stndd",stndd);
- }
- // ICDO3로 변경 2009-05-29
- //submit("TRMRT00209");
- submit("TRMRT01701");
- }else if(flag==3){//진단용어
- var cond1 = model.getValue("/root/main/cond/srchflag");
- var cond5 = model.getValue("/root/main/cond/reqdata");
- if(cond5.length < 1){
- messageBox("검색어를 ", "C002");
- return;
- }
- model.removenode("/root/send");
- model.makeNode("/root/send");
- model.makeValue("/root/send/indxcd", "null");
- model.makeValue("/root/send/indxflag", "0");
-
- // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
- var dutplcecd = model.getValue("/root/temp/dutplcecd/hardcd/hardcd");
- //model.makeValue("/root/send/deptcd", "3230000000");//의료정보팀 진단용어만
- model.makeValue("/root/send/deptcd", dutplcecd);//의료정보팀 진단용어만
- // KNUH_20101207_박성호_end
-
-
- if(cond1 == "code"){
- model.makeValue("/root/send/srchflag", "C");
- Srchnm = cond5.toUpperCase();
- model.makeValue("/root/send/srchnm", Srchnm);
- }else{
- model.makeValue("/root/send/srchnm", "");
- }
- if(cond1 == "word"){
- if((cond5 != "") && (fIsHangul(cond5) == "E")){
- model.makeValue("/root/send/srchflag", "E");
- model.makeValue("/root/send/srchnm", cond5);
- }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
- model.makeValue("/root/send/srchflag", "H");
- model.makeValue("/root/send/srchnm", cond5);
- }
- }
- var stndd = opener.javascript.getParameter("stndd");
- if(stndd!=""){
- model.makeValue("/root/send/stndd",stndd);
- }
- submit("TRMRT01600");
- }
- }
- /**
- * @desc : 더블클릭시 그리드로 내리기
- * @
- * @param ://diag
- * @return :
- * @author : 이창록
- * @---------------------------------------------------
- */
- function fAddDiagHist(dgRow)
- {
- var sDiagCD = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termcd");
- var sDiagEngNM = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termengnm");
- var sDiagHngNM = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termhngnm");
- var iFndRow = grd_selectdiag.findRow(sDiagCD, 1, 0, "true", "true");//중복한 행선택시
- var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
- if(iFndRow < 0){
- if(diagflag=="Y"){
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagcd" , sDiagCD);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/dispdiagcd", sDiagCD);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagengnm" , sDiagEngNM);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diaghngnm" , sDiagHngNM);
- }else{
- grd_selectdiag.addRow(false);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagcd" , sDiagCD);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/dispdiagcd", sDiagCD);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagengnm" , sDiagEngNM);
- model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diaghngnm" , sDiagHngNM);
- }
- }else if(iFndRow > 0)
- {
- messageBox("이미 선택하신 코드","E008");
- return;
- }
- model.refresh();
- model.removeNodeset("/root/temp/diaginfo/diagflag");
- }
- /**
- * @desc : 더블클릭시 그리드로 내리기
- * @
- * @param ://mophology
- * @return :
- * @author : 이창록
- * @---------------------------------------------------
- */
- function fAddMophoHist(mRow){
- var kcd4mseqno = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mseqno");
- var kcd4mengnm = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mengnm");
- var kcd4mhngnm = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mhngnm");
- var morphlgccd = model.getValue(xMophoinfoPath + "[" + mRow + "]/morphlgccd");
- var iFndRow1 = grd_mophoinfo.findRow(morphlgccd, 1, 0, "true", "true");//중복한 행선택시
- var iFndRow2 = grd_mophoinfo.findRow(kcd4mseqno, 1, 4, "true", "true");//중복한 행선택시
- var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
- if((iFndRow1 > 0) && (iFndRow2 > 0)){
- messageBox("이미선택하신코드","E008");
- return;
- }else{
- if(diagflag=="Y"){
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagcd" , morphlgccd);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/dispdiagcd" , morphlgccd);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagengnm" , kcd4mengnm);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diaghngnm" , kcd4mhngnm);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/seqno" , kcd4mseqno);
- }else{
- grd_mophoinfo.addRow(false);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagcd" , morphlgccd);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/dispdiagcd" , morphlgccd);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagengnm" , kcd4mengnm);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diaghngnm" , kcd4mhngnm);
- model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/seqno" , kcd4mseqno);
- }
- }
- model.refresh();
- model.removeNodeset("/root/temp/diaginfo/diagflag");
- }
- function fAddTophoHist(toRow)
- {
- var Seqno = model.getValue(xTophoinfoPath + "[" + toRow + "]/seqno");
- var sTophologyCD= model.getValue(xTophoinfoPath + "[" + toRow + "]/tophlgcd");
- var sToEngNM = model.getValue(xTophoinfoPath + "[" + toRow + "]/engnm");
- var sToHngNM = model.getValue(xTophoinfoPath + "[" + toRow + "]/hngnm");
- var iFndRow1 = grd_tophoinfo.findRow(Seqno, 1, 1, "true", "true");//중복한 행선택시
- var iFndRow2 = grd_tophoinfo.findRow(sTophologyCD, 1, 2, "true", "true");//중복한 행선택시
- var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
- if((iFndRow1 > 0)&&(iFndRow2 > 0)){
- messageBox("이미 선택하신 코드","E008");
- return;
- }else{
- if(diagflag=="Y"){
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/seqno" , Seqno);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/tophlgcd" , sTophologyCD);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/engnm" , sToEngNM);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/hngnm" , sToHngNM);
- }else{
- grd_tophoinfo.addRow(false);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/seqno" , Seqno);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/tophlgcd" , sTophologyCD);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/engnm" , sToEngNM);
- model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/hngnm" , sToHngNM);
- }
- }
- model.refresh();
- model.removeNodeset("/root/temp/diaginfo/diagflag");
- }
- /**
- * @desc : 용어 추가 버튼 클릭시
- * :
- * @
- * @param :
- * @return :
- * @author : 이창록
- * @---------------------------------------------------
- */
- function fAddBtnTerm(pGrid)
- {
- var flag = model.getValue("/root/hidden/search/flag");
- if(pGrid=="grd_tophlglist")
- {
- var diagRow = grd_tophlglist.selectedRows;
- for(var i = 0; i < diagRow; i++){
- var toRow = grd_tophlglist.selectedRow(i);
- fAddTophoHist(toRow);
- }
- }else if(pGrid=="grd_icdo3list")
- {
- var mrow = grd_icdo3list.selectedRows;
- for(var i = 0; i < mrow; i++){
- var mRow = grd_icdo3list.selectedRow(i);
- fAddMophoHist(mRow);
- }
- }else if(pGrid=="grd_diaglist"){
- var totrow = grd_diaglist.selectedRows;
- for(var i = 0; i < totrow; i++){
- var dgRow = grd_diaglist.selectedRow(i);
- fAddDiagHist(dgRow);
- }
- }
- }
- /**
- * @desc : 초기화 버튼 클릭시
- * :
- * @
- * @param :,
- * @return :
- * @author : 이창록 btn_Cdiag
- * @---------------------------------------------------
- */
- function fCleanTerm(flag)
- {
- if(flag == "T"){
- model.removeNodeset(xTophoinfoPath);
- model.removeNodeset(xSelectTophoinfoPath);
- grd_tophlglist.rebuild();
- grd_tophoinfo.rebuild();
- }else if(flag == "M"){
- model.removeNodeset(xMophoinfoPath);
- model.removeNodeset(xSelectMophoinfoPath);
- grd_icdo3list.rebuild();
- grd_mophoinfo.rebuild();
- }else if(flag=="D"){
- model.removeNodeset(xDiaginfoPath);
- model.removeNodeset(xSelectDiaginfoPath);
- grd_diaglist.rebuild();
- grd_selectdiag.rebuild();
- }
- model.refresh();
- }
- /**
- * @desc : 선택 용어 행추가
- * @id :
- * @event :
- * @return : void
- * @authur :
- */
- function fAddRow_Termlist(tGrid)
- {
- model.makeNode("/root/temp/diaginfo/diagflag");
- model.makeValue("/root/temp/diaginfo/diagflag","Y");
- if(tGrid=="grd_tophoinfo"){
- var toRow = grd_tophoinfo.row - grd_tophoinfo.fixedRows + 1;
- if(toRow < 1){
- grd_tophoinfo.addRow();
- }else if(toRow >= 1){
- grd_tophoinfo.insertRow( toRow, "below", true);
- }
- }else if(tGrid=="grd_mophoinfo"){
- var mRow = grd_mophoinfo.row - grd_mophoinfo.fixedRows + 1;
- if(mRow < 1){
- grd_mophoinfo.addRow();
- }else if(mRow >= 1){
- grd_mophoinfo.insertRow( mRow, "below", true);
- }
- }else if(tGrid=="grd_selectdiag"){
- var diagRow = grd_selectdiag.row - grd_selectdiag.fixedRows + 1;
- if(diagRow < 1){
- grd_selectdiag.addRow();
- }else if(diagRow >= 1){
- grd_selectdiag.insertRow( diagRow, "below", true);
- }
- }
- model.refresh();
- }
- /**
- * @desc : 선택 용어 행삭제
- * @id :
- * @event : selectedRows->선택한 행의 갯수 반환
- * @return : void
- * @authur :
- */
- function fDelRow_Termlist(tGrid)
- {
- model.removeNodeset("/root/temp/diaginfo/diagflag");
- if(tGrid=="grd_tophoinfo") //진단코드 삭제
- {
- if(grd_tophoinfo.row < 0)
- {
- messageBox("삭제할 행이 ", "I004")
- return;
- }
- if (grd_tophoinfo.selectedRows > 0) {
- var selectedRows = Array(grd_tophoinfo.selectedRows);//선택한 행의 갯수을 배열로 지정
- for(i=0;i<grd_tophoinfo.selectedRows;i++) {
- selectedRows[i] = grd_tophoinfo.selectedRow(i);
- }
- }
- var rowIdx;
- for ( var i= selectedRows.length ; i >= 0 ; i--)
- {
- rowIdx = selectedRows[i];
- grd_tophoinfo.deleteRow( rowIdx , false);
- }
- }else if(tGrid=="grd_mophoinfo"){
- if(grd_mophoinfo.row < 0)
- {
- messageBox("삭제할 행이 ", "I004")
- return;
- }
- if (grd_mophoinfo.selectedRows > 0) {
- var selectedRows = Array(grd_mophoinfo.selectedRows);
- for(i=0;i<grd_mophoinfo.selectedRows;i++) {
- selectedRows[i] = grd_mophoinfo.selectedRow(i);
- }
- }
- var rowIdx;
- for ( var i= selectedRows.length ; i >= 0 ; i--)
- {
- rowIdx = selectedRows[i];
- grd_mophoinfo.deleteRow( rowIdx , false);
- }
- }else if(tGrid=="grd_selectdiag"){
- if(grd_selectdiag.row < 0)
- {
- messageBox("삭제할 행이 ", "I004")
- return;
- }
- if (grd_selectdiag.selectedRows > 0) {
- var selectedRows = Array(grd_selectdiag.selectedRows);
- for(i=0;i<grd_selectdiag.selectedRows;i++) {
- selectedRows[i] = grd_selectdiag.selectedRow(i);
- }
- }
- var rowIdx;
- for ( var i= selectedRows.length ; i >= 0 ; i--)
- {
- rowIdx = selectedRows[i];
- grd_selectdiag.deleteRow( rowIdx , false);
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver :
- * @by : 이창록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 더블클릭및 확인버튼클릭시 그리드와 연계(parameter)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSendTermCd()
- {
- if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
- var nodepath = opener.javascript.getParameter("SPMRT01700_param_nodepath");//parameter nodepath 설정
- if(nodepath == ""){
- var selectNode1 = opener.instance1.selectSingleNode("/root/temp");
- if(selectNode1 == null){
- opener.model.makeNode("/root/temp");
- }
- copyNodeset("/root/temp/terminfo/tplinfo" , "/root/param/topho/tophoinfo", "replace", opener.model, model);
- copyNodeset("/root/temp/terminfo/icdo3info" , "/root/param/mopho/mophoinfo", "replace", opener.model, model);
- copyNodeset("/root/temp/terminfo/icd10info" , "/root/param/selectdiaginfo/selectdiaglist", "replace", opener.model, model);
- }else{
- var selectnode = opener.instance1.selectSingleNode(nodepath);
- if(selectnode == null){
- opener.model.makeNode(nodepath);
- }
- copyNodeset(nodepath, "/root/param/topho/tophoinfo", "replace", opener.model, model);
- copyNodeset(nodepath, "/root/param/mopho/mophoinfo", "replace", opener.model, model);
- copyNodeset(nodepath, "/root/param/topho/icd10info", "replace", opener.model, model);
- }
- }else{
- messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
- }
-
- //2013/06/19 Start
- ftcodecheck();
- //2013/06/19 End
- window.close();
- }
- /**
- * @desc : T-CODE체크
- */
- function ftcodecheck(){
- var screenid=opener.window.javascript.getScreenID()
- if(screenid!="SMMRD00100"){
- return;
- }else{
- var event_target=opener.window.javascript.event.target;
- if(event_target=="ipt_tophcd"){
- var tcode=grd_tophoinfo.valuematrix(1, grd_tophoinfo.colref("tophlgcd"));
- var tcount = getNodeSetCnt("/root/init/hardcd5940/hardcd");
- if(tcode!="" && tcode!=null){
- for(var i=0; i<tcount; i++){
- var thardcd=model.getValue("/root/init/hardcd5940/hardcd["+i+"]/hardcd");
- if(tcode==thardcd){
- opener.model.setValue("/root/main/cncrpatrgst/diaginfo/laterality", "99");
- opener.combo2.disabled=false;
- break;
- }else{
- opener.model.setValue("/root/main/cncrpatrgst/diaginfo/laterality", "0");
- opener.combo2.disabled=true;
- continue;
- }
- }
- }
- }
- }
- }
|