1 | DG488M ;ALB/GN - MONITOR/MAIL CLEANUP PATIENT RELATION & INCOME FILES;12/11/02 ; 2/4/03 12:56pm
|
---|
2 | ;;5.3;REGISTRATION;**488**;5-1-2001
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | MONITOR ; Monitor job while running
|
---|
7 | N IOINORM,IOINHI,IOUON,IOUOFF,IOBON,IOBOFF,IORVON,IORVOFF,IOHOME
|
---|
8 | N IOELEOL,NAMSPC,DGT12,DG12,DG12X,DGT21,DG21,DG21X,DGT22,DG22,DG22X
|
---|
9 | N STAT,DGLINE,DGBLNK,NOWTIM,%H,DTOUT,I,DGLEN,DGQUIT,TITLE,TLEN,X,REC
|
---|
10 | N NAMSPC,NOWTIME,PCT,TESTING,TASKID,MODE,BTIME,DGFIL,DGIEN,STIME,RUN
|
---|
11 | S:'$D(U) U="^"
|
---|
12 | S NAMSPC=$$NAMSPC^DG488
|
---|
13 | S DGQUIT=0
|
---|
14 | D SCRNSET
|
---|
15 | S TESTING=+$G(^XTMP(NAMSPC,0,"TESTING"))
|
---|
16 | S TASKID=$G(^XTMP(NAMSPC,0,"TASKID"))
|
---|
17 | ;
|
---|
18 | F D Q:DGQUIT
|
---|
19 | . ;check lock status
|
---|
20 | . L +^XTMP(NAMSPC):3
|
---|
21 | . I '$T S RUN=1
|
---|
22 | . E S RUN=0
|
---|
23 | . L -^XTMP(NAMSPC)
|
---|
24 | . ;get last run info
|
---|
25 | . D GETLAST^DG488
|
---|
26 | . S:STAT="" STAT="NOT RUNNING"
|
---|
27 | . S NOWTIME=$$NOW^XLFDT
|
---|
28 | . I (RUN&(STAT'="RUNNING"))!('RUN&(STAT="RUNNING")) D
|
---|
29 | . . S STAT="ERRORED"
|
---|
30 | . D CLRSCR
|
---|
31 | . S $P(DGBLNK," ",81)=""
|
---|
32 | . S DGLINE=DGBLNK
|
---|
33 | . S TITLE=$P($G(^XTMP(NAMSPC,0),"^^DG488 JOB"),U,3)
|
---|
34 | . S TLEN=(80-$L(TITLE)\2)
|
---|
35 | . W $$FMTE^XLFDT($$NOW^XLFDT,"2P")
|
---|
36 | . S MODE=$S(TESTING:"TEST",1:"LIVE")
|
---|
37 | . W ?32,"** ",MODE," MODE **"
|
---|
38 | . W ?63,"Task ID: ",TASKID
|
---|
39 | . W !!
|
---|
40 | . ;title line
|
---|
41 | . W ?TLEN,IOINHI,IOUON,TITLE,IOUOFF,IOINORM,!
|
---|
42 | . ;begin next line
|
---|
43 | . S DGLINE=DGBLNK
|
---|
44 | . S DGLINE=$$FMTLINE(DGLINE,4,"Status")
|
---|
45 | . S DGLINE=$$FMTLINE(DGLINE,30,"Last ien")
|
---|
46 | . S DGLINE=$$FMTLINE(DGLINE,58,"Completed Time")
|
---|
47 | . W !!,IORVON,DGLINE,IORVOFF
|
---|
48 | . ;begin next line
|
---|
49 | . S DGLINE=DGBLNK
|
---|
50 | . S DGLINE=$$FMTLINE(DGLINE,4,STAT)
|
---|
51 | . S DGLINE=$$FMTLINE(DGLINE,26,DGFIL_"/"_DGIEN)
|
---|
52 | . S DGLINE=$$FMTLINE(DGLINE,58,$$FMTE^XLFDT(STIME,2))
|
---|
53 | . W !,DGLINE
|
---|
54 | . ;begin next line
|
---|
55 | . S DGLINE=DGBLNK
|
---|
56 | . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.12 recs")
|
---|
57 | . S DGLINE=$$FMTLINE(DGLINE,30,"408.12 recs purged")
|
---|
58 | . S DGLINE=$$FMTLINE(DGLINE,55,"408.12 bad xrefs")
|
---|
59 | . W !!,IORVON,DGLINE,IORVOFF
|
---|
60 | . ;begin next line
|
---|
61 | . S DGLINE=DGBLNK
|
---|
62 | . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT12,","),10))
|
---|
63 | . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG12,","),10))
|
---|
64 | . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG12X,","),10))
|
---|
65 | . W !,DGLINE
|
---|
66 | . ;begin next line
|
---|
67 | . S DGLINE=DGBLNK
|
---|
68 | . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.21 recs")
|
---|
69 | . S DGLINE=$$FMTLINE(DGLINE,30,"408.21 recs purged")
|
---|
70 | . S DGLINE=$$FMTLINE(DGLINE,55,"408.21 bad xrefs")
|
---|
71 | . W !!,IORVON,DGLINE,IORVOFF
|
---|
72 | . ;begin next line
|
---|
73 | . S DGLINE=DGBLNK
|
---|
74 | . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT21,","),10))
|
---|
75 | . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG21,","),10))
|
---|
76 | . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG21X,","),10))
|
---|
77 | . W !,DGLINE
|
---|
78 | . ;begin next line
|
---|
79 | . S DGLINE=DGBLNK
|
---|
80 | . S DGLINE=$$FMTLINE(DGLINE,5,"Tot 408.22 recs")
|
---|
81 | . S DGLINE=$$FMTLINE(DGLINE,30,"408.22 recs purged")
|
---|
82 | . S DGLINE=$$FMTLINE(DGLINE,55,"408.22 bad xrefs")
|
---|
83 | . W !!,IORVON,DGLINE,IORVOFF
|
---|
84 | . ;begin next line
|
---|
85 | . S DGLINE=DGBLNK
|
---|
86 | . S DGLINE=$$FMTLINE(DGLINE,7,$J($FN(DGT22,","),10))
|
---|
87 | . S DGLINE=$$FMTLINE(DGLINE,32,$J($FN(DG22,","),10))
|
---|
88 | . S DGLINE=$$FMTLINE(DGLINE,57,$J($FN(DG22X,","),10))
|
---|
89 | . W !,DGLINE
|
---|
90 | . ;begin next line
|
---|
91 | . S DGLINE=DGBLNK
|
---|
92 | . W !!!
|
---|
93 | . K DIR
|
---|
94 | . S DIR("T")=5
|
---|
95 | . W ?15,"screen refreshes automatically every "_DIR("T")_" seconds",!
|
---|
96 | . W !!,"Press "_IORVON_"<Enter>"_IORVOFF_" to Stop Monitor...",!
|
---|
97 | . S DIR(0)="EA"
|
---|
98 | . D ^DIR
|
---|
99 | . I '$D(DTOUT) S DGQUIT=1
|
---|
100 | . I STAT'="RUNNING" S DGQUIT=1
|
---|
101 | W @IOF
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | FMTLINE(DGLINE,DGTB,DGTX) ; format a line
|
---|
105 | N DGEND
|
---|
106 | S DGLEN=$L(DGTX)
|
---|
107 | S DGEND=DGTB+DGLEN-1
|
---|
108 | S $E(DGLINE,DGTB,DGEND)=DGTX
|
---|
109 | Q DGLINE
|
---|
110 | ;
|
---|
111 | SCRNSET ; setup screen variables
|
---|
112 | S:'$D(IOST(0)) IOST(0)="C-VT320"
|
---|
113 | S X="IOINORM;IOINHI;IOUON;IOUOFF;IOBON;IOBOFF;IORVON;IORVOFF;IOHOME"
|
---|
114 | S X=X_";IOELEOL" D ENDR^%ZISS
|
---|
115 | Q
|
---|
116 | ;
|
---|
117 | CLRSCR ; clear screen and return to normal
|
---|
118 | W IOHOME,IORVOFF,IOBOFF,IOUOFF,IOINORM,@IOF
|
---|
119 | S $X=0,$Y=0
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | MAIL ; mail stats
|
---|
123 | N HTEXT,TEXT,NAMSPC,LIN
|
---|
124 | S LIN=0
|
---|
125 | S NAMSPC=$$NAMSPC^DG488
|
---|
126 | K ^TMP(NAMSPC,$J)
|
---|
127 | ;get last run data
|
---|
128 | D GETLAST^DG488
|
---|
129 | ;build text for message
|
---|
130 | S HTEXT=ZTDESC_" "_STAT_" on "
|
---|
131 | S HTEXT=HTEXT_$$FMTE^XLFDT(STIME)
|
---|
132 | D BLDLINE(HTEXT)
|
---|
133 | D BLDLINE("Elapsed time: "_$$FMDIFF^XLFDT(STIME,BTIME,3))
|
---|
134 | D BLDLINE("")
|
---|
135 | I TESTING S TEXT="** TESTING **" D BLDLINE(TEXT)
|
---|
136 | D BLDLINE("")
|
---|
137 | S TEXT=" Total 408.12 Records Processed: "_$J($FN(DGT12,","),11)
|
---|
138 | D BLDLINE(TEXT)
|
---|
139 | S TEXT=" 408.12 bad records purged: "_$J($FN(DG12,","),11)
|
---|
140 | D BLDLINE(TEXT)
|
---|
141 | S TEXT=" 408.12 bad xrefs purged: "_$J($FN(DG12X,","),11)
|
---|
142 | D BLDLINE(TEXT)
|
---|
143 | D BLDLINE("")
|
---|
144 | S TEXT=" Total 408.21 Records Processed: "_$J($FN(DGT21,","),11)
|
---|
145 | D BLDLINE(TEXT)
|
---|
146 | S TEXT=" 408.21 bad records purged: "_$J($FN(DG21,","),11)
|
---|
147 | D BLDLINE(TEXT)
|
---|
148 | S TEXT=" 408.21 bad xrefs purged: "_$J($FN(DG21X,","),11)
|
---|
149 | D BLDLINE(TEXT)
|
---|
150 | D BLDLINE("")
|
---|
151 | S TEXT=" Total 408.22 Records Processed: "_$J($FN(DGT22,","),11)
|
---|
152 | D BLDLINE(TEXT)
|
---|
153 | S TEXT=" 408.22 bad records purged: "_$J($FN(DG22,","),11)
|
---|
154 | D BLDLINE(TEXT)
|
---|
155 | S TEXT=" 408.22 bad xrefs purged: "_$J($FN(DG22X,","),11)
|
---|
156 | D BLDLINE(TEXT)
|
---|
157 | ;send the message
|
---|
158 | D MAILIT(HTEXT)
|
---|
159 | K ^TMP(NAMSPC,$J)
|
---|
160 | Q
|
---|
161 | ;
|
---|
162 | BLDLINE(TEXT) ;
|
---|
163 | S LIN=LIN+1
|
---|
164 | S ^TMP(NAMSPC,$J,"MSG",LIN)=TEXT
|
---|
165 | Q
|
---|
166 | MAILIT(HTEXT) ; send the mail message
|
---|
167 | N XMY,XMDUZ,XMSUB,XMTEXT
|
---|
168 | S XMY(DUZ)="",XMDUZ=.5
|
---|
169 | S XMSUB=HTEXT_" Results"
|
---|
170 | S XMTEXT="^TMP(NAMSPC,$J,""MSG"","
|
---|
171 | D ^XMD
|
---|
172 | Q
|
---|
173 | ;
|
---|