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

IBDFOSG3.m

Go to the documentation of this file.
  1. IBDFOSG3 ;ALB/MAF/AAS - NUMBER OF ENCOUNTERS WITH CPT'S AND DX'S REPORT ;3/18/96
  1. ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
  1. ;
  1. % I '$D(DT) D DT^DICRW
  1. D END
  1. W !!,"Number of Encounters with CPT, Diagnosis"
  1. S VAUTD=1 I $D(^DG(43,1,"GL")) D DIVISION^VAUTOMA G:Y=-1 END
  1. S IBDFDAT=$$HTE^XLFDT($H)
  1. ;
  1. DATE ; -- select date
  1. S (IBBDT,IBDFBEG)=2940401,(IBEDT,IBDFEND)=2960331
  1. ;
  1. DEV ; -- select device, run option
  1. S %ZIS="QM" D ^%ZIS G:POP END
  1. I $D(IO("Q")) S ZTRTN="DQ^IBDFOSG3",ZTSAVE("IB*")="",ZTSAVE("VA*")="",ZTDESC="IBD - Number of Encounters with Stop Codes, CPT, Diagnosis" D ^%ZTLOAD K IO("Q"),ZTSK D HOME^%ZIS G END
  1. ;
  1. U IO
  1. S X=132 X ^%ZOSF("RM")
  1. DQ D PRINT G END
  1. Q
  1. ;
  1. END ; -- Clean up
  1. K ^TMP("MNTH",$J),^TMP("DTOT",$J),^TMP("GTOT",$J) W !
  1. I $D(ZTQUEUED) S ZTREQ="@" Q
  1. D ^%ZISC
  1. K IBBDT,IBCS,IBDDT,IBDDT1,IBDFMN,IBDFMN1,IBDFMNI,IBDFN,IBDIV,IBDIVNM,IBI,IBIFN,IBJ,IBMNTH,IBNODE,IBPARNT,IBPIECE,IBPR,IBPROC,IBSTOP,POP,SDCNT,U
  1. K IBDFBEG,IBDFDAT,IBDFDIV,IBDFDVE,IBDFEND,IBEDT,IBFLG4,IBHDT,IBQUIT,IBTSBDT,IBTSEDT,SDDXY,X,Y,IBCLIN,IBPAG,VAUTD
  1. Q
  1. ;K X,Y,DFN,IBPAG,IBHDT,IBDT,IBBDT,IBEDT,IBQUIT,IBDFDVE
  1. ;K IBCNT,IBDFBEG,IBDFCLI,IBDFDA,IBDFDAT,IBDFDIV,IBDFEND,IBDFIFN,IBDFNODE,IBDFNUM,IBDFSA,IBDFT,IBDFTMP,IBDFTMP1,IBDFTMP2,IBDFTPRT
  1. ;K IBFLG1,IBFLG2,IBFLG3,IBFLG4,IBFLG5,IBFLG6,IBFLG7,IBFLG8,IBFLG9,IBMCNODE,IBMCSND,IBNAM,IBTSBDT,IBTSEDT
  1. ;K VAUTC,VAUTD
  1. Q
  1. ;
  1. PRINT ; -- print report
  1. ; Data sorted into ^tmp arrays
  1. ;
  1. ; Monthly Totals := ^tmp("mnth",$j,division,year/month)=
  1. ; Division Totals := ^tmp("dtot",$j,division) =
  1. ; Grand Totals := ^tmp("gtot",$j) =
  1. ;
  1. S (IBPAG,IBDFDVE)=0,IBHDT=$$HTE^XLFDT($H,1),IBQUIT=0
  1. S IBTSBDT=IBBDT-.1,IBTSEDT=IBEDT+.9
  1. D QUIT
  1. D START^IBDFOSG4
  1. ;
  1. PR ;
  1. I '$D(^TMP("MNTH",$J)) D HDR W !!,"No Data Meeting This Criteria for the Date Range Chosen",! Q
  1. N IBDFDV,IBDFCL,IBDNODE,IBDFTMP,IBDFPAT,IBDFPT,IBDFT
  1. S (IBDFDV,IBDFCL,IBDFPT)=0
  1. F IBDFDIV=0:0 S IBDFDV=$O(^TMP("MNTH",$J,IBDFDV)) Q:IBDFDV']""!(IBQUIT) D HDR Q:IBQUIT D
  1. .D DIVH
  1. .S IBDFMN=0
  1. .F IBDFMNI=0:0 S IBDFMN=$O(^TMP("MNTH",$J,IBDFDV,IBDFMN)) Q:IBDFMN="" D ONEMN I $O(^TMP("MNTH",$J,IBDFDV,IBDFMN))="" S IBDFDVE=1 D ONEDV
  1. ;
  1. ; -- Print Totals Page
  1. S IBDFDVE=0
  1. Q:IBQUIT
  1. D HDR
  1. S (IBDFDV,IBDFCL,IBDFPT)=0
  1. S IBFLG4=1 ;1 := on division totals page
  1. F IBDFDIV=0:0 S IBDFDV=$O(^TMP("DTOT",$J,IBDFDV)) Q:IBDFDV']""!(IBQUIT) D ONEDV
  1. Q:IBQUIT
  1. D DASH
  1. D LINE("GRAND TOTAL",^TMP("GTOT",$J))
  1. Q
  1. ;
  1. ONEMN ; -- Print one months data
  1. Q:IBQUIT
  1. N IBDFNM1
  1. Q:'$D(^TMP("MNTH",$J,IBDFDV,IBDFMN))!(^TMP("MNTH",$J,IBDFDV,IBDFMN)="0^0^0")
  1. S Y=IBDFMN D DD^%DT S IBDFMN1=Y
  1. D LINE(IBDFMN1,^TMP("MNTH",$J,IBDFDV,IBDFMN))
  1. Q
  1. ;
  1. ONEDV ; -- Print Division totals
  1. Q:IBQUIT
  1. I IOSL<($Y+5) D HDR Q:IBQUIT
  1. Q:^TMP("DTOT",$J,IBDFDV)="0^0^0"&('$D(IBFLG4))
  1. I IBDFDVE=1 D DASH S IBDFDVE=0
  1. D LINE($E(IBDFDV,1,25)_" ("_$P($$SITE^VASITE(,$O(^DG(40.8,"B",IBDFDV,0))),"^",3)_")",^TMP("DTOT",$J,IBDFDV))
  1. Q
  1. ;
  1. LINE(NAME,IBX) ;
  1. ; -- print detail line
  1. ; input Name := text to be printed
  1. ; ibx ;= 3 piece global node containing data
  1. ;
  1. I IOSL<($Y+5) D HDR Q:IBQUIT
  1. W !,$E(NAME,1,35)
  1. W ?39,$J($P(IBX,"^",2),8)
  1. W ?57,$J($P(IBX,"^",3),8)
  1. Q
  1. ;
  1. HDR ; -- Print header for report
  1. Q:IBQUIT
  1. I $E(IOST,1,2)="C-",IBPAG D PAUSE^VALM1 I $D(DIRUT) S IBQUIT=1 Q
  1. I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
  1. S IBPAG=IBPAG+1
  1. W !,"# Encounters / CPT's, Dx",?(IOM-33),"Page ",IBPAG," ",IBHDT
  1. W !,"For Period beginning on ",$$FMTE^XLFDT(IBBDT,2)," to ",$$FMTE^XLFDT(IBEDT,2)
  1. W !,?44,"CPT",?56,"Diagnosis"
  1. W !,$TR($J(" ",IOM)," ","-")
  1. I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,IBQUIT=1 W !!,"....task stopped at user request" Q
  1. Q
  1. ;
  1. ;
  1. QUIT K ^TMP("MNTH",$J),^TMP("DTOT",$J),^TMP("GTOT",$J) W !
  1. Q
  1. ;
  1. ;
  1. DASH W !,"------------------",?39,"--------",?57,"--------"
  1. Q
  1. ;
  1. DIVH ; -- Write division header
  1. I IOSL<($Y+5) D HDR Q:IBQUIT
  1. Q:^TMP("DTOT",$J,IBDFDV)="0^0^0"
  1. W !!,?(IOM-$L(IBDFDV)+10/2),"DIVISION: ",IBDFDV_" ("_$P($$SITE^VASITE(,$O(^DG(40.8,"B",IBDFDV,0))),"^",3)_")",!
  1. Q