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

SCRPW304.m

Go to the documentation of this file.
  1. SCRPW304 ; BPFO/JRC - Performance Monitors National Summary Report; 30 Jul 2003 ; 2/5/04 7:13am
  1. ;;5.3;SCHEDULING;**292,335,337,1015**;AUG 13, 1993;Build 21
  1. ;
  1. EN ;Main Entry Point
  1. ;Declare variable(s) and arrays
  1. N SCRNARR,SORTARR
  1. S SCRNARR="^TMP(""SCRPW"",$J,""SCRNARR"")"
  1. S SORTARR="^TMP(""SCRPW"",$J,""SORTARR"")"
  1. K @SCRNARR,@SORTARR
  1. ;Set national screen/sort
  1. D ROLLUP^SCRPW303(SCRNARR,SORTARR)
  1. ;Get date frame
  1. I $$DATE^SCRPW302("","",SCRNARR)=0 D EX1 Q
  1. ;Queue report
  1. W !!
  1. N ZTDESC,ZTIO,ZTSAVE,TMP
  1. S ZTIO=""
  1. S ZTDESC="Performance Monitor National Summary Report"
  1. S ZTSAVE("SCRNARR")=""
  1. S TMP=$$OREF^DILF(SCRNARR)
  1. S ZTSAVE(TMP)=""
  1. I $D(@SCRNARR)#2 S ZTSAVE(SCRNARR)=""
  1. S ZTSAVE("SORTARR")=""
  1. S TMP=$$OREF^DILF(SORTARR)
  1. S ZTSAVE(TMP)=""
  1. I $D(@SORTARR)#2 S ZTSAVE(SORTARR)=""
  1. D EN^XUTMDEVQ("EN1^SCRPW304",ZTDESC,.ZTSAVE)
  1. D EX1
  1. Q
  1. ;
  1. EN1 ;Tasked entry point
  1. ;Input : SCRNARR - Screen array
  1. ; SORTARR - Sort array
  1. ;Output : None
  1. ;
  1. N OUTARR,STOP,PAGENUM,STOP,SUMNODE,PINODE,DIV
  1. S OUTARR="^TMP(""SCRPW"",$J,""OUTARR"")"
  1. S STOP=0
  1. K @OUTARR
  1. S PAGENUM=1
  1. ;Get data
  1. D GETDATA^SDPMUT1(SCRNARR,SORTARR,OUTARR)
  1. ;Print summary for facility
  1. S DIV=""
  1. D PRTHEAD
  1. S SUMNODE=$G(@OUTARR@("SUMMARY"))
  1. S PINODE=$G(@OUTARR@("SUMMARY","PI"))
  1. I '$$S^%ZTLOAD() D PRTSUMS
  1. D WAIT^SCRPW301 I STOP D EXIT Q
  1. ;Print divisional summaries
  1. S DIV="" F S DIV=$O(@OUTARR@("SUBTOTAL",DIV)) Q:DIV="" D Q:STOP
  1. .D PRTHEAD
  1. .S SUMNODE=$G(@OUTARR@("SUBTOTAL",DIV))
  1. .S PINODE=$G(@OUTARR@("SUBTOTAL",DIV,"PI"))
  1. .D PRTSUMS
  1. .D WAIT^SCRPW301 I STOP Q
  1. ;Cleanup and quit
  1. D EXIT
  1. Q
  1. ;
  1. PRTHEAD ;Page Header
  1. ;Input : OUTARR - Data array
  1. ; SCRNARR - Screen array
  1. ; PAGENUM - Page number
  1. ; DIV - Division Name ^ Division Number
  1. ; - NULL if facility name/number should be used
  1. ;Output : None
  1. ; PAGENUM is incremented by 1
  1. ;
  1. N TMP,LINE,VISN
  1. W @IOF
  1. W !,"Performance Monitor National Summary Report",?70,"Page: ",PAGENUM
  1. S LINE="Division: "_$P(DIV,U,1)_" ("_$P(DIV,U,2)_")"
  1. I DIV="" D
  1. .S TMP=$$SITE^VASITE()
  1. .D PARENT^XUAF4("VISN","`"_$P(TMP,U,1)) ; SD*5.3*337
  1. .S VISN="",VISN=$O(VISN("P",VISN)) Q:VISN="" ; SD*5.3*337
  1. .S LINE="Facility: "_$P(TMP,U,2)_" ("_$P(TMP,U,3)_")"_" "_$P($G(VISN("P",VISN)),U,1)
  1. W !!,LINE
  1. W !,"Run Date: ",$$HTE^XLFDT($H)
  1. W !,"Encounter Date Range: ",$$FMTE^XLFDT($P(@SCRNARR@("RANGE"),U,1))
  1. W " to ",$$FMTE^XLFDT($P(@SCRNARR@("RANGE"),U,2))
  1. I DIV="" S LINE=+$G(@OUTARR@("SUMMARY"))
  1. I DIV'="" S LINE=+$G(@OUTARR@("SUBTOTAL",DIV))
  1. W !,"Total number of encounters (denominator): ",LINE
  1. W !!,"Total number of encounters in the denominator are those included in the"
  1. W !,"Performance Monitor cohort"
  1. S PAGENUM=PAGENUM+1
  1. Q
  1. ;
  1. PRTSUMS ;Print summaries
  1. ;Input : SUMNODE - Summary node from OUTARR
  1. ; PINODE - PI node from OUTARR
  1. ;Output : None
  1. ;
  1. I (SUMNODE="")&(PINODE="") D Q
  1. .W !
  1. .W !,"***********************************************"
  1. .W !,"* NOTHING TO REPORT FOR SELECTED DATE FRAME *"
  1. .W !,"***********************************************"
  1. N VAL,DASH6,TOTENC,CMPENC,PRCNT,TMP,SCANNED,NPN
  1. S $P(DASH6,"-",6)="-"
  1. S $P(PRCNT,U,11)=""
  1. ;Get general totals
  1. S TOTENC=+$P(SUMNODE,U,1)
  1. S CMPENC=+$P(SUMNODE,U,2)
  1. S SCANNED=+$P(SUMNODE,U,7)
  1. S NPN=+$P(SUMNODE,U,9)
  1. ;Calculate compliance percentages
  1. I TOTENC S VAL=0 F TMP=1:1:11 D
  1. .I (TOTENC-SCANNED)>0 S VAL=100*($P(PINODE,U,TMP)/(TOTENC-SCANNED))
  1. .S $P(PRCNT,U,TMP)=$TR($J(VAL,3,0)," ")_"%"
  1. ;Part 1
  1. W !!,"Signed",?21,"Elapsed Time (Days)"
  1. W !,"within",?14,"0-1",?22,">1-2",?31,">2-3",?39,">3-4",?47,">4-5"
  1. W ?55,">5-6",?63,">6-7",?71,">7-8"
  1. W !,?13,DASH6,?21,DASH6,?30,DASH6,?38,DASH6,?46,DASH6,?54,DASH6
  1. W ?62,DASH6,?70,DASH6
  1. W !,"Encounters",?13,+$P(PINODE,U,1),?21,+$P(PINODE,U,2)
  1. W ?30,+$P(PINODE,U,3),?38,+$P(PINODE,U,4),?46,+$P(PINODE,U,5)
  1. W ?54,+$P(PINODE,U,6),?62,+$P(PINODE,U,7),?70,+$P(PINODE,U,8)
  1. W !,"Percentage",?13,$P(PRCNT,U,1),?21,$P(PRCNT,U,2)
  1. W ?30,$P(PRCNT,U,3),?38,$P(PRCNT,U,4),?46,$P(PRCNT,U,5)
  1. W ?54,$P(PRCNT,U,6),?62,$P(PRCNT,U,7),?70,$P(PRCNT,U,8)
  1. ;Part 2
  1. W !!,"Signed",?21,"Elapsed Time (Days)",?45,"Pending",?60,"Scanned"
  1. W !,"within",?14,">8-9",?22,">9-10",?32,">10",?38,"Signatures"
  1. W ?50,"Notes",?59,"Note Only"
  1. W !,?13,DASH6,?21,DASH6,?30,DASH6,?38,DASH6_"----"
  1. W ?50,DASH6,?59,DASH6_"---"
  1. W !,"Encounters",?13,+$P(PINODE,U,9),?21,+$P(PINODE,U,10)
  1. W ?30,+$P(PINODE,U,11),?38,TOTENC-CMPENC-NPN-SCANNED-(+$P(PINODE,U,11))
  1. W ?50,NPN,?59,SCANNED
  1. W !,"Percentage",?13,$P(PRCNT,U,9),?21,$P(PRCNT,U,10)
  1. W ?30,$P(PRCNT,U,11)
  1. S (VAL,NPNVAL)=0
  1. I (TOTENC-SCANNED)>0 S NPNVAL=100*(NPN/(TOTENC-SCANNED))
  1. S NPNVAL=$TR($J(NPNVAL,3,0)," ")_"%"
  1. I (TOTENC-SCANNED)>0 S VAL=100*((TOTENC-SCANNED-CMPENC-NPN-(+$P(PINODE,U,11)))/TOTENC)
  1. S VAL=$TR($J(VAL,3,0)," ")_"%"
  1. W ?38,VAL,?50,NPNVAL,?59,"N/A"
  1. Q
  1. ;
  1. EXIT ;Kill temporary arrays
  1. K @OUTARR
  1. EX1 K @SORTARR,@SCRNARR
  1. Q