| 1 | GMRCSTL8 ;SLC/JFR/WAT - Totals format for CPM ; 4/05/05 10:39
 | 
|---|
| 2 |  ;;3.0;CONSULT/REQUEST TRACKING;**41,60**;DEC 27, 1997;Build 9
 | 
|---|
| 3 |  ; This routine invokes ICRs
 | 
|---|
| 4 |  ; 875 (file 100.01), 2638 (file 100.01),10104 (XLFSTR),10103 (XLFDT),3744 (VADPT)
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ; portions copied from GMRCSTL1 & GMRCSTL2
 | 
|---|
| 7 |  Q  ; can't start here
 | 
|---|
| 8 | PRTTOT(GEN,INDEX,NAME,ARRN) ; totals for printed report
 | 
|---|
| 9 |  N QUIT S QUIT=0 D NOACTVT Q:QUIT=1
 | 
|---|
| 10 |  N GMRCPCT,LAYOUT,FRMT,ROWTEXT,CALC1,CALC2,CALC3,ROWTXT
 | 
|---|
| 11 |  N COUNT,SVCUSG
 | 
|---|
| 12 |  S COUNT=$O(^TMP("GMRCR",$J,ARRN," "),-1)
 | 
|---|
| 13 |  I GEN=2 D
 | 
|---|
| 14 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=""
 | 
|---|
| 15 |  .S SVCUSG=$P(^GMR(123.5,INDEX,0),U,2) I $G(SVCUSG) S NAME=NAME_$S(SVCUSG=1:" <grouper only>",SVCUSG=2:"   <disabled>",1:"")
 | 
|---|
| 16 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="     GROUPER: "_NAME_" Totals:"
 | 
|---|
| 17 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=$J("WITHIN     IFC     IFC",75)
 | 
|---|
| 18 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=$J("FACILITY   SENT    REC'D",77)
 | 
|---|
| 19 |  I GEN=1 D
 | 
|---|
| 20 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=" "
 | 
|---|
| 21 |  .I $P(^GMR(123.5,INDEX,0),U,2)=9 S NAME=NAME_"   <disabled>"
 | 
|---|
| 22 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="SERVICE: "_NAME
 | 
|---|
| 23 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=$J("WITHIN     IFC      IFC",76)
 | 
|---|
| 24 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=$J("FACILITY   SENT     REC'D",78)
 | 
|---|
| 25 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U),8)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,7),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,13),9)
 | 
|---|
| 26 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests in 30 Days Before Start/End of Qtr:"_ROWTXT
 | 
|---|
| 27 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,2),8)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,8),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,14),9)
 | 
|---|
| 28 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests in 60 Days Before Start/End of Qtr:"_ROWTXT
 | 
|---|
| 29 |  I GEN=2 D
 | 
|---|
| 30 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U),8)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,7),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,13),9)
 | 
|---|
| 31 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests in 30 Days Before Start/End of Qtr:"_ROWTXT
 | 
|---|
| 32 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,2),8)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,8),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,14),9)
 | 
|---|
| 33 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests in 60 Days Before Start/End of Qtr:"_ROWTXT
 | 
|---|
| 34 |  I GEN=1!(GEN=2) D
 | 
|---|
| 35 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,3),12)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,9),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,15),9)
 | 
|---|
| 36 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="Complete with Results in 30 Days of Request:"_ROWTXT
 | 
|---|
| 37 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,4),12)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,10),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,16),9)
 | 
|---|
| 38 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="Complete with Results 31-60 Days of Request:"_ROWTXT
 | 
|---|
| 39 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,5),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,11),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,17),9)
 | 
|---|
| 40 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests Created 60 Days Before Qtr Start:"_ROWTXT
 | 
|---|
| 41 |  .S ROWTXT=$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,6),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,12),10)_$J($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,18),9)
 | 
|---|
| 42 |  .S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)="All Requests Pending 60 Days Before Qtr Start:"_ROWTXT
 | 
|---|
| 43 |  .;% complete in 30 days of request
 | 
|---|
| 44 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U)>0 S CALC1=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,3)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U))*100,2,2)_"%"
 | 
|---|
| 45 |  .S ROWTXT=$S($G(CALC1)="":$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC1))_CALC1)
 | 
|---|
| 46 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,7)>0 S CALC2=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,9)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,7))*100,2,2)_"%"
 | 
|---|
| 47 |  .S ROWTXT=ROWTXT_$S('$D(CALC2):$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC2))_CALC2)
 | 
|---|
| 48 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,13)>0 S CALC3=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,15)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,13))*100,2,2)_"%"
 | 
|---|
| 49 |  .S ROWTXT=ROWTXT_$S($G(CALC3)="":$$REPEAT^XLFSTR(" ",9-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",9-$L(CALC3))_CALC3)
 | 
|---|
| 50 |  .S COUNT=COUNT+1
 | 
|---|
| 51 |  .S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Percent Complete w/Results in 30 Days of Request: "_ROWTXT
 | 
|---|
| 52 |  .;% complete in 60 days of request
 | 
|---|
| 53 |  .K CALC1,CALC2,CALC3
 | 
|---|
| 54 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,2)>0 S CALC1=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,4)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,2))*100,2,2)_"%"
 | 
|---|
| 55 |  .S ROWTXT=$S($G(CALC1)="":$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC1))_CALC1)
 | 
|---|
| 56 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,8)>0 S CALC2=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,10)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,8))*100,2,2)_"%"
 | 
|---|
| 57 |  .S ROWTXT=ROWTXT_$S('$D(CALC2):$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC2))_CALC2)
 | 
|---|
| 58 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,14)>0 S CALC3=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,16)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,14))*100,2,2)_"%"
 | 
|---|
| 59 |  .S ROWTXT=ROWTXT_$S($G(CALC3)="":$$REPEAT^XLFSTR(" ",9-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",9-$L(CALC3))_CALC3)
 | 
|---|
| 60 |  .S COUNT=COUNT+1
 | 
|---|
| 61 |  .S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Percent Complete w/Results 31-60 Days of Request: "_ROWTXT
 | 
|---|
| 62 |  .;% pending before quarter start
 | 
|---|
| 63 |  .K CALC1,CALC2,CALC3
 | 
|---|
| 64 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,5)>0 S CALC1=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,6)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,5))*100,2,2)_"%"
 | 
|---|
| 65 |  .S ROWTXT=$S($G(CALC1)="":$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC1))_CALC1)
 | 
|---|
| 66 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,11)>0 S CALC2=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,12)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,11))*100,2,2)_"%"
 | 
|---|
| 67 |  .S ROWTXT=ROWTXT_$S('$D(CALC2):$$REPEAT^XLFSTR(" ",10-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",10-$L(CALC2))_CALC2)
 | 
|---|
| 68 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,17)>0 S CALC3=$J(($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,18)/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,17))*100,2,2)_"%"
 | 
|---|
| 69 |  .S ROWTXT=ROWTXT_$S($G(CALC3)="":$$REPEAT^XLFSTR(" ",9-$L("N / A"))_"N / A",1:$$REPEAT^XLFSTR(" ",9-$L(CALC3))_CALC3)
 | 
|---|
| 70 |  .S COUNT=COUNT+1
 | 
|---|
| 71 |  .S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Percent Still Pending Created Before Qtr Start:   "_ROWTXT
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 | DELTOT(GEN,INDEX,NAME,ARRN) ; format for delimited
 | 
|---|
| 74 |  N QUIT S QUIT=0 D NOACTVT Q:QUIT=1
 | 
|---|
| 75 |  N STRING,COUNT,PIECE,INCR,SVCUSG
 | 
|---|
| 76 |  S SVCUSG=$P(^GMR(123.5,INDEX,0),U,2) I $G(SVCUSG) S NAME=NAME_$S(SVCUSG=1:" <grouper only>",SVCUSG=2:" <disabled>",1:"")
 | 
|---|
| 77 |  S COUNT=$O(^TMP("GMRCR",$J,ARRN," "),-1),STRING=$S(GEN=2:"GROUPER: ",1:"")_NAME_";"
 | 
|---|
| 78 |  F PIECE=1:1:18 D
 | 
|---|
| 79 |  .S STRING=STRING_$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,PIECE)_";"
 | 
|---|
| 80 |  .I PIECE=6!(PIECE=12)!(PIECE=18) D
 | 
|---|
| 81 |  ..S INCR=$S(PIECE=6:0,PIECE=12:6,1:12)
 | 
|---|
| 82 |  ..;percents
 | 
|---|
| 83 |  ..I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(1+INCR))=0 S STRING=STRING_"N/A;"
 | 
|---|
| 84 |  ..E  S GMRCPCT=($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(3+INCR))/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(1+INCR)))*100,STRING=STRING_$J(GMRCPCT,0,2)_";"
 | 
|---|
| 85 |  ..I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(2+INCR))=0 S STRING=STRING_"N/A;"
 | 
|---|
| 86 |  ..E  S GMRCPCT=($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(4+INCR))/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(2+INCR)))*100,STRING=STRING_$J(GMRCPCT,0,2)_";"
 | 
|---|
| 87 |  ..I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(5+INCR))=0 S STRING=STRING_"N/A;"
 | 
|---|
| 88 |  ..E  S GMRCPCT=($P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(6+INCR))/$P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,(5+INCR)))*100,STRING=STRING_$J(GMRCPCT,0,2)_";"
 | 
|---|
| 89 |  S COUNT=COUNT+1,^TMP("GMRCR",$J,ARRN,COUNT,0)=STRING
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 | NOACTVT ;services with no activity for the reporting period
 | 
|---|
| 92 |  N CONT,PIECE S CONT=1
 | 
|---|
| 93 |  I GEN=1&($P(^GMR(123.5,INDEX,0),U,2)=1) S QUIT=1 Q  ;;don't add to list if service is a grouper only...
 | 
|---|
| 94 |  F PIECE=1:1:18 D  Q:CONT=0
 | 
|---|
| 95 |  .I $P(^TMP("GMRCT",$J,GEN,INDEX,"DATA"),U,PIECE)>0 S CONT=0 Q
 | 
|---|
| 96 |  S:CONT=1 ^TMP("GMRCT",$J,0,NAME)="",QUIT=1
 | 
|---|
| 97 |  Q
 | 
|---|
| 98 | ONESTAT(ARRN,SVCN,STAT,DT1,DT2,STR) ;Process one status
 | 
|---|
| 99 |  ;Input -- ARRN  "CP"  - to be printed  or "DEL" - in delimited format
 | 
|---|
| 100 |  ;SVCN = node in ^TMP("GMRCLIST,$J..STAT = status being worked on..DT1 = starting date..DT2 = ending date
 | 
|---|
| 101 |  ;STR = string value used to store 30/60 day results in correct piece of ^tmp arrays
 | 
|---|
| 102 |  ;Output - None
 | 
|---|
| 103 |  N GMRCPT,GMRCXDT,TEMP,GMRCSVC,GMRCSVCG,GMRCSVCP,GMRCQT,FLG,TYPE
 | 
|---|
| 104 |  S GMRCSVC=$P(^TMP("GMRCSLIST",$J,SVCN),"^",1)
 | 
|---|
| 105 |  S GMRCSVCP=$P(^TMP("GMRCSLIST",$J,SVCN),"^",2)
 | 
|---|
| 106 |  S GMRCSVCG=$P(^TMP("GMRCSLIST",$J,SVCN),"^",3)
 | 
|---|
| 107 |  S GMRCXDT=9999999-DT2-.6  ;start searching the global at a date a fraction newer than DT2 (the end date for this search)
 | 
|---|
| 108 |  F  S GMRCXDT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT)) Q:GMRCXDT=""!(GMRCXDT>(9999999-DT1))  D
 | 
|---|
| 109 |  .S GMRCPT=0
 | 
|---|
| 110 |  .;Loop for one consult at a time
 | 
|---|
| 111 |  .F  S GMRCPT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT,GMRCPT)) Q:GMRCPT=""  D 
 | 
|---|
| 112 |  ..S FLG=0 D EXCLUDE Q:$G(FLG)=1
 | 
|---|
| 113 |  ..S TYPE="" D REQTYPE
 | 
|---|
| 114 |  ..I TYPE="LOCAL" D  ;set totals for 30 and 60 day range
 | 
|---|
| 115 |  ...S:STR="30" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U)+1
 | 
|---|
| 116 |  ...S:STR="60" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,2)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,2)+1
 | 
|---|
| 117 |  ...I STAT=2 D
 | 
|---|
| 118 |  ....Q:'$O(^GMR(123,+$G(GMRCPT),50,0))  ;Q if no results
 | 
|---|
| 119 |  ....D CHKRNG
 | 
|---|
| 120 |  ..I TYPE="IFCP" D
 | 
|---|
| 121 |  ...S:STR="30" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,7)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,7)+1
 | 
|---|
| 122 |  ...S:STR="60" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,8)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,8)+1
 | 
|---|
| 123 |  ...D:STAT=2 CHKRNG
 | 
|---|
| 124 |  ..I TYPE="IFCF" D
 | 
|---|
| 125 |  ...S:STR="30" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,13)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,13)+1
 | 
|---|
| 126 |  ...S:STR="60" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,14)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,14)+1
 | 
|---|
| 127 |  ...D:STAT=2 CHKRNG
 | 
|---|
| 128 |  Q
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 | ONESTAT2(ARRN,SVCN,STAT,DT1) ;all statuses, all requests, before quarter start
 | 
|---|
| 131 |  ;Input -- ARRN  "CP"  - to be printed or "DEL" - in delimited format
 | 
|---|
| 132 |  ;SVCN = node in ^TMP("GMRCLIST,$J..STAT = status being worked on..DT1 = 60 days before starting date of current quarter
 | 
|---|
| 133 |  ;Output -- None
 | 
|---|
| 134 |  N GMRCPT,GMRCXDT,TEMP,GMRCSVC,GMRCSVCG,GMRCSVCP,FLG,TYPE
 | 
|---|
| 135 |  S GMRCSVC=$P(^TMP("GMRCSLIST",$J,SVCN),"^",1)
 | 
|---|
| 136 |  S GMRCSVCP=$P(^TMP("GMRCSLIST",$J,SVCN),"^",2)
 | 
|---|
| 137 |  S GMRCSVCG=$P(^TMP("GMRCSLIST",$J,SVCN),"^",3)
 | 
|---|
| 138 |  S GMRCXDT=""
 | 
|---|
| 139 |  F  S GMRCXDT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT)) Q:GMRCXDT=""  D
 | 
|---|
| 140 |  .S GMRCPT=0
 | 
|---|
| 141 |  .;Loop for one consult at a time
 | 
|---|
| 142 |  .F  S GMRCPT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT,GMRCPT)) Q:GMRCPT=""  D
 | 
|---|
| 143 |  ..Q:GMRCXDT<(9999999-DT1-.6)  ;
 | 
|---|
| 144 |  ..S FLG=0 D EXCLUDE Q:$G(FLG)=1
 | 
|---|
| 145 |  ..S TYPE="" D REQTYPE
 | 
|---|
| 146 |  ..I TYPE="LOCAL" D
 | 
|---|
| 147 |  ...S $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,5)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,5)+1
 | 
|---|
| 148 |  ...; get unresolved requests for the period
 | 
|---|
| 149 |  ...S:",3,4,5,6,8,9,11,99,"[(","_STAT_",") $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,6)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,6)+1
 | 
|---|
| 150 |  ..I TYPE="IFCP" D
 | 
|---|
| 151 |  ...S $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,11)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,11)+1
 | 
|---|
| 152 |  ...S:",3,4,5,6,8,9,11,99,"[(","_STAT_",") $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,12)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,12)+1
 | 
|---|
| 153 |  ..I TYPE="IFCF" D
 | 
|---|
| 154 |  ...S $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,17)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,17)+1
 | 
|---|
| 155 |  ...S:",3,4,5,6,8,9,11,99,"[(","_STAT_",") $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,18)=$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,18)+1
 | 
|---|
| 156 |  Q
 | 
|---|
| 157 | REQTYPE  ;If the request is being requested and performed locally, this field will be blank; Placer done elsewhere, Filler done locally
 | 
|---|
| 158 |  I $P(^GMR(123,$G(GMRCPT),0),U,23)="" S TYPE="LOCAL" Q
 | 
|---|
| 159 |  I $P(^GMR(123,$G(GMRCPT),0),U,23)'=""&($P($G(^GMR(123,GMRCPT,12)),U,5)="P") S TYPE="IFCP" Q
 | 
|---|
| 160 |  I $P(^GMR(123,$G(GMRCPT),0),U,23)'=""&($P($G(^GMR(123,GMRCPT,12)),U,5)="F") S TYPE="IFCF" Q
 | 
|---|
| 161 |  Q
 | 
|---|
| 162 | EXCLUDE ;exclude these request types from the count
 | 
|---|
| 163 |  N PROS
 | 
|---|
| 164 |  ; Check for bad "AE" x-ref
 | 
|---|
| 165 |  I '$D(^GMR(123,GMRCPT,0)) D  S FLG=1 Q
 | 
|---|
| 166 |  .K ^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT,GMRCPT)
 | 
|---|
| 167 |  I $$TESTPAT^VADPT(+$P(^GMR(123,GMRCPT,0),U,2)) S FLG=1 Q  ; exclude test pats
 | 
|---|
| 168 |  D  I $G(PROS) S FLG=1 Q
 | 
|---|
| 169 |  .N SVC S SVC=$P(^GMR(123,GMRCPT,0),U,5)
 | 
|---|
| 170 |  .I +$G(^GMR(123.5,SVC,"INT")) S PROS=1 ; exclude PROS consults
 | 
|---|
| 171 |  I $P($G(^GMR(123,GMRCPT,0)),U,18)'="O" S FLG=1 Q  ; only getting outpat
 | 
|---|
| 172 |  I $G(^GMR(123,GMRCPT,70))["Y" S FLG=1 Q  ; exclude admin requests
 | 
|---|
| 173 |  Q
 | 
|---|
| 174 | CHKRNG ;check if request is complete within 30/60 days of Desired Date or Date of Request
 | 
|---|
| 175 |  N DTOR,DTCMPL S DTOR="",DTCMPL=""
 | 
|---|
| 176 |  Q:'$O(^GMR(123,+$G(GMRCPT),50,0))&('$O(^GMR(123,+$G(GMRCPT),51,0)))
 | 
|---|
| 177 |  I $D(^GMR(123,+$G(GMRCPT),60))=1 S DTOR=$P(^GMR(123,+$G(GMRCPT),60),U,1) ;check for desired date CPRS GUI v28
 | 
|---|
| 178 |  S:$G(DTOR)="" DTOR=$P(^GMR(123,+$G(GMRCPT),0),U,7)
 | 
|---|
| 179 |  ; if request is completed and has results, was it completed within 30 or 60 days of the Date of Request, field 3 in 123 [0;7]
 | 
|---|
| 180 |  ;order through activity multiple (40) and find the entry for completed 40, [0:2] - value of 10 is complete/update
 | 
|---|
| 181 |  N CHK S CHK=0
 | 
|---|
| 182 |  F  S CHK=$O(^GMR(123,+$G(GMRCPT),40,CHK)) Q:CHK="B"  D
 | 
|---|
| 183 |  .;get the date/time of completion 40, [0;3]
 | 
|---|
| 184 |  .I $D(^GMR(123,+$G(GMRCPT),40,CHK,0)) S:($P(^GMR(123,GMRCPT,40,CHK,0),U,2)=10) DTCMPL=$P(^GMR(123,GMRCPT,40,CHK,0),U,3)
 | 
|---|
| 185 |  I $G(DTCMPL) D
 | 
|---|
| 186 |  .I (STR="30")&(DTCMPL<=$$FMADD^XLFDT(DTOR,30)) D
 | 
|---|
| 187 |  ..S:TYPE="LOCAL" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,3)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,3)+1
 | 
|---|
| 188 |  ..S:TYPE="IFCP" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,9)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,9)+1
 | 
|---|
| 189 |  ..S:TYPE="IFCF" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,15)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,15)+1
 | 
|---|
| 190 |  .I STR'="30"&(DTCMPL<=$$FMADD^XLFDT(DTOR,60))&(DTCMPL>$$FMADD^XLFDT(DTOR,30)) D
 | 
|---|
| 191 |  ..S:TYPE="LOCAL" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,4)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,4)+1
 | 
|---|
| 192 |  ..S:TYPE="IFCP" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,10)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,10)+1
 | 
|---|
| 193 |  ..S:TYPE="IFCF" $P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,16)=+$P(^TMP("GMRCT",$J,1,GMRCSVC,"DATA"),U,16)+1
 | 
|---|
| 194 |  Q
 | 
|---|