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

MAGIPS59.m

Go to the documentation of this file.
MAGIPS59 ;Post init routine to queue site activity at install ; 16 Feb 2004  2:41 PM
 ;;3.0;IMAGING;**59**;Mar 27, 2007;Build 20
 ;; Per VHA Directive 2004-038, 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.                     |
 ;; +---------------------------------------------------------------+
 ;;
 Q
POST ;
 ; create and send the site installation message
 D VERCHKON ; Turn on Version Checking
 D CR ; Run the Cross Reference on Field #2 SPEC LEVEL of File #2005.84
 ; Check for and display Users that are assigned the MAG WINDOWS Option
 ; but do not have either MAGDISP CLIN or MAGDISP ADMIN 
 D CHKKEY^MAGGTU9
 D REMTASK^MAGQE4
 D STTASK^MAGQE4
 D INS(XPDNM,DUZ,$$NOW^XLFDT,XPDA)
 D NEWRPC ; Add RPC's to the OPTION: MAG WINDOWS 
 D FIXTASK ; Task off the FIX^MAGGTUX process. 
 Q
NEWRPC ; Add new RPC's to MAG WINDOWS Option.
 D ADDRPC("MAG3 TIU CREATE ADDENDUM","MAG WINDOWS")
 D ADDRPC("MAG3 TIU LONG LIST OF TITLES","MAG WINDOWS")
 D ADDRPC("MAG3 TIU MODIFY NOTE","MAG WINDOWS")
 D ADDRPC("MAG3 TIU NEW","MAG WINDOWS")
 D ADDRPC("MAG3 TIU SIGN RECORD","MAG WINDOWS")
 D ADDRPC("MAG4 INDEX GET EVENT","MAG WINDOWS")
 D ADDRPC("MAG4 INDEX GET SPECIALTY","MAG WINDOWS")
 D ADDRPC("MAG4 INDEX GET TYPE","MAG WINDOWS")
 D ADDRPC("MAGG PAT INFO","MAG WINDOWS")
 D ADDRPC("TIU AUTHORIZATION","MAG WINDOWS")
 D ADDRPC("TIU LOAD BOILERPLATE TEXT","MAG WINDOWS")
 D ADDRPC("TIU IS THIS A CONSULT?","MAG WINDOWS")
 D ADDRPC("GMRC LIST CONSULT REQUESTS","MAG WINDOWS")
 D ADDRPC("MAG4 VERSION STATUS","MAG WINDOWS")
 D ADDRPC("MAGG IS DOC CLASS","MAG WINDOWS")
 Q 
 ; We add RPC to MAG WINDOWS Option this way instead of sending Option : MAG WINDOWS
 ; If we send MAG WINDOWS Option, the last one installed will overwrite others.
 ; ADDRPC copied from Patch 51, added the call "D MES^XPDUTL(" instead of "W !"
ADDRPC(RPCNAME,OPTNAME) ;
 N DA,DIC
 S DIC="^DIC(19,",DIC(0)="",X=OPTNAME D ^DIC
 I Y<0 D  Q
 . D MES^XPDUTL("Cannot add RPC: """_RPCNAME_""" to Option: """_OPTNAME_""".")
 . D MES^XPDUTL("Cannot find Option: """_OPTNAME_""".")
 . Q
 I '$D(^XWB(8994,"B",RPCNAME)) D  Q
 . D MES^XPDUTL("Cannot add RPC: """_RPCNAME_""" to Option: """_OPTNAME_""".")
 . D MES^XPDUTL("Cannot find RPC: """_RPCNAME_""".")
 . Q
 S DA(1)=+Y
 S DIC=DIC_DA(1)_",""RPC"","
 S DIC(0)="L" ; LAYGO should be allowed here
 S X=RPCNAME
 D ^DIC
 I Y<0 D  Q
 . D MES^XPDUTL("Error Adding RPC: """_RPCNAME_""" to Option: """_OPTNAME_""".")
 . Q
 Q
CR ; Run the Cross reference on Field #2 SPEC LEVEL 
 ; of File #2005.84 IMAGE INDEX FOR SPECIALTY/SUBSPECIALTY
 N DIK
 S DIK="^MAG(2005.84,"
 D IXALL2^DIK ;  Kill all cross references.
 D IXALL^DIK ; Set all cross references.
 Q
VERCHKON ; Turn on Version Checking at the Sites.
 ; We aren't forcing it to stay on, sites can turn it back off.
 N MAGIEN,MAGSITE,VERCHK,MSG
 S MAGIEN=0
 F  S MAGIEN=$O(^MAG(2006.1,MAGIEN)) Q:'MAGIEN  D
 . S MSG="is already ON, no action taken"
 . S MAGSITE=$P($G(^MAG(2006.1,MAGIEN,0)),"^",1)
 . S VERCHK=$P($G(^MAG(2006.1,MAGIEN,"KEYS")),"^",5)
 . I 'VERCHK S $P(^MAG(2006.1,MAGIEN,"KEYS"),"^",5)=1 S MSG="has been turned ON"
 . D MES^XPDUTL("Patch 59 is turning Version Checking ON...")
 . D MES^XPDUTL("Version Checking "_MSG_" for Site: "_MAGSITE)
 Q
FIXTASK ; This will task off the FIX^MAGGTUX process that will fix the 
 ; Invalid INDEX VALUES in the Image File.
 N ANS
 S ZTDTH=$$NOW^XLFDT
 S ZTRTN="TASK^MAGGTUX",ZTDESC="VALIDATE IMAGE INDEX VALUES",ZTIO=""
 S ZTSAVE("COMMIT")=1,ZTSAVE("MAGN")="MAGGTUX",ZTSAVE("QUEUED")=1
 D ^%ZTLOAD
 D MES^XPDUTL("The Utility to Fix invalid Index Values in the entire")
 D MES^XPDUTL("Image File (#2005) has been Queued as TASK# : "_ZTSK)
 Q
INS(XP,DUZ,DATE,IDA) ;
 N CT,CNT,COM,D,D0,D1,D2,DDATE,DG,DIC,DICR,DIW,MAGMSG,ST,XMID,XMY
 D GETENV^%ZOSV
 S CNT=0
 S CNT=CNT+1,MAGMSG(CNT)="PACKAGE INSTALL"
 S CNT=CNT+1,MAGMSG(CNT)="SITE: "_$$KSP^XUPARAM("WHERE")
 S CNT=CNT+1,MAGMSG(CNT)="PACKAGE: "_XP
 S CNT=CNT+1,MAGMSG(CNT)="Version: "_$$VER^XPDUTL(XP)
 S ST=$$GET1^DIQ(9.7,IDA,11,"I")
 S CNT=CNT+1,MAGMSG(CNT)="Start time: "_$$FMTE^XLFDT(ST)
 S CT=$$GET1^DIQ(9.7,IDA,17,"I") S:+CT'=CT CT=$$NOW^XLFDT
 S CNT=CNT+1,MAGMSG(CNT)="Completion time: "_$$FMTE^XLFDT(CT)
 S CNT=CNT+1,MAGMSG(CNT)="Run time: "_$$FMDIFF^XLFDT(CT,ST,3)
 S CNT=CNT+1,MAGMSG(CNT)="Environment: "_Y
 S COM=$$GET1^DIQ(9.7,IDA,6,"I")
 S CNT=CNT+1,MAGMSG(CNT)="FILE COMMENT: "_COM
 S CNT=CNT+1,MAGMSG(CNT)="DATE: "_DATE
 S CNT=CNT+1,MAGMSG(CNT)="Installed by: "_$$GET1^DIQ(9.7,IDA,9,"E")
 S CNT=CNT+1,MAGMSG(CNT)="Install Name: "_$$GET1^DIQ(9.7,IDA,.01,"E")
 S DDATE=$$GET1^DIQ(9.7,IDA,51,"I")
 S CNT=CNT+1,MAGMSG(CNT)="Distribution Date: "_$$FMTE^XLFDT(DDATE)
 S XMSUB=XP_" INSTALLATION"
 S XMID=$G(DUZ) S:'XMID XMID=.5
 S XMY(XMID)=""
 S XMY("G.MAG SERVER")=""
 S:$G(MAGDUZ) XMY(MAGDUZ)=""
 S XMSUB=$E(XMSUB,1,63)
 D SENDMSG^XMXAPI(XMID,XMSUB,"MAGMSG",.XMY,,.XMZ,)
 I $G(XMERR) M XMERR=^TMP("XMERR",$J) S $EC=",U13-Cannot send MailMan message,"
 Q