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

AVA32P24.m

Go to the documentation of this file.
  1. AVA32P24 ;IHS/OIT/FBD - AVA 93.2 PATCH 24 ENVIRONMENT CHECK
  1. ;;93.2;VA SUPPORT FILES;**24**;MAY 16, 2018;Build 6
  1. ;
  1. ;
  1. ENV ;----- ENVIRONMENT CHECK
  1. ;
  1. N IORVOFF,IORVON
  1. ;
  1. D ^XBKVAR
  1. D HOME^%ZIS
  1. ;
  1. D DUZ
  1. I $G(XPDQUIT) D SORRY Q
  1. ;
  1. D RV
  1. D XPZ
  1. D HELLO
  1. D VER
  1. I '$$CHKPAT("AVA*93.2*23") S XPDQUIT=1
  1. D DUPE
  1. D OK
  1. ;
  1. I $D(XPDQUIT) W !,"INSTALL ABORTED!"
  1. ;
  1. Q
  1. ;
  1. DUZ ;----- CHECK FOR VALID DUZ VARIABLES
  1. ;
  1. I '$G(DUZ) W !,"DUZ UNDEFINED OR 0." D FAIL(2)
  1. I '$L($G(DUZ(0))) W !,"DUZ(0) UNDEFINED OR NULL." D FAIL(2)
  1. I '($G(DUZ(0))["@") W !,"THE DD UPDATES REQUIRE AN '@' IN YOUR DUZ(0)" D FAIL(2)
  1. Q
  1. ;
  1. RV ;----- SET REVERSE VIDEO ON/OFF VARIABLES
  1. ;
  1. D HOME^%ZIS
  1. N X
  1. S X="IORVON;IORVOFF"
  1. D ENDR^%ZISS
  1. Q
  1. ;
  1. XPZ ;----- PREVENT 'DISABLE OPTIONS' AND 'MOVE ROUTINES' PROMPTS
  1. ;
  1. I $G(XPDENV)=1 D
  1. . S XPDDIQ("XPZ1")=0 ;SUPPRESS 'DISABLE OPTIONS' PROMPT
  1. . S XPDDIQ("XPZ2")=0 ;SUPPRESS 'MOVE ROUTINES' PROMPT
  1. Q
  1. ;
  1. HELLO ;----- HELLO MESSAGE AND ENVIRONMENT CHECK
  1. ;
  1. N X
  1. S X=$P(^VA(200,DUZ,0),U)
  1. W !!,$$CJ^XLFSTR("Hello, "_$P(X,",",2)_" "_$P(X,","),IOM)
  1. W !!,$$CJ^XLFSTR("Checking Environment for "_$P($T(+2),";",4)_" V "_$P($T(+2),";",3)_" Patch "_$P($T(+2),";",5)_".",IOM)
  1. Q
  1. ;
  1. VER ;----- CHECK FOR VERSIONS
  1. ;
  1. I $$VCHK("AVA","93.2",2)
  1. I $$VCHK("DI","22.0",2)
  1. I $$VCHK("XU","8.0",2)
  1. Q
  1. ;
  1. CHKPAT(X) ;
  1. ;----- CHECK IF PATCH HAS BEEN INSTALLED
  1. ;
  1. ; RETURNS 1 IF PATCH HAS BEEN INSTALLED, 0 IF NOT
  1. ;
  1. N XPDA,OK
  1. S OK=0
  1. S XPDA=0
  1. F S XPDA=$O(^XPD(9.7,"B",X,XPDA)) Q:'XPDA D
  1. . I $P($G(^XPD(9.7,XPDA,0)),U,9)=3 S OK=1
  1. S AVAMSG=$S(OK'=1:"Missing <<<--- FIX IT!",1:"Present.")
  1. W !,$$CJ^XLFSTR("Need patch "_X_"....."_AVAMSG,IOM)
  1. Q OK
  1. ;
  1. DUPE ;----- CHECK FOR DUPLICATE AVA ENTRIES IN PACKAGE FILE
  1. ;
  1. N D,DA,DIC,X,Y
  1. S X="AVA",DIC="^DIC(9.4,",DIC(0)="",D="C"
  1. D IX^DIC
  1. I Y<0,$D(^DIC(9.4,"C","AVA")) D
  1. . W !!,*7,*7,$$CJ^XLFSTR("You have more than one entry in the ",IOM)
  1. . W !,$$CJ^XLFSTR("PACKAGE file with an 'AVA' prefix. ",IOM)
  1. . W !,$$CJ^XLFSTR(IORVON_"One entry needs to be deleted"_IORVOFF,IOM)
  1. . W !,$$CJ^XLFSTR("FIX IT! Before proceeding. ",IOM),!!,*7,*7
  1. . D FAIL(2)
  1. Q
  1. ;
  1. OK ;----- OK TO INSTALL?
  1. ;
  1. I $D(XPDQUIT) D
  1. . W !!,$$CJ^XLFSTR(IORVON_"Please FIX it!!"_IORVOFF,IOM) D SORRY
  1. ;
  1. I '$D(XPDQUIT) D
  1. . W !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
  1. . I '$$DIR^XBDIR("E","","","","","",1) D FAIL(2)
  1. Q
  1. ;
  1. FAIL(X) ;----- SET XPDQUIT
  1. ;
  1. K DIFQ
  1. S XPDQUIT=X
  1. Q
  1. ;
  1. SORRY ;----- ISSUE 'SORRY... PRESS RETURN' MESSAGES
  1. ;
  1. N Y
  1. I '$D(ZTQUEUED) D
  1. . W *7,!,$$CJ^XLFSTR("Sorry.... ",IOM)
  1. . S Y=$$DIR^XBDIR("E","Press RETURN")
  1. Q
  1. ;
  1. VCHK(AVAPRE,AVAVER,AVAQUIT) ;
  1. ;----- CHECK VERSIONS NEEDED
  1. ;
  1. N AVAV,AVAMSG,Y
  1. ;
  1. S Y=1
  1. S AVAV=$$VERSION^XPDUTL(AVAPRE)
  1. S AVAMSG=$S(AVAV<AVAVER:" <<<--- FIX IT!",1:"")
  1. ;
  1. W !,$$CJ^XLFSTR("Need at least "_AVAPRE_" v "_AVAVER_"....."_AVAPRE_" v "_AVAV_" Present"_AVAMSG,IOM)
  1. ;
  1. I AVAV<AVAVER D FAIL(AVAQUIT) S Y=0
  1. ;
  1. Q Y
  1. ;
  1. PRE ;EP -- PRE-INSTALL FROM KIDS.
  1. ;
  1. D ^XBKVAR
  1. ;
  1. D BMES^XPDUTL("Beginning pre-install routine (PRE^AVA32P24)...")
  1. ;
  1. ;ANY PRE-INSTALL SUBROUTINE CALLS GO HERE
  1. ;
  1. D MES^XPDUTL("Pre-install routine is complete.")
  1. Q
  1. ;
  1. POST ;EP -- POST-INSTALL FROM KIDS.
  1. ;
  1. D ^XBKVAR
  1. ;
  1. D BMES^XPDUTL("Beginning post-install routine (POST^AVA32P24)...")
  1. ;
  1. D BMES^XPDUTL("Reconciling DEA# input transforms between files 200 (NEW PERSON) and 6 (PROVIDER)...")
  1. N INPTX
  1. S INPTX=$P(^DD(200,53.2,0),U,5,99) ;EXTRACT INPUT TRANSFORM FROM FILE 200'S DEA# FIELD...
  1. S ^DD(6,5,0)=$P(^DD(6,5,0),U,1,4)_"^"_INPTX ;...AND INCORPORATE INTO DEA# FIELD IN FILE 6.
  1. D BMES^XPDUTL("Input transform reconciliation complete.")
  1. ;
  1. D BMES^XPDUTL("Delivering AVA*93.2*24 install message to select users...")
  1. D MAIL
  1. ;
  1. D BMES^XPDUTL("Post-install routine is complete.")
  1. Q
  1. MAIL ;----- SEND INSTALL MAIL MESSAGE
  1. ;
  1. N DIFROM,XMSUB,XMDUZ,XMTEXT,XMY
  1. ;
  1. K ^TMP("AVAP24MS",$J)
  1. ;
  1. S ^TMP("AVAP24MS",$J,1)=" --- AVA v 93.2, Patch 24, has been installed into this namespace ---"
  1. ;
  1. I $G(XPDA) D
  1. . S %=0
  1. . F S %=$O(^XTMP("XPDI",XPDA,"BLD",XPDBLD,1,%)) Q:'% D
  1. . . S ^TMP("AVAP24MS",$J,(%+1))=" "_^(%,0)
  1. ;
  1. S XMSUB=$P($P($T(+1),";",2)," ",3,99)
  1. S XMDUZ=$S($G(DUZ):DUZ,1:.5)
  1. S XMTEXT="^TMP(""AVAP24MS"",$J,"
  1. S XMY(1)=""
  1. S XMY(DUZ)=""
  1. ;
  1. F %="XUMGR","XUPROG","XUPROGMODE" D SINGLE(%)
  1. ;
  1. D ^XMD
  1. ;
  1. K ^TMP("AVAP24MS",$J)
  1. ;
  1. Q
  1. ;
  1. SINGLE(K) ;----- GET HOLDERS OF A SINGLE KEY K.
  1. ;
  1. N Y
  1. ;
  1. Q:'$D(^XUSEC(K))
  1. ;
  1. S Y=0
  1. F S Y=$O(^XUSEC(K,Y)) Q:'Y S XMY(Y)=""
  1. ;
  1. Q