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