1 | HDI1000A ;BPFO/JRP - HDI v1.0 POST-INSTALL ROUTINE;2/17/2005
|
---|
2 | ;;1.0;HEALTH DATA & INFORMATICS;;Feb 22, 2005
|
---|
3 | ;
|
---|
4 | POST ;Main entry point for post-install routine
|
---|
5 | ; Input: None
|
---|
6 | ; All variables set by Kernel for KIDS post-installs
|
---|
7 | ;Output: None
|
---|
8 | N HDIMSG
|
---|
9 | S HDIMSG(1)=" "
|
---|
10 | S HDIMSG(2)="~~~~~~~~~~~~~~~~~~~~"
|
---|
11 | S HDIMSG(3)="Post-Installation (POST^HDI1000A) will now be run"
|
---|
12 | S HDIMSG(4)=" "
|
---|
13 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
14 | I '$$SERVERS^HDI1000B() D PSTHALT Q
|
---|
15 | I '$$ATTBUL^HDI1000B() D PSTHALT Q
|
---|
16 | I '$$ATTREM^HDI1000B() D PSTHALT Q
|
---|
17 | I '$$SYSPAR() D PSTHALT Q
|
---|
18 | I '$$VUID() D PSTHALT Q
|
---|
19 | S HDIMSG(1)=" "
|
---|
20 | S HDIMSG(2)="Post-Installation ran to completion"
|
---|
21 | S HDIMSG(3)="~~~~~~~~~~~~~~~~~~~~"
|
---|
22 | S HDIMSG(4)=" "
|
---|
23 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | PSTHALT ;Print post-install halted text
|
---|
27 | N HDIMSG
|
---|
28 | S HDIMSG(1)=" "
|
---|
29 | S HDIMSG(2)="*****"
|
---|
30 | S HDIMSG(3)="***** Post-installation has been halted"
|
---|
31 | S HDIMSG(4)="***** Please contact Enterprise VistA Support"
|
---|
32 | S HDIMSG(5)="*****"
|
---|
33 | S HDIMSG(6)=" "
|
---|
34 | D MES^XPDUTL(.HDIMSG)
|
---|
35 | Q
|
---|
36 | ;
|
---|
37 | SYSPAR() ;Initialize HDIS System and HDIS Parameter files
|
---|
38 | ; Input: None
|
---|
39 | ;Output: 0 = Stop post-install (error)
|
---|
40 | ; 1 = Continue with post-install
|
---|
41 | N FACNUM,DOMAIN,SYSTYPE,X,SYSPTR,HDIMSG,PRAMPTR
|
---|
42 | ;Determine system information
|
---|
43 | S FACNUM=$$FACNUM^HDISVF01()
|
---|
44 | S DOMAIN=$G(^XMB("NETNAME"))
|
---|
45 | S SYSTYPE=$$PROD^XUPROD()
|
---|
46 | S HDIMSG(1)=" "
|
---|
47 | S HDIMSG(2)="The following information concerning this system has been"
|
---|
48 | S HDIMSG(3)="determined and will be used to initialize the HDIS SYSTEM"
|
---|
49 | S HDIMSG(4)="(#7118.21) and HDIS PARAMETER (#7118.29) files"
|
---|
50 | S HDIMSG(5)=" "
|
---|
51 | S HDIMSG(6)=" Facility Number: "_FACNUM
|
---|
52 | S HDIMSG(7)=" MailMan Domain: "_DOMAIN
|
---|
53 | S HDIMSG(8)=" System Type: "_$S(SYSTYPE:"Production",1:"Test")
|
---|
54 | S HDIMSG(9)=" "
|
---|
55 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
56 | ;Create entry in HDIS System file
|
---|
57 | D BMES^XPDUTL("Creating entry in HDIS SYSTEM file")
|
---|
58 | I '$$FINDSYS^HDISVF07(DOMAIN,FACNUM,SYSTYPE,1,.SYSPTR) D Q 0
|
---|
59 | .S HDIMSG(1)="**"
|
---|
60 | .S HDIMSG(2)="** Unable to create entry"
|
---|
61 | .S HDIMSG(3)="** Post-installation will be halted"
|
---|
62 | .S HDIMSG(4)="**"
|
---|
63 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
64 | D MES^XPDUTL("Entry number "_SYSPTR_" created")
|
---|
65 | ;Create entry in HDIS Parameter file
|
---|
66 | D BMES^XPDUTL("Creating entry in HDIS PARAMETER file")
|
---|
67 | S PRAMPTR=$$PARAMINI^HDISVF10(SYSPTR)
|
---|
68 | I 'PRAMPTR D Q 0
|
---|
69 | .S HDIMSG(1)="**"
|
---|
70 | .S HDIMSG(2)="** Unable to create entry"
|
---|
71 | .S HDIMSG(3)="** Post-installation will be halted"
|
---|
72 | .S HDIMSG(4)="**"
|
---|
73 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
74 | D MES^XPDUTL("Entry number "_PRAMPTR_" created")
|
---|
75 | ;Done if this is not FORUM
|
---|
76 | I DOMAIN'="FORUM.VA.GOV" Q 1
|
---|
77 | ;This is FORUM - make it a server
|
---|
78 | D BMES^XPDUTL("Making FORUM a server")
|
---|
79 | D SETTYPE^HDISVF02(2,SYSPTR)
|
---|
80 | I (+$$GETTYPE^HDISVF02(SYSPTR))'=2 D
|
---|
81 | .S HDIMSG(1)="**"
|
---|
82 | .S HDIMSG(2)="** Unable to change system type to SERVER"
|
---|
83 | .S HDIMSG(3)="**"
|
---|
84 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
85 | ;Set Last Non-Standard VUID field
|
---|
86 | I '$$GETNSVL^HDISVF03(SYSPTR) S X=$$SET^HDISVF02(7118.29,51,PRAMPTR_",",4536403,1)
|
---|
87 | I '$$GETNSVL^HDISVF03(SYSPTR) D
|
---|
88 | .S HDIMSG(1)="**"
|
---|
89 | .S HDIMSG(2)="** Unable to set LAST NON-STANDARD VUID field to 4536403"
|
---|
90 | .S HDIMSG(3)="**"
|
---|
91 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
92 | ;Set Ending Non-Standard VUID field
|
---|
93 | I '$$GETNSVE^HDISVF03(SYSPTR) S X=$$SET^HDISVF02(7118.29,52,PRAMPTR_",",4636403,1)
|
---|
94 | I '$$GETNSVE^HDISVF03(SYSPTR) D
|
---|
95 | .S HDIMSG(1)="**"
|
---|
96 | .S HDIMSG(2)="** Unable to set ENDING NON-STANDARD VUID field to 4636403"
|
---|
97 | .S HDIMSG(3)="**"
|
---|
98 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
99 | ;Done
|
---|
100 | Q 1
|
---|
101 | ;
|
---|
102 | VUID() ;Instantiate VUIDs for set of code fields in Vitals domain
|
---|
103 | ; Input: None
|
---|
104 | ;Output: 0 = Stop post-install (error)
|
---|
105 | ; 1 = Continue with post-install
|
---|
106 | N HDIMSG
|
---|
107 | S HDIMSG(1)=" "
|
---|
108 | S HDIMSG(2)="Seeding XTID VUID FOR SET OF CODES file (#8985.1) with Vitals data"
|
---|
109 | S HDIMSG(3)=" "
|
---|
110 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
111 | I '$$VUIDL("VITALS","HDI1000C") Q 0
|
---|
112 | S HDIMSG(1)=" "
|
---|
113 | S HDIMSG(2)="Seeding XTID VUID FOR SET OF CODES file (8985.1) with Allergy data"
|
---|
114 | S HDIMSG(3)=" "
|
---|
115 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
116 | I '$$VUIDL("ALLERGY","HDI1000C") Q 0
|
---|
117 | S HDIMSG(1)=" "
|
---|
118 | S HDIMSG(2)="Seeding XTID VUID FOR SET OF CODES file (8985.1) with Lab & Pharmacy data"
|
---|
119 | S HDIMSG(3)=" "
|
---|
120 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
121 | I '$$VUIDL("LABPHAR","HDI1000D") Q 0
|
---|
122 | I '$$VUIDL("LABPHAR","HDI1000E") Q 0
|
---|
123 | I '$$VUIDL("LABPHAR","HDI1000F") Q 0
|
---|
124 | I '$$VUIDL("LABPHAR","HDI1000G") Q 0
|
---|
125 | Q 1
|
---|
126 | ;
|
---|
127 | VUIDL(TAG,ROUTINE) ;Instantiate VUIDs for set of code fields
|
---|
128 | ; Input: TAG - Line tag under which VUID data has been placed
|
---|
129 | ; ROUTINE - Routine line tag is in
|
---|
130 | ; Leave blank if in this routine
|
---|
131 | ;Output: 0 = Stop post-install (error)
|
---|
132 | ; 1 = Continue with post-install
|
---|
133 | ; Notes: Data lines must be in the format
|
---|
134 | ; File~Field~Code~VUID~Status~EffectiveDateTime
|
---|
135 | ; (Status and EffectiveDateTime must be in internal format)
|
---|
136 | ; (Default value for Status is 0 - Inactive)
|
---|
137 | ; (Default value for EffectiveDateTime is NOW)
|
---|
138 | ; : Call assumes that all input (TAG & ROUTINE) is valid
|
---|
139 | ; : Call assumes that data lines are valid
|
---|
140 | ; (i.e. no missing/bad data)
|
---|
141 | N OFFSET,DATA,FILE,FIELD,IREF,VUID,STAT,STDT,DONE,RESULT,HDIMSG
|
---|
142 | S ROUTINE=$G(ROUTINE)
|
---|
143 | S RESULT=1
|
---|
144 | S DONE=0
|
---|
145 | F OFFSET=1:1 D Q:DONE
|
---|
146 | .S DATA=$S(ROUTINE="":$T(@TAG+OFFSET),1:$T(@TAG+OFFSET^@ROUTINE))
|
---|
147 | .S DATA=$P(DATA,";;",2)
|
---|
148 | .I DATA="" S DONE=1 Q
|
---|
149 | .S FILE=$P(DATA,"~",1)
|
---|
150 | .S FIELD=$P(DATA,"~",2)
|
---|
151 | .S IREF=$P(DATA,"~",3)
|
---|
152 | .S VUID=$P(DATA,"~",4)
|
---|
153 | .S STAT=$P(DATA,"~",5)
|
---|
154 | .I STAT="" S STAT=0
|
---|
155 | .S STDT=$P(DATA,"~",6)
|
---|
156 | .I STDT="" S STDT=$$NOW^XLFDT()
|
---|
157 | .I '$$STOREIT(FILE,FIELD,IREF,VUID,STAT,STDT) D
|
---|
158 | ..S HDIMSG(1)="**"
|
---|
159 | ..S HDIMSG(2)="** Unable to store VUID and/or status information for file"
|
---|
160 | ..S HDIMSG(3)="** "_FILE_", field "_FIELD_", and internal value "_IREF
|
---|
161 | ..S HDIMSG(4)="**"
|
---|
162 | ..D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
163 | ..S RESULT=0
|
---|
164 | Q RESULT
|
---|
165 | ;
|
---|
166 | STOREIT(FILE,FIELD,IREF,VUID,STAT,STDT) ;Store VUID info
|
---|
167 | ; Input : FILE - File number
|
---|
168 | ; FIELD - Field number
|
---|
169 | ; IREF - Internal reference
|
---|
170 | ; VUID - VUID
|
---|
171 | ; STAT - Status
|
---|
172 | ; 0 = Inacive (default) 1 = Active
|
---|
173 | ; STDT - Status Date/Time (FileMan)
|
---|
174 | ; (Defaults to NOW)
|
---|
175 | ;Output : 1 = Success
|
---|
176 | ; 0 = Failure
|
---|
177 | ; Notes : Existance/validity of input assumed (internal call)
|
---|
178 | ; : Call will automatically inactivate terms when appropriate
|
---|
179 | ;
|
---|
180 | N TMP,MASTER
|
---|
181 | S STAT=+$G(STAT)
|
---|
182 | S STDT=+$G(STDT)
|
---|
183 | I 'STDT S STDT=$$NOW^XLFDT()
|
---|
184 | ;Store VUID (also sets master entry flag, if appropriate)
|
---|
185 | I '$$SETVUID^XTID(FILE,FIELD,IREF,VUID) Q 0
|
---|
186 | ;Inactivate non-master entries
|
---|
187 | I '$$GETMASTR^XTID(FILE,FIELD,IREF) D
|
---|
188 | .S STAT=0
|
---|
189 | .S STDT=$$NOW^XLFDT()
|
---|
190 | ;Store status
|
---|
191 | Q $$SETSTAT^XTID(FILE,FIELD,IREF,STAT,STDT)
|
---|