[613] | 1 | DG53B563 ;ALB/PJR - DOD Enhancement Post-Install ; 12/30/04 3:53pm
|
---|
| 2 | ;;5.3;Registration;**563**; Aug 13,1993
|
---|
| 3 | ;This post install routine will loop through patient file (#2)
|
---|
| 4 | ;and delete the DEATH ENTERED BY field
|
---|
| 5 | ;for all entries that have NO value in the DATE OF DEATH field (#.351)
|
---|
| 6 | ;but DO have a value in the DEATH ENTERED BY field (#.352)
|
---|
| 7 | Q
|
---|
| 8 | ;
|
---|
| 9 | EP ;Entry point
|
---|
| 10 | N OK
|
---|
| 11 | D CHK Q:'OK
|
---|
| 12 | D MSG
|
---|
| 13 | D QUETASK
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | QUETASK ;Queue the task
|
---|
| 17 | N TXT,ZTRTN,ZTDESC,ZTSK,ZTIO,ZTDTH
|
---|
| 18 | S ZTRTN="EP1^DG53B563",ZTIO="",ZTDTH=$$NOW^XLFDT()
|
---|
| 19 | S ZTDESC="DOD ENHANCEMENT POST-INSTALL"
|
---|
| 20 | K ^XTMP("DG53B563")
|
---|
| 21 | D ^%ZTLOAD S ^XTMP("DG53B563","TASK")=ZTSK
|
---|
| 22 | S TXT(1)="Task: "_ZTSK_" Queued."
|
---|
| 23 | D BMES^XPDUTL(.TXT)
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | EP1 ;Entry point
|
---|
| 27 | N ZCNT,ZIEN,ZEND,ZDATE,ZEDATE,DA,DIE,DR,ZCK,ZII,ZXX,X
|
---|
| 28 | L +^XTMP("DG53B563"):1 E Q
|
---|
| 29 | S (ZIEN,ZCNT)=0
|
---|
| 30 | S ZDATE=$$DT^XLFDT D DG53
|
---|
| 31 | S ^XTMP("DG53B563",0)=ZCNT_U_ZDATE_U_X
|
---|
| 32 | S $P(^XTMP("DG53B563","DATE"),"^")=$$FMTE^XLFDT($$NOW^XLFDT(),"5P")
|
---|
| 33 | D LMINUS
|
---|
| 34 | ;Loop through patient file
|
---|
| 35 | F S ZIEN=$O(^DPT(ZIEN)) Q:'ZIEN D
|
---|
| 36 | .S ZXX=$G(^DPT(ZIEN,.35)),ZCK=0 I ZXX=""!ZXX Q
|
---|
| 37 | .F ZII=1,2,3,5 I $P(ZXX,U,ZII)]"" S ZCK=1 D
|
---|
| 38 | ..S DA=ZIEN,DIE="^DPT(",DR=".35"_ZII_"////@" D ^DIE
|
---|
| 39 | .I ZCK S ZCNT=ZCNT+1 ;Tot records updated
|
---|
| 40 | S $P(^XTMP("DG53B563","DATE"),"^",2)=$$FMTE^XLFDT($$NOW^XLFDT(),"5P")
|
---|
| 41 | S ZDATE=$$DT^XLFDT,ZEDATE=$$FMTE^XLFDT(DT) D DG53
|
---|
| 42 | S ^XTMP("DG53B563",0)=ZCNT_U_ZDATE_U_X
|
---|
| 43 | S ^XTMP("DG53B563","COMPLETED")=1 D MAIL
|
---|
| 44 | D DG53 S X="The "_X_" process is complete."
|
---|
| 45 | D BMES^XPDUTL(X)
|
---|
| 46 | Q
|
---|
| 47 | ;
|
---|
| 48 | CHK ;check for completion
|
---|
| 49 | N TXT,TASKNUM,STAT
|
---|
| 50 | S OK=1 L +^XTMP("DG53B563"):1 E D Q
|
---|
| 51 | .S OK=0 D DG53 S TXT(1)=X_" process has a lock table"
|
---|
| 52 | .S TXT(2)="problem. Nothing Done!"
|
---|
| 53 | .D BMES^XPDUTL(.TXT),LMINUS
|
---|
| 54 | ;
|
---|
| 55 | I $G(^XTMP("DG53B563","COMPLETED")) D Q
|
---|
| 56 | .S OK=0 D DG53 S TXT(1)=X_" process was completed in a"
|
---|
| 57 | .S TXT(2)="previous run. Nothing Done!"
|
---|
| 58 | .D BMES^XPDUTL(.TXT),LMINUS
|
---|
| 59 | ;
|
---|
| 60 | S TASKNUM=$G(^XTMP("DG53B563","TASK"))
|
---|
| 61 | I +TASKNUM D Q
|
---|
| 62 | .S STAT=$$ACTIVE(TASKNUM)
|
---|
| 63 | .I STAT>0 D
|
---|
| 64 | ..S OK=0 D DG53
|
---|
| 65 | ..S TXT(1)="Task: "_TASKNUM_" is currently running the"
|
---|
| 66 | ..S TXT(2)=X_" process."
|
---|
| 67 | ..S TXT(3)="Duplicate processes cannot be started."
|
---|
| 68 | ..D BMES^XPDUTL(.TXT)
|
---|
| 69 | .D LMINUS
|
---|
| 70 | ;
|
---|
| 71 | D LMINUS Q
|
---|
| 72 | ;
|
---|
| 73 | MSG ;create bulletin message in install file.
|
---|
| 74 | N TXT
|
---|
| 75 | S TXT(1)="This Post Install routine will loop through the Patient (#2) file"
|
---|
| 76 | S TXT(2)="and delete the DEATH ENTERED BY field for all patients"
|
---|
| 77 | S TXT(3)="that have NO value in the DATE OF DEATH (#.531) field"
|
---|
| 78 | S TXT(4)="but DO have a value in the DEATH ENTERED BY field."
|
---|
| 79 | S TXT(5)=" "
|
---|
| 80 | D BMES^XPDUTL(.TXT)
|
---|
| 81 | Q
|
---|
| 82 | ;
|
---|
| 83 | MAIL N SITE,STATN,SITENM,XMDUZ,XMSUB,XMY,XMTEXT,MSG
|
---|
| 84 | S SITE=$$SITE^VASITE,STATN=$P($G(SITE),"^",3),SITENM=$P($G(SITE),"^",2)
|
---|
| 85 | S:$$GET1^DIQ(869.3,"1,",.03,"I")'="P" STATN=STATN_" [TEST]"
|
---|
| 86 | D DG53 S XMDUZ=X,XMSUB=XMDUZ_" - "_STATN_" (DG*5.3*563)"
|
---|
| 87 | S (XMY(DUZ),XMY(.5))=""
|
---|
| 88 | S XMTEXT="MSG(" D DG53
|
---|
| 89 | S MSG(1)="The "_X_" process"
|
---|
| 90 | S MSG(2)="has completed successfully."
|
---|
| 91 | S MSG(3)="Task: "_$G(^XTMP("DG53B563","TASK"))
|
---|
| 92 | S MSG(4)=""
|
---|
| 93 | S MSG(5)="Site Station number: "_STATN
|
---|
| 94 | S MSG(6)="Site Name: "_SITENM
|
---|
| 95 | S MSG(7)=""
|
---|
| 96 | S MSG(8)="Process started at : "_$P($G(^XTMP("DG53B563","DATE")),"^",1)
|
---|
| 97 | S MSG(8)="Process completed at : "_$P($G(^XTMP("DG53B563","DATE")),"^",2)
|
---|
| 98 | S MSG(10)="Total Veterans updated: "_+$G(^XTMP("DG53B563",0))
|
---|
| 99 | D ^XMD
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | ;
|
---|
| 103 | ACTIVE(TASK) ;Checks if task is running
|
---|
| 104 | ; input -- The taskman ID
|
---|
| 105 | ; output -- 1=The task is running
|
---|
| 106 | ; 0=The task is not running
|
---|
| 107 | N STAT,ZTSK,Y
|
---|
| 108 | S STAT=0,ZTSK=+TASK
|
---|
| 109 | D STAT^%ZTLOAD
|
---|
| 110 | S Y=ZTSK(1)
|
---|
| 111 | I Y=0 S STAT=-1
|
---|
| 112 | I ",1,2,"[(","_Y_",") S STAT=1
|
---|
| 113 | I ",3,5,"[(","_Y_",") S STAT=0
|
---|
| 114 | Q STAT
|
---|
| 115 | DG53 S X="DG*5.3*563 DOD Post-Install cleanup DEATH ENTERED BY" Q
|
---|
| 116 | LMINUS L -^XTMP("DG53B563") Q
|
---|