LRHYPL ;DALOI/HOAK - LAB PHLEB AND COLLECTION TIME UPDATER ;4/13/1999
;;5.2;LAB SERVICE;**405**;Sep 27, 1994;Build 93
;
; Reference to ^DIC supported by DBIA #916
;
;
; This routine will be used to capture the phlebotomist and the
; specimen collection time.
;
; The barcoded specimen tubes will be waunded.
; The phlebotomist ID will then be waunded.
;
CONTROL ;
K DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECVR
K DIR,DIC,DIE,LRARIVE,LRDRAW
K DIC,LRHYTECH,LRHYDUZ,LRPHLEB
K DIR,DIC,DIE,LRARIVE,LRDRAW
S LRPL=1
S LREND=0
D TECH
S LRCNTX=0
I U[X D END QUIT
Q:X="" D SINGLE
K LRPL
G CONTROL
QUIT
FINDER ; Get the phlebotomist
S DIC="^VA(200,"
S DIC(0)="AEMQZ"
S DIC("A")="Please enter employee number: "
D ^DIC
QUIT
TECH ; Get the phlebotomist
K DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECVR
K DIR,DIC,DIE,LRARIVE,LRDRAW
W @IOF
;
X ^%ZOSF("EOFF")
D NINE^LRHYU
X ^%ZOSF("EON")
I U[X QUIT
I $L(X)'=9 K DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECV G TECH
;
;
;
K DIC,LRHYTECH,LRHYDUZ
K Y
S DIC=200
S DIC(0)="MQZ"
D ^DIC
W Y
;
I U[X QUIT
I Y<0 G CONTROL
S (LRHYDUZ,LRHYTECH,LRPHLEB,LRRECVR)=+Y
S LRHYDUZ=$P($G(^VA(200,LRHYDUZ,0)),U)
QUIT
;
TIME ;
;
;
;
S LREND=0
S DIC="^DPT("
S DIC(0)="AEMQZ"
D ^DIC
S DFN=+Y
S LRDFN=$G(^DPT(DFN,"LR"))
D ^VADPT,INP^VADPT
;
QUIT
;
SINGLE ;
S LRCNTX=LRCNTX+1
; This block calls up the testing demographics.
; LRHYD123 IS LRUID
W !!,"RECORDING UID: ",LRCNTX
S LRACC=""
;
;
K LRHYD123
;
K LRHN0,LRHNODE,LRN0,LR0NODE,LRPHLEB
D ^LRHYU4
I LRAN<1 QUIT
;
I '$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) W !,"Doesn't exist." G SINGLE
S LRUNC=1
S LRORDT1=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4)
S LRHYD123=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,.3))
; mdofied by Hoak per Joe for prior to free t-4
D NOW^%DTC
S LRDRAW=%
S LRSN=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,5)
I '$G(LRDAT) S LRDAT=$P(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4)
;
;
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,3)=%
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,11)=LRHYTECH
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,12)=%
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,13)=$G(LRHYTECH)
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,14)=$G(%)
S $P(^TMP("LRHYHOW1",$J,LRHYD123),U,9)="PL"
;
I '^TMP("LRHYHOW1",$J,LRHYD123) S ^(LRHYD123)=$G(LRDRAW)
; USE NEW SPECIMEN DEMOGRAPHICS FILE #69.87
D SETFILE^LRHYBC1
H 2
K LRAN,LRHYD123,LRAN,LRAA,LRADT,LRDRAW
G SINGLE
QUIT
END ;
K %,LRDAT,LRAN,LRAD,LRAA,LRDFN,LRDRAW,LRHYTECH,LRHYDUZ
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRHYPL 2536 printed Oct 16, 2024@18:16:10 Page 2
LRHYPL ;DALOI/HOAK - LAB PHLEB AND COLLECTION TIME UPDATER ;4/13/1999
+1 ;;5.2;LAB SERVICE;**405**;Sep 27, 1994;Build 93
+2 ;
+3 ; Reference to ^DIC supported by DBIA #916
+4 ;
+5 ;
+6 ; This routine will be used to capture the phlebotomist and the
+7 ; specimen collection time.
+8 ;
+9 ; The barcoded specimen tubes will be waunded.
+10 ; The phlebotomist ID will then be waunded.
+11 ;
CONTROL ;
+1 KILL DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECVR
+2 KILL DIR,DIC,DIE,LRARIVE,LRDRAW
+3 KILL DIC,LRHYTECH,LRHYDUZ,LRPHLEB
+4 KILL DIR,DIC,DIE,LRARIVE,LRDRAW
+5 SET LRPL=1
+6 SET LREND=0
+7 DO TECH
+8 SET LRCNTX=0
+9 IF U[X
DO END
QUIT
+10 if X=""
QUIT
DO SINGLE
+11 KILL LRPL
+12 GOTO CONTROL
+13 QUIT
FINDER ; Get the phlebotomist
+1 SET DIC="^VA(200,"
+2 SET DIC(0)="AEMQZ"
+3 SET DIC("A")="Please enter employee number: "
+4 DO ^DIC
+5 QUIT
TECH ; Get the phlebotomist
+1 KILL DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECVR
+2 KILL DIR,DIC,DIE,LRARIVE,LRDRAW
+3 WRITE @IOF
+4 ;
+5 XECUTE ^%ZOSF("EOFF")
+6 DO NINE^LRHYU
+7 XECUTE ^%ZOSF("EON")
+8 IF U[X
QUIT
+9 IF $LENGTH(X)'=9
KILL DIC,LRHYTECH,LRHYDUZ,LRPHLEB,LRRECV
GOTO TECH
+10 ;
+11 ;
+12 ;
+13 KILL DIC,LRHYTECH,LRHYDUZ
+14 KILL Y
+15 SET DIC=200
+16 SET DIC(0)="MQZ"
+17 DO ^DIC
+18 WRITE Y
+19 ;
+20 IF U[X
QUIT
+21 IF Y<0
GOTO CONTROL
+22 SET (LRHYDUZ,LRHYTECH,LRPHLEB,LRRECVR)=+Y
+23 SET LRHYDUZ=$PIECE($GET(^VA(200,LRHYDUZ,0)),U)
+24 QUIT
+25 ;
TIME ;
+1 ;
+2 ;
+3 ;
+4 SET LREND=0
+5 SET DIC="^DPT("
+6 SET DIC(0)="AEMQZ"
+7 DO ^DIC
+8 SET DFN=+Y
+9 SET LRDFN=$GET(^DPT(DFN,"LR"))
+10 DO ^VADPT
DO INP^VADPT
+11 ;
+12 QUIT
+13 ;
SINGLE ;
+1 SET LRCNTX=LRCNTX+1
+2 ; This block calls up the testing demographics.
+3 ; LRHYD123 IS LRUID
+4 WRITE !!,"RECORDING UID: ",LRCNTX
+5 SET LRACC=""
+6 ;
+7 ;
+8 KILL LRHYD123
+9 ;
+10 KILL LRHN0,LRHNODE,LRN0,LR0NODE,LRPHLEB
+11 DO ^LRHYU4
+12 IF LRAN<1
QUIT
+13 ;
+14 IF '$DATA(^LRO(68,LRAA,1,LRAD,1,LRAN,0))
WRITE !,"Doesn't exist."
GOTO SINGLE
+15 SET LRUNC=1
+16 SET LRORDT1=$PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4)
+17 SET LRHYD123=$GET(^LRO(68,LRAA,1,LRAD,1,LRAN,.3))
+18 ; mdofied by Hoak per Joe for prior to free t-4
+19 DO NOW^%DTC
+20 SET LRDRAW=%
+21 SET LRSN=$PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,5)
+22 IF '$GET(LRDAT)
SET LRDAT=$PIECE(^LRO(68,LRAA,1,LRAD,1,LRAN,0),U,4)
+23 ;
+24 ;
+25 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,3)=%
+26 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,11)=LRHYTECH
+27 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,12)=%
+28 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,13)=$GET(LRHYTECH)
+29 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,14)=$GET(%)
+30 SET $PIECE(^TMP("LRHYHOW1",$JOB,LRHYD123),U,9)="PL"
+31 ;
+32 IF '^TMP("LRHYHOW1",$JOB,LRHYD123)
SET ^(LRHYD123)=$GET(LRDRAW)
+33 ; USE NEW SPECIMEN DEMOGRAPHICS FILE #69.87
+34 DO SETFILE^LRHYBC1
+35 HANG 2
+36 KILL LRAN,LRHYD123,LRAN,LRAA,LRADT,LRDRAW
+37 GOTO SINGLE
+38 QUIT
END ;
+1 KILL %,LRDAT,LRAN,LRAD,LRAA,LRDFN,LRDRAW,LRHYTECH,LRHYDUZ
+2 ;