- 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 ;