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

BUD2RP6X.m

Go to the documentation of this file.
  1. BUD2RP6X ; IHS/CMI/LAB - measure C ;
  1. ;;10.0;IHS/RPMS UNIFORM DATA SYSTEM;;FEB 04, 2016;Build 50
  1. ;
  1. CNTDTAP ;
  1. S (X,Y)="",C=0 F S X=$O(BUDDTAP(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 BUDDTAP(X) Q
  1. .S Y=X
  1. ;now count
  1. S BUDDTAP=0,X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S BUDDTAP=BUDDTAP+1
  1. Q
  1. RESET ;RESET WORKING ARRAYS
  1. K BUDDT M BUDDT=BUDADT
  1. K BUDDIP M BUDDIP=BUDADIP
  1. K BUDTET M BUDTET=BUDATET
  1. K BUDPER M BUDPER=BUDAPER
  1. K BUDTD M BUDTD=BUDATD
  1. Q
  1. RESETD ;RESET DUPES
  1. S (X,Y)="",C=0 F S X=$O(BUDDT(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 BUDDT(X) Q
  1. .S Y=X
  1. S (X,Y)="",C=0 F S X=$O(BUDDIP(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 BUDDIP(X) Q
  1. .S Y=X
  1. S (X,Y)="",C=0 F S X=$O(BUDTET(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 BUDTET(X) Q
  1. .S Y=X
  1. S (X,Y)="",C=0 F S X=$O(BUDTD(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 BUDTD(X) Q
  1. .S Y=X
  1. S (X,Y)="",C=0 F S X=$O(BUDPER(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 BUDPER(X) Q
  1. .S Y=X
  1. S BUDDT=0,X=0 F S X=$O(BUDDT(X)) Q:X'=+X S BUDDT=BUDDT+1
  1. S BUDTD=0,X=0 F S X=$O(BUDTD(X)) Q:X'=+X S BUDTD=BUDTD+1
  1. S BUDDIP=0,X=0 F S X=$O(BUDDIP(X)) Q:X'=+X S BUDDIP=BUDDIP+1
  1. S BUDTET=0,X=0 F S X=$O(BUDTET(X)) Q:X'=+X S BUDTET=BUDTET+1
  1. S BUDPER=0,X=0 F S X=$O(BUDPER(X)) Q:X'=+X S BUDPER=BUDPER+1
  1. Q
  1. DTAP(P,BDATE,EDATE) ;EP
  1. K ^TMP($J,"CPT")
  1. NEW BUDC,BUDG,BUDX,BUDDTAP,BUDTD,BUDDT,BUDDIP,BUDTET,BUDPER
  1. ;first check for contraindication
  1. K BUDG S %=P_"^ALL DX 323.5;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I '$D(BUDG(1)) G N
  1. S X=0,G="" F S X=$O(BUDG(X)) Q:X'=+X!(G]"") S Y=+$P(BUDG(X),U,4) D
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.09) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.18) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.19) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. I G]"" Q G
  1. N K BUDG S %=P_"^ALL DX 323.51;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I '$D(BUDG(1)) G N1
  1. S X=0,G="" F S X=$O(BUDG(X)) Q:X'=+X!(G]"") S Y=+$P(BUDG(X),U,4) D
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.09) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.18) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.19) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. I G]"" Q G
  1. N1 K BUDG S %=P_"^ALL DX 323.52;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. S X=0,G="" F S X=$O(BUDG(X)) Q:X'=+X!(G]"") S Y=+$P(BUDG(X),U,4) D
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.09) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.18) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. .S Z=$$VAL^XBDIQ1(9000010.07,Y,.19) I Z="E948.4"!(Z="E948.5")!(Z="E948.6") S G="1^Dtap Contraindication DX/Ecode: "_$P(BUDG(X),U,2)_"/"_Z_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. I G]"" Q G
  1. F BUDZ=1,20,22,50,102,106,107,110,120,130,132,28,35,112 S X=$$ANCONT^BUD2RP6C(P,BUDZ,EDATE) Q:X]""
  1. I X]"" Q "1^DTaP Contraindication IM package: "_$$DATE^BUD2UTL1($P(X,U))_" "_$P(X,U,2)
  1. DTAPIM ;
  1. ;first gather up all cpt codes that relate in any way to dtap and store in ^TMP
  1. S ED=(9999999-EDATE)-1,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. ...Q:'$D(^AUPNVCPT(X,0))
  1. ...S Y=$P(^AUPNVCPT(X,0),U)
  1. ...Q:Y=""
  1. ...S Y=$P($$CPT^ICPTCOD(Y),U,2)
  1. ...I Y=90700!(Y=90721)!(Y=90723)!(Y=90701)!(Y=90720)!(Y=90698)!(Y=90702)!(Y=90719)!(Y=90703) S ^TMP($J,"CPT",9999999-$P(ED,"."),Y)=""
  1. ..S X=0 F S X=$O(^AUPNVTC("AD",V,X)) Q:X'=+X D
  1. ...Q:'$D(^AUPNVTC(X,0))
  1. ...S Y=$P(^AUPNVTC(X,0),U,7)
  1. ...Q:Y=""
  1. ...S Y=$P($$CPT^ICPTCOD(Y),U,2)
  1. ...I Y=90700!(Y=90721)!(Y=90723)!(Y=90701)!(Y=90720)!(Y=90698)!(Y=90702)!(Y=90719)!(Y=90703) S ^TMP($J,"CPT",9999999-$P(ED,"."),Y)=""
  1. ;now gather up all DTAP immunizations, cpts
  1. ;get all immunizations
  1. S C="1^20^22^50^102^106^107^110^120^130^132"
  1. D GETIMMS^BUD2RP6C(P,BDATE,EDATE,C,.BUDX)
  1. ;go through and set into DTAP if 10 days apart
  1. S X=0 F S X=$O(BUDX(X)) Q:X'=+X S BUDDTAP(X)=BUDX(X)
  1. D CNTDTAP ;count to see if there are 4
  1. I BUDDTAP>3 S Y="1^DTap: total #: "_BUDDTAP,X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S Y=Y_" "_BUDDTAP(X)
  1. I BUDDTAP>3 Q Y
  1. ;now get cpts for dtap or dtp
  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=90698!(Y=90700)!(Y=90701)!(Y=90720)!(Y=90721)!(Y=90723) S BUDDTAP(D)="DTaP CPT: "_Y_" on "_$$DATE^BUD2UTL1(D)
  1. D CNTDTAP ;count to see if there are 4
  1. I BUDDTAP>3 S Y="1^DTaP: total #: "_BUDDTAP,X="" F S X=$O(BUDDTAP(X)) Q:X'=+X S Y=Y_" "_BUDDTAP(X)
  1. I BUDDTAP>3 Q Y
  1. ;K BUDG S %=P_"^ALL DX V06.1;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 BUDDTAP($P(BUDG(X),U))="DTaP DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. ;K BUDG S %=P_"^ALL DX V06.2;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 BUDDTAP($P(BUDG(X),U))="DTaP DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  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 BUDDTAP($P(BUDG(X),U))="DTaP DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.39;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 BUDDTAP($P(BUDG(X),U))="DTaP Procedure: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. D CNTDTAP ;count to see if there are 4
  1. I BUDDTAP>3 S Y="1^DTaP: total #: "_BUDDTAP,X="" F S X=$O(BUDDTAP(X)) Q:X'=+X S Y=Y_" "_BUDDTAP(X)
  1. I BUDDTAP>3 Q Y
  1. DT ;
  1. ;add in dt cpts
  1. K BUDDT,BUDADT
  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=90702 S BUDDT(D)="DT CPT: "_Y_" on "_$$DATE^BUD2UTL1(D),BUDADT(D)="DT CPT: "_Y_" on "_$$DATE^BUD2UTL1(D)
  1. ;are there 3 dt and 1 dtap by cvx and/or cpt?
  1. ;K BUDG S %=P_"^ALL DX V06.5;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 BUDDT($P(BUDG(X),U))="DT DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDADT($P(BUDG(X),U))="DT DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. S C="28"
  1. K BUDX D GETIMMS^BUD2RP6C(P,BDATE,EDATE,C,.BUDX)
  1. S X=0 F S X=$O(BUDX(X)) Q:X'=+X S BUDDT(X)=BUDX(X),BUDADT(X)=BUDX(X)
  1. DT1 ;
  1. ;kill off any that are on the same day as the dtaps
  1. S (X,Y)="",C=0 F S X=$O(BUDDT(X)) Q:X'=+X I $D(BUDDTAP(X)) K BUDDT(X)
  1. S (X,Y)="",C=0 F S X=$O(BUDDT(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 BUDDT(X) Q
  1. .S Y=X
  1. K BUDALL
  1. S BUDDT=0,X=0 F S X=$O(BUDDT(X)) Q:X'=+X S BUDDT=BUDDT+1,BUDALL(X)=BUDDT(X)
  1. S BUDDTAP=0,X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S BUDDTAP=BUDDTAP+1,BUDALL(X)=BUDDTAP(X)
  1. S (X,Y)="",C=0 F S X=$O(BUDALL(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 BUDALL(X) Q
  1. .S Y=X
  1. S BUDALL=0 S X=0 F S X=$O(BUDALL(X)) Q:X'=+X S BUDALL=BUDALL+1
  1. I BUDALL>3 D Q "1^"_Y
  1. .S Y=">=1 DTap & DT/TdS",X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S Y=Y_" "_BUDDTAP(X)
  1. .S X=0 F S X=$O(BUDDT(X)) Q:X'=+X S Y=Y_" "_BUDDT(X)
  1. ;
  1. TETCVX ;
  1. K BUDTET,BUDATET
  1. S BUDTET=0
  1. ;EVIDENCE?
  1. S BUDEVTD=""
  1. K BUDG S %=P_"^LAST DX 037.;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDEVTD="1^Tetanus Evidence: "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(1),U))
  1. I $$PLCODE^BUD2DU(P,"037.") S BUDEVTD="1^Tetanus Evidence: 037. on Problem List"
  1. S X=0 F S X=$O(BUDDT(X)) Q:X'=+X S BUDTET(X)=BUDDT(X)
  1. S X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S BUDTET(X)=BUDDTAP(X)
  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=90703!(Y=90702) S BUDTET(D)="Tetanus CPT: "_Y_" on "_$$DATE^BUD2UTL1(D),BUDATET(D)="TETANUS CPT: "_Y_" on "_$$DATE^BUD2UTL1(D)
  1. ;K BUDG S %=P_"^ALL DX V03.7;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. ;I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X D
  1. ;.S BUDTET($P(BUDG(X),U))="Tetanus DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDATET($P(BUDG(X),U))="Tetanus DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.38;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X D
  1. .S BUDTET($P(BUDG(X),U))="Tetanus Proc: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDATET($P(BUDG(X),U))="Tetanus DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDX S C="35^112" D GETIMMS^BUD2RP6C(P,BDATE,EDATE,C,.BUDX)
  1. S X=0 F S X=$O(BUDX(X)) Q:X'=+X S BUDTET(X)=BUDX(X),BUDATET(X)=BUDX(X)
  1. S (X,Y)="",C=0 F S X=$O(BUDTET(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 BUDTET(X) Q
  1. .S Y=X
  1. S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S BUDTET=BUDTET+1
  1. DIP ;
  1. K BUDDIP,BUDADIP
  1. S BUDEVDIP=""
  1. K BUDG S %=P_"^LAST DX [BGP DIPHTHERIA EVIDENCE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDEVDIP="1^Diphtheria Evidence "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(1),U))
  1. I $$PLTAX^BUD2DU(P,"BGP DIPHTHERIA EVIDENCE") I X S BUDEVDIP="1^Diphtheria Evidence: "_$P(X,U,2)_" on Problem List"
  1. S X=0 F S X=$O(BUDDT(X)) Q:X'=+X S BUDDIP(X)=BUDDT(X)
  1. S X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S BUDDIP(X)=BUDDTAP(X)
  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=90719 S BUDDIP(D)="Diphtheria CPT: "_Y_" on "_$$DATE^BUD2UTL1(D),BUDADIP(D)="Diphtheria CPT: "_Y_" on "_$$DATE^BUD2UTL1(D)
  1. ;K BUDG S %=P_"^ALL DX V03.5;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 BUDDIP($P(BUDG(X),U))="Diptheria DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDADIP($P(BUDG(X),U))="Diptheria DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.36;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 BUDDIP($P(BUDG(X),U))="Diphtheria Proc: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDADIP($P(BUDG(X),U))="Diptheria Proc: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. S (X,Y)="",C=0 F S X=$O(BUDDIP(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 BUDDIP(X) Q
  1. .S Y=X
  1. S X=0,BUDDIP=0 F S X=$O(BUDDIP(X)) Q:X'=+X S BUDDIP=BUDDIP+1
  1. ;
  1. PER ;
  1. K BUDPER,BUDAPER
  1. S BUDPEREV=""
  1. K BUDG S %=P_"^LAST DX [BGP PERTUSSIS EVIDENCE;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S BUDPEREV="1^Pertussis Evidence "_$P(BUDG(1),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(1),U))
  1. I $$PLTAX^BUD2DU(P,"BGP PERTUSSIS EVIDENCE") I X S BUDPEREV="1^Pertussis Evidence: "_$P(X,U,2)_" on Problem List"
  1. S X=0 F S X=$O(BUDDTAP(X)) Q:X'=+X S BUDPER(X)=BUDDTAP(X)
  1. ;K BUDG S %=P_"^ALL DX V03.6;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 BUDPER($P(BUDG(X),U))="Pertussis DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDAPER($P(BUDG(X),U))="Pertussis DX: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDG S %=P_"^ALL PROCEDURE 99.37;DURING "_BDATE_"-"_EDATE,E=$$START1^APCLDF(%,"BUDG(")
  1. I $D(BUDG(1)) S X=0 F S X=$O(BUDG(X)) Q:X'=+X D
  1. .S BUDPER($P(BUDG(X),U))="Pertussis Proc: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U)),BUDAPER($P(BUDG(X),U))="Pertussis Pertussis: "_$P(BUDG(X),U,2)_" on "_$$DATE^BUD2UTL1($P(BUDG(X),U))
  1. K BUDX S C="11" D GETIMMS^BUD2RP6C(P,BDATE,EDATE,C,.BUDX)
  1. S X=0 F S X=$O(BUDX(X)) Q:X'=+X S BUDPER(X)=BUDX(X),BUDAPER(X)=BUDX(X)
  1. S (X,Y)="",C=0 F S X=$O(BUDPER(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 BUDPER(X) Q
  1. .S Y=X
  1. S X=0,BUDPER=0 F S X=$O(BUDPER(X)) Q:X'=+X S BUDPER=BUDPER+1
  1. CHK ;4 of each or evidence
  1. I BUDTET>3,BUDPER>3,BUDDIP>3 D Q "1^"_Y
  1. .S Y="4 of each"
  1. .S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S Y=Y_" "_BUDTET(X)
  1. .S X=0 F S X=$O(BUDDIP(X)) Q:X'=+X S Y=Y_" "_BUDDIP(X)
  1. .S X=0 F S X=$O(BUDPER(X)) Q:X'=+X S Y=Y_" "_BUDPER(X)
  1. I BUDPEREV,BUDTET>3,BUDDIP>3 D Q "1^"_Y
  1. .S Y="evid per, 4 tet, 4 dip "
  1. .S Y=Y_BUDPEREV
  1. .S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S Y=Y_" "_BUDTET(X)
  1. .S X=0 F S X=$O(BUDDIP(X)) Q:X'=+X S Y=Y_" "_BUDDIP(X)
  1. I BUDEVTD,BUDPER>3,BUDDIP>3 D Q "1^"_Y
  1. .S Y="evid tetanus, 4 dip, 4 per "
  1. .S Y=Y_BUDEVTD
  1. .S X=0 F S X=$O(BUDPER(X)) Q:X'=+X S Y=Y_" "_BUDPER(X)
  1. .S X=0 F S X=$O(BUDDIP(X)) Q:X'=+X S Y=Y_" "_BUDDIP(X)
  1. I BUDEVDIP,BUDTET>3,BUDPER>3 D Q "1^"_Y
  1. .S Y="evid Diptheria, 4 tet, 4 per "
  1. .S Y=Y_$P(BUDDIPEV,U,2)
  1. .S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S Y=Y_" "_BUDTET(X)
  1. .S X=0 F S X=$O(BUDPER(X)) Q:X'=+X S Y=Y_" "_BUDPER(X)
  1. I BUDEVTD,BUDEVDIP,BUDPER>3 D Q "1^"_Y
  1. .S Y="evid tet, evid dip, 4 per "
  1. .S Y=Y_$P(BUDEVTD,U,2)_" "_$P(BUDDIPEV,U,2)
  1. .S X=0 F S X=$O(BUDPER(X)) Q:X'=+X S Y=Y_" "_BUDPER(X)
  1. I BUDEVTD,BUDPEREV,BUDDIP>3 D Q "1^"_Y
  1. .S Y="evid tet, evid PER, 4 dip "
  1. .S Y=Y_$P(BUDEVTD,U,2)_" "_$P(BUDPEREV,U,2)
  1. .S X=0 F S X=$O(BUDDIP(X)) Q:X'=+X S Y=Y_" "_BUDDIP(X)
  1. I BUDEVDIP,BUDPEREV,BUDTET>3 D Q "1^"_Y
  1. .S Y="evid dip, evid per, 4 tet "
  1. .S Y=Y_$P(BUDDIPEV,U,2)_" "_$P(BUDPEREV,U,2)
  1. .S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S Y=Y_" "_BUDTET(X)
  1. I BUDEVDIP,BUDPEREV,BUDEVTD D Q "1^"_Y
  1. .S Y="evid dip, evid tet, evid per"
  1. .S Y=Y_$P(BUDDIPEV,U,2)_" "_$P(BUDEVTD,U,2)_" "_$P(BUDPEREV,U,2)
  1. .;S X=0 F S X=$O(BUDTET(X)) Q:X'=+X S Y=Y_" "_BUDTET(X)
  1. S Y="0^"
  1. I BUDDIP<4,'BUDEVDIP S Y=Y_(4-BUDDIP)_" DIP "
  1. I BUDTET<4,'BUDEVTD S Y=Y_(4-BUDTET)_" TET "
  1. I BUDPER<4,'BUDPEREV S Y=Y_(4-BUDPER)_" PER"
  1. Q Y