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

BPCLALL.m

Go to the documentation of this file.
  1. BPCLALL ; IHS/OIT/MJL - PCC VISIT LIST FOR GUI ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;GETS PCC VISIT DATA
  1. EN ;ENTRY POINT
  1. S U="^",BPCLIM=20,BPCSUB=$J K ^BGUTMP($J),RESULT,^BGURES($J)
  1. S RESULT="^BGURES("_BPCSUB_")"
  1. I '$D(BPCIEN) S ^BGURES(BPCSUB,1)=-1,^BGURES(BPCSUB,2)="NO Lab internal entry found! (BPCIEN)" Q
  1. ;I '$D(BPCIEN) S RESULT(1)=-1,RESULT(2)="NO Lab internal entry found! (BPCIEN)" Q
  1. S X=0,BPCCNT=0 F I=1:1:BPCLIM S X=$O(^AUPNVSIT("AA",BPCIEN,X)) Q:+X=0 S BPCVSIT="" F S BPCVSIT=$O(^AUPNVSIT("AA",BPCIEN,X,BPCVSIT)) Q:BPCVSIT="" D VISIT
  1. S X=0,BPCCTR=2 F S X=$O(^BGUTMP($J,X)) Q:+X=0 S Y="" F S Y=$O(^BGUTMP($J,X,Y)) Q:Y="" S Z="" F S Z=$O(^BGUTMP($J,X,Y,Z)) Q:Z="" S ^BGURES(BPCSUB,BPCCTR)=^BGUTMP($J,X,Y,Z),BPCCTR=BPCCTR+1
  1. D TRENDS,ALERTS,REMARKS,NOK,SITEP
  1. S ^BGURES(BPCSUB,1)=BPCCTR-1
  1. K BPCCTR,^BGUTMP($J),BPCV
  1. Q
  1. ;
  1. VISIT ;
  1. S BPCV=$G(BPCV)+1
  1. S Y=^AUPNVSIT(BPCVSIT,0),BPCVDT=$P(Y,U,1),BPCLOC=$P(Y,U,6),BPCSC=$P(Y,U,7),BPCCLIN=$P(Y,U,8)
  1. I $L(BPCLOC) S BPCLOC=$G(^AUTTLOC(BPCLOC,0)) S:$L(BPCLOC) BPCLOC=$P(BPCLOC,U,2)
  1. I $L(BPCCLIN) S BPCCLIN=$G(^DIC(40.7,BPCCLIN,0)) S:$L(BPCCLIN) BPCCLIN=$P(BPCCLIN,U,1)
  1. S X1=0 F S X1=$O(^AUPNVPRV("AD",BPCVSIT,X1)) Q:+X1=0 D
  1. . Q:'$D(^AUPNVPRV(X1,0))
  1. . Q:$P(^AUPNVPRV(X1,0),U,4)'="P"
  1. . S BPCPRV=$P(X1,U,1),BPCPRV=$P($G(^VA(200,BPCPRV,0)),U,1) S:'$L(BPCPRV) BPCPRV=X1
  1. S ^BGUTMP($J,X,"VISIT","NONE")=BPCVDT_U_"VISIT"_U_BPCVSIT_U_BPCLOC_U_$G(BPCPRV)_U_BPCSC_U_BPCCLIN D LAB,POV,MED
  1. S BPCFLG="" S:$D(^BGUTMP($J,X,"LAB")) BPCFLG="L" S:$D(^BGUTMP($J,X,"POV")) BPCFLG=BPCFLG_"P" S:$D(^BGUTMP($J,X,"MED")) BPCFLG=BPCFLG_"M" S $P(^BGUTMP($J,X,"VISIT","NONE"),U,6)=BPCFLG
  1. Q
  1. ;
  1. VST2 ;
  1. Q:$P(^AUPNVPRV(X1,0),U,4)'="P"
  1. S BPCPRV=$P(X1,U,1),BPCPRV=$P($G(^VA(200,BPCPRV,0)),U,1) S:'$L(BPCPRV) BPCPRV=X1
  1. Q
  1. ;
  1. LAB ;
  1. S X1=0 F S X1=$O(^AUPNVLAB("AD",BPCVSIT,X1)) Q:+X1=0 D
  1. . Q:'$D(^AUPNVLAB(X1,0))
  1. . S Y=^AUPNVLAB(X1,0),Y11=$G(^AUPNVLAB(X1,11)),Y12=$G(^AUPNVLAB(X1,12))
  1. . S BPCTEST=$P(Y,U,1),BPCTEST=$P($G(^LAB(60,BPCTEST,0)),U,1) Q:'$L(BPCTEST)
  1. . S BPCVALUE=$P(Y,U,4),BPCFLAGL=$P(Y,U,5),BPCREFL=$P(Y11,U,4),BPCREFH=$P(Y11,U,5),BPCUNITS=$P(Y11,U,1)
  1. . S BPCSITE="" I $L($P(Y11,U,3)) S BPCSITE=$P(Y11,U,3),BPCSITE=$S(BPCSITE=72:70,BPCSITE=73:BPCSITE=70,1:BPCSITE),BPCSITE=$P($G(^LAB(61,BPCSITE,0)),U,1)
  1. . S BPCCTR(BPCTEST)=$G(BPCCTR(BPCTEST))+1
  1. . S BPCCDT=$P(Y12,U,1) S:BPCCDT="" BPCCDT=BPCVDT
  1. . S BPCTEST1=BPCTEST,BPCCNT=BPCCNT+1
  1. . I $D(^BGUTMP($J,X,"LAB",BPCTEST)) S BPCTEST1=BPCTEST_BPCCNT
  1. . S ^BGUTMP($J,X,"LAB",BPCTEST1)=BPCVDT_U_"LAB"_U_BPCTEST_U_X1_U_BPCVALUE_U_BPCFLAGL_U_BPCUNITS_U_BPCREFL_U_BPCREFH_U_BPCSITE_U_BPCCDT
  1. Q
  1. ;
  1. MED S X1=0 F S X1=$O(^AUPNVMED("AD",BPCVSIT,X1)) Q:+X1=0 D
  1. . Q:'$D(^AUPNVMED(X1,0))
  1. . S Y=^AUPNVMED(X1,0),Y12=$G(^AUPNVMED(X1,12))
  1. . S BPCMED=$P(Y,U,1),BPCMED=$P($G(^PSDRUG(BPCMED,0)),U,1) Q:'$L(BPCMED)
  1. . S BPCDNAM=$P(Y,U,4),BPCSIG=$P(Y,U,5),BPCQTY=$P(Y,U,6),BPCDAYS=$P(Y,U,7),BPCDDAY=$P(Y,U,8)
  1. . S BPCCDT=$P(Y12,U,1) S:BPCCDT="" BPCCDT=BPCVDT
  1. . S ^BGUTMP($J,X,"MED",BPCMED)=BPCVDT_U_"MED"_U_BPCMED_U_X1_U_BPCDNAM_U_BPCSIG_U_BPCQTY_U_BPCDAYS_U_BPCCDT
  1. Q
  1. ;
  1. POV S X1=0 F S X1=$O(^AUPNVPOV("AD",BPCVSIT,X1)) Q:+X1=0 D
  1. . Q:'$D(^AUPNVPOV(X1,0))
  1. . S BPCDTA=$G(^AUPNVPOV(X1,0))
  1. . S Y=$P(BPCDTA,U,1) Q:'$L(Y)
  1. . S BPCPOV=$P($G(^ICD9(Y,0)),U,3)
  1. . S Y=$P(BPCDTA,U,4) Q:'$L(Y)
  1. . S BPCNAR=$G(^AUTNPOV(Y,0))
  1. . S ^BGUTMP($J,X,"POV",X1)=BPCVDT_U_"POV"_U_BPCPOV_U_BPCNAR_U_X1
  1. Q
  1. ;
  1. ;S BPCTEST="" F S BPCTEST=$O(BPCCTR(BPCTEST)) Q:BPCTEST="" S RESULT(BPCCTR)="TREND"_U_BPCTEST_U_BPCCTR(BPCTEST),BPCCTR=BPCCTR+1
  1. S BPCTEST="" F S BPCTEST=$O(BPCCTR(BPCTEST)) Q:BPCTEST="" S ^BGURES(BPCSUB,BPCCTR)="TREND"_U_BPCTEST_U_BPCCTR(BPCTEST),BPCCTR=BPCCTR+1
  1. Q
  1. ALERTS ;EP ADD ALERT DATA FROM BPCPC
  1. ;I '$D(^AUPNPAT(BPCIEN,15)) S RESULT(BPCCTR)="ALERT"_U_"NO ALERTS",BPCCTR=BPCCTR+1 Q
  1. I '$D(^AUPNPAT(BPCIEN,15)) S ^BGURES(BPCSUB,BPCCTR)="ALERT"_U_"NO ALERTS",BPCCTR=BPCCTR+1 Q
  1. ;S BPCX="",BPCFLG=0 F S BPCX=$O(^AUPNPAT(BPCIEN,15,BPCX)) Q:BPCX="" S BPCDTA=$G(^AUPNPAT(BPCIEN,15,BPCX,0)) I BPCDTA'="" S RESULT(BPCCTR)="ALERT"_U_BPCDTA,BPCCTR=BPCCTR+1,BPCFLG=1
  1. S BPCX="",BPCFLG=0 F S BPCX=$O(^AUPNPAT(BPCIEN,15,BPCX)) Q:BPCX="" S BPCDTA=$G(^AUPNPAT(BPCIEN,15,BPCX,0)) I BPCDTA'="" S ^BGURES(BPCSUB,BPCCTR)="ALERT"_U_BPCDTA,BPCCTR=BPCCTR+1,BPCFLG=1
  1. ;I 'BPCFLG S RESULT(BPCCTR)="ALERT"_U_"NO ALERTS",BPCCTR=BPCCTR+1
  1. I 'BPCFLG S ^BGURES(BPCSUB,BPCCTR)="ALERT"_U_"NO ALERTS",BPCCTR=BPCCTR+1
  1. Q
  1. REMARKS ;EP ADD REMARK DATA FROM BPCPC
  1. ;I '$D(^AUPNPAT(BPCIEN,14)) S RESULT(BPCCTR)="REMARK"_U_"NO REMARKS",BPCCTR=BPCCTR+1 Q
  1. I '$D(^AUPNPAT(BPCIEN,14)) S ^BGURES(BPCSUB,BPCCTR)="REMARK"_U_"NO REMARKS",BPCCTR=BPCCTR+1 Q
  1. ;S BPCX="",BPCFLG=0 F S BPCX=$O(^AUPNPAT(BPCIEN,14,BPCX)) Q:BPCX="" S BPCDTA=$G(^AUPNPAT(BPCIEN,14,BPCX,0)) I BPCDTA'="" S RESULT(BPCCTR)="REMARK"_U_BPCDTA,BPCCTR=BPCCTR+1,BPCFLG=1
  1. S BPCX="",BPCFLG=0 F S BPCX=$O(^AUPNPAT(BPCIEN,14,BPCX)) Q:BPCX="" S BPCDTA=$G(^AUPNPAT(BPCIEN,14,BPCX,0)) I BPCDTA'="" S ^BGURES(BPCSUB,BPCCTR)="REMARK"_U_BPCDTA,BPCCTR=BPCCTR+1,BPCFLG=1
  1. ;I 'BPCFLG S RESULT(BPCCTR)="REMARK"_U_"NO REMARKS",BPCCTR=BPCCTR+1
  1. I 'BPCFLG S ^BGURES(BPCSUB,BPCCTR)="REMARK"_U_"NO REMARKS",BPCCTR=BPCCTR+1
  1. Q
  1. NOK ; ADD NEXT OF KIN DATA
  1. D NOK^BPCLALL1
  1. Q
  1. SITEP ;
  1. D SITEP^BPCLALL1
  1. Q