- AVA32P17 ;IHS/ITSC/AEF - AVA 93.2 PATCH 17 ; [ 07/01/2003 10:38 AM ]
- ;;93.2;VA SUPPORT FILES;**17**;JUL 01, 1993;Build 12
- ;
- ;IHS/ITSC/AEF AVA*93.2*17 06/26/2003
- ;
- ENV ;----- ENVIRONMENT CHECK
- ;
- N IORVOFF,IORVON
- ;
- D ^XBKVAR
- D HOME^%ZIS
- ;
- D DUZ
- I $G(XPDQUIT) D SORRY Q
- ;
- D RV
- D XPZ
- D HELLO
- D VER
- D DUPE
- D OK
- ;
- I $D(XPDQUIT) W !,"INSTALL ABORTED!"
- ;
- Q
- ;
- DUZ ;----- CHECK FOR VALID DUZ VARIABLES
- ;
- I '$G(DUZ) W !,"DUZ UNDEFINED OR 0." D FAIL(2)
- I '$L($G(DUZ(0))) W !,"DUZ(0) UNDEFINED OR NULL." D FAIL(2)
- I '($G(DUZ(0))["@") W !,"THE DD UPDATES REQUIRE AN '@' IN YOUR DUZ(0)" D FAIL(2)
- Q
- ;
- RV ;----- SET REVERSE VIDEO ON/OFF VARIABLES
- ;
- D HOME^%ZIS
- N X
- S X="IORVON;IORVOFF"
- D ENDR^%ZISS
- Q
- ;
- XPZ ;----- PREVENT 'DISABLE OPTIONS' AND 'MOVE ROUTINES' PROMPTS
- ;
- I $G(XPDENV)=1 D
- . S XPDDIQ("XPZ1")=0 ;SUPPRESS 'DISABLE OPTIONS' PROMPT
- . S XPDDIQ("XPZ2")=0 ;SUPPRESS 'MOVE ROUTINES' PROMT
- Q
- ;
- HELLO ;----- HELLO MESSAGE AND ENVIRONMENT CHECK
- ;
- N X
- S X=$P(^VA(200,DUZ,0),U)
- W !!,$$CJ^XLFSTR("Hello, "_$P(X,",",2)_" "_$P(X,","),IOM)
- W !!,$$CJ^XLFSTR("Checking Environment for "_$P($T(+2),";",4)_" V "_$P($T(+2),";",3)_" Patch "_$P($T(+2),";",5)_".",IOM)
- Q
- ;
- VER ;----- CHECK FOR VERSIONS
- ;
- I $$VCHK("AVA","93.2",2)
- I $$VCHK("DI","21.0",2)
- I $$VCHK("XU","8.0",2)
- Q
- ;
- CHKPAT(X) ;
- ;----- CHECK IF PATCH HAS BEEN INSTALLED
- ;
- ; RETURNS 1 IF PATCH HAS BEEN INSTALLED, 0 IF NOT
- ;
- N XPDA,OK
- S OK=0
- S XPDA=0
- F S XPDA=$O(^XPD(9.7,"B",X,XPDA)) Q:'XPDA D
- . I $P($G(^XPD(9.7,XPDA,0)),U,9)=3 S OK=1
- Q OK
- ;
- DUPE ;----- CHECK FOR DUPLICATE AVA ENTRIES IN PACKAGE FILE
- ;
- N D,DA,DIC,X,Y
- S X="AVA",DIC="^DIC(9.4,",DIC(0)="",D="C"
- D IX^DIC
- I Y<0,$D(^DIC(9.4,"C","AVA")) D
- . W !!,*7,*7,$$CJ^XLFSTR("You have more than one entry in the ",IOM)
- . W !,$$CJ^XLFSTR("PACKAGE file with an 'AVA' prefix. ",IOM)
- . W !,$$CJ^XLFSTR(IORVON_"One entry needs to be deleted"_IORVOFF,IOM)
- . W !,$$CJ^XLFSTR("FIX IT! Before proceeding. ",IOM),!!,*7,*7
- . D FAIL(2)
- Q
- ;
- OK ;----- OK TO INSTALL?
- ;
- I $D(XPDQUIT) D
- . W !!,$$CJ^XLFSTR(IORVON_"Please FIX it!!"_IORVOFF,IOM) D SORRY
- ;
- I '$D(XPDQUIT) D
- . W !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
- . I '$$DIR^XBDIR("E","","","","","",1) D FAIL(2)
- Q
- ;
- FAIL(X) ;----- SET XPDQUIT
- ;
- K DIFQ
- S XPDQUIT=X
- Q
- ;
- SORRY ;----- ISSUE 'SORRY... PRESS RETURN' MESSAGES
- ;
- N Y
- I '$D(ZTQUEUED) D
- . W *7,!,$$CJ^XLFSTR("Sorry.... ",IOM)
- . S Y=$$DIR^XBDIR("E","Press RETURN")
- Q
- ;
- VCHK(AVAPRE,AVAVER,AVAQUIT) ;
- ;----- CHECK VERSIONS NEEDED
- ;
- N AVAV,AVAMSG,Y
- ;
- S Y=1
- S AVAV=$$VERSION^XPDUTL(AVAPRE)
- S AVAMSG=$S(AVAV<AVAVER:" <<<--- FIX IT!",1:"")
- ;
- W !,$$CJ^XLFSTR("Need at least "_AVAPRE_" v "_AVAVER_"....."_AVAPRE_" v "_AVAV_" Present"_AVAMSG,IOM)
- ;
- I AVAV<AVAVER D FAIL(AVAQUIT) S Y=0
- ;
- Q Y
- ;
- PRE ;EP -- PREINSTALL FROM KIDS.
- ;
- D ^XBKVAR
- ;
- D BMES^XPDUTL("Beginning pre-install routine (PRE^AVA32P17)...")
- ;
- D MES^XPDUTL("Pre-install routine is complete.")
- Q
- ;
- POST ;EP -- POST INSTALL FROM KIDS.
- ;
- D ^XBKVAR
- ;
- D BMES^XPDUTL("Beginning post-install routine (POST^AVA32P17)...")
- ;
- D P12
- D P15
- D P17
- ;
- D BMES^XPDUTL("Delivering AVA*93.2*17 install message to select users...")
- D MAIL
- ;
- D BMES^XPDUTL("Post-install routine is complete.")
- Q
- MAIL ;----- SEND INSTALL MAIL MESSAGE
- ;
- N DIFROM,XMSUB,XMDUZ,XMTEXT,XMY
- ;
- K ^TMP("AVAP17MS",$J)
- ;
- S ^TMP("AVAP17MS",$J,1)=" --- AVA v 93.2, Patch 17, has been installed into this uci ---"
- ;
- I $G(XPDA) D
- . S %=0
- . F S %=$O(^XTMP("XPDI",XPDA,"BLD",XPDBLD,1,%)) Q:'% D
- . . S ^TMP("AVAP17MS",$J,(%+1))=" "_^(%,0)
- ;
- S XMSUB=$P($P($T(+1),";",2)," ",3,99)
- S XMDUZ=$S($G(DUZ):DUZ,1:.5)
- S XMTEXT="^TMP(""AVAP17MS"",$J,"
- S XMY(1)=""
- S XMY(DUZ)=""
- ;
- F %="XUMGR","XUPROG","XUPROGMODE" D SINGLE(%)
- ;
- D ^XMD
- ;
- K ^TMP("AVAP17MS",$J)
- ;
- Q
- ;
- SINGLE(K) ;----- GET HOLDERS OF A SINGLE KEY K.
- ;
- N Y
- ;
- Q:'$D(^XUSEC(K))
- ;
- S Y=0
- F S Y=$O(^XUSEC(K,Y)) Q:'Y S XMY(Y)=""
- ;
- Q
- ;
- P12 ;----- CHANGE SUB-FILE DD NUMBER IN THE 9999999.18 MULTIPLE OF FILE 200
- ; FROM PATCH 12
- ;
- N I,P
- D BMES^XPDUTL("Changing sub-file dictionary number in the 9999999.18 multiple in file 200...")
- ;
- S P=$P(^DD(200,9999999.18,0),U,2)
- S I=0
- F S I=$O(^VA(200,I)) Q:'(I=+I) D
- . I $D(^VA(200,I,9999999.18,0)) S $P(^(0),U,2)=P
- Q
- P15 ;----- UPDATE IHS XREFS IN FILES 200, 4
- ; FROM PATCH 15
- ;
- Q:$$CHKPAT("AVA*93.2*15")
- D BMES^XPDUTL("Updating IHS CROSS-REFERENCES in files 4 and 200...")
- D ^AVAP15
- Q
- P17 ;----- ADD/UPDATE RACE FILE ENTRIES
- ; FROM PATCH 17
- ;
- D ^XBKVAR
- N RACE
- ;
- K ^DD(10,.01,1,2) ;KILL 2ND "B" XREF - SHOULD ONLY BE 1
- ;
- D BMES^XPDUTL("UPDATING RACE FILE ENTRIES...")
- ;
- D BLDLST(.RACE)
- ;
- S IEN=0
- F S IEN=$O(RACE("FDA",IEN)) Q:'IEN D
- . N FDAROOT,IENROOT,IENS,MSG,MSGROOT
- . S RACE=RACE("FDA",IEN,.01)
- . S IENS=$O(^DIC(10,"B",$E(RACE,1,45),0))
- . S:'IENS IENS="+1"
- . S IENS=IENS_","
- . M FDAROOT(10,IENS)=RACE("FDA",IEN)
- . D UPDATE^DIE("","FDAROOT","IENROOT","MSGROOT")
- . S MSG(1)=RACE("FDA",IEN,.01)_" ** ADDED/UPDATED **"
- . I $D(MSGROOT) D
- . . S MSG(1)=" "
- . . S MSG(2)="** ERROR **"
- . . S MSG(3)="** Unable to add/update entry for "_RACE("FDA",IEN,.01)
- . . S MSG(4)="** Entry should be added/updated via FileMan:"
- . . S MSG(5)="** Name (.01): "_RACE("FDA",IEN,.01)
- . . S MSG(6)="** Abbrev (2): "_RACE("FDA",IEN,2)
- . . S MSG(7)=" "
- . D BMES^XPDUTL(.MSG)
- Q
- BLDLST(ARRAY) ;
- ;----- BUILT LIST OF VALID RACES
- ;
- N I,TXT
- F I=1:1 S TXT=$P($T(RACES+I),";;",2) Q:TXT["$$END" D
- . S ARRAY("FDA",I,.01)=$P(TXT,U)
- . S ARRAY("FDA",I,2)=$P(TXT,U,2)
- Q
- RACES ;RACE (#.01)^ABBREVIATION (#2)
- ;;AMERICAN INDIAN OR ALASKA NATIVE^3
- ;;ASIAN^A
- ;;BLACK OR AFRICAN AMERICAN^B
- ;;DECLINED TO ANSWER^D
- ;;NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER^H
- ;;UNKNOWN BY PATIENT^U
- ;;WHITE^W
- ;;$$END
- ;
- PREV ;EP -- INSTALL PREVIOUS PATCHES 1-10
- ;
- ;PATCH 1 IS ROUTINE ONLY; OBSOLETE
- D ^AVAP2 ;PATCH 2
- ;D ^AVAP3 ;PATCH 3; OBSOLETE
- D CLASS^AVAP4 ;PATCH 4;PATCH 5;PATCH 6
- D ^AVAPINIT ;PATCH 7
- ;PATCH 8 IS ROUTINE ONLY
- D INSTALL^AVASLXR ;PATCH 9
- D ^AVAP10 ;PATCH 10
- Q
- 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
- +2 ;
- +3 ;IHS/ITSC/AEF AVA*93.2*17 06/26/2003
- +4 ;
- ENV ;----- ENVIRONMENT CHECK
- +1 ;
- +2 NEW IORVOFF,IORVON
- +3 ;
- +4 DO ^XBKVAR
- +5 DO HOME^%ZIS
- +6 ;
- +7 DO DUZ
- +8 IF $GET(XPDQUIT)
- DO SORRY
- QUIT
- +9 ;
- +10 DO RV
- +11 DO XPZ
- +12 DO HELLO
- +13 DO VER
- +14 DO DUPE
- +15 DO OK
- +16 ;
- +17 IF $DATA(XPDQUIT)
- WRITE !,"INSTALL ABORTED!"
- +18 ;
- +19 QUIT
- +20 ;
- DUZ ;----- CHECK FOR VALID DUZ VARIABLES
- +1 ;
- +2 IF '$GET(DUZ)
- WRITE !,"DUZ UNDEFINED OR 0."
- DO FAIL(2)
- +3 IF '$LENGTH($GET(DUZ(0)))
- WRITE !,"DUZ(0) UNDEFINED OR NULL."
- DO FAIL(2)
- +4 IF '($GET(DUZ(0))["@")
- WRITE !,"THE DD UPDATES REQUIRE AN '@' IN YOUR DUZ(0)"
- DO FAIL(2)
- +5 QUIT
- +6 ;
- RV ;----- SET REVERSE VIDEO ON/OFF VARIABLES
- +1 ;
- +2 DO HOME^%ZIS
- +3 NEW X
- +4 SET X="IORVON;IORVOFF"
- +5 DO ENDR^%ZISS
- +6 QUIT
- +7 ;
- XPZ ;----- PREVENT 'DISABLE OPTIONS' AND 'MOVE ROUTINES' PROMPTS
- +1 ;
- +2 IF $GET(XPDENV)=1
- Begin DoDot:1
- +3 ;SUPPRESS 'DISABLE OPTIONS' PROMPT
- SET XPDDIQ("XPZ1")=0
- +4 ;SUPPRESS 'MOVE ROUTINES' PROMT
- SET XPDDIQ("XPZ2")=0
- End DoDot:1
- +5 QUIT
- +6 ;
- HELLO ;----- HELLO MESSAGE AND ENVIRONMENT CHECK
- +1 ;
- +2 NEW X
- +3 SET X=$PIECE(^VA(200,DUZ,0),U)
- +4 WRITE !!,$$CJ^XLFSTR("Hello, "_$PIECE(X,",",2)_" "_$PIECE(X,","),IOM)
- +5 WRITE !!,$$CJ^XLFSTR("Checking Environment for "_$PIECE($TEXT(+2),";",4)_" V "_$PIECE($TEXT(+2),";",3)_" Patch "_$PIECE($TEXT(+2),";",5)_".",IOM)
- +6 QUIT
- +7 ;
- VER ;----- CHECK FOR VERSIONS
- +1 ;
- +2 IF $$VCHK("AVA","93.2",2)
- +3 IF $$VCHK("DI","21.0",2)
- +4 IF $$VCHK("XU","8.0",2)
- +5 QUIT
- +6 ;
- CHKPAT(X) ;
- +1 ;----- CHECK IF PATCH HAS BEEN INSTALLED
- +2 ;
- +3 ; RETURNS 1 IF PATCH HAS BEEN INSTALLED, 0 IF NOT
- +4 ;
- +5 NEW XPDA,OK
- +6 SET OK=0
- +7 SET XPDA=0
- +8 FOR
- SET XPDA=$ORDER(^XPD(9.7,"B",X,XPDA))
- IF 'XPDA
- QUIT
- Begin DoDot:1
- +9 IF $PIECE($GET(^XPD(9.7,XPDA,0)),U,9)=3
- SET OK=1
- End DoDot:1
- +10 QUIT OK
- +11 ;
- DUPE ;----- CHECK FOR DUPLICATE AVA ENTRIES IN PACKAGE FILE
- +1 ;
- +2 NEW D,DA,DIC,X,Y
- +3 SET X="AVA"
- SET DIC="^DIC(9.4,"
- SET DIC(0)=""
- SET D="C"
- +4 DO IX^DIC
- +5 IF Y<0
- IF $DATA(^DIC(9.4,"C","AVA"))
- Begin DoDot:1
- +6 WRITE !!,*7,*7,$$CJ^XLFSTR("You have more than one entry in the ",IOM)
- +7 WRITE !,$$CJ^XLFSTR("PACKAGE file with an 'AVA' prefix. ",IOM)
- +8 WRITE !,$$CJ^XLFSTR(IORVON_"One entry needs to be deleted"_IORVOFF,IOM)
- +9 WRITE !,$$CJ^XLFSTR("FIX IT! Before proceeding. ",IOM),!!,*7,*7
- +10 DO FAIL(2)
- End DoDot:1
- +11 QUIT
- +12 ;
- OK ;----- OK TO INSTALL?
- +1 ;
- +2 IF $DATA(XPDQUIT)
- Begin DoDot:1
- +3 WRITE !!,$$CJ^XLFSTR(IORVON_"Please FIX it!!"_IORVOFF,IOM)
- DO SORRY
- End DoDot:1
- +4 ;
- +5 IF '$DATA(XPDQUIT)
- Begin DoDot:1
- +6 WRITE !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
- +7 IF '$$DIR^XBDIR("E","","","","","",1)
- DO FAIL(2)
- End DoDot:1
- +8 QUIT
- +9 ;
- FAIL(X) ;----- SET XPDQUIT
- +1 ;
- +2 KILL DIFQ
- +3 SET XPDQUIT=X
- +4 QUIT
- +5 ;
- SORRY ;----- ISSUE 'SORRY... PRESS RETURN' MESSAGES
- +1 ;
- +2 NEW Y
- +3 IF '$DATA(ZTQUEUED)
- Begin DoDot:1
- +4 WRITE *7,!,$$CJ^XLFSTR("Sorry.... ",IOM)
- +5 SET Y=$$DIR^XBDIR("E","Press RETURN")
- End DoDot:1
- +6 QUIT
- +7 ;
- VCHK(AVAPRE,AVAVER,AVAQUIT) ;
- +1 ;----- CHECK VERSIONS NEEDED
- +2 ;
- +3 NEW AVAV,AVAMSG,Y
- +4 ;
- +5 SET Y=1
- +6 SET AVAV=$$VERSION^XPDUTL(AVAPRE)
- +7 SET AVAMSG=$SELECT(AVAV<AVAVER:" <<<--- FIX IT!",1:"")
- +8 ;
- +9 WRITE !,$$CJ^XLFSTR("Need at least "_AVAPRE_" v "_AVAVER_"....."_AVAPRE_" v "_AVAV_" Present"_AVAMSG,IOM)
- +10 ;
- +11 IF AVAV<AVAVER
- DO FAIL(AVAQUIT)
- SET Y=0
- +12 ;
- +13 QUIT Y
- +14 ;
- PRE ;EP -- PREINSTALL FROM KIDS.
- +1 ;
- +2 DO ^XBKVAR
- +3 ;
- +4 DO BMES^XPDUTL("Beginning pre-install routine (PRE^AVA32P17)...")
- +5 ;
- +6 DO MES^XPDUTL("Pre-install routine is complete.")
- +7 QUIT
- +8 ;
- POST ;EP -- POST INSTALL FROM KIDS.
- +1 ;
- +2 DO ^XBKVAR
- +3 ;
- +4 DO BMES^XPDUTL("Beginning post-install routine (POST^AVA32P17)...")
- +5 ;
- +6 DO P12
- +7 DO P15
- +8 DO P17
- +9 ;
- +10 DO BMES^XPDUTL("Delivering AVA*93.2*17 install message to select users...")
- +11 DO MAIL
- +12 ;
- +13 DO BMES^XPDUTL("Post-install routine is complete.")
- +14 QUIT
- MAIL ;----- SEND INSTALL MAIL MESSAGE
- +1 ;
- +2 NEW DIFROM,XMSUB,XMDUZ,XMTEXT,XMY
- +3 ;
- +4 KILL ^TMP("AVAP17MS",$JOB)
- +5 ;
- +6 SET ^TMP("AVAP17MS",$JOB,1)=" --- AVA v 93.2, Patch 17, has been installed into this uci ---"
- +7 ;
- +8 IF $GET(XPDA)
- Begin DoDot:1
- +9 SET %=0
- +10 FOR
- SET %=$ORDER(^XTMP("XPDI",XPDA,"BLD",XPDBLD,1,%))
- IF '%
- QUIT
- Begin DoDot:2
- +11 SET ^TMP("AVAP17MS",$JOB,(%+1))=" "_^(%,0)
- End DoDot:2
- End DoDot:1
- +12 ;
- +13 SET XMSUB=$PIECE($PIECE($TEXT(+1),";",2)," ",3,99)
- +14 SET XMDUZ=$SELECT($GET(DUZ):DUZ,1:.5)
- +15 SET XMTEXT="^TMP(""AVAP17MS"",$J,"
- +16 SET XMY(1)=""
- +17 SET XMY(DUZ)=""
- +18 ;
- +19 FOR %="XUMGR","XUPROG","XUPROGMODE"
- DO SINGLE(%)
- +20 ;
- +21 DO ^XMD
- +22 ;
- +23 KILL ^TMP("AVAP17MS",$JOB)
- +24 ;
- +25 QUIT
- +26 ;
- SINGLE(K) ;----- GET HOLDERS OF A SINGLE KEY K.
- +1 ;
- +2 NEW Y
- +3 ;
- +4 IF '$DATA(^XUSEC(K))
- QUIT
- +5 ;
- +6 SET Y=0
- +7 FOR
- SET Y=$ORDER(^XUSEC(K,Y))
- IF 'Y
- QUIT
- SET XMY(Y)=""
- +8 ;
- +9 QUIT
- +10 ;
- P12 ;----- CHANGE SUB-FILE DD NUMBER IN THE 9999999.18 MULTIPLE OF FILE 200
- +1 ; FROM PATCH 12
- +2 ;
- +3 NEW I,P
- +4 DO BMES^XPDUTL("Changing sub-file dictionary number in the 9999999.18 multiple in file 200...")
- +5 ;
- +6 SET P=$PIECE(^DD(200,9999999.18,0),U,2)
- +7 SET I=0
- +8 FOR
- SET I=$ORDER(^VA(200,I))
- IF '(I=+I)
- QUIT
- Begin DoDot:1
- +9 IF $DATA(^VA(200,I,9999999.18,0))
- SET $PIECE(^(0),U,2)=P
- End DoDot:1
- +10 QUIT
- P15 ;----- UPDATE IHS XREFS IN FILES 200, 4
- +1 ; FROM PATCH 15
- +2 ;
- +3 IF $$CHKPAT("AVA*93.2*15")
- QUIT
- +4 DO BMES^XPDUTL("Updating IHS CROSS-REFERENCES in files 4 and 200...")
- +5 DO ^AVAP15
- +6 QUIT
- P17 ;----- ADD/UPDATE RACE FILE ENTRIES
- +1 ; FROM PATCH 17
- +2 ;
- +3 DO ^XBKVAR
- +4 NEW RACE
- +5 ;
- +6 ;KILL 2ND "B" XREF - SHOULD ONLY BE 1
- KILL ^DD(10,.01,1,2)
- +7 ;
- +8 DO BMES^XPDUTL("UPDATING RACE FILE ENTRIES...")
- +9 ;
- +10 DO BLDLST(.RACE)
- +11 ;
- +12 SET IEN=0
- +13 FOR
- SET IEN=$ORDER(RACE("FDA",IEN))
- IF 'IEN
- QUIT
- Begin DoDot:1
- +14 NEW FDAROOT,IENROOT,IENS,MSG,MSGROOT
- +15 SET RACE=RACE("FDA",IEN,.01)
- +16 SET IENS=$ORDER(^DIC(10,"B",$EXTRACT(RACE,1,45),0))
- +17 IF 'IENS
- SET IENS="+1"
- +18 SET IENS=IENS_","
- +19 MERGE FDAROOT(10,IENS)=RACE("FDA",IEN)
- +20 DO UPDATE^DIE("","FDAROOT","IENROOT","MSGROOT")
- +21 SET MSG(1)=RACE("FDA",IEN,.01)_" ** ADDED/UPDATED **"
- +22 IF $DATA(MSGROOT)
- Begin DoDot:2
- +23 SET MSG(1)=" "
- +24 SET MSG(2)="** ERROR **"
- +25 SET MSG(3)="** Unable to add/update entry for "_RACE("FDA",IEN,.01)
- +26 SET MSG(4)="** Entry should be added/updated via FileMan:"
- +27 SET MSG(5)="** Name (.01): "_RACE("FDA",IEN,.01)
- +28 SET MSG(6)="** Abbrev (2): "_RACE("FDA",IEN,2)
- +29 SET MSG(7)=" "
- End DoDot:2
- +30 DO BMES^XPDUTL(.MSG)
- End DoDot:1
- +31 QUIT
- BLDLST(ARRAY) ;
- +1 ;----- BUILT LIST OF VALID RACES
- +2 ;
- +3 NEW I,TXT
- +4 FOR I=1:1
- SET TXT=$PIECE($TEXT(RACES+I),";;",2)
- IF TXT["$$END"
- QUIT
- Begin DoDot:1
- +5 SET ARRAY("FDA",I,.01)=$PIECE(TXT,U)
- +6 SET ARRAY("FDA",I,2)=$PIECE(TXT,U,2)
- End DoDot:1
- +7 QUIT
- RACES ;RACE (#.01)^ABBREVIATION (#2)
- +1 ;;AMERICAN INDIAN OR ALASKA NATIVE^3
- +2 ;;ASIAN^A
- +3 ;;BLACK OR AFRICAN AMERICAN^B
- +4 ;;DECLINED TO ANSWER^D
- +5 ;;NATIVE HAWAIIAN OR OTHER PACIFIC ISLANDER^H
- +6 ;;UNKNOWN BY PATIENT^U
- +7 ;;WHITE^W
- +8 ;;$$END
- +9 ;
- PREV ;EP -- INSTALL PREVIOUS PATCHES 1-10
- +1 ;
- +2 ;PATCH 1 IS ROUTINE ONLY; OBSOLETE
- +3 ;PATCH 2
- DO ^AVAP2
- +4 ;D ^AVAP3 ;PATCH 3; OBSOLETE
- +5 ;PATCH 4;PATCH 5;PATCH 6
- DO CLASS^AVAP4
- +6 ;PATCH 7
- DO ^AVAPINIT
- +7 ;PATCH 8 IS ROUTINE ONLY
- +8 ;PATCH 9
- DO INSTALL^AVASLXR
- +9 ;PATCH 10
- DO ^AVAP10
- +10 QUIT