[613] | 1 | VAQPST30 ;JRP/ALB - INSTALL EXPORTED ROUTINES;24-AUG-93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;**1**;NOV 17, 1993
|
---|
| 3 | EXPORT ;MAIN ENTRY POINT
|
---|
| 4 | ;INPUT : None
|
---|
| 5 | ;OUTPUT : None
|
---|
| 6 | ;NOTES : The following routines will be installed
|
---|
| 7 | ; GMTSPDX - Extracts Health Summary components
|
---|
| 8 | ; IBAPDX -+
|
---|
| 9 | ; IBAPDX0 |- Extract/Display Integrated Billing info
|
---|
| 10 | ; IBAPDX1 -+
|
---|
| 11 | ;
|
---|
| 12 | ;DECLARE VARIABLES
|
---|
| 13 | N OFFSET,EXPORT,INSTALL,VERSION,PATCHES,TEXT,EXIST,TMP
|
---|
| 14 | N INSVER,INSPAT,INSLN2,SPOT
|
---|
| 15 | W !!!,?2,">>> Exported routines will now be loaded",!
|
---|
| 16 | ;LOOP THROUGH EXPORTED ROUTINES
|
---|
| 17 | F OFFSET=1:1 S TEXT=$T(RTN+OFFSET) S TEXT=$P(TEXT,";;",2,$L(TEXT,";;")) Q:(TEXT="") D
|
---|
| 18 | .S EXPORT=$P(TEXT,";",1)
|
---|
| 19 | .S INSTALL=$P(TEXT,";",2)
|
---|
| 20 | .S VERSION=$P(TEXT,";",3)
|
---|
| 21 | .S PATCHES=$P(TEXT,";",4)
|
---|
| 22 | .Q:((EXPORT="")!(INSTALL=""))
|
---|
| 23 | .;MAKE SURE EXPORTED ROUTINE EXISTS
|
---|
| 24 | .I ('$$EXIST^VAQPST31(EXPORT)) D Q
|
---|
| 25 | ..W !,?5,$C(7),"** Exported routine ",EXPORT," does not exist"
|
---|
| 26 | .;CHECK FOR EXISTANCE OF NEW ROUTINE
|
---|
| 27 | .S EXIST=$$EXIST^VAQPST31(INSTALL)
|
---|
| 28 | .;NEW ROUTINE DOES NOT EXIST
|
---|
| 29 | .I ('EXIST) D Q
|
---|
| 30 | ..W !,?5,"Copying routine ",EXPORT," into ",INSTALL
|
---|
| 31 | ..S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
|
---|
| 32 | ..W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
|
---|
| 33 | .;GET LINE 2 OF EXISTING ROUTINE
|
---|
| 34 | .S INSLN2=$$SECOND^VAQPST31(INSTALL,1)
|
---|
| 35 | .;DETERMINE VERSION OF EXISTING ROUTINE (STRIP LEADING/LEADING ALPHAS)
|
---|
| 36 | .S INSVER=$P(INSLN2,";",1)
|
---|
| 37 | .S INSVER=$TR(INSVER," ","")
|
---|
| 38 | .F SPOT=1:1:$L(INSVER) S TMP=$E(INSVER,SPOT) Q:((TMP?1N)!(TMP=""))
|
---|
| 39 | .S INSVER=+$E(INSVER,SPOT,$L(INSVER))
|
---|
| 40 | .S:((INSVER'?1.N1"."1.N)&(INSVER'?1.N)&(INSVER'?1"."1.N)) INSVER=""
|
---|
| 41 | .I (INSVER="") D Q
|
---|
| 42 | ..W !,?5,$C(7),"** Could not determine if ",INSTALL," should be overwritten with ",EXPORT
|
---|
| 43 | .;CHECK EXISTING VERSION AGAINST EXPORTED VERSION
|
---|
| 44 | .I (INSVER>VERSION) D Q
|
---|
| 45 | ..W !,?5,"Copying of ",EXPORT," into ",INSTALL," not required"
|
---|
| 46 | .I (INSVER<VERSION) D Q
|
---|
| 47 | ..W !,?5,"Copying routine ",EXPORT," into ",INSTALL
|
---|
| 48 | ..S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
|
---|
| 49 | ..W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
|
---|
| 50 | .;DETERMINE PATCHES APPLIED TO EXISTING ROUTINE (STRIP SPACES AND STARS)
|
---|
| 51 | .S INSPAT=$P(INSLN2,";",3)
|
---|
| 52 | .S INSPAT=$TR(INSPAT,"*","")
|
---|
| 53 | .S INSPAT=$TR(INSPAT," ","")
|
---|
| 54 | .;CHECK FOR PATCH INSTALLATIONS
|
---|
| 55 | .S EXIST=0
|
---|
| 56 | .I ((INSPAT'="")&(PATCHES'="")) D
|
---|
| 57 | ..S PATCHES=","_PATCHES_","
|
---|
| 58 | ..F SPOT=1:1:$L(INSPAT,",") D Q:(EXIST)
|
---|
| 59 | ...S TMP=$P(INSPAT,",",SPOT)
|
---|
| 60 | ...Q:(TMP="")
|
---|
| 61 | ...S TMP=","_TMP_","
|
---|
| 62 | ...S:(PATCHES[TMP) EXIST=1
|
---|
| 63 | ..S PATCHES=$P(PATCHES,",",2,($L(PATCHES,",")-1))
|
---|
| 64 | .S:((INSPAT="")&(PATCHES="")) EXIST=1
|
---|
| 65 | .I (EXIST) D Q
|
---|
| 66 | ..W !,?5,"Copying of ",EXPORT," into ",INSTALL," not required"
|
---|
| 67 | .W !,?5,"Copying routine ",EXPORT," into ",INSTALL
|
---|
| 68 | .S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
|
---|
| 69 | .W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
|
---|
| 70 | W !!,?2,"Done",!!!
|
---|
| 71 | Q
|
---|
| 72 | ;
|
---|
| 73 | RTN ;ROUTINES TO INSTALL
|
---|
| 74 | ;;VAQPSE01;GMTSPDX;2.5;8
|
---|
| 75 | ;;VAQPSE02;IBAPDX;1.5;15
|
---|
| 76 | ;;VAQPSE03;IBAPDX0;1.5;15
|
---|
| 77 | ;;VAQPSE04;IBAPDX1;1.5;15
|
---|
| 78 | ;;
|
---|
| 79 | ;;
|
---|
| 80 | ;FORMAT OF TEXT LINES
|
---|
| 81 | ; ;;EXPORT;INSTALL;VERSION;PATCHES
|
---|
| 82 | ;
|
---|
| 83 | ; EXPORT - Routine name exported as (ex: VAQGMTS)
|
---|
| 84 | ; INSTALL - Routine name to install as (ex: GMTSPDX)
|
---|
| 85 | ; VERSION - Version number of exported routine (ex: 1.5)
|
---|
| 86 | ; PATCHES - List of patches that may have been applied
|
---|
| 87 | ; (ex: 1,2,3) (ex: 1)
|
---|
| 88 | ;
|
---|
| 89 | ; Routine is installed if one of the following conditions is TRUE
|
---|
| 90 | ; 1) The routine INSTALL does not exist
|
---|
| 91 | ; 2) The routine INSTALL exists and
|
---|
| 92 | ; a) VERSION is greater or equal to version of existing routine
|
---|
| 93 | ; b) Patches to INSTALL do not include entries in PATCHES
|
---|
| 94 | ;
|
---|