| 1 | DIOQ ;SFISC/GS,TKW-QUERY OPTIMIZER ;4/5/95  14:02
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | SER(F,DIOQGET,DIOQCHEK,C,X,%,W) ; COMPUTE SEARCH EFFICIENCY RATING
 | 
|---|
| 5 |  ; F=FILE#, DIOQGET=GET CODE, DIOQCHEK=EVALUATION CODE,
 | 
|---|
| 6 |  ; C=USEABLE INDEX? (1=YES, 0=NO)
 | 
|---|
| 7 |  ; X=EFFICIENCY RATING, %=PREVALANCE OF HITS (PROBABILITY)
 | 
|---|
| 8 |  ; W=WRITE PROGRESS MSG.TO USER
 | 
|---|
| 9 |  N Z S (X,%)=0,W=$G(W),Z=$G(^DIC(+$G(F),0,"GL")) Q:Z=""
 | 
|---|
| 10 |  N I,N,T,D0,DA,DITRUE,DIFIRST S DIFIRST=1
 | 
|---|
| 11 |  I W S W=$P($H,",",2)+.1
 | 
|---|
| 12 |  S (T,N)=0,I=$P(@(Z_"0)"),U,4)\100
 | 
|---|
| 13 |  F D0=0:I S D0=$O(@(Z_D0_")")) Q:'D0  Q:N>100  S DA=D0,N=N+1 D TEST I DITRUE S T=T+1
 | 
|---|
| 14 |  S %=$S(N=0:1,T=0:0,1:T/N),(X,%)=1-% I C S:%=1 X=100 S:%'=1 X=%/(1-%)
 | 
|---|
| 15 |  S X=$J(X,1,4),%=$J(%,1,4) Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | TEST ; GET VALUE AND EVALUATE IT
 | 
|---|
| 18 |  N I,L,N,T,Z,DIOQSVD0 S DIOQSVD0=D0 D  S D0=DIOQSVD0
 | 
|---|
| 19 |  . N F,C,W,DIFIRST
 | 
|---|
| 20 |  . X DIOQGET,DIOQCHEK S DITRUE=$T Q
 | 
|---|
| 21 |  Q:'W  Q:($P($H,",",2)-W)'>3  S W=$P($H,",",2)+.1
 | 
|---|
| 22 |  I DIFIRST S DIFIRST=0 W !,"Computing search efficiency..." Q
 | 
|---|
| 23 |  W "." Q
 | 
|---|