- BGP6DAP ; IHS/CMI/LAB - IHS GPRA 04 SELECTED REPORT DRIVER ALL PATIENTS ;
- ;;16.1;IHS CLINICAL REPORTING;;MAR 22, 2016;Build 170
- ;
- ;
- W:$D(IOF) @IOF
- W !!,$$CTR("IHS 2016 Clinical Performance Measure Report (Selected Measures)",80)
- W !,$$CTR("Report on all Patients regardless of Community of Residence",80),!!
- INTRO ;
- D XIT
- W !,"This will produce a Performance Measure Report for one or more measures for a"
- W !,"year period you specify. You will be asked to provide: 1) the"
- W !,"reporting period and, 2) the baseline period to compare data to."
- W !!,"NOTE: With this option all patients in your database will be reviewed",!,"regardless of what community they live in. You will NOT be asked to enter",!,"a community taxonomy name. Since this may cause the report to be",!
- W "very large, the SEL option will be limited to no more than 15 topics",!,"at one time.",!
- SETIND ;
- D XIT
- S BGPINDM=""
- S BGPRTYPE=4,BGPYRPTH="A"
- S DIR(0)="S^DM:Diabetes-Related Measures;CVD:Cardiovascular Disease Prevention for At-Risk Patients;WH:Women's Health-Related Measures"
- S DIR(0)=DIR(0)_";IPC:Improving Patient Care Measures;PQA:Pharmacy Quality Alliance Measures;AST:Asthma-Related Measures;SEL:Selected Performance Measures (User Defined)"
- S DIR("A")="Which set of Measures should be included in this report" KILL DA D ^DIR KILL DIR
- I $D(DIRUT) D XIT Q
- S BGPINDM=$E(Y)
- I BGPINDM="S" D SI I '$D(BGPIND) G SETIND
- GI ;gather all measures
- I BGPINDM="D" D DI
- I BGPINDM="C" D CI
- I BGPINDM="W" D WI
- I BGPINDM="I" D II
- I BGPINDM="P" D PI
- I BGPINDM="A" D AI
- ;I BGPINDM="E" D EI
- I '$D(BGPIND) W !!,"no measures selected" G SETIND
- D TAXCHK^BGP6XTCH
- S X=$$DEMOCHK^BGP6UTL2()
- I 'X W !!,"Exiting Report....." D PAUSE^BGP6DU,XIT Q
- TP ;get time period
- S BGPRTYPE=4,BGPYRPTH="A"
- S (BGPBD,BGPED,BGPTP)=""
- S DIR(0)="S^1:January 1 - December 31;2:April 1 - March 31;3:July 1 - June 30;4:October 1 - September 30;5:User-Defined Report Period",DIR("A")="Enter the date range for your report" KILL DA D ^DIR KILL DIR
- I $D(DIRUT) D XIT Q
- S BGPQTR=Y
- I BGPQTR=5 D ENDDATE^BGP6DGPU
- I BGPQTR'=5 D F
- I BGPPER="" W !,"Year not entered.",! G TP
- I BGPQTR=1 S BGPBD=$E(BGPPER,1,3)_"0101",BGPED=$E(BGPPER,1,3)_"1231"
- I BGPQTR=2 S BGPBD=($E(BGPPER,1,3)-1)_"0401",BGPED=$E(BGPPER,1,3)_"0331"
- I BGPQTR=3 S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
- I BGPQTR=4 S BGPBD=($E(BGPPER,1,3)-1)_"1001",BGPED=$E(BGPPER,1,3)_"0930"
- I BGPQTR=5 S BGPBD=$$FMADD^XLFDT(BGPPER,-364),BGPED=BGPPER,BGPPER=$E(BGPED,1,3)_"0000"
- I BGPED>DT D G:BGPDO=1 TP
- .W !!,"You have selected Current Report period ",$$FMTE^XLFDT(BGPBD)," through ",$$FMTE^XLFDT(BGPED),"."
- .W !,"The end date of this report is in the future; your data will not be",!,"complete.",!
- .K DIR S BGPDO=0 S DIR(0)="Y",DIR("A")="Do you want to change your Current Report Dates",DIR("B")="N" KILL DA D ^DIR KILL DIR
- .I $D(DIRUT) S BGPDO=1 Q
- .I Y S BGPDO=1 Q
- .Q
- BY ;get baseline year
- S BGPVDT=""
- W !!,"Enter the Baseline Year to compare data to.",!,"Use a 4 digit year, e.g. 2010"
- S DIR(0)="D^::EP"
- S DIR("A")="Enter Year (e.g. 2010)"
- D ^DIR KILL DIR
- I $D(DIRUT) G TP
- I $D(DUOUT) S DIRUT=1 G TP
- S BGPVDT=Y
- I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G BY
- S X=$E(BGPPER,1,3)-$E(BGPVDT,1,3)
- S X=X_"0000"
- S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
- S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
- S BGPPBD=($E(BGPBD,1,3)-1)_$E(BGPBD,4,7)
- S BGPPED=($E(BGPED,1,3)-1)_$E(BGPED,4,7)
- W !!,"The date ranges for this report are:"
- W !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
- W !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
- W !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
- I BGPPBD=BGPBBD,BGPPED=BGPBED K Y D CHKY I Y K BGPBBD,BGPBED,BGPPBD,BGPPED G BY
- COMM ;
- K BGPTAX
- S BGPALLPT=1
- K BGPQUIT
- ;
- HOME ;
- S BGPHOME=$P($G(^BGPSITE(DUZ(2),0)),U,2)
- I BGPHOME="" W !!,"Home Location not found in Site File!!",!,"PHN Visits counts to Home will be calculated using clinic 11 only!!" H 2 G BEN
- W !,"Your HOME location is defined as: ",$P(^DIC(4,BGPHOME,0),U)," asufac: ",$P(^AUTTLOC(BGPHOME,0),U,10)
- I BGPINDM'="S" D LISTS
- BEN ;
- S BGPBEN=""
- S DIR(0)="S^1:Indian/Alaskan Native (Classification 01);2:Not Indian Alaskan/Native (Not Classification 01);3:All (both Indian/Alaskan Natives and Non 01)",DIR("A")="Select Beneficiary Population to include in this report"
- S DIR("B")="1"
- KILL DA D ^DIR KILL DIR
- I $D(DIRUT) G COMM
- S BGPBEN=Y
- SUM ;display summary of this report
- W:$D(IOF) @IOF
- W !,$$CTR("SUMMARY OF 2016 CLINICAL MEASURE PERFORMANCE REPORT TO BE GENERATED")
- W !!,"The date ranges for this report are:"
- W !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
- W !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
- W !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
- I '$G(BGPALLPT) W !!,"The COMMUNITY Taxonomy to be used is: ",$P(^ATXAX(BGPTAXI,0),U)
- I $G(BGPALLPT) W !!,"ALL Communities included."
- I BGPHOME W !,"The HOME location is: ",$P(^DIC(4,BGPHOME,0),U)," ",$P(^AUTTLOC(BGPHOME,0),U,10)
- I 'BGPHOME W !,"No HOME Location selected."
- W !!,"These measures will be calculated: " S X=0 F S X=$O(BGPIND(X)) Q:X'=+X W $P(^BGPINDM(X,0),U,3)," ; "
- W !!,"Lists will be produced for these measures: "
- S X=0 F S X=$O(BGPLIST(X)) Q:X'=+X W $P(^BGPINDM(X,0),U,3)," ; "
- D TEXT^BGP6DSL
- I $D(DIRUT) G LISTS
- D PT^BGP6DSL
- I BGPROT="" G LISTS
- ZIS ;call to XBDBQUE
- D REPORT^BGP6UTL
- I $G(BGPQUIT) D XIT Q
- I BGPRPT="" D XIT Q
- K IOP,%ZIS I BGPROT="D",BGPDELT="F" D NODEV,XIT Q
- W !! S %ZIS=$S(BGPDELT'="S":"PQM",1:"PM") D ^%ZIS
- ZIS1 ;
- I POP W !,"Report Aborted" S DA=BGPRPT,DIK="^BGPGPDCM(" D ^DIK K DIK D XIT Q
- I POP W !,"Report Aborted" S DA=BGPRPT,DIK="^BGPGPDPM(" D ^DIK K DIK D XIT Q
- I POP W !,"Report Aborted" S DA=BGPRPT,DIK="^BGPGPDBM(" D ^DIK K DIK D XIT Q
- I $D(IO("Q")) G TSKMN
- DRIVER ;
- D ^BGP6D1
- U IO
- D ^BGP6DP
- D ^%ZISC
- D XIT
- Q
- ;
- NODEV1 ;
- D ^BGP6D1
- D ^BGP6DP
- D ^%ZISC
- D XIT
- Q
- DI ;
- S X=0 F S X=$O(^BGPINDMC("ADM",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- II ;
- S X=0 F S X=$O(^BGPINDMC("AIPC",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- PI ;
- S X=0 F S X=$O(^BGPINDMC("APQA",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- CI ;
- S X=0 F S X=$O(^BGPINDMC("ACARD",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- AI ;
- S X=0 F S X=$O(^BGPINDMC("AAST",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- WI ;
- S X=0 F S X=$O(^BGPINDMC("AWH",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- EI ;
- S X=0 F S X=$O(^BGPINDMC("AEL",1,X)) Q:X'=+X S BGPIND($P(^BGPINDMC(X,0),U,1))=""
- Q
- SI ;
- K BGPIND
- D EN^BGP6DSI
- I '$D(BGPIND) Q
- D LISTS
- Q
- LISTS ;any lists with measures?
- K BGPLIST
- W !!,"PATIENT LISTS"
- I '$D(^XUSEC("BGPZ PATIENT LISTS",DUZ)) W !!,"You do not have the security access to print patient lists.",!,"Please see your supervisor or program manager if you feel you should have",!,"the BGPZ PATIENT LISTS security key.",! D Q
- .K DIR S DIR(0)="E",DIR("A")="Press enter to continue" D ^DIR K DIR
- S DIR(0)="Y",DIR("A")="Do you want patient lists for any of the measures",DIR("B")="N" KILL DA D ^DIR KILL DIR
- I $D(DIRUT)!(Y="") Q
- I Y=0 Q
- K BGPLIST
- D EN^BGP6DSL
- I '$D(BGPLIST) W !!,"No lists selected.",!
- I $D(BGPLIST) D RT^BGP6DSL I '$D(BGPLIST)!($D(BGPQUIT)) G LISTS ;get report type for each list
- Q
- TSKMN ;EP ENTRY POINT FROM TASKMAN
- S ZTIO=$S($D(ION):ION,1:IO) I $D(IOST)#2,IOST]"" S ZTIO=ZTIO_";"_IOST
- I $G(IO("DOC"))]"" S ZTIO=ZTIO_";"_$G(IO("DOC"))
- I $D(IOM)#2,IOM S ZTIO=ZTIO_";"_IOM I $D(IOSL)#2,IOSL S ZTIO=ZTIO_";"_IOSL
- K ZTSAVE S ZTSAVE("BGP*")=""
- S ZTCPU=$G(IOCPU),ZTRTN="DRIVER^BGP6DL",ZTDTH="",ZTDESC="GPRA 16 REPORT" D ^%ZTLOAD D XIT Q
- Q
- ;
- NODEV ;
- S XBRP="",XBRC="NODEV1^BGP6DL",XBRX="XIT^BGP6DL",XBNS="BGP"
- D ^XBDBQUE
- ;D XIT
- Q
- ;
- XIT ;
- D ^%ZISC
- D EN^XBVK("BGP") I $D(ZTQUEUED) S ZTREQ="@"
- K DIRUT,DUOUT,DIR,DOD
- K DIADD,DLAYGO
- D KILL^AUPNPAT
- K X,X1,X2,X3,X4,X5,X6
- K A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,X,Y,Z
- K N,N1,N2,N3,N4,N5,N6
- K BD,ED
- D KILL^AUPNPAT
- D ^XBFMK
- Q
- ;
- CTR(X,Y) ;EP - Center X in a field Y wide.
- Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
- ;----------
- EOP ;EP - End of page.
- Q:$E(IOST)'="C"
- Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
- NEW DIR
- K DIR,DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
- S DIR(0)="E" D ^DIR KILL DIR
- Q
- ;----------
- USR() ;EP - Return name of current user from ^VA(200.
- Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
- ;----------
- LOC() ;EP - Return location name from file 4 based on DUZ(2).
- Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
- ;----------
- ;
- CHKY ;
- W !!,"The baseline year and the previous year time periods are the same.",!!
- S DIR(0)="Y",DIR("A")="Do you want to change the baseline year",DIR("B")="N" KILL DA D ^DIR KILL DIR
- I $D(DIRUT) S Y="" Q
- Q
- F ;calendar year
- S (BGPPER,BGPVDT)=""
- W !!,"Enter the Calendar Year for the report END date. Use a 4 digit",!,"year, e.g. 2016"
- S DIR(0)="D^::EP"
- S DIR("A")="Enter Year"
- S DIR("?")="This report is compiled for a period. Enter a valid date."
- D ^DIR KILL DIR
- I $D(DIRUT) Q
- I $D(DUOUT) S DIRUT=1 Q
- S BGPVDT=Y
- I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G F
- S BGPPER=BGPVDT
- Q
- BGP6DAP ; IHS/CMI/LAB - IHS GPRA 04 SELECTED REPORT DRIVER ALL PATIENTS ;
- +1 ;;16.1;IHS CLINICAL REPORTING;;MAR 22, 2016;Build 170
- +2 ;
- +3 ;
- +4 IF $DATA(IOF)
- WRITE @IOF
- +5 WRITE !!,$$CTR("IHS 2016 Clinical Performance Measure Report (Selected Measures)",80)
- +6 WRITE !,$$CTR("Report on all Patients regardless of Community of Residence",80),!!
- INTRO ;
- +1 DO XIT
- +2 WRITE !,"This will produce a Performance Measure Report for one or more measures for a"
- +3 WRITE !,"year period you specify. You will be asked to provide: 1) the"
- +4 WRITE !,"reporting period and, 2) the baseline period to compare data to."
- +5 WRITE !!,"NOTE: With this option all patients in your database will be reviewed",!,"regardless of what community they live in. You will NOT be asked to enter",!,"a community taxonomy name. Since this may cause the report to be",!
- +6 WRITE "very large, the SEL option will be limited to no more than 15 topics",!,"at one time.",!
- SETIND ;
- +1 DO XIT
- +2 SET BGPINDM=""
- +3 SET BGPRTYPE=4
- SET BGPYRPTH="A"
- +4 SET DIR(0)="S^DM:Diabetes-Related Measures;CVD:Cardiovascular Disease Prevention for At-Risk Patients;WH:Women's Health-Related Measures"
- +5 SET DIR(0)=DIR(0)_";IPC:Improving Patient Care Measures;PQA:Pharmacy Quality Alliance Measures;AST:Asthma-Related Measures;SEL:Selected Performance Measures (User Defined)"
- +6 SET DIR("A")="Which set of Measures should be included in this report"
- KILL DA
- DO ^DIR
- KILL DIR
- +7 IF $DATA(DIRUT)
- DO XIT
- QUIT
- +8 SET BGPINDM=$EXTRACT(Y)
- +9 IF BGPINDM="S"
- DO SI
- IF '$DATA(BGPIND)
- GOTO SETIND
- GI ;gather all measures
- +1 IF BGPINDM="D"
- DO DI
- +2 IF BGPINDM="C"
- DO CI
- +3 IF BGPINDM="W"
- DO WI
- +4 IF BGPINDM="I"
- DO II
- +5 IF BGPINDM="P"
- DO PI
- +6 IF BGPINDM="A"
- DO AI
- +7 ;I BGPINDM="E" D EI
- +8 IF '$DATA(BGPIND)
- WRITE !!,"no measures selected"
- GOTO SETIND
- +9 DO TAXCHK^BGP6XTCH
- +10 SET X=$$DEMOCHK^BGP6UTL2()
- +11 IF 'X
- WRITE !!,"Exiting Report....."
- DO PAUSE^BGP6DU
- DO XIT
- QUIT
- TP ;get time period
- +1 SET BGPRTYPE=4
- SET BGPYRPTH="A"
- +2 SET (BGPBD,BGPED,BGPTP)=""
- +3 SET DIR(0)="S^1:January 1 - December 31;2:April 1 - March 31;3:July 1 - June 30;4:October 1 - September 30;5:User-Defined Report Period"
- SET DIR("A")="Enter the date range for your report"
- KILL DA
- DO ^DIR
- KILL DIR
- +4 IF $DATA(DIRUT)
- DO XIT
- QUIT
- +5 SET BGPQTR=Y
- +6 IF BGPQTR=5
- DO ENDDATE^BGP6DGPU
- +7 IF BGPQTR'=5
- DO F
- +8 IF BGPPER=""
- WRITE !,"Year not entered.",!
- GOTO TP
- +9 IF BGPQTR=1
- SET BGPBD=$EXTRACT(BGPPER,1,3)_"0101"
- SET BGPED=$EXTRACT(BGPPER,1,3)_"1231"
- +10 IF BGPQTR=2
- SET BGPBD=($EXTRACT(BGPPER,1,3)-1)_"0401"
- SET BGPED=$EXTRACT(BGPPER,1,3)_"0331"
- +11 IF BGPQTR=3
- SET BGPBD=($EXTRACT(BGPPER,1,3)-1)_"0701"
- SET BGPED=$EXTRACT(BGPPER,1,3)_"0630"
- +12 IF BGPQTR=4
- SET BGPBD=($EXTRACT(BGPPER,1,3)-1)_"1001"
- SET BGPED=$EXTRACT(BGPPER,1,3)_"0930"
- +13 IF BGPQTR=5
- SET BGPBD=$$FMADD^XLFDT(BGPPER,-364)
- SET BGPED=BGPPER
- SET BGPPER=$EXTRACT(BGPED,1,3)_"0000"
- +14 IF BGPED>DT
- Begin DoDot:1
- +15 WRITE !!,"You have selected Current Report period ",$$FMTE^XLFDT(BGPBD)," through ",$$FMTE^XLFDT(BGPED),"."
- +16 WRITE !,"The end date of this report is in the future; your data will not be",!,"complete.",!
- +17 KILL DIR
- SET BGPDO=0
- SET DIR(0)="Y"
- SET DIR("A")="Do you want to change your Current Report Dates"
- SET DIR("B")="N"
- KILL DA
- DO ^DIR
- KILL DIR
- +18 IF $DATA(DIRUT)
- SET BGPDO=1
- QUIT
- +19 IF Y
- SET BGPDO=1
- QUIT
- +20 QUIT
- End DoDot:1
- IF BGPDO=1
- GOTO TP
- BY ;get baseline year
- +1 SET BGPVDT=""
- +2 WRITE !!,"Enter the Baseline Year to compare data to.",!,"Use a 4 digit year, e.g. 2010"
- +3 SET DIR(0)="D^::EP"
- +4 SET DIR("A")="Enter Year (e.g. 2010)"
- +5 DO ^DIR
- KILL DIR
- +6 IF $DATA(DIRUT)
- GOTO TP
- +7 IF $DATA(DUOUT)
- SET DIRUT=1
- GOTO TP
- +8 SET BGPVDT=Y
- +9 IF $EXTRACT(Y,4,7)'="0000"
- WRITE !!,"Please enter a year only!",!
- GOTO BY
- +10 SET X=$EXTRACT(BGPPER,1,3)-$EXTRACT(BGPVDT,1,3)
- +11 SET X=X_"0000"
- +12 SET BGPBBD=BGPBD-X
- SET BGPBBD=$EXTRACT(BGPBBD,1,3)_$EXTRACT(BGPBD,4,7)
- +13 SET BGPBED=BGPED-X
- SET BGPBED=$EXTRACT(BGPBED,1,3)_$EXTRACT(BGPED,4,7)
- +14 SET BGPPBD=($EXTRACT(BGPBD,1,3)-1)_$EXTRACT(BGPBD,4,7)
- +15 SET BGPPED=($EXTRACT(BGPED,1,3)-1)_$EXTRACT(BGPED,4,7)
- +16 WRITE !!,"The date ranges for this report are:"
- +17 WRITE !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
- +18 WRITE !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
- +19 WRITE !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
- +20 IF BGPPBD=BGPBBD
- IF BGPPED=BGPBED
- KILL Y
- DO CHKY
- IF Y
- KILL BGPBBD,BGPBED,BGPPBD,BGPPED
- GOTO BY
- COMM ;
- +1 KILL BGPTAX
- +2 SET BGPALLPT=1
- +3 KILL BGPQUIT
- +4 ;
- HOME ;
- +1 SET BGPHOME=$PIECE($GET(^BGPSITE(DUZ(2),0)),U,2)
- +2 IF BGPHOME=""
- WRITE !!,"Home Location not found in Site File!!",!,"PHN Visits counts to Home will be calculated using clinic 11 only!!"
- HANG 2
- GOTO BEN
- +3 WRITE !,"Your HOME location is defined as: ",$PIECE(^DIC(4,BGPHOME,0),U)," asufac: ",$PIECE(^AUTTLOC(BGPHOME,0),U,10)
- +4 IF BGPINDM'="S"
- DO LISTS
- BEN ;
- +1 SET BGPBEN=""
- +2 SET DIR(0)="S^1:Indian/Alaskan Native (Classification 01);2:Not Indian Alaskan/Native (Not Classification 01);3:All (both Indian/Alaskan Natives and Non 01)"
- SET DIR("A")="Select Beneficiary Population to include in this report"
- +3 SET DIR("B")="1"
- +4 KILL DA
- DO ^DIR
- KILL DIR
- +5 IF $DATA(DIRUT)
- GOTO COMM
- +6 SET BGPBEN=Y
- SUM ;display summary of this report
- +1 IF $DATA(IOF)
- WRITE @IOF
- +2 WRITE !,$$CTR("SUMMARY OF 2016 CLINICAL MEASURE PERFORMANCE REPORT TO BE GENERATED")
- +3 WRITE !!,"The date ranges for this report are:"
- +4 WRITE !?5,"Report Period: ",?31,$$FMTE^XLFDT(BGPBD)," to ",?31,$$FMTE^XLFDT(BGPED)
- +5 WRITE !?5,"Previous Year Period: ",?31,$$FMTE^XLFDT(BGPPBD)," to ",?31,$$FMTE^XLFDT(BGPPED)
- +6 WRITE !?5,"Baseline Period: ",?31,$$FMTE^XLFDT(BGPBBD)," to ",?31,$$FMTE^XLFDT(BGPBED)
- +7 IF '$GET(BGPALLPT)
- WRITE !!,"The COMMUNITY Taxonomy to be used is: ",$PIECE(^ATXAX(BGPTAXI,0),U)
- +8 IF $GET(BGPALLPT)
- WRITE !!,"ALL Communities included."
- +9 IF BGPHOME
- WRITE !,"The HOME location is: ",$PIECE(^DIC(4,BGPHOME,0),U)," ",$PIECE(^AUTTLOC(BGPHOME,0),U,10)
- +10 IF 'BGPHOME
- WRITE !,"No HOME Location selected."
- +11 WRITE !!,"These measures will be calculated: "
- SET X=0
- FOR
- SET X=$ORDER(BGPIND(X))
- IF X'=+X
- QUIT
- WRITE $PIECE(^BGPINDM(X,0),U,3)," ; "
- +12 WRITE !!,"Lists will be produced for these measures: "
- +13 SET X=0
- FOR
- SET X=$ORDER(BGPLIST(X))
- IF X'=+X
- QUIT
- WRITE $PIECE(^BGPINDM(X,0),U,3)," ; "
- +14 DO TEXT^BGP6DSL
- +15 IF $DATA(DIRUT)
- GOTO LISTS
- +16 DO PT^BGP6DSL
- +17 IF BGPROT=""
- GOTO LISTS
- ZIS ;call to XBDBQUE
- +1 DO REPORT^BGP6UTL
- +2 IF $GET(BGPQUIT)
- DO XIT
- QUIT
- +3 IF BGPRPT=""
- DO XIT
- QUIT
- +4 KILL IOP,%ZIS
- IF BGPROT="D"
- IF BGPDELT="F"
- DO NODEV
- DO XIT
- QUIT
- +5 WRITE !!
- SET %ZIS=$SELECT(BGPDELT'="S":"PQM",1:"PM")
- DO ^%ZIS
- ZIS1 ;
- +1 IF POP
- WRITE !,"Report Aborted"
- SET DA=BGPRPT
- SET DIK="^BGPGPDCM("
- DO ^DIK
- KILL DIK
- DO XIT
- QUIT
- +2 IF POP
- WRITE !,"Report Aborted"
- SET DA=BGPRPT
- SET DIK="^BGPGPDPM("
- DO ^DIK
- KILL DIK
- DO XIT
- QUIT
- +3 IF POP
- WRITE !,"Report Aborted"
- SET DA=BGPRPT
- SET DIK="^BGPGPDBM("
- DO ^DIK
- KILL DIK
- DO XIT
- QUIT
- +4 IF $DATA(IO("Q"))
- GOTO TSKMN
- DRIVER ;
- +1 DO ^BGP6D1
- +2 USE IO
- +3 DO ^BGP6DP
- +4 DO ^%ZISC
- +5 DO XIT
- +6 QUIT
- +7 ;
- NODEV1 ;
- +1 DO ^BGP6D1
- +2 DO ^BGP6DP
- +3 DO ^%ZISC
- +4 DO XIT
- +5 QUIT
- DI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("ADM",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- II ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("AIPC",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- PI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("APQA",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- CI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("ACARD",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- AI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("AAST",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- WI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("AWH",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- EI ;
- +1 SET X=0
- FOR
- SET X=$ORDER(^BGPINDMC("AEL",1,X))
- IF X'=+X
- QUIT
- SET BGPIND($PIECE(^BGPINDMC(X,0),U,1))=""
- +2 QUIT
- SI ;
- +1 KILL BGPIND
- +2 DO EN^BGP6DSI
- +3 IF '$DATA(BGPIND)
- QUIT
- +4 DO LISTS
- +5 QUIT
- LISTS ;any lists with measures?
- +1 KILL BGPLIST
- +2 WRITE !!,"PATIENT LISTS"
- +3 IF '$DATA(^XUSEC("BGPZ PATIENT LISTS",DUZ))
- WRITE !!,"You do not have the security access to print patient lists.",!,"Please see your supervisor or program manager if you feel you should have",!,"the BGPZ PATIENT LISTS security key.",!
- Begin DoDot:1
- +4 KILL DIR
- SET DIR(0)="E"
- SET DIR("A")="Press enter to continue"
- DO ^DIR
- KILL DIR
- End DoDot:1
- QUIT
- +5 SET DIR(0)="Y"
- SET DIR("A")="Do you want patient lists for any of the measures"
- SET DIR("B")="N"
- KILL DA
- DO ^DIR
- KILL DIR
- +6 IF $DATA(DIRUT)!(Y="")
- QUIT
- +7 IF Y=0
- QUIT
- +8 KILL BGPLIST
- +9 DO EN^BGP6DSL
- +10 IF '$DATA(BGPLIST)
- WRITE !!,"No lists selected.",!
- +11 ;get report type for each list
- IF $DATA(BGPLIST)
- DO RT^BGP6DSL
- IF '$DATA(BGPLIST)!($DATA(BGPQUIT))
- GOTO LISTS
- +12 QUIT
- TSKMN ;EP ENTRY POINT FROM TASKMAN
- +1 SET ZTIO=$SELECT($DATA(ION):ION,1:IO)
- IF $DATA(IOST)#2
- IF IOST]""
- SET ZTIO=ZTIO_";"_IOST
- +2 IF $GET(IO("DOC"))]""
- SET ZTIO=ZTIO_";"_$GET(IO("DOC"))
- +3 IF $DATA(IOM)#2
- IF IOM
- SET ZTIO=ZTIO_";"_IOM
- IF $DATA(IOSL)#2
- IF IOSL
- SET ZTIO=ZTIO_";"_IOSL
- +4 KILL ZTSAVE
- SET ZTSAVE("BGP*")=""
- +5 SET ZTCPU=$GET(IOCPU)
- SET ZTRTN="DRIVER^BGP6DL"
- SET ZTDTH=""
- SET ZTDESC="GPRA 16 REPORT"
- DO ^%ZTLOAD
- DO XIT
- QUIT
- +6 QUIT
- +7 ;
- NODEV ;
- +1 SET XBRP=""
- SET XBRC="NODEV1^BGP6DL"
- SET XBRX="XIT^BGP6DL"
- SET XBNS="BGP"
- +2 DO ^XBDBQUE
- +3 ;D XIT
- +4 QUIT
- +5 ;
- XIT ;
- +1 DO ^%ZISC
- +2 DO EN^XBVK("BGP")
- IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- +3 KILL DIRUT,DUOUT,DIR,DOD
- +4 KILL DIADD,DLAYGO
- +5 DO KILL^AUPNPAT
- +6 KILL X,X1,X2,X3,X4,X5,X6
- +7 KILL A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,V,W,X,Y,Z
- +8 KILL N,N1,N2,N3,N4,N5,N6
- +9 KILL BD,ED
- +10 DO KILL^AUPNPAT
- +11 DO ^XBFMK
- +12 QUIT
- +13 ;
- CTR(X,Y) ;EP - Center X in a field Y wide.
- +1 QUIT $JUSTIFY("",$SELECT($DATA(Y):Y,1:IOM)-$LENGTH(X)\2)_X
- +2 ;----------
- EOP ;EP - End of page.
- +1 IF $EXTRACT(IOST)'="C"
- QUIT
- +2 IF $DATA(ZTQUEUED)!'(IOT="TRM")!$DATA(IO("S"))
- QUIT
- +3 NEW DIR
- +4 KILL DIR,DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
- +5 SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- +6 QUIT
- +7 ;----------
- USR() ;EP - Return name of current user from ^VA(200.
- +1 QUIT $SELECT($GET(DUZ):$SELECT($DATA(^VA(200,DUZ,0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
- +2 ;----------
- LOC() ;EP - Return location name from file 4 based on DUZ(2).
- +1 QUIT $SELECT($GET(DUZ(2)):$SELECT($DATA(^DIC(4,DUZ(2),0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
- +2 ;----------
- +3 ;
- CHKY ;
- +1 WRITE !!,"The baseline year and the previous year time periods are the same.",!!
- +2 SET DIR(0)="Y"
- SET DIR("A")="Do you want to change the baseline year"
- SET DIR("B")="N"
- KILL DA
- DO ^DIR
- KILL DIR
- +3 IF $DATA(DIRUT)
- SET Y=""
- QUIT
- +4 QUIT
- F ;calendar year
- +1 SET (BGPPER,BGPVDT)=""
- +2 WRITE !!,"Enter the Calendar Year for the report END date. Use a 4 digit",!,"year, e.g. 2016"
- +3 SET DIR(0)="D^::EP"
- +4 SET DIR("A")="Enter Year"
- +5 SET DIR("?")="This report is compiled for a period. Enter a valid date."
- +6 DO ^DIR
- KILL DIR
- +7 IF $DATA(DIRUT)
- QUIT
- +8 IF $DATA(DUOUT)
- SET DIRUT=1
- QUIT
- +9 SET BGPVDT=Y
- +10 IF $EXTRACT(Y,4,7)'="0000"
- WRITE !!,"Please enter a year only!",!
- GOTO F
- +11 SET BGPPER=BGPVDT
- +12 QUIT