GMRCSTL8 ;SLC/JFR - Totals format for CPM ; 4/05/05 10:39 ;;3.0;CONSULT/REQUEST TRACKING;**41**;DEC 27, 1997 ; This routine invokes IA #875, #2638 ; This routine invokes IA #10035,#44, #10040 ; ; portions copied from GMRCSTL1 & GMRCSTL2 ; Q ; can't start here ; PRTTOT(GEN,INDEX,NAME,ARRN) ; totals for printed report N COUNT S COUNT=$O(^TMP("GMRCR",$J,ARRN," "),-1) I GEN=2 D . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="" . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)=" GROUPER: "_NAME_" Totals:" I GEN=1 D . I ^TMP("GMRCTOT",$J,1,INDEX,"T")=0 D Q ;collect zero servs for summ .. Q:$P(^GMR(123.5,INDEX,0),U,2)=1 .. S ^TMP("GMRCTOT",$J,0,NAME)="" . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)=" " . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="SERVICE: "_NAME . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Total Requests To Service:"_$J(^TMP("GMRCTOT",$J,1,INDEX,"T"),30,0) I GEN=2,^TMP("GMRCTOT",$J,2,INDEX,"T")>0 D . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Total Requests To Grouper:"_$J(^TMP("GMRCTOT",$J,2,INDEX,"T"),30,0) I $G(^TMP("GMRCTOT",$J,GEN,INDEX,"T"))>0 D . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Total Requests Pending Resolution: "_$J(^TMP("GMRCTOT",$J,GEN,INDEX,"P"),21,0) . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Total Requests completed: "_$J(^TMP("GMRCTOT",$J,GEN,INDEX,"C"),30,0) . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Total Requests completed with Results: "_$J(^TMP("GMRCTOT",$J,GEN,INDEX,"R"),17,0) . N GMRCPCT . I ^TMP("GMRCTOT",$J,GEN,INDEX,"T")=0 S GMRCPCT="N/A" . I '$D(GMRCPCT) S GMRCPCT=(^TMP("GMRCTOT",$J,GEN,INDEX,"C")/^TMP("GMRCTOT",$J,GEN,INDEX,"T"))*100 . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Percentage of total requests completed: "_$S(+GMRCPCT'=GMRCPCT:$J(GMRCPCT,16),1:($J(GMRCPCT,19,2)_"%")) . K GMRCPCT . I ^TMP("GMRCTOT",$J,GEN,INDEX,"C")=0 S GMRCPCT="N/A" . I '$D(GMRCPCT) S GMRCPCT=(^TMP("GMRCTOT",$J,GEN,INDEX,"R")/^TMP("GMRCTOT",$J,GEN,INDEX,"C"))*100 . S COUNT=COUNT+1 . S ^TMP("GMRCR",$J,ARRN,COUNT,0)="Percentage of total completed requests with results: "_$S(+GMRCPCT'=GMRCPCT:GMRCPCT,1:($J(GMRCPCT,6,2)_"%")) Q ; DELTOT(GEN,INDEX,NAME,ARRN) ; format for delimited ; I ^TMP("GMRCTOT",$J,GEN,INDEX,"T")=0 Q N STRING,COUNT S COUNT=$O(^TMP("GMRCR",$J,ARRN," "),-1) S STRING=$S(GEN=2:"GROUPER: ",1:"")_NAME_";" S STRING=STRING_^TMP("GMRCTOT",$J,GEN,INDEX,"T")_";" S STRING=STRING_^TMP("GMRCTOT",$J,GEN,INDEX,"P")_";" S STRING=STRING_^TMP("GMRCTOT",$J,GEN,INDEX,"C")_";" S STRING=STRING_^TMP("GMRCTOT",$J,GEN,INDEX,"R")_";" D ;get % completed . N GMRCPCT . S GMRCPCT=(^TMP("GMRCTOT",$J,GEN,INDEX,"C")/^TMP("GMRCTOT",$J,GEN,INDEX,"T"))*100 . S STRING=STRING_$J(GMRCPCT,0,2)_";" . Q D ; get % completed w/results . I ^TMP("GMRCTOT",$J,GEN,INDEX,"C")=0 S STRING=STRING_"N/A;" Q . N GMRCPCT . S GMRCPCT=(^TMP("GMRCTOT",$J,GEN,INDEX,"R")/^TMP("GMRCTOT",$J,GEN,INDEX,"C"))*100 . S STRING=STRING_$J(GMRCPCT,0,2) . Q S COUNT=COUNT+1 S ^TMP("GMRCR",$J,ARRN,COUNT,0)=STRING Q ; ONESTAT(ARRN,SVCN,STAT,DT1,DT2) ;Process one status ; Input -- ARRN "CP" - to be printed ; "DEL" - in delimited format ; SVCN = node in ^TMP("GMRCLIST,$J ; STAT = status being worked on ; DT1 = starting date ; DT2 = ending date ; ; Output - None ; N GMRCPT,GMRCXDT,TEMP,GMRCSVC,GMRCSVCG,GMRCSVCP S GMRCSVC=$P(^TMP("GMRCSLIST",$J,SVCN),"^",1) S GMRCSVCP=$P(^TMP("GMRCSLIST",$J,SVCN),"^",2) S GMRCSVCG=$P(^TMP("GMRCSLIST",$J,SVCN),"^",3) S GMRCXDT=$S(DT1="ALL":0,1:9999999-DT2-.6) F S GMRCXDT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT)) Q:GMRCXDT=""!(GMRCXDT>(9999999-DT1)) D .S GMRCPT=0 .;Loop for one consult at a time .F S GMRCPT=$O(^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT,GMRCPT)) Q:GMRCPT="" D .. N PROS ..; Check for bad "AE" x-ref ..I '$D(^GMR(123,GMRCPT,0)) D Q ...K ^GMR(123,"AE",GMRCSVC,STAT,GMRCXDT,GMRCPT) .. I $$TESTPAT^VADPT(+$P(^GMR(123,GMRCPT,0),U,2)) Q ; exclude test pats .. D I $G(PROS) Q ... N SVC S SVC=$P(^GMR(123,GMRCPT,0),U,5) ... I +$G(^GMR(123.5,SVC,"INT")) S PROS=1 ; exclude PROS consults .. I $P($G(^GMR(123,GMRCPT,12)),U,5)="P" Q ; exclude IFC placer ..; Add to totals ..; for all status for this service ..S ^TMP("GMRCTOT",$J,1,GMRCSVC,"T")=^TMP("GMRCTOT",$J,1,GMRCSVC,"T")+1 ..; pending for this service ..S:",3,4,5,6,8,9,11,99,"[(","_STAT_",") ^TMP("GMRCTOT",$J,1,GMRCSVC,"P")=^TMP("GMRCTOT",$J,1,GMRCSVC,"P")+1 .. I STAT=2 D ... S ^TMP("GMRCTOT",$J,1,GMRCSVC,"C")=+$G(^TMP("GMRCTOT",$J,1,GMRCSVC,"C"))+1 ... Q:'$O(^GMR(123,+$G(GMRCPT),50,0)) ; Q if no results ... S ^TMP("GMRCTOT",$J,1,GMRCSVC,"R")=+$G(^TMP("GMRCTOT",$J,1,GMRCSVC,"R"))+1 Q ;