1 | HLP109 ;ALB/CJM - Post-Install for patch 109 ;06/03/99
|
---|
2 | ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
|
---|
3 | ;
|
---|
4 | SETAC ;Used to undo the changes to the "AC" xref, used only if the patch
|
---|
5 | ;HL*1.6*109 needs to be backed out.
|
---|
6 | S ^DD(773,7,1,1,1)="S %=$P(^HLMA(DA,0),U,3) S:%]"""" ^HLMA(""AC"",%,X,DA)="""" I %=""O"",'$D(HLTCPO) D LLCNT^HLCSTCP(X,3)"
|
---|
7 | S ^DD(773,7,1,1,2)="S %=$P(^HLMA(DA,0),U,3) K:%]"""" ^HLMA(""AC"",%,X,DA)"
|
---|
8 | ;S ^DD(773,100,1,1,1)="S ^HLMA(""AD"",X,DA)="""" N %,%1 S %=$G(^HLMA(DA,0)),%1=$P(%,U,3),%=$P(%,U,7) K:%1]""""&% ^HLMA(""AC"",%1,%,DA)"
|
---|
9 | Q
|
---|
10 | ;
|
---|
11 | PRE ; Called by KIDS pre-init...
|
---|
12 | S ^HLCS(869.3,1,772)=($O(^HL(772,":"),-1)\1)
|
---|
13 | S ^HLCS(869.3,1,773)=($O(^HLMA(":"),-1)\1)
|
---|
14 | D UNQUEUE^HLEVUTIL
|
---|
15 | D LOADMON
|
---|
16 | D ETHL7 ; Make sure every official HL7 entry has PACKAGE NAME...
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | LOADMON ; Create a list of monitors in ^XTMP(XTMP,"O")...
|
---|
20 | N NOW,XTMP
|
---|
21 | S NOW=$$NOW^XLFDT
|
---|
22 | S XTMP="HLEV INSTALL "_NOW
|
---|
23 | S ^XTMP(XTMP,0)=$$FMADD^XLFDT(NOW,2)_U_NOW_U_"HLEV INSTALLATION MONITOR LIST"
|
---|
24 | S IEN=0
|
---|
25 | F S IEN=$O(^HLEV(776.1,IEN)) Q:'IEN D
|
---|
26 | . S ^XTMP(XTMP,"O",IEN)=$P($G(^HLEV(776.1,IEN,0)),U)_U_$$IENSUM(IEN)
|
---|
27 | Q
|
---|
28 | ;
|
---|
29 | ;
|
---|
30 | ;
|
---|
31 | ;
|
---|
32 | POST ; Called by KIDS post-init...
|
---|
33 | N NO,TEXT,XMDUZ,XMSUB,XMTEXT,XMZ
|
---|
34 | N %KMPRJT,%XX,%ZH0,%ZHFN,C,D0,DA,DG,DICR,DIFRFRV1,DIFROM,DIU,I,IEN
|
---|
35 | N J,X,XG255,XGATRSET,XGCURATR,XGEMPATR,XGPAD,XGRT,XGSCRN
|
---|
36 | N XQCH,ZQJMP,XQSV,XWT,XQUSER,XQZ,Y
|
---|
37 | N XPD,XPD0,XPDA,XPDBLD,XPDCHECK,XPDCP,XPDD,XPDGREF,XPDIDCNT
|
---|
38 | N XPDIDMOD,XPDIDTOT,XPDIDVT,XPDIT,XPDNM,XPDPKG,XPDRTN,XPDSET
|
---|
39 | N XPDSET1,XPDST,XPDT
|
---|
40 | ;
|
---|
41 | ; Load 776.999 file entry if needed...
|
---|
42 | D LOADPAR
|
---|
43 | ;
|
---|
44 | ; Update list of monitors...
|
---|
45 | D COMPMON
|
---|
46 | ;
|
---|
47 | ; Send email message to DUZ...
|
---|
48 | KILL ^TMP($J,"HLMAIL")
|
---|
49 | D ADD("The installation of the Event Monitoring software held in patch")
|
---|
50 | D ADD("HL*1.6*109 is complete. ")
|
---|
51 | S XTMP=$O(^XTMP("HLEV INSTALL 9999999.99999"),-1)
|
---|
52 | I XTMP]"",$D(^XTMP(XTMP)) D MAILMON
|
---|
53 | ;
|
---|
54 | ; Send Mailman message.
|
---|
55 | S XMDUZ=.5,XMSUB="HL*1.6*109 Installation - Site# "_$P($$SITE^VASITE,U,3)
|
---|
56 | S XMTEXT="^TMP("_$J_",""HLMAIL"","
|
---|
57 | S XMY("HL7SystemMonitoring@med.va.gov")=""
|
---|
58 | ;
|
---|
59 | D ^XMD
|
---|
60 | ;
|
---|
61 | I '$D(ZTQUEUED) W !!,"Setup instructions message #",$G(XMZ)," sent..."
|
---|
62 | KILL ^TMP($J,"HLMAIL")
|
---|
63 | ;
|
---|
64 | D DELMON ; Delete monitor(2)...
|
---|
65 | D DELMGRP ; Delete mail group(s) from monitor(s)...
|
---|
66 | ;
|
---|
67 | ; Start a new master job...
|
---|
68 | D STARTJOB^HLEVMST
|
---|
69 | ;
|
---|
70 | Q
|
---|
71 | ;
|
---|
72 | DELMON ; Delete renamed, or now unwanted official monitors...
|
---|
73 | N DA,DIE,DR
|
---|
74 | D DELONE("STUB 870 SEARCH")
|
---|
75 | D DELONE("XREF CHECK - FILE 772 & 773")
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | DELONE(NAME) ; Delete a monitor...
|
---|
79 | N DA
|
---|
80 | QUIT:$G(NAME)']"" ;->
|
---|
81 | F S DA=+$O(^HLEV(776.1,"B",NAME,0)) Q:'DA D
|
---|
82 | . N DIK,DR
|
---|
83 | . S DIK="^HLEV(776.1,"
|
---|
84 | . D ^DIK
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | LOADPAR ; Load 776.999 file...
|
---|
88 | QUIT:$G(^HLEV(776.999,1,0))]"" ;->
|
---|
89 | S $P(^HLEV(776.999,0),U,3)=1,$P(^HLEV(776.999,0),U,4)=1
|
---|
90 | S ^HLEV(776.999,1,0)="SYSTEM^A^120^96^^A"
|
---|
91 | S ^HLEV(776.999,"B","SYSTEM",1)=""
|
---|
92 | Q
|
---|
93 | ;
|
---|
94 | COMPMON ; Create list of monitors that have been changed...
|
---|
95 | N DATA,IEN,NM,XTMP
|
---|
96 | ;
|
---|
97 | S XTMP=$O(^XTMP("HLEV INSTALL 9999999.999999999"),-1)
|
---|
98 | QUIT:XTMP'["HLEV INSTALL" ;->
|
---|
99 | ;
|
---|
100 | S IEN=0
|
---|
101 | F S IEN=$O(^HLEV(776.1,IEN)) Q:IEN'>0 D
|
---|
102 | . S $P(^XTMP(XTMP,"O",IEN),U,3)=$P($G(^HLEV(776.1,+IEN,0)),U)
|
---|
103 | . S $P(^XTMP(XTMP,"O",IEN),U,4)=$$IENSUM(IEN)
|
---|
104 | . S DATA=^XTMP(XTMP,"O",IEN)
|
---|
105 | . QUIT:$P(DATA,U)'=$P(DATA,U,3) ;-> Names don't match
|
---|
106 | . QUIT:$P(DATA,U,2)'=$P(DATA,U,4) ;-> Checksums don't match
|
---|
107 | . KILL ^XTMP(XTMP,"O",IEN)
|
---|
108 | ;
|
---|
109 | ; Rearrange into new and "used" (pre-existing) monitors...
|
---|
110 | KILL ^XTMP(XTMP,"NEW"),^XTMP(XTMP,"OLD")
|
---|
111 | S IEN=0
|
---|
112 | F S IEN=$O(^XTMP(XTMP,"O",IEN)) Q:'IEN D
|
---|
113 | . S DATA=^XTMP(XTMP,"O",IEN) QUIT:DATA']"" ;->
|
---|
114 | . S NM=$P(DATA,U,3)
|
---|
115 | . S:$P(DATA,U)']"" ^XTMP(XTMP,"NEW",NM,IEN)=DATA
|
---|
116 | . S:$P(DATA,U)]"" ^XTMP(XTMP,"OLD",NM,IEN)=DATA
|
---|
117 | ;
|
---|
118 | KILL ^XTMP(XTMP,"O")
|
---|
119 | ;
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | ETHL7 ; Check/reset PACKAGE NAME in HL7 Monitor Event Type file (#776.3)...
|
---|
123 | N DA,DIE,DR,IEN,IENS,PCE
|
---|
124 | ;
|
---|
125 | S IENS="1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18^100^101^102^103^104^105^106^107^108^109^200^201^202^203^204^205^206^207^208^209^210^211^213^214^215^216"
|
---|
126 | ;
|
---|
127 | F PCE=1:1:$L(IENS,U) D
|
---|
128 | . S IEN=$P(IENS,U,+PCE) QUIT:$G(^HLEV(776.3,IEN,0))']"" ;->
|
---|
129 | . S DA=IEN,DIE=776.3,DR=".08///HEALTH LEVEL SEVEN"
|
---|
130 | . D ^DIE
|
---|
131 | ;
|
---|
132 | Q
|
---|
133 | ;
|
---|
134 | MAILMON ; Add to new or changed monitors to mail text...
|
---|
135 | N HDR,NM,TXT,TYP
|
---|
136 | ;
|
---|
137 | D ADD(" - New and changed monitors.")
|
---|
138 | ;
|
---|
139 | S TYPE=""
|
---|
140 | F S TYPE=$O(^XTMP(XTMP,TYPE)) Q:TYPE']"" D
|
---|
141 | . D ADD("")
|
---|
142 | . S HDR=$S(TYPE="OLD":"Monitors changed during installation",TYPE="NEW":"New monitors",1:"") QUIT:HDR']"" ;->
|
---|
143 | . D ADD(HDR),ADD($$REPEAT^XLFSTR("-",$L(HDR)))
|
---|
144 | . S NM="",TXT=""
|
---|
145 | . F S NM=$O(^XTMP(XTMP,TYPE,NM)) Q:NM']"" D
|
---|
146 | . . S TXT(1)=$E(NM_$$REPEAT^XLFSTR(" ",40),1,35)
|
---|
147 | . . S TXT=TXT_TXT(1)
|
---|
148 | . . I $L(TXT)>35 D ADD(TXT) S TXT=""
|
---|
149 | . I $L(TXT)>0 D ADD(TXT)
|
---|
150 | ;
|
---|
151 | Q
|
---|
152 | ;
|
---|
153 | ADD(TXT) ; Add text to ^TMP($J,"HLMAIL")
|
---|
154 | N NO
|
---|
155 | S NO=$O(^TMP($J,"HLMAIL",":"),-1)+1
|
---|
156 | S ^TMP($J,"HLMAIL",+NO)=TXT
|
---|
157 | Q
|
---|
158 | ;
|
---|
159 | IENSUM(IEN) ; Checksum of entry...
|
---|
160 | N ASC,CHAR,LP,POS,ST,SUM,TXT,VAL
|
---|
161 | S SUM=0
|
---|
162 | S LP="^HLEV(776.1,"_IEN,ST=LP_",",LP=LP_")"
|
---|
163 | F S LP=$Q(@LP) Q:LP'[ST D
|
---|
164 | . S TXT=LP_"="_@LP
|
---|
165 | . F POS=1:1:$L(TXT) D
|
---|
166 | . . S CHAR=$E(TXT,POS),ASC=$A(CHAR)
|
---|
167 | . . S SUM=SUM+(ASC*POS)
|
---|
168 | Q SUM
|
---|
169 | ;
|
---|
170 | DELMGRP ; Delete mailgroup in monitor...
|
---|
171 | N IEN,MIEN
|
---|
172 | ;
|
---|
173 | ; CHECK 773 AC XREF --- @ --- HL7DevelopmentTeam@med.va.gov
|
---|
174 | S IEN=$O(^HLEV(776.1,"B","CHECK 773 AC XREF",0))
|
---|
175 | S MIEN=$O(^HLEV(776.1,+IEN,62,"B","HL7DevelopmentTeam@med.va.gov",0))
|
---|
176 | D DELGRP1(IEN,MIEN)
|
---|
177 | ;
|
---|
178 | ; LINK (870) CHECKS
|
---|
179 | S IEN=$O(^HLEV(776.1,"B","LINK (870) CHECKS",0))
|
---|
180 | S MIEN=$O(^HLEV(776.1,+IEN,62,"B","HL7DevelopmentTeam@med.va.gov",0))
|
---|
181 | D DELGRP1(IEN,MIEN)
|
---|
182 | ;
|
---|
183 | Q
|
---|
184 | ;
|
---|
185 | ;
|
---|
186 | DELGRP1(IEN,MIEN) ; Delete one remote mail group...
|
---|
187 | N DIE,DIE,DR
|
---|
188 | QUIT:'$D(^HLEV(776.1,+IEN,62,+MIEN,0)) ;->
|
---|
189 | S DIE="^HLEV(776.1,"_IEN_",62,",DA(1)=IEN,DA=MIEN
|
---|
190 | S DR=".01///@"
|
---|
191 | D ^DIE
|
---|
192 | Q
|
---|
193 | ;
|
---|
194 | EOR ;HLEVINIT - Event Monitor PRE&POST-INITS ;5/16/03 14:42
|
---|