Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: GMRCSTU1

GMRCSTU1.m

Go to the documentation of this file.
  1. GMRCSTU1 ;SLC/DCM,dee - Statistic Utilities for C/RT ;9/26/02 10:15
  1. ;;3.0;CONSULT/REQUEST TRACKING;**7,29,43**;DEC 27, 1997
  1. Q
  1. ;
  1. SQRT(X) ;calculate the square root of number X
  1. Q X**.5
  1. ;
  1. PARENTS(ND,PARENT) ;Add totals for service to itself as a parent and to its parent service
  1. ; ND This service in GMRCSVC
  1. ; PARENT This services grouper in GMRCSVC
  1. N ND2
  1. F ND2="T","I","O","U" D
  1. .S $P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",1)=$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",1)+$P(^TMP("GMRCSVC",$J,1,ND,ND2),"^",1)
  1. .S $P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",2)=$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",2)+$P(^TMP("GMRCSVC",$J,1,ND,ND2),"^",2)
  1. .S $P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",3)=$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",3)+$P(^TMP("GMRCSVC",$J,1,ND,ND2),"^",3)
  1. .I PARENT D
  1. ..S $P(^TMP("GMRCSVC",$J,2,PARENT,ND2),"^",1)=$P($G(^TMP("GMRCSVC",$J,2,PARENT,ND2)),"^",1)+$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",1)
  1. ..S $P(^TMP("GMRCSVC",$J,2,PARENT,ND2),"^",2)=$P($G(^TMP("GMRCSVC",$J,2,PARENT,ND2)),"^",2)+$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",2)
  1. ..S $P(^TMP("GMRCSVC",$J,2,PARENT,ND2),"^",3)=$P($G(^TMP("GMRCSVC",$J,2,PARENT,ND2)),"^",3)+$P(^TMP("GMRCSVC",$J,2,ND,ND2),"^",3)
  1. Q
  1. ;
  1. DOSTAT(GEN,ND) ;Do the number crunching for the statistics
  1. ; GEN 1 if service
  1. ; 2 if grouper
  1. ; ND This service in GMRCSVC
  1. N VAR,SUMX
  1. S VAR=$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",2)
  1. S $P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",4)=$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",1)/VAR
  1. I VAR>1 D
  1. .S SUMX=$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",1)
  1. .S SUMX=SUMX*SUMX/VAR
  1. .S SUMX=($P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",3)-SUMX)/(VAR-1)
  1. .S $P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5)=$$SQRT(SUMX)
  1. E S $P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5)="N<2"
  1. S VAR=$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",2)
  1. I VAR>0 D
  1. .S $P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",4)=$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",1)/VAR
  1. .I VAR>1 D
  1. ..S SUMX=$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",1)
  1. ..S SUMX=SUMX*SUMX/VAR
  1. ..S SUMX=($P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",3)-SUMX)/(VAR-1)
  1. ..S $P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5)=$$SQRT(SUMX)
  1. .E S $P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5)="N<2"
  1. S VAR=$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",2)
  1. I VAR>0 D
  1. .S $P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",4)=$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",1)/VAR
  1. .I VAR>1 D
  1. ..S SUMX=$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",1)
  1. ..S SUMX=SUMX*SUMX/VAR
  1. ..S SUMX=($P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",3)-SUMX)/(VAR-1)
  1. ..S $P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5)=$$SQRT(SUMX)
  1. .E S $P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5)="N<2"
  1. S VAR=$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",2)
  1. I VAR>0 D
  1. .S $P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",4)=$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",1)/VAR
  1. .I VAR>1 D
  1. ..S SUMX=$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",1)
  1. ..S SUMX=SUMX*SUMX/VAR
  1. ..S SUMX=($P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",3)-SUMX)/(VAR-1)
  1. ..S $P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5)=$$SQRT(SUMX)
  1. .E S $P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5)="N<2"
  1. Q
  1. ;
  1. LISTDATE(GMRCDT1,GMRCDT2,GMRCEDT1,GMRCEDT2) ;Change dates to display format
  1. ; Input:
  1. ; GMRCDT1 Start date in FM format, can be "ALL" for all dates
  1. ; GMRCDT2 End date in FM format, can be null if GMRCDT1 is "ALL"
  1. ; Output:
  1. ; GMRCEDT1 Start date in external format
  1. ; GMRCEDT2 End date in extenal format
  1. ;
  1. S GMRCEDT1=$$FMTE^XLFDT(GMRCDT1)
  1. S GMRCEDT2=$$FMTE^XLFDT(GMRCDT2)
  1. I GMRCEDT1'="ALL" D
  1. .S Y=GMRCEDT1
  1. .X ^DD("DD")
  1. .S GMRCEDT1=$P(Y,"@",1)
  1. .K %,%DT,%H,%I
  1. I GMRCEDT2=0 D
  1. .S X="NOW"
  1. .D NOW^%DTC
  1. .S Y=%
  1. .K %,%DT,%H,%I
  1. .X ^DD("DD")
  1. .S GMRCEDT2=$P(Y,"@",1)
  1. Q
  1. ;
  1. SERVSTAT(COUNT,GEN,ND,GRP) ;Build list for a service or a grouper
  1. ; COUNT subscript in to the array ^TMP("GMRCR"
  1. ; GEN 1 if service
  1. ; 2 if grouper
  1. ; ND Pointer to this this service in GMRCSVC
  1. ; GRP Pointer to grouper that this service is in ^GMR(123.5
  1. ; (If this is not a grouper i.e. GEN=2)
  1. ;
  1. N TEMP,NUMBER
  1. S COUNT=COUNT+1
  1. I GEN=1 D
  1. .S TEMP="SERVICE: "_$P(^GMR(123.5,ND,0),"^",1)
  1. .S:GRP>0 TEMP=TEMP_" in Group: "_$P(^GMR(123.5,GRP,0),"^",1)
  1. .S ^TMP("GMRCR",$J,"PRL",GMRCCT,0)=TEMP
  1. E D
  1. .S TEMP="GROUPER: "_$P(^GMR(123.5,ND,0),"^",1)_" Totals:"
  1. .S ^TMP("GMRCR",$J,"PRL",GMRCCT,0)=$E(TAB,1,10)_TEMP
  1. S NUMBER=$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",2)
  1. S COUNT=COUNT+1
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)="Total Number Of Consults Completed: "_NUMBER
  1. S COUNT=COUNT+1
  1. S TEMP="Mean Days To Complete: "
  1. S:NUMBER>0 TEMP=TEMP_$J($P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",4),4,2)
  1. S TEMP=TEMP_$E(TAB,1,50-$L(TEMP))_"Standard Deviation: "
  1. I NUMBER>0 S ^TMP("GMRCR",$J,"PRL",COUNT,0)=TEMP_$S($P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5)=+$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5):$J($P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5),4,1),1:$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",5))
  1. E S ^TMP("GMRCR",$J,"PRL",COUNT,0)=TEMP
  1. S NUMBER=$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",2)
  1. S COUNT=COUNT+1
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)="Total INPATIENT Consults: "_NUMBER
  1. S COUNT=COUNT+1
  1. S TEMP="Mean Days To Complete: "
  1. S:NUMBER>0 TEMP=TEMP_$J($P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",4),4,2)
  1. S TEMP=TEMP_$E(TAB,1,50-$L(TEMP))_"Standard Deviation: "
  1. I NUMBER>0 D
  1. . S TEMP=TEMP_$S($P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5)=+$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5):$J($P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5),4,1),1:$P(^TMP("GMRCSVC",$J,GEN,ND,"I"),"^",5))
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)=TEMP
  1. S NUMBER=$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",2)
  1. S COUNT=COUNT+1
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)="Total OUTPATIENT Consults: "_NUMBER
  1. S COUNT=COUNT+1
  1. S TEMP="Mean Days To Complete: "
  1. S:NUMBER>0 TEMP=TEMP_$J($P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",4),4,2)
  1. S TEMP=TEMP_$E(TAB,1,50-$L(TEMP))_"Standard Deviation: "
  1. I NUMBER>0 D
  1. . S TEMP=TEMP_$S($P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5)=+$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5):$J($P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5),4,1),1:$P(^TMP("GMRCSVC",$J,GEN,ND,"O"),"^",5))
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)=TEMP
  1. I $P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",2)>0 D
  1. .S NUMBER=$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",2)
  1. .S COUNT=COUNT+1
  1. .S ^TMP("GMRCR",$J,"PRL",COUNT,0)="Total Unclassified Consults: "_NUMBER
  1. .S COUNT=COUNT+1
  1. .S TEMP="Mean Days To Complete: "
  1. .S:NUMBER>0 TEMP=TEMP_$J($P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",4),4,2)
  1. .S TEMP=TEMP_$E(TAB,1,50-$L(TEMP))_"Standard Deviation: "
  1. .I NUMBER>0 D
  1. .. S TEMP=TEMP_$S($P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5)=+$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5):$J($P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5),4,1),1:$P(^TMP("GMRCSVC",$J,GEN,ND,"U"),"^",5))
  1. .S ^TMP("GMRCR",$J,"PRL",COUNT,0)=TEMP
  1. I +$P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",6)>0 S COUNT=COUNT+1,^TMP("GMRCR",$J,"PRL",COUNT,0)="No. With Unresolved Accepted in Service Times: "_$J($P(^TMP("GMRCSVC",$J,GEN,ND,"T"),"^",6),3)_" (Not Included In Statistics)"
  1. S COUNT=COUNT+1
  1. S ^TMP("GMRCR",$J,"PRL",COUNT,0)=""
  1. Q