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

SCRPI02A.m

Go to the documentation of this file.
  1. SCRPI02A ; ALB/SCK - Print IEMM Statistical Summary Report ; 6/26/97
  1. ;;5.3;Scheduling;**66,143,1015**;AUG 13, 1993;Build 21
  1. ;
  1. PRINT ; print Summary Report
  1. ; Variables
  1. ;
  1. N DASH,DBLDASH,PAGE,SDIV,SDNAME,SDT,SCABORT,TOTALS,SDMSG,LINE
  1. ;
  1. K ^TMP("SCRPI ERRORS",$J)
  1. I $G(SDBLT) D
  1. . S IOM=80
  1. S $P(DASH,"-",IOM-1)="",$P(DBLDASH,"=",IOM-1)=""
  1. S PAGE=0
  1. ;
  1. I '$D(^TMP("SCRPI SUM",$J)) D G PRNQ
  1. . D HDR1
  1. . S X="No Incomplete Encounters found."
  1. . D WRT(DBLDASH)
  1. . D WRT(" "),WRT(X)
  1. ;
  1. I SDRTYP["S" D PRNTSUM
  1. I SDRTYP["D" D PRNTDTL
  1. ;
  1. I $D(TOTALS) D
  1. . D WRT(" "),WRT(" ")
  1. . S X=" Total Encounters: "_(+$G(TOTALS("TOT"))++$G(TOTALS("DTOT"))) D WRT(X)
  1. . S X=" Total Incomplete Encounters: "_(+$G(TOTALS("INC"))++$G(TOTALS("DINC"))) D WRT(X)
  1. ;
  1. PRNQ ;
  1. D:$G(SDBLT) SENDMSG
  1. K ^TMP("SCRPI ERRS",$J)
  1. Q
  1. ;
  1. PRNTSUM ; Print encounter summary for each clinic
  1. ; Variables
  1. ;
  1. N SDDCLN,SDIVN
  1. ;
  1. S SDIVN="" F S SDIVN=$O(^TMP("SCRPI SUM",$J,SDIVN)) Q:SDIVN']"" D Q:$G(SCABORT)
  1. . D HDR1 Q:$G(SCABORT) D HDR2
  1. . S SDDCLN="" F S SDDCLN=$O(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN)) Q:SDDCLN']"" D Q:$G(SCABORT)
  1. .. D PRNTCLN(SDIVN,SDDCLN)
  1. .. I '$G(SDBLT),$Y>(IOSL-5) D HDR1 Q:$G(SCABORT) D HDR2
  1. Q
  1. ;
  1. PRNTCLN(SDIVN,SDDCLN) ;
  1. N INC,TOT,DINC,DTOT,XN,SDPER
  1. ;
  1. S INC=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,1)
  1. S TOT=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,3)
  1. S DINC=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,2)
  1. S DTOT=+$P($G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0)),U,4)
  1. Q:'INC
  1. S X=SDDCLN
  1. S X=X_$$SPACE^SCRPIUT1(33-$L(X))_$J(TOT+DTOT,6)
  1. S XN=" ("_$S(DTOT]"":DTOT,1:0)_")"
  1. S X=X_XN
  1. S X=X_$$SPACE^SCRPIUT1(48-$L(X))_$J(INC+DINC,6)
  1. S XN=" ("_$S(DINC]"":DINC,1:0)_")"
  1. S X=X_XN
  1. S SDPER=((INC+DINC)/(TOT+DTOT))*100
  1. S X=X_$$SPACE^SCRPIUT1(65-$L(X))_$J(SDPER,6,1)_"%"
  1. D WRT(X)
  1. S TOTALS("INC")=+$G(TOTALS("INC"))+INC
  1. S TOTALS("TOT")=+$G(TOTALS("TOT"))+TOT
  1. S TOTALS("DINC")=+$G(TOTALS("DINC"))+DINC
  1. S TOTALS("DTOT")=+$G(TOTALS("DTOT"))+DTOT
  1. Q
  1. ;
  1. PRNTDTL ; Print error details for each clinic
  1. ; Variables
  1. ;
  1. N SDDCLN,SDIVN
  1. ;
  1. S SDIVN="" F S SDIVN=$O(^TMP("SCRPI SUM",$J,SDIVN)) Q:SDIVN']"" D Q:$G(SCABORT)
  1. . S SDDCLN="" F S SDDCLN=$O(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN)) Q:SDDCLN']"" D Q:$G(SCABORT)
  1. .. Q:'$P(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,0),U)
  1. .. D HDR1 Q:$G(SCABORT) D HDR3
  1. .. D PRNERRS(SDIVN,SDDCLN)
  1. Q
  1. ;
  1. PRNERRS(SDIVN,SDDCLN) ;
  1. N SDER,SDEC,SDERC,SDPER,SDETOT
  1. ;
  1. K ^TMP("SCRPI ERRS",$J)
  1. ;
  1. S SDER=0 F S SDER=$O(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SDER)) Q:'SDER D
  1. . S SDETOT=+$G(SDETOT)++$G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SDER,0))
  1. ;
  1. S SDER=0 F S SDER=$O(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SDER)) Q:'SDER D Q:$G(SCABORT)
  1. . S SDERC=+$G(^TMP("SCRPI SUM",$J,SDIVN,SDDCLN,SDER,0))
  1. . I +SDETOT>0 S SDPER=(SDERC/SDETOT)*100
  1. . S ^TMP("SCRPI ERRS",$J,SDERC,SDER)=+SDPER
  1. . I '$G(SDBLT),$Y>(IOSL-5) D HDR1 Q:$G(SCABORT) D HDR3
  1. ;
  1. S SDERC=999999 F S SDERC=$O(^TMP("SCRPI ERRS",$J,SDERC),-1) Q:'SDERC D Q:$G(SCABORT)
  1. . S SDER="" F S SDER=$O(^TMP("SCRPI ERRS",$J,SDERC,SDER)) Q:'SDER D Q:$G(SCABORT)
  1. .. S SDEC=$E($G(^SD(409.76,SDER,1)),1,52)
  1. .. I $L($G(^SD(409.76,SDER,1)))>52 S SDEC=SDEC_"..."
  1. .. W !,SDEC,?57,$J(SDERC,6),?70,$J(^TMP("SCRPI ERRS",$J,SDERC,SDER),6,1)_"%"
  1. .. I '$G(SDBLT),$Y>(IOSL-5) D HDR1 Q:$G(SCABORT) D HDR3
  1. D PRNTOT(SDIVN,SDDCLN)
  1. Q
  1. ;
  1. PRNTOT(SDIV,SDDCL) ;
  1. I '$G(SDBLT),$Y>(IOSL-5) D HDR1 Q:$G(SCABORT) D HDR3
  1. S INC=+$P($G(^TMP("SCRPI SUM",$J,SDIV,SDDCL,0)),U,1)
  1. S TOT=+$P($G(^TMP("SCRPI SUM",$J,SDIV,SDDCL,0)),U,3)
  1. S DINC=+$P($G(^TMP("SCRPI SUM",$J,SDIV,SDDCL,0)),U,2)
  1. S DTOT=+$P($G(^TMP("SCRPI SUM",$J,SDIV,SDDCL,0)),U,4)
  1. W !!!," Incomplete Encounters: ",$J(INC,6,0)
  1. W !," Total Encounters: ",$J(TOT,6,0)
  1. W !,"(Deleted) Incomplete Encounters: ",$J(DINC,6,0)
  1. W !," (Deleted) Total Encounters: ",$J(DTOT,6,0)
  1. ;
  1. ;
  1. Q
  1. ;
  1. HDR1 ; Print report header
  1. N SDL,X
  1. ;
  1. I $$S^%ZTLOAD S SCABORT=1 Q
  1. I 'PAGE,IOST?1"C-".E W @IOF
  1. I PAGE,IOST?1"C-".E D Q:$G(SCABORT)
  1. . S DIR(0)="E" D ^DIR K DIR S SCABORT='+$G(Y)
  1. . W @IOF
  1. E D
  1. . I '$G(SDBLT),PAGE W @IOF
  1. ;
  1. S PAGE=PAGE+1
  1. I $G(SDBLT) D WRT(""),WRT("")
  1. S X="Date: "_$$FDATE^VALM1($$DT^XLFDT)
  1. S X=X_$$SPACE^SCRPIUT1(17-$L(X))_"Incomplete Encounter Mgmt Summary Error Report"
  1. S X=X_$$SPACE^SCRPIUT1((79-$L(X))-$L("PAGE: "_PAGE))_"PAGE: "_PAGE
  1. D WRT(X)
  1. S X="Date Range: "_$$FMTE^XLFDT($P(SDDT,U))_" to "_$$FMTE^XLFDT($P(SDDT,U,2))
  1. D CTR^SCRPIUT1(.X),WRT(X)
  1. Q
  1. ;
  1. HDR2 ;
  1. N X
  1. S X="Division: "_$S($G(SDIVN)]"":SDIVN,1:" ---")
  1. D CTR^SCRPIUT1(.X),WRT(X)
  1. S X="Clinic Summary - Incomplete Encounters"
  1. D CTR^SCRPIUT1(.X),WRT(X)
  1. D WRT(""),WRT("")
  1. ;
  1. S X="Clinic"_$$SPACE^SCRPIUT1(30)_"Encounters"_$$SPACE^SCRPIUT1(5)_"Incomplete"_$$SPACE^SCRPIUT1(5)_"Percentage"
  1. D WRT(X),WRT(DBLDASH)
  1. S X="Note: (nn) = Number of total encounters which are deleted encounters"
  1. D CTR^SCRPIUT1(.X),WRT(X),WRT("")
  1. Q
  1. ;
  1. HDR3 ;
  1. S X="Division: "_$S($G(SDIVN)]"":SDIVN,1:" ---")
  1. D CTR^SCRPIUT1(.X),WRT(X)
  1. S X="Clinic: "_$S($G(SDDCLN)]"":SDDCLN,1:" ---")
  1. D CTR^SCRPIUT1(.X),WRT(X),WRT("")
  1. S X=$$SPACE^SCRPIUT1(55)_"Number of"_$$SPACE^SCRPIUT1(8)_"Percent" D WRT(X)
  1. S X="Error"_$$SPACE^SCRPIUT1(50)_"Occurrences"_$$SPACE^SCRPIUT1(5)_"of Total" D WRT(X)
  1. D WRT(DBLDASH)
  1. S X="< Errors in descending order of occurrence >" D CTR^SCRPIUT1(.X),WRT(X),WRT("")
  1. Q
  1. ;
  1. WRT(X) ; Write string to either output device or bulletin array
  1. I $G(SDBLT) D
  1. . S LINE=+$G(LINE)+1
  1. . S SDMSG(LINE)=X
  1. E D
  1. . I $Y>(IOSL-5) D HDR1 Q:$G(SCABORT)
  1. . W !,X
  1. Q
  1. ;
  1. SENDMSG ; Sends bulletin message
  1. N XMB,XMDUZ,XMTEXT
  1. ;
  1. S XMB="SCDX INCOMPLETE ENCOUNTER MGMT"
  1. S XMB(1)="IEMM Summary Report"
  1. S XMDUZ="INCOMPLETE ENCOUNTER MANAGEMENT"
  1. ;
  1. S XMTEXT="SDMSG("
  1. D ^XMB
  1. Q