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