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

BGP0DPAW.m

Go to the documentation of this file.
  1. BGP0DPAW ; IHS/CMI/LAB - COMP NATIONAL GPRA FOR PTS W/APPT 01 Oct 2008 1:20 PM 13 Aug 2009 11:32 AM ;
  1. ;;10.0;IHS CLINICAL REPORTING;**1**;JUN 18, 2010
  1. ;
  1. DONE ;
  1. K DIR
  1. I $E(IOST)="C",IO=IO(0) S DIR(0)="EO",DIR("A")="End of report. PRESS ENTER" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. ;W:$D(IOF) @IOF
  1. K BGPTS,BGPS,BGPM,BGPET,BGPX,BGPGPYR
  1. K ^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH)
  1. Q
  1. ;
  1. PRINT ;EP - called from xbdbque
  1. S BGPIOSL=$S($G(BGPGUI):55,1:IOSL)
  1. I $G(BGPGUI) S IOSL=55 ;cmi/maw added 1/14/2009
  1. K BGPQ S BGPPG=0,BGPNOD=0
  1. I BGPRT1="P" D PPRINT,DONE Q
  1. I BGPRT1="C" D CPRINT,DONE Q
  1. I BGPRT1="A" D APRINT,DONE Q
  1. I BGPRT1="D" D DPRINT,DONE Q
  1. Q
  1. CPRINT ;
  1. I '$D(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS")) D HEADER S BGPNOD=1 D
  1. .I '$O(BGPCLN(0)) W !!,"There were either no appointments found or there were no patients due for any",!,"GPRA measure for any clinic during the specified timeframe of ",!,$$FMTE^XLFDT(BGPABD)," to ",$$FMTE^XLFDT(BGPAED),".",! Q
  1. .W !!,"There were either no appointments found or there were no patients due for any",!,"GPRA measure for any of the clinics selected during the specified timeframe",!,"of ",$$FMTE^XLFDT(BGPABD)," to ",$$FMTE^XLFDT(BGPAED),"."
  1. .W !,"The following clinics were selected:"
  1. .S X=0 F S X=$O(BGPCLN(X)) Q:X'=+X W !?10,$P(^SC(X,0),U)
  1. ;I '$D(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS")) D HEADER S BGPNOD=1 W !!,"NO GPRA MEASURES DUE",! Q
  1. S BGPCLN="" F S BGPCLN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN)) Q:BGPCLN=""!($D(BGPQ)) D
  1. .S BGPD=0 F S BGPD=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD)) Q:BGPD'=+BGPD!($D(BGPQ)) D
  1. ..S BGPADT=0 F S BGPADT=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT)) Q:BGPADT'=+BGPADT!($D(BGPQ)) D
  1. ...S BGPNAME="" F S BGPNAME=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT,BGPNAME)) Q:BGPNAME=""!($D(BGPQ)) D
  1. ....S DFN=0 F S DFN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT,BGPNAME,DFN)) Q:DFN'=+DFN!($D(BGPQ)) D
  1. .....D HEADER Q:$D(BGPQ)
  1. .....D SUB
  1. .....S BGPIC=0 F S BGPIC=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC)) Q:BGPIC'=+BGPIC!($D(BGPQ)) D
  1. ......S BGPI=0 F S BGPI=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC,BGPI)) Q:BGPI'=+BGPI!($D(BGPQ)) D
  1. .......I $Y>(IOSL-3) D HEADER Q:$D(BGPQ) D SUB
  1. .......S Y=^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC,BGPI)
  1. .......D WRITE
  1. .......;S BGPX=$P(Y,U,2)
  1. .......;S BGPT=$P(Y,U,1),BGPT1=$P(Y,U,4)
  1. .......;W !,BGPT
  1. .......;F X=1:1 S Y=$P(BGPX,"|",X) Q:Y="" W:X'=1 ! W ?27,Y
  1. .......;I $Y>(IOSL-4) D HEADER Q:$D(BGPQ) D SUB
  1. .......;D WP
  1. ......Q
  1. .....Q
  1. ....Q
  1. ...Q
  1. ..Q
  1. .Q
  1. Q
  1. DPRINT ;
  1. I '$D(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS")) D HEADER S BGPNOD=1 D Q
  1. .W !!,"There were either no appointments found for this division or there were no " D
  1. ..W !,"patients due for any GPRA measure for any clinic during the specified ",!,"timeframe of ",$$FMTE^XLFDT(BGPABD)," to ",$$FMTE^XLFDT(BGPAED),".",! Q
  1. .;W !!,"There either no appointments found or there were no patients due for any GPRA",!,"measure for any of the clinics selected during the specified timeframe",!,"of ",$$FMTE^XLFDT(BGPABD)," to ",$$FMTE^XLFDT(BGPAED),"."
  1. .I $O(BGPCLN(0)) W !,"The following clinics were selected:" D
  1. ..S X=0 F S X=$O(BGPCLN(X)) Q:X'=+X W !?10,$P(^SC(X,0),U)
  1. S BGPDIVI=0 F S BGPDIVI=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI)) Q:BGPDIVI'=+BGPDIVI!($D(BGPQ)) D DPRINT1
  1. Q
  1. DPRINT1 ;
  1. S BGPCLN="" F S BGPCLN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN)) Q:BGPCLN=""!($D(BGPQ)) D
  1. .S BGPD=0 F S BGPD=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD)) Q:BGPD'=+BGPD!($D(BGPQ)) D
  1. ..S BGPADT=0 F S BGPADT=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT)) Q:BGPADT'=+BGPADT!($D(BGPQ)) D
  1. ...S BGPNAME="" F S BGPNAME=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT,BGPNAME)) Q:BGPNAME=""!($D(BGPQ)) D
  1. ....S DFN=0 F S DFN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT,BGPNAME,DFN)) Q:DFN'=+DFN!($D(BGPQ)) D
  1. .....D HEADER Q:$D(BGPQ)
  1. .....D SUB
  1. .....S BGPIC=0 F S BGPIC=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC)) Q:BGPIC'=+BGPIC!($D(BGPQ)) D
  1. ......S BGPI=0 F S BGPI=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC,BGPI)) Q:BGPI'=+BGPI!($D(BGPQ)) D
  1. .......I $Y>(IOSL-3) D HEADER Q:$D(BGPQ) D SUB
  1. .......S Y=^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"APPTS",BGPDIVI,BGPCLN,BGPD,BGPADT,BGPNAME,DFN,BGPIC,BGPI)
  1. .......D WRITE
  1. .......;
  1. .......;S BGPX=$P(Y,U,2)
  1. .......;S BGPT=$P(Y,U,1),BGPT1=$P(Y,U,4)
  1. .......;W !,BGPT
  1. .......;F X=1:1 S Y=$P(BGPX,"|",X) Q:Y="" W:X'=1 ! W ?27,Y
  1. .......;I $Y>(IOSL-4) D HEADER Q:$D(BGPQ) D SUB
  1. .......;D WP
  1. ......Q
  1. .....Q
  1. ....Q
  1. ...Q
  1. ..Q
  1. .Q
  1. Q
  1. PPRINT ;
  1. I '$D(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS")) D HEADER S BGPNOD=1 D Q
  1. .W !!,"There were either no appointments found for " S X=$O(BGPPATS(0)) W $P(^DPT(X,0),U),!,"during the specified timeframe of ",$$FMTE^XLFDT(BGPABD)," to ",$$FMTE^XLFDT(BGPAED)," or",!,"this patient was not due for any GPRA measure." Q
  1. S BGPNAME="" F S BGPNAME=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME)) Q:BGPNAME=""!($D(BGPQ)) D
  1. .S DFN=0 F S DFN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN)) Q:DFN'=+DFN!($D(BGPQ)) D
  1. ..S BGPD=0 F S BGPD=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD)) Q:BGPD'=+BGPD!($D(BGPQ)) D
  1. ...S BGPCLN="" F S BGPCLN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD,BGPCLN)) Q:BGPCLN=""!($D(BGPQ)) D
  1. ....S BGPADT=0 F S BGPADT=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD,BGPCLN,BGPADT)) Q:BGPADT=""!($D(BGPQ)) D
  1. .....D HEADER Q:$D(BGPQ)
  1. .....D SUB
  1. .....S BGPIC=0 F S BGPIC=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD,BGPCLN,BGPADT,BGPIC)) Q:BGPIC'=+BGPIC!($D(BGPQ)) D
  1. ......S BGPI=0 F S BGPI=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD,BGPCLN,BGPADT,BGPIC,BGPI)) Q:BGPI'=+BGPI!($D(BGPQ)) D
  1. .......I $Y>(IOSL-3) D HEADER Q:$D(BGPQ) D SUB
  1. .......S Y=^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"PATS",BGPNAME,DFN,BGPD,BGPCLN,BGPADT,BGPIC,BGPI)
  1. .......D WRITE
  1. .......;
  1. .......;S BGPT=$P(Y,U,1),BGPT1=$P(Y,U,4)
  1. .......;W !,BGPT
  1. .......;F X=1:1 S Y=$P(BGPX,"|",X) Q:Y="" W:X'=1 ! W ?27,Y
  1. .......;I $Y>(IOSL-4) D HEADER Q:$D(BGPQ) D SUB
  1. .......;D WP
  1. ......Q
  1. .....Q
  1. ....Q
  1. ...Q
  1. ..Q
  1. .Q
  1. Q
  1. WRITE ;
  1. S BGPNOBAN=""
  1. S BGPX=$P(Y,U,2)
  1. S BGPT=$P(Y,U,1),BGPT1=$P(Y,U,4)
  1. W !,BGPT
  1. W ?27,$P(BGPX,"|",1)
  1. W !,BGPT1
  1. I $P(BGPX,"|",2)="" S BGPNOBAN=1
  1. F X=2:1 S Y=$P(BGPX,"|",X) Q:Y="" W:X'=2 ! W ?27,Y
  1. I $Y>(IOSL-4) D HEADER Q:$D(BGPQ) D SUB
  1. D WP
  1. Q
  1. WP ;
  1. K ^UTILITY($J,"W")
  1. S BGPZ=0
  1. ;LORI - CHANGE 09 TO 1601 IF NEEDED LATER
  1. S DIWL=28,DIWR=78,DIWF="" F S BGPZ=$O(^BGPINDTC(BGPI,$S($G(BGPNGR09):1601,1:16),BGPZ)) Q:BGPZ'=+BGPZ D
  1. .S X=^BGPINDTC(BGPI,$S($G(BGPNGR09):1601,1:16),BGPZ,0) D ^DIWP
  1. .Q
  1. WPS ;
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z D
  1. .I Z=1,'BGPNOBAN W !
  1. .W ?27,^UTILITY($J,"W",DIWL,Z,0),!
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),X
  1. Q
  1. APRINT ;
  1. I '$D(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY")) D HEADER S BGPNOD=1 D Q
  1. .W !!,"There were no GPRA Measures due for any patient selected."
  1. S BGPNAME="" F S BGPNAME=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY",BGPNAME)) Q:BGPNAME=""!($D(BGPQ)) D
  1. .S DFN=0 F S DFN=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY",BGPNAME,DFN)) Q:DFN'=+DFN!($D(BGPQ)) D
  1. ..D HEADER Q:$D(BGPQ)
  1. ..D SUB
  1. ..S BGPIC=0 F S BGPIC=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY",BGPNAME,DFN,BGPIC)) Q:BGPIC'=+BGPIC!($D(BGPQ)) D
  1. ...S BGPI=0 F S BGPI=$O(^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY",BGPNAME,DFN,BGPIC,BGPI)) Q:BGPI'=+BGPI!($D(BGPQ)) D
  1. ....I $Y>(IOSL-3) D HEADER Q:$D(BGPQ) D SUB
  1. ....S Y=^XTMP("BGP0DPA",BGPGPRAJ,BGPGPRAH,"ANY",BGPNAME,DFN,BGPIC,BGPI)
  1. ....D WRITE
  1. ....;S BGPX=$P(Y,U,2)
  1. ....;S BGPT=$P(Y,U,1),BGPT1=$P(Y,U,4)
  1. ....;W !,BGPT
  1. ....;F X=1:1 S Y=$P(BGPX,"|",X) Q:Y="" W:X'=1 ! W ?27,Y
  1. ....;I $Y>(IOSL-4) D HEADER Q:$D(BGPQ) D SUB
  1. ....;D WP
  1. ...Q
  1. ..Q
  1. .Q
  1. Q
  1. SUB ;
  1. S T=$S(BGPRT1="A":0,1:11)
  1. I BGPRT1'="A" W !,$P($$FMTE^XLFDT(BGPADT,"P")," ",4,99)
  1. I BGPRT1="A" W !
  1. W ?T,$E($P(^DPT(DFN,0),U),1,25),?38,$$HRN^AUPNPAT(DFN,DUZ(2)),?46,$$SEX^AUPNPAT(DFN),?50,$$DATE^BGP0UTL($$DOB^AUPNPAT(DFN)),?60,$E($$COMMRES^AUPNPAT(DFN,"E"),1,20),!
  1. Q
  1. G:'BGPPG HEADER1
  1. K DIR I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BGPQ="" Q
  1. HEADER1 ;
  1. I BGPPG W:$D(IOF) @IOF
  1. S BGPPG=BGPPG+1
  1. I $G(BGPGUI),BGPPG'=1 W !,"ZZZZZZZ"
  1. W !,$P(^VA(200,DUZ,0),U,2),?5,"***CONFIDENTIAL PATIENT INFORMATION-COVERED BY THE PRIVACY ACT***",?70,"Page ",BGPPG
  1. I '$G(BGPNGR09) W !,$$CTR("GPRA & PART Forecast Patient List",80)
  1. I $G(BGPNGR09) W !,$$CTR("GPRA & PART Forecast Patient List, Run Using 2010 Logic")
  1. W !,$$CTR("GPRA Measures Not Met or Due During "_$$FMTE^XLFDT(BGPBD)_"-"_$$FMTE^XLFDT(BGPED),80)
  1. W !,$$CTR($$RPTVER^BGP0BAN,80)
  1. I BGPRT1'="A",BGPCLN]"" W !,$$CTR("Patients with an Appointment in "_BGPCLN_$S($G(BGPD):" on "_$$FMTE^XLFDT(BGPD),1:""),80)
  1. W !,$$CTR("Date Report Run: "_$$FMTE^XLFDT(DT),80)
  1. W !,$$CTR("Site where Run: "_$P(^DIC(4,DUZ(2),0),U),80)
  1. W !,$$CTR("Report Generated by: "_$P(^VA(200,DUZ,0),U),80)
  1. W !,$TR($J("",80)," ","-")
  1. I BGPRT1'="A" W !,"Appt Time",?11,"Patient Name"
  1. I BGPRT1="A" W !,"Patient Name"
  1. W ?38,"HRN",?46,"Sex",?50,"DOB",?60,"Community"
  1. W !,"GPRA Measure Not Met",?27,"Date of Last Screening and Next Due Date"
  1. W !?27,"Tests Counted for GPRA Measure"
  1. W !,$TR($J("",80)," ","-")
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. K DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR("A")="End of report. Press Enter",DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------