| [613] | 1 | DVBANDCU ;ALB/GTS - Clean-up routine 7131 ASIH notice of discharges; 12 Mar 96 @ 14:00pm [3/12/96 1:45pm] | 
|---|
|  | 2 | ;;2/7;AMIE;**5**;Mar 12, 1996 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | TEXT ;; | 
|---|
|  | 5 | ;;This routine will walk through the FORM 7131 file (#396) and cleanup | 
|---|
|  | 6 | ;;any ASIH admission dates. | 
|---|
|  | 7 | ;; | 
|---|
|  | 8 | ;;Once the process has completed, a MailMan message will be | 
|---|
|  | 9 | ;;delivered to the person installing the patch.  The message | 
|---|
|  | 10 | ;;will list 7131 requests that were cleaned up and Notices of | 
|---|
|  | 11 | ;;Discharge generated.  If Notices of Discharge were generated, | 
|---|
|  | 12 | ;;it is recommended you forward this message to those Regional | 
|---|
|  | 13 | ;;Office AMIE users so they will be aware of the changes to the | 
|---|
|  | 14 | ;;data in the AMIE system. | 
|---|
|  | 15 | ;; | 
|---|
|  | 16 | ;; | 
|---|
|  | 17 | ;;QUIT | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | STARTPT ; | 
|---|
|  | 20 | S (LNI,LNX)="" | 
|---|
|  | 21 | D MES^XPDUTL(" "),MES^XPDUTL(" ") | 
|---|
|  | 22 | F LNI=1:1 S LNX=$P($T(TEXT+LNI),";;",2) Q:(LNX="QUIT")  DO | 
|---|
|  | 23 | .S:LNX="" LNX=" " | 
|---|
|  | 24 | .D MES^XPDUTL(LNX) | 
|---|
|  | 25 | D CLN7131 | 
|---|
|  | 26 | K LNI,LNX | 
|---|
|  | 27 | Q | 
|---|
|  | 28 | ; | 
|---|
|  | 29 | CLN7131 ;** Init process, call correction tag and send mail msg | 
|---|
|  | 30 | S VAFEDXCT=0 | 
|---|
|  | 31 | D LINE("Results of AMIE 7131 ASIH clean-up at station "_$$SITE^VASITE()) | 
|---|
|  | 32 | D LINE("") | 
|---|
|  | 33 | D LINE("Start time:  "_$$NOW^XLFDT()),LINE("Job Number:  "_$J) | 
|---|
|  | 34 | D LINE(""),LINE("") | 
|---|
|  | 35 | D LINE("This message was generated as part of the clean up performed with") | 
|---|
|  | 36 | D LINE(" the installation of patch DVBA*2.7*5.") | 
|---|
|  | 37 | D LINE("") | 
|---|
|  | 38 | D LINE("IRM STAFF INFORMATION FOLLOWS: ") | 
|---|
|  | 39 | D LINE("The following is a list of 7131 requests entered for an ASIH") | 
|---|
|  | 40 | D LINE(" Admission date.  The Admission Date field (#3) was changed so") | 
|---|
|  | 41 | D LINE(" the time stamp no longer indicates ASIH."),LINE("") | 
|---|
|  | 42 | D LINE("Only Regional Office Staff need be concerned with this.") | 
|---|
|  | 43 | D LINE("") | 
|---|
|  | 44 | D LINE("REGIONAL OFFICE STAFF INFORMATION FOLLOWS: ") | 
|---|
|  | 45 | D LINE("R/O Staff, If you are adjudicating the claim of a veteran listed here,") | 
|---|
|  | 46 | D LINE(" be aware that Notices of Discharge generated for the admission date noted") | 
|---|
|  | 47 | D LINE(" may indicate discharge to another VA Facility.") | 
|---|
|  | 48 | D LINE("Check the veteran's claim folder for determination of action necessary.") | 
|---|
|  | 49 | D LINE(""),LINE("") | 
|---|
|  | 50 | D CORRECT ;** Correct 7131 ASIH records | 
|---|
|  | 51 | D LINE("") | 
|---|
|  | 52 | D LINE("End time:  "_$$NOW^XLFDT()) | 
|---|
|  | 53 | D MAIL ; mail results | 
|---|
|  | 54 | Q | 
|---|
|  | 55 | ; | 
|---|
|  | 56 | CORRECT ;** Walk 7131s, correct ASIH admit dts and gen 7132s | 
|---|
|  | 57 | N CT,J,DVBARQDT,DVBAASIH,DVBAPAT,DVBADFN,DGPMDA,DGDT,TDIS | 
|---|
|  | 58 | D SETXRO ;* Set RO station # array | 
|---|
|  | 59 | S CT=0 | 
|---|
|  | 60 | S (J,DVBARQDT)="" | 
|---|
|  | 61 | F  S DVBARQDT=$O(^DVB(396,"G",DVBARQDT)) Q:(DVBARQDT="")  DO | 
|---|
|  | 62 | .F  S J=$O(^DVB(396,"G",DVBARQDT,J)) Q:J=""  DO | 
|---|
|  | 63 | ..I $D(^DVB(396,J,0)),($D(^DVB(396,J,2))) DO | 
|---|
|  | 64 | ...S DVBAASIH=$P(DVBARQDT,".",2) | 
|---|
|  | 65 | ...I ($L(DVBAASIH)>6)&($P(^DVB(396,J,2),"^",10)="A") DO | 
|---|
|  | 66 | ....S DVBADFN=$P(^DVB(396,J,0),"^",1) | 
|---|
|  | 67 | ....S DVBAPAT=$P($G(^DPT(DVBADFN,0)),"^",1) | 
|---|
|  | 68 | ....S:DVBAPAT="" DVBAPAT="(IRM NOTE: Bad patient name for DFN "_DVBADFN_")" | 
|---|
|  | 69 | ....S DFN=DVBADFN | 
|---|
|  | 70 | ....S VAIP("D")=DVBARQDT | 
|---|
|  | 71 | ....S VAIP("M")=0 | 
|---|
|  | 72 | ....D IN5^VADPT | 
|---|
|  | 73 | ....S DGPMDA=VAIP(1) | 
|---|
|  | 74 | ....S DGDT=0 | 
|---|
|  | 75 | ....S DGDT=VAIP(17) | 
|---|
|  | 76 | ....S TDIS=$P(VAIP(17,3),"^",2) | 
|---|
|  | 77 | ....K VAIP,DFN | 
|---|
|  | 78 | ....S DVBARQDT=+$E(DVBARQDT,1,14) | 
|---|
|  | 79 | ....S DA=J,DIE="^DVB(396,",DR="3////^S X=DVBARQDT" | 
|---|
|  | 80 | ....D ^DIE | 
|---|
|  | 81 | ....K DIE,DR,X,DA | 
|---|
|  | 82 | ....S Y=DVBARQDT | 
|---|
|  | 83 | ....X ^DD("DD") | 
|---|
|  | 84 | ....D LINE("  "_DVBAPAT_" 7131 for ASIH Admission Date "_Y_" corrected.") | 
|---|
|  | 85 | ....K Y | 
|---|
|  | 86 | ....D:DGDT GEN7132(DVBADFN,J,DVBARQDT,DGPMDA,TDIS) | 
|---|
|  | 87 | ....S CT=CT+1 | 
|---|
|  | 88 | D:+CT'>0 LINE("No ASIH Admission 7131s were found for your Medical Center.") | 
|---|
|  | 89 | D LINE(""),LINE("") | 
|---|
|  | 90 | D LINE("The number of records corrected was "_CT) | 
|---|
|  | 91 | D LINE(""),LINE("") | 
|---|
|  | 92 | D:+CT>0 LINE("IRM PERSONNEL: ") | 
|---|
|  | 93 | D:+CT>0 LINE("Please forward this message to Regional Office personnel who use your system.") | 
|---|
|  | 94 | K XRO | 
|---|
|  | 95 | Q | 
|---|
|  | 96 | ; | 
|---|
|  | 97 | SETXRO ;* Set up regional office station numbers array | 
|---|
|  | 98 | N I,J | 
|---|
|  | 99 | F I=0:0 S I=$O(^DVB(396.1,1,1,I)) Q:I=""!(+I=0)  S J=$P(^(I,0),U,1),J=$S($D(^DIC(4,+J,99)):$P(^(99),U),1:"") I J]"" S XRO(J)="" | 
|---|
|  | 100 | Q | 
|---|
|  | 101 | ; | 
|---|
|  | 102 | GEN7132(DFN,DVBADA,ADMDT,DGPMDA,TDIS) ;* Gen Notice of Discharge (file 396.2) | 
|---|
|  | 103 | ;**NOTE: XRO(n) Array must be defined with N being the RO station #s | 
|---|
|  | 104 | N CFLOC | 
|---|
|  | 105 | S CFLOC=$P($G(^DPT(DFN,.31)),"^",4) | 
|---|
|  | 106 | S:CFLOC'="" CFLOC=$S($D(^DIC(4,CFLOC,99)):$P(^DIC(4,CFLOC,99),"^",1),1:"") | 
|---|
|  | 107 | Q:CFLOC=""  ;QUIT:no CFLOC | 
|---|
|  | 108 | I '$D(XRO(CFLOC))&(CFLOC'=376) Q  ;**QUIT if RO not user at site | 
|---|
|  | 109 | I CFLOC=376,TDIS["DEATH" S CFLOC=$O(XRO(0)) Q:CFLOC=""  ;QUIT:no RO'S | 
|---|
|  | 110 | Q:$D(^DVB(396.2,"D",ADMDT,DFN))  ;**QUIT if 7132 exists | 
|---|
|  | 111 | I ($P(^DVB(396,DVBADA,0),U,5)="YES")&($P(^(0),U,9)="P") DO | 
|---|
|  | 112 | .S SSN=$P($G(^DPT(DFN,0)),"^",9) | 
|---|
|  | 113 | .S (DIC,DIE)="^DVB(396.2," | 
|---|
|  | 114 | .S DR="3.5///"_CFLOC_";1///"_ADMDT_";2///"_DGPMDA_";3///R" | 
|---|
|  | 115 | .S DLAYGO=396.2,DIC(0)="QLM",X=""""_SSN_"""" | 
|---|
|  | 116 | .D ^DIC | 
|---|
|  | 117 | .I +Y>0 DO | 
|---|
|  | 118 | ..S DA=+Y | 
|---|
|  | 119 | ..D ^DIE | 
|---|
|  | 120 | ..D LINE("    .....Notice of Discharge has been generated!") | 
|---|
|  | 121 | ..D LINE(""),LINE("") | 
|---|
|  | 122 | .K DR,DLAYGO,DIC,DIE,X,Y,SSN | 
|---|
|  | 123 | Q | 
|---|
|  | 124 | ; | 
|---|
|  | 125 | MAIL ;** Mail Cleanup msg | 
|---|
|  | 126 | N DIFROM | 
|---|
|  | 127 | K XMY | 
|---|
|  | 128 | S XMSUB="AMIE 7131 ASIH clean up" | 
|---|
|  | 129 | S XMN=0 | 
|---|
|  | 130 | S XMTEXT="^TMP(""DVBA ASIH CLEANUP"",$J," | 
|---|
|  | 131 | S XMDUZ=.5,XMY(DUZ)="" | 
|---|
|  | 132 | D ^XMD | 
|---|
|  | 133 | D MES^XPDUTL(" "),MES^XPDUTL(" ") | 
|---|
|  | 134 | D MES^XPDUTL("  ...Message has been delivered to installer!") | 
|---|
|  | 135 | K VAFEDXCT,XMDUZ,XMN,XMSUB,XMTEXT,XMY,^TMP("DVBA ASIH CLEANUP",$J) | 
|---|
|  | 136 | Q | 
|---|
|  | 137 | ; | 
|---|
|  | 138 | LINE(TEXT) ; add line to array for e-mail | 
|---|
|  | 139 | S VAFEDXCT=VAFEDXCT+1,^TMP("DVBA ASIH CLEANUP",$J,VAFEDXCT)=TEXT | 
|---|
|  | 140 | Q | 
|---|