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

BDMD114.m

Go to the documentation of this file.
  1. BDMD114 ; IHS/CMI/LAB -IHS -CUMULATIVE REPORT ; 22 Feb 2011 3:43 PM
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**4**;JUN 14, 2007
  1. ;
  1. ;
  1. DURDM(P,R,EDATE) ;EP
  1. NEW DATE,EARLY
  1. S DATE="",EARLY=9999999
  1. I $G(R) S DATE=$$CMSFDX^BDMD113(P,R,"ID")
  1. I DATE S EARLY=DATE ;Q ($$FMDIFF^XLFDT(EDATE,DATE,1)\365)
  1. S DATE=$$PLDMDOO^BDMD113(P,"I")
  1. I DATE,DATE<EARLY S EARLY=DATE
  1. I EARLY=9999999 S EARLY=""
  1. ;I EARLY>EDATE S EARLY=""
  1. I EARLY="" Q ""
  1. I 'EARLY Q ""
  1. S EARLY=$$DI^BDMD116(EARLY)
  1. ;W !,$$HRN^AUPNPAT(P,$S($G(BDMDUZ2):BDMDUZ2,1:DUZ(2))),"^",EARLY,"^",$$D(EARLY),"^",($$FMDIFF^XLFDT(EDATE,EARLY,1)\365)
  1. Q ($$FMDIFF^XLFDT(EDATE,EARLY,1)\365.25)
  1. D(D) ;EP
  1. I $G(D)="" Q ""
  1. Q $S($E(D,4,5)="00":"07",1:$E(D,4,5))_"/"_$S($E(D,6,7)="00":"01",1:$E(D,6,7))_"/"_$E(D,2,3)
  1. DI(D) ;EP
  1. I $G(D)="" Q ""
  1. Q $E(D,1,3)_$S($E(D,4,5)="00":"07",1:$E(D,4,5))_$S($E(D,6,7)="00":"01",1:$E(D,6,7))
  1. ;
  1. OB(BDMPD,BMI,D) ;EP obese
  1. I $G(BMI)="" Q ""
  1. I BMI'<30 Q 1
  1. Q 0
  1. OW(BDMPD,BMI,D) ;EP overweight
  1. I $G(BMI)="" Q ""
  1. I $G(BMI)<25 Q ""
  1. I BMI<30 Q 1
  1. Q ""
  1. CUML ;EP
  1. Q:'$D(BDMCUML)
  1. ;print aggregate audit
  1. ;
  1. ;
  1. PRINT ;
  1. ;S BDMPG=0
  1. S BDMQUIT=0
  1. D HEADER
  1. D PRINT1 ;print each indicator
  1. D EXIT
  1. Q
  1. ;
  1. PRINT1 ;
  1. I BDMNOGO D
  1. .W !!,"*** Please NOTE: ",BDMNOGO," Patients were not included in this cumulative audit",!,"because their date of onset was after the audit date.",!
  1. W !!,$P(BDMCUML(10),U),!,?7,"Female",?53,$$C($P(BDMCUML(10),U,3)),?65,$$P($P(BDMCUML(10),U,2),$P(BDMCUML(10),U,3))
  1. W !,?7,"Male",?53,$$C($P(BDMCUML(10),U,4)),?65,$$P($P(BDMCUML(10),U,2),$P(BDMCUML(10),U,4))
  1. I $Y>(BDMIOSL-7) D HEADER Q:BDMQUIT
  1. W !!,"Age" S V=$G(BDMCUML(20))
  1. W !?7,"<15 yrs",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"15-44 yrs",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"45-64 yrs",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. W !?7,"65 yrs and older",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. TYPE ;
  1. I $Y>(BDMIOSL-6) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(25))
  1. W !!,$P(V,U)
  1. W !?7,"Type 1",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"Type 2",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. ;W !?7,"Unknown",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. DMDUR ;
  1. I $Y>(BDMIOSL-6) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(30)) W !!,$P(V,U)
  1. W !?7,"Less than 1 year",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. W !?7,"Less than 10 years",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"10 years or more",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"Diagnosis date not recorded",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. ;weight control
  1. WTCNTL ;
  1. I $Y>(BDMIOSL-6) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(40)) W !!,$P(V,U)
  1. W !?7,"Normal (BMI<25.0)",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. W !?7,"Overweight (BMI 25.0-29.9)",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"Obese (BMI 30.0 or above)",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"Height or Weight missing",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. BSC ;
  1. I $Y>(BDMIOSL-9) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(50)) W !!,$P(V,U)
  1. W !?7,"HbA1c <7.0",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"HbA1c 7.0-7.9",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"HbA1c 8.0-8.9",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. W !?7,"HbA1c 9.0-9.9",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. W !?7,"HbA1c 10.0-10.9",?53,$$C($P(V,U,7)),?65,$$P($P(V,U,2),$P(V,U,7))
  1. W !?7,"HbA1c 11.0 or higher",?53,$$C($P(V,U,8)),?65,$$P($P(V,U,2),$P(V,U,8))
  1. W !?7,"Undocumented",?53,$$C($P(V,U,9)),?65,$$P($P(V,U,2),$P(V,U,9))
  1. BPC ;
  1. I $Y>(BDMIOSL-9) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(60)) W !!,$P(V,U)
  1. W !?7,"<120/<70",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"120/70 - <130/<80",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"---------------------------"
  1. W !?7,"130/80 - <140/<90",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. W !?7,"140/90 - <160/<95",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. W !?7,"160/95 or higher",?53,$$C($P(V,U,7)),?65,$$P($P(V,U,2),$P(V,U,7))
  1. W !?7,"BP category Undetermined",?53,$$C($P(V,U,8)),?65,$$P($P(V,U,2),$P(V,U,8))
  1. TOB ;
  1. I $Y>(BDMIOSL-9) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(80)) W !!,$P(V,U)
  1. W !?7,"Current Tobacco User",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?9,"Counseled - Yes",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,3),$P(V,U,4))
  1. W !?9,"Counseled - No",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,3),$P(V,U,5))
  1. W !?9,"Counseled - Refused",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,3),$P(V,U,6)) ;cmi/maw 12/26/2007 DM2011
  1. W !?7,"Not a current tobacco user",?53,$$C($P(V,U,7)),?65,$$P($P(V,U,2),$P(V,U,7))
  1. W !?7,"Tobacco use not documented",?53,$$C($P(V,U,8)),?65,$$P($P(V,U,2),$P(V,U,8))
  1. TX ;
  1. I $Y>(BDMIOSL-17) D HEADER Q:BDMQUIT
  1. S V=$G(BDMCUML(90)) W !!,$P(V,U)
  1. W !?7,"Diet and Exercise Alone",?53,$$C($P(V,U,3)),?65,$$P($P(V,U,2),$P(V,U,3))
  1. W !?7,"Insulin",?53,$$C($P(V,U,4)),?65,$$P($P(V,U,2),$P(V,U,4))
  1. W !?7,"Sulfonylurea",?53,$$C($P(V,U,5)),?65,$$P($P(V,U,2),$P(V,U,5))
  1. W !?7,"Sulfonylurea-like (Prandin, Starlix)",?53,$$C($P(V,U,6)),?65,$$P($P(V,U,2),$P(V,U,6))
  1. W !?7,"Metformin",?53,$$C($P(V,U,7)),?65,$$P($P(V,U,2),$P(V,U,7))
  1. W !?7,"Acarbose/Miglitol",?53,$$C($P(V,U,8)),?65,$$P($P(V,U,2),$P(V,U,8))
  1. W !?7,"Glitizone",?53,$$C($P(V,U,9)),?65,$$P($P(V,U,2),$P(V,U,9))
  1. W !?7,"Incretin mimetics (Byetta)",?53,$$C($P(V,U,10)),?65,$$P($P(V,U,2),$P(V,U,10)) ;cmi/maw 12/26/2007 DM2011
  1. W !?7,"DPP4 inhibitors (Januvia, Onglyza)",?53,$$C($P(V,U,11)),?65,$$P($P(V,U,2),$P(V,U,11))
  1. W !?7,"Amylin analogues (Symlin)",?53,$$C($P(V,U,12)),?65,$$P($P(V,U,2),$P(V,U,12))
  1. W !?7,"GLP-1 analog (Victoza)",?53,$$C($P(V,U,13)),?65,$$P($P(V,U,2),$P(V,U,13))
  1. W !?7,"Bromocriptine (Cycloset)",?53,$$C($P(V,U,14)),?65,$$P($P(V,U,2),$P(V,U,14))
  1. W !!?7,"Any Oral med combination",?53,$$C($P(V,U,16)),?65,$$P($P(V,U,2),$P(V,U,16))
  1. W !?7,"Any Insulin + other med combination",?53,$$C($P(V,U,17)),?65,$$P($P(V,U,2),$P(V,U,17))
  1. W !!?7,"Refused or Undetermined",?53,$$C($P(V,U,15)),?65,$$P($P(V,U,2),$P(V,U,15))
  1. D ^BDMD11A
  1. Q
  1. EXIT ;
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO",DIR("A")="End of report. Press ENTER" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q
  1. CALC(N,O) ;ENTRY POINT
  1. ;N is new
  1. ;O is old
  1. NEW Z
  1. I O=0!(N=0) Q "**"
  1. NEW X,X2,X3
  1. S X=N,X2=1,X3=0 D COMMA^%DTC S N=X
  1. S X=O,X2=1,X3=0 D COMMA^%DTC S O=X
  1. S Z=(((N-O)/O)*100),Z=$FN(Z,"+,",1)
  1. Q Z
  1. P(D,N) ;return %
  1. I 'D Q ""
  1. I 'N Q " 0%"
  1. NEW X S X=N/D,X=X*100,X=$J(X,3,0)
  1. Q X_"%"
  1. C(X,X2,X3) ;
  1. I '$G(X2) S X2=0
  1. I '$G(X3) S X3=6
  1. D COMMA^%DTC
  1. Q X
  1. G:'BDMPG HEADER1
  1. W !
  1. K DIR I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BDMQUIT=1 Q
  1. HEADER1 ;
  1. W:$D(IOF) @IOF S BDMPG=BDMPG+1
  1. I $G(BDMGUI),BDMPG'=1 W !,"ZZZZZZZ"
  1. I $G(BDMGUI) W !!
  1. W !?3,$P(^VA(200,DUZ,0),U,2),?35,$$FMTE^XLFDT(DT),?70,"Page ",BDMPG,!
  1. W !,$$CTR("*** IHS/RPMS CARE & OUTCOMES AUDIT 2011 ***",80),!
  1. W $$CTR("FOR "_$P(^DIC(4,$S($G(BDMDUZ2):BDMDUZ2,1:DUZ(2)),0),U)),!
  1. S X="Reporting Period: "_$$FMTE^XLFDT(BDMBDAT)_" to "_$$FMTE^XLFDT(BDMADAT) W $$CTR(X,80),!
  1. W !,$TR($J("",80)," ","-")
  1. W !!,$P(BDMCUML(10),U,2)," patients were audited"
  1. W ?55," n",?63,"Percent"
  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. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR(0)="E" D ^DIR
  1. Q
  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. ;----------