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

AVA32P17.m

Go to the documentation of this file.
  1. AVA32P17 ;IHS/ITSC/AEF - AVA 93.2 PATCH 17 ; [ 07/01/2003 10:38 AM ]
  1. ;;93.2;VA SUPPORT FILES;**17**;JUL 01, 1993;Build 12
  1. ;
  1. ;IHS/ITSC/AEF AVA*93.2*17 06/26/2003
  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. 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' PROMT
  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","21.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. 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 -- PREINSTALL FROM KIDS.
  1. ;
  1. D ^XBKVAR
  1. ;
  1. D BMES^XPDUTL("Beginning pre-install routine (PRE^AVA32P17)...")
  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^AVA32P17)...")
  1. ;
  1. D P12
  1. D P15
  1. D P17
  1. ;
  1. D BMES^XPDUTL("Delivering AVA*93.2*17 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("AVAP17MS",$J)
  1. ;
  1. S ^TMP("AVAP17MS",$J,1)=" --- AVA v 93.2, Patch 17, has been installed into this uci ---"
  1. ;
  1. I $G(XPDA) D
  1. . S %=0
  1. . F S %=$O(^XTMP("XPDI",XPDA,"BLD",XPDBLD,1,%)) Q:'% D
  1. . . S ^TMP("AVAP17MS",$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(""AVAP17MS"",$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("AVAP17MS",$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
  1. ;
  1. P12 ;----- CHANGE SUB-FILE DD NUMBER IN THE 9999999.18 MULTIPLE OF FILE 200
  1. ; FROM PATCH 12
  1. ;
  1. N I,P
  1. D BMES^XPDUTL("Changing sub-file dictionary number in the 9999999.18 multiple in file 200...")
  1. ;
  1. S P=$P(^DD(200,9999999.18,0),U,2)
  1. S I=0
  1. F S I=$O(^VA(200,I)) Q:'(I=+I) D
  1. . I $D(^VA(200,I,9999999.18,0)) S $P(^(0),U,2)=P
  1. Q
  1. P15 ;----- UPDATE IHS XREFS IN FILES 200, 4
  1. ; FROM PATCH 15
  1. ;
  1. Q:$$CHKPAT("AVA*93.2*15")
  1. D BMES^XPDUTL("Updating IHS CROSS-REFERENCES in files 4 and 200...")
  1. D ^AVAP15
  1. Q
  1. P17 ;----- ADD/UPDATE RACE FILE ENTRIES
  1. ; FROM PATCH 17
  1. ;
  1. D ^XBKVAR
  1. N RACE
  1. ;
  1. K ^DD(10,.01,1,2) ;KILL 2ND "B" XREF - SHOULD ONLY BE 1
  1. ;
  1. D BMES^XPDUTL("UPDATING RACE FILE ENTRIES...")
  1. ;
  1. D BLDLST(.RACE)
  1. ;
  1. S IEN=0
  1. F S IEN=$O(RACE("FDA",IEN)) Q:'IEN D
  1. . N FDAROOT,IENROOT,IENS,MSG,MSGROOT
  1. . S RACE=RACE("FDA",IEN,.01)
  1. . S IENS=$O(^DIC(10,"B",$E(RACE,1,45),0))
  1. . S:'IENS IENS="+1"
  1. . S IENS=IENS_","
  1. . M FDAROOT(10,IENS)=RACE("FDA",IEN)
  1. . D UPDATE^DIE("","FDAROOT","IENROOT","MSGROOT")
  1. . S MSG(1)=RACE("FDA",IEN,.01)_" ** ADDED/UPDATED **"
  1. . I $D(MSGROOT) D
  1. . . S MSG(1)=" "
  1. . . S MSG(2)="** ERROR **"
  1. . . S MSG(3)="** Unable to add/update entry for "_RACE("FDA",IEN,.01)
  1. . . S MSG(4)="** Entry should be added/updated via FileMan:"
  1. . . S MSG(5)="** Name (.01): "_RACE("FDA",IEN,.01)
  1. . . S MSG(6)="** Abbrev (2): "_RACE("FDA",IEN,2)
  1. . . S MSG(7)=" "
  1. . D BMES^XPDUTL(.MSG)
  1. Q
  1. BLDLST(ARRAY) ;
  1. ;----- BUILT LIST OF VALID RACES
  1. ;
  1. N I,TXT
  1. F I=1:1 S TXT=$P($T(RACES+I),";;",2) Q:TXT["$$END" D
  1. . S ARRAY("FDA",I,.01)=$P(TXT,U)
  1. . S ARRAY("FDA",I,2)=$P(TXT,U,2)
  1. Q
  1. RACES ;RACE (#.01)^ABBREVIATION (#2)
  1. ;;AMERICAN INDIAN OR ALASKA NATIVE^3
  1. ;;ASIAN^A
  1. ;;BLACK OR AFRICAN AMERICAN^B
  1. ;;DECLINED TO ANSWER^D
  1. ;;NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER^H
  1. ;;UNKNOWN BY PATIENT^U
  1. ;;WHITE^W
  1. ;;$$END
  1. ;
  1. PREV ;EP -- INSTALL PREVIOUS PATCHES 1-10
  1. ;
  1. ;PATCH 1 IS ROUTINE ONLY; OBSOLETE
  1. D ^AVAP2 ;PATCH 2
  1. ;D ^AVAP3 ;PATCH 3; OBSOLETE
  1. D CLASS^AVAP4 ;PATCH 4;PATCH 5;PATCH 6
  1. D ^AVAPINIT ;PATCH 7
  1. ;PATCH 8 IS ROUTINE ONLY
  1. D INSTALL^AVASLXR ;PATCH 9
  1. D ^AVAP10 ;PATCH 10
  1. Q