| 1 | LREPIRS2 ;DALOI/CKA - EPI-PRINT LOCAL REPORT/SPREADSHEET ; 5/14/03 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**281**;Sep 27, 1994 | 
|---|
| 3 | ; Reference to $$SITE^VASITE supported by IA #10112 | 
|---|
| 4 | ; Reference to X ^DD("DD") supported by IA #10017 | 
|---|
| 5 | W !?5,"Print Local Report/Spreadsheet Option" | 
|---|
| 6 | RORS ;REPORT OR SPREADSHEET | 
|---|
| 7 | S DIR(0)="SO^1:REPORT;2:SPREADSHEET" | 
|---|
| 8 | S DIR("A")="Which one do you wish to print" | 
|---|
| 9 | D ^DIR | 
|---|
| 10 | G:$D(DIRUT) EXIT | 
|---|
| 11 | S LRREP=Y | 
|---|
| 12 | K DIR,DIRUT | 
|---|
| 13 | CHOOSE ;CHOOSE RPT OR SPSHT TO PRINT | 
|---|
| 14 | S LRLRDTX=1,LRY=1,LRNODE="LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT"),LRNODE1=LRNODE | 
|---|
| 15 | F  S LRNODE=$O(^XTMP(LRNODE)) Q:LRNODE=""!(LRNODE'[LRNODE1)  S LRLRDTX=$E(LRNODE,$S(LRREP=1:14,1:16),$S(LRREP=1:28,1:30))  D | 
|---|
| 16 | .Q:LRLRDTX="" | 
|---|
| 17 | .I '$D(^XTMP("LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT")_LRLRDTX,"DONE")) Q | 
|---|
| 18 | .S Y=LRLRDTX X ^DD("DD") S LRLRDT(LRLRDTX)=Y,LRLRDT(LRY)=LRLRDTX | 
|---|
| 19 | .S LRTITLE=$G(^XTMP("LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT")_LRLRDTX,"TITLE")) | 
|---|
| 20 | .W !,LRY," ",LRLRDT(LRLRDTX)," ",LRTITLE | 
|---|
| 21 | .S LRY=LRY+1 | 
|---|
| 22 | S LRY=LRY-1 | 
|---|
| 23 | I LRY=0,'$D(LRTITLE) W !,"No "_$S(LRREP=1:"report ",1:"spreadsheet ")_"is ready for printing." G RORS | 
|---|
| 24 | S DIR(0)="NO^1:"_LRY | 
|---|
| 25 | S DIR("A")="Choose the number for the "_$S(LRREP=1:"report",LRREP=2:"spreadsheet")_" you wish to print" | 
|---|
| 26 | D ^DIR | 
|---|
| 27 | G:$D(DIRUT) RORS | 
|---|
| 28 | S LRY=Y,LRLRDT=LRLRDT(LRY) | 
|---|
| 29 | K DIR,DIRUT | 
|---|
| 30 | I LRREP=2 D  D:'$D(LREND) PRIV D:'$D(LREND) READY D:'$D(LREND) SPSHT G EXIT | 
|---|
| 31 | .W !! | 
|---|
| 32 | .W !?5,"This option will print the selected fields." | 
|---|
| 33 | .W !?5,"You will need to capture this printout in a text document." | 
|---|
| 34 | .W !?5,"Using a text editor, remove any extraneous lines from the beginning" | 
|---|
| 35 | .W !?5,"and the end of the file so that only the data to be imported remains." | 
|---|
| 36 | .W !?5,"Save the edited file.  Use this file in the import function of" | 
|---|
| 37 | .W !?5,"your spreadsheet program." | 
|---|
| 38 | I LRREP=1 D:'$D(LREND) PRIV D:'$D(LREND) REP G EXIT | 
|---|
| 39 | W !! | 
|---|
| 40 | EXIT ; | 
|---|
| 41 | D ^%ZISC | 
|---|
| 42 | K D0,LRAUTO,LRBEG,LRDT,LREND,LRRNDT,LREPI,LRRPE,LRRPS,ZTSAVE | 
|---|
| 43 | K ZTRTN,ZTIO,ZTDESC,ZTDTH,ZTSK,X,Y,X1,%DT,POP,%ZIS | 
|---|
| 44 | K LRLC,LRHDG,LRQUIT,LRHDGLC,LRPAGE,LRY,LRLRDT,LRDTHDG,LRLRDTX,LRNODE,LRNODE1,LRTITLE | 
|---|
| 45 | K DIR,DTOUT,DUOUT,DIRUT,I,J,LRMSGLIN,LRREP,LRSPSHT,MSG,MSGLIN | 
|---|
| 46 | Q | 
|---|
| 47 | ; | 
|---|
| 48 | SPSHT ; | 
|---|
| 49 | S %ZIS="Q" D ^%ZIS Q:POP  I '$D(IO("Q")) U IO D PRTSP Q | 
|---|
| 50 | S ZTRTN="PRTSP^LREPIRS2",ZTSAVE("LR*")="",ZTDESC="PRINT EPI LOCAL SPREADSHEET",ZTREQ="@" D ^%ZTLOAD | 
|---|
| 51 | I $D(ZTSK)[0 W !!?5,"Report Cancelled." | 
|---|
| 52 | E  W !!?5,"The Task has been queued",!,"Task #",$G(ZTSK) H 5 | 
|---|
| 53 | D HOME^%ZIS G EXIT | 
|---|
| 54 | Q | 
|---|
| 55 | PRTSP S MSG=0,LRSPSHT="",LRLC=0,LRPAGE=1,LRQUIT=0 | 
|---|
| 56 | F  S MSG=$O(^XTMP("LREPILOCALSPSHT"_LRLRDT,MSG)) Q:'MSG  S LRMSGLIN=^(MSG) D  Q:LRQUIT | 
|---|
| 57 | .W !,LRMSGLIN | 
|---|
| 58 | .I $Y>(IOSL-6) D NPG | 
|---|
| 59 | K MSGLIN,LRSEG | 
|---|
| 60 | Q | 
|---|
| 61 | READY ; | 
|---|
| 62 | K DIR S DIR(0)="Y",DIR("A")="Ready to Capture" | 
|---|
| 63 | D ^DIR S:$D(DIRUT) LREND=1 | 
|---|
| 64 | S:'Y LREND=1 | 
|---|
| 65 | Q | 
|---|
| 66 | PRIV ;PRIVACY MESSAGE | 
|---|
| 67 | W !!!,"This report will contain Confidential Information." | 
|---|
| 68 | K DIR S DIR(0)="Y",DIR("A")="Do you wish to continue/proceed" | 
|---|
| 69 | S DIR("B")="NO" | 
|---|
| 70 | D ^DIR S:$D(DIRUT) LREND=1 | 
|---|
| 71 | S:'Y LREND=1 | 
|---|
| 72 | Q | 
|---|
| 73 | REP ; | 
|---|
| 74 | S %ZIS="Q" D ^%ZIS Q:POP  I '$D(IO("Q")) U IO D PRT Q | 
|---|
| 75 | S ZTRTN="PRT^LREPIRS2",ZTSAVE("LR*")="",ZTDESC="PRINT EPI LOCAL REPORT" D ^%ZTLOAD,HOME^%ZIS G EXIT | 
|---|
| 76 | Q | 
|---|
| 77 | PRT ;Print report | 
|---|
| 78 | S MSG=0,LRLC=0,LRPAGE=1,LRQUIT=0 | 
|---|
| 79 | W !,"***THIS REPORT CONTAINS CONFIDENTIAL INFORMATION.***" | 
|---|
| 80 | D HDG | 
|---|
| 81 | F  S MSG=$O(^XTMP("LREPILOCALREP"_LRLRDT,MSG)) Q:'MSG  S LRMSGLIN=^(MSG) D  Q:LRQUIT | 
|---|
| 82 | .W !,LRMSGLIN | 
|---|
| 83 | .S LRLC=LRLC+1 | 
|---|
| 84 | .I $Y>(IOSL-6) D NPG | 
|---|
| 85 | K MSGLIN,LRSEG | 
|---|
| 86 | Q | 
|---|
| 87 | PAUSE ; | 
|---|
| 88 | Q:$G(LREND) | 
|---|
| 89 | K DIR S DIR(0)="E" D ^DIR | 
|---|
| 90 | S:($D(DTOUT))!($D(DUOUT)) LRQUIT=1 | 
|---|
| 91 | Q | 
|---|
| 92 | NPG ;NEW PAGE | 
|---|
| 93 | D:$E(IOST,1,2)="C-" PAUSE | 
|---|
| 94 | Q:$G(LRQUIT) | 
|---|
| 95 | W @IOF | 
|---|
| 96 | D HDG | 
|---|
| 97 | Q | 
|---|
| 98 | HDG ; | 
|---|
| 99 | S LRHDGLC="" | 
|---|
| 100 | F  S LRHDGLC=$O(^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)) Q:LRHDGLC=""  D | 
|---|
| 101 | .S LRHDG=^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC) | 
|---|
| 102 | .W !,LRHDG | 
|---|
| 103 | .I LRHDGLC=0 W "   PAGE ",LRPAGE | 
|---|
| 104 | .S LRLC=LRLC+1 | 
|---|
| 105 | S LRPAGE=LRPAGE+1 | 
|---|
| 106 | Q | 
|---|
| 107 | SAVHDG ;SAVE HEADING WHEN GENERATE REPORT | 
|---|
| 108 | ;called from LREPIRS1 | 
|---|
| 109 | S Y=DT X ^DD("DD") | 
|---|
| 110 | S SITE=$$SITE^VASITE | 
|---|
| 111 | S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)="         EMERGING PATHOGENS LOCAL REPORT             "_Y | 
|---|
| 112 | S LRHDGLC=LRHDGLC+1 | 
|---|
| 113 | S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)="         FROM STATION "_$P(SITE,U,3)_" "_$P(SITE,U,2) | 
|---|
| 114 | S LRHDGLC=LRHDGLC+1 | 
|---|
| 115 | S LRDTHDG=^TMP("HLS",$J,1) | 
|---|
| 116 | S Y=$$CDT^LREPIRP2($P($P($P(LRDTHDG,HLFS,3),LRCS,2)," ",4)) | 
|---|
| 117 | S MSG=Y | 
|---|
| 118 | S Y=$$CDT^LREPIRP2($P($P($P(LRDTHDG,HLFS,3),LRCS,2)," ",6)) | 
|---|
| 119 | S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)="         PROCESSING PERIOD FROM "_MSG_" THROUGH "_Y | 
|---|
| 120 | S LRHDGLC=LRHDGLC+1 | 
|---|
| 121 | S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)="Reported Local Pathogens:" | 
|---|
| 122 | S LRI=0 | 
|---|
| 123 | F  S LRI=$O(LREPI(LRI))  Q:LRI=""   D | 
|---|
| 124 | .S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=^(LRHDGLC)_$P(^LAB(69.5,LRI,0),U)_"  " I $L(^(LRHDGLC))>60 D | 
|---|
| 125 | ..S LRHDGLC=LRHDGLC+1 | 
|---|
| 126 | ..S:'($D(^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC))) ^(LRHDGLC)=$P(^LAB(69.5,LRI,0),U)_"   " | 
|---|
| 127 | ..E  S ^(LRHDGLC)=^(LRHDGLC)_"   "_$P(^LAB(69.5,LRI,0),U) | 
|---|
| 128 | S LRHDGLC=LRHDGLC+1 | 
|---|
| 129 | S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=" ",LRHDGLC=LRHDGLC+1 | 
|---|
| 130 | S LRHDG="" | 
|---|
| 131 | I $D(LRSEG("PID",1)) S LRHDG="Set Id"_$S(LRREP=1:" ",1:"|") | 
|---|
| 132 | I $D(LRSEG("PID",2)) S LRHDG=LRHDG_"SSN"_$S(LRREP=1:"       ",1:"|") | 
|---|
| 133 | I $D(LRSEG("PID",3)) S LRHDG=LRHDG_"MPI"_$S(LRREP=1:$E(LRSP,1,13),1:"|") | 
|---|
| 134 | I $D(LRSEG("PID",4)) S LRHDG=LRHDG_"Patient Name"_$S(LRREP=1:$E(LRSP,1,19),1:"|") | 
|---|
| 135 | I $D(LRSEG("PID",5)) S LRHDG=LRHDG_"Birth Date"_$S(LRREP=1:" ",1:"|") | 
|---|
| 136 | I $D(LRSEG("PID",6)) S LRHDG=LRHDG_"Sex"_$S(LRREP=1:" ",1:"|") | 
|---|
| 137 | I $D(LRSEG("PID",7)) S LRHDG=LRHDG_"Race"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 138 | I $D(LRSEG("PID",8)) S LRHDG=LRHDG_"Homeless"_$S(LRREP=1:" ",1:"|") | 
|---|
| 139 | I $D(LRSEG("PID",9)) S LRHDG=LRHDG_"State"_$S(LRREP=1:$E(LRSP,1,11),1:"|") | 
|---|
| 140 | I $D(LRSEG("PID",10)) S LRHDG=LRHDG_"Zip"_$S(LRREP=1:"   ",1:"|") | 
|---|
| 141 | I $D(LRSEG("PID",11)) S LRHDG=LRHDG_"County"_$S(LRREP=1:$E(LRSP,1,25),1:"|") | 
|---|
| 142 | I $D(LRSEG("PID",12)) S LRHDG=LRHDG_"Ethnicity"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 143 | I $D(LRSEG("PID",13)) S LRHDG=LRHDG_"POS"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 144 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 145 | I $D(LRSEG("PV1",1)) S LRHDG=LRHDG_"Set Id"_$S(LRREP=1:" ",1:"|") | 
|---|
| 146 | I $D(LRSEG("PV1",2)) S LRHDG=LRHDG_"Patient Class"_$S(LRREP=1:" ",1:"|") | 
|---|
| 147 | I $D(LRSEG("PV1",3)) S LRHDG=LRHDG_"Hospital Location"_$S(LRREP=1:"   ",1:"|") | 
|---|
| 148 | I $D(LRSEG("PV1",4)) S LRHDG=LRHDG_"Discharge Disposition"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 149 | I $D(LRSEG("PV1",5)) S LRHDG=LRHDG_"Facility"_$S(LRREP=1:" ",1:"|") | 
|---|
| 150 | I $D(LRSEG("PV1",6)) S LRHDG=LRHDG_"Admit Date/Time"_$S(LRREP=1:" ",1:"|") | 
|---|
| 151 | I $D(LRSEG("PV1",7)) S LRHDG=LRHDG_"Discharge Date/Time"_$S(LRREP=1:" ",1:"|") | 
|---|
| 152 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 153 | I $D(LRSEG("DG1",1)) S LRHDG=LRHDG_"Set Id"_$S(LRREP=1:" ",1:"|") | 
|---|
| 154 | I $D(LRSEG("DG1",2)) S LRHDG=LRHDG_"Diagnosis Code"_$S(LRREP=1:" ",1:"|") | 
|---|
| 155 | I $D(LRSEG("DG1",3)) S LRHDG=LRHDG_"Diagnosis"_$S(LRREP=1:$E(LRSP,1,31),1:"|") | 
|---|
| 156 | I $D(LRSEG("DG1",4)) S LRHDG=LRHDG_"Admission Date"_$S(LRREP=1:" ",1:"|") | 
|---|
| 157 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 158 | I $D(LRSEG("NTE",1)) S LRHDG=LRHDG_"Set ID"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 159 | I $D(LRSEG("NTE",2)) S LRHDG=LRHDG_"Comment"_$S(LRREP=1:" ",1:"|") | 
|---|
| 160 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 161 | I $D(LRSEG("OBR",1)) S LRHDG=LRHDG_"Set ID"_$S(LRREP=1:" ",1:"|") | 
|---|
| 162 | I $D(LRSEG("OBR",2)) S LRHDG=LRHDG_"Test Name"_$S(LRREP=1:$E(LRSP,1,12),1:"|") | 
|---|
| 163 | I $D(LRSEG("OBR",3)) S LRHDG=LRHDG_"Accession Date"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 164 | I $D(LRSEG("OBR",4)) S LRHDG=LRHDG_"Specimen"_$S(LRREP=1:$E(LRSP,1,13),1:"|") | 
|---|
| 165 | I $D(LRSEG("OBR",5)) S LRHDG=LRHDG_"Accession Number"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 166 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG_$S(LRREP=1:" ",1:"|")_"OBR SUBID" S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 167 | I $D(LRSEG("OBX",1)) S LRHDG=LRHDG_"Set Id"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 168 | I $D(LRSEG("OBX",2)) S LRHDG=LRHDG_"Value Type"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 169 | I $D(LRSEG("OBX",3)) S LRHDG=LRHDG_"Test Name"_$S(LRREP=1:$E(LRSP,1,22),1:"|") | 
|---|
| 170 | I $D(LRSEG("OBX",4)) S LRHDG=LRHDG_"LOINC Code"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 171 | I $D(LRSEG("OBX",5)) S LRHDG=LRHDG_"LOINC Name"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 172 | I $D(LRSEG("OBX",6)) S LRHDG=LRHDG_"Test Result"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 173 | I $D(LRSEG("OBX",7)) S LRHDG=LRHDG_"Units"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 174 | I $D(LRSEG("OBX",8)) S LRHDG=LRHDG_"Flags and Interp"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 175 | I $D(LRSEG("OBX",9)) S LRHDG=LRHDG_"Verified Date/Time"_$S(LRREP=1:"  ",1:"|") | 
|---|
| 176 | I LRHDG]"" S ^XTMP("LREPILOCALREP"_LRLRDT,"HDG",LRHDGLC)=LRHDG_$S(LRREP=1:" ",1:"|")_"OBX SUBID" S LRHDG="" S LRHDGLC=LRHDGLC+1 | 
|---|
| 177 | Q | 
|---|
| 178 | DELETE ;Delete a report or spreadsheet | 
|---|
| 179 | W !?5,"Delete a Local Report/Spreadsheet Option" | 
|---|
| 180 | DRORS ;REPORT OR SPREADSHEET | 
|---|
| 181 | S DIR(0)="SO^1:REPORT;2:SPREADSHEET" | 
|---|
| 182 | S DIR("A")="Which one do you wish to delete" | 
|---|
| 183 | D ^DIR | 
|---|
| 184 | G:$D(DIRUT) EXIT | 
|---|
| 185 | S LRREP=Y | 
|---|
| 186 | K DIR,DIRUT | 
|---|
| 187 | DCHOOSE ;CHOOSE WHICH REPORT/SPREADSHEET TO DELETE | 
|---|
| 188 | S LRLRDTX=1,LRY=1,LRNODE="LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT"),LRNODE1=LRNODE | 
|---|
| 189 | F  S LRNODE=$O(^XTMP(LRNODE)) Q:LRNODE=""!(LRNODE'[LRNODE1)  S LRLRDTX=$E(LRNODE,$S(LRREP=1:14,1:16),$S(LRREP=1:28,1:30))  D | 
|---|
| 190 | .Q:LRLRDTX="" | 
|---|
| 191 | .I '$D(^XTMP("LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT")_LRLRDTX,"DONE")) Q | 
|---|
| 192 | .S Y=LRLRDTX X ^DD("DD") S LRLRDT(LRLRDTX)=Y,LRLRDT(LRY)=LRLRDTX | 
|---|
| 193 | .S LRTITLE=$G(^XTMP("LREPI"_$S(LRREP=1:"LOCALREP",1:"LOCALSPSHT")_LRLRDTX,"TITLE")) | 
|---|
| 194 | .W !,LRY," ",LRLRDT(LRLRDTX)," ",LRTITLE | 
|---|
| 195 | .S LRY=LRY+1 | 
|---|
| 196 | S LRY=LRY-1 | 
|---|
| 197 | I LRY=0,'$D(LRTITLE) W !,"No "_$S(LRREP=1:"report ",1:"spreadsheet ")_"is ready for printing." G RORS | 
|---|
| 198 | S DIR(0)="NO^1:"_LRY | 
|---|
| 199 | S DIR("A")="Choose the number for the "_$S(LRREP=1:"report",LRREP=2:"spreadsheet")_" you wish to delete" | 
|---|
| 200 | D ^DIR | 
|---|
| 201 | G:$D(DIRUT) RORS | 
|---|
| 202 | S LRY=Y,LRLRDT=LRLRDT(LRY) | 
|---|
| 203 | K DIR,DIRUT | 
|---|
| 204 | S LRY=Y | 
|---|
| 205 | F I=1:1 Q:$P(LRY,",",I)=""  S LRLRDT=LRLRDT($P(LRY,",",I)) D | 
|---|
| 206 | .I LRREP=2 K ^XTMP("LREPILOCALSPSHT"_LRLRDT) W !,"Spreadsheet deleted." | 
|---|
| 207 | .I LRREP=1 K ^XTMP("LREPILOCALREP"_LRLRDT) W !,"Report deleted." | 
|---|
| 208 | G EXIT | 
|---|