| 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 | ; | 
|---|