| 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
 | 
|---|