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

XDRDPRGE.m

Go to the documentation of this file.
  1. XDRDPRGE ;SF-IRMFO/IHS/OHPRD/JCM - PURGE DUPLICATE RECORD FILE; ;8/28/08 18:20
  1. ;;7.3;TOOLKIT;**23,42,113**;Apr 25, 1995;Build 5
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;;
  1. START ;
  1. D INIT G:XDRQFLG END
  1. D ASK G:XDRQFLG END
  1. DQ ; Entry point for Tasked job
  1. I XDRDPRGE("CHOICE")="BOTH" D BOTH I 1
  1. E D XREF
  1. END D EOJ
  1. Q
  1. ;
  1. INIT ;
  1. S XDRQFLG=0
  1. D FILE
  1. G:XDRQFLG INITX
  1. S XDRGL=^DIC(XDRFL,0,"GL")
  1. INITX Q
  1. ;
  1. FILE ;
  1. W !,"* This option is not available for PATIENTS" ; (new with XT*7.3*113)
  1. S DIC("S")="I Y'=2"
  1. S DIC(0)="QEAZ"
  1. S DIC("A")="Select File to Be Checked to purge: "
  1. S DIC="^VA(15.1," D ^DIC K DIC,X
  1. I Y=-1 S XDRQFLG=1 G FILEX
  1. S XDRFL=$P(Y(0),U) K Y
  1. FILEX Q
  1. ;
  1. ASK ;
  1. S DIR(0)="S^1:POTENTIAL DUPLICATES PURGE;2:VERIFIED NOT DUPLICATES PURGE;3:ALL RECORDS EXCEPT VERIFIED DUPLICATES PURGE"
  1. S DIR("A")="Choice "
  1. S DIR("?",1)="Enter a 1 if you wish to purge only the potential non-verified duplicates"
  1. S DIR("?",2)="Enter a 2 if you wish to purge only Verified Non-Duplicates"
  1. S DIR("?",3)="Enter a 3 if you wish to purge everything except verifed duplicates"
  1. D ^DIR K DIR
  1. I $D(DIRUT) S XDRQFLG=1 G ASKX
  1. S (XDRDPRGE("XREF"),XDRDPRGE("CHOICE"))=$S(Y=1:"APOT",Y=2:"ANOT",1:"BOTH") K Y
  1. S DIR(0)="Y"
  1. S DIR("A")="Do you wish to Queue this purging (Y/N)"
  1. D ^DIR K DIR
  1. I $D(DIRUT) S XDRQFLG=1 G ASKX
  1. I Y D QUEUE
  1. ASKX K Y
  1. Q
  1. ;
  1. QUEUE ;
  1. S ZTRTN="DQ^XDRDPRGE",ZTIO="",ZTDESC="Duplicate Record Purge"
  1. F %="XDRFL","XDRGL","XDRDPRGE(" S ZTSAVE(%)=""
  1. D ^%ZTLOAD K ZTSK
  1. S XDRQFLG=1
  1. Q
  1. ;
  1. BOTH ;
  1. S XDRDPRGE("XREF")="APOT" D XREF
  1. S XDRDPRGE("XREF")="ANOT" D XREF
  1. Q
  1. ;
  1. XREF ;
  1. G:'$D(^VA(15,XDRDPRGE("XREF"))) XREFX
  1. S XDRDPRGE("GL")="^VA(15,"_""""_XDRDPRGE("XREF")_""""_","_""""_$P(XDRGL,U,2)_""""_","
  1. S XDRDPRGE("RCDS")=0,DIK="^VA(15," F XDRDI1=0:0 S XDRDPRGE("RCDS")=$O(@(XDRDPRGE("GL")_"XDRDPRGE(""RCDS""))")) Q:XDRDPRGE("RCDS")="" S DA=$O(@(XDRDPRGE("GL")_"XDRDPRGE(""RCDS""),0)")) D ^DIK
  1. XREFX K XDRDI1,DIK,DA,XDRDPRGE("GL")
  1. Q
  1. ;
  1. EOJ ;
  1. K XDRFL,XDRGL,XDRDPRGE
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. Q