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

BGP9CU4.m

Go to the documentation of this file.
  1. BGP9CU4 ; IHS/CMI/LAB - calc CMS measures 26 Sep 2004 11:28 AM 04 May 2008 2:38 PM 05 Dec 2007 5:23 PM ;
  1. ;;9.0;IHS CLINICAL REPORTING;;JUL 1, 2009
  1. ;
  1. EXCLCOMP(P,ADMD,DSCHD,BGPY) ;EP
  1. NEW X,BGPC
  1. S BGPC=0
  1. ;
  1. ;HIV/AIDS dxs
  1. S X=$$HIV(P,$$DOB^AUPNPAT(P),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="HIV/AIDS: ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3))
  1. ;
  1. ;Systemic Chemotherapy
  1. S X=$$SYSCHEMO(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Systemic Immunotherapy
  1. S X=$$SYSIMMUN(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Leukemia
  1. S X=$$LEUKEMIA(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Lymphoma
  1. S X=$$LYMPHOMA(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Radiation Therapy
  1. S X=$$RADTHER(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;chronic dialysis
  1. S X=$$CHRDIAL(P,$$FMADD^XLFDT(ADMD,-30),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,2,99)
  1. ;
  1. Q
  1. COMP(P,ADMD,DSCHD,BGPY) ;EP
  1. NEW X,BGPC
  1. S BGPC=0
  1. ;
  1. ;HIV/AIDS dxs
  1. S X=$$HIV(P,$$DOB^AUPNPAT(P),DSCHD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="HIV/AIDS: ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3))
  1. ;
  1. ;Systemic Chemotherapy
  1. S X=$$SYSCHEMO(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Systemic Immunotherapy
  1. S X=$$SYSIMMUN(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Leukemia
  1. S X=$$LEUKEMIA(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Lymphoma
  1. S X=$$LYMPHOMA(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. ;Radiation Therapy
  1. S X=$$RADTHER(P,$$FMADD^XLFDT(ADMD,-90),ADMD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)=$P(X,U,6)
  1. ;
  1. Q
  1. HIV(P,BDATE,EDATE) ;EP
  1. NEW X
  1. S X=$$LASTDX^BGP9UTL1(P,"BGP HIV/AIDS DXS",BDATE,EDATE)
  1. I X Q 1_U_$P(X,U,2)_" "_$$DATE^BGP9UTL($P(X,U,3))
  1. Q ""
  1. ;
  1. SYSCHEMO(P,BDATE,EDATE) ;EP
  1. NEW X
  1. ;
  1. S X=$$LASTDXI^BGP9UTL1(P,"V58.11",BDATE,EDATE)
  1. I X S $P(X,U,6)="SYSTEMIC CHEMOTHERAPY: [V58.11] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. S X=$$LASTPRCI^BGP9UTL1(P,"99.25",BDATE,EDATE)
  1. I X S $P(X,U,6)="SYSTEMIC CHEMOTHERAPY: [99.25] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. NEW BGPG,I,D,G,C
  1. K BGPG
  1. S G=""
  1. D GETMEDS^BGP9UTL2(P,BDATE,EDATE,"","","","",.BGPG)
  1. S T=$O(^ATXAX("B","BGP CMS SYSTEMIC CHEMO MEDS",0))
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) D
  1. .S I=+$P(BGPG(X),U,4)
  1. .S D=$P($G(^AUPNVMED(I,0)),U)
  1. .Q:'D
  1. .S C=$P($G(^PSDRUG(D,0)),U,2)
  1. .I C["AN" S G=1_"^^^^^SYSTEMIC CHEMOTHERAPY: "_$P(^PSDRUG(D,0),U)_" CLASS: "_$P(^PSDRUG(D,0),U,2) Q
  1. .I $D(^ATXAX(T,21,"B",D)) S G=1_"^^^^^SYSTEMIC CHEMOTHERAPY: "_$P(^PSDRUG(D,0),U)_" CLASS: "_$P(^PSDRUG(D,0),U,2) Q
  1. I G Q G
  1. Q ""
  1. ;
  1. SYSIMMUN(P,BDATE,EDATE) ;EP
  1. NEW X
  1. ;
  1. S X=$$LASTDXI^BGP9UTL1(P,"V58.12",BDATE,EDATE)
  1. I X S $P(X,U,6)="SYSTEMIC IMMUNOSUPPRESSIVE THERAPY: [V58.12] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. S X=$$LASTPRCI^BGP9UTL1(P,"00.15",BDATE,EDATE)
  1. I X S $P(X,U,6)="SYSTEMIC IMMUNOSUPPRESSIVE THERAPY: [00.15] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. S X=$$LASTPRCI^BGP9UTL1(P,"99.28",BDATE,EDATE)
  1. I X S $P(X,U,6)="SYSTEMIC IMMUNOSUPPRESSIVE THERAPY: [99.28] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. NEW BGPG,I,D,G,C
  1. K BGPG
  1. S G=""
  1. D GETMEDS^BGP9UTL2(P,BDATE,EDATE,"","","","",.BGPG)
  1. S T=$O(^ATXAX("B","BGP CMS IMMUNOSUPPRESSIVE MEDS",0))
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) D
  1. .S I=+$P(BGPG(X),U,4)
  1. .S D=$P($G(^AUPNVMED(I,0)),U)
  1. .Q:'D
  1. .S C=$P($G(^PSDRUG(D,0)),U,2)
  1. .I C["AN" S G=1_"^^^^^IMMUNOSUPPRESSIVE MED: "_$P(^PSDRUG(D,0),U)_" CLASS: "_$P(^PSDRUG(D,0),U,2) Q
  1. .I $D(^ATXAX(T,21,"B",D)) S G=1_"^^^^^IMMUNOSUPPRESSIVE MED: "_$P(^PSDRUG(D,0),U)_" CLASS: "_$P(^PSDRUG(D,0),U,2) Q
  1. I G Q G
  1. Q ""
  1. ;
  1. LEUKEMIA(P,BDATE,EDATE) ;EP
  1. NEW X
  1. S X=$$LASTDX^BGP9UTL1(P,"BGP CMS LEUKEMIA DXS",BDATE,EDATE)
  1. I X S $P(X,U,6)="LEUKEMIA ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. Q ""
  1. ;
  1. LYMPHOMA(P,BDATE,EDATE) ;EP
  1. NEW X
  1. S X=$$LASTDX^BGP9UTL1(P,"BGP CMS LYMPHOMA DXS",BDATE,EDATE)
  1. I X S $P(X,U,6)="LYMPHOMA ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. Q ""
  1. ;
  1. RADTHER(P,BDATE,EDATE) ;EP
  1. NEW X
  1. ;
  1. S X=$$LASTDXI^BGP9UTL1(P,"V58.0",BDATE,EDATE)
  1. I X S $P(X,U,6)="RADIATION THERAPY: [V58.0] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. S X=$$LASTPRC^BGP9UTL1(P,"BGP CMS RADIATION THER DXS",BDATE,EDATE)
  1. I X S $P(X,U,6)="RADIATION THERAPY: ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3)) Q X
  1. ;
  1. Q ""
  1. ;
  1. PRIORHOS(P,BDATE,EDATE,VSIT) ;EP
  1. NEW X,D,G,V
  1. S G=""
  1. S X=0 F S X=$O(^AUPNVINP("AC",P,X)) Q:X'=+X D
  1. .S D=$P($P($G(^AUPNVINP(X,0)),U),".")
  1. .Q:D<BDATE
  1. .Q:D>EDATE
  1. .S V=$P(^AUPNVINP(X,0),U,3)
  1. .Q:V=VSIT
  1. .Q:$P($G(^AUPNVSIT(X,0)),U,3)="C"
  1. .Q:$$TRANS^BGP9CU(X)
  1. .S G=1_U_"Prior Hospital Stay: "_$$DATE^BGP9UTL($P($P(^AUPNVSIT(V,0),U),"."))_"-"_$$DATE^BGP9UTL(D)
  1. .Q
  1. Q G
  1. ;
  1. HOS2DAYS(P,BDATE,EDATE) ;EP
  1. NEW X,D,G,V,C,Y,E
  1. S C=0,E=0
  1. S G=""
  1. S X=0 F S X=$O(^AUPNVINP("AC",P,X)) Q:X'=+X D
  1. .S D=$P($P($G(^AUPNVINP(X,0)),U),".")
  1. .Q:D<BDATE
  1. .Q:D>EDATE
  1. .S V=$P(^AUPNVINP(X,0),U,3)
  1. .;Q:$P($G(^AUPNVSIT(X,0)),U,3)="C"
  1. .;Q:$$TRANS^BGP9CU(X)
  1. .S C=C+$$LOS^APCLV(V),E=E+1,Y(E)=$$DATE^BGP9UTL($P($P(^AUPNVSIT(V,0),U),"."))_"-"_$$DATE^BGP9UTL(D)
  1. .Q
  1. I C>1 D Q G
  1. .S G=1_U_"Hospitalized for "_C_" days: " S V=0 F S V=$O(Y(V)) Q:V'=+V S $P(G,U,3)=$P(G,U,3)_Y(V)_"; "
  1. Q ""
  1. ;
  1. NURSHOME(P,BDATE,EDATE) ;EP
  1. NEW X,D,G,V,BGPG,Z,B
  1. S G=""
  1. K BGPG
  1. S A="BGPG(",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. I '$D(BGPG(1)) Q ""
  1. S (X,G)=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) S V=$P(BGPG(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. .Q:$P(^AUPNVSIT(V,0),U,7)'="R"
  1. .Q:$P(^AUPNVSIT(V,0),U,6)=""
  1. .S G=1_U_"Nursing Home Visit: "_$$DATE^BGP9UTL($P($P(^AUPNVSIT(V,0),U),"."))
  1. .Q
  1. Q G
  1. ;
  1. CHRDIAL(P,BDATE,EDATE) ;EP
  1. NEW G,X,D,V,Z,B,Q,T,T1
  1. S G=""
  1. NEW X,D,G,V,BGPG,Z,B,R
  1. S G=""
  1. K BGPG
  1. S A="BGPG(",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. I '$D(BGPG(1)) Q ""
  1. S T=$O(^ATXAX("B","BGP CMS CHRONIC DIALYSIS DXS",0))
  1. S T1=$O(^ATXAX("B","BGP CMS CHRONIC DIALYSIS CPTS",0))
  1. S (X,G)=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) S V=$P(BGPG(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 Z=0,Q="" F S Z=$O(^AUPNVPOV("AD",V,Z)) Q:Z'=+Z!(Q) D
  1. ..Q:'$D(^AUPNVPOV(Z,0))
  1. ..Q:'$$ICD^ATXCHK($P(^AUPNVPOV(Z,0),U),T,9)
  1. ..S Q=1_U_"DX: "_$$VAL^XBDIQ1(9000010.07,Z,.01)_" "_$$VAL^XBDIQ1(9000010.07,Z,.04)
  1. .Q:'Q
  1. .S Z=0,R="" F S Z=$O(^AUPNVCPT("AD",V,Z)) Q:Z'=+Z!(R) D
  1. ..Q:'$D(^AUPNVCPT(Z,0))
  1. ..Q:'$$ICD^ATXCHK($P(^AUPNVCPT(Z,0),U),T1,1)
  1. ..S R=1_U_"CPT: "_$$VAL^XBDIQ1(9000010.18,Z,.01)
  1. ..Q
  1. .Q:'R
  1. .S G=1_U_$P(Q,U,2)_" ; "_$P(R,U,2)_" "_$$DATE^BGP9UTL($$VD^APCLV(V))
  1. .Q
  1. Q G
  1. ;
  1. WOUNDCAR(P,BDATE,EDATE) ;EP
  1. NEW G,X,D,V,Z,B,Q,T,T1,K
  1. S G=""
  1. NEW X,D,G,V,BGPG,Z,B,R
  1. S G=""
  1. K BGPG
  1. S A="BGPG(",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(B,A)
  1. I '$D(BGPG(1)) Q ""
  1. S T=$O(^ATXAX("B","BGP CMS WOUND CARE DXS",0))
  1. S (X,G)=0 F S X=$O(BGPG(X)) Q:X'=+X!(G) S V=$P(BGPG(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 K=0
  1. .I $$CLINIC^APCLV(V)=11 S K=1
  1. .I $P(^AUPNVSIT(V,0),U,6)=$P($G(^BGPSITE(DUZ(2),0)),U,2) S K=1
  1. .Q:'K ;not a home visit
  1. .S Z=0,Q="" F S Z=$O(^AUPNVPOV("AD",V,Z)) Q:Z'=+Z!(Q) D
  1. ..Q:'$D(^AUPNVPOV(Z,0))
  1. ..Q:'$$ICD^ATXCHK($P(^AUPNVPOV(Z,0),U),T,9)
  1. ..S G=1_U_"HOME WOUND CARE DX: "_$$VAL^XBDIQ1(9000010.07,Z,.01)_" "_$$VAL^XBDIQ1(9000010.07,Z,.04)
  1. .Q
  1. Q G
  1. ;
  1. PSEUDO(H) ;EP
  1. NEW X,Y,Z,A,B,C,T,V
  1. S G=""
  1. I $G(H)="" Q ""
  1. I '$D(^AUPNVINP(H,0)) Q ""
  1. ;S T=$O(^ATXAX("B","BGP CMS BRONCHIECTASIS DXS",0))
  1. ;S X=$P(^AUPNVINP(H,0),U,12)
  1. I $$VAL^XBDIQ1(9000010.02,H,.12)="496." Q 1_U_"Bronchiectasis: Admitting DX: ["_$$VAL^XBDIQ1(9000010.02,H,.12)_"]"
  1. S V=$P(^AUPNVINP(H,0),U,3)
  1. S X=0 F S X=$O(^AUPNVPOV("AD",V,X)) Q:X'=+X!(G) D
  1. .Q:'$D(^AUPNVPOV(X,0))
  1. .Q:$P(^AUPNVPOV(X,0),U,12)="P"
  1. .I $$VAL^XBDIQ1(9000010.02,X,.01)'="496." Q
  1. .S G=1_U_"Bronchiectasis DX: "_$$VAL^XBDIQ1(9000010.07,X,.01)_" "_$$VAL^XBDIQ1(9000010.07,X,.04)
  1. .Q
  1. Q G
  1. COPD(P,EDATE) ;EP
  1. ;now check for COPD ever
  1. S X=$$LASTDX^BGP9UTL1(P,"BGP COPD DXS",$$DOB^AUPNPAT(P),EDATE)
  1. I X Q 1_U_"COPD DX: "_$P(X,U,2)_" "_$$DATE^BGP9UTL($P(X,U,3))_" "_$$VAL^XBDIQ1(9000010.07,$P(X,U,5),.04)
  1. Q ""
  1. ;
  1. FLUVAX(P,BDATE,EDATE,BGPDD,BGPY) ;EP
  1. NEW BGPG,BGPX,BGPC,X,Y,Z,A,B,C,R,C1,T
  1. S BGPC=0
  1. S X=0 F S X=$O(^AUPNVIMM("AC",P,X)) Q:X'=+X D
  1. .S Y=$P($G(^AUPNVIMM(X,0)),U)
  1. .Q:'Y
  1. .S C=$P($G(^AUTTIMM(Y,0)),U,3)
  1. .I C'=88,C'=15,C'=16,C'=111 Q
  1. .S D=$P(^AUPNVIMM(X,0),U,3)
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .Q:D<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Immunization CVX: "_C_" "_$$DATE^BGP9UTL($P($P(^AUPNVSIT($P(^AUPNVIMM(X,0),U,3),0),U),"."))
  1. K BGPG S %=P_"^ALL PROCEDURE 99.52;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X S Y=+$P(BGPG(X),U,4) D
  1. .Q:'$D(^AUPNVPRC(Y,0))
  1. .S Y=$P(^AUPNVPRC(Y,0),U,1)
  1. .Q:'Y
  1. .S D=$P(BGPG(X),U)
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Procedure 99.52: "_$$DATE^BGP9UTL(D)
  1. .Q
  1. K BGPG S %=P_"^ALL DX V04.8;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X S Y=+$P(BGPG(X),U,4) D
  1. .Q:'$D(^AUPNVPOV(Y,0))
  1. .S Y=$P(^AUPNVPOV(Y,0),U,1)
  1. .Q:'Y
  1. .S D=$P(BGPG(X),U)
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Diagnosis V04.8: "_$$DATE^BGP9UTL(D)
  1. .Q
  1. K BGPG S %=P_"^ALL DX V04.81;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X S Y=+$P(BGPG(X),U,4) D
  1. .Q:'$D(^AUPNVPOV(Y,0))
  1. .S Y=$P(^AUPNVPOV(Y,0),U,1)
  1. .Q:'Y
  1. .S D=$P(BGPG(X),U)
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Diagnosis V04.81: "_$$DATE^BGP9UTL(D)
  1. .Q
  1. K BGPG S %=P_"^ALL DX V06.6;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BGPG(")
  1. S X=0 F S X=$O(BGPG(X)) Q:X'=+X S Y=+$P(BGPG(X),U,4) D
  1. .Q:'$D(^AUPNVPOV(Y,0))
  1. .S Y=$P(^AUPNVPOV(Y,0),U,1)
  1. .Q:'Y
  1. .S D=$P(BGPG(X),U)
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Diagnosis V06.06: "_$$DATE^BGP9UTL(D)
  1. .Q
  1. ;now check for cpts
  1. S T=$O(^ATXAX("B","BGP CPT FLU",0))
  1. S X=0 F S X=$O(^AUPNVCPT("AC",P,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVCPT(X,0))
  1. .S C1=$$VAL^XBDIQ1(9000010.18,X,.01)
  1. .S C=$P(^AUPNVCPT(X,0),U)
  1. .I '$$ICD^ATXCHK(C,T,1) Q ;not a flu cpt
  1. .S D=$P(^AUPNVCPT(X,0),U,3)
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .Q:D<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="CPT: "_C1_" "_$$DATE^BGP9UTL(D)
  1. .Q
  1. ;tran codes
  1. S X=0 F S X=$O(^AUPNVTC("AC",P,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVTC(X,0))
  1. .S C1=$$VAL^XBDIQ1(9000010.33,X,.07)
  1. .S C=$P(^AUPNVTC(X,0),U,7)
  1. .I '$$ICD^ATXCHK(C,T,1) Q ;not a flu cpt
  1. .S D=$P(^AUPNVTC(X,0),U,3)
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .Q:D<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Tran code: "_C1_" "_$$DATE^BGP9UTL(D)
  1. .Q
  1. ;refusals?
  1. K BGPI F X=88,15,16,111 S Y=$O(^AUTTIMM("C",X,0)) I Y S BGPI(Y)=""
  1. S X=0 F S X=$O(^AUPNPREF("AA",P,9999999.14,X)) Q:X'=+X D
  1. .Q:'$D(BGPI(X))
  1. .S D=0 F S D=$O(^AUPNPREF("AA",P,9999999.14,X,D)) Q:D'=+D D
  1. ..S I=0 F S I=$O(^AUPNPREF("AA",P,9999999.14,X,D,I)) Q:I'=+I D
  1. ...Q:"NR"'[$P(^AUPNPREF(I,0),U,7)
  1. ...Q:(9999999-D)<BDATE
  1. ...Q:(9999999-D)>EDATE
  1. ...S BGPC=BGPC+1,BGPY(BGPC)="REFUSAL: "_$$VAL^XBDIQ1(9000022,I,.07)_" - "_$$VAL^XBDIQ1(9000022,I,.04)_" "_$$DATE^BGP9UTL($P(^AUPNPREF(I,0),U,3))_" "_$$VAL^XBDIQ1(9000022,I,1101)
  1. ..Q
  1. .Q
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",88,0)) F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X 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<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="REFUSAL: Immunization Package CVX 88 "_$$DATE^BGP9UTL(D)
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",15,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X 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<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="REFUSAL: Immunization Package CVX 15 "_$$DATE^BGP9UTL(D)
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",16,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X 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<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="REFUSAL: Immunization Package CVX 16 "_$$DATE^BGP9UTL(D)
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",111,0)) I Y F S X=$O(^BIPC("AC",P,Y,X)) Q:X'=+X 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<BDATE
  1. .Q:D>EDATE
  1. .S BGPC=BGPC+1,BGPY(BGPC)="REFUSAL: Immunization Package CVX 111 "_$$DATE^BGP9UTL(D)
  1. ;contraindication new in 8.0
  1. F BGPZ=15,16,88,111 S X=$$FLCONT^BGP9D3(P,BGPZ,$$DOB^AUPNPAT(DFN),EDATE) Q:X]""
  1. I X]"" S BGPC=BGPC+1,BGPY(BGPC)="NMI: "_$$DATE^BGP9UTL($P(X,U))_" "_$P(X,U,2)
  1. ;now check for bone marrow contraindication
  1. S X=$$LASTDXI^BGP9UTL1(P,"357.0",$$FMADD^XLFDT(BGPDD,-365),BGPDD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="Bone Marrow Contraindication: ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3))
  1. S X=$$LASTPRC^BGP9UTL1(P,"BGP CMS BONE MARROW PROC",$$FMADD^XLFDT(BGPDD,-365),BGPDD)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="Bone Marrow Contraindication: ["_$P(X,U,2)_"] "_$$DATE^BGP9UTL($P(X,U,3))
  1. S X=$$CPT^BGP9DU(P,$$FMADD^XLFDT(BGPDD,-365),BGPDD,$O(^ATXAX("B","BGP CMS BONE MARROW CPT",0)),6)
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="Bone Marrow Contraindication: ["_$P(X,U,3)_"] "_$$DATE^BGP9UTL($P(X,U,2))
  1. Q