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

BGPD6.m

Go to the documentation of this file.
  1. BGPD6 ; IHS/CMI/LAB - indicator 6 ;
  1. ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
  1. ;
  1. I6 ;EP ;EP - indicator 6
  1. ;Q:'$D(BGPIND(15))
  1. Q:$P(^DPT(DFN,0),U,2)'="F"
  1. Q:BGPAGEB<18
  1. Q:BGPAGEB>70
  1. Q:$$HYSTER(DFN,BGPEDATE)
  1. D S(BGPRPT,$S(BGPTIME=1:15,BGPTIME=0:45,BGPTIME=8:85,1:999),5,1)
  1. S BGPPAP=$$PAP(DFN,BGPEDATE,1)
  1. I $E(BGPPAP)="Y" D S(BGPRPT,$S(BGPTIME=1:15,BGPTIME=0:45,BGPTIME=8:85,1:999),6,1)
  1. I $D(BGPLIST(15)),BGPTIME=1 S ^XTMP("BGPD",BGPJ,BGPH,"LIST",15,$S($P($G(^AUPNPAT(DFN,11)),U,18)]"":$P(^AUPNPAT(DFN,11),U,18),1:"UNKNOWN"),$P(^DPT(DFN,0),U,2),BGPAGEE,DFN)=BGPPAP
  1. Q
  1. I6A ;EP
  1. ;Q:'$D(BGPIND(16))
  1. Q:$P(^DPT(DFN,0),U,2)'="F"
  1. Q:BGPAGEB<18
  1. Q:BGPAGEB>70
  1. Q:$$HYSTER(DFN,BGPEDATE)
  1. S BGPPAP=$$PAP(DFN,BGPEDATE,3)
  1. I $E(BGPPAP)="Y" D S(BGPRPT,$S(BGPTIME=1:15,BGPTIME=0:45,BGPTIME=8:85,1:999),7,1)
  1. I $D(BGPLIST(16)),BGPTIME=1 S ^XTMP("BGPD",BGPJ,BGPH,"LIST",16,$S($P($G(^AUPNPAT(DFN,11)),U,18)]"":$P(^AUPNPAT(DFN,11),U,18),1:"UNKNOWN"),$P(^DPT(DFN,0),U,2),BGPAGEE,DFN)=BGPPAP
  1. Q
  1. S(R,N,P,V) ;
  1. I 'V Q ;no value to add
  1. S $P(^BGPD(R,N),U,P)=$P($G(^BGPD(R,N)),U,P)+V
  1. Q
  1. HYSTER(P,EDATE) ;EP has patient had hysterectomy?
  1. I '$G(P) Q ""
  1. I '$D(^AUPNVPRC("AC",P)) Q ""
  1. NEW F,S,C,G S (F,S)=0 F S F=$O(^AUPNVPRC("AC",P,F)) Q:F'=+F!(S) S C=$P($$ICDOP^ICDCODE(+^AUPNVPRC(F,0)),U,2) D
  1. .S G=0 S:C=68.3!(C=68.4)!(C=68.5)!(C=68.6)!(C=68.7)!(C=68.9) G=1
  1. .Q:G=0
  1. .S D=$P(^AUPNVPRC(F,0),U,6) I D="" S D=$P($P(^AUPNVSIT($P(^AUPNVPRC(F,0),U,3),0),U),".")
  1. .I D>EDATE Q
  1. .S S=1
  1. Q S
  1. REFUSAL(P,F,I,B,E) ;EP
  1. I '$G(P) Q ""
  1. I '$G(F) Q ""
  1. I '$G(I) Q ""
  1. I $G(B)="" Q ""
  1. I $G(E)="" Q ""
  1. NEW G,X
  1. S (X,G)=0 F S X=$O(^AUPNPREF("AA",P,F,I,X)) Q:X'=+X!(G) S Y=0 F S Y=$O(^AUPNPREF("AA",P,F,I,X,Y)) Q:Y'=+Y S D=$P(^AUPNPREF(Y,0),U,3) I D'<B&(D'>E) S G=1
  1. Q G
  1. PAP(P,EDATE,YEARS) ;
  1. NEW BGP,%,E,BDATE S BDATE=$$FMADD^XLFDT(EDATE,-(365*YEARS)),%=P_"^LAST LAB PAP SMEAR;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGP(")
  1. I $D(BGP(1)) Q "Yes "_$$FMTE^XLFDT($P(BGP(1),U))
  1. K BGP S %=P_"^LAST DX V76.2;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGP(")
  1. I $D(BGP(1)) Q "Yes "_$$FMTE^XLFDT($P(BGP(1),U))_" V76.2"
  1. K BGP S %=P_"^LAST DX V72.3;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGP(")
  1. I $D(BGP(1)) Q "Yes "_$$FMTE^XLFDT($P(BGP(1),U))_" V72.3"
  1. K BGP S %=P_"^LAST PROCEDURE 91.46;DURING "_$$FMTE^XLFDT(BDATE)_"-"_$$FMTE^XLFDT(EDATE),E=$$START1^APCLDF(%,"BGP(")
  1. I $D(BGP(1)) Q "Yes "_$$FMTE^XLFDT($P(BGP(1),U))_" 91.46"
  1. S T=$O(^ATXAX("B","BGP CPT PAP",0))
  1. I T D I X]"" Q "Yes "_X_" CPT"
  1. .S X=$$CPT^BGPDU(P,,EDATE,T,4)
  1. S T="PAP SMEAR",T=$O(^BWPN("B",T,0))
  1. I T D I X]"" Q "Yes "_X_" WHTP"
  1. .S X=$$WH^BGPDU(P,,EDATE,T,4)
  1. S T=$$REFUSAL(P,60,$O(^LAB(60,"B","PAP SMEAR",0)),$$FMADD^XLFDT(EDATE,-365),EDATE)
  1. I T Q "Yes - Refused or NMI"
  1. Q "No"