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

ACDCLN.m

Go to the documentation of this file.
  1. ACDCLN ;IHS/ADC/EDE/KML - UTILITY TO CLEAN BROKEN LINKS IN DB;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;*******************************************************************
  1. ;//PROG MODE
  1. ;*******************************************************************
  1. EN ;EP
  1. ;//^ACDGSAVE
  1. ;
  1. W !!,"Re-indexing files now.....",!
  1. K ^ACDIIF("C") S DIK(1)="99.99^C",DIK="^ACDIIF(" D ENALL^DIK
  1. K ^ACDTDC("C") S DIK(1)="99.99^C",DIK="^ACDTDC(" D ENALL^DIK
  1. K ^ACDCS("C") S DIK(1)="99.99^C",DIK="^ACDCS(" D ENALL^DIK
  1. K ^ACDVIS("B") S DIK(1)=".01^B",DIK="^ACDVIS(" D ENALL^DIK
  1. K ^ACDVIS("C") S DIK(1)="99.99^C",DIK="^ACDVIS(" D ENALL^DIK
  1. ;
  1. EN1 ;EP skip re-indexing
  1. ;//^ACDDFAC
  1. ;//^ACDPURG
  1. ;
  1. D D
  1. V ;Delete visits in ^ACDVIS last
  1. W !!!!!,"Cleaning up entries from the CDMIS visit file that are not being"
  1. W !,"referenced."
  1. S ACDCNT=0 F ACDVISP=0:0 S ACDVISP=$O(^ACDVIS(ACDVISP)) Q:'ACDVISP D V1
  1. W !,"Total of ",ACDCNT," visits deleted."
  1. K DA,DIK,ACDVISP,ACD80,ACDDA,ACDOK,ACDDO,ACDCNT
  1. Q
  1. V1 ;
  1. S ACDOK=0
  1. I $O(^ACDIIF("C",ACDVISP,0)) S ACDOK=1
  1. I $O(^ACDTDC("C",ACDVISP,0)) S ACDOK=1
  1. I $O(^ACDCS("C",ACDVISP,0)) S ACDOK=1
  1. I 'ACDOK D VDEL W !,"Entry ",ACDVISP," is unreferenced...deleting now."
  1. ;
  1. Q
  1. VDEL ;Delete unreferenced visit
  1. S DA=ACDVISP,DIK="^ACDVIS(" D ^DIK
  1. S ACDCNT=ACDCNT+1
  1. Q
  1. D ;Check link files first
  1. S ACDCNT=0
  1. W !,"Now cleaning up incomplete data links..."
  1. F ACDDO=0:0 S ACDDO=$O(^ACDIIF(ACDDO)) Q:'ACDDO S ACDVISP=$S($D(^(ACDDO,"BWP")):^("BWP"),1:"??") I '$D(^ACDIIF(ACDDO,0))!('$D(^ACDIIF(ACDDO,"BWP")))!('$D(^ACDVIS(ACDVISP,0))) S DA=ACDDO,DIK="^ACDIIF(" D ^DIK W "." S ACDCNT=ACDCNT+1
  1. F ACDDO=0:0 S ACDDO=$O(^ACDTDC(ACDDO)) Q:'ACDDO S ACDVISP=$S($D(^(ACDDO,"BWP")):^("BWP"),1:"??") I '$D(^ACDTDC(ACDDO,0))!('$D(^ACDTDC(ACDDO,"BWP")))!('$D(^ACDVIS(ACDVISP,0))) S DA=ACDDO,DIK="^ACDTDC(" D ^DIK W "." S ACDCNT=ACDCNT+1
  1. F ACDDO=0:0 S ACDDO=$O(^ACDCS(ACDDO)) Q:'ACDDO S ACDVISP=$S($D(^(ACDDO,"BWP")):^("BWP"),1:"??") D
  1. . S D=0
  1. . I '$D(^ACDCS(ACDDO,0))!('$D(^ACDCS(ACDDO,"BWP")))!('$D(^ACDVIS(ACDVISP,0))) S D=1
  1. . I 'D,$P(^ACDCS(ACDDO,0),U,2)="" S D=1
  1. . I D S DA=ACDDO,DIK="^ACDCS(" D ^DIK W "." S ACDCNT=ACDCNT+1
  1. . Q
  1. ;F ACDDO=0:0 S ACDDO=$O(^ACDCS(ACDDO)) Q:'ACDDO S ACDVISP=$S($D(^(ACDDO,"BWP")):^("BWP"),1:"??") I '$D(^ACDCS(ACDDO,0))!('$D(^ACDCS(ACDDO,"BWP")))!('$D(^ACDVIS(ACDVISP,0))) S DA=ACDDO,DIK="^ACDCS(" D ^DIK W "." S ACDCNT=ACDCNT+1
  1. W !,"Total of ",ACDCNT," entries deleted."
  1. Q