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

AQAOPC53.m

Go to the documentation of this file.
  1. AQAOPC53 ; IHS/ORDC/LJF - PRINT QRT PROGRESS RPT-ASCII ;
  1. ;;1.01;QAI MANAGEMENT;;OCT 05, 1995
  1. ;
  1. ;This rtn prints the qtr progress report in ASCII format for use
  1. ;in PC-based applications. Basic format is the same as in ^AQAOPC52.
  1. ;
  1. INIT ; >> initialize variables
  1. D MONTHS ;set array for all months included in report
  1. ;use wide margin if date range has more than 7 months
  1. I Y>7 S AQAOIOM=IOM,(AQAOIOMX,X)=132 X:IOT'="HFS" ^%ZOSF("RM")
  1. D INIT^AQAOUTIL S AQAOHCON="Patient"
  1. S AQAOTY=$S($D(AQAORPTT):AQAORPTT,1:"CLOSED OCCURRENCES REPORT")
  1. S Y=AQAOBD X ^DD("DD") S AQAORNG="("_Y,Y=AQAOED-31 X ^DD("DD")
  1. S AQAORNG=AQAORNG_" - "_Y_")" ;date range
  1. S AQAOLIN3="",$P(AQAOLIN3,"-",70)=""
  1. ;
  1. LOOP ; >> loop thru ^tmp to get data then print it
  1. D DLMHDG^AQAOUTIL,HDG2
  1. S AQAOF=0
  1. F S AQAOF=$O(^TMP("AQAOPC5",$J,1,AQAOF)) Q:AQAOF="" Q:AQAOSTOP=U D
  1. .S AQAOIND=0
  1. .F S AQAOIND=$O(^TMP("AQAOPC5",$J,1,AQAOF,AQAOIND)) Q:AQAOIND="" Q:AQAOSTOP=U D
  1. ..S AQAOM=$$INDNAME^AQAOPC52 ;set indicator heading
  1. ..W !!,AQAOF,!,AQAOM,!
  1. ..S AQAOIT=$G(^TMP("AQAOPC5A",$J,AQAOF,AQAOIND))
  1. ..I AQAOIT=0 W !,">>> NO OCCURRENCES FOUND FOR THIS INDICATOR <<<" Q
  1. ..E D COUNTP ;prnt counts by month
  1. ..D ACTDLM^AQAOPC54 ;include action plans
  1. ;
  1. ;
  1. EXIT ; >>> eoj
  1. W !!,*7,"*** STOP CAPTURE NOW ***"
  1. I IOST["C-" D PRTOPT^AQAOVAR
  1. I $D(AQAOIOM),IOT'="HFS" S X=AQAOIOM X ^%ZOSF("RM")
  1. D ^%ZISC D KILL^AQAOUTIL
  1. K ^TMP("AQAOPC5",$J),^TMP("AQAOPC5A",$J)
  1. Q
  1. ;
  1. ;
  1. ;
  1. COUNTP ; >> SUBRTN to print line for all find/act combos with counts by month
  1. S AQAOFA=0 ;get next finding
  1. F S AQAOFA=$O(^TMP("AQAOPC5A",$J,AQAOF,AQAOIND,AQAOFA)) Q:AQAOFA="" Q:AQAOSTOP=U D
  1. .S AQAOAC=0 ;get next action for this finding
  1. .F S AQAOAC=$O(^TMP("AQAOPC5A",$J,AQAOF,AQAOIND,AQAOFA,AQAOAC)) Q:AQAOAC="" Q:AQAOSTOP=U D
  1. ..S AQAOFAT=^TMP("AQAOPC5A",$J,AQAOF,AQAOIND,AQAOFA,AQAOAC) ;f/a subtl
  1. ..W !,AQAOFA,"/",AQAOAC,AQAODLM
  1. ..;
  1. ..; ;fill in counts for all months
  1. ..S AQAOMON=0
  1. ..F S AQAOMON=$O(AQAOARM(AQAOMON)) Q:AQAOMON="" Q:AQAOSTOP=U D
  1. ...S X=$G(^TMP("AQAOPC5A",$J,AQAOF,AQAOIND,AQAOFA,AQAOAC,AQAOMON))
  1. ...I X=0 W "0",AQAODLM Q
  1. ...W X,AQAODLM S AQAOARM(AQAOMON)=AQAOARM(AQAOMON)+X ;print count
  1. ..W AQAOFAT
  1. ..;
  1. ..;fill in percentages for all months for this find/act combo
  1. ..W !,AQAODLM S AQAOMON=0
  1. ..F S AQAOMON=$O(AQAOARM(AQAOMON)) Q:AQAOMON="" Q:AQAOSTOP=U D
  1. ...S X=$G(^TMP("AQAOPC5A",$J,AQAOF,AQAOIND,AQAOFA,AQAOAC,AQAOMON))
  1. ...I X=0 W "0.00%",AQAODLM Q
  1. ...W $J(X/AQAOIT*100,8,2),"%",AQAODLM ;month as %
  1. ..W $J(AQAOFAT/AQAOIT*100,8,2),"%" ;find/act as % of totl
  1. ;
  1. ;
  1. ;print monthly totals for this indicator
  1. W !,"Monthly:",AQAODLM S AQAOMON=0
  1. F S AQAOMON=$O(AQAOARM(AQAOMON)) Q:AQAOMON="" Q:AQAOSTOP=U D
  1. .W AQAOARM(AQAOMON),AQAODLM ;# of occ by month
  1. W AQAOIT
  1. ; ;print % for each month for this indicator
  1. S AQAOMON=0 W !,AQAODLM
  1. F S AQAOMON=$O(AQAOARM(AQAOMON)) Q:AQAOMON="" Q:AQAOSTOP=U D
  1. .W:(AQAOIT>0) $J(AQAOARM(AQAOMON)/AQAOIT*100,8,2),"%",AQAODLM ;% of occ
  1. W !
  1. Q
  1. ;
  1. ;
  1. MONTHS ; >> SUBRTN to create array for months in report&init their counts
  1. S X=AQAOBD,Y=0 F Q:X>AQAOED D
  1. .I $E(X,4,5)=13 S X=($E(X,1,3)+1)_"0100"
  1. .S AQAOARM($E(X,1,5))=0
  1. .S X=X+100,Y=Y+1
  1. Q
  1. ;
  1. ;
  1. HDG2 ; >> SUBRTN to print 2nd half of heading
  1. W " ",AQAORNG,!
  1. W !!,"Find/Act",AQAODLM
  1. S X=0
  1. F S X=$O(AQAOARM(X)) Q:X="" W 1700+$E(X,1,3),"/",$E(X,4,5),AQAODLM
  1. W " Totals"
  1. W !
  1. Q