1 | QACSPRD1 ;HINES/CEW - Spreadsheet report selections ;1/12/99
|
---|
2 | ;;2.0;Patient Representative;**3,9,17**;07/25/1995
|
---|
3 | CONTACT ;
|
---|
4 | ;Sub-routine to count total number of contacts for Contact Made By
|
---|
5 | S QACRTN="CONTSK^QACSPRD1",QACTITLE="Contact Made by "
|
---|
6 | D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
|
---|
7 | I $G(QACXFLG) G EXIT
|
---|
8 | CONTSK ;
|
---|
9 | S QACROU="CONTSK1^QACSPRD1"
|
---|
10 | S QACFLD=12
|
---|
11 | D TSK
|
---|
12 | Q
|
---|
13 | CONTSK1 ;
|
---|
14 | K QACENTRY
|
---|
15 | S QACENTRY=$P(^QA(745.1,QACD0,0),U,10) Q:$G(QACENTRY)']""
|
---|
16 | D TALL(QACENTRY)
|
---|
17 | Q
|
---|
18 | SOURCE ;
|
---|
19 | ;Sub-routine to count total number of contacts for Source
|
---|
20 | S QACRTN="SOURTSK^QACSPRD1",QACTITLE="Source of Contact "
|
---|
21 | D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
|
---|
22 | I $G(QACXFLG) G EXIT
|
---|
23 | SOURTSK ;
|
---|
24 | S QACROU="SOURTSK1^QACSPRD1"
|
---|
25 | S QACFLD=13 D QACSET(QACFLD)
|
---|
26 | D TSK
|
---|
27 | Q
|
---|
28 | SOURTSK1 ;
|
---|
29 | K QACENTRY
|
---|
30 | S QACENTRY=$P(^QA(745.1,QACD0,0),U,11)
|
---|
31 | I $G(QACENTRY)]"" D TALL(QACENTRY)
|
---|
32 | I $G(QACENTRY)']"" D
|
---|
33 | . S QACEE=0
|
---|
34 | . F S QACEE=$O(^QA(745.1,QACD0,12,QACEE)) Q:QACEE'>0 D
|
---|
35 | . . S QACENTRY=$G(^QA(745.1,QACD0,12,QACEE,0))
|
---|
36 | . . I $G(QACENTRY)]"" D TALL(QACENTRY)
|
---|
37 | Q
|
---|
38 | TREATC ;
|
---|
39 | ;Sub-routine to count total number of contacts for Treatment Status
|
---|
40 | S QACRTN="TRTCTSK^QACSPRD1",QACTITLE="Contact Numbers by Treatment Status "
|
---|
41 | D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACXFLG) G:$G(QACPOP) EXIT
|
---|
42 | I $G(QACXFLG) G EXIT
|
---|
43 | TRTCTSK ;
|
---|
44 | S QACROU="TRTCTSK1^QACSPRD1"
|
---|
45 | S QACFLD=16.5
|
---|
46 | D TSK
|
---|
47 | Q
|
---|
48 | TRTCTSK1 ;
|
---|
49 | K QACENTRY
|
---|
50 | I $G(^QA(745.1,QACD0,2))]"" S QACENTRY=$P(^QA(745.1,QACD0,2),U,2) Q:$G(QACENTRY)']""
|
---|
51 | I $G(QACENTRY)]"" D TALL(QACENTRY)
|
---|
52 | Q
|
---|
53 | TREATI ;
|
---|
54 | ;Sub-routine to count total number of issues for Treatment Status
|
---|
55 | S QACRTN="TRTITSK^QACSPRD1",QACTITLE="Issue Code by Treatment Status "
|
---|
56 | S ZTSAVE("QACENTRY")=""
|
---|
57 | D ZIS1^QACSPRD(QACRTN,QACTITLE,.QACD0) G:$G(QACPOP) EXIT
|
---|
58 | I $G(QACXFLG) G EXIT
|
---|
59 | TRTITSK ;
|
---|
60 | S QACROU="TRTITSK1^QACSPRD1"
|
---|
61 | S QACFLD=16.5
|
---|
62 | D TSK
|
---|
63 | Q
|
---|
64 | TRTITSK1 ;
|
---|
65 | K QACENTRY
|
---|
66 | I $G(^QA(745.1,QACD0,2))]"" S QACENTRY=$P(^QA(745.1,QACD0,2),U,2) Q:$G(QACENTRY)']""
|
---|
67 | S QACEE=0
|
---|
68 | F S QACEE=$O(^QA(745.1,QACD0,3,QACEE)) Q:QACEE'>0 D
|
---|
69 | . I $G(QACENTRY)]"" D TALL(QACENTRY)
|
---|
70 | Q
|
---|
71 | EXIT ;
|
---|
72 | W ! D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
73 | K %ZIS,IOP,POP,ZTSAVE,ZTDESC,ZTRTN,ZTSK,QACSOUR
|
---|
74 | K BB,COUNT,DDD,EE,MM,RR
|
---|
75 | K QAC1DIV,QAC,QACAA,QACBEG,QACCMB,QACCNT,QACD0,QACDT,QACDIV,QACDV
|
---|
76 | K QACEE,QACEND,QACIFLG,QACISSUE,QACLABEL,QACNODE,QACPCE,QACPOP,QACROU
|
---|
77 | K QACRTN,QACTR,QACXFLG,QACY7E,QACYES
|
---|
78 | K QAQNBEG,QAQNEND
|
---|
79 | Q
|
---|
80 | QACSET(QACFLD,QACENTRY,QACTITLE) ;subroutines to set up counters for
|
---|
81 | ; fields that are sets of codes
|
---|
82 | S QACCNT=0
|
---|
83 | S QACNODE=$P(^DD(745.1,QACFLD,0),U,3)
|
---|
84 | F QACEE=1:1 S QACPCE(QACEE)=$P(QACNODE,";",QACEE) Q:$G(QACPCE(QACEE))']"" S QACCNT=QACCNT+1
|
---|
85 | F QACEE=1:1:QACCNT D
|
---|
86 | . S QACLABEL(QACEE)=$P(QACPCE(QACEE),":",2)
|
---|
87 | . S QACPCE(QACEE)=$P(QACPCE(QACEE),":",1)
|
---|
88 | ;I '$D(QAC1DIV) D SET2 Q
|
---|
89 | SET1 ;multidivisional
|
---|
90 | N RR,RRR
|
---|
91 | I $G(QAC1DIV)']"" D
|
---|
92 | . ;S RR=0 F S RR=$O(^QA(740,1,"QAC2",RR)) Q:RR'>0 D
|
---|
93 | . ;. S QACDIV(RR)=^QA(740,1,"QAC2",RR,0)
|
---|
94 | . ;. D SET2
|
---|
95 | . S (RRR,QACDIV(0))=0 D SET2
|
---|
96 | . S RRR=0,RR=1
|
---|
97 | . F S RRR=$O(^DG(40.8,"AD",RRR)) Q:RRR'>0 D
|
---|
98 | . . Q:'$D(^DIC(4,RRR,0))
|
---|
99 | . . S QACDIV(RRR)=RRR
|
---|
100 | . . S RR=RR+1
|
---|
101 | . . D SET2
|
---|
102 | I $G(QAC1DIV)]"" D
|
---|
103 | . ;S RR=1,QACDIV(RR)=QAC1DIV
|
---|
104 | . S QACDIV(1)=QAC1DIV
|
---|
105 | . S RRR=1
|
---|
106 | . D SET2
|
---|
107 | Q
|
---|
108 | SET2 ;for each division or not multi-divisional, initialize counts
|
---|
109 | S EE=0 F S EE=$O(QACPCE(EE)) Q:$G(QACPCE(EE))']"" D
|
---|
110 | . S QAC=QACPCE(EE)
|
---|
111 | . ;I S COUNT(QAC)=0
|
---|
112 | . S COUNT(QACDIV(RRR),QACPCE(EE))=0
|
---|
113 | Q
|
---|
114 | SET3 ;multi-divisional, but entry has no division, initialize counts
|
---|
115 | S MM="" I $O(QACDIV(MM))>0 D
|
---|
116 | . S QACDIV(0)=0
|
---|
117 | . S BB=0 F S BB=$O(QACPCE(BB)) Q:BB>QACCNT D
|
---|
118 | . . S COUNT(0,QACPCE(BB))=0
|
---|
119 | S EE=0 F S EE=$O(QACPCE(EE)) Q:$G(QACPCE(EE))']"" I QACENTRY=QACPCE(EE) D
|
---|
120 | . ;S COUNT(QACDIV,QACPCE(EE))=$G(COUNT(QACDIV,QACPCE(EE)))+1
|
---|
121 | . S EE=QACCNT
|
---|
122 | Q
|
---|
123 | TALL(QACENTRY) ;tally the entry
|
---|
124 | S (QACAA,QACYES)=0
|
---|
125 | F S QACAA=$O(QACDIV(QACAA)) Q:QACAA'>0 D
|
---|
126 | . I QACDIV=QACDIV(QACAA) S QACYES=1
|
---|
127 | ;I $G(QACYES)'=1 S QACDIV=0
|
---|
128 | I $G(QAC1DIV)']"" S RR=0 D SET3
|
---|
129 | S EE=0 F S EE=$O(QACPCE(EE)) Q:EE>QACCNT I QACENTRY=QACPCE(EE) D
|
---|
130 | . ;I '$D(QAC1DIV) S COUNT(QACPCE(EE))=COUNT(QACPCE(EE))+1
|
---|
131 | . S COUNT(QACDIV,QACPCE(EE))=$G(COUNT(QACDIV,QACPCE(EE)))+1
|
---|
132 | . S EE=QACCNT
|
---|
133 | Q
|
---|
134 | WRIT ;output
|
---|
135 | W:($E(IOST)="C")!($G(QACPFLG)=1) @IOF
|
---|
136 | W !!?15,$G(QACTITLE)_"Spreadsheet Report"
|
---|
137 | S Y=QAQNBEG D DD^%DT S QACBEG=Y
|
---|
138 | S Y=QAQNEND D DD^%DT S QACEND=Y
|
---|
139 | W !?20,"Date Range: "_QACBEG_" to "_QACEND
|
---|
140 | W !
|
---|
141 | I $G(QACIFLG)=1!($G(QACPFLG)=1) Q
|
---|
142 | ;I '$D(QAC1DIV) D WRIT2 Q
|
---|
143 | S DDD=""
|
---|
144 | F S DDD=$O(QACDIV(DDD)) Q:DDD']"" D
|
---|
145 | . I $G(DDD)>0 D INST^QACUTL0(QACDIV(DDD),.QACDV)
|
---|
146 | . W !!,"Division: "_$S(DDD=0:"Unknown",1:QACDV)
|
---|
147 | . D WRIT2
|
---|
148 | Q
|
---|
149 | WRIT2 ;
|
---|
150 | N EE
|
---|
151 | S EE=0
|
---|
152 | F S EE=$O(QACLABEL(EE)) Q:EE'>0 D
|
---|
153 | . W !,QACLABEL(EE)_", "_COUNT(QACDIV(DDD),QACPCE(EE))
|
---|
154 | . I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^QACGEN S QACPFLG=1 D WRIT
|
---|
155 | . K QACPFLG
|
---|
156 | W !!
|
---|
157 | Q
|
---|
158 | TSK ;
|
---|
159 | U IO
|
---|
160 | D QACSET(QACFLD)
|
---|
161 | D LOOP1^QACSPRD(QACROU,QAQNBEG,QAQNEND,.QACD0)
|
---|
162 | D WRIT
|
---|
163 | D EXIT
|
---|
164 | Q
|
---|