| 1 | SDWLCU1 ;IOFO BAY PINES/DMR - EWL FILE 409.3 CLEANUP ;2/4/03 | 
|---|
| 2 | ;;5.3;scheduling;**280,427**;AUG 13 1993 | 
|---|
| 3 | INIT ; | 
|---|
| 4 | S (IEN,REC,NUM,COUNT,TOTAL,WLTC1,WLTC2,WLTC3,WLTC4,INST,CODE,NAME,ANS)="" | 
|---|
| 5 | S (INST1,INST2,INST3,INST4,POS,POSNAM,TEAM,TEAMN,CLINIC,CLINICN,CLNAM,SER,SERN,SERNAM)="" | 
|---|
| 6 | K ^TMP($J,"SDWLCU1"),^TMP($J,"EWL"),SDWLERR | 
|---|
| 7 | D START | 
|---|
| 8 | D DISPLAY | 
|---|
| 9 | D ^SDWLCU5 | 
|---|
| 10 | D NULL | 
|---|
| 11 | W !!," *****  EWL CLEANUP RUN HAS FINISHED  *****" | 
|---|
| 12 | W !!,"==>> Run option until list is clean.",! | 
|---|
| 13 | D EXIT | 
|---|
| 14 | Q | 
|---|
| 15 | START ; | 
|---|
| 16 | F  S INST=$O(^SDWL(409.3,"C",INST)) Q:INST<1  D | 
|---|
| 17 | .S CODE=$$GET1^DIQ(4,INST_",",11,"I") D | 
|---|
| 18 | ..S IEN="" F  S IEN=$O(^SDWL(409.3,"C",INST,IEN)) Q:IEN<1  D | 
|---|
| 19 | ...S INCK="" S INCK=$$TF^XUAF4(INST) | 
|---|
| 20 | ...IF CODE'="N"!('INCK) D SAVE | 
|---|
| 21 | Q | 
|---|
| 22 | SAVE ; | 
|---|
| 23 | S ^TMP($J,"EWL",$J,IEN)=^SDWL(409.3,IEN,0) | 
|---|
| 24 | IF +$P($G(^SDWL(409.3,IEN,0)),"^",5)=1 S WLTC1=WLTC1+1 D | 
|---|
| 25 | .S TEAM=+$P($G(^SDWL(409.3,IEN,0)),"^",6),TEAMN=$P(^SCTM(404.51,TEAM,0),"^",1),^TMP($J,"SDWLCU1",1,INST,TEAM,TEAMN,IEN)="" | 
|---|
| 26 | IF +$P($G(^SDWL(409.3,IEN,0)),"^",5)=2 S WLTC2=WLTC2+1 D | 
|---|
| 27 | .S POS=+$P($G(^SDWL(409.3,IEN,0)),"^",7),POSNAM=$P(^SCTM(404.57,POS,0),"^",1),^TMP($J,"SDWLCU1",2,INST,POS,POSNAM,IEN)="" | 
|---|
| 28 | IF +$P($G(^SDWL(409.3,IEN,0)),"^",5)=3 S WLTC3=WLTC3+1 D | 
|---|
| 29 | .S SER=+$P($G(^SDWL(409.3,IEN,0)),"^",8),SERN=+$P(^SDWL(409.31,SER,0),"^",1),SERNAM=$$GET1^DIQ(40.7,SERN_",",.01),^TMP($J,"SDWLCU1",3,INST,SER,IEN)="" | 
|---|
| 30 | IF +$P($G(^SDWL(409.3,IEN,0)),"^",5)=4 S WLTC4=WLTC4+1 D | 
|---|
| 31 | .S CLINIC=+$P($G(^SDWL(409.3,IEN,0)),"^",9),CLINICN=+$P(^SDWL(409.32,CLINIC,0),"^",1),CLNAM=$$GET1^DIQ(44,CLINICN_",",.01),^TMP($J,"SDWLCU1",4,INST,CLINIC,IEN)="" | 
|---|
| 32 | Q | 
|---|
| 33 | DISPLAY ; | 
|---|
| 34 | S (CC,COUNT)="" F  S CC=$O(^TMP($J,"EWL",$J,CC)) Q:CC=""  S COUNT=COUNT+1 | 
|---|
| 35 | Q:COUNT<1 | 
|---|
| 36 | W # | 
|---|
| 37 | W !,COUNT,?10,"ENTRIES IN SD WAIT LIST POINT TO AN INSTITUTION WITH" | 
|---|
| 38 | W !,?10,"A STATUS NOT EQUAL TO NATIONAL OR ISN'T A TREATING FACILITY." | 
|---|
| 39 | IF WLTC1>.5 S (COUNT1,INST)="" D | 
|---|
| 40 | .F  S INST=$O(^TMP($J,"SDWLCU1",1,INST)) Q:INST<1  D | 
|---|
| 41 | ..S IEN="" F  S IEN=$O(^TMP($J,"SDWLCU1",1,INST,IEN)) Q:IEN=""  S COUNT1=COUNT1+1 | 
|---|
| 42 | .W !!,WLTC1,?10,"ENTRIES POINT TO FILE TEAM (404.51) AND " | 
|---|
| 43 | .W !,COUNT1,?10,"INSTITUTION(S) MUST BE CORRECTED." | 
|---|
| 44 | IF WLTC2>.5 S (COUNT1,INST)="" D | 
|---|
| 45 | .F  S INST=$O(^TMP($J,"SDWLCU1",2,INST)) Q:INST<1  D | 
|---|
| 46 | ..S IEN="" F  S IEN=$O(^TMP($J,"SDWLCU1",2,INST,IEN)) Q:IEN=""  S COUNT1=COUNT1+1 | 
|---|
| 47 | .W !!,WLTC2,?10,"ENTRIES POINT TO FILE TEAM POSITION (404.57) AND " | 
|---|
| 48 | .W !,COUNT1,?10,"INSTITUTION(S) MUST BE CORRECTED." | 
|---|
| 49 | IF WLTC3>.5 S (COUNT1,INST)="" D | 
|---|
| 50 | .F  S INST=$O(^TMP($J,"SDWLCU1",3,INST)) Q:INST<1  D | 
|---|
| 51 | ..S IEN="" F  S IEN=$O(^TMP($J,"SDWLCU1",3,INST,IEN)) Q:IEN=""  S COUNT1=COUNT1+1 | 
|---|
| 52 | .W !!,WLTC3,?10,"ENTRIES POINT TO FILE SD WL SERVICE/SPECIALTY (409.31) AND" | 
|---|
| 53 | .W !,COUNT1,?10,"INSTITUTION(S) MUST BE CORRECTED." | 
|---|
| 54 | IF WLTC4>.5  S (COUNT1,INST)="" D | 
|---|
| 55 | .F  S INST=$O(^TMP($J,"SDWLCU1",4,INST)) Q:INST<1  D | 
|---|
| 56 | ..S IEN="" F  S IEN=$O(^TMP($J,"SDWLCU1",4,INST,IEN)) Q:IEN=""  S COUNT1=COUNT1+1 | 
|---|
| 57 | .W !!,WLTC4,?10,"ENTRIES POINT TO FILE SD WL CLINIC LOCATION (409.32) AND" | 
|---|
| 58 | .W !,COUNT1,?10,"INSTITUTION(S) MUST BE CORRECTED." | 
|---|
| 59 | EDIT ; | 
|---|
| 60 | I WLTC1="",WLTC2="",WLTC3="",WLTC4="" Q | 
|---|
| 61 | S X="" | 
|---|
| 62 | I WLTC1 S X="1:PCMM TEAM ASSIGNMENT;" | 
|---|
| 63 | I WLTC2 S X=X_"2:PCMM POSITION ASSIGNMENT;" | 
|---|
| 64 | I WLTC3 S X=X_"3:SERVICE/SPECIALTY;" | 
|---|
| 65 | I WLTC4 S X=X_"4:SPECIFIC CLINIC" | 
|---|
| 66 | S DIR(0)="SO^"_X | 
|---|
| 67 | S DIR("L",1)="      Select Wait List Type:  (or Enter '^' to EXIT)" | 
|---|
| 68 | S DIR("L",2)="" | 
|---|
| 69 | S:WLTC1 DIR("L",3)="          1. PCMM TEAM ASSIGNMENT" | 
|---|
| 70 | S:WLTC2 DIR("L",4)="          2. PCMM POSITION ASSIGNMENT" | 
|---|
| 71 | S:WLTC3 DIR("L",5)="          3. SERVICE/SPECIALTY" | 
|---|
| 72 | S:WLTC4 DIR("L",6)="          4. SPECIFIC CLINIC" | 
|---|
| 73 | S DIR("A")="Select Wait List Type:  (or Enter '^' to EXIT)" | 
|---|
| 74 | D ^DIR G EXIT:$D(DUOUT),EDIT:Y="" | 
|---|
| 75 | I Y=4!(Y=3) S SDWLTY=+Y,SDWLR=SDWLTY_"^SDWLCU3" D @SDWLR G DISPLAY | 
|---|
| 76 | I Y=1!(Y=2) S SDWLTY=+Y,SDWLR=SDWLTY_"^SDWLCU2" D @SDWLR G DISPLAY | 
|---|
| 77 | NULL ; | 
|---|
| 78 | W !!,"** CHECK KEY FIELDS FOR NULL VALUE **",!! | 
|---|
| 79 | QUE ;Queue Report | 
|---|
| 80 | N ZTQUEUED,POP | 
|---|
| 81 | K %ZIS,IOP,IOC,ZTIO,SDWLSPT S %ZIS="MQ" D ^%ZIS G:POP QUE1 | 
|---|
| 82 | S ZTRTN="^SDWLCU6",ZTDTH=$H,ZTDESC="WAIT LIST KEY FIELD-NULL REPORT" | 
|---|
| 83 | ;S SDWLTASK="" F  S SDWLTASK=$O(^TMP("SDWLQOF",$J,SDWLTASK)) Q:SDWLTASK=""  D | 
|---|
| 84 | ;.S SDWLTK=$G(^TMP("SDWLQOF",$J,SDWLTASK)) | 
|---|
| 85 | ;.S ZTSAVE(SDWLTASK)=SDWLTK | 
|---|
| 86 | I $D(IO("Q")) K IO("Q") D ^%ZTLOAD W !,"REQUEST QUEUED" G QEND | 
|---|
| 87 | QUE1 I $D(ZTRTN) U IO D @ZTRTN | 
|---|
| 88 | ; | 
|---|
| 89 | QEND ; | 
|---|
| 90 | K DIR,DIC,DR,DIE,ZTDTH,ZTDESC,ZTRTN | 
|---|
| 91 | D ^%ZISC | 
|---|
| 92 | Q | 
|---|
| 93 | EXIT ; | 
|---|
| 94 | K ^TMP($J,"SDWLCU1"),^TMP($J,"EWL") | 
|---|
| 95 | K IEN,REC,NUM,NN,COUNT,CC,TOTAL,WLTC1,WLTC2,WLTC3,WLTC4,INST,CODE,NAME,ANS,HEAD,INCK | 
|---|
| 96 | K INST1,INST2,INST3,INST4,POS,POSNAM,TEAM,TEAMN,CLINIC,CLINICN,CLNAM,SER,SERN,SERNAM | 
|---|
| 97 | K TEAM,TEAMN,INST,SSN,SDWLERR | 
|---|
| 98 | K C,COUNT1,CS,ENTRY,PAT,SDREC,SDWLDA,SDWLI,SDWLIENS,SDWLIN,SDWLINS | 
|---|
| 99 | K SDWLINSN,SDWLINST,SDWLIX,SDWLIZ,SDWLPO,SDWLR,SDWLSC,SDWLSCX,SDWLSS | 
|---|
| 100 | K SDWLSSN,SDWLSSX,SDWLTM,SDWLTY,TAG,SDWLSSV,ZCC | 
|---|
| 101 | Q | 
|---|