1 | SD53105A ;ALB/JRP - XMIT, DELETE, AND ERROR FILE CLEAN UP;12-MAR-1997
|
---|
2 | ;;5.3;Scheduling;**105**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | SCAN ;Entry point to scan only (prints what would have been deleted)
|
---|
5 | N ZTRTN,ZTDESC
|
---|
6 | D INTRO
|
---|
7 | W !
|
---|
8 | W !,"You are running this routine in scan mode, which will only identify"
|
---|
9 | W !,"the problems corrected. Please select a device (queueing allowed) so"
|
---|
10 | W !,"that a listing of what would have been done can be obtained."
|
---|
11 | W !!
|
---|
12 | S ZTRTN="EN^SD53105A(1)"
|
---|
13 | S ZTDESC="ACRP cleanup of files 409.73, 409.74, and 409.75"
|
---|
14 | D EN^XUTMDEVQ(ZTRTN,ZTDESC)
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | FIX ;Entry point to schedule clean up
|
---|
18 | N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK,TXT
|
---|
19 | D INTRO
|
---|
20 | W !
|
---|
21 | W !,"Please enter the date/time that you would like this clean up queued to"
|
---|
22 | W !,"run. A summary of what was done will be sent to you and the"
|
---|
23 | W !,"recipients of the SCDX AMBCARE TO NPCDB SUMMARY bulletin."
|
---|
24 | W !!
|
---|
25 | S ZTRTN="EN^SD53105A(0)"
|
---|
26 | S ZTDESC="ACRP cleanup of files 409.73, 409.74, and 409.75"
|
---|
27 | S ZTDTH=""
|
---|
28 | S ZTIO=""
|
---|
29 | D ^%ZTLOAD
|
---|
30 | W:(+$G(ZTSK)) !,"Scheduled as task number ",ZTSK
|
---|
31 | W:('$G(ZTSK)) !,"** Unable to schedule correction **"
|
---|
32 | Q
|
---|
33 | ;
|
---|
34 | INTRO ;Print intro text
|
---|
35 | W !!,"This routine will clean up dangling pointers and orphan entries within"
|
---|
36 | W !,"the ACRP transmission files. The following actions/checks will be"
|
---|
37 | W !,"performed:"
|
---|
38 | W !
|
---|
39 | W !,"(1) Entries in the Transmitted Outpatient Encounter file (409.73)"
|
---|
40 | W !," that do not have a valid pointer to the Outpatient Encounter"
|
---|
41 | W !," file (#409.68) or the Deleted Outpatient Encounter file"
|
---|
42 | W !," (#409.74) are deleted."
|
---|
43 | W !
|
---|
44 | W !,"(2) Entries in the Transmitted Outpatient Encounter file that have"
|
---|
45 | W !," been rejected by the Austin Automation Center and do not have an"
|
---|
46 | W !," entry in the Transmitted Outpatient Encounter Error file"
|
---|
47 | W !," (#409.75) are marked for re-transmission."
|
---|
48 | W !
|
---|
49 | W !,"(3) Entries in the Deleted Outpatient Encounter file that do not"
|
---|
50 | W !," have a corresponding entry in the Transmitted Outpatient"
|
---|
51 | W !," Encounter file are deleted."
|
---|
52 | W !
|
---|
53 | W !,"(4) Entries in the Transmitted Outpatient Encounter Error file that"
|
---|
54 | W !," do not have a valid pointer to the Transmitted Outpatient"
|
---|
55 | W !," Encounter file are deleted."
|
---|
56 | Q
|
---|
57 | ;
|
---|
58 | EN(SCANMODE) ;Main entry point
|
---|
59 | ; Routine deletes entries in the Transmitted Outpatient Encounter file
|
---|
60 | ; (409.73) that do not have a valid pointer to the Outpatient Encounter
|
---|
61 | ; file (#409.68) or the Deleted Outpatient Encounter file (#409.74).
|
---|
62 | ;
|
---|
63 | ; Routine marks entries in the Transmitted Outpatient Encounter file
|
---|
64 | ; that have been rejected by the Austin Automation Center and do not
|
---|
65 | ; have an entry in the Transmitted Outpatient Encounter Error file
|
---|
66 | ; (#409.75) for re-transmission.
|
---|
67 | ;
|
---|
68 | ; Routine deletes entries in the Deleted Outpatient Encounter file that
|
---|
69 | ; do not have a corresponding entry in the Transmitted Outpatient
|
---|
70 | ; Encounter file.
|
---|
71 | ;
|
---|
72 | ; Routine deletes entries in the Transmitted Outpatient Encounter Error
|
---|
73 | ; file that do not have a valid pointer to the Transmitted Outpatient
|
---|
74 | ; Encounter file.
|
---|
75 | ;
|
---|
76 | ;Input : SCANMODE - Flag denoting if routine should only scan
|
---|
77 | ; for errors and not fix them
|
---|
78 | ; 0 = No - scan and fix (default)
|
---|
79 | ; 1 = Yes - scan but don't fix
|
---|
80 | ;Output : None
|
---|
81 | ;Notes : A completion/summary bulletin will be sent to the current
|
---|
82 | ; user and the recipients of the SCDX AMBCARE TO NPCDB SUMMARY
|
---|
83 | ; bulletin. This bulletin will not be sent if in scan mode.
|
---|
84 | ;
|
---|
85 | ;Declare variables
|
---|
86 | N XMITPTR,XMITTOT,XMITDEL,XMITXMIT,ENCPTR,DELPTR,DELTOT,DELDEL,ERRPTR
|
---|
87 | N ERRTOT,ERRDEL,NODE,TMP,DIK,DA,X,Y
|
---|
88 | S SCANMODE=+$G(SCANMODE)
|
---|
89 | ;Initialize counters
|
---|
90 | S (XMITTOT,XMITDELE,XMITDELD,XMITXMIT,DELTOT,DELDEL,ERRTOT,ERRDEL)=0
|
---|
91 | ;Initialize summary location
|
---|
92 | K ^TMP($J,"SD53105A")
|
---|
93 | S ^TMP($J,"SD53105A","XMIT")="^^^"
|
---|
94 | S ^TMP($J,"SD53105A","DEL")="^"
|
---|
95 | S ^TMP($J,"SD53105A","ERR")="^"
|
---|
96 | S ^TMP($J,"SD53105A","STOP")=0
|
---|
97 | ;Remember starting time
|
---|
98 | S ^TMP($J,"SD53105A","TIME")=$$NOW^XLFDT()
|
---|
99 | I (SCANMODE) D
|
---|
100 | .W !
|
---|
101 | .W !,"Scanning of the Transmitted Outpatient Encounter, Deleted Outpatient"
|
---|
102 | .W !,"Encounter, and Transmitted Outpatient Encounter Error files for known"
|
---|
103 | .W !,"problems started on "_$$FMTE^XLFDT($$NOW^XLFDT())
|
---|
104 | .W !
|
---|
105 | ;Loop through Transmitted Outpatient Encounter file (#409.73)
|
---|
106 | I (SCANMODE) D
|
---|
107 | .W !!
|
---|
108 | .W !,"The following entries in the Transmitted Outpatient Encounter"
|
---|
109 | .W !,"file (#409.73) will be acted upon when run in fix mode"
|
---|
110 | .W !,$$REPEAT^SCDXUTL1("=",70)
|
---|
111 | S XMITPTR=0
|
---|
112 | F S XMITPTR=+$O(^SD(409.73,XMITPTR)) Q:('XMITPTR) D Q:($G(ZTSTOP))
|
---|
113 | .;Increment total entries checked
|
---|
114 | .S XMITTOT=XMITTOT+1
|
---|
115 | .;Grab zero node
|
---|
116 | .S NODE=$G(^SD(409.73,XMITPTR,0))
|
---|
117 | .;Get Outpatient Encounter & Deleted Outpatient Encounter pointers
|
---|
118 | .S ENCPTR=+$P(NODE,"^",2)
|
---|
119 | .S DELPTR=+$P(NODE,"^",3)
|
---|
120 | .;Validate pointer to Outpatient Encounter
|
---|
121 | .I (ENCPTR) D
|
---|
122 | ..Q:($D(^SCE(ENCPTR,0)))
|
---|
123 | ..;Invalid - delete entry and increment deletion count
|
---|
124 | ..S:('SCANMODE) TMP=$$DELXMIT^SCDXFU03(XMITPTR,0)
|
---|
125 | ..W:(SCANMODE) !,"^SD(409.73,",XMITPTR,",0) has bad pointer to Outpatient Encounter file"
|
---|
126 | ..S XMITDELE=XMITDELE+1
|
---|
127 | .;Validate pointer to Deleted Outpatient Encounter
|
---|
128 | .I (DELPTR) D
|
---|
129 | ..Q:($D(^SD(409.74,DELPTR,0)))
|
---|
130 | ..;Invalid - delete entry and increment deletion count
|
---|
131 | ..S:('SCANMODE) TMP=$$DELXMIT^SCDXFU03(XMITPTR,0)
|
---|
132 | ..W:(SCANMODE) !,"^SD(409.73,",XMITPTR,",0) has bad pointer to Deleted Outpatient Encounter file"
|
---|
133 | ..S XMITDELD=XMITDELD+1
|
---|
134 | .;Check for rejection without entry in Transmitted Outpatient Encounter
|
---|
135 | .; Error file (#409.75)
|
---|
136 | .S TMP=$G(^SD(409.73,XMITPTR,1))
|
---|
137 | .I ($P(TMP,"^",5)="R") D:('$D(^SD(409.75,"B",XMITPTR)))
|
---|
138 | ..;Mark for retransmission
|
---|
139 | ..D:('SCANMODE) STREEVNT^SCDXFU01(XMITPTR)
|
---|
140 | ..D:('SCANMODE) XMITFLAG^SCDXFU01(XMITPTR)
|
---|
141 | ..W:(SCANMODE) !,"^SD(409.73,",XMITPTR,",0) rejected with no reason on file (entry in 409.75)"
|
---|
142 | ..;Increment retransmission counter
|
---|
143 | ..S XMITXMIT=XMITXMIT+1
|
---|
144 | .;Check for request to stop
|
---|
145 | .S:($$S^%ZTLOAD("Last entry in Transmitted Outpatient Encounter file checked >> "_XMITPTR)) ZTSTOP=1
|
---|
146 | ;Remember totals
|
---|
147 | S ^TMP($J,"SD53105A","XMIT")=XMITTOT_"^"_XMITDELE_"^"_XMITDELD_"^"_XMITXMIT
|
---|
148 | I (SCANMODE) D
|
---|
149 | .W !
|
---|
150 | .W !,XMITTOT," entries where checked"
|
---|
151 | .W !,?2,XMITXMIT," would have been marked for retransmission"
|
---|
152 | .W !,?2,(XMITDELE+XMITDELD)," would have been deleted"
|
---|
153 | .W !,?4,(XMITDELE)," have bad Outpatient Encounter pointers"
|
---|
154 | .W !,?4,(XMITDELD)," have bad Deleted Outpatient Encounter pointers"
|
---|
155 | ;Asked to stop
|
---|
156 | I $G(ZTSTOP) G EN1
|
---|
157 | ;Loop through Deleted Outpatient Encounter file (#409.74)
|
---|
158 | I (SCANMODE) D
|
---|
159 | .W !!!
|
---|
160 | .W !,"The following entries in the Deleted Outpatient Encounter"
|
---|
161 | .W !,"file (#409.74) will be deleted when run in fix mode"
|
---|
162 | .W !,$$REPEAT^SCDXUTL1("=",70)
|
---|
163 | S DELPTR=0
|
---|
164 | F S DELPTR=+$O(^SD(409.74,DELPTR)) Q:('DELPTR) D Q:($G(ZTSTOP))
|
---|
165 | .;Increment total entries checked
|
---|
166 | .S DELTOT=DELTOT+1
|
---|
167 | .;Check for entry in Transmitted Outpatient Encounter file
|
---|
168 | .I ('$D(^SD(409.73,"ADEL",DELPTR))) D
|
---|
169 | ..;Not found - delete entry and increment deletion count
|
---|
170 | ..I ('SCANMODE) S DA=DELPTR,DIK="^SD(409.74," D ^DIK K DA,DIK,X,Y
|
---|
171 | ..W:(SCANMODE) !,"^SD(409.74,",DELPTR,",0) not in Transmitted Outpatient Encounter file"
|
---|
172 | ..S DELDEL=DELDEL+1
|
---|
173 | .;Check for request to stop
|
---|
174 | .S:($$S^%ZTLOAD("Last entry in Deleted Outpatient Encounter file checked >> "_DELPTR)) ZTSTOP=1
|
---|
175 | ;Remember totals
|
---|
176 | S ^TMP($J,"SD53105A","DEL")=DELTOT_"^"_DELDEL
|
---|
177 | W:(SCANMODE) !!,DELTOT," entries where checked and ",DELDEL," would have been deleted"
|
---|
178 | ;Asked to stop
|
---|
179 | I $G(ZTSTOP) G EN1
|
---|
180 | ;Loop through Transmitted Outpatient Encounter Error file (#409.75)
|
---|
181 | I (SCANMODE) D
|
---|
182 | .W !!!
|
---|
183 | .W !,"The following entries in the Transmitted Outpatient Encounter"
|
---|
184 | .W !,"Error file (#409.75) will be deleted when run in fix mode"
|
---|
185 | .W !,$$REPEAT^SCDXUTL1("=",70)
|
---|
186 | S ERRPTR=0
|
---|
187 | F S ERRPTR=+$O(^SD(409.75,ERRPTR)) Q:('ERRPTR) D Q:($G(ZTSTOP))
|
---|
188 | .;Increment total entries checked
|
---|
189 | .S ERRTOT=ERRTOT+1
|
---|
190 | .;Get pointer to Transmitted Outpatient Encounter file
|
---|
191 | .S XMITPTR=+$G(^SD(409.75,ERRPTR,0))
|
---|
192 | .;Validate pointer
|
---|
193 | .I ('$D(^SD(409.73,XMITPTR,0))) D
|
---|
194 | ..;Invalid - delete entry and increment deletion count
|
---|
195 | ..S:('SCANMODE) TMP=$$DELERR^SCDXFU02(ERRPTR)
|
---|
196 | ..W:(SCANMODE) !,"^SD(409.75,",ERRPTR,",0) has bad pointer to Transmitted Outpatient Encounter file"
|
---|
197 | ..S ERRDEL=ERRDEL+1
|
---|
198 | .;Check for request to stop
|
---|
199 | .S:($$S^%ZTLOAD("Last entry in Transmitted Outpatient Encounter Error file checked >> "_ERRPTR)) ZTSTOP=1
|
---|
200 | ;Remember totals
|
---|
201 | S ^TMP($J,"SD53105A","ERR")=ERRTOT_"^"_ERRDEL
|
---|
202 | W:(SCANMODE) !!,ERRTOT," entries where checked and ",ERRDEL," would have been deleted"
|
---|
203 | EN1 ;Remember ending time
|
---|
204 | S $P(^TMP($J,"SD53105A","TIME"),"^",2)=$$NOW^XLFDT()
|
---|
205 | I (SCANMODE) D
|
---|
206 | .W !!!,"Scan ended on ",$$FMTE^XLFDT($$NOW^XLFDT())
|
---|
207 | .W !!!,"Use the entry point FIX^SD53105A to run in fix mode"
|
---|
208 | .W !,"Use the entry point SCAN^SD53105A to re-run in scan mode"
|
---|
209 | ;Remember if requested to stop
|
---|
210 | S ^TMP($J,"SD53105A","STOP")=+$G(ZTSTOP)
|
---|
211 | ;Send completion/summary bulletin
|
---|
212 | D:('SCANMODE) BULL1^SD53105C
|
---|
213 | ;Done - clean up and quit
|
---|
214 | K ^TMP($J,"SD53105A")
|
---|
215 | S:($D(ZTQUEUED)) ZTREQ="@"
|
---|
216 | Q
|
---|