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 | ;
|
---|