Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQPUR

VAQPUR.m

Go to the documentation of this file.
VAQPUR ;ALB/JRP - PURGING;15JUL93
 ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
DEFAULT ;ENTRY POINT TO USE DEFAULT LIFETIME FOR PURGING
 ;INPUT  : None
 ;OUTPUT : None
 ;
 ;DECLARE VARIABLES
 N X1,X2,X,%H,VAQDATE
 ;GET LIFETIME FROM PARAMETER FILE (DEFAULTS TO 30)
 S X2=0
 S X1=$O(^VAT(394.81,0))
 S:(X1) X2=+$G(^VAT(394.81,X1,"LIFE"))
 S:('X2) X2=30
 ;INCREMENT LIFETIME BY 3
 S X2=X2+3
 ;DETERMINE PURGE DATE (SUBTRACT LIFETIME FROM TODAY)
 S X2=0-X2
 S X1=+$G(DT)
 S:('X1) X1=$$NOW^VAQUTL99(1,0)
 D C^%DTC
 S VAQDATE=X
 ;CALL PURGER (IF JOBBED)
 I ($D(ZTQUEUED)) S X1=$$PURGER^VAQPUR10(VAQDATE,0) Q
 ;TASK PURGER
 D TASKIT
 Q
 ;
USERLIF ;ENTRY POINT TO GET LIFETIME FOR PURGING FROM USER
 ;INPUT  : None
 ;OUTPUT : None
 ;
 ;DECLARE VARIABLES
 N X1,X2,X,%H,DIR,Y,VAQDATE
 ;GET LIFETIME FROM USER (DEFAULT IS 30)
 S DIR(0)="NAO^1:99999:0"
 S DIR("A")="Lifetime to use for purging : "
 S DIR("B")=30
 S DIR("?",1)="Enter the number of days a PDX transaction is considered valid."
 S DIR("?",2)="Transactions, and their data, that are older than this value"
 S DIR("?")="plus three will be deleted."
 D ^DIR
 I ($D(DTOUT)!$D(DUOUT)) K DTOUT,DUOUT,DIRUT,DIROUT Q
 ;INCREMENT LIFETIME BY 3
 S X2=Y+3
 ;DETERMINE PURGE DATE (SUBTRACT LIFETIME FROM TODAY)
 S X2=0-X2
 S X1=+$G(DT)
 S:('X1) X1=$$NOW^VAQUTL99(1,0)
 D C^%DTC
 S VAQDATE=X
 ;TASK PURGER
 D TASKIT
 Q
 ;
USERDAT ;ENTRY POINT TO GET DATE TO USE FOR PURGING FROM USER
 ;INPUT  : None
 ;OUTPUT : None
 ;
 ;DECLARE VARIABLES
 N X1,X2,X,%H,DIR,Y
 ;DEFAULT IS 30 DAYS BACK
 S X1=+$G(DT)
 S:('X1) X1=$$NOW^VAQUTL99(1,0)
 S X2=-30
 D C^%DTC
 S X1=$$DOBFMT^VAQUTL99(X,0)
 S DIR("B")=X1
 ;FORCE USER TO PUT IN A DATE OLDER THAN 3 DAYS BACK
 S X1=+$G(DT)
 S:('X1) X1=$$NOW^VAQUTL99(1,0)
 S X2=-3
 D C^%DTC
 S DIR(0)="DAO^:"_X_":EX"
 S DIR("A")="Date to use for purging : "
 S DIR("?",1)="Enter the day after which a PDX transaction is considered valid."
 S DIR("?",2)="Transactions, and their data, that were created before this date"
 S DIR("?")="will be deleted."
 D ^DIR
 I ($D(DTOUT)!$D(DUOUT)) K DTOUT,DUOUT,DIRUT,DIROUT Q
 S VAQDATE=Y
 ;TASK PURGER
 D TASKIT
 Q
 ;
TASKIT ;TASKS PURGER USING DATE PROVIDED BY USER
 N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE,ZTSK
 ;SET UP VARIABLES FOR CALL TO %ZTLOAD
 S ZTRTN="JOB^VAQPUR10"
 S ZTDESC="Purging of PDX Transactions"
 S ZTSAVE("VAQDATE")=VAQDATE
 S ZTSAVE("VAQINTR")=0
 S ZTIO=""
 S ZTDTH=""
 S ZTSK=0
 W !!
 ;TASK
 D ^%ZTLOAD
 ;COULD NOT BE TASKED
 I ('(+$G(ZTSK))) D  Q
 .W !!,$C(7)
 .W "** Purging of PDX Transactions could not be queued **"
 .W !!,$C(7)
 ;TELL USER TASK NUMBER
 W !!
 W "Purging of PDX Transactions has been queued."
 W !,?2,"Task number: ",ZTSK
 W !!
 Q