Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: MAGIPS99

MAGIPS99.m

Go to the documentation of this file.
  1. MAGIPS99 ;Post init routine to queue site activity at install. ; 24 Jun 2008 3:12 PM
  1. ;;3.0;IMAGING;**99**;Mar 19, 2002;Build 2057;Apr 19, 2011
  1. ;; Per VHA Directive 2004-038, this routine should not be modified.
  1. ;; +---------------------------------------------------------------+
  1. ;; | Property of the US Government. |
  1. ;; | No permission to copy or redistribute this software is given. |
  1. ;; | Use of unreleased versions of this software requires the user |
  1. ;; | to execute a written test agreement with the VistA Imaging |
  1. ;; | Development Office of the Department of Veterans Affairs, |
  1. ;; | telephone (301) 734-0100. |
  1. ;; | The Food and Drug Administration classifies this software as |
  1. ;; | a medical device. As such, it may not be changed in any way. |
  1. ;; | Modifications to this software may result in an adulterated |
  1. ;; | medical device under 21CFR820, the use of which is considered |
  1. ;; | to be a violation of US Federal Statutes. |
  1. ;; +---------------------------------------------------------------+
  1. ;;
  1. Q
  1. ;
  1. POST ;
  1. N CT,CNT,D,D0,D1,D2,DDATE,DG,DIC,DICR,DIW,MAGMSG,ST,XMID,XMY
  1. N MERGE
  1. ;
  1. S MERGE=$$CODEMERGE()
  1. ;
  1. D GETENV^%ZOSV
  1. S CNT=0
  1. S CNT=CNT+1,MAGMSG(CNT)="PACKAGE INSTALL"
  1. S CNT=CNT+1,MAGMSG(CNT)="SITE: "_$$KSP^XUPARAM("WHERE")
  1. S CNT=CNT+1,MAGMSG(CNT)="PACKAGE: "_XPDNM
  1. S CNT=CNT+1,MAGMSG(CNT)="Version: "_$$VER^XPDUTL(XPDNM)
  1. S ST=$$GET1^DIQ(9.7,XPDA,11,"I")
  1. S CNT=CNT+1,MAGMSG(CNT)="Start time: "_$$FMTE^XLFDT(ST)
  1. S CT=$$GET1^DIQ(9.7,XPDA,17,"I") S:+CT'=CT CT=$$NOW^XLFDT()
  1. S CNT=CNT+1,MAGMSG(CNT)="Completion time: "_$$FMTE^XLFDT(CT)
  1. S CNT=CNT+1,MAGMSG(CNT)="Run time: "_$$FMDIFF^XLFDT(CT,ST,3)
  1. S CNT=CNT+1,MAGMSG(CNT)="Environment: "_Y
  1. S CNT=CNT+1,MAGMSG(CNT)="FILE COMMENT: "_$$GET1^DIQ(9.7,XPDA,6,"I")
  1. S CNT=CNT+1,MAGMSG(CNT)="DATE: "_$$NOW^XLFDT()
  1. S CNT=CNT+1,MAGMSG(CNT)="Installed by: "_$$GET1^DIQ(9.7,XPDA,9,"E")
  1. S CNT=CNT+1,MAGMSG(CNT)="Install Name: "_$$GET1^DIQ(9.7,XPDA,.01,"E")
  1. S DDATE=$$GET1^DIQ(9.7,XPDA,51,"I")
  1. S CNT=CNT+1,MAGMSG(CNT)="Distribution Date: "_$$FMTE^XLFDT(DDATE)
  1. S XMSUB=XPDNM_" INSTALLATION"
  1. S XMID=$G(DUZ) S:'XMID XMID=.5
  1. S XMY(XMID)=""
  1. S XMY("G.MAG SERVER")=""
  1. S:$G(MAGDUZ) XMY(MAGDUZ)=""
  1. S XMSUB=$E(XMSUB,1,63)
  1. D SENDMSG^XMXAPI(XMID,XMSUB,"MAGMSG",.XMY,,.XMZ,)
  1. I $G(XMERR) M XMERR=^TMP("XMERR",$J) S $EC=",U13-Cannot send MailMan message,"
  1. Q
  1. ;
  1. CODEMERGE() ;
  1. ;P99 post-install code merge fixer
  1. ; MAGGTIA as installed in KIDS assumes no previous installs of 106/117
  1. ; MAGZTEMP1 routine has the MAGGTIA with 106/117 code merge
  1. ; MAGZTEMP2 routine has the MAGGTIA with 106 code merge
  1. ; Both MAGZTEMP1 & MAGZTEMP2 will be deleted after install
  1. ;
  1. N SCENARIO,SECLIN
  1. S SCENARIO=0
  1. I $$PATCH^XPDUTL("MAG*3.0*117") S SCENARIO=1
  1. I 'SCENARIO I $$PATCH^XPDUTL("MAG*3.0*106") S SCENARIO=2
  1. I SCENARIO=1 D SCEN1
  1. I SCENARIO=2 D SCEN2
  1. D CLEANUP
  1. ; Check the 2nd lines of MAGGTIA to confirm success
  1. S SECLINE=$P($T(+2^@"MAGGTIA"),";",5)
  1. I (SCENARIO=0&(SECLINE="**8,48,99")) Q 1
  1. I (SCENARIO=1&(SECLINE="**8,48,106,99**")) Q 1
  1. I (SCENARIO=2&(SECLINE="**8,48,106,99,117**")) Q 1
  1. Q -1
  1. ;
  1. SCEN1 ;
  1. S X=$$DEL("MAGGTIA")
  1. D COPY("MAGZTEMP1","MAGGTIA")
  1. Q
  1. SCEN2 ;
  1. S X=$$DEL("MAGGTIA")
  1. D COPY("MAGZTEMP2","MAGGTIA")
  1. Q
  1. CLEANUP ;
  1. S X=$$DEL("MAGZTEMP1")
  1. S X=$$DEL("MAGZTEMP2")
  1. Q
  1. ;
  1. COPY(FROM,TO) ;
  1. ;Cribbed & modified slightly from COPY^ZTMGRSET
  1. N ZTOS
  1. S ZTOS=$$OSNUM^ZTMGRSET() ;Determine local OS
  1. I ZTOS'=7,ZTOS'=8 X "ZL @FROM ZS @TO" Q
  1. ;For GT.M below
  1. N PATH,COPY,CMD S PATH=$$R
  1. S FROM=PATH_FROM_".m"
  1. S TO=PATH_$TR(TO,"%","_")_".m"
  1. S COPY=$S(ZTOS=7:"COPY",1:"cp")
  1. S CMD=COPY_" "_FROM_" "_TO
  1. X "ZSYSTEM CMD"
  1. Q
  1. ;
  1. R() ; routine directory for GT.M
  1. ;Cribbed from R^ZTMGRSET
  1. N ZRO X "S ZRO=$ZRO"
  1. I ZTOS=7 D Q $S(ZRO["(":$P($P(ZRO,"(",2),")"),1:ZRO)
  1. . S ZRO=$P(ZRO,",")
  1. . I ZRO["/SRC=" S ZRO=$P(ZRO,"=",2) Q ;Source dir
  1. . S ZRO=$S(ZRO["/":$P(ZRO,"/"),1:ZRO) Q ;Source and Obj in same dir
  1. I ZTOS=8 Q $P($S(ZRO["(":$P($P(ZRO,"(",2),")"),1:ZRO)," ")_"/" ;Use first source dir.
  1. E Q ""
  1. ;
  1. DEL(ROUTINE) ;
  1. N X
  1. S X=ROUTINE
  1. Q:X=-1 I $T(^@X)="" Q 0
  1. X ^%ZOSF("DEL")
  1. I $T(^@X)="" Q 1
  1. Q