source: FOIAVistA/trunk/r/HINQ-DVB--DVBA--DVBE--DVBC/DVB458P.m@ 1397

Last change on this file since 1397 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 5.1 KB
Line 
1DVB458P ;ALB/RBS - ENV/PRE/POST-INSTALL FOR PATCH DVB*4*58 ; 1/11/07 1:34pm
2 ;;4.0;HINQ;**58**;03/25/92;Build 29
3 ;
4 ;This routine is the main install routine that will update the
5 ;DISABILITY CONDITION (#31) file with the new mapping of Rated
6 ;Disabilities (VA) VBA DX CODES to specific ICD DIAGNOSIS codes.
7 ;There are 3,085 ICD9 codes that will be added to the (#31) file.
8 ;
9 ;
10 Q ;no direct entry
11 ;
12 ;
13ENV ;Main entry point for Environment check point.
14 ;
15 S XPDABORT=""
16 ;checks programmer variables
17 D PROGCHK(.XPDABORT)
18 ;check if patch install is running
19 D ISRUNING(.XPDABORT)
20 ;
21 I XPDABORT="" K XPDABORT
22 Q
23 ;
24 ;
25PRE ;Main entry point for Pre-init items.
26 ;
27 Q
28 ;
29 ;
30POST ;Main entry point for Post-init items.
31 ;
32 N DVBTOT ;count of total ICD9 codes filed
33 N DVBTMP ;Closed Root global reference for error reporting
34 ;remove data from #field 20 in file #31 and repopulate
35 I $$VFIELD^DILFD(31,20) D
36 .D DELETE^DVB458P1
37 S DVBTMP=$NA(^TMP("DVB458P",$J))
38 K @DVBTMP
39 S @DVBTMP@(0)="PATCH DVB*4*58 POST-INSTALL^"_$$NOW^XLFDT
40 S DVBTOT=0
41 ;
42 D BMES^XPDUTL(" >>> *** Updating the DISABILITY CONDITION (#31) file...")
43 D MES^XPDUTL(" *** Please be patient, this should take less than 5 minutes.")
44 D MES^XPDUTL(" ")
45 ;
46 ;call to process (#31) file updates
47 D POST^DVB458P1(DVBTMP,.DVBTOT)
48 ;
49 S @DVBTMP@(0)=@DVBTMP@(0)_"^"_$$NOW^XLFDT_"^"_DVBTOT
50 ;
51 I '$D(@DVBTMP@("ERROR")) D
52 . D BMES^XPDUTL(" >>> *** SUCCESS updating the DISABILITY CONDITION (#31) file.")
53 . D MES^XPDUTL(" Total RELATED ICD9 CODES filed: "_DVBTOT)
54 . ;
55 E D
56 . D BMES^XPDUTL(" >>> *** FAILURE updating the DISABILITY CONDITION (#31) file.")
57 . D BMES^XPDUTL(" Filing error's have occurred when adding the new RELATED ICD9 CODES.")
58 . D MES^XPDUTL(" Immediate resolution is necessary to maintain database integrity.")
59 . D BMES^XPDUTL(" A MailMan message has been sent to the installer of this patch")
60 . D MES^XPDUTL(" with a listing of the error's.")
61 . D BMES^XPDUTL(" Once these filing error's have been resolved, please re-run")
62 . D MES^XPDUTL(" the Post-Installation routine directly from programmer mode")
63 . D MES^XPDUTL(" by entering the following command:")
64 . D MES^XPDUTL(" ")
65 . D MES^XPDUTL(" D POST^DVB458P")
66 . D MES^XPDUTL(" ")
67 . D BMES^XPDUTL(" >>> I'm now creating and sending the MailMan message...")
68 . ;
69 . D SENDMSG(DVBTMP,.DVBTOT)
70 . ;
71 . D MES^XPDUTL(" >>> All done.")
72 ;
73 ;cleanup temp file
74 K @DVBTMP
75 Q
76 ;
77 ;
78SENDMSG(DVBTMP,DVBTOT) ;send failure MailMan message to installer of patch
79 ;
80 N DIFROM,DVBMSG
81 N XMY,XMDUZ,XMSUB,XMTEXT,XMDUN,XMZ
82 S XMSUB="DVB*4.0*58 Patch Post-Install Error Listing"
83 S XMTEXT="DVBMSG("
84 S XMDUZ=.5,(XMY(DUZ),XMY(XMDUZ))=""
85 S DVBMSG(1)="Patch: DVB*4.0*58 Automated Service Connected Designation"
86 S DVBMSG(2)=""
87 S DVBMSG(3)="The post-installation update of the DISABILITY CONDITION (#31) file"
88 S DVBMSG(4)="has FAILED to successfully complete. Filing error's have occurred when"
89 S DVBMSG(5)="attempting to add the new data mapping of RELATED ICD9 CODES."
90 S DVBMSG(6)=""
91 S DVBMSG(7)="Immediate resolution of ALL error's is needed to maintain database integrity."
92 S DVBMSG(8)=""
93 S DVBMSG(9)="Once these filing error's have been resolved, please re-run"
94 S DVBMSG(10)="the Post-Installation routine directly from programmer mode"
95 S DVBMSG(11)="by entering the following command:"
96 S DVBMSG(12)=""
97 S DVBMSG(13)="D POST^DVB458P"
98 S DVBMSG(14)=""
99 S DVBMSG(15)="The new update run time should take less than 5 minutes to complete."
100 S DVBMSG(16)=""
101 S DVBMSG(17)=">>> Please review and resolve the following error's:"
102 S DVBMSG(18)=""
103 S DVBMSG(19)="*** DISABILITY CONDITION FILE (#31) FILING ERRORS ***"
104 S DVBMSG(20)="-----------------------------------------------------"
105 ;
106 ;loop and list error's
107 N DVBICD,DVBHDR,DVBHDR1,DVBIEN,DVBLN,DVBMSS,DVBVBA,DVBDESC
108 S DVBHDR="VBA DX CODE: ",DVBHDR1=" ICD DIAGNOSIS CODE: "
109 S DVBLN=21,DVBVBA=0
110 F S DVBVBA=$O(@DVBTMP@("ERROR",DVBVBA)) Q:'DVBVBA D
111 . I $D(@DVBTMP@("ERROR",DVBVBA,0)) D Q
112 . . S DVBMSS=DVBHDR_DVBVBA_" - "_$G(@DVBTMP@("ERROR",DVBVBA,0))
113 . . S DVBMSG(DVBLN)=DVBMSS,DVBLN=DVBLN+1
114 . K DVBDESC D FIND^DIC(31,"","","X",DVBVBA,,"C","","","DVBDESC")
115 . S DVBMSS=DVBHDR_DVBVBA_" - "_$E($G(DVBDESC("DILIST",1,1)),1,50)
116 . S DVBMSG(DVBLN)=DVBMSS,DVBLN=DVBLN+1
117 . S DVBIEN=0
118 . F S DVBIEN=$O(@DVBTMP@("ERROR",DVBVBA,DVBIEN)) Q:'DVBIEN D
119 . . S DVBICD=""
120 . . F S DVBICD=$O(@DVBTMP@("ERROR",DVBVBA,DVBIEN,DVBICD)) Q:DVBICD="" D
121 . . . S DVBMSS=DVBHDR1_DVBICD_" - "_$G(@DVBTMP@("ERROR",DVBVBA,DVBIEN,DVBICD))
122 . . . S DVBMSG(DVBLN)=DVBMSS,DVBLN=DVBLN+1
123 S DVBMSG(DVBLN)="",DVBLN=DVBLN+1
124 S DVBMSG(DVBLN)="<End of Report>"
125 ;
126 D ^XMD
127 Q
128 ;
129 ;
130PROGCHK(XPDABORT) ;checks for necessary programmer variables
131 ;
132 I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
133 . D BMES^XPDUTL("*****")
134 . D MES^XPDUTL("Your programming variables are not set up properly.")
135 . D MES^XPDUTL("Installation aborted.")
136 . D MES^XPDUTL("*****")
137 . S XPDABORT=2
138 Q
139 ;
140 ;
141ISRUNING(XPDABORT) ;check if patch install is running
142 ;
143 I $D(^TMP("DVB458P")) D
144 . D BMES^XPDUTL("*****")
145 . D MES^XPDUTL("This patch is currently being Installed. Try later.")
146 . D MES^XPDUTL("Installation aborted.")
147 . D MES^XPDUTL("*****")
148 . S XPDABORT=2
149 Q
Note: See TracBrowser for help on using the repository browser.