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

BPCLIPL.m

Go to the documentation of this file.
  1. BPCLIPL ; IHS/OIT/MJL - GUI PROVIDER PAT LIST FOR LAB DATA ;
  1. ;;1.5;BPC;;MAY 26, 2005
  1. ;GETS LIST OF INITIAL PATIENTS FROM LAB OPT
  1. ; EDIT/DISP....LAB LISTS MENU
  1. ; ADDS TODAY'S PATIENTS WHO HAVE LABS
  1. ;GETS TODAYS LABS FOR PROVIDER DUZ
  1. TAG(BPCRES) ;EP REMOTE PROC: BPC GET INITIAL LAB LIST
  1. STRT S U="^",XWBWRAP=1,BPCCTR=2,BPCSTAR="" K ^BGUTMP($J),^TMP($J) S BPCRES="^TMP("_$J_")"
  1. I '$D(DUZ) S ^TMP($J,1)=-1,^TMP($J,2)="NO USER (DUZ) DEFINED" D KILL Q
  1. D CLIN
  1. S BPCX="",BPCSTAR=" *L*" F S BPCX=$O(^BGUTMP($J,"CLIN",BPCX)) Q:BPCX="" D GETPDAT
  1. S BPCSTAR="" I $D(^LRO(69.2,1,7,DUZ,1,"C")) S BPCX=0 F S BPCX=$O(^LRO(69.2,1,7,DUZ,1,"C",BPCX)) Q:BPCX="" D GETPDAT
  1. S BPCX="" F S BPCX=$O(^BGUTMP($J,"NAME",BPCX)) Q:BPCX="" S ^TMP($J,BPCCTR)=^(BPCX),BPCCTR=BPCCTR+1
  1. S ^TMP($J,1)=$S(BPCCTR=2:0,1:BPCCTR-1)
  1. D KILL
  1. Q
  1. ;
  1. KILL ;
  1. K BGUDOB,BPCCTR,BPCDAT,BPCDFN,BPCDOB,BPCEDT,BPCHRCN,BPCIDT,BPCIEN,BPCL0,BPCLOC,BPCNA,BPCP,BPCDFN,BPCPDT,BPCPNM,BPCPRVN,BPCPRVNA,BPCR1,BPCRANGE,BPCRHIGH,BPCRL0W,BPCRLOW,BPCSDT,BPCSEX,BPCSPEC,BPCSR,BPCSSN
  1. K BPCSTAR,BPCT,BPCTIME,BPCTX,BPCUNITS,BPCX,BPCY,BPCDFN,BPCI,BPCLRDFN,BPCLRDPF,Y
  1. Q
  1. ;
  1. GETPDAT ;
  1. S BPCIEN=$O(^DPT("B",BPCX,"")),BGUDOB="",BPCSSN="" Q:'$L(BPCIEN)
  1. S BPCDAT=^DPT(BPCIEN,0),BGUDOB=$P(BPCDAT,U,3),BPCSSN=$P(BPCDAT,U,9),BPCSEX=$P(BPCDAT,U,2)
  1. S Y=BGUDOB D DD^%DT S BGUDOB=Y
  1. S BPCHRCN=$P($G(^AUPNPAT(BPCIEN,41,DUZ(2),0)),U,2)
  1. I $L(BPCSTAR),$D(^BGUTMP($J,"CLIN",BPCX)) S ^BGUTMP($J,"NAME",BPCX)="IPL"_U_BPCX_BPCSTAR_U_BPCIEN_U_BGUDOB_U_BPCSSN_U_BPCHRCN_U_U_BPCSEX
  1. I '$D(^BGUTMP($J,"NAME",BPCX)) S ^BGUTMP($J,"NAME",BPCX)="IPL"_U_BPCX_BPCSTAR_U_BPCIEN_U_BGUDOB_U_BPCSSN_U_BPCHRCN_U_U_BPCSEX
  1. K BPCIEN,BGUDOB,BPCSSN,BPCDAT
  1. Q
  1. ;
  1. CLIN ;GETS TODAYS LAB DATA FOR DUZ
  1. I '$P($G(^VA(200,DUZ,0)),U,16) Q
  1. S BPCNA=$P(^VA(200,DUZ,0),U,1)
  1. S BPCDFN=DUZ
  1. S BPCSDT=DT,BPCEDT=DT
  1. F BPCPDT=BPCEDT-.01:0 S BPCPDT=$O(^LRO(69,BPCPDT)) Q:BPCPDT<BPCEDT!(BPCPDT>BPCSDT) D LOC
  1. Q
  1. ;
  1. LOC S BPCLOC="" F S BPCLOC=$O(^LRO(69,BPCPDT,1,"AN",BPCLOC)) Q:BPCLOC="" D PT
  1. Q
  1. ;
  1. PT S BPCP="" F BPCLRDFN=0:0 S BPCLRDFN=$O(^LRO(69,BPCPDT,1,"AN",BPCLOC,BPCLRDFN)) Q:BPCLRDFN<1 D SETPRV D:(BPCDFN=BPCPRVN) IDT
  1. Q
  1. ;
  1. IDT F BPCIDT=0:0 S BPCIDT=$O(^LRO(69,BPCPDT,1,"AN",BPCLOC,BPCLRDFN,BPCIDT)) Q:BPCIDT<1 D LOOK
  1. Q
  1. ;
  1. LOOK K BPCT S BPCL0=$S($D(^LR(BPCLRDFN,"CH",BPCIDT,0)):^(0),1:"") Q:BPCL0=""
  1. S BPCT=0 F BPCI=1:0 S BPCI=$O(^LR(BPCLRDFN,"CH",BPCIDT,BPCI)) Q:BPCI<1 S BPCT=BPCT+1,BPCT(BPCI)=^(BPCI) ;FOR ABN PUT I $P(^(BPCI),U,2)'="" BEFORE S BPCT=BPCT+1
  1. D GUI:BPCT
  1. Q
  1. ;
  1. SETPRV S BPCPRVN=""
  1. F S BPCP=$O(^LRO(69,BPCPDT,1,"AA",BPCLRDFN,BPCP)) Q:BPCP="" D C1
  1. Q
  1. ;
  1. C1 S BPCPRVN=$P(^LRO(69,BPCPDT,1,BPCP,0),"^",6)
  1. S BPCPRVNA=$P($G(^VA(200,BPCPRVN,0)),"^",1)
  1. Q
  1. ;
  1. SETUPDT I '$D(BPCL0) S BPCY="" Q
  1. S Y=$P(BPCL0,"^",1)
  1. I '$D(Y)!(Y="") S BPCY="" Q
  1. S BPCY=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)_" "
  1. X ^DD("DD")
  1. S BPCTIME=$P(Y,"@",2),BPCY=BPCY_$E(BPCTIME,1,2)_":"_$E(BPCTIME,4,5)
  1. Q
  1. ;
  1. SETRANGE S BPCRL0W="",BPCRHIGH="" I '$D(BPCL0) Q
  1. I '$D(BPCTX) Q
  1. S BPCR1=$P(BPCL0,"^",5)
  1. I '$D(^LAB(60,BPCTX,1,BPCR1,0)) Q
  1. S BPCRANGE=^LAB(60,BPCTX,1,BPCR1,0)
  1. ; NEED TO PICK UP TEST UNITS AND SPECIMEN.
  1. S BPCUNITS=$P(BPCRANGE,U,7),BPCSR=$S(BPCR1=72:70,BPCR1=73:70,1:BPCR1),BPCSPEC=$P(^LAB(61,BPCSR,0),U,1)
  1. I BPCRANGE["$S" S BPCX="S BPCRLOW="_$P(BPCRANGE,"^",2) X BPCX S BPCX="S BPCRHIGH="_$P(BPCRANGE,"^",3) X BPCX Q
  1. S BPCRLOW=$P(BPCRANGE,"^",2),BPCRHIGH=$P(BPCRANGE,"^",3)
  1. Q
  1. ;
  1. GUI D SETUPDT S LRDFN=BPCLRDFN,BPCX=^LR(BPCLRDFN,0),BPCLRDPF=$P(BPCX,U,2),BPCDFN=$P(BPCX,U,3) D PT^LRX S BPCHRCN=$G(HRCN),BPCPNM=$G(PNM) Q:'$L(BPCPNM)
  1. S BPCX=^DPT(BPCDFN,0),BPCDOB=$P(BPCX,U,3),BPCSSN=$P(BPCX,U,9)
  1. S (^TMP($J,BPCCTR),^BGUTMP($J,"CLIN",BPCPNM))="CLIN"_U_"NAME"_U_BPCPNM_U_BPCHRCN_U_$S($D(^DPT(BPCDFN,.1)):^(.1),1:BPCLOC)_U_$P(BPCL0,U,6)_U_BPCY_U_BPCDOB_U_BPCSSN,BPCCTR=BPCCTR+1
  1. S BPCI=0 F S BPCI=$O(BPCT(BPCI)) Q:BPCI<1 S BPCTX=$O(^LAB(60,"C","CH;"_BPCI_";1",0)) I BPCTX>0 S ^TMP($J,BPCCTR)="CLIN"_U_"TEST"_U_$P(^LAB(60,BPCTX,0),U,1)_U_$P(BPCT(BPCI),U,1)_U_$P(BPCT(BPCI),U,2) D
  1. .D SETRANGE S ^TMP($J,BPCCTR)=^TMP($J,BPCCTR)_U_BPCRLOW_U_BPCRHIGH_U_BPCUNITS_U_BPCSPEC S BPCCTR=BPCCTR+1
  1. K BGUDOB,BGUSSN
  1. Q