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

ACDRR2P.m

Go to the documentation of this file.
  1. ACDRR2P ;IHS/ADC/EDE/KML - PRINT REPORT;
  1. ;;4.1;CHEMICAL DEPENDENCY MIS;;MAY 11, 1998
  1. ;
  1. START ;
  1. D INIT
  1. D BODY
  1. D EOJ
  1. Q
  1. ;
  1. INIT ;
  1. U IO
  1. I '$D(ZTQUEUED),'$D(IO("S")),$E(IOST,1,2)="C-" W @IOF
  1. S ACDPAGE=0,ACDSHDR=""
  1. D HEADER
  1. Q
  1. ;
  1. BODY ; WRITE BODY OF REPORT
  1. NEW C,H,Z
  1. S ACDQ=0
  1. D TOTALS
  1. Q:ACDQ
  1. D PROVS
  1. Q:ACDQ
  1. Q
  1. ;
  1. TOTALS ; TOTALS REPORT
  1. S X=^TMP("ACDRR2",ACDJOB,ACDBT,"SEEN")
  1. W !
  1. W $$LJRF^ACD("TOTAL PATIENTS SEEN",37,".")," ",X,!
  1. W " (INFO/REFERRALS,CRISIS BRIEFS & INTERVENTIONS EXCLUDED)",!
  1. ;
  1. S ACDSHDR="W ""TOTAL HOURS BY VISIT TYPE"""
  1. D SUBHDR
  1. Q:ACDQ
  1. S ACDVT=""
  1. F S ACDVT=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"VISIT TYPE",ACDVT)) Q:ACDVT="" S Z=+$G(^(ACDVT,"HOURS")) D Q:ACDQ
  1. . D F Q:ACDQ
  1. . S X=$$PRTVT(ACDVT)
  1. . W ?2,$$LJRF^ACD(X,35,".")," ",Z,!
  1. . Q
  1. Q:ACDQ
  1. ;
  1. S ACDSHDR="W ""TOTAL HOURS BY CLIENT SERVICE"""
  1. D SUBHDR
  1. Q:ACDQ
  1. S Y=0
  1. F S Y=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"VISIT TYPE","CS",Y)) Q:'Y S Z=+$G(^(Y,"HOURS")) D Q:ACDQ
  1. . D F Q:ACDQ
  1. . S X=$P(^ACDSERV(Y,0),U)
  1. . W ?2,$$LJRF^ACD(X,35,".")," ",Z,!
  1. . Q
  1. Q:ACDQ
  1. ;
  1. S ACDSHDR="W ""TOTAL HOURS BY PREVENTION ACTIVITY"""
  1. D SUBHDR
  1. Q:ACDQ
  1. S Y=0
  1. F S Y=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"VISIT TYPE","PREV",Y)) Q:'Y S Z=+$G(^(Y,"HOURS")) D Q:ACDQ
  1. . D F Q:ACDQ
  1. . S X=$P(^ACDPREV(9002170.9,Y,0),U)
  1. . W ?2,$$LJRF^ACD(X,35,".")," ",Z,!
  1. . Q
  1. Q:ACDQ
  1. Q
  1. ;
  1. PROVS ; PROVIDER REPORTS
  1. ;
  1. S ACDPROV=""
  1. F S ACDPROV=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV)) Q:ACDPROV="" D PROVIDER Q:ACDQ
  1. Q:ACDQ
  1. Q
  1. ;
  1. PROVIDER ; WRITE ONE PROVIDERS INFO
  1. S ACDSHDR="W ""PROVIDER WORKLOAD INFORMATION"""
  1. D EOP
  1. Q:ACDQ
  1. W "PROVIDER: ",ACDPROV,!
  1. ; total pp pats, total hours, total without hours
  1. S Z=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"PP"))
  1. W ?2,$$LJRF^ACD("PRIMARY PROVIDER PATIENT COUNT",35,".")," ",Z,!
  1. S Z=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"TOT","TOTAL HOURS"))
  1. W ?2,$$LJRF^ACD("TOTAL HOURS",35,".")," ",Z,!
  1. S Z=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"TOT","HOURS NR"))
  1. W ?2,$$LJRF^ACD("HOURS NOT RECORDED VISIT COUNT",35,".")," ",Z,!
  1. ; counts by visit type
  1. S ACDSHDR="W ""HOURS/COUNT BY VISIT TYPE"",?38,""TOTAL"",?49,""AVG"",?61,""HC"",?71,""NRC"""
  1. D SUBHDR
  1. Q:ACDQ
  1. F ACDTC="IN","RE","TD","FU","IR","OT","CS","PREV","INTV" D Q:ACDQ
  1. . Q:'$D(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT",ACDTC))
  1. . D F Q:ACDQ
  1. . S H=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT",ACDTC,"HOURS"))
  1. . S C=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT",ACDTC,"HOURS CNT"))
  1. . S Z=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT",ACDTC,"HOURS NR"))
  1. . S ACDTC=$$PRTVT(ACDTC)
  1. . W ?2,$$LJRF^ACD(ACDTC,35,".")," ",H,?48,$S(C:$J(H/C,5,2),1:" 0"),?61,C,?71,Z,!
  1. . Q
  1. Q:ACDQ
  1. ; hours/counts by client service
  1. S ACDSHDR="W ""HOURS/COUNT BY CLIENT SERVICE"",?38,""TOTAL"",?49,""AVG"",?61,""HC"",?71,""NRC"""
  1. D SUBHDR
  1. Q:ACDQ
  1. S ACDCS=0
  1. F S ACDCS=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","CS",ACDCS)) Q:'ACDCS D Q:ACDQ
  1. . D F Q:ACDQ
  1. . S H=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","CS",ACDCS,"HOURS"))
  1. . S C=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","CS",ACDCS,"HOURS CNT"))
  1. . S X=$P($G(^ACDSERV(ACDCS,0)),U)
  1. . S Z=0
  1. . W ?2,$$LJRF^ACD(X,35,".")," ",H,?48,$S(C:$J(H/C,5,2),1:" 0"),?61,C,?71,Z,!
  1. . Q
  1. Q:ACDQ
  1. ; hours/counts by prevention
  1. S ACDSHDR="W ""HOURS/COUNT BY PREVENTION ACTIVITY"",?38,""TOTAL"",?49,""AVG"",?61,""HC"",?71,""NRC"""
  1. D SUBHDR
  1. Q:ACDQ
  1. S ACDPREV=0
  1. F S ACDPREV=$O(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","PREV",ACDPREV)) Q:'ACDPREV D Q:ACDQ
  1. . D F Q:ACDQ
  1. . S H=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","PREV",ACDPREV,"HOURS"))
  1. . S C=+$G(^TMP("ACDRR2",ACDJOB,ACDBT,"PROV",ACDPROV,"VT","PREV",ACDPREV,"HOURS CNT"))
  1. . S X=$P($G(^ACDPREV(9002170.9,ACDPREV,0)),U)
  1. . S Z=0
  1. . W ?2,$$LJRF^ACD(X,35,".")," ",H,?48,$S(C:$J(H/C,5,2),1:" 0"),?61,C,?71,Z,!
  1. . Q
  1. Q:ACDQ
  1. ;
  1. Q
  1. ;
  1. F ;Form feed
  1. NEW V,W,X,Y,Z
  1. I $Y+4>IOSL D EOP
  1. Q
  1. ;
  1. EOP ; END OF PAGE
  1. S ACDQ=0
  1. D PAUSE
  1. Q:ACDQ
  1. W @IOF
  1. D HEADER
  1. Q
  1. ;
  1. PAUSE ; PAUSE FOR USER
  1. I '$D(ZTQUEUED),'$D(IO("S")),$E(IOST,1,2)'="P-" D PAUSE^ACDDEU S:$D(DIRUT) ACDQ=1
  1. Q
  1. ;
  1. S ACDPAGE=ACDPAGE+1
  1. W !,$$CTR^ACD("CDMIS PROVIDER WORKLOAD REPORT",80),!!
  1. W "Run at ",ACDSITE," for ",$$USR^ACD()," on ",$$FMTE^XLFDT(DT),!
  1. W "for date range ",$$FMTE^XLFDT(ACDDTLO)," through ",$$FMTE^XLFDT(ACDDTHI),?72,"Page ",$J(ACDPAGE,3),!
  1. W $$REPEAT^XLFSTR("=",80),!
  1. D SUBHDR
  1. Q
  1. ;
  1. SUBHDR ; WRITE SUB HEADER
  1. Q:ACDSHDR=""
  1. I $Y+7>IOSL D EOP Q
  1. W !
  1. X ACDSHDR
  1. W !!
  1. Q
  1. ;
  1. PRTVT(VT) ; RETURN PRINTABLE VISIT TYPE
  1. NEW X
  1. S X=$T(@("VT"_VT)),X=$P(X,";;",2)
  1. S:X="" X="???"
  1. W:X="???" "-->"_VT_"<--",!
  1. Q X
  1. VTCS ;;CLIENT SERVICE
  1. VTIN ;;INITIAL
  1. VTRE ;;REOPEN
  1. VTTD ;;TRANSFER/DISCHARGE/CLOSE
  1. VTFU ;;FOLLOWUP
  1. VTIR ;;INFO/REFERRAL
  1. VTOT ;;CRISIS BRIEF
  1. VTPREV ;;PREVENTION
  1. VTINTV ;;INTERVENTION
  1. ;
  1. EOJ ;
  1. W:IO'=IO(0) @IOF
  1. K ^TMP("ACDRR2",ACDJOB,ACDBT)
  1. Q