[613] | 1 | VAQPUR ;ALB/JRP - PURGING;15JUL93
|
---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
|
---|
| 3 | DEFAULT ;ENTRY POINT TO USE DEFAULT LIFETIME FOR PURGING
|
---|
| 4 | ;INPUT : None
|
---|
| 5 | ;OUTPUT : None
|
---|
| 6 | ;
|
---|
| 7 | ;DECLARE VARIABLES
|
---|
| 8 | N X1,X2,X,%H,VAQDATE
|
---|
| 9 | ;GET LIFETIME FROM PARAMETER FILE (DEFAULTS TO 30)
|
---|
| 10 | S X2=0
|
---|
| 11 | S X1=$O(^VAT(394.81,0))
|
---|
| 12 | S:(X1) X2=+$G(^VAT(394.81,X1,"LIFE"))
|
---|
| 13 | S:('X2) X2=30
|
---|
| 14 | ;INCREMENT LIFETIME BY 3
|
---|
| 15 | S X2=X2+3
|
---|
| 16 | ;DETERMINE PURGE DATE (SUBTRACT LIFETIME FROM TODAY)
|
---|
| 17 | S X2=0-X2
|
---|
| 18 | S X1=+$G(DT)
|
---|
| 19 | S:('X1) X1=$$NOW^VAQUTL99(1,0)
|
---|
| 20 | D C^%DTC
|
---|
| 21 | S VAQDATE=X
|
---|
| 22 | ;CALL PURGER (IF JOBBED)
|
---|
| 23 | I ($D(ZTQUEUED)) S X1=$$PURGER^VAQPUR10(VAQDATE,0) Q
|
---|
| 24 | ;TASK PURGER
|
---|
| 25 | D TASKIT
|
---|
| 26 | Q
|
---|
| 27 | ;
|
---|
| 28 | USERLIF ;ENTRY POINT TO GET LIFETIME FOR PURGING FROM USER
|
---|
| 29 | ;INPUT : None
|
---|
| 30 | ;OUTPUT : None
|
---|
| 31 | ;
|
---|
| 32 | ;DECLARE VARIABLES
|
---|
| 33 | N X1,X2,X,%H,DIR,Y,VAQDATE
|
---|
| 34 | ;GET LIFETIME FROM USER (DEFAULT IS 30)
|
---|
| 35 | S DIR(0)="NAO^1:99999:0"
|
---|
| 36 | S DIR("A")="Lifetime to use for purging : "
|
---|
| 37 | S DIR("B")=30
|
---|
| 38 | S DIR("?",1)="Enter the number of days a PDX transaction is considered valid."
|
---|
| 39 | S DIR("?",2)="Transactions, and their data, that are older than this value"
|
---|
| 40 | S DIR("?")="plus three will be deleted."
|
---|
| 41 | D ^DIR
|
---|
| 42 | I ($D(DTOUT)!$D(DUOUT)) K DTOUT,DUOUT,DIRUT,DIROUT Q
|
---|
| 43 | ;INCREMENT LIFETIME BY 3
|
---|
| 44 | S X2=Y+3
|
---|
| 45 | ;DETERMINE PURGE DATE (SUBTRACT LIFETIME FROM TODAY)
|
---|
| 46 | S X2=0-X2
|
---|
| 47 | S X1=+$G(DT)
|
---|
| 48 | S:('X1) X1=$$NOW^VAQUTL99(1,0)
|
---|
| 49 | D C^%DTC
|
---|
| 50 | S VAQDATE=X
|
---|
| 51 | ;TASK PURGER
|
---|
| 52 | D TASKIT
|
---|
| 53 | Q
|
---|
| 54 | ;
|
---|
| 55 | USERDAT ;ENTRY POINT TO GET DATE TO USE FOR PURGING FROM USER
|
---|
| 56 | ;INPUT : None
|
---|
| 57 | ;OUTPUT : None
|
---|
| 58 | ;
|
---|
| 59 | ;DECLARE VARIABLES
|
---|
| 60 | N X1,X2,X,%H,DIR,Y
|
---|
| 61 | ;DEFAULT IS 30 DAYS BACK
|
---|
| 62 | S X1=+$G(DT)
|
---|
| 63 | S:('X1) X1=$$NOW^VAQUTL99(1,0)
|
---|
| 64 | S X2=-30
|
---|
| 65 | D C^%DTC
|
---|
| 66 | S X1=$$DOBFMT^VAQUTL99(X,0)
|
---|
| 67 | S DIR("B")=X1
|
---|
| 68 | ;FORCE USER TO PUT IN A DATE OLDER THAN 3 DAYS BACK
|
---|
| 69 | S X1=+$G(DT)
|
---|
| 70 | S:('X1) X1=$$NOW^VAQUTL99(1,0)
|
---|
| 71 | S X2=-3
|
---|
| 72 | D C^%DTC
|
---|
| 73 | S DIR(0)="DAO^:"_X_":EX"
|
---|
| 74 | S DIR("A")="Date to use for purging : "
|
---|
| 75 | S DIR("?",1)="Enter the day after which a PDX transaction is considered valid."
|
---|
| 76 | S DIR("?",2)="Transactions, and their data, that were created before this date"
|
---|
| 77 | S DIR("?")="will be deleted."
|
---|
| 78 | D ^DIR
|
---|
| 79 | I ($D(DTOUT)!$D(DUOUT)) K DTOUT,DUOUT,DIRUT,DIROUT Q
|
---|
| 80 | S VAQDATE=Y
|
---|
| 81 | ;TASK PURGER
|
---|
| 82 | D TASKIT
|
---|
| 83 | Q
|
---|
| 84 | ;
|
---|
| 85 | TASKIT ;TASKS PURGER USING DATE PROVIDED BY USER
|
---|
| 86 | N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK
|
---|
| 87 | ;SET UP VARIABLES FOR CALL TO %ZTLOAD
|
---|
| 88 | S ZTRTN="JOB^VAQPUR10"
|
---|
| 89 | S ZTDESC="Purging of PDX Transactions"
|
---|
| 90 | S ZTSAVE("VAQDATE")=VAQDATE
|
---|
| 91 | S ZTSAVE("VAQINTR")=0
|
---|
| 92 | S ZTIO=""
|
---|
| 93 | S ZTDTH=""
|
---|
| 94 | S ZTSK=0
|
---|
| 95 | W !!
|
---|
| 96 | ;TASK
|
---|
| 97 | D ^%ZTLOAD
|
---|
| 98 | ;COULD NOT BE TASKED
|
---|
| 99 | I ('(+$G(ZTSK))) D Q
|
---|
| 100 | .W !!,$C(7)
|
---|
| 101 | .W "** Purging of PDX Transactions could not be queued **"
|
---|
| 102 | .W !!,$C(7)
|
---|
| 103 | ;TELL USER TASK NUMBER
|
---|
| 104 | W !!
|
---|
| 105 | W "Purging of PDX Transactions has been queued."
|
---|
| 106 | W !,?2,"Task number: ",ZTSK
|
---|
| 107 | W !!
|
---|
| 108 | Q
|
---|