DVBAUDUI ;ALB/CP- User Audit Summary Inquiry Prompts ; 3/27/18 2:26pm
;;2.7;AMIE;**256**;;Build 19
; Per VHA Directive 6402 this routine should not be modified
; ^%ZISC ; IA #10089
; $$NOW^XLFDT ; IA #10103
; ^DISV ; IA # 510
;
Q
;
ENTER ; From option: User Audit Summary Inquiry
; [DVBA USER AUDIT SUMMARY INQ]
;
N DVBASKDT,DVBDTBEG,DVBDTEND,DVBUSER,DVBOPTION,DVBQUIT,DVBSORT,POP,X
;
PROMPT ; User prompts
; ZEXCEPT: IO,IOF
;
S DVBQUIT=0
S DVBOPTION="USER AUDIT SUMMARY INQUIRY"
W @IOF,!?1,"*** ",DVBOPTION," ***"
D KILL ;.................................. Refresh the ^TMP("AMIE",$J)
D USER^DVBAUDDIC("AEMQZ",0) G:DVBQUIT EXIT ; Prompt for USER(s)
D ASKDT($T(+0)) G:DVBQUIT PROMPT ;......... Limit by date range?
I DVBASKDT="YES" D G:DVBQUIT PROMPT ;...... IF Yes
. D GETDTS^DVBAUDDT1("LAST AUDITED DATE") ;.. Get the data range
D ASKSORT($T(+0)) G:DVBQUIT PROMPT ;....... Prompt for sort criteria
D DEVICE^DVBAUDDEV1($T(+0),,80) G:DVBQUIT PROMPT U IO ; Device prompt
W @IOF ; Clear the screen if the report is viewed immediately
START ; Start routine here when queued
;
N DVBBEG,DVBEND
S DVBBEG=$$NOW^XLFDT()
D BUILD^DVBAUDUI1 ;..........................Build sorted ^TMP global
S DVBEND=$$NOW^XLFDT() ;.....................Save end date/time
D PRINT^DVBAUDUI2 ;..........................Print the report
D PROCTIME^DVBAUDPRT1(DVBBEG,DVBEND) ;...........Display processing time
D CONTINUE^DVBAUDPRT1 ;........................Press <Enter> to continue
EXIT ; Exit routine logic, close device & kill the ^TMP global
;
N @($$%ZISC^DVBAUDNEW1())
D ^%ZISC
KILL ; Kill ^TMP global
K ^TMP("AMIE",$J)
;
Q ; Quit routine DVBAUDUI
;
ASKDT(DVBRTN) ; Limit the report to a specific date range?
;
N DVBDEF
; ZEXCEPT: DUZ,DVBASKDT,DVBQUIT
;
S DVBDEF=$G(^DISV(DUZ,DVBRTN,"DVBASKDT"),"NO")
;
W !
S DVBASKDT=$$ASKYESNO^DVBAUDASK1("LIMIT THE REPORT TO A SPECIFIC LAST AUDIT DATE RANGE")
I DVBASKDT="^" S DVBQUIT=1 Q
S DVBASKDT=$S(DVBASKDT="Y":"YES",1:"NO")
;
S ^DISV(DUZ,DVBRTN,"DVBASKDT")=DVBASKDT ; Save response for next default
;
Q ; Quit ASKDT
;
ASKSORT(DVBRTN) ; Get sorting criteria
;
N DVBDEF ; Default response
; ZEXCEPT: DUZ,DVBQUIT,DVBSORT
;
S DVBDEF=$G(^DISV(DUZ,DVBRTN,"DVBSORT"))
;
S DVBSORT(1)="User & Option Name"
S DVBSORT(2)="User & Date Option Last Used (Chronological Order)"
S DVBSORT(3)="User & Date Option Last Used (Reverse Chronological)"
S DVBSORT(4)="User & Highest to Lowest Option Usage Count"
;
D GETSORT^DVBAUDASK1($T(+0),.DVBSORT,DVBDEF) Q:DVBQUIT
;
S DVBSORT=$G(^DISV(DUZ,DVBRTN,"DVBSORT"))
;
Q ; Quit ASKSORT
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBAUDUI 2760 printed Sep 17, 2026@20:27:33 Page 2
DVBAUDUI ;ALB/CP- User Audit Summary Inquiry Prompts ; 3/27/18 2:26pm
+1 ;;2.7;AMIE;**256**;;Build 19
+2 ; Per VHA Directive 6402 this routine should not be modified
+3 ; ^%ZISC ; IA #10089
+4 ; $$NOW^XLFDT ; IA #10103
+5 ; ^DISV ; IA # 510
+6 ;
+7 QUIT
+8 ;
ENTER ; From option: User Audit Summary Inquiry
+1 ; [DVBA USER AUDIT SUMMARY INQ]
+2 ;
+3 NEW DVBASKDT,DVBDTBEG,DVBDTEND,DVBUSER,DVBOPTION,DVBQUIT,DVBSORT,POP,X
+4 ;
PROMPT ; User prompts
+1 ; ZEXCEPT: IO,IOF
+2 ;
+3 SET DVBQUIT=0
+4 SET DVBOPTION="USER AUDIT SUMMARY INQUIRY"
+5 WRITE @IOF,!?1,"*** ",DVBOPTION," ***"
+6 ;.................................. Refresh the ^TMP("AMIE",$J)
DO KILL
+7 ; Prompt for USER(s)
DO USER^DVBAUDDIC("AEMQZ",0)
if DVBQUIT
GOTO EXIT
+8 ;......... Limit by date range?
DO ASKDT($TEXT(+0))
if DVBQUIT
GOTO PROMPT
+9 ;...... IF Yes
IF DVBASKDT="YES"
Begin DoDot:1
+10 ;.. Get the data range
DO GETDTS^DVBAUDDT1("LAST AUDITED DATE")
End DoDot:1
if DVBQUIT
GOTO PROMPT
+11 ;....... Prompt for sort criteria
DO ASKSORT($TEXT(+0))
if DVBQUIT
GOTO PROMPT
+12 ; Device prompt
DO DEVICE^DVBAUDDEV1($TEXT(+0),,80)
if DVBQUIT
GOTO PROMPT
USE IO
+13 ; Clear the screen if the report is viewed immediately
WRITE @IOF
START ; Start routine here when queued
+1 ;
+2 NEW DVBBEG,DVBEND
+3 SET DVBBEG=$$NOW^XLFDT()
+4 ;..........................Build sorted ^TMP global
DO BUILD^DVBAUDUI1
+5 ;.....................Save end date/time
SET DVBEND=$$NOW^XLFDT()
+6 ;..........................Print the report
DO PRINT^DVBAUDUI2
+7 ;...........Display processing time
DO PROCTIME^DVBAUDPRT1(DVBBEG,DVBEND)
+8 ;........................Press <Enter> to continue
DO CONTINUE^DVBAUDPRT1
EXIT ; Exit routine logic, close device & kill the ^TMP global
+1 ;
+2 NEW @($$%ZISC^DVBAUDNEW1())
+3 DO ^%ZISC
KILL ; Kill ^TMP global
+1 KILL ^TMP("AMIE",$JOB)
+2 ;
+3 ; Quit routine DVBAUDUI
QUIT
+4 ;
ASKDT(DVBRTN) ; Limit the report to a specific date range?
+1 ;
+2 NEW DVBDEF
+3 ; ZEXCEPT: DUZ,DVBASKDT,DVBQUIT
+4 ;
+5 SET DVBDEF=$GET(^DISV(DUZ,DVBRTN,"DVBASKDT"),"NO")
+6 ;
+7 WRITE !
+8 SET DVBASKDT=$$ASKYESNO^DVBAUDASK1("LIMIT THE REPORT TO A SPECIFIC LAST AUDIT DATE RANGE")
+9 IF DVBASKDT="^"
SET DVBQUIT=1
QUIT
+10 SET DVBASKDT=$SELECT(DVBASKDT="Y":"YES",1:"NO")
+11 ;
+12 ; Save response for next default
SET ^DISV(DUZ,DVBRTN,"DVBASKDT")=DVBASKDT
+13 ;
+14 ; Quit ASKDT
QUIT
+15 ;
ASKSORT(DVBRTN) ; Get sorting criteria
+1 ;
+2 ; Default response
NEW DVBDEF
+3 ; ZEXCEPT: DUZ,DVBQUIT,DVBSORT
+4 ;
+5 SET DVBDEF=$GET(^DISV(DUZ,DVBRTN,"DVBSORT"))
+6 ;
+7 SET DVBSORT(1)="User & Option Name"
+8 SET DVBSORT(2)="User & Date Option Last Used (Chronological Order)"
+9 SET DVBSORT(3)="User & Date Option Last Used (Reverse Chronological)"
+10 SET DVBSORT(4)="User & Highest to Lowest Option Usage Count"
+11 ;
+12 DO GETSORT^DVBAUDASK1($TEXT(+0),.DVBSORT,DVBDEF)
if DVBQUIT
QUIT
+13 ;
+14 SET DVBSORT=$GET(^DISV(DUZ,DVBRTN,"DVBSORT"))
+15 ;
+16 ; Quit ASKSORT
QUIT