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

AGTXPERK.m

Go to the documentation of this file.
  1. AGTXPERK ; IHS/ASDS/EFG - SCAN AND KILL PAST TX ERRORS ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;Past Error Killer
  1. S ;SELECT DATES
  1. W !,"You will be able to select",!?5,"a range of dates",!?5,"a range of errors",!,"to be deleted.",!!
  1. DT1 S %DT="AEX",%DT(0)="-NOW",%DT("A")="START Date (or ^) " D ^%DT
  1. I Y'>0 G EXIT
  1. S AGSDT=Y
  1. DT2 S %DT="AEX",%DT(0)=AGSDT,%DT("A")="END Date (or ^) " D ^%DT
  1. I Y'>0 G DT1
  1. S AGEDT=Y
  1. K %DT(0)
  1. D DDISP
  1. K AG D VAR^AGBADATA
  1. W !,"Select Records-Errors to be deleted.",!,"Records with the errors selected will be removed from transmissions.",!!
  1. F AGI=1:1 Q:'$D(AG(AGI)) W !,AGI,?5,AG(AGI)
  1. S AGI=AGI-1
  1. W !
  1. K DIR S DIR(0)="L^1:"_AGI,DIR("A")="Select Errors to be deleted: " D ^DIR
  1. S AGER=Y I '+AGER W !,"NO ERRORS SELECTED - quiting",! H 3 G EXIT
  1. F AGI=1:1 S AGERSUB=$P(AGER,",",AGI) Q:'AGERSUB S AGER(AGERSUB)=""
  1. D DDISP
  1. D ERDISP
  1. K DIR S DIR(0)="Y",DIR("A")="Are the above selections correct ? ",DIR("B")="Y" D ^DIR
  1. I Y'=1 G S
  1. S XBRC="SCAN^AGTXPERK",XBRP="PRINT^AGTXPERK",XBNS="AG",XBRX="EXIT^AGTXPERK" D ^XBDBQUE
  1. Q
  1. ;--------------------------- SUB ROUTINES ------------------
  1. DDISP ;display selection
  1. W !!,"Start Date :",?15 S Y=AGSDT D DD^%DT W Y
  1. W !,"End Date :",?15 S Y=AGEDT D DD^%DT W Y
  1. Q
  1. ;--------------------------- SUB ROUTINES ------------------
  1. ERDISP ;display errors selected
  1. K AG D VAR^AGBADATA
  1. F AGI=1:1 S AGE=$P(AGER,",",AGI) Q:'AGE W !?5,AGE,?10,AG(AGE)
  1. W !
  1. Q
  1. ;--------------------------- SUB ROUTINES ------------------
  1. SCAN ;scan all past errors
  1. S AGDTS=AGSDT,AGEDT=AGEDT+1,AGCNT=0
  1. F S AGDTS=$O(^AGPATCH("ER",AGDTS)) Q:((AGDTS>AGEDT)!(AGDTS="")) S AGSITE="" F S AGSITE=$O(^AGPATCH("ER",AGDTS,AGSITE)) Q:AGSITE="" S AGDFN="" F S AGDFN=$O(^AGPATCH("ER",AGDTS,AGSITE,AGDFN)) Q:AGDFN="" D
  1. .I $P(^DPT(AGDFN,0),"^",19)>0 K ^AGPATCH("ER",AGDTS,AGSITE,AGDFN) Q ;merged patient
  1. .S DFN=AGDFN K AG D ^AGDATCK
  1. .S AGI="",AGK=0 F S AGI=$O(AGER(AGI)) Q:AGI="" I $D(AG("ER",AGI)) D Q
  1. ..S AGCNT=AGCNT+1
  1. ..K ^AGPATCH("ER",AGDTS,AGSITE,AGDFN)
  1. Q
  1. ;--------------------------- SUB ROUTINES ------------------
  1. PRINT ;Print Completion
  1. W !,"PAST ERRORS REMOVED REPORT",!
  1. D DDISP,ERDISP
  1. W !,AGCNT,?10,"Transmission sends deleted",!!
  1. I IO=IO(0),'$D(ZTQUEUED) K DIR S DIR(0)="E" D ^DIR
  1. W $$S^AGVDF("IOF")
  1. Q
  1. ;--------------------------- SUB ROUTINES ------------------
  1. EXIT ;CLEAN UP
  1. S AG="AG" F S AG=$O(@AG) Q:$E(AG,1,2)'="AG" K @AG
  1. K AG
  1. Q