[613] | 1 | PSAV3P53 ;VMP/PDW-POST INIT *53 FIND BAD 'C' INDEX, KILL OLD, SET PROPER 'C' & 'B' INDEXES; 8/20/05
|
---|
| 2 | ;;3.0;DRUG ACCOUNTABILITY;**53**; 4/30/97
|
---|
| 3 | ST ;walk 'C' entries finding bad entries , pull values, kill old, set new indexes
|
---|
| 4 | S PSASUB=3000101 ;1JAN2000
|
---|
| 5 | ;
|
---|
| 6 | W:$G(PSASHOW) !,"by DATES"
|
---|
| 7 | F S PSASUB=$O(^PSD(58.8,"C",PSASUB)) Q:PSASUB'>0 D
|
---|
| 8 | . S PSALOC=$O(^PSD(58.8,"C",PSASUB,0))
|
---|
| 9 | . S PSADRG=0 F S PSADRG=$O(^PSD(58.8,"C",PSASUB,PSALOC,0)) Q:PSADRG'>0 D
|
---|
| 10 | .. K ^PSD(58.8,"C",PSASUB,PSALOC,PSADRG) X "S X=$ZR" W:$G(PSASHOW) !,"K ",X
|
---|
| 11 | .. K ^PSD(58.8,PSALOC,1,"B",PSASUB,PSADRG) X "S X=$ZR" W:$G(PSASHOW) !,"K ",X
|
---|
| 12 | .. S ^PSD(58.8,"C",PSADRG,PSALOC,PSADRG)="" X "S X=$ZR" W:$G(PSASHOW) !,"S ",X
|
---|
| 13 | .. S ^PSD(58.8,PSALOC,1,"B",PSADRG,PSADRG)="" X "S X=$ZR" W:$G(PSASHOW) !,"S ",X
|
---|
| 14 | W:$G(PSASHOW) !,"by LOCATION"
|
---|
| 15 | S PSALOC=0
|
---|
| 16 | F S PSALOC=$O(^PSD(58.8,PSALOC)) Q:PSALOC'>0 D
|
---|
| 17 | . S PSADRG=0
|
---|
| 18 | . F S PSADRG=$O(^PSD(58.8,PSALOC,1,PSADRG)) Q:PSADRG'>0 D
|
---|
| 19 | .. ;scrub B index
|
---|
| 20 | .. S PSADRG2=0
|
---|
| 21 | .. F S PSADRG2=$O(^PSD(58.8,PSALOC,1,"B",PSADRG,PSADRG2)) Q:PSADRG2'>0 D
|
---|
| 22 | ...I PSADRG2'=PSADRG K ^PSD(58.8,PSALOC,1,"B",PSADRG,PSADRG2) X "S X=$ZR" W:$G(PSASHOW) !,"K ",X
|
---|
| 23 | .. ;check valid B index
|
---|
| 24 | .. I '$D(^PSD(58.8,PSALOC,1,"B",PSADRG,PSADRG)) S ^PSD(58.8,PSALOC,1,"B",PSADRG,PSADRG)="" X "S X=$ZR" W:$G(PSASHOW) !,"S ",X
|
---|
| 25 | .. ;check valid C index
|
---|
| 26 | .. I '$D(^PSD(58.8,"C",PSADRG,PSALOC,PSADRG)) S ^PSD(58.8,"C",PSADRG,PSALOC,PSADRG)="" X "S X=$ZR" W:$G(PSASHOW) !,"S ",X
|
---|
| 27 | W:$G(PSASHOW) !,"by C INDEX"
|
---|
| 28 | S PSADRG=0 F S PSADRG=$O(^PSD(58.8,"C",PSADRG)) Q:PSADRG'>0 D
|
---|
| 29 | . S PSALOC=0 F S PSALOC=$O(^PSD(58.8,"C",PSADRG,PSALOC)) Q:PSALOC'>0 D
|
---|
| 30 | .. S PSADRG2=0 F S PSADRG2=$O(^PSD(58.8,"C",PSADRG,PSALOC,PSADRG2)) Q:PSADRG2'>0 D
|
---|
| 31 | ... I PSADRG2'=PSADRG K ^PSD(58.8,"C",PSADRG,PSALOC,PSADRG2) X "S X=$ZR" W:$G(PSASHOW) !,"K ",X
|
---|
| 32 | K PSALOC,PSADRG,PSADRG2
|
---|
| 33 | Q
|
---|