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