[613] | 1 | DVB458P ;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 | ;
|
---|
| 13 | ENV ;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 | ;
|
---|
| 25 | PRE ;Main entry point for Pre-init items.
|
---|
| 26 | ;
|
---|
| 27 | Q
|
---|
| 28 | ;
|
---|
| 29 | ;
|
---|
| 30 | POST ;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 | ;
|
---|
| 78 | SENDMSG(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 | ;
|
---|
| 130 | PROGCHK(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 | ;
|
---|
| 141 | ISRUNING(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
|
---|