1 | TIUP113 ; SLC/JAK - Post-Install for TIU*1*113 ;12/01/03
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**113**;Jun 20, 1997
|
---|
3 | BUILD ; -- Rebuild SEARCH CATEGORIES so DIVISION is selectable
|
---|
4 | D KILL^TIUDD8
|
---|
5 | Q
|
---|
6 | MAIN ; -- Control unit
|
---|
7 | N ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTSK
|
---|
8 | W !!,"PATCH TIU*1*113"
|
---|
9 | W !!,"Load the DIVISION field for TIU DOCUMENT file (#8925) entries.",!
|
---|
10 | S ZTRTN="SETDIV^TIUP113",ZTIO="",ZTSAVE("DUZ")=""
|
---|
11 | S ZTDESC="DIVISION field load for File #8925 - Patch 113"
|
---|
12 | D ^%ZTLOAD
|
---|
13 | I $G(ZTSK) D
|
---|
14 | . W !!,"A task has been queued in the background and a bulletin will be sent"
|
---|
15 | . W !,"to you upon completion of the task or if the task is stopped."
|
---|
16 | . W !!,"The task number is "_$G(ZTSK)_"."
|
---|
17 | Q
|
---|
18 | SETDIV ; -- Automatically set division for documents
|
---|
19 | N TIUCNT,TIUDA,TIUS
|
---|
20 | S ^XTMP("TIUP113","T0")=$$NOW^XLFDT
|
---|
21 | ; Initialize re-start if check point exists
|
---|
22 | I +$G(^XTMP("TIUP113","CHKPT")) D
|
---|
23 | . S TIUDA=+$G(^XTMP("TIUP113","CHKPT"))
|
---|
24 | E D
|
---|
25 | . ; Initialize if not re-start
|
---|
26 | . S ^XTMP("TIUP113",0)=$$FMADD^XLFDT(DT,90)_U_DT
|
---|
27 | . S ^XTMP("TIUP113","EX")=0 F TIUS=1,2 S ^XTMP("TIUP113","EX",TIUS)=0
|
---|
28 | . S (TIUDA,^XTMP("TIUP113","CHKPT"))=0
|
---|
29 | K ^XTMP("TIUP113","STOP")
|
---|
30 | ;
|
---|
31 | ; Loop thru TIU Document entries
|
---|
32 | F S TIUDA=$O(^TIU(8925,TIUDA)) Q:+TIUDA'>0!($G(ZTSTOP)) D
|
---|
33 | . S TIUCNT=+$G(TIUCNT)+1
|
---|
34 | . ; Register activity in the ^XTMP("TIUP113", array
|
---|
35 | . S ^XTMP("TIUP113","CHKPT")=TIUDA
|
---|
36 | . ; Check if user requested to stop task
|
---|
37 | . I $G(TIUCNT)>1000 D
|
---|
38 | . . I $$S^%ZTLOAD S ZTSTOP=1
|
---|
39 | . . E S TIUCNT=0
|
---|
40 | . ;
|
---|
41 | . I +$P($G(^TIU(8925,TIUDA,12)),U,12) Q
|
---|
42 | . N TIUDTYP,TIUEX
|
---|
43 | . S TIUDTYP=+$P($G(^TIU(8925,TIUDA,0)),U)
|
---|
44 | . ; -- Ignore records of (document type) type=component
|
---|
45 | . I TIUDTYP,$P($G(^TIU(8925.1,TIUDTYP,0)),U,4)="CO" Q
|
---|
46 | . ; -- Check if hospital location and entry date/time don't exist
|
---|
47 | . I '$D(^TIU(8925,TIUDA,12)) D SETEX(TIUDA,1) Q
|
---|
48 | . ; -- Get IFP from HL's Division
|
---|
49 | . N RESULT,TIUE,TIUHL,TIUDVHL,TIUIFP
|
---|
50 | . S (TIUDVHL,TIUE,TIUHL,TIUIFP)=0
|
---|
51 | . S TIUHL=+$P($G(^TIU(8925,TIUDA,12)),U,5) I TIUHL D
|
---|
52 | . . S TIUDVHL=+$P($G(^SC(TIUHL,0)),U,15) I TIUDVHL D
|
---|
53 | . . . S TIUE=+$P($G(^TIU(8925,TIUDA,12)),U) I TIUE D
|
---|
54 | . . . . S TIUIFP=+$$SITE^VASITE(TIUE,TIUDVHL) I TIUIFP>0 S RESULT=TIUIFP
|
---|
55 | . I 'TIUHL!('TIUDVHL)!('TIUE)!(TIUIFP<0) D
|
---|
56 | . . D SETEX(TIUDA,1)
|
---|
57 | . E D
|
---|
58 | . . D SETRSLT(TIUDA,RESULT)
|
---|
59 | ;
|
---|
60 | SETCHKQ ; Send bulletin and re-set check point
|
---|
61 | I $G(ZTSTOP) S ^XTMP("TIUP113","STOP")=$$NOW^XLFDT
|
---|
62 | S ^XTMP("TIUP113","T1")=$$NOW^XLFDT
|
---|
63 | S ^XTMP("TIUP113","EX")=+$G(^XTMP("TIUP113","EX",1))+(+$G(^XTMP("TIUP113","EX",2)))
|
---|
64 | ;
|
---|
65 | D MAIL^TIUP113P
|
---|
66 | ;
|
---|
67 | I '$G(ZTSTOP) S ^XTMP("TIUP113","CHKPT")=""
|
---|
68 | Q
|
---|
69 | SETEX(TIUDA,TIUEX) ; -- Load ^XTMP with exception entries
|
---|
70 | ; Input -- TIUDA TIU Document file (#8925) IEN
|
---|
71 | ; TIUEX Exception types:
|
---|
72 | ; 1=Cannot determine DIVISION from Hospital Location
|
---|
73 | ; 2=Attempted to load DIVISION data but entry in use
|
---|
74 | ; (value=1) (see SETRSLT for value=2)
|
---|
75 | S ^XTMP("TIUP113","EX",TIUEX,TIUDA)=""
|
---|
76 | S ^XTMP("TIUP113","EX",TIUEX)=+$G(^XTMP("TIUP113","EX",TIUEX))+1
|
---|
77 | Q
|
---|
78 | SETRSLT(TIUDA,RESULT) ; -- Set DIVISION data and ADIV x-ref
|
---|
79 | ; Input -- TIUDA TIU Document file (#8925) IEN
|
---|
80 | ; RESULT Institution file (#4) IEN
|
---|
81 | N DIE,DR,DA
|
---|
82 | L +^TIU(8925,+TIUDA):5 E D Q
|
---|
83 | . S ^XTMP("TIUP113","EX",2,TIUDA)=RESULT
|
---|
84 | . S ^XTMP("TIUP113","EX",2)=+$G(^XTMP("TIUP113","EX",2))+1
|
---|
85 | S DIE="^TIU(8925,",DA=+TIUDA,DR="1212////^S X=RESULT"
|
---|
86 | D ^DIE
|
---|
87 | L -^TIU(8925,+TIUDA)
|
---|
88 | Q
|
---|
89 | UPDATE ; -- Exception entries
|
---|
90 | W !,"If you did not receive a mail message which indicated the post-"
|
---|
91 | W !,"install COMPLETED, you must invoke MAIN^TIUP113 from Programmer"
|
---|
92 | W !,"mode before following the instructions below.",!
|
---|
93 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
94 | N RESULT,TIUCHC,TIUDA,TIUDIV,TIUI,TIUJ,TIUK,TIUNOEX,TIUOUT,TIUS
|
---|
95 | S TIUOUT=0 F TIUK=7,9,18 S DIR("A",TIUK)=""
|
---|
96 | S DIR("A",1)="Below are listed the choices for what action(s) to take"
|
---|
97 | S DIR("A",2)="on the exception entries. It is recommended you select"
|
---|
98 | S DIR("A",3)="choice 3 and also possibly choice 2. The numbers can be"
|
---|
99 | S DIR("A",4)="selected by commas, dashes, or a combination of both."
|
---|
100 | S DIR("A",5)="You can invoke this entry point (>D UPDATE^TIUP113)"
|
---|
101 | S DIR("A",6)="as often as you wish."
|
---|
102 | S DIR("A",8)="CHOICES:"
|
---|
103 | S DIR("A",10)="1- Exit and do not load Division for exception entries."
|
---|
104 | S DIR("A",11)="2- For exception entries in which Division could not be"
|
---|
105 | S DIR("A",12)=" determined from the Hospital Location, prompt me to"
|
---|
106 | S DIR("A",13)=" select one Division and load entries with this"
|
---|
107 | S DIR("A",14)=" Division. (type A)"
|
---|
108 | S DIR("A",15)="3- For exception entries that were previously in use,"
|
---|
109 | S DIR("A",16)=" try to load Division data again. (type B)"
|
---|
110 | S DIR("A")="Select (a) NUMBER(S)"
|
---|
111 | S DIR(0)="L^1:3" D ^DIR G EXIT:$D(DIRUT) S TIUCHC=Y
|
---|
112 | I TIUCHC[1 Q
|
---|
113 | I TIUCHC[2 N DIR,X,Y S DIR(0)="P^40.8" D ^DIR G EXIT:Y'>0!$D(DIRUT) D
|
---|
114 | . S TIUDIV=+Y,TIUIFP=+$$SITE^VASITE(,TIUDIV),RESULT=TIUIFP
|
---|
115 | F TIUI=1:1:($L(TIUCHC,",")-1) D
|
---|
116 | . S TIUS=$P(TIUCHC,",",TIUI)
|
---|
117 | . I TIUS=2 D NOEX(TIUS,1) I 'TIUNOEX D
|
---|
118 | . . N ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTSK
|
---|
119 | . . S ZTRTN="TWOA^TIUP113",ZTIO=""
|
---|
120 | . . S (ZTSAVE("DUZ"),ZTSAVE("RESULT"))=""
|
---|
121 | . . S ZTDESC="Choice 2 UPDATE^TIUP113 - Patch 113"
|
---|
122 | . . D ^%ZTLOAD
|
---|
123 | . . I $G(ZTSK) D
|
---|
124 | . . . W !!,"A task has been queued in the background for Choice 2."
|
---|
125 | . . . W !,"The task number is "_$G(ZTSK)_"."
|
---|
126 | . . Q
|
---|
127 | . I TIUS=3 D THREEB(TIUS)
|
---|
128 | Q
|
---|
129 | TWOA ; -- Load entries with selection
|
---|
130 | ; Input -- RESULT Institution file (#4) IEN
|
---|
131 | N TIUCNT
|
---|
132 | S TIUDA=0 D
|
---|
133 | . F S TIUDA=$O(^XTMP("TIUP113","EX",1,TIUDA)) Q:+TIUDA'>0!($G(ZTSTOP)) D
|
---|
134 | . . D SETRSLT(TIUDA,RESULT)
|
---|
135 | . . K ^XTMP("TIUP113","EX",1,TIUDA)
|
---|
136 | . . S TIUCNT=+$G(TIUCNT)+1
|
---|
137 | . . ; Check if user requested to stop task
|
---|
138 | . . I $G(TIUCNT)>1000 D
|
---|
139 | . . . I $$S^%ZTLOAD S ZTSTOP=1
|
---|
140 | . . . E S TIUCNT=0
|
---|
141 | ;
|
---|
142 | I '$G(ZTSTOP) S ^XTMP("TIUP113","EX",1)=0
|
---|
143 | Q
|
---|
144 | THREEB(TIUS) ; -- Try to load locked entries
|
---|
145 | ; Input -- TIUS Choice 3
|
---|
146 | S TIUDA=0 N RESULT D NOEX(TIUS,2) I 'TIUNOEX D
|
---|
147 | . W !!,"...Choice 3 - UPDATING NOW....",!!
|
---|
148 | . F S TIUDA=$O(^XTMP("TIUP113","EX",2,TIUDA)) Q:+TIUDA'>0 D
|
---|
149 | . . S RESULT=$G(^XTMP("TIUP113","EX",2,TIUDA))
|
---|
150 | . . D SETRSLT(TIUDA,RESULT)
|
---|
151 | . . I +$P($G(^TIU(8925,TIUDA,12)),U,12) K ^XTMP("TIUP113","EX",2,TIUDA)
|
---|
152 | . S ^XTMP("TIUP113","EX",2)=0
|
---|
153 | Q
|
---|
154 | NOEX(TIUS,TIUJ) ; -- No exceptions
|
---|
155 | ; Input -- TIUS Choice 2 or 3
|
---|
156 | ; -- TIUJ Exception entry types A (1) or B (2)
|
---|
157 | S TIUNOEX=0
|
---|
158 | I +$G(^XTMP("TIUP113","EX",TIUJ))=0 D
|
---|
159 | . W !,"Choice: ",TIUS,"-type ",$S(TIUJ=2:"B",1:"A")
|
---|
160 | . W " has no exceptions."
|
---|
161 | . S TIUNOEX=1
|
---|
162 | Q
|
---|
163 | DEVICE ; -- Device Selection
|
---|
164 | N TIUMSG,TIUOUT S TIUOUT=0
|
---|
165 | S TIUMSG(1)="Remember to finish the post-install after review of"
|
---|
166 | S TIUMSG(2)="the output by invoking UPDATE^TIUP113"
|
---|
167 | D MES^XPDUTL(.TIUMSG)
|
---|
168 | W !! S %ZIS="Q" D ^%ZIS I POP K POP S TIUOUT=1 G EXIT
|
---|
169 | I $D(IO("Q")) D Q
|
---|
170 | . S ZTRTN="PRINT^TIUP113"
|
---|
171 | . S ZTDESC="TIU*1*113 POST-INSTALL EXCEPTION LIST"
|
---|
172 | . D ^%ZTLOAD W !,$S($D(ZTSK):"Request queued",1:"Request Cancelled!")
|
---|
173 | . K ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,%ZIS
|
---|
174 | . D HOME^%ZIS
|
---|
175 | U IO D PRINT,^%ZISC
|
---|
176 | Q
|
---|
177 | PRINT ; -- Print job
|
---|
178 | N TIUDA,TIUIFP,TIUOUT,TIUS,TIUST S TIUOUT=0
|
---|
179 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
180 | F TIUS=1,2 Q:TIUOUT S TIUDA=0 D
|
---|
181 | . I TIUS=2 D ASK Q:TIUOUT
|
---|
182 | . D HDR W !!,$P($T(EXHDR+TIUS),";",3)
|
---|
183 | . I +$G(^XTMP("TIUP113","EX",TIUS))=0 W !?4,"No exceptions." Q
|
---|
184 | . F S TIUDA=$O(^XTMP("TIUP113","EX",TIUS,TIUDA)) Q:+TIUDA'>0!(TIUOUT) D
|
---|
185 | . . I $Y>(IOSL-4) D ASK Q:TIUOUT D HDR W !!,$P($T(EXHDR+TIUS),";",3)
|
---|
186 | . . W !?4,TIUDA
|
---|
187 | . . S TIUST=$P($G(^TIU(8925,+TIUDA,0)),U,5) I TIUST>0 D
|
---|
188 | . . . W " ",$P($G(^TIU(8925.6,+TIUST,0)),U)
|
---|
189 | . . I TIUS=2 D
|
---|
190 | . . . S TIUIFP=$G(^XTMP("TIUP113","EX",2,TIUDA))
|
---|
191 | . . . W ": ",$$GET1^DIQ(4,TIUIFP,.01)
|
---|
192 | Q
|
---|
193 | ASK ; -- End of Page
|
---|
194 | I IO=IO(0),$E(IOST)="C" D
|
---|
195 | . W ! N DIR,X,Y S DIR(0)="E"
|
---|
196 | . D ^DIR I $D(DUOUT)!$D(DTOUT) S TIUOUT=1
|
---|
197 | Q
|
---|
198 | HDR ; -- Header
|
---|
199 | N LNE,TIUNOW
|
---|
200 | D NOW^%DTC S Y=% X ^DD("DD") S TIUNOW=Y
|
---|
201 | W @IOF,"TIU*1*113 POST-INSTALL EXCEPTION LIST - Printed: ",TIUNOW
|
---|
202 | W !!,"Listed below are TIU DOCUMENT entry numbers that did not get "
|
---|
203 | W "DIVISION data",!,"loaded. If a division name is listed with an "
|
---|
204 | W "entry number, the record was",!,"in use and the division data "
|
---|
205 | W "could not be loaded."
|
---|
206 | W ! S LNE="",$P(LNE,"-",(IOM-1))="" W LNE
|
---|
207 | Q
|
---|
208 | EXHDR ; -- Exception entry headers
|
---|
209 | ;;A. Cannot determine DIVISION from Hospital Location:
|
---|
210 | ;;B. Attempted to load DIVISION data but entry in use:
|
---|
211 | ;
|
---|
212 | EXIT ; -- Exits here if ^ at: DEVICE prompt,
|
---|
213 | ; -- two UPDATE areas, or at End of Page
|
---|
214 | I TIUOUT D
|
---|
215 | . W $C(7),$C(7),!!,"OK...please remember to finish the post-install "
|
---|
216 | . W "by: >D UPDATE^TIUP113"
|
---|
217 | Q
|
---|