1 | TIURDIV ; SLC/JAK - Review unsig/uncosig Documents by DIVISION ;12/01/03
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**113**;Jun 20, 1997
|
---|
3 | ; Multidivisional Enhancements - from BUF/DCN - modified by SLC/JAK
|
---|
4 | ;
|
---|
5 | BEGIN ; Select Division(s), Entry Date Range, Service, Type of Report
|
---|
6 | N TIUI,TIUSTDT,TIUENDT,TIUSVCS
|
---|
7 | D SELDIV^TIULA Q:SELDIV'>0
|
---|
8 | I $D(TIUDI) D
|
---|
9 | . S TIUI=0 F S TIUI=$O(TIUDI(TIUI)) Q:'TIUI D
|
---|
10 | . . S TIUDI("ENTRIES")=$G(TIUDI("ENTRIES"))_TIUI_";"
|
---|
11 | E D
|
---|
12 | . S TIUDI("ENTRIES")="ALL DIVISIONS"
|
---|
13 | ;
|
---|
14 | ;Ask Date Range, exit if timeout, '^' or no selection
|
---|
15 | Q:'$$ASKRNG(.TIUSTDT,.TIUENDT)
|
---|
16 | ;
|
---|
17 | ;Select Service, exit if timeout, '^' or no selection
|
---|
18 | Q:'$$SELSVC^TIULA(.TIUSVCS)
|
---|
19 | ;
|
---|
20 | N DIR,DIRUT,DTOUT,DUOUT,TIURPT
|
---|
21 | S DIR(0)="S^F:FULL;S:SUMMARY",DIR("A")="Type of Report"
|
---|
22 | S DIR("?",1)="Summary lists the number of documents by author's"
|
---|
23 | S DIR("?",2)="service/section. Full lists detailed document"
|
---|
24 | S DIR("?",3)="information by author's service/section."
|
---|
25 | S DIR("?")="Enter ""^"", or a RETURN to quit."
|
---|
26 | D ^DIR Q:$D(DIRUT) S TIURPT=Y
|
---|
27 | I TIURPT="F" W !!,"This report must be sent to a 132-column device.",!
|
---|
28 | ;
|
---|
29 | DEV ; Device selection
|
---|
30 | S %ZIS="Q" W ! D ^%ZIS I POP K POP G EXIT
|
---|
31 | I TIURPT="F",IOM'>131 W !!,"You must select a 132-column device." G DEV
|
---|
32 | I $D(IO("Q")) D G EXIT
|
---|
33 | . S ZTRTN="BUILD^TIURDIV"
|
---|
34 | . S ZTSAVE("TIUDI(")="",ZTSAVE("TIURPT")=""
|
---|
35 | . S ZTSAVE("TIUSTDT")="",ZTSAVE("TIUENDT")=""
|
---|
36 | . S ZTSAVE("TIUSVCS")="",ZTSAVE("TIUSVCS(")=""
|
---|
37 | . S ZTDESC="TIU UNSIG/UNCOSIG DOCS BY DIV"
|
---|
38 | . D ^%ZTLOAD W !,$S($D(ZTSK):"Request Queued!",1:"Request Cancelled!")
|
---|
39 | . K ZTSK,ZTDESC,ZTRTN,ZTSAVE,%ZIS,TIUDIV,TIURPT,TIUIFP
|
---|
40 | . D HOME^%ZIS
|
---|
41 | U IO D BUILD,^%ZISC
|
---|
42 | Q
|
---|
43 | BUILD ; Build list
|
---|
44 | N TIUIFP,TIUK
|
---|
45 | K ^TMP("TIUD",$J)
|
---|
46 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
47 | I +$G(TIUDI("ENTRIES")) D
|
---|
48 | . S TIUK=0 F S TIUK=$O(TIUDI(TIUK)) Q:'TIUK D
|
---|
49 | . . S TIUIFP=$G(TIUDI(TIUK))
|
---|
50 | . . D GATHER(TIUIFP,TIUSTDT,TIUENDT,.TIUSVCS)
|
---|
51 | E D
|
---|
52 | . S TIUIFP=0
|
---|
53 | . F S TIUIFP=$O(^TIU(8925,"ADIV",TIUIFP)) Q:+TIUIFP'>0 D
|
---|
54 | . . D GATHER(TIUIFP,TIUSTDT,TIUENDT,.TIUSVCS)
|
---|
55 | D PRINT(TIUSTDT,TIUENDT)
|
---|
56 | ;
|
---|
57 | EXIT ; Clean up and exit
|
---|
58 | K SELDIV,TIUDI,TIUSTDT,TIUENDT,TIUSVCS K ^TMP("TIUD",$J)
|
---|
59 | Q
|
---|
60 | GATHER(TIUIFP,TIUSTDT,TIUENDT,TIUSVCS) ; Find records for the list
|
---|
61 | ; Input -- TIUIFP INSTITUTION file (#4) IEN
|
---|
62 | ; (0 = gather all divisions)
|
---|
63 | ; TIUSTDT Start Date
|
---|
64 | ; TIUENDT End Date
|
---|
65 | ; TIUSVCS Service Selection Array
|
---|
66 | ; Output -- None
|
---|
67 | N TIUDA,TIUJ,TIUS,TIUTP
|
---|
68 | S TIUTP=0
|
---|
69 | F S TIUTP=$O(^TIU(8925,"ADIV",TIUIFP,TIUTP)) Q:+TIUTP'>0 D
|
---|
70 | . S TIUS=4
|
---|
71 | . F S TIUS=$O(^TIU(8925,"ADIV",TIUIFP,TIUTP,TIUS)) Q:+TIUS'>0!(+TIUS>6) D
|
---|
72 | . . S TIUJ=0
|
---|
73 | . . F S TIUJ=$O(^TIU(8925,"ADIV",TIUIFP,TIUTP,TIUS,TIUJ)) Q:+TIUJ'>0 D
|
---|
74 | . . . S TIUDA=0
|
---|
75 | . . . F S TIUDA=$O(^TIU(8925,"ADIV",TIUIFP,TIUTP,TIUS,TIUJ,TIUDA)) Q:+TIUDA'>0 D
|
---|
76 | . . . . D ADDELMNT(TIUDA,TIUSTDT,TIUENDT,.TIUSVCS)
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | ADDELMNT(TIUDA,TIUSTDT,TIUENDT,TIUSVCS) ; Add each element to the list
|
---|
80 | ; Input -- TIUDA TIU DOCUMENT file (#8925) IEN
|
---|
81 | ; TIUSTDT Start Date
|
---|
82 | ; TIUENDT End Date
|
---|
83 | ; TIUSVCS Service Selection Array
|
---|
84 | ; Output -- None
|
---|
85 | N TIUAU,TIUD12,TIUEDT,TIUIFP,TIUSVC
|
---|
86 | S TIUD12=$G(^TIU(8925,TIUDA,12))
|
---|
87 | S TIUEDT=+$P(TIUD12,U),TIUAU=+$P(TIUD12,U,2),TIUIFP=+$P(TIUD12,U,12)
|
---|
88 | ;Check Date Range
|
---|
89 | I TIUEDT,TIUEDT>TIUSTDT,TIUEDT<TIUENDT D
|
---|
90 | . S TIUSVC=$$PROVSVC^TIULV(TIUAU)
|
---|
91 | . ;Check Service
|
---|
92 | . I $G(TIUSVCS)="ALL"!($D(TIUSVCS(+TIUSVC))) D
|
---|
93 | . . S TIUAU=$$PERSNAME^TIULC1(TIUAU)
|
---|
94 | . . I $P(TIUSVC,U,2)]"" D
|
---|
95 | . . . S TIUSVC=$P(TIUSVC,U,2)
|
---|
96 | . . E D
|
---|
97 | . . . S TIUSVC="UNKNOWN"
|
---|
98 | . . I TIUAU'="UNKNOWN" S TIUAU=$$NAME^TIULS(TIUAU,"LAST, FI MI")
|
---|
99 | . . S ^TMP("TIUD",$J,TIUIFP,TIUSVC,TIUAU,TIUEDT)=TIUDA
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | PRINT(TIUSTDT,TIUENDT) ; Display/print the output
|
---|
103 | ; Input -- TIUSTDT Start Date
|
---|
104 | ; TIUENDT End Date
|
---|
105 | ; Output -- None
|
---|
106 | N GTCT,ICT,SCT,TIUAU,TIUDA,TIUECS,TIUEDT
|
---|
107 | N TIUIFP,TIULST4,TIUOUT,TIUPG,TIUPT,TIUSVC,TIUTP
|
---|
108 | S (GTCT(5),GTCT(6),TIUIFP,TIUPG,TIUOUT)=0
|
---|
109 | I '$D(^TMP("TIUD",$J)) W !!,"NO Unsigned/Uncosigned Documents!!" Q
|
---|
110 | F S TIUIFP=$O(^TMP("TIUD",$J,TIUIFP)) Q:TIUIFP=""!(TIUOUT) D HDR(TIUIFP,TIUSTDT,TIUENDT) D
|
---|
111 | . S (ICT(TIUIFP,5),ICT(TIUIFP,6))=0 S TIUSVC=""
|
---|
112 | . F S TIUSVC=$O(^TMP("TIUD",$J,TIUIFP,TIUSVC)) Q:TIUSVC=""!(TIUOUT) D
|
---|
113 | . . I $Y>(IOSL-5) D ASK Q:TIUOUT D HDR(TIUIFP,TIUSTDT,TIUENDT)
|
---|
114 | . . D FHDR(TIUSVC):TIURPT="F"
|
---|
115 | . . S (SCT(TIUIFP,TIUSVC,5),SCT(TIUIFP,TIUSVC,6))=0 S TIUAU=""
|
---|
116 | . . F S TIUAU=$O(^TMP("TIUD",$J,TIUIFP,TIUSVC,TIUAU)) Q:TIUAU=""!(TIUOUT) D
|
---|
117 | . . . S TIUEDT=0
|
---|
118 | . . . F S TIUEDT=$O(^TMP("TIUD",$J,TIUIFP,TIUSVC,TIUAU,TIUEDT)) Q:TIUEDT=""!(TIUOUT) D
|
---|
119 | . . . . S TIUDA=+$G(^TMP("TIUD",$J,TIUIFP,TIUSVC,TIUAU,TIUEDT))
|
---|
120 | . . . . D PRTELMNT(TIUDA,TIUIFP,TIUSVC,TIUAU,TIUEDT,TIUSTDT,TIUENDT)
|
---|
121 | . . . . ;
|
---|
122 | . . Q:TIUOUT
|
---|
123 | . . I $Y>(IOSL-5) D ASK Q:TIUOUT D HDR(TIUIFP,TIUSTDT,TIUENDT),FHDR(TIUSVC):TIURPT="F"
|
---|
124 | . . W !!," Totals for Service: ",$E(TIUSVC,1,25),"---"
|
---|
125 | . . W " UNSIGNED: ",$G(SCT(TIUIFP,TIUSVC,5))
|
---|
126 | . . W " UNCOSIGNED: ",$G(SCT(TIUIFP,TIUSVC,6))
|
---|
127 | . Q:TIUOUT
|
---|
128 | . I $Y>(IOSL-5) D ASK Q:TIUOUT D HDR(TIUIFP,TIUSTDT,TIUENDT)
|
---|
129 | . W !!,"Totals for Division: ",$E($P($$NS^XUAF4(TIUIFP),U),1,25),"---"
|
---|
130 | . W " UNSIGNED: ",$G(ICT(TIUIFP,5))
|
---|
131 | . W " UNCOSIGNED: ",$G(ICT(TIUIFP,6))
|
---|
132 | . S GTCT(5)=GTCT(5)+ICT(TIUIFP,5),GTCT(6)=GTCT(6)+ICT(TIUIFP,6)
|
---|
133 | . D ASK Q:TIUOUT
|
---|
134 | Q:TIUOUT
|
---|
135 | S TIUIFP="ALL" D HDR(TIUIFP,TIUSTDT,TIUENDT)
|
---|
136 | W !!,"GRAND Totals (All Divisions)--- UNSIGNED: ",+$G(GTCT(5))
|
---|
137 | W " UNCOSIGNED: ",+$G(GTCT(6))
|
---|
138 | Q
|
---|
139 | PRTELMNT(TIUDA,TIUIFP,TIUSVC,TIUAU,TIUEDT,TIUSTDT,TIUENDT) ; Print each element
|
---|
140 | ; Input -- TIUDA TIU DOCUMENT file (#8925) IEN
|
---|
141 | ; TIUIFP INSTITUTION file (#4) IEN
|
---|
142 | ; TIUSVC SERVICE/SECTION file (#49) NAME
|
---|
143 | ; TIUAU AUTHOR/DICTATOR's NAME
|
---|
144 | ; TIUEDT Inverse REFERENCE DATE
|
---|
145 | ; TIUSTDT Start Date
|
---|
146 | ; TIUENDT End Date
|
---|
147 | ; Output -- None
|
---|
148 | N TIUD0,TIUD12,TIUS
|
---|
149 | S TIUD0=$G(^TIU(8925,TIUDA,0)),TIUD12=$G(^TIU(8925,TIUDA,12))
|
---|
150 | S TIUS=+$P(TIUD0,U,5) I TIUS'=5,TIUS'=6 Q
|
---|
151 | S ICT(TIUIFP,TIUS)=ICT(TIUIFP,TIUS)+1
|
---|
152 | S SCT(TIUIFP,TIUSVC,TIUS)=SCT(TIUIFP,TIUSVC,TIUS)+1
|
---|
153 | I $Y>(IOSL-5) D ASK Q:TIUOUT D HDR(TIUIFP,TIUSTDT,TIUENDT),FHDR(TIUSVC):TIURPT="F"
|
---|
154 | I TIURPT="F" D
|
---|
155 | . S TIUPT=+$P(TIUD0,U,2),TIULST4=$E($$GET1^DIQ(2,TIUPT,.09),6,9)
|
---|
156 | . S TIUTP=+$P(TIUD0,U),TIUECS=+$P(TIUD12,U,8)
|
---|
157 | . W !,$G(TIUAU)
|
---|
158 | . W ?17,$S(TIUPT:$E($$EXTERNAL^DILFD(8925,.02,"",TIUPT),1,15),1:"UNK")
|
---|
159 | . W ?34,$S(TIULST4]"":$G(TIULST4),1:"UNK")
|
---|
160 | . W ?41,$E($$EXTERNAL^DILFD(8925,.05,"",TIUS),1,10)
|
---|
161 | . W ?53,$S(TIUEDT>0:$$FMTE^XLFDT(TIUEDT,2),1:"UNK")
|
---|
162 | . W ?71,$G(TIUDA)
|
---|
163 | . W ?85,$S(TIUTP:$E($$EXTERNAL^DILFD(8925,.01,"",TIUTP),1,15),1:"UNK")
|
---|
164 | . W ?102,$S(TIUECS:$E($$EXTERNAL^DILFD(8925,1208,"",TIUECS),1,15),1:"")
|
---|
165 | . W ?119,$$PRNT(TIUDA)
|
---|
166 | Q
|
---|
167 | ASK ; End of page
|
---|
168 | I IO=IO(0),$E(IOST)="C" D
|
---|
169 | . W ! N DIR,Y S DIR(0)="E" D ^DIR K DIR
|
---|
170 | . I Y=""!(Y=0) S TIUOUT=1
|
---|
171 | Q
|
---|
172 | HDR(TIUIFP,TIUSTDT,TIUENDT) ; Page (Division) Header
|
---|
173 | ; Input -- TIUIFP INSTITUTION file (#4) IEN
|
---|
174 | ; TIUSTDT Start Date
|
---|
175 | ; TIUENDT End Date
|
---|
176 | ; Output -- None
|
---|
177 | N LNE,TIUR,TIUINST,TIURNG
|
---|
178 | S TIUPG=(+$G(TIUPG))+1
|
---|
179 | D DT^DILF("ET","NOW",.TIUR)
|
---|
180 | S TIURNG=$$FMTE^XLFDT(TIUSTDT)_" thru "_$$FMTE^XLFDT(TIUENDT)
|
---|
181 | S TIUINST=$S(TIUIFP:$P($$NS^XUAF4(TIUIFP),U),1:"ALL DIVISIONS")
|
---|
182 | W @IOF,?26,"Unsigned and Uncosigned Documents "_TIURNG,?(IOM-10)
|
---|
183 | W "Page ",+$G(TIUPG),!,"PRINTED:",?26,"for ",TIUINST,!,TIUR(0)
|
---|
184 | W ! S LNE="",$P(LNE,"-",(IOM-1))="" W LNE
|
---|
185 | I TIURPT="F" D
|
---|
186 | . W !,"AUTHOR",?17,"PATIENT",?34,"LAST4",?41,"STATUS"
|
---|
187 | . W ?53,"ENTRY DATE",?71,"IEN",?85,"DOC TYPE"
|
---|
188 | . W ?102,"EXP COSIGNER",?119,"PARENT IEN",!,LNE
|
---|
189 | Q
|
---|
190 | FHDR(TIUSVC) ; Service Header
|
---|
191 | ; Input -- TIUSVC SERVICE/SECTION file (#49) NAME
|
---|
192 | ; Output -- None
|
---|
193 | W !!?10,"SERVICE: ",TIUSVC
|
---|
194 | Q
|
---|
195 | PRNT(TIUDA) ; Does document have a parent?
|
---|
196 | ; Input -- TIUDA TIU Document file (#8925) IEN
|
---|
197 | ; Output -- TIUPRNT Null= TIU Document file (#8925) entry does
|
---|
198 | ; not have a parent
|
---|
199 | ; Exists= TIU Document file (#8925) entry is
|
---|
200 | ; an addendum or ID child.
|
---|
201 | ; Value: Parent TIU Document file
|
---|
202 | ; (#8925) IEN
|
---|
203 | N ADDMPRNT,IDPRNT,TIUPRNT
|
---|
204 | S TIUPRNT=""
|
---|
205 | S ADDMPRNT=+$P($G(^TIU(8925,TIUDA,0)),U,6) ; Addm parent
|
---|
206 | I '$D(^TIU(8925,ADDMPRNT,0)) S ADDMPRNT=0
|
---|
207 | I ADDMPRNT D
|
---|
208 | . S TIUPRNT=ADDMPRNT
|
---|
209 | E D
|
---|
210 | . S IDPRNT=+$G(^TIU(8925,TIUDA,21)) ; ID parent
|
---|
211 | . I '$D(^TIU(8925,IDPRNT,0)) S IDPRNT=0
|
---|
212 | . I IDPRNT D
|
---|
213 | . . S TIUPRNT=IDPRNT
|
---|
214 | Q TIUPRNT
|
---|
215 | ;
|
---|
216 | ASKRNG(STDT,ENDT) ;Prompt for entry date range
|
---|
217 | ; Input -- None
|
---|
218 | ; Output -- 1=Successful and 0=Failure
|
---|
219 | ; STDT Start Date
|
---|
220 | ; ENDT End Date
|
---|
221 | N DIRUT,DTOUT,DUOUT,Y
|
---|
222 | W !!,"Please specify an Entry Date Range:",!
|
---|
223 | S STDT=+$$READ^TIUU("DA^:DT:E"," Start Entry Date: ")
|
---|
224 | I $D(DIRUT)!(STDT'>0) G ASKRNGQ
|
---|
225 | S ENDT=+$$READ^TIUU("DA^"_STDT_":DT:E","Ending Entry Date: ")_"."_235959
|
---|
226 | I $D(DIRUT)!(ENDT'>0) G ASKRNGQ
|
---|
227 | S Y=1
|
---|
228 | ASKRNGQ Q +$G(Y)
|
---|