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

BDMDF17.m

Go to the documentation of this file.
  1. BDMDF17 ; IHS/CMI/LAB - 2018 DIABETES AUDIT 03 Nov 2015 9:29 AM ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**11**;JUN 14, 2007;Build 30
  1. DIETEDUC(P,BDATE,EDATE) ;EP
  1. NEW D,BD,ED,X,Y,%DT,D,G,BDMVRD,V,BDM,RD,NRD,BDMV
  1. S (RD,NRD,BDMV)=""
  1. S X=BDATE,%DT="P" D ^%DT S BD=Y
  1. S X=EDATE,%DT="P" D ^%DT S ED=Y
  1. S D=9999999-ED,(RD,NRD)=""
  1. F S D=$O(^AUPNVSIT("AA",P,D)) Q:D=""!(D>(9999999-BD)) D
  1. .S V=0 F S V=$O(^AUPNVSIT("AA",P,D,V)) Q:V'=+V D
  1. ..Q:'$D(^AUPNVSIT(V,0))
  1. ..Q:$P(^AUPNVSIT(V,0),U,11)
  1. ..Q:'$P(^AUPNVSIT(V,0),U,9)
  1. ..Q:$$DNKA(V)
  1. ..Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. ..Q:$$CLINIC^APCLV(V,"C")=52
  1. ..I $$PRIMPROV^APCLV(V,"D")=29 S BDMVRD(V)="",BDMV=BDMV_" RD: "_$P(^DIC(7,$O(^DIC(7,"D",29,0)),0),U)_" Visit: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " Q
  1. ..I $$PRIMPROV^APCLV(V,"D")="07" S BDMVRD(V)="",BDMV=BDMV_" RD: "_$P(^DIC(7,$O(^DIC(7,"D","07",0)),0),U)_" Visit: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " Q
  1. ..I $$PRIMPROV^APCLV(V,"D")="34" S BDMVRD(V)="",BDMV=BDMV_" RD: "_$P(^DIC(7,$O(^DIC(7,"D",34,0)),0),U)_" Visit: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " Q
  1. ..;now check povs for V65.3 and label as non-rd
  1. ..;change this to check to see if in BGP DIETARY SURVEILLANCE DXS TAXONOMY calls are $$ICD^ATXCH(code)
  1. ..;S X=0 F S X=$O(^AUPNVPOV("AD",V,X)) Q:X'=+X I $$VAL^XBDIQ1(9000010.07,X,.01)="V65.3" S NRD=1,BDMV=BDMV_"NRD: V65.3 Dx: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" "
  1. ..N TAX
  1. ..S TAX=$O(^ATXAX("B","BGP DIETARY SURVEILLANCE DXS",0))
  1. ..;S X=0 F S X=$O(^AUPNVPOV("AD",V,X)) Q:X'=+X I $$ICD^ATXCHK($$VALI^XBDIQ1(9000010.07,X,.01),TAX,9) S NRD=1,BDMV=BDMV_"NRD: "_$$VAL^XBDIQ1(9000010.07,X,.01)_" Dx: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " ;p8 ICD-10
  1. ..S X=0 F S X=$O(^AUPNVPOV("AD",V,X)) Q:X'=+X I $$ICD^BDMUTL($$VALI^XBDIQ1(9000010.07,X,.01),$P(^ATXAX(TAX,0),U),9) S NRD=1,BDMV=BDMV_"NRD: "_$$VAL^XBDIQ1(9000010.07,X,.01)_" Dx: "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " ;p8 ICD-10
  1. ..S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X S Z=$$VAL^XBDIQ1(9000010.18,X,.01) I Z=97802!(Z=97803)!(Z=97804) S RD=1,BDMV=BDMV_"RD: CPT "_Z_" "_$$DATE^BDMS9B1($$VD^APCLV(V))_" "
  1. ..;now check for education topics
  1. ..S T=$O(^ATXAX("B","DM AUDIT DIET EDUC TOPICS",0))
  1. ..S X=0 F S X=$O(^AUPNVPED("AD",V,X)) Q:X'=+X S Y=$P($G(^AUPNVPED(X,0)),U) D
  1. ...Q:'Y
  1. ...Q:'$D(^AUTTEDT(Y,0))
  1. ...I T,$D(^ATXAX(T,21,"B",Y)) S Z=$$PC(X) D Q
  1. ....I Z="07"!(Z=29)!(Z=34) S RD=1,BDMV=BDMV_"RD: "_$P(^AUTTEDT(Y,0),U,2)_" "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " Q
  1. ....S NRD=1,BDMV=BDMV_"NRD: "_$P(^AUTTEDT(Y,0),U,2)_" "_$$DATE^BDMS9B1($$VD^APCLV(V))_" "
  1. ...S J=$P(^AUTTEDT(Y,0),U,2) I $P(J,"-",2)="N"!($P(J,"-",2)="DT")!($P(J,"-")="MNT")!($P(J,"-",2)="MNT")!($P(J,"-")="DMCN") S Z=$$PC(X) D Q
  1. ....I Z="07"!(Z=29)!(Z=34) S RD=1,BDMV=BDMV_"RD: "_$P(^AUTTEDT(Y,0),U,2)_" "_$$DATE^BDMS9B1($$VD^APCLV(V))_" " Q
  1. ....S NRD=1,BDMV=BDMV_"NRD: "_$P(^AUTTEDT(Y,0),U,2)_" "_$$DATE^BDMS9B1($$VD^APCLV(V))_" "
  1. ..Q
  1. .Q
  1. I $D(BDMVRD) S RD=1 ;a RD visit so a hit
  1. S G=0
  1. I RD!(NRD) Q $S(RD+NRD=2:"3 Yes (RD & Non RD - Other) "_U_BDMV,RD:"1 Yes (RD) "_BDMV,1:"2 Yes (Non RD) "_BDMV)
  1. Q "4 None" ;_$S(G:" - Not Medically Indicated",1:"")
  1. PC(V) ;return provider discipline of educ provider
  1. I 'V Q ""
  1. NEW X S X=$P(^AUPNVPED(V,0),U,5)
  1. I 'X Q ""
  1. I $P(^DD(9000010.16,.05,0),U,2)[200 Q $$PROVCLSC^XBFUNC1(X)
  1. NEW A S A=$P(^DIC(6,X,0),U,4)
  1. I 'A Q ""
  1. Q $P($G(^DIC(7,A,9999999)),U)
  1. EXEDUC(P,BDATE,EDATE) ;EP
  1. NEW BDM,X,E,%,G
  1. S X=P_"^LAST EDUC [DM AUDIT EXERCISE EDUC TOPICS;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. I $D(BDM(1)) Q "1 Yes "_$P(BDM(1),U,3)_" "_$$DATE^BDMS9B1($P(BDM(1),U,1))
  1. K BDM
  1. S X=P_"^ALL EDUC;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. S X=0,G=0 F S X=$O(BDM(X)) Q:X'=+X!(G) S I=+$P(BDM(X),U,4),E=$P($G(^AUPNVPED(I,0)),U),T=$P($G(^AUTTEDT(E,0)),U,2) I $P(T,"-",2)="EX" S G=1
  1. I G Q "1 Yes "_T_" "_$$VD^APCLV($P(^AUPNVPED(I,0),U,3),"E")
  1. K BDM
  1. S X=P_"^LAST DX [BGP EXERCISE COUNSELING DXS;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(") ;p8 ICD-10
  1. I $D(BDM(1)) Q "1 Yes POV: "_$P(BDM(1),U,3)_" "_$$DATE^BDMS9B1($P(BDM(1),U))
  1. Q "2 No"
  1. OTHEDUC(P,BDATE,EDATE) ;EP
  1. NEW BDM,X,E,%,T,TX
  1. S TX=$O(^ATXAX("B","DM AUDIT OTHER EDUC TOPICS",0))
  1. K BDM
  1. S X=P_"^ALL EDUC;DURING "_BDATE_"-"_EDATE S E=$$START1^APCLDF(X,"BDM(")
  1. S X=0,G=0 F S X=$O(BDM(X)) Q:X'=+X!(G) D
  1. .S I=+$P(BDM(X),U,4)
  1. .S J=$P($G(^AUPNVPED(I,0)),U)
  1. .Q:'J
  1. .S T=$P($G(^AUTTEDT(J,0)),U,2)
  1. .I $P(T,"-",2)="EX" Q
  1. .I $P(T,"-",2)="N" Q
  1. .I $P(T,"-",2)="MNT" Q
  1. .I $P(T,"-",1)="MNT" Q
  1. .I $P(T,"-",2)="DT" Q
  1. .I $P(T,"-",1)="DMCN" Q
  1. .I TX,$D(^ATXAX(TX,21,"AA",J)) S G="1 Yes "_T_" "_$$DATE^BDMS9B1($$VD^APCLV($P(^AUPNVPED(I,0),U,3),"I"))
  1. .I $P(T,"-",1)="DM"!($P(T,"-",1)="DMC") S G="1 Yes "_T_" "_$$DATE^BDMS9B1($$VD^APCLV($P(^AUPNVPED(I,0),U,3),"I")) Q
  1. .N CODE
  1. .S CODE=$P($$CODEN^BDMUTL($P(T,"-",1),80),"~")
  1. .I CODE>0 D Q
  1. ..N TAX
  1. ..S TAX=$O(^ATXAX("B","SURVEILLANCE DIABETES",0))
  1. ..I $$ICD^BDMUTL(CODE,$P(^ATXAX(TAX,0),U),9) S G="1 Yes "_T_" "_$$DATE^BDMS9B1($$VD^APCLV($P(^AUPNVPED(I,0),U,3),"I"))
  1. .I $P(T,"-",1)]"",$$SNOMED^BDMUTL(2018,"PXRM DIABETES",$P(T,"-",1)) S G="1 Yes "_T_" "_$$DATE^BDMS9B1($$VD^APCLV($P(^AUPNVPED(I,0),U,3),"I"))
  1. I G Q G
  1. Q "2 No" ;_$S(G:" - Not Medically Indicated",1:"")
  1. ;
  1. DFE(P,BDATE,EDATE,F,R) ;EP - FOOT EXAM
  1. I $G(BDATE)="" S BDATE=$$DOB^AUPNPAT(P)
  1. I $G(EDATE)="" S EDATE=DT
  1. I $G(F)="" S F="E"
  1. NEW BDMY,BDMV,%,LASTI,A,D,V,G,PROV,E,T,PROVI,G
  1. S LASTI=""
  1. S BDMY(1)=$$LASTDFE^APCLAPI2(P,BDATE,EDATE,"D")
  1. I BDMY(1) S LASTI=$P(BDMY(1),U)_U_"1 Yes "_$$DATE^BDMS9B1($P(BDMY(1),U))_" Diabetic Foot Exam"
  1. S G=$$LASTCPTT^BDMAPIU(P,BDATE,EDATE,"BGP CPT FOOT EXAM","E")
  1. I G,$P(BDMY(1),U)<$P(G,U,1) S LASTI=$P(G,U,1)_U_"1 Yes "_$$DATE^BDMS9B1($P(G,U,1))_" "_$P(G,U,2)
  1. I LASTI]"",F="H" Q $P(LASTI,U,2) ;in supplement
  1. I F="E",LASTI]"" Q $P(LASTI,U,2) ; if in audit and has exam display it
  1. ;now check any clinic 65 or prov 33/25
  1. ;
  1. K T
  1. S T="T"
  1. D ALLV^BDMAPIU(P,BDATE,EDATE,.T)
  1. ;reorder by date of visit/reverse order
  1. S %=0 F S %=$O(T(%)) Q:%'=+% S BDMY((9999999-$P(T(%),U)),$P(T(%),U,5))=T(%)
  1. N PROV,D,V,G
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) D
  1. .Q:$$DNKA(V)
  1. .Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. .Q:$$CLINIC^APCLV(V,"C")=52
  1. .S PROV=$$PRIMPROV^APCLV(V,"D"),PROVI=$$PRIMPROV^APCLV(V,"F") I (PROV=33!(PROV=25)!(PROV=84)) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe ",1:"Yes ")_$$DATE^BDMS9B1($P(G,U))_" "_$P(^DIC(7,PROVI,0),U,1)_" visit"
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) D
  1. .Q:$$DNKA(V)
  1. .Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. .Q:$$CLINIC^APCLV(V,"C")=52
  1. .S PROV=$$CLINIC^APCLV(V,"C"),PROVI=$$CLINIC^APCLV(V,"I") I PROV=65!(PROV="B7") S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe ",1:"Yes ")_$$DATE^BDMS9B1($P(G,U))_" "_$P(^DIC(40.7,PROVI,0),U,1)_" clinic visit"
  1. ;
  1. I $G(R) K T Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2)) ;no refusals
  1. ;
  1. I LASTI]"" K T Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2))
  1. ;
  1. NEW G S G=$$REFUSAL(P,9999999.15,$O(^AUTTEXAM("B","DIABETIC FOOT EXAM, COMPLETE",0)),BDATE,EDATE,"N")
  1. Q "2 No"_$S(G:" - Not Medically Indicated",1:"")
  1. ;
  1. ADA(V) ;any ada other than 9991
  1. I '$G(V) Q ""
  1. NEW X,Y,Z,G
  1. S G="",X=0 F S X=$O(^AUPNVDEN("AD",V,X)) Q:X'=+X!(G) S Y=$P($G(^AUPNVDEN(X,0)),U) I Y,$D(^AUTTADA(Y,0)),$P(^AUTTADA(Y,0),U)'=9991 S G=1
  1. Q G
  1. DNKA(V) ;EP - 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. REFR(V) ;
  1. I '$G(V) Q ""
  1. NEW D,N S D=$$PRIMPOV^APCLV(V,"I")
  1. I D="" Q 0
  1. ;change this to look at the DM AUDIT REFRACTION taxonomy
  1. N TAX
  1. S TAX=$O(^ATXAX("B","DM AUDIT REFRACTION DXS",0))
  1. ;I $$ICD^ATXCHK(D,TAX,9) Q 1
  1. I $$ICD^BDMUTL(D,$P(^ATXAX(TAX,0),U),9) Q 1 ;cmi/maw 05/15/2014 p8
  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. ;
  1. REFUSAL(P,F,I,B,E,T) ;EP
  1. I '$G(P) Q ""
  1. I '$G(F) Q ""
  1. I '$G(I) Q ""
  1. I $G(B)="" Q ""
  1. I $G(E)="" Q ""
  1. NEW G,X,Y,%DT,R S X=B,%DT="P" D ^%DT S B=Y
  1. S X=E,%DT="P" D ^%DT S E=Y
  1. S (X,G)=0 F S X=$O(^AUPNPREF("AA",P,F,I,X)) Q:X'=+X!(G) S Y=0 F S Y=$O(^AUPNPREF("AA",P,F,I,X,Y)) Q:Y'=+Y S D=$P(^AUPNPREF(Y,0),U,3) I D'<B&(D'>E) D
  1. .I $G(T)]"",T'=$P(^AUPNPREF(Y,0),U,7) Q
  1. .S G=1_"^"_$P(^AUPNPREF(Y,0),U,7)_U_$$DATE^BDMS9B1($P(^AUPNPREF(Y,0),U,3))_U_$$VAL^XBDIQ1(9000022,Y,.04)_U_$$VAL^XBDIQ1(9000022,Y,.07)_U_$$VAL^XBDIQ1(9000022,Y,.01)_U_$P(^AUPNPREF(Y,0),U,3)
  1. Q G
  1. ;
  1. EYE(P,BDATE,EDATE,F,R) ;EP
  1. I $G(BDATE)="" S BDATE=$$DOB^AUPNPAT(P)
  1. I $G(EDATE)="" S EDATE=DT
  1. I $G(F)="" S F="E"
  1. NEW BDMY,BDMV,%,LASTI,BD,ED,T,D,%,Y,X,G,V,PROV,T,PROVI
  1. S LASTI=$$LASTITEM^APCLAPIU(P,"03","EXAM",BDATE,EDATE,"D")
  1. I LASTI]"" S $P(LASTI,U,2)="1 Yes "_$$DATE^BDMS9B1($P(LASTI,U))_" Diabetic Eye Exam" ; I F="H"!(F="D") Q LASTI
  1. I F="E",LASTI]"" Q $P(LASTI,U,2) ; if in audit and has exam display it
  1. ;
  1. S X=$$LASTCPTT^BDMAPIU(P,BDATE,EDATE,"DM AUDIT EYE EXAM CPTS","E")
  1. I $P(X,U)>$P(LASTI,U) S LASTI=$P(X,U)_U_"1 Yes "_$$DATE^BDMS9B1($P(X,U))_" "_$P(X,U,2) ;I F="H"!(F="D") Q LASTI
  1. K BDMV,BDMY
  1. I F="E",LASTI]"" Q $P(LASTI,U,2)
  1. ;
  1. S X=$$LASTPRCT^BDMAPIU(P,BDATE,EDATE,"DM AUDIT EYE EXAM PROCS","A")
  1. I $P(X,U)>$P(LASTI,U) S LASTI=$P(X,U)_U_"1 Yes "_$$DATE^BDMS9B1($P(X,U,1))_" "_$P(X,U,2)
  1. I F="D" Q $P(LASTI,U)
  1. I LASTI,F="H" Q $P(LASTI,U,2)
  1. I LASTI,F="E" Q $P(LASTI,U,2)
  1. S T="T"
  1. D ALLV^BDMAPIU(P,BDATE,EDATE,.T)
  1. ;reorder by date of visit/reverse order
  1. S %=0 F S %=$O(T(%)) Q:%'=+% S BDMY((9999999-$P(T(%),U)),$P(T(%),U,5))=T(%)
  1. N PROV,D,V,G
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) D
  1. .Q:$$DNKA(V)
  1. .Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. .Q:$$CLINIC^APCLV(V,"C")=52
  1. .S PROV=$$PRIMPROV^APCLV(V,"D"),PROVI=$$PRIMPROV^APCLV(V,"F") I (PROV=24!(PROV=79)!(PROV="08")),'$$REFR(V) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe",1:"Yes")_" "_$$DATE^BDMS9B1($P(G,U))_" "_$P(^DIC(7,PROVI,0),U,1)_" Visit "
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) D
  1. .Q:$$DNKA(V)
  1. .Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. .Q:$$CLINIC^APCLV(V,"C")=52
  1. .S PROV=$$CLINIC^APCLV(V,"C"),PROVI=$$CLINIC^APCLV(V,"I") I PROV=17!(PROV=18)!(PROV="A2"),'$$REFR(V) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe",1:"Yes")_" "_$$DATE^BDMS9B1($P(G,U))_" "_$P(^DIC(40.7,PROVI,0),U,1)_" Clinic Visit "
  1. ;
  1. I $G(R) Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2)) ;no refusals
  1. ;
  1. I LASTI]"" Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2))
  1. ;
  1. NEW G S G=$$REFUSAL(P,9999999.15,$O(^AUTTEXAM("B","DIABETIC EYE EXAM",0)),BDATE,EDATE,"N")
  1. Q "2 No"_$S(G:" - Not Medically Indicated",1:"")
  1. ;
  1. DENTAL(P,BDATE,EDATE,F,R) ;EP
  1. NEW BDMY,BDMV,%,LASTI,BD,ED,T,D,%,Y,X,G,V,PROV
  1. I $G(BDATE)="" S BDATE=$$DOB^AUPNPAT(P)
  1. I $G(EDATE)="" S EDATE=DT
  1. I $G(F)="" S F="E"
  1. S LASTI=$$LASTDENT^APCLAPI2(P,BDATE,EDATE,"D")
  1. I LASTI]"" S $P(LASTI,U,2)="1 Yes "_$$DATE^BDMS9B1($P(LASTI,U))_" Dental Exam" I F="H" Q LASTI
  1. I F="E",LASTI]"" Q $P(LASTI,U,2) ; if in audit and has exam display it
  1. ;
  1. K BDMV,BDMY
  1. ;
  1. K T
  1. S T="T"
  1. D ALLV^BDMAPIU(P,BDATE,EDATE,.T)
  1. ;reorder by date of visit/reverse order
  1. S %=0 F S %=$O(T(%)) Q:%'=+% S BDMY((9999999-$P(T(%),U)),$P(T(%),U,5))=T(%)
  1. N PROV,D,V,G
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) D
  1. .Q:$$DNKA(V)
  1. .Q:$P(^AUPNVSIT(V,0),U,7)="C"
  1. .Q:$$CLINIC^APCLV(V,"C")=52
  1. .S PROV=$$PRIMPROV^APCLV(V,"D") I PROV=52,$$ADA(V) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe",1:"Yes")_" "_$$DATE^BDMS9B1($P(G,U))_" Dentist Visit "
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) S PROV=$$CLINIC^APCLV(V,"C") I PROV=56,$$ADA(V),$O(^AUPNVDEN("AD",V,0)),'$$DNKA(V) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 "_$S(F="H":"Maybe",1:"Yes")_" "_$$DATE^BDMS9B1($P(G,U))_" Dental Clinic Visit "
  1. ;
  1. S (D,V)=0,G=""
  1. F S D=$O(BDMY(D)) Q:D'=+D!(G) S V=0 F S V=$O(BDMY(D,V)) Q:V'=+V!(G) I $$DCPT(V) S G=9999999-D
  1. I G]"" D
  1. .Q:$P(LASTI,U)>G
  1. .S LASTI=G_U_"1 Yes"_" "_$$DATE^BDMS9B1($P(G,U))_" Dental CPT "
  1. ;
  1. I $G(R) Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2)) ;no refusals
  1. ;
  1. I LASTI]"" Q $S(F="D":$P(LASTI,U),1:$P(LASTI,U,2))
  1. ;
  1. NEW G S G=$$REFUSAL(P,9999999.15,$O(^AUTTEXAM("B","DENTAL EXAM",0)),BDATE,EDATE,"N")
  1. Q "2 No"_$S(G:" - Not Medically Indicated",1:"")
  1. DCPT(V) ;
  1. NEW A,B,C
  1. S B=""
  1. S A=0 F S A=$O(^AUPNVCPT("AD",V,A)) Q:A'=+A!(B) D
  1. .I $$ICD^BDMUTL($P($G(^AUPNVCPT(A,0)),U,1),"BGP DENTAL VISIT CPT CODES",1) S B=1
  1. Q B