DVBAUDDIK ;ALB/CP - FM DIK API Subroutine Calls ; 3/27/18 7:56pm
;;2.7;AMIE;**256**;;Build 19
; Per VHA Directive 6402 this routine should not be modified
; FileMan DIK API IA: 10013 (Supported)
;
Q
;
DELEVENT(DVBIENEVENT) ; Deletes an entry in the AMIE OPTION AUDIT
; EVENT file #369.999
N @($$DIK^DVBAUDNEW1())
; ZEXCEPT: DA,DIK,DVBQUIT
;
S DVBQUIT=0 I '$G(DVBIENEVENT) S DVBQUIT=1 Q
;
S DIK="^DVB(396.999,"
S DA=DVBIENEVENT
D ^DIK
;
Q ; Quit DELEVENT
;
OCCURENC(DVBIEN19,DVBIEN1ST) ;
;
N @($$DIK^DVBAUDNEW1())
; ZEXCEPT: DA,DIK,DVBQUIT
;
S DVBQUIT=0 I '$G(DVBIEN19)!('$G(DVBIEN1ST)) S DVBQUIT=1 Q
;
S DIK="^DVB(396.9991,DVBIEN19,""OCCUR""," ; Global of OCCURANCE multiple
S DA(1)=DVBIEN19
S DA=DVBIEN1ST
D ^DIK
;
Q ; Quit OCCURANC
;
OPTSUM(DVBIEN19) ; Delete an entry in the AMIE AUDIT SUMMARY BY OPTION #396.9991
;
N @($$DIK^DVBAUDNEW1())
; ZEXCEPT: DA,DIK,DVBQUIT
;
S DVBQUIT=0 I '$G(DVBIEN19) S DVBQUIT=1 Q
;
S DIK="^DVB(396.9991,"
S DA=DVBIEN19
D ^DIK
;
Q ; Quit OPTSUM
;
USEROPT(DVBIEN19) ;
;
; ^DVB(396.9992,"OPTION",DVBIEN19,DVBIEN200,DVBIEN19)=""
;
N DVBIEN200
; ZEXCEPT: DA,DIK,DVBQUIT,U
;
S DVBQUIT=0 I '$G(DVBIEN19) S DVBQUIT=1 Q
;
; Find each user who has utilized the DVBIEN19 option.
;
S DVBIEN200=""
F S DVBIEN200=$O(^DVB(396.9992,"OPTION",DVBIEN19,DVBIEN200)) Q:DVBIEN200="" D ;
. N @($$DIK^DVBAUDNEW1())
. S DIK="^DVB(396.9992,DVBIEN200,""OPTION""," ;Global root of OPTION mult
. S DA(1)=DVBIEN200
. S DA=DVBIEN19
. D ^DIK
. ;
. ; Quit, if sub-file entries still exist
. ;
. Q:$P($G(^DVB(396.9992,DVBIEN200,"OPTION",0)),U,4)>0
. ;
. ; If no OPTION multiple sub-file entries are left for this
. ; USER, then delete the USER record.
. ;
. D USERSUM(DVBIEN200) ; Delete the AMIE AUDIT SUMMARY BY USER entry
;
Q ; Quit USEROPT
;
USERSUM(DVBIEN200) ; Delete an entry in the AMIE AUDIT SUMMARY BY USER #396.9992
;
N @($$DIK^DVBAUDNEW1())
; ZEXCEPT: DA,DIK,DVBQUIT
;
S DVBQUIT=0 I '$G(DVBIEN200) S DVBQUIT=1 Q
;
S DIK="^DVB(396.9992,"
S DA=DVBIEN200
D ^DIK
;
Q ; Quit USERSUM
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBAUDDIK 2184 printed Sep 17, 2026@20:27:18 Page 2
DVBAUDDIK ;ALB/CP - FM DIK API Subroutine Calls ; 3/27/18 7:56pm
+1 ;;2.7;AMIE;**256**;;Build 19
+2 ; Per VHA Directive 6402 this routine should not be modified
+3 ; FileMan DIK API IA: 10013 (Supported)
+4 ;
+5 QUIT
+6 ;
DELEVENT(DVBIENEVENT) ; Deletes an entry in the AMIE OPTION AUDIT
+1 ; EVENT file #369.999
+2 NEW @($$DIK^DVBAUDNEW1())
+3 ; ZEXCEPT: DA,DIK,DVBQUIT
+4 ;
+5 SET DVBQUIT=0
IF '$GET(DVBIENEVENT)
SET DVBQUIT=1
QUIT
+6 ;
+7 SET DIK="^DVB(396.999,"
+8 SET DA=DVBIENEVENT
+9 DO ^DIK
+10 ;
+11 ; Quit DELEVENT
QUIT
+12 ;
OCCURENC(DVBIEN19,DVBIEN1ST) ;
+1 ;
+2 NEW @($$DIK^DVBAUDNEW1())
+3 ; ZEXCEPT: DA,DIK,DVBQUIT
+4 ;
+5 SET DVBQUIT=0
IF '$GET(DVBIEN19)!('$GET(DVBIEN1ST))
SET DVBQUIT=1
QUIT
+6 ;
+7 ; Global of OCCURANCE multiple
SET DIK="^DVB(396.9991,DVBIEN19,""OCCUR"","
+8 SET DA(1)=DVBIEN19
+9 SET DA=DVBIEN1ST
+10 DO ^DIK
+11 ;
+12 ; Quit OCCURANC
QUIT
+13 ;
OPTSUM(DVBIEN19) ; Delete an entry in the AMIE AUDIT SUMMARY BY OPTION #396.9991
+1 ;
+2 NEW @($$DIK^DVBAUDNEW1())
+3 ; ZEXCEPT: DA,DIK,DVBQUIT
+4 ;
+5 SET DVBQUIT=0
IF '$GET(DVBIEN19)
SET DVBQUIT=1
QUIT
+6 ;
+7 SET DIK="^DVB(396.9991,"
+8 SET DA=DVBIEN19
+9 DO ^DIK
+10 ;
+11 ; Quit OPTSUM
QUIT
+12 ;
USEROPT(DVBIEN19) ;
+1 ;
+2 ; ^DVB(396.9992,"OPTION",DVBIEN19,DVBIEN200,DVBIEN19)=""
+3 ;
+4 NEW DVBIEN200
+5 ; ZEXCEPT: DA,DIK,DVBQUIT,U
+6 ;
+7 SET DVBQUIT=0
IF '$GET(DVBIEN19)
SET DVBQUIT=1
QUIT
+8 ;
+9 ; Find each user who has utilized the DVBIEN19 option.
+10 ;
+11 SET DVBIEN200=""
+12 ;
FOR
SET DVBIEN200=$ORDER(^DVB(396.9992,"OPTION",DVBIEN19,DVBIEN200))
if DVBIEN200=""
QUIT
Begin DoDot:1
+13 NEW @($$DIK^DVBAUDNEW1())
+14 ;Global root of OPTION mult
SET DIK="^DVB(396.9992,DVBIEN200,""OPTION"","
+15 SET DA(1)=DVBIEN200
+16 SET DA=DVBIEN19
+17 DO ^DIK
+18 ;
+19 ; Quit, if sub-file entries still exist
+20 ;
+21 if $PIECE($GET(^DVB(396.9992,DVBIEN200,"OPTION",0)),U,4)>0
QUIT
+22 ;
+23 ; If no OPTION multiple sub-file entries are left for this
+24 ; USER, then delete the USER record.
+25 ;
+26 ; Delete the AMIE AUDIT SUMMARY BY USER entry
DO USERSUM(DVBIEN200)
End DoDot:1
+27 ;
+28 ; Quit USEROPT
QUIT
+29 ;
USERSUM(DVBIEN200) ; Delete an entry in the AMIE AUDIT SUMMARY BY USER #396.9992
+1 ;
+2 NEW @($$DIK^DVBAUDNEW1())
+3 ; ZEXCEPT: DA,DIK,DVBQUIT
+4 ;
+5 SET DVBQUIT=0
IF '$GET(DVBIEN200)
SET DVBQUIT=1
QUIT
+6 ;
+7 SET DIK="^DVB(396.9992,"
+8 SET DA=DVBIEN200
+9 DO ^DIK
+10 ;
+11 ; Quit USERSUM
QUIT
+12 ;