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

BGP6DCHW.m

Go to the documentation of this file.
  1. BGP6DCHW ; IHS/CMI/LAB - calc measures 29 Apr 2006 7:38 PM ;
  1. ;;7.0;IHS CLINICAL REPORTING;;JAN 24, 2007
  1. ;
  1. GEN ;EP
  1. Q:'BGPACTCL
  1. I '$D(^AUPNVSIT("AC",DFN)) Q ""
  1. K ^TMP($J,"A")
  1. S A="^TMP($J,""A"",",B=DFN_"^ALL VISITS;DURING "_$$FMTE^XLFDT(BGPBBD)_"-"_$$FMTE^XLFDT(BGPED),E=$$START1^APCLDF(B,A)
  1. I '$D(^TMP($J,"A",1)) Q ""
  1. S (X,G)=0 F S X=$O(^TMP($J,"A",X)) Q:X'=+X S V=$P(^TMP($J,"A",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:'$D(^AUPNVMSR("AD",V))
  1. .S M=0,W="",H="" F S M=$O(^AUPNVMSR("AD",V,M)) Q:M'=+M D
  1. ..S T=$P($G(^AUPNVMSR(M,0)),U)
  1. ..Q:T=""
  1. ..S T=$P($G(^AUTTMSR(T,0)),U)
  1. ..I T="WT" S W=$P(^AUPNVMSR(M,0),U,4)
  1. ..I T="HT" S H=$P(^AUPNVMSR(M,0),U,4)
  1. .I W="",H="" Q ;no ht or wt so skip visit
  1. .I $$AGE^AUPNPAT(DFN,BGPED)<19,(H=""!(W="")) Q ;under 19 and not both
  1. .D SET
  1. Q
  1. ;
  1. SET ;
  1. S BGPCHWC=BGPCHWC+1
  1. S BGPHTV=H,BGPWTV=W
  1. S R=""
  1. S $P(R,U)=$$VAL^XBDIQ1(9999999.06,DUZ(2),.05)
  1. S $P(R,U,2)=$P(^AUTTLOC(DUZ(2),0),U,10)
  1. S $P(R,U,3)=$P($G(^AUTTLOC($P(^AUTTSITE(1,0),U),1)),U,3)
  1. S $P(R,U,4)=$$DATE(DT)
  1. S $P(R,U,5)=$$DATE(BGPBBD)
  1. S $P(R,U,6)=$$DATE(BGPED)
  1. S $P(R,U,7)=$$UID(DFN)
  1. S $P(R,U,8)=$$DATE($P(^DPT(DFN,0),U,3))
  1. S $P(R,U,9)=$$TRIBE^AUPNPAT(DFN,"C")
  1. S $P(R,U,10)=$P(^DPT(DFN,0),U,2)
  1. S $P(R,U,11)=$$STATE(DFN)
  1. S $P(R,U,12)=$$UIDV(V)
  1. S $P(R,U,13)=$$DATE($P($P(^AUPNVSIT(V,0),U),"."))
  1. S $P(R,U,14)=$$RZERO($P($P(^AUPNVSIT(V,0),U),".",2),4)
  1. S I=BGPHTV*2.54,I=$J(I,6,2),I=$$STRIP^XLFSTR(I," ")
  1. S $P(R,U,15)=$S(BGPHTV]"":I,1:"")
  1. S I=BGPWTV*.45359,I=$J(I,6,2),I=$$STRIP^XLFSTR(I," ")
  1. S $P(R,U,16)=$S(BGPWTV]"":I,1:"")
  1. S ^BGPGPDCS(BGPRPT,88888,BGPCHWC,0)=R
  1. Q
  1. UID(BGPA) ;PEP-Given DFN return unique patient record id.
  1. ; BGPA can be DFN, but is not required if DFN or DA exists.
  1. ;
  1. ; pt record id = 6DIGIT_PADDFN
  1. ; where 6DIGIT is the ASUFAC at the time of implementation of
  1. ; this functionality. I.e., the existing ASUFAC was frozen and
  1. ; stuffed into the .25 field of the RPMS SITE file.
  1. ; PADDFN = DFN right justified in a field of 10.
  1. ;
  1. ; If not there, stuff the ASUFAC into RPMS SITE for durability.
  1. ;I '$P($G(^AUTTSITE(1,1)),U,3) S $P(^AUTTSITE(1,1),U,3)=$P(^AUTTLOC($P(^AUTTSITE(1,0),U,1),0),U,10)
  1. ;
  1. ;
  1. Q $$GET1^DIQ(9999999.06,$P(^AUTTSITE(1,0),U),.32)_$E("0000000000",1,10-$L(BGPA))_BGPA
  1. ;
  1. DATE(D) ;EP
  1. I $G(D)="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_(1700+($E(D,1,3)))
  1. ;
  1. UIDV(VISIT) ;EP - generate unique ID for visit
  1. I '$G(VISIT) Q VISIT
  1. NEW X
  1. S X=$$GET1^DIQ(9999999.06,$P(^AUTTSITE(1,0),U),.32)
  1. Q X_$$LZERO(VISIT,10)
  1. ;
  1. LZERO(V,L) ;EP - left zero fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V="0"_V
  1. Q V
  1. RZERO(V,L) ;ep right zero fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=V_"0"
  1. Q V
  1. STATE(P) ;
  1. S C=$$COMMRES^AUPNPAT(P,"C")
  1. I C="" Q ""
  1. S S=$E(C,1,2)
  1. S S=$O(^DIC(5,"C",S,0))
  1. I S="" Q S
  1. Q $P($G(^DIC(5,S,0)),U,2)
  1. ;