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

BUD2RP7.m

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