| [613] | 1 | SCRPW302 ;BPFO/JRC - Performance Monitor Report Utils; 30 Jul 2003
 | 
|---|
 | 2 |  ;;5.3;SCHEDULING;**292**;AUG 13, 2003
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | TLMT(SCRNARR) ; Set Time Limit into screen array
 | 
|---|
 | 5 |  ;Input  : SCRNARR - Screen array full global reference
 | 
|---|
 | 6 |  ;Output : 1 = OK     0 = User abort/timeout
 | 
|---|
 | 7 |  ;         @SCRNARR@("TLMT") = Time Limit (days)
 | 
|---|
 | 8 |  ;Note   : @SCRNARR@("TLMT") is initialized (KILLed) on input
 | 
|---|
 | 9 |  ;
 | 
|---|
 | 10 |  ; Declare variables
 | 
|---|
 | 11 |  N DIR,X,Y,DIRUT,DIROUT,DTOUT,DUOUT
 | 
|---|
 | 12 |  K @SCRNARR@("TLMT")
 | 
|---|
 | 13 |  ; Prompt user for number of days
 | 
|---|
 | 14 |  S DIR(0)="N^2:100:0"
 | 
|---|
 | 15 |  S DIR("A")="Enter number of days for Elapsed Time: "
 | 
|---|
 | 16 |  S DIR("B")=10
 | 
|---|
 | 17 |  D ^DIR
 | 
|---|
 | 18 |  I $D(DIRUT) Q 0
 | 
|---|
 | 19 |  S @SCRNARR@("TLMT")=X
 | 
|---|
 | 20 |  Q 1
 | 
|---|
 | 21 |  ;
 | 
|---|
 | 22 | DATE(MIN,MAX,SCRNARR) ; Set Date Range into screen array
 | 
|---|
 | 23 |  ;Input  : SCRNARR - Screen array full global reference
 | 
|---|
 | 24 |  ;         MIN - Minimum date (FileMan) (default to MAX - time limit)
 | 
|---|
 | 25 |  ;         MAX - Maximum date (FileMan) (default to T - time limit)
 | 
|---|
 | 26 |  ;         @SCRNARR@("TLMT") - Time limit (optional - default to 10)
 | 
|---|
 | 27 |  ;Output : 1 = OK     0 = User abort/timeout
 | 
|---|
 | 28 |  ;         @SCRNARR@("RANGE") = StartDate^EndDate
 | 
|---|
 | 29 |  ;Note   : @SCRNARR@("RANGE") is initialized (KILLed) on input
 | 
|---|
 | 30 |  ;
 | 
|---|
 | 31 |  ;Declare variables
 | 
|---|
 | 32 |  N STDATE,ENDDATE,DATE,DIR,X,Y,TLMT,DIRUT,DIROUT,DTOUT,DUOUT
 | 
|---|
 | 33 |  K @SCRNARR@("RANGE")
 | 
|---|
 | 34 |  S MIN=$P($G(MIN),".",1)
 | 
|---|
 | 35 |  S MAX=$P($G(MAX),".",1)
 | 
|---|
 | 36 |  ;Get time limit out of screen array (default to 10)
 | 
|---|
 | 37 |  S TLMT=+$G(@SCRNARR@("TLMT")) S:'TLMT TLMT=10
 | 
|---|
 | 38 |  ;Maximum date can't be more then Today minus time limit
 | 
|---|
 | 39 |  S DATE=$$FMADD^XLFDT($$DT^XLFDT(),-TLMT)
 | 
|---|
 | 40 |  I ('MAX)!(MAX>DATE) S MAX=DATE
 | 
|---|
 | 41 |  ;Minimum date can't be after maximum date
 | 
|---|
 | 42 |  I (MAX'>MIN) S MIN=$$FMADD^XLFDT(MAX,-TLMT)
 | 
|---|
 | 43 |  ;Prompt user for start date
 | 
|---|
 | 44 |  S DIR(0)="D^"_MIN_":"_MAX_":PEX"
 | 
|---|
 | 45 |  S DIR("A")="Enter Report Start Date"
 | 
|---|
 | 46 |  S DATE=$S('MIN:$$FMADD^XLFDT(MAX,-TLMT),1:MIN)
 | 
|---|
 | 47 |  S DIR("B")=$$FMTE^XLFDT(DATE,"5D")
 | 
|---|
 | 48 |  D ^DIR
 | 
|---|
 | 49 |  I $D(DIRUT) Q 0
 | 
|---|
 | 50 |  S STDATE=Y
 | 
|---|
 | 51 |  ;Prompt user for end date
 | 
|---|
 | 52 |  K DIR,X,Y
 | 
|---|
 | 53 |  S MIN=STDATE
 | 
|---|
 | 54 |  S DIR(0)="D^"_MIN_":"_MAX_":PEX"
 | 
|---|
 | 55 |  S DIR("A")="Enter Report Stop Date"
 | 
|---|
 | 56 |  S DIR("B")=$$FMTE^XLFDT($$FMADD^XLFDT(STDATE,TLMT),"5D")
 | 
|---|
 | 57 |  D ^DIR
 | 
|---|
 | 58 |  I $D(DIRUT) K @SCRNARR@("RANGE") Q 0
 | 
|---|
 | 59 |  S ENDDATE=Y
 | 
|---|
 | 60 |  S @SCRNARR@("RANGE")=STDATE_"^"_ENDDATE
 | 
|---|
 | 61 |  Q 1
 | 
|---|
 | 62 | DIV(SCRNARR) ; Set Divisions into screen array (prompt is one/many/all)
 | 
|---|
 | 63 |  ;Input  : SCRNARR - Screen array full global reference
 | 
|---|
 | 64 |  ;Output : 1 = OK     0 = User abort/timeout
 | 
|---|
 | 65 |  ;         @SCRNARR@("DIVISION") = User pick all divisions ?
 | 
|---|
 | 66 |  ;           1 = Yes (all)     0 = No
 | 
|---|
 | 67 |  ;         @SCRNARR@("DIVISION",PtrDiv) = Division name
 | 
|---|
 | 68 |  ;Note   : @SCRNARR@("DIVISION") is initialized (KILLed) on input
 | 
|---|
 | 69 |  ;       : @SCRNARR@("DIVISION",PtrDiv) is only set when the user
 | 
|---|
 | 70 |  ;         picked individual divisions (i.e. didn't pick all)
 | 
|---|
 | 71 |  ;
 | 
|---|
 | 72 |  ;Declare variables
 | 
|---|
 | 73 |  N VAUTD,Y
 | 
|---|
 | 74 |  K @SCRNARR@("DIVISION")
 | 
|---|
 | 75 |  ;Get division selection
 | 
|---|
 | 76 |  D DIVISION^VAUTOMA
 | 
|---|
 | 77 |  I Y<0 Q 0
 | 
|---|
 | 78 |  M @SCRNARR@("DIVISION")=VAUTD
 | 
|---|
 | 79 |  Q 1
 | 
|---|
 | 80 |  ;
 | 
|---|
 | 81 | PROV(SCRNARR) ; Set Providers into screen array (prompt is one/many/all)
 | 
|---|
 | 82 |  ;Input  : SCRNARR - Screen array full global reference
 | 
|---|
 | 83 |  ;Output : 1 = OK     0 = User abort/timeout
 | 
|---|
 | 84 |  ;         @SCRNARR@("PROVIDERS") = User pick all providers ?
 | 
|---|
 | 85 |  ;           1 = Yes (all)     0 = No
 | 
|---|
 | 86 |  ;         @SCRNARR@("PROVIDERS",PtrProvider) = Provider name
 | 
|---|
 | 87 |  ;Note   : @SCRNARR@("PROVIDERS") is initialized (KILLed) on input
 | 
|---|
 | 88 |  ;       : @SCRNARR@("PROVIDERS",PtrProvider) is only set when the user
 | 
|---|
 | 89 |  ;         picked individual providers (i.e. didn't pick all)
 | 
|---|
 | 90 |  ;
 | 
|---|
 | 91 |  ;Declare variables
 | 
|---|
 | 92 |  N DIC,VAUTSTR,VAUTVB,VAUTNI,SCANARR,Y
 | 
|---|
 | 93 |  K @SCRNARR@("PROVIDERS")
 | 
|---|
 | 94 |  ;Get provider selection
 | 
|---|
 | 95 |  S DIC="^VA(200,"
 | 
|---|
 | 96 |  S VAUTSTR="PROVIDER"
 | 
|---|
 | 97 |  S VAUTVB="SCANARR"
 | 
|---|
 | 98 |  S VAUTNI=2
 | 
|---|
 | 99 |  D FIRST^VAUTOMA
 | 
|---|
 | 100 |  I Y<0 Q 0
 | 
|---|
 | 101 |  M @SCRNARR@("PROVIDERS")=SCANARR
 | 
|---|
 | 102 |  Q 1
 | 
|---|
 | 103 |  ;
 | 
|---|
 | 104 | SCAN(SCRNARR) ; Set Scanned Notes into screen array
 | 
|---|
 | 105 |  ;Input  : SCRNARR - Screen array full global reference
 | 
|---|
 | 106 |  ;Output : 1 = OK     0 = User abort/timeout
 | 
|---|
 | 107 |  ;         @SCRNARR@("SCANNED") = Include count of encounters with
 | 
|---|
 | 108 |  ;                                scanned notes    1 = Yes  0 = No
 | 
|---|
 | 109 |  ;Note   : @SCRNARR@("SCANNED") is initialized (KILLed) on input
 | 
|---|
 | 110 |  ;
 | 
|---|
 | 111 |  ;Declare variables
 | 
|---|
 | 112 |  N DIR,X,Y,DIRUT,DIROUT,DTOUT,DUOUT
 | 
|---|
 | 113 |  K @SCRNARR@("SCANNED")
 | 
|---|
 | 114 |  ;Prompt user
 | 
|---|
 | 115 |  S DIR(0)="Y"
 | 
|---|
 | 116 |  S DIR("B")="NO"
 | 
|---|
 | 117 |  S DIR("A")="Would you like to include SCANNED notes "
 | 
|---|
 | 118 |  D ^DIR
 | 
|---|
 | 119 |  I $D(DIRUT) Q 0
 | 
|---|
 | 120 |  S @SCRNARR@("SCANNED")=Y
 | 
|---|
 | 121 |  Q 1
 | 
|---|