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

ACMDALLR.m

Go to the documentation of this file.
  1. ACMDALLR ; IHS/TUCSON/TMJ - DELETE ALL REGISTERS & LIST DATA ;
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;;JAN 10, 1996
  1. ;;WRITTEN FOR DEMO AND TRAINING OHPRD TUCSON
  1. ;;THIS ROUTINE WILL DELETE ++ALL++ REGISTERS FOR TRG PURPOSES
  1. EN D DELREG
  1. EXIT K ACMRGTP,ACMRG,ACMRGNA,ACMI,ACMGREF,ACMCTRL,ACMCTRLE,ACMCTRLP,ACMCTRLS,ACMCTRLX,ACMDELRG,ACMCTR,ACMCTR2,ACZ
  1. Q
  1. DELREG W:$D(IOF) @IOF
  1. W !,"WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING",*7,*7,*7,!!,"The next procedure will allow you to COMPLETELY delete ALL Registers from"
  1. W !,"the Case Management System. The register, including all patients and all",!,"information on all patients will be deleted WITH NO POSSIBILITY of recovering"
  1. W !,"any of the data. Be absolutely certain this is what you want before proceding."
  1. S DIR(0)="YO",DIR("A")="Shall I make you an authorized user for all registers",DIR("B")="NO"
  1. W !
  1. D ^DIR K DIR
  1. Q:Y=""!(Y["^") I Y=1 S Y=DUZ D SUSR0
  1. D SAVE Q:$D(ACMQ)
  1. S DIR(0)="YO",DIR("A")="Delete all other registers and data",DIR("B")="NO"
  1. W !
  1. D ^DIR K DIR
  1. Q:Y'=1
  1. W !!,"First I will remove unreferenced pointers..." D FRESH
  1. W !,"...Finished...Starting Deletions..."
  1. S ACMCTR=0 F S ACMCTR=$O(^ACM(41.1,"B",ACMCTR)) Q:ACMCTR="" D DELETE
  1. W !!,"...Deleting all REGISTERS completed",!
  1. Q
  1. DELETE ;
  1. S ACMRG=0,ACMRG=$O(^ACM(41.1,"B",ACMCTR,ACMRG)),ACMRGNA=$P(^ACM(41.1,ACMRG,0),U,1)
  1. I $D(^TMP("ACM",$J,ACMRGNA)) W !!,"...Saving Register: ",ACMRGNA,!! Q
  1. W !!,"...Deleting all PATIENT related data...for register: ",ACMRGNA
  1. F ACMI=42,43,44,45,46,47,48,51,53,54 S ACMGREF="^ACM("_ACMI_")" S DA=0 F S DA=$O(@ACMGREF@("F",ACMRGNA,DA)) Q:'DA W "." S DIK="^ACM("_ACMI_"," D ^DIK
  1. K DIK,DIC,DA
  1. W !,"...Deleting all REGISTER related list entries...for register: ",ACMRGNA
  1. F ACMI=42.1,43.1,44.1,45.1,47.1,48,50,51.1,53.1,54.1 S ACMGREF="^ACM("_ACMI_")" S DA(1)=0 F S DA(1)=$O(@ACMGREF@("RG",ACMRG,DA(1))) Q:'DA(1) D
  1. .S DA=0
  1. .F S DA=$O(@ACMGREF@("RG",ACMRG,DA(1),DA)) Q:'DA W "." S DIK="^ACM("_ACMI_","_DA(1)_",""RG""," D ^DIK D DELLST
  1. K DIK,DIC,DA
  1. W !,"...Deleting all PATIENTS from the register...",ACMRGNA
  1. S DIK="^ACM(41,",DA=0
  1. F S DA=$O(^ACM(41,"B",ACMRG,DA)) Q:'DA W "." D ^DIK
  1. K DIK,DIC,DA
  1. W !,"...Deleting the register...",ACMRGNA
  1. S DIK="^ACM(41.1,",DA=ACMRG D ^DIK
  1. K DIK,DIC,DA
  1. W !,"The ",ACMRGNA," and all related data have been deleted.",!! H 3
  1. Q
  1. DELLST S DA=DA(1) S ACMCTR2=0,ACMCTR2=$O(@ACMGREF@(DA,"RG",ACMCTR2)) Q:ACMCTR2'="" W "." S DIK="^ACM("_ACMI_"," D ^DIK
  1. Q
  1. FRESH F ACMI=42.1,43.1,44.1,45.1,47.1,48,50,51.1,53.1,54.1 D FRESH1
  1. Q
  1. FRESH1 ;
  1. S ACZ=0 F S ACZ=$O(^ACM(ACMI,ACZ)) Q:+ACZ=0 D FRESH2
  1. Q
  1. FRESH2 ;
  1. S X=0,X=$O(^ACM(ACMI,ACZ,"RG",X)) Q:X'=""
  1. S DIK="^ACM("_ACMI_",",DA=ACZ D ^DIK W "."
  1. Q
  1. SAVE ;ALLOWS USER TO SAVE EXISTING REGISTERS FROM DELETION
  1. K ACMQ,^TMP("ACM",$J)
  1. S DIR(0)="YO",DIR("A")="Save an existing register(s)",DIR("B")="NO"
  1. W !
  1. D ^DIR K DIR
  1. S:Y["^" ACMQ=1 Q:Y'=1
  1. SAVE1 S (ACMRGTP,ACMDELRG)="" D RGTPX^ACMGTPZ
  1. I '$D(ACMRG) W !,"FINISHED..." D DSPSAV H 2 Q
  1. S ACMRGNA=$P(^ACM(41.1,ACMRG,0),U,1) S ^TMP("ACM",$J,ACMRGNA)="" W !,"Saving ",ACMRGNA G SAVE1
  1. ;
  1. DSPSAV ;DISPLAYS SAVED REGISTERS
  1. W !!!,"Saved Registers include: " S X=0 F S X=$O(^TMP("ACM",$J,X)) Q:X="" W !,"Register: ",X
  1. W !! Q
  1. SUSR S DIC="^VA(200,",DIC(0)="AQEM" D ^DIC Q:+Y<1
  1. SUSR0 S ACMX=0,ACMY=+Y F S ACMX=$O(^ACM(41.1,ACMX)) Q:+ACMX=0 D SUSR1
  1. W !,"User is now authorized for ALL registers...",!!
  1. Q
  1. SUSR1 ;
  1. I '$D(^ACM(41.1,ACMX,"AU",0)) S ^ACM(41.1,ACMX,"UA",0)="^9002241.12P^0^0"
  1. S DIE="^ACM(41.1,ACMX,""AU"",",DA(1)=ACMX,DA=ACMY,DR=".01///^S X=DA",DIC(0)="LX" D ^DIE Q