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

BGPDD.m

Go to the documentation of this file.
  1. BGPDD ; IHS/CMI/LAB - indicator D ;
  1. ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
  1. ;
  1. ID ;EP ;EP - indicator D
  1. ;Q:'$D(BGPIND(30))
  1. Q:'$$DM^BGPD1(DFN,BGPEDATE)
  1. S BGPP=$$EYE(DFN,BGPEDATE)
  1. I BGPP]"" D S(BGPRPT,$S(BGPTIME=1:17,BGPTIME=0:47,BGPTIME=8:87,1:999),4,1)
  1. I $D(BGPLIST(30)),BGPTIME=1 S ^XTMP("BGPD",BGPJ,BGPH,"LIST",30,$S($P($G(^AUPNPAT(DFN,11)),U,18)]"":$P(^AUPNPAT(DFN,11),U,18),1:"UNKNOWN"),$P(^DPT(DFN,0),U,2),BGPAGEE,DFN)=BGPP
  1. Q
  1. S(R,N,P,V) ;
  1. I 'V Q ;no value to add
  1. S $P(^BGPD(R,N),U,P)=$P($G(^BGPD(R,N)),U,P)+V
  1. Q
  1. ;
  1. REFR(V) ;
  1. I '$G(V) Q ""
  1. NEW D,N S D=$$PRIMPOV^APCLV(V,"C")
  1. I D="367.89"!(D="367.9")!($E(D,1,5)=372.0)!($E(D,1,5)=372.1) Q 1
  1. Q 0
  1. DNKA(V) ;is this a DNKA visit?
  1. I '$G(V) Q ""
  1. NEW D,N S D=$$PRIMPOV^APCLV(V,"C")
  1. I D=".0860" Q 1
  1. S N=$$PRIMPOV^APCLV(V,"N")
  1. I $E(D)="V",N["DNKA" Q 1
  1. I $E(D)="V",N["DID NOT KEEP APPOINTMENT" Q 1
  1. I $E(D)="V",N["DID NOT KEEP APPT" Q 1
  1. Q 0
  1. EYE(P,EDATE) ;
  1. NEW BDATE,BGPG,%,E,T,T1,T2,T3 K BGPG S BDATE=$$FMADD^XLFDT(EDATE,-365),%=P_"^LAST EXAM DIABETIC EYE EXAM;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGPG(")
  1. I $D(BGPG(1)) Q "Yes-Diabetic Eye Exam"
  1. S BD=BDATE
  1. S ED=EDATE
  1. S T=+$$CODEN^ICPTCOD(92250),T1=+$$CODEN^ICPTCOD(92012),T2=+$$CODEN^ICPTCOD(92014),T3=+$$CODEN^ICPTCOD(92015)
  1. I T,$D(^AUPNVCPT("AA",P,T)) S %="" D I %]"" Q %
  1. .S E=0 F S E=$O(^AUPNVCPT("AA",P,T,E)) Q:E'=+E!(%]"") D
  1. ..S D=9999999-E ;date done
  1. ..I D>ED Q
  1. ..I D<BD Q
  1. ..S %="Yes-Fundus Photography"
  1. ..Q
  1. .Q
  1. I T1,$D(^AUPNVCPT("AA",P,T1)) S %="" D I %]"" Q %
  1. .S E=0 F S E=$O(^AUPNVCPT("AA",P,T1,E)) Q:E'=+E!(%]"") D
  1. ..S D=9999999-E ;date done
  1. ..I D>ED Q
  1. ..I D<BD Q
  1. ..S %="Yes-Eye Exam/Est Pat"
  1. ..Q
  1. .Q
  1. I T2,$D(^AUPNVCPT("AA",P,T2)) S %="" D I %]"" Q %
  1. .S E=0 F S E=$O(^AUPNVCPT("AA",P,T2,E)) Q:E'=+E!(%]"") D
  1. ..S D=9999999-E ;date done
  1. ..I D>ED Q
  1. ..I D<BD Q
  1. ..S %="Yes-Comp eye exam"
  1. ..Q
  1. .Q
  1. I T3,$D(^AUPNVCPT("AA",P,T3)) S %="" D I %]"" Q %
  1. .S E=0 F S E=$O(^AUPNVCPT("AA",P,T3,E)) Q:E'=+E!(%]"") D
  1. ..S D=9999999-E ;date done
  1. ..I D>ED Q
  1. ..I D<BD Q
  1. ..S %="Yes-CPT 92015"
  1. ..Q
  1. .Q
  1. S %=P_"^ALL VISITS;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. NEW X,Y,R S (X,Y)=0 F S X=$O(BGPG(X)) Q:X'=+X!(Y) S R=$$PRIMPROV^APCLV($P(BGPG(X),U,5),"D") I (R=24!(R=79)!(R="08")),'$$DNKA($P(BGPG(X),U,5)) S Y=1
  1. I Y Q "Yes-Optometrist/Opthamalogist Visit"
  1. S X=0,Y=0 F S X=$O(BGPG(X)) Q:X'=+X!(Y) S R=$$CLINIC^APCLV($P(BGPG(X),U,5),"C") I (R=17!(R=18)!(R=64)!(R="A2")),'$$DNKA($P(BGPG(X),U,5)) S Y=1
  1. I Y Q "Yes-Optometry/Opthamology Clinic"
  1. Q ""