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

BGP7C3.m

Go to the documentation of this file.
  1. BGP7C3 ; IHS/CMI/LAB - calc CMS measures 26 Sep 2004 11:28 AM ;
  1. ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
  1. ;
  1. PNEU ;
  1. ;
  1. I '$$PNEUDX(BGPVSIT) Q
  1. ;
  1. S BGPX=$P(^DPT(DFN,0),U)_U_$$HRN^AUPNPAT(DFN,DUZ(2))_U_$P(^DPT(DFN,0),U,2)_U_$$AGE^AUPNPAT(DFN,$P($P(BGPVSIT0,U),"."))
  1. S $P(BGPX,U,5)=$$DATE^BGP7UTL($P($P(BGPVSIT0,U),"."))_"-"_$$DATE^BGP7UTL($$DSCH(BGPVINP))
  1. S $P(BGPX,U,6)=$$PRIMPOV^APCLV(BGPVSIT,"C")_" "_$$PRIMPOV^APCLV(BGPVSIT,"N")
  1. S BGPSKIP=0 K BGPZ
  1. I $$AGE^AUPNPAT(DFN,$P($P(BGPVSIT0,U),"."))<18 S BGPX="*"_BGPX,BGPSKIP=1,BGPZ(1)="under 18 yrs of age"
  1. S Z=$$VAL^XBDIQ1(9000010.02,BGPVINP,.06)
  1. S $P(BGPX,U,7)=Z
  1. ;I $$TRANSIN(BGPVINP) S:'BGPSKIP BGPX="*"_BGPX S BGPSKIP=1,BGPZ(2)="transferred in from another hospital"
  1. S Z=$$VAL^XBDIQ1(9000010.02,BGPVINP,.07)
  1. S $P(BGPX,U,8)=Z
  1. Q:$D(^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 1",$P(^DPT(DFN,0),U),DFN,BGPVSIT))
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 1",$P(^DPT(DFN,0),U),DFN,BGPVSIT)=BGPX ;a hit on list 1
  1. K BGPZ1 I $D(BGPZ) S X=0 F S X=$O(BGPZ(X)) Q:X'=+X S:$G(BGPZ1)]"" BGPZ1=BGPZ1_", " S BGPZ1=$G(BGPZ1)_BGPZ(X)
  1. I $D(BGPZ1) S BGPZ1="Exclusions: "_BGPZ1 S $P(^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 1",$P(^DPT(DFN,0),U),DFN,BGPVSIT),U,12)=BGPZ1
  1. S BGPCOUNT("L1",BGPIND)=$G(BGPCOUNT("L1",BGPIND))+1
  1. ;set up second list after applying exclusions
  1. Q:BGPSKIP
  1. S BGPX=$P(^DPT(DFN,0),U)_U_$$HRN^AUPNPAT(DFN,DUZ(2))_U_$P(^DPT(DFN,0),U,2)_U_$$AGE^AUPNPAT(DFN,$P($P(BGPVSIT0,U),"."))
  1. S $P(BGPX,U,5)=$$DATE^BGP7UTL($P($P(BGPVSIT0,U),"."))_"-"_$$DATE^BGP7UTL($$DSCH(BGPVINP))
  1. S $P(BGPX,U,6)=$$PRIMPOV^APCLV(BGPVSIT,"C")_" "_$$PRIMPOV^APCLV(BGPVSIT,"N")
  1. S $P(BGPX,U,7)=$$VAL^XBDIQ1(9000010.02,BGPVINP,.06)
  1. S $P(BGPX,U,8)=$$VAL^XBDIQ1(9000010.02,BGPVINP,.07)
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT)=BGPX
  1. S BGPCOUNT("L2",BGPIND)=$G(BGPCOUNT("L2",BGPIND))+1
  1. ;get other povs
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,1,"Other Discharge POVs:")=""
  1. S (X,C)=0 F S X=$O(^AUPNVPOV("AD",BGPVSIT,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVPOV(X,0))
  1. .Q:$P(^AUPNVPOV(X,0),U,12)="P"
  1. .S I=$P(^AUPNVPOV(X,0),U),I=$P($$ICDDX^ICDCODE(I),U,2)
  1. .S N=$$VAL^XBDIQ1(9000010.07,X,.04),N=$$UP^XLFSTR(N)
  1. .S C=C+1
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,1,"Other Discharge POVs:",C)=I,$E(^(C),9)=N
  1. .Q
  1. ABIRX ;
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,2,"Recent Antibiotic Rx Status?")=""
  1. K BGPDATA
  1. D ABRX1(DFN,$P($P(BGPVSIT0,U),"."),$$DSCH(BGPVINP),.BGPDATA)
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,2,"Recent Antibiotic Rx Status?",X)=BGPDATA(X)
  1. PNEUVAX ;
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,3,"Pneumovax Status?")=""
  1. K BGPDATA
  1. D PNEUVAX1(DFN,.BGPDATA)
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,3,"Pneumovax Status?",X)=BGPDATA(X)
  1. ABGPO ;
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,4,"ABG/PO Status?")=""
  1. K BGPDATA
  1. D ABGPO1^BGP7C31(DFN,$P($P(BGPVSIT0,U),"."),$$DSCH(BGPVINP),.BGPDATA)
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,4,"ABG/PO Status?",X)=BGPDATA(X)
  1. ERBC ;
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,5,"ER Visit with Blood Culture Status?")=""
  1. K BGPDATA
  1. D ERBC1(DFN,$$FMADD^XLFDT($P($P(BGPVSIT0,U),"."),-1),$P($P(BGPVSIT0,U),"."),.BGPDATA)
  1. S X=0 F S X=$O(BGPDATA(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,5,"ER Visit with Blood Culture Status?",X)=BGPDATA(X)
  1. SMOKER ;EP
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,6,"Smoker?")=""
  1. K BGPASAAL
  1. D SMOKER1^BGP7C12(DFN,$P($P(BGPVSIT0,U),"."),$$DSCH(BGPVINP),.BGPASAAL)
  1. S X=0 F S X=$O(BGPASAAL(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,6,"Smoker?",X)=BGPASAAL(X)
  1. CESS ;
  1. S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,7,"Smoking Cessation Advice/Counseling Status?")=""
  1. K BGPASAAL
  1. D CESS1^BGP7C12(DFN,$P($P(BGPVSIT0,U),"."),$$DSCH(BGPVINP),.BGPASAAL)
  1. S X=0 F S X=$O(BGPASAAL(X)) Q:X'=+X D
  1. .S ^XTMP("BGP7C1",BGPJ,BGPH,BGPORDER,BGPIND,"LIST 2",$P(^DPT(DFN,0),U),DFN,BGPVSIT,7,"Smoking Cessation Advice/Counseling Status?",X)=BGPASAAL(X)
  1. D EN^BGP7C12
  1. Q
  1. ABRX1(P,BGPA,BGPD,BGPY) ;EP
  1. NEW BGPG,BGPC,X,Y,Z,E,BD,ED
  1. S BGPC=0
  1. S ED=$$FMADD^XLFDT(BGPA,-1)
  1. S BD=$$FMADD^XLFDT(BGPA,-365)
  1. D GETMEDS^BGP7C1(P,BD,ED,"BGP CMS ANTIBIOTIC MEDS","BGP CMS ANTIBIOTIC MEDS NDC","BGP CMS ANTIBIOTICS MEDS CLASS")
  1. S X=$$CPTI^BGP7DU(P,BD,ED,+$$CODEN^ICPTCOD("G8012"))
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="CPT code G8012: "_$$DATE^BGP7UTL($P(X,U,2))
  1. S X=$$TRANI^BGP7DU(P,BD,ED,+$$CODEN^ICPTCOD("G8012"))
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="TRAN CODE CPT code G8012: "_$$DATE^BGP7UTL($P(X,U,2))
  1. ;now see if any procedures
  1. S X=0 F S X=$O(^AUPNVPRC("AC",P,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVPRC(X,0))
  1. .S I=$P($G(^AUPNVPRC(X,0)),U) Q:'I
  1. .S Y=$P($$ICDOP^ICDCODE(I),U,2)
  1. .I Y=99.21 D
  1. ..S V=$P(^AUPNVPRC(X,0),U,3)
  1. ..S V=$P($P($G(^AUPNVSIT(V,0)),U),".")
  1. ..I V>ED Q
  1. ..I V<BD Q
  1. ..S BGPC=BGPC+1,BGPY(BGPC)="ANTIBIOTIC PROCEDURE: "_$$DATE^BGP7UTL(V)_" ["_Y_"] "_$$VAL^XBDIQ1(9000010.08,X,.04)
  1. S BD=BGPA
  1. S ED=$$FMADD^XLFDT(BGPD,30)
  1. D GETMEDS^BGP7C1(P,BD,ED,"BGP CMS ANTIBIOTIC MEDS","BGP CMS ANTIBIOTIC MEDS NDC","BGP CMS ANTIBIOTICS MEDS CLASS")
  1. S X=$$CPTI^BGP7DU(P,BD,ED,+$$CODEN^ICPTCOD("G8012"))
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="CPT code G8012: "_$$DATE^BGP7UTL($P(X,U,2))
  1. S X=$$TRANI^BGP7DU(P,BD,ED,+$$CODEN^ICPTCOD("G8012"))
  1. I X S BGPC=BGPC+1,BGPY(BGPC)="TRAN CODE CPT code G8012: "_$$DATE^BGP7UTL($P(X,U,2))
  1. ;now see if any procedures
  1. S X=0 F S X=$O(^AUPNVPRC("AC",P,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVPRC(X,0))
  1. .S I=$P($G(^AUPNVPRC(X,0)),U) Q:'I
  1. .S Y=$P($$ICDOP^ICDCODE(I),U,2)
  1. .I Y=99.21 D
  1. ..S V=$P(^AUPNVPRC(X,0),U,3)
  1. ..S V=$P($P($G(^AUPNVSIT(V,0)),U),".")
  1. ..I V>ED Q
  1. ..I V<BD Q
  1. ..S BGPC=BGPC+1,BGPY(BGPC)="ANTIBIOTIC PROCEDURE: "_$$DATE^BGP7UTL(V)_" ["_Y_"] "_$$VAL^XBDIQ1(9000010.08,X,.04)
  1. Q
  1. SET ;
  1. S BGPX(D)=C1_" "_C_" "_$$DATE^BGP7UTL(D)
  1. Q
  1. PNEUVAX1(P,BGPY) ;
  1. K BGPG,BGPX
  1. S BGPC=0
  1. S X=P_"^ALL IMM 33" S E=$$START1^APCLDF(X,"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(^AUPNVIMM(Y,0))
  1. .S Y=$P(^AUPNVIMM(Y,0),U,1)
  1. .Q:'Y
  1. .S C=$P($G(^AUTTIMM(Y,0)),U)
  1. .Q:C=""
  1. .S D=$P(BGPG(X),U),C1=$P(^AUTTIMM(Y,0),U,3)
  1. .D SET
  1. .Q
  1. K BGPG S X=P_"^ALL IMM 100" S E=$$START1^APCLDF(X,"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(^AUPNVIMM(Y,0))
  1. .S Y=$P(^AUPNVIMM(Y,0),U,1)
  1. .Q:'Y
  1. .S C=$P($G(^AUTTIMM(Y,0)),U)
  1. .Q:C=""
  1. .S D=$P(BGPG(X),U),C1=$P(^AUTTIMM(Y,0),U,3)
  1. .D SET
  1. .Q
  1. K BGPG S X=P_"^ALL IMM 109" S E=$$START1^APCLDF(X,"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(^AUPNVIMM(Y,0))
  1. .S Y=$P(^AUPNVIMM(Y,0),U,1)
  1. .Q:'Y
  1. .S C=$P($G(^AUTTIMM(Y,0)),U)
  1. .Q:C=""
  1. .S D=$P(BGPG(X),U),C1=$P(^AUTTIMM(Y,0),U,3)
  1. .D SET
  1. .Q
  1. K BGPG S %=P_"^ALL PROCEDURE 99.55",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 C=$P($$ICDOP^ICDCODE(Y,D),U,4)
  1. .Q:C=""
  1. .S C1=$P($$ICDOP^ICDCODE(Y,D),U,2)
  1. .D SET
  1. .Q
  1. K BGPG S %=P_"^ALL DX V03.82",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 C=$P($$ICDDX^ICDCODE(Y,D),U,4)
  1. .Q:C=""
  1. .S C1=$P($$ICDDX^ICDCODE(Y,D),U,2)
  1. .D SET
  1. .Q
  1. K BGPG S %=P_"^ALL DX V03.89",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 C=$P($$ICDDX^ICDCODE(Y,D),U,4)
  1. .Q:C=""
  1. .S C1=$P($$ICDDX^ICDCODE(Y,D),U,2)
  1. .D SET
  1. .Q
  1. K BGPG S %=P_"^ALL DX V06.6",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 C=$P($$ICDDX^ICDCODE(Y,D),U,4)
  1. .Q:C=""
  1. .S C1=$P($$ICDDX^ICDCODE(Y,D),U,2)
  1. .D SET
  1. .Q
  1. ;now check for cpts
  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. .I C1'=90732,C1'=90669 Q
  1. .S C=$$VAL^XBDIQ1(9000010.18,X,.019)
  1. .S D=$P(^AUPNVCPT(X,0),U,3)
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .D SET
  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. .I C1'=90732,C1'=90669 Q
  1. .S C=$$VALI^XBDIQ1(9000010.33,X,.07)
  1. .I C="" Q
  1. .S C=$P($$CPT^ICPTCOD(C),U,3)
  1. .S D=$P(^AUPNVTC(X,0),U,3)
  1. .S D=$P($P($G(^AUPNVSIT(D,0)),U),".")
  1. .D SET
  1. .Q
  1. ;refusals?
  1. K BGPI F X=33,100,109 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)) ;not an ACEI
  1. .S D=0 F S D=$O(^AUPNPREF("AA",P,50,X,D)) Q:D'=+D D
  1. ..S Y=9999999-D
  1. ..Q:$D(BGPX(Y)) S BGPX(Y)="REFUSAL: "_$$VAL^XBDIQ1(9000022,N,.04)_" "_$$DATE^BGP7UTL($P(^AUPNPREF(N,0),U,3))_" "_$$VAL^XBDIQ1(9000022,X,1101)
  1. ..Q
  1. .Q
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",33,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(BGPX(D)) S BGPX(D)="REFUSAL: Immunization Package "_$$DATE^BGP7UTL(D)
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",100,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(BGPX(D)) S BGPX(D)="REFUSAL: Immunization Package "_$$DATE^BGP7UTL(D)
  1. S (X,G)=0,Y=$O(^AUTTIMM("C",109,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(BGPX(D)) S BGPX(D)="REFUSAL: Immunization Package "_$$DATE^BGP7UTL(D)
  1. S D=0 F S D=$O(BGPX(D)) Q:D'=+D S BGPC=BGPC+1,BGPY(BGPC)=BGPX(D)
  1. K BGPX,BGPC,BGPI,X,Y,D
  1. Q
  1. ERBC1(P,BD,ED,BGPY) ;
  1. K BGPG,BGPY
  1. S BPGC=0
  1. S A="BGPG(",B=P_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BD)_"-"_$$FMTE^XLFDT(ED),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 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:$$CLINIC^APCLV(V,"C")'=30
  1. .S BGPC=BGPC+1,BGPY(BGPC)="ER Visit: "_$$DATE^BGP7UTL($P($P(^AUPNVSIT(V,0),U),"."))
  1. .S BGPC=BGPC+1,BGPY(BGPC)="ER Diagnoses: "
  1. .S A=0 F S A=$O(^AUPNVPOV("AD",V,A)) Q:A'=+A D
  1. ..S BGPC=BGPC+1,BGPY(BGPC)=" "_$$VAL^XBDIQ1(9000010.07,A,.01)_" "_$$VAL^XBDIQ1(9000010.07,A,.04)
  1. .S BGPC=BGPC+1,BGPY(BGPC)="Blood Culture: "
  1. .;now check cpts/tran codes for 87040, 87103
  1. .S Z=0 F S Z=$O(^AUPNVCPT("AD",V,Z)) Q:Z'=+Z D
  1. ..Q:'$D(^AUPNVCPT(Z,0))
  1. ..S C1=$$VAL^XBDIQ1(9000010.18,Z,.01)
  1. ..I C1'=87040,C1'=87103 Q
  1. ..S BGPC=BGPC+1,BGPY(BGPC)="CPT code: "_C1
  1. ..Q
  1. .;tran codes
  1. .S Z=0 F S Z=$O(^AUPNVTC("AD",V,Z)) Q:Z'=+Z D
  1. ..Q:'$D(^AUPNVTC(Z,0))
  1. ..S C1=$$VAL^XBDIQ1(9000010.33,Z,.07)
  1. ..I C1'=87040,C1'=87103 Q
  1. ..S BGPC=BGPC+1,BGPY(BGPC)="TRAN CODE CPT code: "_C1
  1. ..Q
  1. .S T=$O(^ATXAX("B","BGP BLOOD CULTURE LOINC",0))
  1. .S BGPLT=$O(^ATXLAB("B","BGP CMS BLOOD CULTURE",0))
  1. .S B=9999999-$P($P(^AUPNVSIT(V,0),U),"."),E=9999999-$P($P(^AUPNVSIT(V,0),U),".") S D=E-1 F S D=$O(^AUPNVLAB("AE",P,D)) Q:D'=+D!(D>B) D
  1. ..S L=0 F S L=$O(^AUPNVLAB("AE",P,D,L)) Q:L'=+L D
  1. ...S A=0 F S A=$O(^AUPNVLAB("AE",P,D,L,A)) Q:A'=+A D
  1. ....Q:'$D(^AUPNVLAB(A,0))
  1. ....I $$VAL^XBDIQ1(9000010.09,A,.01)="BLOOD CULTURE" D Q
  1. .....S BGPC=BGPC+1,BGPY(BGPC)=" LAB: "_$$VAL^XBDIQ1(9000010.09,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$P(^AUPNVLAB(A,0),U,4) Q
  1. ....I BGPLT,$P(^AUPNVLAB(A,0),U),$D(^ATXLAB(BGPLT,21,"B",$P(^AUPNVLAB(A,0),U))) S BGPC=BGPC+1,BGPY(BGPC)=" LAB: "_$$VAL^XBDIQ1(9000010.09,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$P(^AUPNVLAB(A,0),U,4) Q
  1. ....Q:'T
  1. ....S J=$P($G(^AUPNVLAB(A,11)),U,13) Q:J=""
  1. ....Q:'$$LOINC^BGP7D21(J,T)
  1. ....S BGPC=BGPC+1,BGPY(BGPC)=" LAB: "_$$VAL^XBDIQ1(9000010.09,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$P(^AUPNVLAB(A,0),U,4)
  1. ....Q
  1. .S B=9999999-$P($P(^AUPNVSIT(V,0),U),"."),E=9999999-$P($P(^AUPNVSIT(V,0),U),".") S D=E-1 F S D=$O(^AUPNVMIC("AE",P,D)) Q:D'=+D!(D>B) D
  1. ..S L=0 F S L=$O(^AUPNVMIC("AE",P,D,L)) Q:L'=+L D
  1. ...S A=0 F S A=$O(^AUPNVMIC("AE",P,D,L,A)) Q:A'=+A D
  1. ....Q:'$D(^AUPNVMIC(A,0))
  1. ....I $$VAL^XBDIQ1(9000010.25,A,.01)="BLOOD CULTURE" D Q
  1. .....S BGPC=BGPC+1,BGPY(BGPC)=" MICRO: "_$$VAL^XBDIQ1(9000010.25,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$$VAL^XBDIQ1(9000010.25,A,.04)_" "_$P(^AUPNVMIC(A,0),U,7) Q
  1. ....I BGPLT,$P(^AUPNVMIC(A,0),U),$D(^ATXLAB(BGPLT,21,"B",$P(^AUPNVMIC(A,0),U))) D
  1. .....S BGPC=BGPC+1,BGPY(BGPC)=" MICRO: "_$$VAL^XBDIQ1(9000010.25,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$$VAL^XBDIQ1(9000010.25,A,.04)_" "_$P(^AUPNVMIC(A,0),U,7) Q
  1. ....Q:'T
  1. ....S J=$P($G(^AUPNVMIC(A,11)),U,13) Q:J=""
  1. ....Q:'$$LOINC^BGP7D21(J,T)
  1. ....S BGPC=BGPC+1,BGPY(BGPC)=" MICRO: "_$$VAL^XBDIQ1(9000010.25,A,.01)_" "_$$DATE^BGP7UTL($P(BGPG(X),U))_" value: "_$$VAL^XBDIQ1(9000010.25,A,.04)_" "_$P(^AUPNVMIC(A,0),U,7)
  1. ....Q
  1. Q
  1. AMA(H) ;
  1. S X=$P(^AUPNVINP(H,0),U,6)
  1. I X="" Q 0
  1. S X=$P($G(^DG(405.1,X,"IHS")),U,1)
  1. I X=3 Q 1
  1. Q 0
  1. PNEUDX(V) ;
  1. S C=$$PRIMPOV^APCLV(V,"I")
  1. I C="" Q 0 ;no primary dx
  1. S T=$O(^ATXAX("B","BGP CMS PNEUMONIA DXS",0))
  1. I $$ICD^ATXCHK(C,T,9) Q 1 ;primary dx of pneumonia
  1. ;PRIMARY of resp failure and seconday of pneumonia
  1. S T=$O(^ATXAX("B","BGP CMS SEPTI/RESP FAIL DXS",0))
  1. I '$$ICD^ATXCHK(C,T,9) Q 0 ;resp failure not primary pov
  1. S T=$O(^ATXAX("B","BGP CMS PNEUMONIA DXS",0))
  1. S (X,G)=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. .S I=$P(^AUPNVPOV(X,0),U)
  1. .Q:'$$ICD^ATXCHK(I,T,9)
  1. .S G=1
  1. .Q
  1. Q G
  1. EXPIRED(H) ;
  1. S X=$P(^AUPNVINP(H,0),U,6)
  1. I X="" Q 0
  1. S X=$P($G(^DG(405.1,X,"IHS")),U,1)
  1. I X=4!(X=5)!(X=6)!(X=7) Q 1
  1. Q 0
  1. DSCH(H) ;
  1. Q $P($P(^AUPNVINP(H,0),U),".")
  1. TRANSIN(H) ;
  1. S X=$P(^AUPNVINP(H,0),U,7)
  1. I X="" Q 0
  1. S X=$P($G(^DG(405.1,X,"IHS")),U,1)
  1. I X=2!(X=3) Q 1
  1. Q 0
  1. TRANS(H) ;
  1. S X=$P(^AUPNVINP(H,0),U,6)
  1. I X="" Q 0
  1. S X=$P($G(^DG(405.1,X,"IHS")),U,1)
  1. I X=2 Q 1
  1. Q 0