| 1 | BPSOS2A ;BHAM ISC/FCS/DRS/DLF - continuation of BPSOS2 ;06/01/2004
 | 
|---|
| 2 |  ;;1.0;E CLAIMS MGMT ENGINE;**1,5**;JUN 2004;Build 45
 | 
|---|
| 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
| 4 |  Q
 | 
|---|
| 5 |  ;Statistics & Misc Options Screen - Zero Stats
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;Protocol - BPS P2 ZERO - clearing stats
 | 
|---|
| 8 | ZERO N ZTYP,X
 | 
|---|
| 9 |  S ZTYP=$$SELZTYP() I ZTYP="^" W !!!,"Nothing changed.",! D ANY
 | 
|---|
| 10 |  I ZTYP'="^" D
 | 
|---|
| 11 |  .I $$SURE'=1 W !!!,"Nothing changed.",! D ANY Q
 | 
|---|
| 12 |  .;
 | 
|---|
| 13 |  .;Clear Local Stats
 | 
|---|
| 14 |  .I ZTYP=0 D ZLOCAL
 | 
|---|
| 15 |  .;
 | 
|---|
| 16 |  .;Clear Permanent Stats
 | 
|---|
| 17 |  .I ZTYP=1 D ZPERM,FETCHES^BPSOS2(0) ; fetch all these zeroes into BASE(*)
 | 
|---|
| 18 |  D UPD^BPSOS2
 | 
|---|
| 19 |  S VALMBCK=""
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ;Zero Local Statistics
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ;Reset Base Numbers to Current Numbers
 | 
|---|
| 25 | ZLOCAL K BASE M BASE=CURR
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ;Zero Permanent Statistics
 | 
|---|
| 29 |  ; This logic will create a strange order - Record 1 is always the newest.
 | 
|---|
| 30 |  ; Record 2 will be the oldest, Record 3 is next oldest, etc.
 | 
|---|
| 31 | ZPERM N FILE
 | 
|---|
| 32 |  S FILE=9002313.58
 | 
|---|
| 33 |  L +^BPSECX("S"):300 I '$T W "LOCK failed",! Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ; Increment zero node for the database
 | 
|---|
| 36 |  N I,N
 | 
|---|
| 37 |  F I=3,4 D
 | 
|---|
| 38 |  . S N=$P(^BPSECX("S",0),U,I)+1
 | 
|---|
| 39 |  . S $P(^BPSECX("S",0),U,I)=N
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  ; Merge current data into new record
 | 
|---|
| 42 |  S N=$P(^BPSECX("S",0),U,3)
 | 
|---|
| 43 |  M ^BPSECX("S",N)=^BPSECX("S",1)
 | 
|---|
| 44 |  S $P(^BPSECX("S",N,0),U)=N ; fix up the .01 field
 | 
|---|
| 45 |  N DIK,DA S DIK="^BPSECX(""S"",",DA=N D IX^DIK ; trivial indexing
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  ; Update fields to be zero, except date/time cleared
 | 
|---|
| 48 |  N FIELD S FIELD=.01
 | 
|---|
| 49 |  F  S FIELD=$O(^DD(FILE,FIELD)) Q:'FIELD  D
 | 
|---|
| 50 |  . N VALUE
 | 
|---|
| 51 |  . I FIELD=2 D  ; date/time last cleared
 | 
|---|
| 52 |  .. N %,%H,%I,X D NOW^%DTC S VALUE=%
 | 
|---|
| 53 |  . E  S VALUE=0
 | 
|---|
| 54 |  . N DIE,DA,DR S DIE=FILE,DA=1,DR=FIELD_"////"_VALUE D ^DIE
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ; Unlock record
 | 
|---|
| 57 |  L -^BPSECX("S")
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | SELZTYP() ;
 | 
|---|
| 61 |  N DFLT,DIR,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 62 |  S DFLT="Local Copy"
 | 
|---|
| 63 |  S DIR(0)="S^L:Local Copy;P:Permanent Copy",DIR("A")="Delete (L)ocal Copy or (P)ermanent Copy of the statistics",DIR("B")=DFLT
 | 
|---|
| 64 |  D ^DIR
 | 
|---|
| 65 |  I ($G(DUOUT)=1)!($G(DTOUT)=1) S Y="^"
 | 
|---|
| 66 |  S Y=$S(Y="P":1,Y="L":0,1:Y)
 | 
|---|
| 67 |  Q Y
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | SURE(DEF) ;
 | 
|---|
| 70 |  N SURE,PMT,OPT,ANS
 | 
|---|
| 71 |  S PMT="Are you sure"
 | 
|---|
| 72 |  I '$D(DEF) S DEF="N"
 | 
|---|
| 73 |  S OPT=1 ; answer is optional
 | 
|---|
| 74 |  S ANS=$$YESNO^BPSOSU3(PMT,DEF,OPT)
 | 
|---|
| 75 |  Q ANS ; 1 or 0 or -1 or ^ or ^^ or null
 | 
|---|
| 76 | ANY ;EP
 | 
|---|
| 77 |  W:$X ! D PRESSANY^BPSOSU5() Q  ; Press any key
 | 
|---|