MAGIP278 ;WOIFO/DAC - Install code for MAG*3.0*278 ; Oct 06, 2021@13:54:20
;;3.0;IMAGING;**278**;Mar 19, 2002;Build 138
;; Per VA Directive 6402, this routine should not be modified.
;; +---------------------------------------------------------------+
;; | Property of the US Government. |
;; | No permission to copy or redistribute this software is given. |
;; | Use of unreleased versions of this software requires the user |
;; | to execute a written test agreement with the VistA Imaging |
;; | Development Office of the Department of Veterans Affairs, |
;; | telephone (301) 734-0100. |
;; | The Food and Drug Administration classifies this software as |
;; | a medical device. As such, it may not be changed in any way. |
;; | Modifications to this software may result in an adulterated |
;; | medical device under 21CFR820, the use of which is considered |
;; | to be a violation of US Federal Statutes. |
;; +---------------------------------------------------------------+
;;
; There are no environment checks here but the MAGIP278 has to be
; referenced by the "Environment Check Routine" field of the KIDS
; build so that entry points of the routine are available to the
; KIDS during all installation phases.
Q
;
;+++++ INSTALLATION ERROR HANDLING
ERROR ; Error handling
S:$D(XPDNM) XPDABORT=1
;--- Display the messages and store them to the INSTALL file
D DUMP^MAGUERR1(),ABTMSG^MAGKIDS()
Q
;
;***** POST-INSTALL CODE
POS ; Post-Install
;
D QUE
;
D ATTACH
D SYN
Q
;
QUE ; Que post install
N NAMSP,PATCH,JOBN,ZTSK,ZTRTN,ZTIO,ZTDTH,ZTDESC,Y,ZTQUEUED,ZTREQ,ZTSAVE,CNT,PSJCNT,SBJM,RESTART,SMSG
S NAMSP="MAGVCLN"
S JOBN="MAG*3.0*278 Post Install"
S PATCH="MAG*3.0*278"
S Y=$$NOW^XLFDT S ZTDTH=$$FMTH^XLFDT(Y)
;
S ZTRTN="QUE^"_NAMSP,ZTIO=""
S (SBJM,ZTDESC)="Background job for "_JOBN
S ZTSAVE("JOBN")="",ZTSAVE("ZTDTH")="",ZTSAVE("DUZ")="",ZTSAVE("SBJM")=""
D ^%ZTLOAD
D:$D(ZTSK)
. N POSTEXT
. S POSTEXT(1)="A MailMan message will be sent to the installer and the"
. S POSTEXT(2)="MAG SERVER mail group upon Post Install Completion"
. S POSTEXT(3)="*** Task #"_ZTSK_" Queued! ***"
. D MES^XPDUTL(.POSTEXT)
. S ZTSAVE("ZTSK")=""
;
;--- Send the notification e-mail
D BMES^XPDUTL("Post Install Mail Message: "_$$FMTE^XLFDT($$NOW^XLFDT))
D INS^MAGQBUT4(XPDNM,DUZ,$$NOW^XLFDT,XPDA)
K XPDQUES
Q
;
;
ATTACH ; Attach options to PSO EPCS UTILITY menu
N MENU,OPTION,CHECK,SYN
S MENU="MAGV HDIG MENU"
F OPTION="MAGV SEARCH PROBLEMS","MAGV RESOLVE PROBLEMS" D
. S SYN=$S(OPTION["SEARCH":"SRPR",1:"VRPR")
. S CHECK=$$ADD^XPDMENU(MENU,OPTION,SYN)
. D BMES^XPDUTL(">>> "_OPTION_" Option"_$S('CHECK:" NOT added to "_MENU,1:" added to "_MENU)_" <<<")
Q
;
SYN ; Add Synonyms to Menu
N MENUIEN
S MENUIEN=$$FIND1^DIC(19,,"BX","MAGV HDIG MENU")
I MENUIEN D
. N IENS,MAGERR,ITEMIEN,FDA
. S ITEMIEN=$$FIND1^DIC(19.01,","_MENUIEN_",",,"MAGV SEARCH PROBLEMS")
. Q:'ITEMIEN
. S IENS=ITEMIEN_","_MENUIEN_","
. S FDA(19.01,IENS,2)="SRPR"
. D FILE^DIE(,"FDA","MAGERR")
. ;
. K IENS,MAGERR,ITEMIEN
. S ITEMIEN=$$FIND1^DIC(19.01,","_MENUIEN_",",,"MAGV RESOLVE PROBLEMS")
. Q:'ITEMIEN
. S IENS=ITEMIEN_","_MENUIEN_","
. S FDA(19.01,IENS,2)="VRPR"
. D FILE^DIE(,"FDA","MAGERR")
;
Q
;
;***** PRE-INSTALL CODE
PRE ; Pre-Install
N DIU,MAGFLD,MAGERR,MAGOPTID,MAGOPTDE,DA
S MAGOPTID=$$FIND1^DIC(19,,"X","MAGV IDENTIFY DUPLICATES")
S MAGOPTDE=$$FIND1^DIC(19,,"X","MAGV DELETE DUPLICATES")
; Delete Obsolete Options if they exist
I MAGOPTID D
. N MAGVRMI,DIK
. S MAGVRMI=$$DELETE^XPDMENU("MAGV HDIG MENU","MAGV IDENTIFY DUPLICATES")
. I MAGVRMI S DIK="^DIC(19,",DA=+$G(MAGOPTID) D ^DIK
I MAGOPTDE D
. N MAGVRMD,DIK
. S MAGVRMD=$$DELETE^XPDMENU("MAGV HDIG MENU","MAGV DELETE DUPLICATES")
. I MAGVRMD S DIK="^DIC(19,",DA=+$G(MAGOPTID) D ^DIK
D FIELD^DID(2005.67,.01,,"LABEL","MAGFLD","MAGERR")
; If old DD exists, remove it
I $G(MAGFLD("LABEL"))="DUPLICATE IEN" D
. S DIU(0)="D",DIU="^MAGV(2005.67," D EN^DIU2
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMAGIP278 4196 printed Oct 16, 2024@18:06:14 Page 2
MAGIP278 ;WOIFO/DAC - Install code for MAG*3.0*278 ; Oct 06, 2021@13:54:20
+1 ;;3.0;IMAGING;**278**;Mar 19, 2002;Build 138
+2 ;; Per VA Directive 6402, this routine should not be modified.
+3 ;; +---------------------------------------------------------------+
+4 ;; | Property of the US Government. |
+5 ;; | No permission to copy or redistribute this software is given. |
+6 ;; | Use of unreleased versions of this software requires the user |
+7 ;; | to execute a written test agreement with the VistA Imaging |
+8 ;; | Development Office of the Department of Veterans Affairs, |
+9 ;; | telephone (301) 734-0100. |
+10 ;; | The Food and Drug Administration classifies this software as |
+11 ;; | a medical device. As such, it may not be changed in any way. |
+12 ;; | Modifications to this software may result in an adulterated |
+13 ;; | medical device under 21CFR820, the use of which is considered |
+14 ;; | to be a violation of US Federal Statutes. |
+15 ;; +---------------------------------------------------------------+
+16 ;;
+17 ; There are no environment checks here but the MAGIP278 has to be
+18 ; referenced by the "Environment Check Routine" field of the KIDS
+19 ; build so that entry points of the routine are available to the
+20 ; KIDS during all installation phases.
+21 QUIT
+22 ;
+23 ;+++++ INSTALLATION ERROR HANDLING
ERROR ; Error handling
+1 if $DATA(XPDNM)
SET XPDABORT=1
+2 ;--- Display the messages and store them to the INSTALL file
+3 DO DUMP^MAGUERR1()
DO ABTMSG^MAGKIDS()
+4 QUIT
+5 ;
+6 ;***** POST-INSTALL CODE
POS ; Post-Install
+1 ;
+2 DO QUE
+3 ;
+4 DO ATTACH
+5 DO SYN
+6 QUIT
+7 ;
QUE ; Que post install
+1 NEW NAMSP,PATCH,JOBN,ZTSK,ZTRTN,ZTIO,ZTDTH,ZTDESC,Y,ZTQUEUED,ZTREQ,ZTSAVE,CNT,PSJCNT,SBJM,RESTART,SMSG
+2 SET NAMSP="MAGVCLN"
+3 SET JOBN="MAG*3.0*278 Post Install"
+4 SET PATCH="MAG*3.0*278"
+5 SET Y=$$NOW^XLFDT
SET ZTDTH=$$FMTH^XLFDT(Y)
+6 ;
+7 SET ZTRTN="QUE^"_NAMSP
SET ZTIO=""
+8 SET (SBJM,ZTDESC)="Background job for "_JOBN
+9 SET ZTSAVE("JOBN")=""
SET ZTSAVE("ZTDTH")=""
SET ZTSAVE("DUZ")=""
SET ZTSAVE("SBJM")=""
+10 DO ^%ZTLOAD
+11 if $DATA(ZTSK)
Begin DoDot:1
+12 NEW POSTEXT
+13 SET POSTEXT(1)="A MailMan message will be sent to the installer and the"
+14 SET POSTEXT(2)="MAG SERVER mail group upon Post Install Completion"
+15 SET POSTEXT(3)="*** Task #"_ZTSK_" Queued! ***"
+16 DO MES^XPDUTL(.POSTEXT)
+17 SET ZTSAVE("ZTSK")=""
End DoDot:1
+18 ;
+19 ;--- Send the notification e-mail
+20 DO BMES^XPDUTL("Post Install Mail Message: "_$$FMTE^XLFDT($$NOW^XLFDT))
+21 DO INS^MAGQBUT4(XPDNM,DUZ,$$NOW^XLFDT,XPDA)
+22 KILL XPDQUES
+23 QUIT
+24 ;
+25 ;
ATTACH ; Attach options to PSO EPCS UTILITY menu
+1 NEW MENU,OPTION,CHECK,SYN
+2 SET MENU="MAGV HDIG MENU"
+3 FOR OPTION="MAGV SEARCH PROBLEMS","MAGV RESOLVE PROBLEMS"
Begin DoDot:1
+4 SET SYN=$SELECT(OPTION["SEARCH":"SRPR",1:"VRPR")
+5 SET CHECK=$$ADD^XPDMENU(MENU,OPTION,SYN)
+6 DO BMES^XPDUTL(">>> "_OPTION_" Option"_$SELECT('CHECK:" NOT added to "_MENU,1:" added to "_MENU)_" <<<")
End DoDot:1
+7 QUIT
+8 ;
SYN ; Add Synonyms to Menu
+1 NEW MENUIEN
+2 SET MENUIEN=$$FIND1^DIC(19,,"BX","MAGV HDIG MENU")
+3 IF MENUIEN
Begin DoDot:1
+4 NEW IENS,MAGERR,ITEMIEN,FDA
+5 SET ITEMIEN=$$FIND1^DIC(19.01,","_MENUIEN_",",,"MAGV SEARCH PROBLEMS")
+6 if 'ITEMIEN
QUIT
+7 SET IENS=ITEMIEN_","_MENUIEN_","
+8 SET FDA(19.01,IENS,2)="SRPR"
+9 DO FILE^DIE(,"FDA","MAGERR")
+10 ;
+11 KILL IENS,MAGERR,ITEMIEN
+12 SET ITEMIEN=$$FIND1^DIC(19.01,","_MENUIEN_",",,"MAGV RESOLVE PROBLEMS")
+13 if 'ITEMIEN
QUIT
+14 SET IENS=ITEMIEN_","_MENUIEN_","
+15 SET FDA(19.01,IENS,2)="VRPR"
+16 DO FILE^DIE(,"FDA","MAGERR")
End DoDot:1
+17 ;
+18 QUIT
+19 ;
+20 ;***** PRE-INSTALL CODE
PRE ; Pre-Install
+1 NEW DIU,MAGFLD,MAGERR,MAGOPTID,MAGOPTDE,DA
+2 SET MAGOPTID=$$FIND1^DIC(19,,"X","MAGV IDENTIFY DUPLICATES")
+3 SET MAGOPTDE=$$FIND1^DIC(19,,"X","MAGV DELETE DUPLICATES")
+4 ; Delete Obsolete Options if they exist
+5 IF MAGOPTID
Begin DoDot:1
+6 NEW MAGVRMI,DIK
+7 SET MAGVRMI=$$DELETE^XPDMENU("MAGV HDIG MENU","MAGV IDENTIFY DUPLICATES")
+8 IF MAGVRMI
SET DIK="^DIC(19,"
SET DA=+$GET(MAGOPTID)
DO ^DIK
End DoDot:1
+9 IF MAGOPTDE
Begin DoDot:1
+10 NEW MAGVRMD,DIK
+11 SET MAGVRMD=$$DELETE^XPDMENU("MAGV HDIG MENU","MAGV DELETE DUPLICATES")
+12 IF MAGVRMD
SET DIK="^DIC(19,"
SET DA=+$GET(MAGOPTID)
DO ^DIK
End DoDot:1
+13 DO FIELD^DID(2005.67,.01,,"LABEL","MAGFLD","MAGERR")
+14 ; If old DD exists, remove it
+15 IF $GET(MAGFLD("LABEL"))="DUPLICATE IEN"
Begin DoDot:1
+16 SET DIU(0)="D"
SET DIU="^MAGV(2005.67,"
DO EN^DIU2
End DoDot:1
+17 QUIT