1 | SCCVEGU1 ;ALB/TMP - UTILS FOR ENCNTR CNVRSN GLBL ESTMTR;20-JAN-1998
|
---|
2 | ;;5.3;Scheduling;**211**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | INCRTOT(SCTOT,INCRWHAT,HOWMUCH) ;Update local counters for estimate
|
---|
5 | ; SCTOT -- The array containing the running estimate totals
|
---|
6 | ; Subcripted by the piece it is stored on in the CST's node 2
|
---|
7 | ; INCRWHAT -- The piece of the CST 2-node that stores the correspnding count
|
---|
8 | ; 1 = Add/edits (Default)
|
---|
9 | ; 2 = Ancillaries
|
---|
10 | ; 3 = Appointments
|
---|
11 | ; 4 = Credit stops
|
---|
12 | ; 5 = Dispositions
|
---|
13 | ; 7 = Encounters and Visits
|
---|
14 | ; 8 = Visits only
|
---|
15 | ; 9 = # V-Providers
|
---|
16 | ; 10 = # V-Diagnoses
|
---|
17 | ; 11 = # V-Procedures
|
---|
18 | ; HOWMUCH -- The amount to add to the existing total
|
---|
19 | ;
|
---|
20 | ;OUTPUT :
|
---|
21 | ; SCTOT(INCRWHAT) -- local array to hold the # found
|
---|
22 | ;
|
---|
23 | I $G(HOWMUCH)="" N HOWMUCH S HOWMUCH=1
|
---|
24 | S SCTOT(+INCRWHAT)=$G(SCTOT(+INCRWHAT))+HOWMUCH
|
---|
25 | I +INCRWHAT=7 S SCTOT(8)=$G(SCTOT(8))+HOWMUCH
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | UPDTOTL(PTRLOG,SCTOT) ;UPDATE CST WITH ESTIMATE TOTALS
|
---|
29 | ;INPUT : PTRLOG - Pointer to entry in SCHEDULING CONVERSION TEMPLATE
|
---|
30 | ; file (#404.98)
|
---|
31 | ; SCTOT - Array subscripted by storage pc and containing
|
---|
32 | ; the totals to be stored for the estimate
|
---|
33 | ;OUTPUT : None
|
---|
34 | ;
|
---|
35 | N SC2,SCDATA,SCF
|
---|
36 | Q:'$D(^SD(404.98,+$G(PTRLOG),0))
|
---|
37 | S SC2=0 F S SC2=$O(SCTOT(SC2)) Q:'SC2 S SCF="2."_$S($L(SC2)<2:"0",1:"")_SC2,SCDATA(+SCF)=SCTOT(SC2)
|
---|
38 | ; -- Update count(s)
|
---|
39 | D UPD^SCCVDBU(404.98,PTRLOG,.SCDATA)
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | ESTGROW(ARRAY) ;RETURN ESTIMATED GLOBAL GROWTH FOR AFFECTED GLOBALS
|
---|
43 | ;INPUT : ARRAY - Array to store output in (full global reference)
|
---|
44 | ; Defaults to ^TMP("SCCVEG",$J,"SIZE")
|
---|
45 | ;OUTPUT : None
|
---|
46 | ; ARRAY will be returned as follows
|
---|
47 | ; ARRAY(GLOBAL) = Estimated global growth
|
---|
48 | ; Where GLOBAL will be
|
---|
49 | ; SCE,
|
---|
50 | ; AUPNVCPT, AUPNVPOV, AUPNVPRV, AUPNVSIT <- PCE Globals
|
---|
51 | ;
|
---|
52 | N X,Y
|
---|
53 | S:($G(ARRAY)="") ARRAY="^TMP(""SCCVEG"","_$J_",""SIZE"")"
|
---|
54 | K @ARRAY
|
---|
55 | ;
|
---|
56 | ; Sets # of blocks per record by global at 70% Global Efficiency
|
---|
57 | ;
|
---|
58 | S @ARRAY@("SCE","NEW")=$$SCE() ; New encounters
|
---|
59 | S @ARRAY@("SCE","UPD")=$$SCEUPD() ; Updated encounters (visit pointer/convert)
|
---|
60 | S @ARRAY@("AUPNVSIT")=$$AUPNVSIT() ; visits
|
---|
61 | S @ARRAY@("AUPNVCPT")=$$AUPNVCPT() ; procedures
|
---|
62 | S @ARRAY@("AUPNVPRV")=$$AUPNVPRV() ; providers
|
---|
63 | S @ARRAY@("AUPNVPOV")=$$AUPNVPOV() ; diagnoses
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | FACTOR() ; -- determine block factor (1 := 1024/dsm 2 := 2048/openm)
|
---|
67 | Q $S($G(^%ZOSF("OS"))["DSM":1,1:2)
|
---|
68 | ;
|
---|
69 | BLKSIZE() ; -- determine block size
|
---|
70 | Q $S($$FACTOR()=1:1024,1:2048)
|
---|
71 | ;
|
---|
72 | PER(EST) ; -- adjust 'per' record size for os
|
---|
73 | Q $J(EST/$$FACTOR(),4,3)
|
---|
74 | ;
|
---|
75 | ; -- block per entry estimates for dsm (1024 bytes per block)
|
---|
76 | SCE() ; -- encounter
|
---|
77 | Q $$PER(.288)
|
---|
78 | SCEUPD() ; -- encounter update only
|
---|
79 | Q $$PER(.147)
|
---|
80 | AUPNVSIT() ; -- visit file
|
---|
81 | Q $$PER(.336) ; original est. was .325
|
---|
82 | AUPNVPRV() ; -- providers
|
---|
83 | Q $$PER(.139) ; original est. was .145
|
---|
84 | AUPNVPOV() ; -- dx
|
---|
85 | Q $$PER(.163) ; original est. was .132
|
---|
86 | AUPNVCPT() ; -- cpts
|
---|
87 | Q $$PER(.196) ; original est. was .159
|
---|
88 | ;
|
---|