BUD2RP7 ; IHS/CMI/LAB - UDS REPORT DRIVER TABLE 6B 12 Dec 2012 6:51 AM 30 Dec 2012 8:19 PM 27 Aug 2012 12:41 PM ; 
 ;;10.0;IHS/RPMS UNIFORM DATA SYSTEM;;FEB 04, 2016;Build 50
 ;
 ;
T7 ;
 D EOJ
EN ;
 D GENI
 D T7I
 D PAUSE
 D PRENATT
 D PAUSE
 ;
EN1 ;
PNC ;
 S BUDPREN=""
 S DIR(0)="Y",DIR("A")="Does your facility provide prenatal care",DIR("B")="N" KILL DA D ^DIR KILL DIR
 I $D(DIRUT) D EOJ Q
 S BUDPREN=Y
 ;
EN2 ;
 S BUDSITE=""
 S DIC="^BUDRSITE(",DIC(0)="AEMQ",DIC("A")="Enter your site: " D ^DIC
 I Y=-1 G PNC
 S BUDSITE=+Y
 I '$O(^BUDRSITE(BUDSITE,11,0)) W !!,"Warning:  There are no locations defined in the site parameter file for this",!,"site.  Report will not be accurate!" G EN
 S BUDTAXT="7" D TAXCHK^BUD2XTCH
 ;S BUDYEAR=3080000,BUDBD=3080101,BUDED=3081231
 ;S BUDCAD=3080630
 ;S BUDYEAR=3030000,BUDBD=3030101,BUDED=3031231
 ;S BUDCAD=3030630
 S BUDYEAR=""
 D YEAR
 I BUDYEAR="" D EOJ Q
 W !!,"Your report will be run for the time period: ",$$FMTE^XLFDT(BUDBD)," to ",$$FMTE^XLFDT(BUDED)
 ;get indian or not
 S BUDBEN=""
 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) W !!,"Classification not entered." D EOJ Q
 S BUDBEN=Y
ZIS ;call to XBDBQUE
 K IOP,%ZIS
 W !! S %ZIS="PQM" D ^%ZIS
 I POP D EOJ Q
ZIS1 ;
 I $D(IO("Q")) G TSKMN
DRIVER ;
 D PROC
 U IO
 D PRINT
 D ^%ZISC
 D EOJ
 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("BUD*")=""
 S ZTCPU=$G(IOCPU),ZTRTN="DRIVER^BUD2RP7",ZTDTH="",ZTDESC="UDS 12 REPORT TABLE 7" D ^%ZTLOAD D EOJ Q
 Q
EOJ ;
 D EN^XBVK("BUD")
 Q
PRGHLIST ;EP
 D EOJ
 S BUDPRGHL=1
 D PRGH^BUD2RP7I
 G EN1
 ;
PRGRLIST ;EP
 D EOJ
 S BUDPRGRL=1
 D PRGR^BUD2RP7I
 G EN1
 ;
PRGELIST ;EP
 D EOJ
 S BUDPRGEL=1
 D PRGE^BUD2RP7I
 G EN1
 ;
HTRLIST ;EP
 D EOJ
 S BUDHTRL=1
 D HTR^BUD2RP7J
 G EN1
 ;
HTCRLIST ;EP
 D EOJ
 S BUDHTCRL=1
 D HTCR^BUD2RP7J
 G EN1
 ;
HTURLIST ;EP
 D EOJ
 S BUDHTURL=1
 D HTUR^BUD2RP7J
 G EN1
 ;
HTELIST ;EP
 D EOJ
 S BUDHTEL=1
 D HTE^BUD2RP7K
 G EN1
 ;
HTCELIST ;EP
 D EOJ
 S BUDHTCEL=1
 D HTCE^BUD2RP7K
 G EN1
 ;
HTUELIST ;EP
 D EOJ
 S BUDHTUEL=1
 D HTUE^BUD2RP7K
 G EN1
 ;
 ;
MHT ;EP
 D EOJ
 D GENI^BUD2RP7I
 S (BUDHTRL,BUDHTCRL,BUDHTURL,BUDHTEL,BUDHTCEL,BUDHTUEL)=0
 W !!,"UDS Table 7 Hypertension Patient List Selection"
 W !!?5,"1   All HTN Patients by Race and Hispanic or Latino Identity"
 ;W !?5,"Z   All HTN Patients by Ethnicity"
 W !?5,"2   All HTN Pts w/Controlled BP by Race and Hispanic or Latino Identity"
 W !?5,"3   All HTN Pts w/Uncontrolled BP by Race and Hispanic or Latino Identity"
 ;W !?5,"Z   All HTN Patients w/Controlled BP by Ethnicity"
 ;W !?5,"Z   All HTN Patients w/Uncontrolled BP by Ethnicity"
 W !?5,"4   ALL Lists for HTN Patients"
 S DIR(0)="L^1:4",DIR("A")="Include which Tables",DIR("B")=1 KILL DA D ^DIR KILL DIR
 I $D(DIRUT) D EOJ Q
 I Y[4 S (BUDHTRL,BUDHTCRL,BUDHTURL)=1
 I Y[1 S BUDHTRL=1
 I Y[2 S BUDHTCRL=1
 I Y[3 S BUDHTURL=1
 G EN1
LIST ;
DMRLIST ;EP
 D EOJ
 S BUDDMRL=1
 D DMR^BUD2RP7L
 G EN1
 ;
DMR1LIST ;EP
 D EOJ
 S BUDDMR1L=1
 D DMR1^BUD2RP7L
 G EN1
 ;
DMR2LIST ;EP
 D EOJ
 S BUDDMR2L=1
 D DMR2^BUD2RP7L
 G EN1
 ;
DMR4LIST ;EP
 D EOJ
 S BUDDMR4L=1
 D DMR4^BUD2RP7T
 G EN1
 ;
DMR3LIST ;EP
 D EOJ
 S BUDDMR3L=1
 D DMR3^BUD2RP7T
 G EN1
 ;
DMELIST ;EP
 D EOJ
 S BUDDMEL=1
 D DME^BUD2RP7M
 G EN1
 ;
DME1LIST ;EP
 D EOJ
 S BUDDME1L=1
 D DME1^BUD2RP7M
 G EN1
 ;
DME2LIST ;EP
 D EOJ
 S BUDDME2L=1
 D DME2^BUD2RP7M
 G EN1
 ;
DME3LIST ;EP
 D EOJ
 S BUDDME3L=1
 D DME3^BUD2RP7S
 G EN1
 ;
MDM ;EP
 D EOJ
 D GENI^BUD2RP7I
 S (BUDHTRL,BUDDMR1L,BUDHTURL,BUDHTEL,BUDHTCEL,BUDHTUEL)=0
 W !!,"UDS Table 7 Diabetes Patient List Selection"
 W !!?5,"1   All Patients w/DM by Race and Hispanic or Latino Identity"
 ;W !?5,"2   All Patients w/DM by Ethnicity"
 W !?5,"2   All Patients w/DM and A1c <7 by Race and Hispanic or Latino Identity"
 W !?5,"3   All Pts w/DM and A1c >=7 & <8 by Race and Hispanic or Latino Identity"
 W !?5,"4   All Patients w/A1c >=8 & <=9 by Race and Hispanic or Latino Identity"
 W !?5,"5   All Patients w/DM and A1c >9 or No Test by Race and Hispanic or Latino Identity"
 ;W !?5,"6   All Patients w/DM and A1c <7 by Ethnicity"
 ;W !?5,"7   All Patients w/DM and A1c >=7 and <=9 by Ethnicity"
 ;W !?5,"8   All Patients w/DM and A1c >9 by Ethnicity"
 W !?5,"6   ALL Lists for DM Patients"
 S DIR(0)="L^1:6",DIR("A")="Include which Tables",DIR("B")=1 KILL DA D ^DIR KILL DIR
 I $D(DIRUT) D EOJ Q
 I Y[6 S (BUDDMRL,BUDDMR1L,BUDDMR2L,BUDDMR3L,BUDDMR4L)=1
 I Y[1 S BUDDMRL=1
 I Y[2 S BUDDMR1L=1
 I Y[3 S BUDDMR2L=1
 I Y[4 S BUDDMR3L=1
 I Y[5 S BUDDMR4L=1
 G EN1
MPRG ;EP - called from option
 D EOJ
 D GENI^BUD2RP7I
 S (BUDPRGHL,BUDPRGRL,BUDPRGEL)=0
 W !!,"UDS Table 7 Pregnant Patient List Selection"
 W !!?5,"1   All Pregnant Patients w/HIV"
 W !?5,"2   All Pregnant Patients by Race"
 ;W !?5,"3   All Pregnant Patients by Ethnicity"
 W !?5,"3   ALL Lists"
 S DIR(0)="L^1:3",DIR("A")="Include which Tables",DIR("B")=1 KILL DA D ^DIR KILL DIR
 I $D(DIRUT) D EOJ Q
 I Y[3 S (BUDPRGHL,BUDPRGRL)=1
 I Y[1 S BUDPRGHL=1
 I Y[2 S BUDPRGRL=1
 ;I Y[3 S BUDPRGEL=1
 G EN1
 ;
PROC ;EP - called from taskman
 S BUDJ=$J,BUDH=$H
 S ^XTMP("BUD2RP7B",0)=$$FMADD^XLFDT(DT,14)_"^"_DT_"^BUD TABLE 7 LISTS"
 ;NOW LOOP THROUGH PATIENT FILE  for imms and paps
 S DFN=0 F  S DFN=$O(^AUPNPAT(DFN)) Q:DFN'=+DFN  D
 .K ^TMP($J)
 .Q:'$D(^AUPNPAT(DFN,0))
 .Q:'$D(^DPT(DFN,0))
 .;I DUZ=5634 Q:'$$IWTO^BUDARPTC(DFN)  G LORIN
 .Q:$P(^DPT(DFN,0),U,19)  ;merged away
 .Q:$P(^DPT(DFN,0),U,1)["DEMO,PATIENT"
 .Q:$P(^DPT(DFN,0),U,1)["PATIENT,CRS"
 .Q:$P(^DPT(DFN,0),U,1)["PATIENT,UDS"
 .Q:$$DEMO^BUD2DU(DFN,"E")
LORIN .;DO NOT COUNT BASED ON CLASSIFICATION IN V6.0
 .I BUDBEN=1,$$BEN^AUPNPAT(DFN,"C")'="01" Q  ;must be Indian/Alaskan Native
 .I BUDBEN=2,$$BEN^AUPNPAT(DFN,"C")="01" Q  ;must not be I/A
 .S BUDSEX=$P(^DPT(DFN,0),U,2)
 .S BUDCOM=$$COMMRES^AUPNPAT(DFN,"E") I BUDCOM="" S BUDCOM="UNKNOWN"
 .S BUDAGE=$$AGE^AUPNPAT(DFN,BUDED)  ;age at end of time period
 .S BUDAGEP=$$AGE^AUPNPAT(DFN,BUDCAD)  ;age on june 30 for pregnancy 
 .D GETV^BUD2RPTD  ;get visits that meet criteria
 .I BUDT35V=0 Q  ;user doesn't have any countable visits and is not considered a user
 .D PRGHLST^BUD2RP7A
 .D PRGRLST^BUD2RP7A
 .;I $G(BUDPRGEL) D PRGELST^BUD2RP7A
 .D HTN^BUD2RP7B
 .D DM^BUD2RP7C
 Q
 ;
PRINT ;EP - called from taskman
 D PRINT^BUD2RP71
 Q
 ;
T7H ;
 W !,$$CTR("TABLE 7 - HEALTH OUTCOMES AND DISPARITIES"),!,$$REPEAT^XLFSTR("_",79),!
 Q
LINE ;
 W $$REPEAT^XLFSTR("_",79),?79,"|",!
 Q
LINE1 ;
 W $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",9),?39,"|",$$REPEAT^XLFSTR("_",9),?49,"|",$$REPEAT^XLFSTR("_",9),?59,"|",$$REPEAT^XLFSTR("_",9),?69,"|",$$REPEAT^XLFSTR("_",9),?79,"|",!
 Q
LINE2 ;
 W $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",39),?69,"|_________",?79,"|",!
 Q
 ;
LINE3 ;
 W $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",49),?79,"|",!
 Q
T7I ;EP
 W !!,"TABLE 7:  HEALTH OUTCOMES AND DISPARITIES"
 W !,"This report will produce UDS Table 7, health outcomes indicators by race"
 W !,"and Hispanic/Latino identity for deliveries and birth weights, controlled"
 W !,"hypertension, and controlled diabetes Glycemic control.  Patients must meet "
 W !,"additional criteria as specified for each indicator."
 W !
 Q
GENI ;general introductions
 W:$D(IOF) @(IOF)
 W !!,$$CTR($$LOC,80),!,$$CTR("UDS 2012",80),!
 W !,"UDS searches your database to find all patients reported for the quality"
 W !,"of care indicators during the time period January 1 - December 31, 2012."
 W !,"Based on the UDS defintion, to be considered a patient, the patient must"
 W !,"have had at least one visit meeting the following criteria:"
 W !?4,"- must be to a location specified in your visit location setup"
 W !?4,"- must be to Service Category Ambulatory (A), Hospitalization (H), Day"
 W !?6,"Surgery (S), Observation (O), Telemedicine (M), Nursing home visit (R), "
 W !?6,"or In-Hospital (I) visit"
 W !?4,"- must NOT have an excluded clinic code (see User Manual for a list)"
 W !?4,"- must have a primary provider and a coded purpose of visit"
 W !
 Q
 ;
PRENATT ;EP
 W !!,"UDS does not calculate the deliveries and birth weight indicators"
 W !,"in Section A.  However, you can run a list of patients identified "
 W !,"by UDS as pregnant to determine which of them received prenatal care at"
 W !,"your facility to assist you with completing Table 7, Section A."
 W !,"The menu options you would select to run the patient list are:  LST, LST3,"
 W !,"PRG, PRGR (list by race and Hispanic or Latino identity)."
 W !
 Q
CTR(X,Y) ;EP - Center X in a field Y wide.
 Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
 ;----------
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")
 ;----------
PAUSE ;EP
 K DIR S DIR(0)="E",DIR("A")="PRESS ENTER" KILL DA D ^DIR KILL DIR
 Q
C(X,Y) ;
 I $G(Y)=1,+X=0 Q ""
 I $G(Y)=2 Q "********"
 S X2=0,X3=8
 D COMMA^%DTC
 Q X
YEAR ;
 S BUDYEAR=""
 W !
 W !,"Enter the Calendar Year.  Use a 4 digit year, e.g. 2003, 2007"
 S DIR(0)="D^::EP"
 S DIR("A")="Enter Calendar Year"
 S DIR("?")="This report is compiled for a period.  Enter a valid date."
 D ^DIR KILL DIR
 K DIC
 I $D(DUOUT) S DIRUT=1 Q
 I $D(DIRUT) Q
 I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G YEAR
 S BUDYEAR=Y,BUDBD=$E(BUDYEAR,1,3)_"0101",BUDED=$E(BUDYEAR,1,3)_"1231"
 S BUDCAD=$E(BUDYEAR,1,3)_"0630"
 Q
BUD2RP7   ; IHS/CMI/LAB - UDS REPORT DRIVER TABLE 6B 12 Dec 2012 6:51 AM 30 Dec 2012 8:19 PM 27 Aug 2012 12:41 PM ; 
 +1       ;;10.0;IHS/RPMS UNIFORM DATA SYSTEM;;FEB 04, 2016;Build 50
 +2       ;
 +3       ;
T7        ;
 +1        DO EOJ
EN        ;
 +1        DO GENI
 +2        DO T7I
 +3        DO PAUSE
 +4        DO PRENATT
 +5        DO PAUSE
 +6       ;
EN1       ;
PNC       ;
 +1        SET BUDPREN=""
 +2        SET DIR(0)="Y"
           SET DIR("A")="Does your facility provide prenatal care"
           SET DIR("B")="N"
           KILL DA
           DO ^DIR
           KILL DIR
 +3        IF $DATA(DIRUT)
               DO EOJ
               QUIT 
 +4        SET BUDPREN=Y
 +5       ;
EN2       ;
 +1        SET BUDSITE=""
 +2        SET DIC="^BUDRSITE("
           SET DIC(0)="AEMQ"
           SET DIC("A")="Enter your site: "
           DO ^DIC
 +3        IF Y=-1
               GOTO PNC
 +4        SET BUDSITE=+Y
 +5        IF '$ORDER(^BUDRSITE(BUDSITE,11,0))
               WRITE !!,"Warning:  There are no locations defined in the site parameter file for this",!,"site.  Report will not be accurate!"
               GOTO EN
 +6        SET BUDTAXT="7"
           DO TAXCHK^BUD2XTCH
 +7       ;S BUDYEAR=3080000,BUDBD=3080101,BUDED=3081231
 +8       ;S BUDCAD=3080630
 +9       ;S BUDYEAR=3030000,BUDBD=3030101,BUDED=3031231
 +10      ;S BUDCAD=3030630
 +11       SET BUDYEAR=""
 +12       DO YEAR
 +13       IF BUDYEAR=""
               DO EOJ
               QUIT 
 +14       WRITE !!,"Your report will be run for the time period: ",$$FMTE^XLFDT(BUDBD)," to ",$$FMTE^XLFDT(BUDED)
 +15      ;get indian or not
 +16       SET BUDBEN=""
 +17       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"
 +18       SET DIR("B")="1"
           KILL DA
           DO ^DIR
           KILL DIR
 +19       IF $DATA(DIRUT)
               WRITE !!,"Classification not entered."
               DO EOJ
               QUIT 
 +20       SET BUDBEN=Y
ZIS       ;call to XBDBQUE
 +1        KILL IOP,%ZIS
 +2        WRITE !!
           SET %ZIS="PQM"
           DO ^%ZIS
 +3        IF POP
               DO EOJ
               QUIT 
ZIS1      ;
 +1        IF $DATA(IO("Q"))
               GOTO TSKMN
DRIVER    ;
 +1        DO PROC
 +2        USE IO
 +3        DO PRINT
 +4        DO ^%ZISC
 +5        DO EOJ
 +6        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("BUD*")=""
 +5        SET ZTCPU=$GET(IOCPU)
           SET ZTRTN="DRIVER^BUD2RP7"
           SET ZTDTH=""
           SET ZTDESC="UDS 12 REPORT TABLE 7"
           DO ^%ZTLOAD
           DO EOJ
           QUIT 
 +6        QUIT 
EOJ       ;
 +1        DO EN^XBVK("BUD")
 +2        QUIT 
PRGHLIST  ;EP
 +1        DO EOJ
 +2        SET BUDPRGHL=1
 +3        DO PRGH^BUD2RP7I
 +4        GOTO EN1
 +5       ;
PRGRLIST  ;EP
 +1        DO EOJ
 +2        SET BUDPRGRL=1
 +3        DO PRGR^BUD2RP7I
 +4        GOTO EN1
 +5       ;
PRGELIST  ;EP
 +1        DO EOJ
 +2        SET BUDPRGEL=1
 +3        DO PRGE^BUD2RP7I
 +4        GOTO EN1
 +5       ;
HTRLIST   ;EP
 +1        DO EOJ
 +2        SET BUDHTRL=1
 +3        DO HTR^BUD2RP7J
 +4        GOTO EN1
 +5       ;
HTCRLIST  ;EP
 +1        DO EOJ
 +2        SET BUDHTCRL=1
 +3        DO HTCR^BUD2RP7J
 +4        GOTO EN1
 +5       ;
HTURLIST  ;EP
 +1        DO EOJ
 +2        SET BUDHTURL=1
 +3        DO HTUR^BUD2RP7J
 +4        GOTO EN1
 +5       ;
HTELIST   ;EP
 +1        DO EOJ
 +2        SET BUDHTEL=1
 +3        DO HTE^BUD2RP7K
 +4        GOTO EN1
 +5       ;
HTCELIST  ;EP
 +1        DO EOJ
 +2        SET BUDHTCEL=1
 +3        DO HTCE^BUD2RP7K
 +4        GOTO EN1
 +5       ;
HTUELIST  ;EP
 +1        DO EOJ
 +2        SET BUDHTUEL=1
 +3        DO HTUE^BUD2RP7K
 +4        GOTO EN1
 +5       ;
 +6       ;
MHT       ;EP
 +1        DO EOJ
 +2        DO GENI^BUD2RP7I
 +3        SET (BUDHTRL,BUDHTCRL,BUDHTURL,BUDHTEL,BUDHTCEL,BUDHTUEL)=0
 +4        WRITE !!,"UDS Table 7 Hypertension Patient List Selection"
 +5        WRITE !!?5,"1   All HTN Patients by Race and Hispanic or Latino Identity"
 +6       ;W !?5,"Z   All HTN Patients by Ethnicity"
 +7        WRITE !?5,"2   All HTN Pts w/Controlled BP by Race and Hispanic or Latino Identity"
 +8        WRITE !?5,"3   All HTN Pts w/Uncontrolled BP by Race and Hispanic or Latino Identity"
 +9       ;W !?5,"Z   All HTN Patients w/Controlled BP by Ethnicity"
 +10      ;W !?5,"Z   All HTN Patients w/Uncontrolled BP by Ethnicity"
 +11       WRITE !?5,"4   ALL Lists for HTN Patients"
 +12       SET DIR(0)="L^1:4"
           SET DIR("A")="Include which Tables"
           SET DIR("B")=1
           KILL DA
           DO ^DIR
           KILL DIR
 +13       IF $DATA(DIRUT)
               DO EOJ
               QUIT 
 +14       IF Y[4
               SET (BUDHTRL,BUDHTCRL,BUDHTURL)=1
 +15       IF Y[1
               SET BUDHTRL=1
 +16       IF Y[2
               SET BUDHTCRL=1
 +17       IF Y[3
               SET BUDHTURL=1
 +18       GOTO EN1
LIST      ;
DMRLIST   ;EP
 +1        DO EOJ
 +2        SET BUDDMRL=1
 +3        DO DMR^BUD2RP7L
 +4        GOTO EN1
 +5       ;
DMR1LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDMR1L=1
 +3        DO DMR1^BUD2RP7L
 +4        GOTO EN1
 +5       ;
DMR2LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDMR2L=1
 +3        DO DMR2^BUD2RP7L
 +4        GOTO EN1
 +5       ;
DMR4LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDMR4L=1
 +3        DO DMR4^BUD2RP7T
 +4        GOTO EN1
 +5       ;
DMR3LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDMR3L=1
 +3        DO DMR3^BUD2RP7T
 +4        GOTO EN1
 +5       ;
DMELIST   ;EP
 +1        DO EOJ
 +2        SET BUDDMEL=1
 +3        DO DME^BUD2RP7M
 +4        GOTO EN1
 +5       ;
DME1LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDME1L=1
 +3        DO DME1^BUD2RP7M
 +4        GOTO EN1
 +5       ;
DME2LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDME2L=1
 +3        DO DME2^BUD2RP7M
 +4        GOTO EN1
 +5       ;
DME3LIST  ;EP
 +1        DO EOJ
 +2        SET BUDDME3L=1
 +3        DO DME3^BUD2RP7S
 +4        GOTO EN1
 +5       ;
MDM       ;EP
 +1        DO EOJ
 +2        DO GENI^BUD2RP7I
 +3        SET (BUDHTRL,BUDDMR1L,BUDHTURL,BUDHTEL,BUDHTCEL,BUDHTUEL)=0
 +4        WRITE !!,"UDS Table 7 Diabetes Patient List Selection"
 +5        WRITE !!?5,"1   All Patients w/DM by Race and Hispanic or Latino Identity"
 +6       ;W !?5,"2   All Patients w/DM by Ethnicity"
 +7        WRITE !?5,"2   All Patients w/DM and A1c <7 by Race and Hispanic or Latino Identity"
 +8        WRITE !?5,"3   All Pts w/DM and A1c >=7 & <8 by Race and Hispanic or Latino Identity"
 +9        WRITE !?5,"4   All Patients w/A1c >=8 & <=9 by Race and Hispanic or Latino Identity"
 +10       WRITE !?5,"5   All Patients w/DM and A1c >9 or No Test by Race and Hispanic or Latino Identity"
 +11      ;W !?5,"6   All Patients w/DM and A1c <7 by Ethnicity"
 +12      ;W !?5,"7   All Patients w/DM and A1c >=7 and <=9 by Ethnicity"
 +13      ;W !?5,"8   All Patients w/DM and A1c >9 by Ethnicity"
 +14       WRITE !?5,"6   ALL Lists for DM Patients"
 +15       SET DIR(0)="L^1:6"
           SET DIR("A")="Include which Tables"
           SET DIR("B")=1
           KILL DA
           DO ^DIR
           KILL DIR
 +16       IF $DATA(DIRUT)
               DO EOJ
               QUIT 
 +17       IF Y[6
               SET (BUDDMRL,BUDDMR1L,BUDDMR2L,BUDDMR3L,BUDDMR4L)=1
 +18       IF Y[1
               SET BUDDMRL=1
 +19       IF Y[2
               SET BUDDMR1L=1
 +20       IF Y[3
               SET BUDDMR2L=1
 +21       IF Y[4
               SET BUDDMR3L=1
 +22       IF Y[5
               SET BUDDMR4L=1
 +23       GOTO EN1
MPRG      ;EP - called from option
 +1        DO EOJ
 +2        DO GENI^BUD2RP7I
 +3        SET (BUDPRGHL,BUDPRGRL,BUDPRGEL)=0
 +4        WRITE !!,"UDS Table 7 Pregnant Patient List Selection"
 +5        WRITE !!?5,"1   All Pregnant Patients w/HIV"
 +6        WRITE !?5,"2   All Pregnant Patients by Race"
 +7       ;W !?5,"3   All Pregnant Patients by Ethnicity"
 +8        WRITE !?5,"3   ALL Lists"
 +9        SET DIR(0)="L^1:3"
           SET DIR("A")="Include which Tables"
           SET DIR("B")=1
           KILL DA
           DO ^DIR
           KILL DIR
 +10       IF $DATA(DIRUT)
               DO EOJ
               QUIT 
 +11       IF Y[3
               SET (BUDPRGHL,BUDPRGRL)=1
 +12       IF Y[1
               SET BUDPRGHL=1
 +13       IF Y[2
               SET BUDPRGRL=1
 +14      ;I Y[3 S BUDPRGEL=1
 +15       GOTO EN1
 +16      ;
PROC      ;EP - called from taskman
 +1        SET BUDJ=$JOB
           SET BUDH=$HOROLOG
 +2        SET ^XTMP("BUD2RP7B",0)=$$FMADD^XLFDT(DT,14)_"^"_DT_"^BUD TABLE 7 LISTS"
 +3       ;NOW LOOP THROUGH PATIENT FILE  for imms and paps
 +4        SET DFN=0
           FOR 
               SET DFN=$ORDER(^AUPNPAT(DFN))
               IF DFN'=+DFN
                   QUIT 
               Begin DoDot:1
 +5                KILL ^TMP($JOB)
 +6                IF '$DATA(^AUPNPAT(DFN,0))
                       QUIT 
 +7                IF '$DATA(^DPT(DFN,0))
                       QUIT 
 +8       ;I DUZ=5634 Q:'$$IWTO^BUDARPTC(DFN)  G LORIN
 +9       ;merged away
                   IF $PIECE(^DPT(DFN,0),U,19)
                       QUIT 
 +10               IF $PIECE(^DPT(DFN,0),U,1)["DEMO,PATIENT"
                       QUIT 
 +11               IF $PIECE(^DPT(DFN,0),U,1)["PATIENT,CRS"
                       QUIT 
 +12               IF $PIECE(^DPT(DFN,0),U,1)["PATIENT,UDS"
                       QUIT 
 +13               IF $$DEMO^BUD2DU(DFN,"E")
                       QUIT 
LORIN     ;DO NOT COUNT BASED ON CLASSIFICATION IN V6.0
 +1       ;must be Indian/Alaskan Native
                   IF BUDBEN=1
                       IF $$BEN^AUPNPAT(DFN,"C")'="01"
                           QUIT 
 +2       ;must not be I/A
                   IF BUDBEN=2
                       IF $$BEN^AUPNPAT(DFN,"C")="01"
                           QUIT 
 +3                SET BUDSEX=$PIECE(^DPT(DFN,0),U,2)
 +4                SET BUDCOM=$$COMMRES^AUPNPAT(DFN,"E")
                   IF BUDCOM=""
                       SET BUDCOM="UNKNOWN"
 +5       ;age at end of time period
                   SET BUDAGE=$$AGE^AUPNPAT(DFN,BUDED)
 +6       ;age on june 30 for pregnancy 
                   SET BUDAGEP=$$AGE^AUPNPAT(DFN,BUDCAD)
 +7       ;get visits that meet criteria
                   DO GETV^BUD2RPTD
 +8       ;user doesn't have any countable visits and is not considered a user
                   IF BUDT35V=0
                       QUIT 
 +9                DO PRGHLST^BUD2RP7A
 +10               DO PRGRLST^BUD2RP7A
 +11      ;I $G(BUDPRGEL) D PRGELST^BUD2RP7A
 +12               DO HTN^BUD2RP7B
 +13               DO DM^BUD2RP7C
               End DoDot:1
 +14       QUIT 
 +15      ;
PRINT     ;EP - called from taskman
 +1        DO PRINT^BUD2RP71
 +2        QUIT 
 +3       ;
T7H       ;
 +1        WRITE !,$$CTR("TABLE 7 - HEALTH OUTCOMES AND DISPARITIES"),!,$$REPEAT^XLFSTR("_",79),!
 +2        QUIT 
LINE      ;
 +1        WRITE $$REPEAT^XLFSTR("_",79),?79,"|",!
 +2        QUIT 
LINE1     ;
 +1        WRITE $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",9),?39,"|",$$REPEAT^XLFSTR("_",9),?49,"|",$$REPEAT^XLFSTR("_",9),?59,"|",$$REPEAT^XLFSTR("_",9),?69,"|",$$REPEAT^XLFSTR("_",9),?79,"|",!
 +2        QUIT 
LINE2     ;
 +1        WRITE $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",39),?69,"|_________",?79,"|",!
 +2        QUIT 
 +3       ;
LINE3     ;
 +1        WRITE $$REPEAT^XLFSTR("_",29),?29,"|",$$REPEAT^XLFSTR("_",49),?79,"|",!
 +2        QUIT 
T7I       ;EP
 +1        WRITE !!,"TABLE 7:  HEALTH OUTCOMES AND DISPARITIES"
 +2        WRITE !,"This report will produce UDS Table 7, health outcomes indicators by race"
 +3        WRITE !,"and Hispanic/Latino identity for deliveries and birth weights, controlled"
 +4        WRITE !,"hypertension, and controlled diabetes Glycemic control.  Patients must meet "
 +5        WRITE !,"additional criteria as specified for each indicator."
 +6        WRITE !
 +7        QUIT 
GENI      ;general introductions
 +1        IF $DATA(IOF)
               WRITE @(IOF)
 +2        WRITE !!,$$CTR($$LOC,80),!,$$CTR("UDS 2012",80),!
 +3        WRITE !,"UDS searches your database to find all patients reported for the quality"
 +4        WRITE !,"of care indicators during the time period January 1 - December 31, 2012."
 +5        WRITE !,"Based on the UDS defintion, to be considered a patient, the patient must"
 +6        WRITE !,"have had at least one visit meeting the following criteria:"
 +7        WRITE !?4,"- must be to a location specified in your visit location setup"
 +8        WRITE !?4,"- must be to Service Category Ambulatory (A), Hospitalization (H), Day"
 +9        WRITE !?6,"Surgery (S), Observation (O), Telemedicine (M), Nursing home visit (R), "
 +10       WRITE !?6,"or In-Hospital (I) visit"
 +11       WRITE !?4,"- must NOT have an excluded clinic code (see User Manual for a list)"
 +12       WRITE !?4,"- must have a primary provider and a coded purpose of visit"
 +13       WRITE !
 +14       QUIT 
 +15      ;
PRENATT   ;EP
 +1        WRITE !!,"UDS does not calculate the deliveries and birth weight indicators"
 +2        WRITE !,"in Section A.  However, you can run a list of patients identified "
 +3        WRITE !,"by UDS as pregnant to determine which of them received prenatal care at"
 +4        WRITE !,"your facility to assist you with completing Table 7, Section A."
 +5        WRITE !,"The menu options you would select to run the patient list are:  LST, LST3,"
 +6        WRITE !,"PRG, PRGR (list by race and Hispanic or Latino identity)."
 +7        WRITE !
 +8        QUIT 
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       ;----------
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       ;----------
PAUSE     ;EP
 +1        KILL DIR
           SET DIR(0)="E"
           SET DIR("A")="PRESS ENTER"
           KILL DA
           DO ^DIR
           KILL DIR
 +2        QUIT 
C(X,Y)    ;
 +1        IF $GET(Y)=1
               IF +X=0
                   QUIT ""
 +2        IF $GET(Y)=2
               QUIT "********"
 +3        SET X2=0
           SET X3=8
 +4        DO COMMA^%DTC
 +5        QUIT X
YEAR      ;
 +1        SET BUDYEAR=""
 +2        WRITE !
 +3        WRITE !,"Enter the Calendar Year.  Use a 4 digit year, e.g. 2003, 2007"
 +4        SET DIR(0)="D^::EP"
 +5        SET DIR("A")="Enter Calendar Year"
 +6        SET DIR("?")="This report is compiled for a period.  Enter a valid date."
 +7        DO ^DIR
           KILL DIR
 +8        KILL DIC
 +9        IF $DATA(DUOUT)
               SET DIRUT=1
               QUIT 
 +10       IF $DATA(DIRUT)
               QUIT 
 +11       IF $EXTRACT(Y,4,7)'="0000"
               WRITE !!,"Please enter a year only!",!
               GOTO YEAR
 +12       SET BUDYEAR=Y
           SET BUDBD=$EXTRACT(BUDYEAR,1,3)_"0101"
           SET BUDED=$EXTRACT(BUDYEAR,1,3)_"1231"
 +13       SET BUDCAD=$EXTRACT(BUDYEAR,1,3)_"0630"
 +14       QUIT