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

BUD8RP6C.m

Go to the documentation of this file.
  1. BUD8RP6C ; IHS/CMI/LAB - UDS REPORT PROCESSOR 01 Dec 2008 3:10 PM 30 Dec 2008 7:19 PM ;
  1. ;;10.0;IHS/RPMS UNIFORM DATA SYSTEM;;FEB 04, 2016;Build 50
  1. ;
  1. ;
  1. GETIMMS(P,BDATE,EDATE,C,BUDX) ;EP
  1. K BUDX
  1. NEW X,Y,I,Z,V
  1. S X=0 F S X=$O(^AUPNVIMM("AC",P,X)) Q:X'=+X D
  1. .Q:'$D(^AUPNVIMM(X,0)) ;happens
  1. .S Y=$P(^AUPNVIMM(X,0),U)
  1. .Q:'Y ;happens too
  1. .S I=$P($G(^AUTTIMM(Y,0)),U,3) ;get HL7/CVX code
  1. .F Z=1:1:$L(C,U) I I=$P(C,U,Z) S V=$P(^AUPNVIMM(X,0),U,3) I V S D=$P($P($G(^AUPNVSIT(V,0)),U),".") I D]"",D'>EDATE,D'<BDATE S BUDX(D)="CVX: "_I_" on "_$$DATE^BUD8UTL1(D)
  1. .Q
  1. Q
  1. ;
  1. IMM ;EP - called from xbdbque
  1. ;must have DOB between 1/1/06 and 12/31/06
  1. S BUDDOB=$P(^DPT(DFN,0),U,3)
  1. ;Q:BUDDOB<3060101
  1. ;Q:BUDDOB>3061231
  1. Q:BUDDOB<3010101
  1. Q:BUDDOB>3011231
  1. S BUD2ND=$E(BUDDOB,1,3)+2_$E(BUDDOB,4,7)
  1. S BUD1ST=$E(BUDDOB,1,3)+1_$E(BUDDOB,4,7)
  1. ;
  1. ;S X=$$VBBD^BUD8RP6D(DFN,BUDDOB,$$FMADD^XLFDT(BUD2ND,-1))
  1. Q:BUDMEDV<1
  1. S BUDVBBD=$$VBBD^BUD8RP6D(DFN,BUDDOB,$$FMADD^XLFDT(BUD2ND,-1)) I 'BUDVBBD Q ;no visit before 2nd bd
  1. S BUDSECTC("PTS")=$G(BUDSECTC("PTS"))+1
  1. S BUD42D=$$FMADD^XLFDT(BUDDOB,42)
  1. S (BUDNDTP,BUDNIPV,BUDNMMR,BUDNHEP,BUDNHIB,BUDNVAR,BUDNPNEU)=""
  1. S BUDNDTP=$$DTAP^BUD8RP6X(DFN,BUD42D,BUD2ND)
  1. S BUDNIPV=$$IPV(DFN,BUD42D,BUD2ND)
  1. S BUDNMMR=$$MMR(DFN,BUDDOB,BUD2ND)
  1. S BUDNHEP=$$HEP^BUD8RP6Y(DFN,BUDDOB,BUD2ND)
  1. S BUDNHIB=$$HIB^BUD8RP6Y(DFN,BUD42D,BUD2ND)
  1. S BUDNVAR=$$VAR^BUD8RP6Y(DFN,BUD1ST,BUD2ND)
  1. S BUDNPNEU=$$PNEU^BUD8RP6Y(DFN,BUDDOB,BUD2ND)
  1. I BUDNDTP]"",BUDNIPV]"",BUDNMMR]"",BUDNHEP]"",BUDNHIB]"",BUDNVAR]"",BUDNPNEU]"" S BUDSECTC("IMM")=$G(BUDSECTC("IMM"))+1 D Q
  1. .I $G(BUDIMM1L) D
  1. ..S ^XTMP("BUD8RP6B",BUDJ,BUDH,"IMM1",$P(^DPT(DFN,0),U),BUDCOM,DFN)=BUDNDTP_U_BUDNIPV_U_BUDNMMR_U_BUDNHEP_U_BUDNHIB_U_BUDNVAR_U_BUDNPNEU_"|||"_BUDVBDD_U_BUDMEDVI
  1. ..Q
  1. I $G(BUDIMM2L) D
  1. .S V=$S(BUDNDTP]"":"",1:"4 dtp")_$S(BUDNIPV]"":"",1:";3 IPV")_$S(BUDNMMR]"":"",1:";1 MMR")_$S(BUDNHEP]"":"",1:";3 HEP")_$S(BUDNHIB]"":"",1:";3 HIB")_$S(BUDNVAR]"":"",1:";VARI")_$S(BUDNPNEU]"":"",1:";4 PNEUMO")
  1. .S ^XTMP("BUD8RP6B",BUDJ,BUDH,"IMM2",$P(^DPT(DFN,0),U),BUDCOM,DFN)=V
  1. Q
  1. ;
  1. ANAREACT(I) ;EP
  1. NEW X,Y,R
  1. S X=0,Y=0 F S X=$O(^GMR(120.8,I,10,X)) Q:X'=+X D
  1. .S R=$P($G(^GMR(120.8,I,10,X,0)),U)
  1. .Q:R=""
  1. .S R=$P($G(^GMRD(120.83,R,0)),U)
  1. .I R'="ANAPHYLAXIS" Q
  1. .S Y=1
  1. .Q
  1. Q Y
  1. ;
  1. ANCONT(P,C,ED) ;EP - ANALPHYLAXIS CONTRAINDICATION
  1. NEW X
  1. S X=0,G="",Y=$O(^AUTTIMM("C",C,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. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .;Q:$P(^BIPC(X,0),U,4)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .I $P(^BICONT(R,0),U,1)="Anaphylaxis" S G=D_U_"Anaphylaxis"
  1. Q G
  1. ;
  1. ANNECONT(P,C,ED) ;EP - ANALPHYLAXIS/NEOMYCIN CONTRAINDICATION
  1. NEW X
  1. S X=0,G="",Y=$O(^AUTTIMM("C",C,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. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .;Q:$P(^BIPC(X,0),U,4)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .I $P(^BICONT(R,0),U,1)="Anaphylaxis" S G=D_U_"Anaphylaxis"
  1. .I $P(^BICONT(R,0),U,1)="Neomycin Allergy" S G=D_U_"Neomycin Allergy"
  1. Q G
  1. ;
  1. MMRCONT(P,C,ED) ;EP - ANALPHYLAXIS/NEOMYCIN/IMMUNE CONTRAINDICATION
  1. NEW X
  1. S X=0,G="",Y=$O(^AUTTIMM("C",C,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. .S D=$P(^BIPC(X,0),U,4)
  1. .Q:D=""
  1. .;Q:$P(^BIPC(X,0),U,4)<BD
  1. .Q:$P(^BIPC(X,0),U,4)>ED
  1. .I $P(^BICONT(R,0),U,1)="Anaphylaxis" S G=D_U_"Anaphylaxis"
  1. .I $P(^BICONT(R,0),U,1)="Neomycin Allergy" S G=D_U_"Neomycin Allergy"
  1. .I $P(^BICONT(R,0),U,1)="Immune Deficiency" S G=D_U_"Immune Deficiency"
  1. .I $P(^BICONT(R,0),U,1)["Immune Deficient" S G=D_U_"Immune Deficient"
  1. Q G
  1. ;
  1. IPV(P,BDATE,EDATE) ;EP
  1. ;check for a contraindication from DOB to 2nd birthday
  1. NEW X,G,N,BUDG,BUDX,BUDC,BUDOPV,BUDAPOV,C,BD,ED,V,Y,E
  1. IPVCONT ;check allergy tracking
  1. S G=""
  1. S X=0 F S X=$O(^GMR(120.8,"B",P,X)) Q:X'=+X!(G) D
  1. .Q:$P($P($G(^GMR(120.8,X,0)),U,4),".")>EDATE ;entered after 2ND birthday
  1. .S N=$P($G(^GMR(120.8,X,0)),U,2),N=$$UP^XLFSTR(N)
  1. .Q:'$$ANAREACT(X) ;quit if anaphylactic is not a reaction/sign/symptom
  1. .I N["STREPTOMYCIN"!(N["POLYMYXIN B")!(N["NEOMYCIN") S G="IPV Contraindiction: "_$$DATE^BUD8UTL1($P($P($G(^GMR(120.8,X,0)),U,4),"."))_" Allergy Tracking: "_N
  1. I G]"" Q G
  1. ;now check immunization package
  1. F BUDZ=10,110,120,130 S X=$$ANNECONT(P,BUDZ,EDATE) Q:X]""
  1. I X]"" Q "IPV Contraindication IM package: "_$$DATE^BUD8UTL1($P(X,U))_" "_$P(X,U,2)
  1. ;now check for evidence of disease
  1. IPVEVID ;
  1. K BUDG S %=P_"^LAST DX [BUD IPV EVID DISEASE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) Q "IPV Evidence: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U))
  1. S X=$$PLTAX^BUD8DU(P,"BUD IPV EVID DISEASE") I X Q "IPV Evidence: Problem List "_$P(X,U,2)
  1. ;now get imms and see if there are 3
  1. K BUDC,BUDG,BUDX
  1. K BUDOPV,BUDAPOV
  1. IPVIMM ;get all immunizations
  1. S C="10^110^120^130"
  1. K BUDX D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. ;now get cpt codes
  1. S X=0 F S X=$O(BUDX(X)) Q:X'=+X S BUDOPV(X)=BUDX(X),BUDAPOV(X)=BUDX(X)
  1. ;now get cpts
  1. S ED=9999999-EDATE,BD=9999999-BDATE,G=0
  1. F S ED=$O(^AUPNVSIT("AA",P,ED)) Q:ED=""!($P(ED,".")>BD) D
  1. .S V=0 F S V=$O(^AUPNVSIT("AA",P,ED,V)) Q:V'=+V D
  1. ..Q:'$D(^AUPNVSIT(V,0))
  1. ..S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X D
  1. ...S Y=$P(^AUPNVCPT(X,0),U),Y=$P($$CPT^ICPTCOD(Y),U,2) D
  1. ....I Y=90698!(Y=90713)!(Y=90723) S BUDOPV(9999999-$P(ED,"."))="CPT: "_Y_" on "_$$DATE^BUD8UTL1((9999999-$P(ED,"."))),BUDAPOV(9999999-$P(ED,"."))="CPT: "_Y_" on "_$$DATE^BUD8UTL1((9999999-$P(ED,".")))
  1. ..S X=0 F S X=$O(^AUPNVTC("AD",V,X)) Q:X'=+X D
  1. ...S Y=$P(^AUPNVTC(X,0),U,7) Q:'Y S Y=$P($$CPT^ICPTCOD(Y),U,2) D
  1. ....I Y=90698!(Y=90713)!(Y=90723) S BUDOPV(9999999-$P(ED,"."))="CPT: "_Y_" on "_$$DATE^BUD8UTL1((9999999-$P(ED,"."))),BUDAPOV(9999999-$P(ED,"."))="CPT: "_Y_" on "_$$DATE^BUD8UTL1((9999999-$P(ED,".")))
  1. ;now check to see if they are all spaced 10 days apart, if not, kill off the odd ones
  1. S (X,Y)="",C=0 F S X=$O(BUDOPV(X)) Q:X'=+X S C=C+1 D
  1. .I C=1 S Y=X Q
  1. .I $$FMDIFF^XLFDT(X,Y)<11 K BUDOPV(X) Q
  1. .S Y=X
  1. ;now count them and see if there are 4 of them
  1. S BUDOPV=0,X=0 F S X=$O(BUDOPV(X)) Q:X'=+X S BUDOPV=BUDOPV+1
  1. I BUDOPV>2 S Y="IPV: total #: "_BUDOPV,X="" F S X=$O(BUDOPV(X)) Q:X'=+X S Y=Y_" "_BUDOPV(X)
  1. I BUDOPV>2 Q Y
  1. ;now get povs
  1. K BUDPOV M BUDPOV=BUDAPOV
  1. K BUDG S %=P_"^ALL DX V06.3;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X S BUDOPV($P(BUDG(X),U))="POV: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1)),BUDAOPV($P(BUDG(X),U))="POV: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. K BUDG S %=P_"^ALL DX V04.0;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X S BUDOPV($P(BUDG(X),U))="POV: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1)),BUDAOPV($P(BUDG(X),U))="POV: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.41;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X S BUDOPV($P(BUDG(X),U))="Procedure: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1)),BUDAPOV($P(BUDG(X),U))="Procedure: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. ;now check to see if they are all spaced 10 days apart, if not, kill off the odd ones
  1. S (X,Y)="",C=0 F S X=$O(BUDOPV(X)) Q:X'=+X S C=C+1 D
  1. .I C=1 S Y=X Q
  1. .I $$FMDIFF^XLFDT(X,Y)<11 K BUDOPV(X) Q
  1. .S Y=X
  1. ;now count them and see if there are 4 of them
  1. S BUDOPV=0,X=0 F S X=$O(BUDOPV(X)) Q:X'=+X S BUDOPV=BUDOPV+1
  1. I BUDOPV>2 S Y="IPV: total #: "_BUDOPV,X="" F S X=$O(BUDOPV(X)) Q:X'=+X S Y=Y_" "_BUDOPV(X)
  1. I BUDOPV>2 Q Y
  1. Q ""
  1. ;
  1. MMR(P,BDATE,EDATE) ;EP
  1. ;first check for contraindications
  1. ;dx first
  1. MMRC ;
  1. NEW BUDG,%,X,BUDZ,BUDC,BUDX,G,N
  1. K BUDG S %=P_"^LAST DX [BGP MMR CONTRAINDICATIONS;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) Q "MMR CONTRA DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U))
  1. S X=$$PLTAX^BUD8DU(P,"BGP MMR CONTRAINDICATIONS") I X Q "MMR CONTRA DX: "_$P(X,U,2)_" on Problem List"
  1. S G=""
  1. S X=0 F S X=$O(^GMR(120.8,"B",P,X)) Q:X'=+X!(G) D
  1. .Q:$P($P($G(^GMR(120.8,X,0)),U,4),".")>EDATE ;entered after 2ND birthday
  1. .S N=$P($G(^GMR(120.8,X,0)),U,2),N=$$UP^XLFSTR(N)
  1. .Q:'$$ANAREACT(X) ;quit if anaphylactic is not a reaction/sign/symptom
  1. .I N["NEOMYCIN" S G="MMR Contraindiction: "_$$DATE^BUD8UTL1($P($P($G(^GMR(120.8,X,0)),U,4),"."))_" Allergy Tracking: "_N
  1. I G]"" Q G
  1. F BUDZ=3,94,4,38,5,7,6 S X=$$MMRCONT(P,BUDZ,EDATE) Q:X]""
  1. I X]"" Q "MMR Contraindication: "_$P(X,U,2)_" on "_$$DATE^BUD8UTL1($P(X,U,1))_" Immunization Package"
  1. MMREVID ;
  1. ;any evidence of MMR?
  1. ;no codes for MMR, only individual
  1. MMRI ;
  1. K BUDC,BUDG,BUDX
  1. K ^TMP($J,"CPT")
  1. S (BUDMMR,BUDMUMPS,BUDRUB,BUDMEAS)="" ;set to null for all
  1. ;first gather up all cpt codes that relate in any way to dtap and store in ^TMP
  1. S ED=9999999-EDATE,BD=9999999-BDATE,G=0
  1. F S ED=$O(^AUPNVSIT("AA",P,ED)) Q:ED=""!($P(ED,".")>BD) D
  1. .S V=0 F S V=$O(^AUPNVSIT("AA",P,ED,V)) Q:V'=+V D
  1. ..Q:'$D(^AUPNVSIT(V,0))
  1. ..Q:'$D(^AUPNVCPT("AD",V))
  1. ..S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X D
  1. ...S Y=$P(^AUPNVCPT(X,0),U),Y=$P($$CPT^ICPTCOD(Y),U,2) I Y=+Y,$T(@Y)]"" S ^TMP($J,"CPT",9999999-$P(ED,"."),Y)=""
  1. ;get all immunizations
  1. S C="3^94"
  1. K BUDX D GETIMMS(P,BDATE,EDATE,C,.BUDX) ;before 2nd birthday
  1. I $D(BUDX) S D=$O(BUDX(0)) Q "MMR "_BUDX(D) ;HAD 1 MMR
  1. S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90707!(Y=90710) S BUDMMR="CPT: "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. I BUDMMR]"" Q "MMR "_BUDMMR
  1. ;
  1. K BUDG S %=P_"^ALL DX V06.4;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) Q "MMR DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.48;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) Q "MMR PROCEDURE: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U))
  1. ;now check individuals
  1. MR ;see if one M/R, Mumps or R/M
  1. S BUDVALUE=""
  1. S C=4
  1. K BUDX D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. I $D(BUDX) S BUDMEAS=1,BUDRUB=1,BUDVALUE="MEASLES/RUBELLA " S D=$O(BUDX(0)) S BUDVALUE=BUDVALUE_BUDX(D)
  1. I 'BUDMEAS!('BUDRUB) S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90708 S BUDMEAS=1,BUDRUB=1,BUDVALUE=BUDVALUE_" MEASLES/RUBELLA CPT: "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. RM ;
  1. S C=38
  1. D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. I $D(BUDX) S BUDRUB=1,BUDMUMPS=1 S D=$O(BUDX(0)) S BUDVALUE=BUDVALUE_" RUBELLA/MUMPS "_BUDX(D)
  1. S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90709 S BUDMUMPS=1,BUDRUB=1,BUDVALUE=BUDVALUE_" RUBELLA/MUMPS CPT "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. ME S C=5
  1. K BUDX D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. I $D(BUDX) S BUDMEAS=1 S D=$O(BUDX(0)) S BUDVALUE=BUDVALUE_" MEASLES "_BUDX(D)
  1. S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90705 S BUDMEAS=1,BUDVALUE=BUDVALUE_" MEASLES CPT "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. K BUDG S %=P_"^ALL DX V04.2;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MEASLES DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.45;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MEASLES PROCEDURE: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" K BUDG S %=P_"^LAST DX [BGP MEASLES EVIDENCE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(") I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MEASLES EVIDENCE DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" S X=$$PLTAX^BUD8DU(P,"BGP MEASLES EVIDENCE") I X S BUDMEAS=1,BUDVALUE=BUDVALUE_" MEASLES EVIDENCE PROB LIST: "_$P(X,U,2)
  1. I BUDMEAS,BUDMUMPS,BUDRUB Q BUDVALUE
  1. MU S C=7
  1. D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. I $D(BUDX) S BUDMUMPS=1 S D=$O(BUDX(0)) S BUDVALUE=BUDVALUE_" MUMPS "_BUDX(D)
  1. S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90704 S BUDMU=1,BUDVALUE=BUDVALUE_" MUMPS CPT "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. K BUDG S %=P_"^ALL DX V04.6;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MUMPS DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.46;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MUMPS PROCEDURE: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" K BUDG S %=P_"^LAST DX [BGP MUMPS EVIDENCE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(") I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" MUMPS EVIDENCE DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" S X=$$PLTAX^BUD8DU(P,"BGP MUMPS EVIDENCE") I X S BUDMEAS=1,BUDVALUE=BUDVALUE_" MUMPS EVIDENCE PROB LIST: "_$P(X,U,2)
  1. I BUDMEAS,BUDMUMPS,BUDRUB Q BUDVALUE
  1. RUB S C=6
  1. D GETIMMS(P,BDATE,EDATE,C,.BUDX)
  1. I $D(BUDX) S BUDRUB=1,D=$O(BUDX(0)) S BUDVALUE=BUDVALUE_" RUBELLA "_BUDX(D)
  1. S D=0 F S D=$O(^TMP($J,"CPT",D)) Q:D'=+D S Y="" F S Y=$O(^TMP($J,"CPT",D,Y)) Q:Y="" D
  1. .I Y=90706 S BUDRUB=1,BUDVALUE=BUDVALUE_" RUBELLA CPT "_Y_" on "_$$DATE^BUD8UTL1(D)
  1. K BUDG S %=P_"^ALL DX V04.3;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" RUBELLA DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.47;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" RUBELLA PROCEDURE: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" K BUDG S %=P_"^LAST DX [BGP RUBELLA EVIDENCE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(") I $D(BUDG(1)) S BUDMEAS=1,BUDVALUE=BUDVALUE_" RUBELLA EVIDENCE DX: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD8UTL1($P(BUDG(1),U,1))
  1. I BUDMEAS="" S X=$$PLTAX^BUD8DU(P,"BGP RUBELLA EVIDENCE") I X S BUDMEAS=1,BUDVALUE=BUDVALUE_" RUBELLA EVIDENCE PROB LIST: "_$P(X,U,2)
  1. I BUDMEAS,BUDMUMPS,BUDRUB Q BUDVALUE
  1. Q ""
  1. ;
  1. 90707 ;;
  1. 90710 ;;
  1. 90708 ;;
  1. 90709 ;;
  1. 90705 ;;
  1. 90704 ;;
  1. 90706 ;;