123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468 |
- /* ---------------------------------------------------------------------
-
- 수술마취간호처방 (SMMNP01801.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2015.05.02
- ---------------------------------------------------------------------- */
- // --------------------------------------------------
- // 처방저장
- // --------------------------------------------------
- function fPrcpDataSave(){
- var sOpcrPath = "/root/main/MmohoprsLists/mmohoprslist" ;
-
- var sPrcpDataPat = "/root/main/patinfocond/patinfo" ;
- var sPrcpDataPath = "/root/main/prcpposinfo/prcpinfo/prcplist";
- var sPid = model.getValue(gPathNode[6]+"/pid") ; // 환자번호
-
- if (sPid == "") {
- messageBox("환자가 지정되지", "E007");
- return;
- }
-
- // 처방정보 Save를 위한 Node생성
-
- var sSendPath = "/root/send/savedata";
-
- model.removeNodeset(sSendPath );
- model.makeNode(sSendPath );
- model.makeNode(sSendPath + "/saveflaginfo"); //저장구분정보(saveFlagInfoVO)
- model.makeNode(sSendPath + "/savergstinfo"); //저장등록정보(saveRgstInfoVO)
- model.makeNode(sSendPath + "/saveprcpinfo"); //저장처방정보(savePrcpInfoVO)
- model.makeNode(sSendPath + "/savesigninfo"); //저장인증정보(saveSignInfoVO)
- model.makeNode(sSendPath + "/refcond" ); //저장 후 조회조건
-
- // --------------------------------------------------
- // 지원부서 처방저장 Interface - 공통 사용
- // --------------------------------------------------
- // 저장구분정보(saveFlagInfoVO) -> "saveFlagInfo"
- // --------------------------------------------------
- var FlagInfoData = "";
- var FlagInfoHeader = "savedataflag" +"▦" // 01 저장자료구분 (2:처방)
- + "saveflag" +"▦" // 02 저장구분 (O:외래, I:입원, E:응급, S:건진)
- + "prcpflag" +"▦" // 03 처방구분 (코드정의서 M0035 참조 "0"을 제외한 해당 값을 넣어주세요...)1:정기,2:응급,3:추가
- + "inptflag" +"▦" // 04 입력구분 (코드정의서 M0034 참조)
- + "pamflag" +"▦" // 05 원무정보 처리구분 (Y/N) -> N일 경우 check하지 않음.
- + "diagflag" +"▦" // 06 진단정보 처리구분 (Y/N) -> N일 경우 check하지 않음. ("Y"이면 진단없이 처방 저장이 안됨)
- + "prcperrflag" +"▦" // 07 처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
- + "deptcd" +"▦" // 08 부서코드 (입력자 또는 로그인한 사용자의 부서코드)
- + "deptnm" +"▦" // 09 부서명 (입력자 또는 로그인한 사용자의 부서명)
- + "userid" +"▦" // 10 사용자ID (입력자 또는 로그인한 사용자ID)
- + "usernm" +"▦" // 11 사용자명 (입력자 또는 로그인한 사용자명)
- + "signyn" +"▩"; // 12 전자서명여부 (Y/N)
- // --------------------------------------------------
- // 저장등록정보(saveRgstInfoVO) ->" saveRgstInfo"
- // --------------------------------------------------
- var RgstInfoData = "";
- var RgstInfoHeader = "pid" +"▦" // 1 등록번호(원무Key)
- + "orddd" +"▦" // 2 진료일자(원무Key) - 입원일경우는 "-"
- + "indd" +"▦" // 3 입원일자(원무Key) - 외래일경우는 "-"
- + "cretno" +"▦" // 4 생성번호(원무Key)
- + "orddeptcd" +"▦" // 5 진료과(원무)
- + "orddrid" +"▦" // 6 진료의ID(원무)
- + "instcd" +"▩"; // 7 기관코드
- // --------------------------------------------------
- // 저장처방정보(savePrcpInfoVO) ->" savePrcpInfo"
- // --------------------------------------------------
- var PrcpInfoData = "";
- var PrcpInfoHeader = "status" +"▦" // 01 신규(I), DC(C)
- + "rowno" +"▦" // 02 줄번호 (병리 요구)
- + "prcpdd" +"▦" // 03 처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
- + "prcpno" +"▦" // 04 처방번호 (status가 "I"일 경우 0)
- + "prcphistno" +"▦" // 05 처방이력번호 (status가 "I"일 경우 0)
- + "instcd" +"▦" // 06 기관코드
- + "pid" +"▦" // 07 등록번호(원무Key)
- + "orddd" +"▦" // 08 진료일자(원무Key) - 입원환자일 경우 indd
- + "cretno" +"▦" // 09 생성번호(원무Key)
- + "orddeptcd" +"▦" // 10 진료과(원무)
- + "orddrid" +"▦" // 11 진료의ID(원무)
- + "prcpgenrflag" +"▦" // 12 처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
- + "prcpstatcd" +"▦" // 13 처방상태 : "000"
- + "prcpkindcd" +"▦" // 14 처방종류 : "20"
- + "prcpcd" +"▦" // 15 처방코드
- + "calcscorcd" +"▦" // 16 수가코드
- + "inclprcpcd" +"▦" // 17 종속처방코드 ("-")
- + "inclprcpno" +"▦" // 18 종속처방번호 (일련번호 - 종속처방코드별로 생성)
- + "prcpexecdeptcd" +"▦" // 19 처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 "-"로 처리)
- + "prcphopedd" +"▦" // 20 처방희망일자 (처방일자 이전으로 발생불가)
- + "prcpqty" +"▦" // 21 처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨)
- + "prcpqtyunitflag" +"▦" // 22 처방수량단위 (약품일 경우 "3", 그렇지 않을경우 "-")
- + "prcptims" +"▦" // 23 처방횟수 (1) (입원일 경우 횟수에 따라 풀림)
- + "prcpdayno" +"▦" // 24 처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김)
- + "payflagcd" +"▦" // 25 급여구분코드 (M0029 참조) -> "-"로 넣으주면 환자의 보험유형에 따라 자동 발생
- + "erprcpflag" +"▦" // 26 응급처방구분 (Y/N)
- + "precureprcpflag" +"▦" // 27 선처치처방구분 (Y/N)
- + "nigtprcpflag" +"▦" // 28 야간처방구분 (Y/N) : 야간가산에 해당 될 경우
- + "portprcpflag" +"▦" // 29 포터블처방구분 (Y/N)
- + "fixprcpflag" +"▦" // 30 정액처방구분 (Y/N)
- + "choiordflag" +"▦" // 31 선택처방구분 (Y/N) -> 만약 "-"일 경우 원무정보 기준으로 처리
- + "anamneflag" +"▦" // 32 기왕력(증)구분 (Y/N)
- + "prcpdirecflag" +"▦" // 33 처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : "-"
- + "angioflagcd" +"▦" // 34 Angio구분 (코드정의서 M0006 참조) : "-"
- + "opansflagcd" +"▦" // 35 수술마취구분 (코드정의서 M0007, M0008 참조) : "-"
- + "ansttm" +"▦" // 36 마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격
- + "offictourhealexamflag" +"▦" // 37 출장검진구분 (Y/N)
- + "stemcellflag" +"▦" // 38 "00NNN" 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성
- + "hosinhosoutflag" +"▦" // 39 원내외구분(건진은 "I", 약이 아닐경우 "-")
- + "hosinprcpresncd" +"▦" // 40 원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 "00")
- + "issdeptcd" +"▦" // 41 발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> "-" 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리)
- + "prcpauthflag" +"▦" // 42 처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
- + "prcpinptflag" +"▦" // 43 처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
- + "prcpsignflag" +"▦" // 44 처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료)
- + "oprsrvno" +"▦" // 45 수술예약번호(0)
- + "clincstdyflag" +"▦" // 46 임상연구구분 (Y/N)
- + "clincstdycd" +"▦" // 47 임상연구코드 ("-") -> 임상연구구분이 "Y"일 경우 임상연구코드를 등록
- + "drugmthdspccd" +"▦" // 48 *투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default "-")
- + "prcpdelivefact" +"▦" // 49 처방전달사항
- + "tootfact" +"▦" // 50 치식 (병리만 사용, 나머지는 "-")
- + "matrsetprcpspec" +"▦" // 51 *재료처방내용 ("-") -> 추후정의
- + "calcflag" +"▦" // 52 계산구분 (Y/N)
- + "rsrvflag" +"▦" // 53 예약구분 (Y/N)
- + "rsrvdd" +"▦" // 54 예약일자 ("N"일 경우 "00000000")
- + "rsrvtm" +"▦" // 55 예약시간 ("N"일 경우 "000000")
- + "rsrvrid" +"▦" // 56 예약자ID ("-")
- + "execdd" +"▦" // 57 실시일자 ("00000000")
- + "exectm" +"▦" // 58 실시시간 ("000000")
- + "execrid" +"▦" // 59 실시자ID ("-")
- + "direcprcplnkdd" +"▦" // 60 지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
- + "direcprcplnkno" +"▦" // 61 지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
- + "ordreqlnkno" +"▦" // 62 진료의뢰연계번호 (0)
- + "testreqlnkno" +"▩"; // 63 검사의뢰연계번호 (0) -> 병리와 진단검사 사용
- // --------------------------------------------------
- // 저장처방정보(saveSignInfoVO) ->" saveSignInfo"
- // --------------------------------------------------
- var SignInfoData = "";
- var SignInfoHeader = "signdd" +"▦" // 01 서명일자
- + "signno" +"▦" // 02 서명번호
- + "instcd" +"▦" // 03 기관코드
- + "pid" +"▦" // 04 등록번호
- + "orddd" +"▦" // 05 진료일자
- + "cretno" +"▦" // 06 생성번호
- + "signflag" +"▦" // 07 서명구분
- + "signgenrflag" +"▦" // 08 서명발생구분
- + "rgstdeptcd" +"▦" // 09 등록부서코드
- + "rgstdd" +"▦" // 10 등록일자
- + "rgsttm" +"▦" // 11 등록시간
- + "rgstrid" +"▦" // 12 등록자ID
- + "updtdeptcd" +"▦" // 13 수정부서코드
- + "updtdd" +"▦" // 14 수정일자
- + "updttm" +"▦" // 15 수정시간
- + "updtrid" +"▦" // 16 수정자ID
- + "fstrgstrid" +"▦" // 17 최초등록자ID
- + "fstrgstdt" +"▦" // 18 최초등록일시
- + "lastupdtrid" +"▦" // 19 최종수정자ID
- + "lastupdtdt" +"▦" // 20 최종수정일시
- + "signbfcnts" +"▦" // 21 서명전내역
- + "signaftcnts" +"▩"; // 22 서명후내역
- var ordtype = ""; //환자진료형태(외래 O, 응급 E ,입원 I, D:DSC)
- var deptcd = ""; //부서코드
- var deptnm = ""; //부서명
- var indd = ""; //입원일자
- var orddd = ""; //진료일자
- //var prcpdd = ""; //처방일자
- var prcphistno = ""; //처방이력번호
- var prcpno = ""; //처방번호
- var ordindd = ""; //진료일자(외래일 경우 orddd, 입원일 경우 indd)
- var cretno = ""; //환자 일자별 일련번호
-
- ordtype = model.getValue(sOpcrPath + "/oppatflagcd"); // 환자진료형태(외래 O, 응급 E ,입원 I)
- deptcd = getUserInfo("dutplcecd"); // 로인 사용자 근무지 부서 코드
- deptnm = getUserInfo("dutplcenm"); // 로인 사용자 근무지 부서 코드명
-
- // 사용 및 반납에 관한 부서는 차대리가 준비중
-
- if (ordtype == "O") { //외래
- indd = "-"; //입원일자(원무Key) - 외래일경우는 "-"
- cretno = model.getValue(sOpcrPath + "/o_cretno");
- orddd = model.getValue(sOpcrPath + "/o_orddd" );
- ordindd = model.getValue(sOpcrPath + "/o_orddd" );
- } else { //입원
- orddd = "-" ; //진료일자(원무Key) - 입원일경우는 "-"
- cretno = model.getValue(sOpcrPath + "/i_cretno");
- indd = model.getValue(sOpcrPath + "/i_indd" );
- ordindd = model.getValue(sOpcrPath + "/i_indd" );
- }
-
- // 저장구분정보(saveFlagInfoVO)
- FlagInfoData = "2" + "▦" // 01 저장자료구분 (2:처방)
- + ordtype + "▦" // 02 저장구분 (O:외래, I:입원, E:응급, S:건진)
- + "2" + "▦" // 03 처방구분(M0035 처방권한에 대한 구분종류 : 간호 추가처방)
- + "10" + "▦" // 04 입력구분(M0034 처방입력에 대한 구분종류 : 간호처방) 10:Cart처방
- + "Y" + "▦" // 05 원무정보 처리구분 (Y/N)
- + "N" + "▦" // 06 진단정보 처리구분 (Y/N)
- + "Y" + "▦" // 07 처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
- + deptcd + "▦" // 08 부서코드 (입력자 또는 로그인한 사용자의 부서코드)
- + deptnm + "▦" // 09 부서명 (입력자 또는 로그인한 사용자의 부서명)
- + getUserId() + "▦" // 10 사용자ID (입력자 또는 로그인한 사용자ID)
- + getUserName() + "▦" // 11 사용자명 (입력자 또는 로그인한 사용자명)
- + "N" + "▩"; // 12 전자서명여부 (Y/N)
-
-
- // 저장등록정보(saveRgstInfoVO)
- RgstInfoData = sPid + "▦" // 1 등록번호(원무Key)
- + orddd + "▦" // 2 진료일자(원무Key) - 입원일경우는 "-"
- + indd + "▦" // 3 입원일자(원무Key) - 외래일경우는 "-"
- + cretno + "▦" // 4 생성번호(원무Key)
- + model.getValue(sOpcrPath + "/orddeptcd") + "▦" // 5 진료과(원무)
- + model.getValue(sOpcrPath + "/orddrid" ) + "▦" // 6 진료의ID(원무)
- + model.getValue(sOpcrPath + "/instcd" ) + "▩"; // 7 기관코드
- // 저장처방정보(savePrcpInfoVO) 자료를 구성한다.
-
- var PrcpData = "";
- var PrcpData0105 = "" ; // 01 신규(I), DC(C)
- // 02 줄번호 (병리 요구)
- // 03 처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
- // 04 처방번호 (status가 "I"일 경우 0)
- // 05 처방이력번호 (status가 "I"일 경우 0)
- var PrcpData0614 = model.getValue(sOpcrPath + "/instcd") + "▦" // 06 기관코드
- + sPid + "▦" // 07 등록번호(원무Key)
- + ordindd + "▦" // 08 진료일자(원무Key) - 입원환자일 경우 indd
- + cretno + "▦" // 09 생성번호(원무Key)
- + model.getValue(sOpcrPath + "/orddeptcd") + "▦" // 10 진료과(원무)
- + model.getValue(sOpcrPath + "/orddrid") + "▦" // 11 진료의ID(원무)
- + ordtype + "▦" // 12 처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
- + "000" + "▦" // 13 처방상태 : "000"
- + "20" + "▦"; // 14 처방종류 : "20" ????
- var PrcpData1521 = "" ; // 15 처방코드
- // 16 수가코드 MMBTPRCD의 수가 코드 가져올것
- // 17 종속처방코드 ("-") => default : "-"
- // 18 종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
- // 19 처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 "-"로 처리)
- // 20 처방희망일자 (처방일자 이전으로 발생불가)
- // 21 처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) 0 => default : 1
- var PrcpData2247 = "-" + "▦" // 22 처방수량단위 (약품일 경우 "3", 그렇지 않을경우 "-") => default : "-"
- + "1" + "▦" // 23 처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
- + "1" + "▦" // 24 처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
- + "-" + "▦" // 25 급여구분코드 (M0029 참조) -> "-"로 넣으주면 환자의 보험유형에 따라 자동 발생
- + "N" + "▦" // 26 응급처방구분 (Y/N) ==> default : "N"
- + "N" + "▦" // 27 선처치처방구분 (Y/N) ==> default : "N" MMBTPRCD
- + "N" + "▦" // 28 야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : "N"
- + "N" + "▦" // 29 포터블처방구분 (Y/N) ==> default : "N"
- + "N" + "▦" // 30 정액처방구분 (Y/N) ==> default : "N"
- + "N" + "▦" // 31 선택처방구분 (Y/N) -> 만약 "-"일 경우 원무정보 기준으로 처리 ==> default : "N"
- + "N" + "▦" // 32 기왕력(증)구분 (Y/N) ==> default : "N"
- + "-" + "▦" // 33 처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : "-" => default : "-"
- + "-" + "▦" // 34 Angio구분 (코드정의서 M0006 참조) : "-" => default : "-"
- + "-" + "▦" // 35 수술마취구분 (코드정의서 M0007, M0008 참조) : "-" => default : "-"
- + "0000" + "▦" // 36 마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : "0000"
- + "N" + "▦" // 37 출장검진구분 (Y/N) => default : "N"
- + "00NNN" + "▦" // 38 "00NNN" 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : "00NNN"
- + "-" + "▦" // 39 원내외구분(건진은 "I", 약이 아닐경우 "-") => default : "-"
- + "00" + "▦" // 40 원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 "00") => default : "00"
- + deptcd + "▦" // 41 발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> "-" 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : "-"
- + "2" + "▦" // 42 처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
- + "10" + "▦" // 43 처방입력구분(저장구분정보의 inptflag와 동일하게 처리) 10:Cart처방
- + "0" + "▦" // 44 처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : "2"
- + model.getValue(sOpcrPath + "/oprsrvno") + "▦" // 45 수술예약번호(0) => default : "-"
- + "N" + "▦" // 46 임상연구구분 (Y/N)
- + "-" + "▦"; // 47 임상연구코드 ("-") -> 임상연구구분이 "Y"일 경우 임상연구코드를 등록 => default : "-"
- var PrcpData4848 = ""; // 48 투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default "-") => default : "-"
- var PrcpData4963 = "" + "▦" // 49 처방전달사항
- + "-" + "▦" // 50 치식 (병리만 사용, 나머지는 "-") => default : "-"
- + "-" + "▦" // 51 재료처방내용 ("-") -> 추후정의
- + "N" + "▦" // 52 계산구분 (Y/N)
- + "N" + "▦" // 53 예약구분 (Y/N)
- + "00000000" + "▦" // 54 예약일자 ("N"일 경우 "00000000")
- + "000000" + "▦" // 55 예약시간 ("N"일 경우 "000000")
- + "-" + "▦" // 56 예약자ID ("-")
- + getCurrentDate() + "▦" // 57 실시일자 ("00000000")
- + getCurrentTime() + "▦" // 58 실시시간 ("000000")
- + getUserId() + "▦" // 59 실시자ID ("-")
- + "00000000" + "▦" // 60 지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
- + "0" + "▦" // 61 지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
- + "0" + "▦" // 62 진료의뢰연계번호 (0)
- + "0" + "▩"; // 63 검사의뢰연계번호 (0) -> 병리와 진단검사 사용
-
- var PrcpDate = getCurrentDate();; // 처방일자
-
- // var PrcpDate = model.getValue(sOpcrPath + "/opcnfmdd"); // 수술 처방확정일자
-
- var PrcpIdx = 0 ;
- var PrcpCls = "";
- var PrcpDD = "";
-
- var sPrcpDD = "";
- var sPrcpNO = "";
- var sPrcphistNo = "";
-
- for (Idx = 0; Idx < 5; Idx++) {
- if (Idx != 2) {
- wCartPath = gPathNode[8]+"/"+tPathCart[Idx];
- sRowCnt = eval("grd_"+tNameCart[Idx]).rows - eval("grd_"+tNameCart[Idx]).fixedrows;
-
- PrcpData = "";
-
- for (var i=1; i<= sRowCnt; i++) {
- GoodQty = model.getValue(wCartPath + "[" + (i) +"]/outqty");
-
- GoodQty = (GoodQty == "" ) ? "0" : GoodQty; // 사용수량
- UseQty = parseFloat(GoodQty);
-
- ///--------수정되어야할 IF (없어져야됨)
- if (UseQty != 0) {
- /// -----------------------------
- PrcpIdx++;
-
- GoodCd = model.getValue(wCartPath + "[" + (i) +"]/goodcd" );
- Allsizespecid = model.getValue(wCartPath + "[" + (i) +"]/allsizespecid" );
- GoodQty = model.getValue(wCartPath + "[" + (i) +"]/outqty" );
- OproomDeptcd = model.getValue(wCartPath + "[" + (i) +"]/oproomdeptcd" );
-
- sPrcpDD = model.getValue(wCartPath + "[" + (i) +"]/prcpdd" );
- sPrcpNO = model.getValue(wCartPath + "[" + (i) +"]/prcpno" );
- sPrcphistNo = model.getValue(wCartPath + "[" + (i) +"]/prcphistno" );
-
-
- // |-----------------------------------------
- // | 구분 | I(입력) | U(수정) | D(삭제) |
- // |----------------------------------------
- // | I (신규) | O(1) | O(1) | X(0) |
- // |-----------------------------------------
- // | C (DC) | X(0) | O(2) | O(2) |
- // |-----------------------------------------
-
- PrcpFlag = "1";
-
- switch(PrcpFlag) {
- case "II": PrcpCls = 1;
- case "UI": PrcpCls = 2;
- case "DI": PrcpCls = 0;
- case "IC": PrcpCls = 0;
- case "UC": PrcpCls = 2;
- case "DC": PrcpCls = 3;
- default : PrcpCls = 0;
- }
-
- model.setValue(wCartPath + "[" + (i) +"]/pid" , sPid );
- model.setValue(wCartPath + "[" + (i) +"]/prcpdd" , PrcpDate );
- model.setValue(wCartPath + "[" + (i) +"]/prcpno" , "0" );
- model.setValue(wCartPath + "[" + (i) +"]/prcphistno" , "0" );
-
- if (Allsizespecid == "") {
- Allsizespecid = "-";
- }
-
- PrcpData4848 = Allsizespecid + "▦" ; // 48 투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default "-") => default : "-"
-
- if (PrcpFlag == "1" || PrcpFlag == "2" ) {
- PrcpData0105 = "I" + "▦" // 01 신규(I), DC(C)
- + PrcpIdx + "▦" // 02 줄번호 (병리 요구)
- + PrcpDate + "▦" // 03 처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
- + "0" + "▦" // 04 처방번호 (status가 "I"일 경우 0)
- + "0" + "▦"; // 05 처방이력번호 (status가 "I"일 경우 0)
-
- PrcpData1521 = GoodCd + "▦" // 15 처방코드
- + GoodCd + "▦" // 16 수가코드 MMBTPRCD의 수가 코드 가져올것
- + "-" + "▦" // 17 종속처방코드 ("-") => default : "-"
- + 0 + "▦" // 18 종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
- + OproomDeptcd+ "▦" // 19 처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 "-"로 처리)
- + PrcpDate + "▦" // 20 처방희망일자 (처방일자 이전으로 발생불가)
- + GoodQty + "▦"; // 21 처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
-
- PrcpData += PrcpData0105
- + PrcpData0614
- + PrcpData1521
- + PrcpData2247
- + PrcpData4848
- + PrcpData4963 ;
- }
-
- //----
- if (PrcpFlag == "2" || PrcpFlag == "3" ) {
-
- PrcpNo = "2";
- Prcphistno = "2";
-
- PrcpData0105 = "C" + "▦" // 01 신규(I), DC(C)
- + PrcpIdx + "▦" // 02 줄번호 (병리 요구)
- + PrcpDate + "▦" // 03 처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
- + prcpno + "▦" // 04 처방번호 (status가 "I"일 경우 0)
- + prcphistno + "▦"; // 05 처방이력번호 (status가 "I"일 경우 0)
-
- PrcpData1521 = GoodCd + "▦" // 15 처방코드
- + GoodCd + "▦" // 16 수가코드 MMBTPRCD의 수가 코드 가져올것
- + "-" + "▦" // 17 종속처방코드 ("-") => default : "-"
- + 0 + "▦" // 18 종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
- + OproomDeptcd+ "▦" // 19 처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 "-"로 처리)
- + PrcpDate + "▦" // 20 처방희망일자 (처방일자 이전으로 발생불가)
- + GoodQty + "▦"; // 21 처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
-
- PrcpData += PrcpData0105
- + PrcpData0614
- + PrcpData1521
- + PrcpData2247
- + PrcpData4848
- + PrcpData4963 ;
- }
-
- ///--------수정되어야할 IF (없어져야됨)
- } // End Of if (UseQty != 0) {
-
- } // End Of for (var i=1; i<= sRowCnt; i++)
- PrcpInfoData += PrcpData;
- }
- }
-
- // 그리드에 자료가 없는데 저장 버튼를 누른 경우를 Check
-
- if (PrcpIdx < 1) {
- messageBox("저장할 처방내역이", "I004");
- return;
- }
-
- //
- model.setValue(sSendPath + "/saveflaginfo", FlagInfoHeader+FlagInfoData);
- model.setValue(sSendPath + "/savergstinfo", RgstInfoHeader+RgstInfoData);
- model.setValue(sSendPath + "/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
- // model.setValue(sSendPath + "/savesigninfo", SignInfoHeader+SignInfoData);
-
- // 저장 후 조회조건
- model.copyNode(sSendPath + "/refcond", sPrcpDataPat);
-
- //
- if (submit("TXMNP01802", false)) {
- //오류팝업
- var prcpErrList = model.instances(0).selectNodes( "/root/temp/result/prcperrlist" );
-
- if (prcpErrList.length > 0 ) {
- if (!isNull(model.getValue ( "/root/temp/result/prcperrlist/prcpcd"))){
- var xpt = window.screenleft + 100;
- var ypt = window.screenTop + 50;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
- model.removeNodeset("/root/temp/result/prcperrlist");
- }
- }
- else {
- model.setValue("/root/init/WorkData/cond/cartstat", "9");
-
- fSave(); // Cart 물품 저장 (TXMNP01800) 10/12 추가
- fQueryData(); // 조회
- }
- // model.refresh();
- }
-
-
- } // 처방저장 fPrcpDataSave()
-
- // --------------------------------------------------
- // End Of List 처방저장
- // --------------------------------------------------
|