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

BDMDE1B.m

Go to the documentation of this file.
  1. BDMDE1B ; IHS/CMI/LAB - get dm audit values ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**10**;JUN 14, 2007;Build 12
  1. ;
  1. TD(P,EDATE) ;EP
  1. ;
  1. NEW BDM1
  1. S BDM1=$$TD^BDMS9B3(P,$$DOB^AUPNPAT(P),EDATE)
  1. NEW D,X S D=$P(BDM1," ",2),X=""
  1. I D]"" NEW X S X=D D ^%DT S X=$$DATE^BDMS9B1(Y)
  1. I $E(BDM1)="Y" Q "1 "_$P(BDM1," ",1)_" "_X
  1. I $E(BDM1)="N" Q "2 "_$P(BDM1," ",1)_" "_X
  1. I $E(BDM1)="R" Q "3 "_$P(BDM1," ",1)_" "_X
  1. Q ""
  1. TDAP(P,BDMSED,F) ;EP
  1. NEW BDMY,X,E,B,%DT,Y,TDD
  1. S TDD=$$LASTTDAP(P,BDMSED)
  1. I TDD Q "1 Yes "_$S($G(F)="A":$$DATE^BDMS9B1(TDD),1:$$DATE^BDMS9B1(TDD))
  1. S R="",G="" F R=115 Q:R=""!(G) D
  1. .S G=$$REFUSAL^BDMDE17(P,9999999.14,$O(^AUTTIMM("C",R,0)),$$FMADD^XLFDT(DT,-365),DT,"R")
  1. I G Q "3 Refused "_$P(G,U,3)
  1. ;; BI REFUSALS
  1. S G="" F Z=115 Q:G S X=0,Y=$O(^AUTTIMM("C",Z,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X!(G) D
  1. .S R=$P(^BIPC(X,0),U,3)
  1. .Q:R=""
  1. .Q:'$D(^BICONT(R,0))
  1. .Q:$P(^BICONT(R,0),U,1)'["Refusal"
  1. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .Q:D<$$FMADD^XLFDT(DT,-365)
  1. .S G=1_U_D
  1. I G Q "3 Refused "_$S($G(F)="A":$$DATE^BDMS9B1($P(G,U,2)),1:$$DATE^BDMS9B1($P(G,U,2)))
  1. Q "2 No "_$S($G(F)="A":$$DATE^BDMS9B1(TDD),1:$$DATE^BDMS9B1(TDD))
  1. LASTTDAP(BDMPDFN,BDMED) ;PEP - date of last TD
  1. ;
  1. I $G(BDMPDFN)="" Q ""
  1. S BDMBD=$$DOB^AUPNPAT(BDMPDFN)
  1. I $G(BDMED)="" S BDMED=DT
  1. NEW BDMLAST,BDMVAL,BDMX,R,X,Y,V,E,T,G,BDMY,BDMF
  1. S BDMLAST=""
  1. S BDMVAL=$$LASTITEM^APCLAPIU(BDMPDFN,"115","IMMUNIZATION",$S($P(BDMLAST,U)]"":$P(BDMLAST,U),1:BDMBD),BDMED,"A")
  1. S BDMF=$$LASTCPTI^BDMSMU2(BDMPDFN,90715,BDMBD,BDMED)
  1. I BDMF,$P(BDMF,U,3)>$P(BDMVAL,U,1) Q $P(BDMF,U,3)
  1. Q $P(BDMVAL,U,1)
  1. PREG(P,BDATE,EDATE,NORXCHR,NORX,CPBD,CPED) ;EP
  1. I $P(^DPT(P,0),U,2)'="F" Q ""
  1. NEW B,E,A,CNT,BDMD,BDMG,X,Y,BDMDX,C,D,G,T,%,CTR,VIEN,DXT,PXT,CPTT,BDMV,H
  1. I '$G(FORM) S FORM=""
  1. I $G(CPBD)="" S CPBD=BDATE
  1. I $G(CPED)="" S CPED=EDATE
  1. S A=""
  1. I $P($G(^AUPNREP(P,11)),U,1)="Y" D I A S BDMD=B G MA
  1. .S B=$P($G(^AUPNREP(P,11)),U,2) Q:B=""
  1. .Q:B<CPBD
  1. .Q:B>CPED
  1. .S A=1
  1. .Q
  1. S BDMD=""
  1. D ALLV^APCLAPIU(P,BDATE,EDATE,"BDMV")
  1. I '$D(BDMV) G PROB
  1. S B=0,CNT=0,BDMD="" ;if there is one before time frame set this to 1
  1. S NORXCHR=$G(NORXCHR)
  1. S NORX=$G(NORX)
  1. K BDMG
  1. S DXT="BGP PREGNANCY DIAGNOSES 2"
  1. S PXT="BGP PREGNANCY ICD PROCEDURES"
  1. S CPTT="BGP PREGNANCY CPT CODES"
  1. ;CHECK DX, PROCS, CPTS for 2 separate visits
  1. S B=0,CTR=0 F S CTR=$O(BDMV(CTR)) Q:CTR'=+CTR D
  1. .;get visit into VIEN
  1. .S VIEN=$P(BDMV(CTR),U,5)
  1. .S D=$$VD^APCLV(VIEN)
  1. .S C=$$CLINIC^APCLV(VIEN,"C")
  1. .I NORXCHR,C=39 Q
  1. .I NORX,C=39 Q
  1. .S C=$$PRIMPROV^APCLV(VIEN,"D")
  1. .I NORXCHR,C=53 Q ;no chr as primary provider
  1. .;now check for dx
  1. .S Y=0,H="" F S Y=$O(^AUPNVPOV("AD",VIEN,Y)) Q:Y'=+Y D
  1. ..S %=+^AUPNVPOV(Y,0)
  1. ..I $$ICD^BDMUTL(%,DXT,9) S BDMDX(D)="",CNT=CNT+1,H=1 I D>$$FMADD^XLFDT(EDATE,-365) S B=1
  1. .Q:H
  1. .;NOW GO THROUGH CPTS
  1. .S Y=0,H="" F S Y=$O(^AUPNVCPT("AD",VIEN,Y)) Q:Y'=+Y D
  1. ..S %=+^AUPNVCPT(Y,0)
  1. ..I $$ICD^BDMUTL(%,CPTT,1) I '$D(BDMDX(D)) S BDMDX(D)="",CNT=CNT+1,H=1 I D>$$FMADD^XLFDT(EDATE,-365) S B=1
  1. .Q:H
  1. .;NOW PROCEDURES
  1. .S Y=0,H="" F S Y=$O(^AUPNVPRC("AD",VIEN,Y)) Q:Y'=+Y D
  1. ..S %=+^AUPNVPRC(Y,0)
  1. ..I $$ICD^BDMUTL(%,PXT,0) I '$D(BDMDX(D)) S BDMDX(D)="",CNT=CNT+1,H=1 I D>$$FMADD^XLFDT(EDATE,-365) S B=1
  1. .Q:H
  1. .Q
  1. I CNT>1,B D G MA
  1. .;SET BDMD TO SECOND VISIT DATE
  1. .S X=0,C=0 F S X=$O(BDMDX(X)) Q:X'=+X!(C>1) S C=C+1 I C=2 S BDMD=X
  1. ;
  1. PROB ;
  1. I '$G(B) Q "" ;no pregnancy visit during time period ;-Lori fix in 09
  1. S T=$O(^ATXAX("B","BGP PREGNANCY DIAGNOSES 2",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE
  1. .Q:$P(^AUPNPROB(X,0),U,8)<BDATE
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:'$$ICD^BDMUTL(Y,T,9)
  1. .S G=$P(^AUPNPROB(X,0),U,8)
  1. .Q
  1. I G=0,BDMD="" Q 0
  1. S BDMD=G
  1. MA ;now check for abortion or miscarriage
  1. K BDMG S Y="BDMG(" S X=P_"^LAST DX [BGP MISCARRIAGE/ABORTION DXS;DURING "_$$FMTE^XLFDT(BDMD)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
  1. I $D(BDMG(1)) Q 0 ;HAD MIS/AB
  1. S BDMG=$$LASTPRCT^BDMAPIU(P,BDATE,EDATE,"BGP ABORTION PROCEDURES","A")
  1. I BDMG Q 0
  1. S T=$O(^ATXAX("B","BGP MISCARRIAGE/ABORTION DXS",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:$P(^AUPNPROB(X,0),U,8)<BDMD
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:'$$ICD^BDMUTL(Y,T,9)
  1. .S G=1
  1. .Q
  1. I G Q 0
  1. ;now check CPTs for Abortion and Miscarriage
  1. S T=$O(^ATXAX("B","BGP CPT ABORTION",0))
  1. S %=$$CPT^BDMDEDU(P,BDMD,EDATE,T,3)
  1. I %]"" Q 0
  1. S T=$O(^ATXAX("B","BGP CPT MISCARRIAGE",0))
  1. S %=$$CPT^BDMDEDU(P,BDMD,EDATE,T,3)
  1. I %]"" Q 0
  1. S T=$O(^ATXAX("B","BGP CPT ABORTION",0))
  1. S %=$$TRAN^BDMDEDU(P,BDMD,EDATE,T,3)
  1. I %]"" Q 0
  1. S T=$O(^ATXAX("B","BGP CPT MISCARRIAGE",0))
  1. S %=$$TRAN^BDMDEDU(P,BDMD,EDATE,T,3)
  1. I %]"" Q 0
  1. I FORM="" Q 1
  1. Q 1_U_$$DATE^BDMS9B1(BDMD)
  1. PREGX(P,BDATE,EDATE,NORXCHR,NORX,RPBD) ;EP
  1. NEW BDMDX,B,CNT,BDMD,BDMG,Y,X,D,C,T,G,%
  1. I $P(^DPT(P,0),U,2)'="F" Q ""
  1. S B=0,CNT=0,BDMD="" ;if there is one before time frame set this to 1
  1. S NORXCHR=$G(NORXCHR)
  1. S NORX=$G(NORX)
  1. K BDMG
  1. S Y="BDMG("
  1. S X=P_"^ALL DX [BGP PREGNANCY DIAGNOSES 2;DURING "_$$DATE^BDMS9B1(BDATE)_"-"_$$DATE^BDMS9B1(EDATE) S E=$$START1^APCLDF(X,Y)
  1. ;now reorder by date of diagnosis and eliminate all chr and rx if necessary
  1. I '$D(BDMG) G PROB ;no diagnoses
  1. S B=0,X=0 F S X=$O(BDMG(X)) Q:X'=+X D
  1. .;get date
  1. .S D=$P(BDMG(X),U,1)
  1. .S C=$$CLINIC^APCLV($P(BDMG(X),U,5),"C")
  1. .I NORXCHR,C=39 Q
  1. .I NORX,C=39 Q
  1. .S C=$$PRIMPROV^APCLV($P(BDMG(X),U,5),"D")
  1. .I NORXCHR,C=53 Q ;no chr as primary provider
  1. .S BDMDX(D)="",CNT=CNT+1 I CNT=2 S BDMD=D
  1. .Q
  1. I CNT>1 Q 1
  1. PROBX ;
  1. I '$G(B) Q "" ;no pregnancy visit during time period ;-Lori fix in 09
  1. S T=$O(^ATXAX("B","BGP PREGNANCY DIAGNOSES 2",0))
  1. S (X,G)=0 F S X=$O(^AUPNPROB("AC",P,X)) Q:X'=+X!(G) D
  1. .Q:$P(^AUPNPROB(X,0),U,12)="D"
  1. .Q:$P(^AUPNPROB(X,0),U,12)="I"
  1. .Q:$P(^AUPNPROB(X,0),U,8)>EDATE
  1. .Q:$P(^AUPNPROB(X,0),U,8)<BDATE
  1. .S Y=$P(^AUPNPROB(X,0),U)
  1. .Q:'$$ICD^BDMUTL(Y,"BGP PREGNANCY DIAGNOSES 2",9)
  1. .S G=$P(^AUPNPROB(X,0),U,8)
  1. .Q
  1. I G Q 1
  1. Q 0
  1. STATE(P) ;EP - STATE OF PATIENT1)
  1. I '$G(P) Q ""
  1. NEW X,C
  1. S X=$$GET1^DIQ(2,P,.115,"I")
  1. I 'X Q ""
  1. I +$$GET1^DIQ(5,X,2)>69 Q ""
  1. Q $$GET1^DIQ(5,X,1)
  1. CESS ;EP - find any cessation hf in 12 months before
  1. I '$G(P) Q ""
  1. I $P($$TOBACCO^BDMDE1T(P,$$DOB^AUPNPAT(P),EDATE),U,1)'=1 Q ""
  1. NEW BDM,E,X,G,T,O,D,H,C,Q,BDMLPED,SN,SNY
  1. S BDMLPED=""
  1. K BDM
  1. S T=$O(^ATXAX("B","DM AUDIT CESSATION HLTH FACTOR",0))
  1. S (H,D)=0 S O=""
  1. S H=0 F S H=$O(^AUPNVHF("AA",P,H)) Q:H'=+H!(O]"") D
  1. .S G=0
  1. .I $D(^ATXAX(T,21,"AA",H)) S G=1
  1. .I $P(^AUTTHF(H,0),U,1)["CESSATION",$$VAL^XBDIQ1(9999999.64,H,.03)["TOBACCO" S G=1
  1. .Q:'G
  1. .S D="" F S D=$O(^AUPNVHF("AA",P,H,D)) Q:D'=+D!(BDMLPED]"") D
  1. ..Q:(9999999-D)>EDATE ;after time frame
  1. ..Q:(9999999-D)<BDATE ;before time frame
  1. ..S BDMLPED=(9999999-D)_U_$P(^AUTTHF(H,0),U)
  1. .Q
  1. NEW BDMALLED,X,Y,%,T,G,A,B,E,Z,BDMMEDS1,Q,SN,SN1,SN2,SN3
  1. K BDMALLED
  1. S Y="BDMALLED("
  1. S X=P_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE) S E=$$START1^APCLDF(X,Y)
  1. S %="",SNY=$O(^BDMSNME("B",2017,0)),SN=$O(^BDMSNME(SNY,11,"B","TOBACCO CESSATION PATIENT ED",0))
  1. S SN1=$O(^BDMSNME(SNY,11,"B","PXRM BGP TOBACCO SMOKER",0))
  1. S SN2=$O(^BDMSNME(SNY,11,"B","PXRM BGP TOBACCO SMOKELESS",0))
  1. S SN3=$O(^BDMSNME(SNY,11,"B","PXRM BGP QUIT TOBACCO",0))
  1. I $D(BDMALLED(1)) S %="" D I %]"" S BDMLPED=%
  1. .S (X,D)=0,T="" F S X=$O(BDMALLED(X)) Q:X'=+X D
  1. ..S T=$P(^AUPNVPED(+$P(BDMALLED(X),U,4),0),U)
  1. ..Q:'T
  1. ..Q:'$D(^AUTTEDT(T,0))
  1. ..S T=$P(^AUTTEDT(T,0),U,2)
  1. ..I $P(T,"-")="TO",$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-",2)="TO",$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-",2)="SHS",$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..;make the call here to the BGP SMOKING DXS taxonomy
  1. ..;p8 ICD-10
  1. ..N CODE
  1. ..S CODE=$P($$CODEN^BDMUTL($P(T,"-",1),80),"~")
  1. ..I CODE>0 D
  1. ...N TAX
  1. ...S TAX=$O(^ATXAX("B","BGP TOBACCO USER DXS",0))
  1. ...I $$ICD^BDMUTL(CODE,"BGP TOBACCO USER DXS",9),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-",1)="D1320"!($P(T,"-")="99406")!($P(T,"-")="99407")!($P(T,"-")="G0375")!($P(T,"-")="G0376")!($P(T,"-")="4000F")!($P(T,"-")="G8402")!($P(T,"-")="G8453"),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-")]"",$D(^BDMSNME(SNY,11,SN,11,"B",$P(T,"-"))),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-")]"",$D(^BDMSNME(SNY,11,SN1,11,"B",$P(T,"-"))),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-")]"",$D(^BDMSNME(SNY,11,SN2,11,"B",$P(T,"-"))),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. ..I $P(T,"-")]"",$D(^BDMSNME(SNY,11,SN3,11,"B",$P(T,"-"))),$P(BDMLPED,U)<$P(BDMALLED(X),U) S %=$P(BDMALLED(X),U)_U_T Q
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"",",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. S X=0,G="" F S X=$O(^TMP($J,"A",X)) Q:X'=+X S V=$P(^TMP($J,"A",X),U,5) D
  1. .Q:'$D(^AUPNVSIT(V,0))
  1. .Q:'$P(^AUPNVSIT(V,0),U,9)
  1. .Q:$P(^AUPNVSIT(V,0),U,11)
  1. .S B=$$CLINIC^APCLV(V,"C")
  1. .I B=94,$P(BDMLPED,U)<$P($P(^AUPNVSIT(V,0),U),".") S BDMLPED=$P($P(^AUPNVSIT(V,0),U),".")_U_"Clinic 94" Q
  1. .S Z=0 F S Z=$O(^AUPNVDEN("AD",V,Z)) Q:Z'=+Z!(G) S B=$P($G(^AUPNVDEN(Z,0)),U) I B S B=$P($G(^AUTTADA(B,0)),U) I B=1320,$P(BDMLPED,U)<$P($P(^AUPNVSIT(V,0),U),".") S BDMLPED=$P($P(^AUPNVSIT(V,0),U),".")_U_"ADA 1320" Q
  1. .Q
  1. ;I BDMLPED]"" Q "1 Yes "_$$DATE^BDMS9B1($P(BDMLPED,U,1))_" "_$P(BDMLPED,U,2)
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("D1320")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT D1320"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("D1320")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN D1320"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD(99406)) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT 99406"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD(99406)) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN 99406"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD(99407)) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT 99407"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD(99407)) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN 99407"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G0375")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT G0375"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G0376")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT G0376"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("4000F")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT 4000F"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G0375")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN G0375"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G0376")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN G0376"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("4000F")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN 4000F"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("4001F")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CESSATION MED - CPT 4001F"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("4001F")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN 4001F"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G8402")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT G8402"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G8402")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN G8402"
  1. S G=$$CPTI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G8453")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"CPT G8453"
  1. S G=$$TRANI^BDMDEDU(P,BDATE,EDATE,+$$CODEN^ICPTCOD("G8453")) I G,$P(BDMLPED,U)<$P(G,U,2) S BDMLPED=$P(G,U,2)_U_"TRAN G8453"
  1. I BDMLPED]"" Q "1 Yes "_$$DATE^BDMS9B1($P(BDMLPED,U,1))_" "_$P(BDMLPED,U,2)
  1. ;now check meds
  1. K BDMMEDS1
  1. D GETMEDS^BDMDEDU(P,BDATE,EDATE,,,,,.BDMMEDS1)
  1. S T=$O(^ATXAX("B","BGP CMS SMOKING CESSATION MEDS",0))
  1. S T1=$O(^ATXAX("B","BGP CMS SMOKING CESSATION NDC",0))
  1. S (X,G,M,E)=0,D="" F S X=$O(BDMMEDS1(X)) Q:X'=+X S V=$P(BDMMEDS1(X),U,5),Y=+$P(BDMMEDS1(X),U,4) D
  1. .Q:'$D(^AUPNVSIT(V,0))
  1. .Q:$$UP^XLFSTR($P($G(^AUPNVMED(Y,11)),U))["RETURNED TO STOCK" ;new in v11.0
  1. .S Z=$P($G(^AUPNVMED(Y,0)),U) ;get drug ien
  1. .Q:'Z
  1. .S N=$P($G(^PSDRUG(Z,0)),U)
  1. .I $D(^ATXAX(T,21,"B",Z))!(N["NICOTINE TRANS")!(N["NICOTINE PATCH")!(N["NICOTINE POLACRILEX")!(N["NICOTINE INHALER")!(N["NICOTINE NASAL SPRAY") D
  1. ..I $P(BDMLPED,U)<$P($P(^AUPNVSIT(V,0),U),".") S BDMLPED=$P($P(^AUPNVSIT(V,0),U),".")_U_"CESSATION MED - "_N
  1. .S C=$P($G(^PSDRUG(Z,2)),U,4)
  1. .I C]"",$D(^ATXAX(T1,21,"B",C)) I $P(BDMLPED,U)<$P($P(^AUPNVSIT(V,0),U),".") S BDMLPED=$P($P(^AUPNVSIT(V,0),U),".")_U_"CESSATION MED - "_N
  1. I BDMLPED]"" Q "1 Yes "_$$DATE^BDMS9B1($P(BDMLPED,U,1))_" "_$P(BDMLPED,U,2)
  1. PEDREF ; REFUSALS REMOVED 2017 AUDIT
  1. Q "2 No"