[613] | 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
|
---|