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