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

BDMS9B5.m

Go to the documentation of this file.
  1. BDMS9B5 ; IHS/CMI/LAB - DIABETIC CARE SUMMARY SUPPLEMENT ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**3,8,9**;JUN 14, 2007;Build 78
  1. ;
  1. ;
  1. MAM ;EP
  1. K BDMSDAT,BDMSTEX
  1. S BDMSDAT=""
  1. ;BDMsdat=date of last, BDMstex is display
  1. Q:$P(^DPT(BDMSPAT,0),U,2)="M"
  1. K BDMSEXD,BDMSDF1
  1. S BDMSTXN=0
  1. S BDMSDAT=$$LASTMAM^APCLAPI1(BDMSPAT)_"^"_$$MAMREF^BDMS9B4(BDMSPAT,BDMSDAT)
  1. I $$VERSION^XPDUTL("BW")>2.9 G MAMA
  1. S BDMSBWR=0 S:$D(X) BDMSAVX=X S X="BWUTL1" X ^%ZOSF("TEST") S:$D(BDMSAVX) X=BDMSAVX K BDMSAVX I $T S BDMSBWR=1
  1. I BDMSBWR,$D(^BWP(BDMSPAT,0)) S BDMSTXN=BDMSTXN+1,BDMSTEX(BDMSTXN)=$$BNEED^BWUTL1(BDMSPAT) I BDMSTEX(1)="UNKNOWN" K BDMSTEX(1) S BDMSTXN=0
  1. I $O(BDMSTEX("")) Q
  1. MAMA ;
  1. Q:$$AGE^AUPNPAT(BDMSPAT,DT,"Y")<50
  1. Q:$$AGE^AUPNPAT(BDMSPAT,DT,"Y")>69
  1. K BDMSTXN
  1. S BDMSINT=365
  1. I $P(BDMSDAT,U,2)]"" S BDMSTEX(1)=$P(BDMSDAT,U,2),BDMSDAT=$P(BDMSDAT,U) Q
  1. I BDMSDAT="" S BDMSTEX(1)="MAY BE DUE NOW" Q
  1. K BDMSBWR
  1. S X1=BDMSDAT,X2=BDMSINT D C^%DTC S Y=X X BDMSCVD S BDMSTEX(1)="Next Due: "_Y,BDMSWD=Y
  1. S X2=BDMSDAT,X1=DT D ^%DTC I X>BDMSINT S BDMSTEX(1)=$S('$D(BDMSDD):"MAY BE DUE NOW (WAS DUE "_BDMSWD_")",1:"MAY BE DUE NOW")
  1. Q
  1. ;
  1. ;
  1. PAP ;EP
  1. K BDMSDAT,BDMSTEX,BDMSTP
  1. S BDMSDAT=""
  1. ;BDMsdat=date of last, BDMstex is display
  1. Q:$$AGE^AUPNPAT(BDMSPAT,DT,"Y")<18!($P(^DPT(BDMSPAT,0),U,2)="M")
  1. K BDMSEXD,BDMSDF1
  1. S BDMSTXN=0
  1. I $$VERSION^XPDUTL("BW")>2.9 G PAPA
  1. S BDMSBWR=0 S:$D(X) BDMSAVX=X S X="BWUTL1" X ^%ZOSF("TEST") S:$D(BDMSAVX) X=BDMSAVX K BDMSAVX I $T S BDMSBWR=1
  1. I BDMSBWR,$D(^BWP(BDMSPAT,0)) S BDMSTXN=BDMSTXN+1,BDMSTEX(BDMSTXN)=$$CNEED^BWUTL1(BDMSPAT) I BDMSTEX(1)="UNKNOWN" K BDMSTEX(1) S BDMSTXN=0
  1. PAPA ;
  1. ;S BDMSTP=$$HYSTER^BDMS9B4(BDMSPAT,DT)
  1. S BDMSTP=$$HYSTER^BDMPB12(BDMSPAT,DT)
  1. I BDMSTP]"" S BDMSTXN=BDMSTXN+1,BDMSTEX(BDMSTXN)="Pt had hysterectomy. Pap may be necessary",BDMSTXN=BDMSTXN+1,BDMSTEX(BDMSTXN)="based on individual followup."
  1. I $O(BDMSTEX("")) S BDMSDAT="" Q
  1. Q
  1. ;
  1. ;
  1. ACE(P,D) ;EP - return date of last ACE iNHIBITOR
  1. ;IHS/CMI/LAB patch 3 - added this subroutine
  1. ;go through all v meds until 9999999-D and find all drugs with class CV800 or CV805
  1. ;if none found check taxonomy
  1. G ACE^BDMS9B4
  1. I '$G(P) Q ""
  1. I '$G(D) S D=0 ;if don't pass date look at all time
  1. NEW V,I,%
  1. S %=""
  1. S I=0 F S I=$O(^AUPNVMED("AA",P,I)) Q:I'=+I!(%)!(I>(9999999-D)) D
  1. .S V=0 F S V=$O(^AUPNVMED("AA",P,I,V)) Q:V'=+V I $D(^AUPNVMED(V,0)) S G=$P(^AUPNVMED(V,0),U) I $P($G(^PSDRUG(G,0)),U,2)="CV800"!($P($G(^PSDRUG(G,0)),U,2)="CV805") S %=V
  1. I %]"" D Q %
  1. .I $P(^AUPNVMED(%,0),U,8)="" S %="Yes - "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. .I $P(^AUPNVMED(%,0),U,8)]"" S %="Discontinued - "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. NEW T S T=$O(^ATXAX("B","DM AUDIT ACE INHIBITORS",0))
  1. I 'T Q ""
  1. S I=0 F S I=$O(^AUPNVMED("AA",P,I)) Q:I'=+I!(%)!(I>(9999999-D)) D
  1. .S V=0 F S V=$O(^AUPNVMED("AA",P,I,V)) Q:V'=+V I $D(^AUPNVMED(V,0)) S G=$P(^AUPNVMED(V,0),U) I $D(^ATXAX(T,21,"B",G)) S %=V
  1. I %]"" D Q %
  1. .I $P(^AUPNVMED(%,0),U,8)="" S %="Yes - "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. .I $P(^AUPNVMED(%,0),U,8)]"" S %="Discontinued - "_$$FMTE^XLFDT($P($P(^AUPNVSIT($P(^AUPNVMED(%,0),U,3),0),U),".")) Q
  1. Q "No"
  1. ;
  1. ASPREF(P) ;EP - CHECK FOR ASPIRIN NMI OR REFUSAL
  1. I '$G(P) Q ""
  1. NEW X,N,Z,D,IEN,DATE,DRUG
  1. K X
  1. S T=$O(^ATXAX("B","DM AUDIT ASPIRIN DRUGS",0))
  1. I 'T Q ""
  1. S (D,G)=0 F S D=$O(^AUPNPREF("AA",P,50,D)) Q:D'=+D!(G) D
  1. .Q:'$D(^ATXAX(T,21,"B",D))
  1. .S X=$O(^AUPNPREF("AA",P,50,D,0))
  1. .S N=$O(^AUPNPREF("AA",P,50,D,X,0))
  1. .S G=1,DATE=9999999-X,DRUG=D,IEN=N
  1. I 'G Q ""
  1. Q $$VAL^XBDIQ1(50,DRUG,.01)_" "_$$TYPEREF^BDMSMU(IEN)_" on "_$$FMTE^XLFDT(DATE)