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