| 1 | MAGDLB7 ;WOIFO/LB - Utilities for file 2006.575 ; [ 06/20/2001 08:56 ] | 
|---|
| 2 | ;;3.0;IMAGING;;Mar 01, 2002 | 
|---|
| 3 | ;; +---------------------------------------------------------------+ | 
|---|
| 4 | ;; | Property of the US Government.                                | | 
|---|
| 5 | ;; | No permission to copy or redistribute this software is given. | | 
|---|
| 6 | ;; | Use of unreleased versions of this software requires the user | | 
|---|
| 7 | ;; | to execute a written test agreement with the VistA Imaging    | | 
|---|
| 8 | ;; | Development Office of the Department of Veterans Affairs,     | | 
|---|
| 9 | ;; | telephone (301) 734-0100.                                     | | 
|---|
| 10 | ;; |                                                               | | 
|---|
| 11 | ;; | The Food and Drug Administration classifies this software as  | | 
|---|
| 12 | ;; | a medical device.  As such, it may not be changed in any way. | | 
|---|
| 13 | ;; | Modifications to this software may result in an adulterated   | | 
|---|
| 14 | ;; | medical device under 21CFR820, the use of which is considered | | 
|---|
| 15 | ;; | to be a violation of US Federal Statutes.                     | | 
|---|
| 16 | ;; +---------------------------------------------------------------+ | 
|---|
| 17 | ;; | 
|---|
| 18 | Q | 
|---|
| 19 | REINDXF ;Reindex field 9 - Unique Study Identifications | 
|---|
| 20 | N DIK | 
|---|
| 21 | S DIK="^MAGD(2006.575,",DIK(1)="9" | 
|---|
| 22 | D ENALL^DIK | 
|---|
| 23 | Q | 
|---|
| 24 | EN ; | 
|---|
| 25 | N DIR,DDAY,X,Y,DOUT,DROUT,NOWDAY | 
|---|
| 26 | W !,"Will re-index field 9, Unique Study Id." | 
|---|
| 27 | D REINDXF | 
|---|
| 28 | I '$D(^MAGD(2006.575,"F")) W !,"Nothing to process" Q | 
|---|
| 29 | D NOW^%DTC S NOWDAY=X | 
|---|
| 30 | W !,"Entries will be delete up to the date you specify." | 
|---|
| 31 | EN1 ;restart point | 
|---|
| 32 | S DIR(0)="DA",DIR("A")="Last date to keep." | 
|---|
| 33 | S DIR("?")="Enter a date." | 
|---|
| 34 | D ^DIR I 'Y!(Y="^") W !,"No date entered. Quitting." Q | 
|---|
| 35 | S DDAY=Y I NOWDAY=DDAY W !,"Can not be today." G EN1 | 
|---|
| 36 | D PURGE | 
|---|
| 37 | Q | 
|---|
| 38 | PURGE ; | 
|---|
| 39 | N DATEPROC,IEN,NIEN,ITEM,SUID | 
|---|
| 40 | S IEN=0,SUID="" F  S SUID=$O(^MAGD(2006.575,"F",SUID)) W !,SUID Q:SUID=""  D | 
|---|
| 41 | . F  S IEN=$O(^MAGD(2006.575,"F",SUID,IEN)) W !,IEN Q:'IEN  D | 
|---|
| 42 | . . I '$D(^MAGD(2006.575,IEN,0)) D  Q | 
|---|
| 43 | . . . K ^MAGD(2006.575,"F",SUID,IEN)    ;Tidy up. | 
|---|
| 44 | . . S DATEPROC=$P(^MAGD(2006.575,IEN,1),"^",3) | 
|---|
| 45 | . . I DATEPROC>DDAY Q | 
|---|
| 46 | . . I $D(^MAGD(2006.575,IEN,"RLATE")) D | 
|---|
| 47 | . . . ;start purging the related entries 1st before the parent entry | 
|---|
| 48 | . . . S NIEN=0 F  S NIEN=$O(^MAGD(2006.575,IEN,"RLATE",NIEN)) Q:'NIEN  D | 
|---|
| 49 | . . . . Q:'$D(^MAGD(2006.575,IEN,"RLATE",NIEN,0)) | 
|---|
| 50 | . . . . S ITEM=$P(^MAGD(2006.575,IEN,"RLATE",NIEN,0),"^") Q:'ITEM | 
|---|
| 51 | . . . . D REMOVE^MAGDLB5(ITEM) W "." | 
|---|
| 52 | . . D REMOVE^MAGDLB5(IEN) W "." | 
|---|
| 53 | W !,"Finished." | 
|---|
| 54 | Q | 
|---|