1 | QACSPRD ;HISC/CEW - Spreadsheet reports ;7/17/95 11:04
|
---|
2 | ;;2.0;Patient Representative;**3,9,12,17**;07/25/1995
|
---|
3 | DATE ;
|
---|
4 | N QACIFLG,QACXFLG
|
---|
5 | S QAQPOP=0
|
---|
6 | D DATDIV^QACUTL0 G:QAQPOP EXIT
|
---|
7 | BEGIN ;
|
---|
8 | K DIR
|
---|
9 | S DIR(0)="NA^1:13"
|
---|
10 | W !!?5,"1 Contact made by (#C)",!?5,"2 Issue Headers (#I)",!?5,"3 Issues"
|
---|
11 | W !?5,"4 Location (#I)"
|
---|
12 | W !?5,"5 Service (Old field - Service field de-activated 10/97 - #I)"
|
---|
13 | W !?5,"6 Service/Discipline (#I)",!?5,"7 Sex (#I)"
|
---|
14 | W !?5,"8 Contact Source (#C)",!?5,"9 Treatment Status (#C)"
|
---|
15 | W !?5,"10 Treatment Status (#I)",!?5,"11 Discipline (#I)"
|
---|
16 | W !?5,"12 Division (#C)",!?5,"13 Division (#I)",!!
|
---|
17 | S DIR("A")="Print Spreadsheet Totals for: "
|
---|
18 | S DIR("?")=" Select the number or item you want totalled."
|
---|
19 | S DIR("?",1)=" #I means total is by Issues. #C means total is by Contacts."
|
---|
20 | S DIR("?",2)=" Enter ""^"" or <RET> to exit."
|
---|
21 | D ^DIR K DIR G:$D(DIRUT)!$D(DIROUT) EXIT S QACITEM=Y
|
---|
22 | K COUNT,QACPCE,QACLABEL,QACDIV
|
---|
23 | N QACRTN
|
---|
24 | I QACITEM=1 D CONTACT^QACSPRD1
|
---|
25 | I QACITEM=2 D HEAD^QACSPRD3
|
---|
26 | I QACITEM=3 D CODE^QACSPRD2
|
---|
27 | I QACITEM=4 D LOC^QACSPRD2
|
---|
28 | I QACITEM=5 D SERVICE^QACSPRD2
|
---|
29 | I QACITEM=6 D SRVDS^QACSPRD3
|
---|
30 | I QACITEM=7 D SEX^QACSPRD3
|
---|
31 | I QACITEM=8 D SOURCE^QACSPRD1
|
---|
32 | I QACITEM=9 D TREATC^QACSPRD1
|
---|
33 | I QACITEM=10 D TREATI^QACSPRD1
|
---|
34 | I QACITEM=11 D DISC^QACSPRD2
|
---|
35 | I QACITEM=12 D DIVC^QACSPRD3
|
---|
36 | I QACITEM=13 D DIVI^QACSPRD3
|
---|
37 | K DIR S DIR(0)="E" D ^DIR G EXIT:$D(DIRUT),DATE
|
---|
38 | EXIT ;
|
---|
39 | K DIR,DIROUT,DIRUT,POP,Y
|
---|
40 | K QAC1DIV,QACDT,QACITEM,QACNUM,QACPOP,QAQPOP,QACWW
|
---|
41 | K ZTDESC,ZTRTN,ZTSAVE
|
---|
42 | D K^QAQDATE
|
---|
43 | Q
|
---|
44 | LOOP1(ROU,NBEG,NEND,QACD0) ;loop through #745.1 within the date range
|
---|
45 | S QACDT=NBEG-.0000001 F S QACDT=$O(^QA(745.1,"D",QACDT)) Q:(QACDT'>0)!(QACDT>NEND)!(QACDT\1'?7N) D
|
---|
46 | . S QACD0=0 F S QACD0=$O(^QA(745.1,"D",QACDT,QACD0)) Q:QACD0'>0 D
|
---|
47 | . . S QACDIV=$P(^QA(745.1,QACD0,0),U,16)
|
---|
48 | . . ;S QACWW=""
|
---|
49 | . . ;I $G(QACDIV)]"" I $O(^QA(740,1,"QAC2","B",QACDIV,QACWW))']"" S QACDIV=0
|
---|
50 | . . I $G(QACDIV)']"" S QACDIV=0
|
---|
51 | . . I $O(QACDIV(0))>0 D CHKDIV
|
---|
52 | . . I $G(QAC1DIV)]"" I $G(QACDIV)=$G(QAC1DIV) D @ROU
|
---|
53 | . . I $G(QAC1DIV)']"" D @ROU
|
---|
54 | Q
|
---|
55 | ZIS1(ZTRTN,DESC,XFLG) ;subroutine sets up and calls ^%ZIS and ^%ZTLOAD
|
---|
56 | K QACXFLG
|
---|
57 | K %ZIS,IOP S %ZIS="MQ" W ! D ^%ZIS I POP S QACPOP=1 Q
|
---|
58 | I $D(IO("Q")) D
|
---|
59 | . S (ZTSAVE("QAQNBEG"),ZTSAVE("QAQNEND"))=""
|
---|
60 | . S (ZTSAVE("QAC1DIV"),ZTSAVE("QACDIV"),ZTSAVE("QAQPOP"))=""
|
---|
61 | . S (ZTSAVE("QACTITLE"),ZTSAVE("QACIFLG"))=""
|
---|
62 | . I $G(QACIFLG)=1 K ^TMP("QACSPRD2",$J)
|
---|
63 | . I $G(QACIFLG)=1 S (ZTSAVE("^TMP(""QACSPRD2"",$J,"),ZTSAVE("QACODE"))=""
|
---|
64 | . S ZTDESC="Patient Rep "_DESC_"Spreadsheet Report"
|
---|
65 | . D ^%ZTLOAD S QACXFLG=1
|
---|
66 | Q
|
---|
67 | CHKDIV ;
|
---|
68 | N QACD,QACQ
|
---|
69 | S QACD=""
|
---|
70 | F S QACD=$O(QACDIV(QACD)) Q:QACD']"" D
|
---|
71 | . I QACD=QACDIV S QACQ=1
|
---|
72 | I $G(QAC1DIV)']"" I $G(QACQ)'=1 S QACDIV=0
|
---|
73 | Q
|
---|