PXRMISF ; SLC/PKR - Index size estimating scale factor routines. ;11/02/2009
;;2.0;CLINICAL REMINDERS;**17**;Feb 04, 2005;Build 102
;
;===============================================================
ERRORMSG(SF) ;Send an error message indicating the estimate could not
;be made.
N FROM,TO,VERSION,XMSUB
S VERSION=$P(SF,U,2)
S ^TMP("PXRMXMZ",$J,1,0)="Size Estimate for ^PXRMINDX cannot be made!"
S ^TMP("PXRMXMZ",$J,2,0)=VERSION_" is an unknown system."
S XMSUB="Size estimate for index global cannot be made"
S FROM=$$GET1^DIQ(200,DUZ,.01)
S TO(DUZ)=""
D SEND^PXRMMSG("PXRMXMZ",XMSUB,.TO,FROM)
S ZTREQ="@"
Q
;
;===============================================================
LSF(SF) ;Load the blocks/index entry scale factors.
N VERSION
N SFC,SFD
;Cache scale factors
S SFC(45)=0.034578654
S SFC(52)=0.044820784
S SFC(55)=0.047974217
S SFC(63)=0.075656684
S SFC(70)=0.053003195
S SFC(100)=0.046423473
S SFC(120.5)=0.01879364
S SFC(601.2)=0.04392942
S SFC(9000011)=0.023941427
S SFC(9000010.07)=0.022569777
S SFC(9000010.11)=0.023919113
S SFC(9000010.12)=0.022938475
S SFC(9000010.13)=0.02297879
S SFC(9000010.16)=0.023290489
S SFC(9000010.18)=0.022636608
S SFC(9000010.23)=0.024028924
;DSM scale factors
S SFD(45)=0.099921811
S SFD(52)=0.138842661
S SFD(55)=0.138609592
S SFD(63)=0.163250688
S SFD(70)=0.136531655
S SFD(100)=0.136755671
S SFD(120.5)=0.063012241
S SFD(601.2)=0.111356128
S SFD(9000011)=0.07777772
S SFD(9000010.07)=0.022441328
S SFD(9000010.11)=0.077488311
S SFD(9000010.12)=0.069942116
S SFD(9000010.13)=0.079978059
S SFD(9000010.16)=0.080224754
S SFD(9000010.18)=0.07300721
S SFD(9000010.23)=0.082573858
S VERSION=$$VERSION^%ZOSV(1)
S VERSION=$$UP^XLFSTR(VERSION)
I VERSION["CACHE" M SF=SFC S VERSION="",SF=1
I VERSION["DSM" M SF=SFD S VERSION="",SF=1
I VERSION'="" D
. W !,VERSION," is an unknown system cannot make size estimate!"
. S SF=-1_U_VERSION
Q
;
PXRMISF ; SLC/PKR - Index size estimating scale factor routines. ;11/02/2009
+1 ;;2.0;CLINICAL REMINDERS;**17**;Feb 04, 2005;Build 102
+2 ;
+3 ;===============================================================
ERRORMSG(SF) ;Send an error message indicating the estimate could not
+1 ;be made.
+2 NEW FROM,TO,VERSION,XMSUB
+3 SET VERSION=$PIECE(SF,U,2)
+4 SET ^TMP("PXRMXMZ",$JOB,1,0)="Size Estimate for ^PXRMINDX cannot be made!"
+5 SET ^TMP("PXRMXMZ",$JOB,2,0)=VERSION_" is an unknown system."
+6 SET XMSUB="Size estimate for index global cannot be made"
+7 SET FROM=$$GET1^DIQ(200,DUZ,.01)
+8 SET TO(DUZ)=""
+9 DO SEND^PXRMMSG("PXRMXMZ",XMSUB,.TO,FROM)
+10 SET ZTREQ="@"
+11 QUIT
+12 ;
+13 ;===============================================================
LSF(SF) ;Load the blocks/index entry scale factors.
+1 NEW VERSION
+2 NEW SFC,SFD
+3 ;Cache scale factors
+4 SET SFC(45)=0.034578654
+5 SET SFC(52)=0.044820784
+6 SET SFC(55)=0.047974217
+7 SET SFC(63)=0.075656684
+8 SET SFC(70)=0.053003195
+9 SET SFC(100)=0.046423473
+10 SET SFC(120.5)=0.01879364
+11 SET SFC(601.2)=0.04392942
+12 SET SFC(9000011)=0.023941427
+13 SET SFC(9000010.07)=0.022569777
+14 SET SFC(9000010.11)=0.023919113
+15 SET SFC(9000010.12)=0.022938475
+16 SET SFC(9000010.13)=0.02297879
+17 SET SFC(9000010.16)=0.023290489
+18 SET SFC(9000010.18)=0.022636608
+19 SET SFC(9000010.23)=0.024028924
+20 ;DSM scale factors
+21 SET SFD(45)=0.099921811
+22 SET SFD(52)=0.138842661
+23 SET SFD(55)=0.138609592
+24 SET SFD(63)=0.163250688
+25 SET SFD(70)=0.136531655
+26 SET SFD(100)=0.136755671
+27 SET SFD(120.5)=0.063012241
+28 SET SFD(601.2)=0.111356128
+29 SET SFD(9000011)=0.07777772
+30 SET SFD(9000010.07)=0.022441328
+31 SET SFD(9000010.11)=0.077488311
+32 SET SFD(9000010.12)=0.069942116
+33 SET SFD(9000010.13)=0.079978059
+34 SET SFD(9000010.16)=0.080224754
+35 SET SFD(9000010.18)=0.07300721
+36 SET SFD(9000010.23)=0.082573858
+37 SET VERSION=$$VERSION^%ZOSV(1)
+38 SET VERSION=$$UP^XLFSTR(VERSION)
+39 IF VERSION["CACHE"
MERGE SF=SFC
SET VERSION=""
SET SF=1
+40 IF VERSION["DSM"
MERGE SF=SFD
SET VERSION=""
SET SF=1
+41 IF VERSION'=""
Begin DoDot:1
+42 WRITE !,VERSION," is an unknown system cannot make size estimate!"
+43 SET SF=-1_U_VERSION
End DoDot:1
+44 QUIT
+45 ;