DG53514 ;ALB/PHH - DG*5.3*514 DOD Cleanup ; 4/25/03
;;5.3;Registration;**514,1015**;Aug 13, 1993;Build 21
Q
RESET ; Reset the data for the cleanup process
K ^XTMP($$NAMESPC)
Q
TEST ; Simulate Live Run
N MODE
S MODE=0
START ; Start Processor
N NAMESPC,QTIME
S NAMESPC=$$NAMESPC
Q:$$RUNCHK(NAMESPC) ; Quit if already running or has run to completion
Q:$$QTIME(.QTIME)
S:$D(^XTMP(NAMESPC,"CONFIG","RUN MODE")) MODE=^XTMP(NAMESPC,"CONFIG","RUN MODE")
S:'$D(^XTMP(NAMESPC,"CONFIG","RUN MODE")) ^XTMP(NAMESPC,"CONFIG","RUN MODE")=$S($G(MODE)=0:0,1:1)
S ^XTMP(NAMESPC,"CONFIG","USER")=$S($G(DUZ)'="":DUZ,1:"UNKNOWN")
S:'$$QUEUE(QTIME) ^XTMP(NAMESPC,"CONFIG","RUNNING")=""
Q
NAMESPC() ; API returns the name space for this patch
Q "DG514"
RUNCHK(NAMESPC) ; Check to see if clean up is already running
Q:NAMESPC="" 1 ; Name Space must be defined
Q:$D(^XTMP(NAMESPC,"CONFIG","RUNNING")) 1
Q:$D(^XTMP(NAMESPC,"CONFIG","COMPLETE")) 1
Q 0
QTIME(WHEN) ; Get the run time for queuing
N %,%H,%I,X
D NOW^%DTC
S WHEN=$P(%,".")_"."_$E($P(%,".",2),1,4)
Q 0
QUEUE(ZTDTH) ; Queue the process
N NAMESPC,QUEERR,ZTDESC,ZTRTN,ZTSK
S NAMESPC=$$NAMESPC
S QUEERR=0
S ZTRTN="CLEAN^DG53"_$P(NAMESPC,"DG",2)
S ZTDESC=NAMESPC_" - DOD Cleanup Process"
S ZTIO=""
D ^%ZTLOAD
K ^XTMP(NAMESPC,"CONFIG","ZTSK")
I '$D(ZTSK) S ^XTMP(NAMESPC,"CONFIG","ZTSK")="Unable to queue post-install process.",QUEERR=1
I $D(ZTSK) S ^XTMP(NAMESPC,"CONFIG","ZTSK")="Post-install queued. Task ID: "_$G(ZTSK)
D HOME^%ZIS
Q QUEERR
CLEAN ; Actual cleanup process
N NAMESPC,MODE,USER,TASKID,%,%H,%I,X,X1,X2,CHKCNT,TMSWT,TOTDPT,DFN
S NAMESPC=$$NAMESPC
K ^XTMP(NAMESPC,"CONFIG","ABORT TIME")
S MODE=$G(^XTMP(NAMESPC,"CONFIG","RUN MODE"),0)
S USER=$G(^XTMP(NAMESPC,"CONFIG","USER"),"UNKNOWN")
S TASKID=$G(^XTMP(NAMESPC,"CONFIG","ZTSK"),"UNKNOWN")
;
I '$D(^XTMP(NAMESPC,0)) D
.K ^XTMP(NAMESPC)
.S ^XTMP(NAMESPC,"CONFIG","DFN")=0
.S ^XTMP(NAMESPC,"CONFIG","TOTPR")=0
.S ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=0
.S ^XTMP(NAMESPC,"CONFIG","RUN MODE")=MODE
.S ^XTMP(NAMESPC,"CONFIG","USER")=USER
.S ^XTMP(NAMESPC,"CONFIG","ZTSK")=TASKID
.D NOW^%DTC
.S ^XTMP(NAMESPC,"CONFIG","START TIME")=%
.S X1=$$DT^XLFDT,X2=90
.D C^%DTC
.S ^XTMP(NAMESPC,0)=X_U_$$DT^XLFDT_U_NAMESPC_" - DOD CLEANUP"
;
S CHKCNT=250,(ZTSTOP,TMSWT)=0,TOTDPT=+$P($G(^DPT(0)),"^",4)
S DFN=$G(^XTMP(NAMESPC,"CONFIG","DFN"))
F S DFN=$O(^DPT(DFN)) Q:'DFN!(TMSWT) D
.D PROC(DFN)
.S ^XTMP(NAMESPC,"CONFIG","TOTPR")=$G(^XTMP(NAMESPC,"CONFIG","TOTPR"))+1
.S ^XTMP(NAMESPC,"CONFIG","DFN")=DFN
.I TOTDPT D
..S ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=+$G(^XTMP(NAMESPC,"CONFIG","TOTPR"))/TOTDPT
..S ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=+$P((^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")*100),".")
.I +$G(^XTMP(NAMESPC,"CONFIG","TOTPR"))#CHKCNT=0 D
..S TMSWT=$$STOPIT()
..I TMSWT D
...S ZTSTOP=1
...N %,%H,%I,X
...D NOW^%DTC
...S ^XTMP(NAMESPC,"CONFIG","ABORT TIME")=%
...D ABORTMSG
;
I 'DFN,'TMSWT D
.N %,%H,%I,X
.D NOW^%DTC
.S ^XTMP(NAMESPC,"CONFIG","COMPLETE")=%
.S ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=100
.D DONEMSG
;
K ^XTMP(NAMESPC,"CONFIG","RUNNING")
Q
PROC(DFN) ; Process the DFN
N NAMESPC,DOD,CURENR,ENRSTAT,QLOGIEN,SUCCESS
S NAMESPC=$$NAMESPC
S DOD=$P($G(^DPT(DFN,.35)),"^")
Q:DOD=""
S CURENR=$P($G(^DPT(DFN,"ENR")),"^") ; Get Current Enr Record
Q:CURENR=""
S ENRSTAT=$P($G(^DGEN(27.11,CURENR,0)),"^",4)
Q:ENRSTAT'=1 ; Quit if it's not an 'Unverified' status
;
S ^XTMP(NAMESPC,"DATA",DFN)=""
S ^XTMP(NAMESPC,"CONFIG","ANOMALY")=$G(^XTMP(NAMESPC,"CONFIG","ANOMALY"))+1
S ^XTMP(NAMESPC,"CONFIG","DFN")=DFN
;
S SUCCESS=0
I MODE S SUCCESS=$$SEND(DFN) ; Resend the Z11 query
S $P(^XTMP(NAMESPC,"DATA",DFN),"^")=SUCCESS
;
I SUCCESS=0 S ^XTMP(NAMESPC,"CONFIG","FAILED")=$G(^XTMP(NAMESPC,"CONFIG","FAILED"))+1
I SUCCESS=1 S ^XTMP(NAMESPC,"CONFIG","SUCCESS")=$G(^XTMP(NAMESPC,"CONFIG","SUCCESS"))+1
Q
STOPIT() ; Checks if user requested task to stop
N X,STOPIT
S STOPIT=0
S X=$$S^%ZTLOAD
I X D ;
.S STOPIT=1
.I $G(ZTSK) S ZTSTOP=1
Q STOPIT
SEND(DFN) ; Send an ENROLLMENT/ELIGIBILITY QUERY to HEC for a veteran
;Output: returns 1 on success, 0 on failure.
;
I '$$ON^DGENQRY Q 0
N LAST,DGQRY,MSGID,SUCCESS,SENT,ERROR
S SUCCESS=1,ERROR=""
I '$$LOCK^DGENQRY($G(DFN)) S SUCCESS=0
S LAST=$$FINDLAST^DGENQRY(DFN) ; Find latest Enr. Query Log IEN
I LAST,$$GET^DGENQRY(LAST,.DGQRY) ;
D:SUCCESS
.S SENT=$$MSG^DGENQRY1(DFN,.MSGID,.ERROR)
.I 'SENT S SUCCESS=0 Q
.S DGQRY("DFN")=DFN
.S DGQRY("SENT")=SENT
.S DGQRY("STATUS")=0
.S DGQRY("MSGID")=MSGID
.S DGQRY("NOTIFY")=$G(NOTIFY)
.S DGQRY("FIRST")=$S($G(FIRST):FIRST,1:SENT)
.S DGQRY("RESPONSE")=""
.S DGQRY("RESPONSEID")=""
.I '$$LOG^DGENQRY(.DGQRY) S SUCCESS=0 Q
D UNLOCK^DGENQRY($G(DFN))
Q SUCCESS
ABORTMSG ; Send the user aborted message:
N NAMESPC,NAMESPCN,TMP,XMY,XMDUZ,XMTEXT,XMSUB
S NAMESPC=$$NAMESPC
S NAMESPCN=$P(NAMESPC,"DG",2)
S XMY(DUZ)="",XMDUZ="DG PACKAGE",XMTEXT="TMP("_NAMESPCN_","
S XMSUB="DG*5.3*"_NAMESPCN_": DOD CLEANUP - PROCESS STOPPED BY USER"
S TMP(NAMESPCN,1)="CLEANUP PROCESSING"
S TMP(NAMESPCN,2)="------------------"
S TMP(NAMESPCN,3)=""
S TMP(NAMESPCN,4)="The cleanup process was aborted prematurely. Here is the current status:"
S TMP(NAMESPCN,5)=""
S TMP(NAMESPCN,6)=" Start Date/Time: "_$$FMTE^XLFDT(+$G(^XTMP(NAMESPC,"CONFIG","START TIME")),"P")
S TMP(NAMESPCN,7)=" End Date/Time: "_$$FMTE^XLFDT(+$G(^XTMP(NAMESPC,"CONFIG","ABORT TIME")),"P")
S TMP(NAMESPCN,8)=""
S TMP(NAMESPCN,9)="Current Counts: "
S TMP(NAMESPCN,10)=" Total Patient Records Processed: "_+$G(^XTMP(NAMESPC,"CONFIG","TOTPR"))
S TMP(NAMESPCN,11)=" Total Anomalies Corrected: "_+$G(^XTMP(NAMESPC,"CONFIG","SUCCESS"))
S TMP(NAMESPCN,12)=" Percentage Completed: "_+$G(^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE"))_"%"
S TMP(NAMESPCN,13)=""
S TMP(NAMESPCN,14)=""
D ^XMD
Q
DONEMSG ; Send the user aborted message:
N NAMESPC,NAMESPCN,TMP,XMY,XMDUZ,XMTEXT,XMSUB
S NAMESPC=$$NAMESPC
S NAMESPCN=$P(NAMESPC,"DG",2)
S XMY(DUZ)="",XMDUZ="DG PACKAGE",XMTEXT="TMP("_NAMESPCN_","
S XMSUB="DG*5.3*"_NAMESPCN_": DOD CLEANUP - SUMMARY REPORT"
S TMP(NAMESPCN,1)="CLEANUP PROCESSING"
S TMP(NAMESPCN,2)="------------------"
S TMP(NAMESPCN,3)=""
S TMP(NAMESPCN,4)="The cleanup has run to completion. Here are the results:"
S TMP(NAMESPCN,5)=""
S TMP(NAMESPCN,6)=" Start Date/Time: "_$$FMTE^XLFDT(+$G(^XTMP(NAMESPC,"CONFIG","START TIME")),"P")
S TMP(NAMESPCN,7)=" End Date/Time: "_$$FMTE^XLFDT(+$G(^XTMP(NAMESPC,"CONFIG","COMPLETE")),"P")
S TMP(NAMESPCN,8)=""
S TMP(NAMESPCN,9)="Current Counts: "
S TMP(NAMESPCN,10)=" Total Patient Records Processed: "_+$G(^XTMP(NAMESPC,"CONFIG","TOTPR"))
S TMP(NAMESPCN,11)=" Total Anomalies Corrected: "_+$G(^XTMP(NAMESPC,"CONFIG","SUCCESS"))
S TMP(NAMESPCN,12)=" Percentage Completed: 100%"
S TMP(NAMESPCN,13)=""
S TMP(NAMESPCN,14)=""
D ^XMD
Q
DG53514 ;ALB/PHH - DG*5.3*514 DOD Cleanup ; 4/25/03
+1 ;;5.3;Registration;**514,1015**;Aug 13, 1993;Build 21
+2 QUIT
RESET ; Reset the data for the cleanup process
+1 KILL ^XTMP($$NAMESPC)
+2 QUIT
TEST ; Simulate Live Run
+1 NEW MODE
+2 SET MODE=0
START ; Start Processor
+1 NEW NAMESPC,QTIME
+2 SET NAMESPC=$$NAMESPC
+3 ; Quit if already running or has run to completion
IF $$RUNCHK(NAMESPC)
QUIT
+4 IF $$QTIME(.QTIME)
QUIT
+5 IF $DATA(^XTMP(NAMESPC,"CONFIG","RUN MODE"))
SET MODE=^XTMP(NAMESPC,"CONFIG","RUN MODE")
+6 IF '$DATA(^XTMP(NAMESPC,"CONFIG","RUN MODE"))
SET ^XTMP(NAMESPC,"CONFIG","RUN MODE")=$SELECT($GET(MODE)=0:0,1:1)
+7 SET ^XTMP(NAMESPC,"CONFIG","USER")=$SELECT($GET(DUZ)'="":DUZ,1:"UNKNOWN")
+8 IF '$$QUEUE(QTIME)
SET ^XTMP(NAMESPC,"CONFIG","RUNNING")=""
+9 QUIT
NAMESPC() ; API returns the name space for this patch
+1 QUIT "DG514"
RUNCHK(NAMESPC) ; Check to see if clean up is already running
+1 ; Name Space must be defined
IF NAMESPC=""
QUIT 1
+2 IF $DATA(^XTMP(NAMESPC,"CONFIG","RUNNING"))
QUIT 1
+3 IF $DATA(^XTMP(NAMESPC,"CONFIG","COMPLETE"))
QUIT 1
+4 QUIT 0
QTIME(WHEN) ; Get the run time for queuing
+1 NEW %,%H,%I,X
+2 DO NOW^%DTC
+3 SET WHEN=$PIECE(%,".")_"."_$EXTRACT($PIECE(%,".",2),1,4)
+4 QUIT 0
QUEUE(ZTDTH) ; Queue the process
+1 NEW NAMESPC,QUEERR,ZTDESC,ZTRTN,ZTSK
+2 SET NAMESPC=$$NAMESPC
+3 SET QUEERR=0
+4 SET ZTRTN="CLEAN^DG53"_$PIECE(NAMESPC,"DG",2)
+5 SET ZTDESC=NAMESPC_" - DOD Cleanup Process"
+6 SET ZTIO=""
+7 DO ^%ZTLOAD
+8 KILL ^XTMP(NAMESPC,"CONFIG","ZTSK")
+9 IF '$DATA(ZTSK)
SET ^XTMP(NAMESPC,"CONFIG","ZTSK")="Unable to queue post-install process."
SET QUEERR=1
+10 IF $DATA(ZTSK)
SET ^XTMP(NAMESPC,"CONFIG","ZTSK")="Post-install queued. Task ID: "_$GET(ZTSK)
+11 DO HOME^%ZIS
+12 QUIT QUEERR
CLEAN ; Actual cleanup process
+1 NEW NAMESPC,MODE,USER,TASKID,%,%H,%I,X,X1,X2,CHKCNT,TMSWT,TOTDPT,DFN
+2 SET NAMESPC=$$NAMESPC
+3 KILL ^XTMP(NAMESPC,"CONFIG","ABORT TIME")
+4 SET MODE=$GET(^XTMP(NAMESPC,"CONFIG","RUN MODE"),0)
+5 SET USER=$GET(^XTMP(NAMESPC,"CONFIG","USER"),"UNKNOWN")
+6 SET TASKID=$GET(^XTMP(NAMESPC,"CONFIG","ZTSK"),"UNKNOWN")
+7 ;
+8 IF '$DATA(^XTMP(NAMESPC,0))
Begin DoDot:1
+9 KILL ^XTMP(NAMESPC)
+10 SET ^XTMP(NAMESPC,"CONFIG","DFN")=0
+11 SET ^XTMP(NAMESPC,"CONFIG","TOTPR")=0
+12 SET ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=0
+13 SET ^XTMP(NAMESPC,"CONFIG","RUN MODE")=MODE
+14 SET ^XTMP(NAMESPC,"CONFIG","USER")=USER
+15 SET ^XTMP(NAMESPC,"CONFIG","ZTSK")=TASKID
+16 DO NOW^%DTC
+17 SET ^XTMP(NAMESPC,"CONFIG","START TIME")=%
+18 SET X1=$$DT^XLFDT
SET X2=90
+19 DO C^%DTC
+20 SET ^XTMP(NAMESPC,0)=X_U_$$DT^XLFDT_U_NAMESPC_" - DOD CLEANUP"
End DoDot:1
+21 ;
+22 SET CHKCNT=250
SET (ZTSTOP,TMSWT)=0
SET TOTDPT=+$PIECE($GET(^DPT(0)),"^",4)
+23 SET DFN=$GET(^XTMP(NAMESPC,"CONFIG","DFN"))
+24 FOR
SET DFN=$ORDER(^DPT(DFN))
IF 'DFN!(TMSWT)
QUIT
Begin DoDot:1
+25 DO PROC(DFN)
+26 SET ^XTMP(NAMESPC,"CONFIG","TOTPR")=$GET(^XTMP(NAMESPC,"CONFIG","TOTPR"))+1
+27 SET ^XTMP(NAMESPC,"CONFIG","DFN")=DFN
+28 IF TOTDPT
Begin DoDot:2
+29 SET ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=+$GET(^XTMP(NAMESPC,"CONFIG","TOTPR"))/TOTDPT
+30 SET ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=+$PIECE((^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")*100),".")
End DoDot:2
+31 IF +$GET(^XTMP(NAMESPC,"CONFIG","TOTPR"))#CHKCNT=0
Begin DoDot:2
+32 SET TMSWT=$$STOPIT()
+33 IF TMSWT
Begin DoDot:3
+34 SET ZTSTOP=1
+35 NEW %,%H,%I,X
+36 DO NOW^%DTC
+37 SET ^XTMP(NAMESPC,"CONFIG","ABORT TIME")=%
+38 DO ABORTMSG
End DoDot:3
End DoDot:2
End DoDot:1
+39 ;
+40 IF 'DFN
IF 'TMSWT
Begin DoDot:1
+41 NEW %,%H,%I,X
+42 DO NOW^%DTC
+43 SET ^XTMP(NAMESPC,"CONFIG","COMPLETE")=%
+44 SET ^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE")=100
+45 DO DONEMSG
End DoDot:1
+46 ;
+47 KILL ^XTMP(NAMESPC,"CONFIG","RUNNING")
+48 QUIT
PROC(DFN) ; Process the DFN
+1 NEW NAMESPC,DOD,CURENR,ENRSTAT,QLOGIEN,SUCCESS
+2 SET NAMESPC=$$NAMESPC
+3 SET DOD=$PIECE($GET(^DPT(DFN,.35)),"^")
+4 IF DOD=""
QUIT
+5 ; Get Current Enr Record
SET CURENR=$PIECE($GET(^DPT(DFN,"ENR")),"^")
+6 IF CURENR=""
QUIT
+7 SET ENRSTAT=$PIECE($GET(^DGEN(27.11,CURENR,0)),"^",4)
+8 ; Quit if it's not an 'Unverified' status
IF ENRSTAT'=1
QUIT
+9 ;
+10 SET ^XTMP(NAMESPC,"DATA",DFN)=""
+11 SET ^XTMP(NAMESPC,"CONFIG","ANOMALY")=$GET(^XTMP(NAMESPC,"CONFIG","ANOMALY"))+1
+12 SET ^XTMP(NAMESPC,"CONFIG","DFN")=DFN
+13 ;
+14 SET SUCCESS=0
+15 ; Resend the Z11 query
IF MODE
SET SUCCESS=$$SEND(DFN)
+16 SET $PIECE(^XTMP(NAMESPC,"DATA",DFN),"^")=SUCCESS
+17 ;
+18 IF SUCCESS=0
SET ^XTMP(NAMESPC,"CONFIG","FAILED")=$GET(^XTMP(NAMESPC,"CONFIG","FAILED"))+1
+19 IF SUCCESS=1
SET ^XTMP(NAMESPC,"CONFIG","SUCCESS")=$GET(^XTMP(NAMESPC,"CONFIG","SUCCESS"))+1
+20 QUIT
STOPIT() ; Checks if user requested task to stop
+1 NEW X,STOPIT
+2 SET STOPIT=0
+3 SET X=$$S^%ZTLOAD
+4 ;
IF X
Begin DoDot:1
+5 SET STOPIT=1
+6 IF $GET(ZTSK)
SET ZTSTOP=1
End DoDot:1
+7 QUIT STOPIT
SEND(DFN) ; Send an ENROLLMENT/ELIGIBILITY QUERY to HEC for a veteran
+1 ;Output: returns 1 on success, 0 on failure.
+2 ;
+3 IF '$$ON^DGENQRY
QUIT 0
+4 NEW LAST,DGQRY,MSGID,SUCCESS,SENT,ERROR
+5 SET SUCCESS=1
SET ERROR=""
+6 IF '$$LOCK^DGENQRY($GET(DFN))
SET SUCCESS=0
+7 ; Find latest Enr. Query Log IEN
SET LAST=$$FINDLAST^DGENQRY(DFN)
+8 ;
IF LAST
IF $$GET^DGENQRY(LAST,.DGQRY)
+9 IF SUCCESS
Begin DoDot:1
+10 SET SENT=$$MSG^DGENQRY1(DFN,.MSGID,.ERROR)
+11 IF 'SENT
SET SUCCESS=0
QUIT
+12 SET DGQRY("DFN")=DFN
+13 SET DGQRY("SENT")=SENT
+14 SET DGQRY("STATUS")=0
+15 SET DGQRY("MSGID")=MSGID
+16 SET DGQRY("NOTIFY")=$GET(NOTIFY)
+17 SET DGQRY("FIRST")=$SELECT($GET(FIRST):FIRST,1:SENT)
+18 SET DGQRY("RESPONSE")=""
+19 SET DGQRY("RESPONSEID")=""
+20 IF '$$LOG^DGENQRY(.DGQRY)
SET SUCCESS=0
QUIT
End DoDot:1
+21 DO UNLOCK^DGENQRY($GET(DFN))
+22 QUIT SUCCESS
ABORTMSG ; Send the user aborted message:
+1 NEW NAMESPC,NAMESPCN,TMP,XMY,XMDUZ,XMTEXT,XMSUB
+2 SET NAMESPC=$$NAMESPC
+3 SET NAMESPCN=$PIECE(NAMESPC,"DG",2)
+4 SET XMY(DUZ)=""
SET XMDUZ="DG PACKAGE"
SET XMTEXT="TMP("_NAMESPCN_","
+5 SET XMSUB="DG*5.3*"_NAMESPCN_": DOD CLEANUP - PROCESS STOPPED BY USER"
+6 SET TMP(NAMESPCN,1)="CLEANUP PROCESSING"
+7 SET TMP(NAMESPCN,2)="------------------"
+8 SET TMP(NAMESPCN,3)=""
+9 SET TMP(NAMESPCN,4)="The cleanup process was aborted prematurely. Here is the current status:"
+10 SET TMP(NAMESPCN,5)=""
+11 SET TMP(NAMESPCN,6)=" Start Date/Time: "_$$FMTE^XLFDT(+$GET(^XTMP(NAMESPC,"CONFIG","START TIME")),"P")
+12 SET TMP(NAMESPCN,7)=" End Date/Time: "_$$FMTE^XLFDT(+$GET(^XTMP(NAMESPC,"CONFIG","ABORT TIME")),"P")
+13 SET TMP(NAMESPCN,8)=""
+14 SET TMP(NAMESPCN,9)="Current Counts: "
+15 SET TMP(NAMESPCN,10)=" Total Patient Records Processed: "_+$GET(^XTMP(NAMESPC,"CONFIG","TOTPR"))
+16 SET TMP(NAMESPCN,11)=" Total Anomalies Corrected: "_+$GET(^XTMP(NAMESPC,"CONFIG","SUCCESS"))
+17 SET TMP(NAMESPCN,12)=" Percentage Completed: "_+$GET(^XTMP(NAMESPC,"CONFIG","PERCENT COMPLETE"))_"%"
+18 SET TMP(NAMESPCN,13)=""
+19 SET TMP(NAMESPCN,14)=""
+20 DO ^XMD
+21 QUIT
DONEMSG ; Send the user aborted message:
+1 NEW NAMESPC,NAMESPCN,TMP,XMY,XMDUZ,XMTEXT,XMSUB
+2 SET NAMESPC=$$NAMESPC
+3 SET NAMESPCN=$PIECE(NAMESPC,"DG",2)
+4 SET XMY(DUZ)=""
SET XMDUZ="DG PACKAGE"
SET XMTEXT="TMP("_NAMESPCN_","
+5 SET XMSUB="DG*5.3*"_NAMESPCN_": DOD CLEANUP - SUMMARY REPORT"
+6 SET TMP(NAMESPCN,1)="CLEANUP PROCESSING"
+7 SET TMP(NAMESPCN,2)="------------------"
+8 SET TMP(NAMESPCN,3)=""
+9 SET TMP(NAMESPCN,4)="The cleanup has run to completion. Here are the results:"
+10 SET TMP(NAMESPCN,5)=""
+11 SET TMP(NAMESPCN,6)=" Start Date/Time: "_$$FMTE^XLFDT(+$GET(^XTMP(NAMESPC,"CONFIG","START TIME")),"P")
+12 SET TMP(NAMESPCN,7)=" End Date/Time: "_$$FMTE^XLFDT(+$GET(^XTMP(NAMESPC,"CONFIG","COMPLETE")),"P")
+13 SET TMP(NAMESPCN,8)=""
+14 SET TMP(NAMESPCN,9)="Current Counts: "
+15 SET TMP(NAMESPCN,10)=" Total Patient Records Processed: "_+$GET(^XTMP(NAMESPC,"CONFIG","TOTPR"))
+16 SET TMP(NAMESPCN,11)=" Total Anomalies Corrected: "_+$GET(^XTMP(NAMESPC,"CONFIG","SUCCESS"))
+17 SET TMP(NAMESPCN,12)=" Percentage Completed: 100%"
+18 SET TMP(NAMESPCN,13)=""
+19 SET TMP(NAMESPCN,14)=""
+20 DO ^XMD
+21 QUIT