APCLAP1 ; IHS/CMI/LAB - APC visit counts by selected vars ;
;;2.0;IHS PCC SUITE;;MAY 14, 2009
;
START ;
I '$G(DUZ(2)) W $C(7),$C(7),!!,"SITE NOT SET IN DUZ(2) - NOTIFY SITE MANAGER!!",!! Q
S APCLSITE=DUZ(2)
I '$D(APCLRPT) W !,$C(7),$C(7),"REPORT TYPE MISSING!! NOTIFY PROGRAMMER",! K APCLSITE Q
D GETINFO^APCLAP0 G:$D(APCLQUIT) XIT
S APCLJOB=$J,APCLBTH=$H
D INFORM
CHECK ;
I APCLRPT'="P"&(APCLRPT'="DIS") G GETDATES
S DIR(0)="SO^P:Primary Provider Only;A:All Providers (Primary and Secondary)",DIR("A")="Report should include"
S DIR("?")="If you wish to count only the primary provider of service enter a 'P'. To include ALL providers enter an 'A'." D ^DIR K DIR
G:$D(DIRUT) XIT
I Y="A" S APCLRPT=$S(APCLRPT="DIS":"ALLDISC",1:"ALLP")
I Y="P" S APCLRPT=$S(APCLRPT="P":"PROV",1:"DISC")
D GETINFO^APCLAP0
GETDATES ;
BD ;get beginning date
W ! S DIR(0)="D^:DT:EP",DIR("A")="Enter beginning Visit Date for Search" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
I $D(DIRUT) G XIT
S APCLBD=Y
ED ;get ending date
W ! S DIR(0)="DA^"_APCLBD_":DT:EP",DIR("A")="Enter ending Visit Date for Search: " S Y=APCLBD D DD^%DT S Y="" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
I $D(DIRUT) G BD
S APCLED=Y
S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
;
LOC I APCLRPT="LOS" S APCLLOC=0 G DEF
S APCLLOC=$$GETLOC^APCLOCCK
I APCLLOC=-1 G BD
DEF S X=25,DIC(0)="M",DIC="^DIC(40.7," D ^DIC K DIC,X I Y=-1 W !!,"CLINIC CODE 25 - OTHER MISSING FROM FILE - NOTIFY YOUR SITE MANAGER!!" G XIT
S APCLOTHC=+Y
S X=39,DIC(0)="M",DIC="^DIC(40.7," D ^DIC K DIC I Y=-1 W !!,"PHARMACY CLINIC CODE 39 NOT IN FILE - NOTIFY SITE MANAGER!!" G XIT
S APCLRXCL=+Y
DEMO ;
D DEMOCHK^APCLUTL(.APCLDEMO)
I APCLDEMO=-1 G LOC
ZIS ;call to XBDBQUE
S XBRP="^APCLAP1P",XBRC="^APCLAP11",XBRX="XIT^APCLAP1",XBNS="APCL"
D ^XBDBQUE
D XIT
Q
XIT ;
K APCLSITE,APCLRPT,APCLINFO,APCLSORT,APCLPROC,APCLINF,APCLBD,APCLED,APCLSD,APCLDT,APCLLOC,APCLODAT,APCLVDFN,APCLVLOC,APCLVREC,APCLCLIN,APCLSKIP,APCL1,APCL2,APCLAP,APCLDISC,APCLPPOV,APCLX,APCLHIGH,APCLDATE,APCLPRNT,APCLJOB,APCLAPCC
K APCLDX,APCLLOW,APCLICD,APCLDA1,APCLDA2,APCLY,APCLTITL,APCL80S,APCLEDD,APCLHD1,APCLHD2,APCLLENG,APCLLOCT,APCLPG,APCLSRT2,APCLTOT,APCLBDD,APCLPROV,APCLSEC,APCLZ,APCLADIS,APCLQUIT,APCLLOCC,APCLBT,APCLBTH
K APCLJOB,APCLRXCL,APCLOTHC
K X,X1,X2,IO("Q"),%,Y,POP,DIRUT,ZTSK,ZTQUEUED,H,S,TS,M
Q
INFORM ;
W:$D(IOF) @IOF
W !,"***** APC VISIT COUNTS BY ",APCLTITL," *****",!
W !,"This report will generate a count of visits by ",APCLINF,!,"for a date range that you specify.",!
W "The only visits included in this report are those that are considered",!,"APC workload reportable.",!
Q
;
APCLAP1 ; IHS/CMI/LAB - APC visit counts by selected vars ;
+1 ;;2.0;IHS PCC SUITE;;MAY 14, 2009
+2 ;
START ;
+1 IF '$GET(DUZ(2))
WRITE $CHAR(7),$CHAR(7),!!,"SITE NOT SET IN DUZ(2) - NOTIFY SITE MANAGER!!",!!
QUIT
+2 SET APCLSITE=DUZ(2)
+3 IF '$DATA(APCLRPT)
WRITE !,$CHAR(7),$CHAR(7),"REPORT TYPE MISSING!! NOTIFY PROGRAMMER",!
KILL APCLSITE
QUIT
+4 DO GETINFO^APCLAP0
IF $DATA(APCLQUIT)
GOTO XIT
+5 SET APCLJOB=$JOB
SET APCLBTH=$HOROLOG
+6 DO INFORM
CHECK ;
+1 IF APCLRPT'="P"&(APCLRPT'="DIS")
GOTO GETDATES
+2 SET DIR(0)="SO^P:Primary Provider Only;A:All Providers (Primary and Secondary)"
SET DIR("A")="Report should include"
+3 SET DIR("?")="If you wish to count only the primary provider of service enter a 'P'. To include ALL providers enter an 'A'."
DO ^DIR
KILL DIR
+4 IF $DATA(DIRUT)
GOTO XIT
+5 IF Y="A"
SET APCLRPT=$SELECT(APCLRPT="DIS":"ALLDISC",1:"ALLP")
+6 IF Y="P"
SET APCLRPT=$SELECT(APCLRPT="P":"PROV",1:"DISC")
+7 DO GETINFO^APCLAP0
GETDATES ;
BD ;get beginning date
+1 WRITE !
SET DIR(0)="D^:DT:EP"
SET DIR("A")="Enter beginning Visit Date for Search"
DO ^DIR
KILL DIR
IF $DATA(DUOUT)
SET DIRUT=1
+2 IF $DATA(DIRUT)
GOTO XIT
+3 SET APCLBD=Y
ED ;get ending date
+1 WRITE !
SET DIR(0)="DA^"_APCLBD_":DT:EP"
SET DIR("A")="Enter ending Visit Date for Search: "
SET Y=APCLBD
DO DD^%DT
SET Y=""
DO ^DIR
KILL DIR
IF $DATA(DUOUT)
SET DIRUT=1
+2 IF $DATA(DIRUT)
GOTO BD
+3 SET APCLED=Y
+4 SET X1=APCLBD
SET X2=-1
DO C^%DTC
SET APCLSD=X
+5 ;
LOC IF APCLRPT="LOS"
SET APCLLOC=0
GOTO DEF
+1 SET APCLLOC=$$GETLOC^APCLOCCK
+2 IF APCLLOC=-1
GOTO BD
DEF SET X=25
SET DIC(0)="M"
SET DIC="^DIC(40.7,"
DO ^DIC
KILL DIC,X
IF Y=-1
WRITE !!,"CLINIC CODE 25 - OTHER MISSING FROM FILE - NOTIFY YOUR SITE MANAGER!!"
GOTO XIT
+1 SET APCLOTHC=+Y
+2 SET X=39
SET DIC(0)="M"
SET DIC="^DIC(40.7,"
DO ^DIC
KILL DIC
IF Y=-1
WRITE !!,"PHARMACY CLINIC CODE 39 NOT IN FILE - NOTIFY SITE MANAGER!!"
GOTO XIT
+3 SET APCLRXCL=+Y
DEMO ;
+1 DO DEMOCHK^APCLUTL(.APCLDEMO)
+2 IF APCLDEMO=-1
GOTO LOC
ZIS ;call to XBDBQUE
+1 SET XBRP="^APCLAP1P"
SET XBRC="^APCLAP11"
SET XBRX="XIT^APCLAP1"
SET XBNS="APCL"
+2 DO ^XBDBQUE
+3 DO XIT
+4 QUIT
XIT ;
+1 KILL APCLSITE,APCLRPT,APCLINFO,APCLSORT,APCLPROC,APCLINF,APCLBD,APCLED,APCLSD,APCLDT,APCLLOC,APCLODAT,APCLVDFN,APCLVLOC,APCLVREC,APCLCLIN,APCLSKIP,APCL1,APCL2,APCLAP,APCLDISC,APCLPPOV,APCLX,APCLHIGH,APCLDATE,APCLPRNT,APCLJOB,APCLAPCC
+2 KILL APCLDX,APCLLOW,APCLICD,APCLDA1,APCLDA2,APCLY,APCLTITL,APCL80S,APCLEDD,APCLHD1,APCLHD2,APCLLENG,APCLLOCT,APCLPG,APCLSRT2,APCLTOT,APCLBDD,APCLPROV,APCLSEC,APCLZ,APCLADIS,APCLQUIT,APCLLOCC,APCLBT,APCLBTH
+3 KILL APCLJOB,APCLRXCL,APCLOTHC
+4 KILL X,X1,X2,IO("Q"),%,Y,POP,DIRUT,ZTSK,ZTQUEUED,H,S,TS,M
+5 QUIT
INFORM ;
+1 IF $DATA(IOF)
WRITE @IOF
+2 WRITE !,"***** APC VISIT COUNTS BY ",APCLTITL," *****",!
+3 WRITE !,"This report will generate a count of visits by ",APCLINF,!,"for a date range that you specify.",!
+4 WRITE "The only visits included in this report are those that are considered",!,"APC workload reportable.",!
+5 QUIT
+6 ;