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

LRMLPRG.m

Go to the documentation of this file.
  1. LRMLPRG ;BPFO/DTG - PURGE PGM FOR NTRT PROCESS ;02102016
  1. ;;5.2;LAB SERVICE;**468**;FEB 10 2016;Build 64
  1. ;
  1. ;purge routine for the audit date/time multiple in file 60
  1. EN ; enter here from [LR NTRT EDIT PURGE]
  1. N ZTDESC,ZTSAVE,ZTRTN,ZTDTH,ZTIO,ZTSK,LRDUZ
  1. S LRDUZ=DUZ,ZTSAVE("LRDUZ")=""
  1. S ZTDESC="LR NDS AUDITS PURGE"
  1. S ZTRTN="QUEA^LRMLPRG",ZTDTH=$$NOW^XLFDT,ZTIO=""
  1. D ^%ZTLOAD W:$D(ZTSK) !,"Request Queued, #",ZTSK W !
  1. K ZTSK D HOME^%ZIS
  1. Q
  1. ;
  1. CALL ; from task manager
  1. N ZTDESC,ZTSAVE,ZTRTN,ZTDTH,ZTSK,ZTIO
  1. S ZTDESC="LR NTRT EDITS PURGE"
  1. S ZTRTN="QUEA^LRMLPRG",ZTDTH=$$NOW^XLFDT
  1. D ^%ZTLOAD
  1. Q
  1. ;
  1. QUEA ; walk ^LAB(60,,15 and trim older audits
  1. N DA,DIE,DR,A,LD,LT,B,PS,PURGEDAYS,PDT,LDT,DIDEL
  1. S U="^" I $G(DT)="" S DT=$$DT^XLFDT
  1. S B=$$SITE^VASITE,B=$P(B,U,1) I 'B G QDONE ; not set up
  1. S PS=$O(^LAB(66.4,"B",B,0)) I PS="" G QDONE ; 66.4 not set up
  1. S PURGEDAYS=$$GET1^DIQ(66.4,PS_",",.04)
  1. I PURGEDAYS=""!(+PURGEDAYS<1) S PURGEDAYS=220
  1. S PDT=DT-PURGEDAYS
  1. ; loop ^LAB(60 audit date/time multiple
  1. S LT=0
  1. Q1 S LT=$O(^LAB(60,LT)) I 'LT G QDONE
  1. S LD=0
  1. Q2 S LD=$O(^LAB(60,LT,15,LD)) I 'LD G Q1
  1. S A=$$GET1^DIQ(60.28,LD_","_LT,.01,"I") I A="" G Q2
  1. S LDT=$P(A,".",1) I LDT>PDT G Q2
  1. ; remove entry from file
  1. S DIDEL=60.28
  1. L +^LAB(60,LT,15,LD):30 I '$T G Q2
  1. S DA=LD,DA(1)=LT,DIE="^LAB(60,"_DA(1)_",15,",DR=".01///@"
  1. D ^DIE
  1. L -^LAB(60,LT,15,LD)
  1. G Q2
  1. ;
  1. QDONE K DA,DIE,DR,A,LD,LT,B,PS,PURGEDAYS,PDT,LDT,DIDEL
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. Q