LAMIVTL0 ;VA/DAL/HOAK - 1st routine for Vitek Literal Verification ;1/22/96 08:30 ;
;;5.2;AUTOMATED LAB INSTRUMENTS;**1030**;NOV 01, 1997
;;5.2;AUTOMATED LAB INSTRUMENTS;**12,37,42**;Sep 27,1994;Build 7
INIT ;
S OK=1
D CONTROL
D END
Q
CONTROL ;
D INTRO I 'OK D END QUIT
Q
END ;
K LRNOTO,LRBUG,LRBUX,LRTIC,LRTAC,LRTAD,LRPIC,LRNODE,LRSUM,LRIFN
K LRQUANT,LAMIAUTO,LRINST
;LR*5.2*37___/\______/\ added to fix undef in LRCAPVM
Q
INTRO ;FROM LAMIAUT0 BY FHS
;-----------------------------------------------------------------
D ^LRPARAM
S LRMIDEF=$P(^LAB(69.9,1,1),U,10) S LRMIOTH=$P(^(1),U,11)
S LRINI=$P(^VA(200,DUZ,0),U,2)
S LRMICOM=$S($D(^DD(63.31,.01,0)):$P(^(0),U,5,99),1:"S Q9=""1,68,KM"" D COM^LRNUM")
S LRMICOMS=$P($P(LRMICOM,",",3),"""",1)
S LRTEC=LRINI
;
MACHINE ;
K DIC
W @IOF
D S1
S DIC="^LAB(62.4,"
S DIC(0)="AEMQZ"
S DIC("A")="Select auto instrument here: "
D ^DIC I Y=-1 S OK=0 QUIT ;------------------Back to Control
S LRINST=+Y
S LRNODE=Y(0)
S LRAA=$P(LRNODE,U,11)
;----------------------------------------------------------------------
S LRLL=$P(LRNODE,U,4) ;-----------> load/work list
I '$G(LRLL) S OK=0 QUIT ;--------------------Back to Control
;----------------------------------------------------------------------
AREA ;
K DIC("A") K Y(0)
S DIC="^LRO(68,"
S DIC("B")=$P(^LRO(68,LRAA,0),U)
D ^DIC ;----------------->ACCESSION AREA
I Y=-1 S OK=0 QUIT ;-------------------------Back to Control
I +Y'=LRAA S LRAA=+Y
;-----------------------------------------------------------------------
LRAD ;
S %DT="AEP"
S %DT("A")=" Accession date: "
S %DT("B")=$$FMTE^XLFDT($$CADT^LA7UTIL(LRAA),"1D")
D DATE^LRWU I Y=-1 S OK=0 QUIT ;--------------Back to Control
S LRAD=+Y
;-----------------------------------------------------------------------
LMIP ;
S LRVT=$P(LRNODE,U,15) I '$G(LRVT) S LRVT="VS"
S LRFMT=$P(^LAB(69.9,1,0),U,11),LRFMT=$S(LRFMT="":"I",1:LRFMT)
D AUTO^LRCAPV ;--------------->Work Load
I Y=-1 S OK=0 QUIT ;--------------------------Back to Control
;-----------------------------------------------------------------------
ACCN ;
I '$D(^LAH(LRLL,1,"C")) S OK=0 D NODATA QUIT ;no data in LAH
S OK=1
K DIR
S LRAN=0
F S LRAN=$O(^LAH(LRLL,1,"C",LRAN)) Q:LRAN'>0 D Q:'OK
. S DIR(0)="N"
. S DIR("A")="Enter the number portion of the Accession"
. S DIR("B")=LRAN
. S DIR("?")="^D LIST^LAMIVTL0"
. D ^DIR
. I $D(DUOUT)!($D(DTOUT)) S OK=0 QUIT ;---------Back to Control
. I Y'=LRAN S LRAN=+Y
. S LRANX=LRAN
. ;LA*5.2*37 Check for accns not in Vista
. I '$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0)) D REMOVE QUIT
. ;
. ;^LAH(65,1,"C",3,32)
. D LRIFN
Q:'OK D:$G(OK1)'>0 LIST
G:$G(OK1)'>0 ACCN
Q
S1 ;
W !!," Vitek Literal verification screen 1",!
Q
;---------------------------------------------------------------------
LIST ;
W !!
S LRLIST=0
W !,"Choose from: "
F S LRLIST=$O(^LAH(LRLL,1,"C",LRLIST)) Q:LRLIST="" D
. W !,LRLIST
Q
REMOVE ;
;
;--^LAH(65,1,"C",3659,69) =
;_____________________/\
; \/
;--^LAH(65,1,69,0) = 1^1^^^3659^^VITEK^3659
;--^LAH(65,1,69,2,2) = CARD^gni
;--^LAH(65,1,69,3,1,0) = 1^^gni
;
;
S DIR("A")=$P(^LRO(68,12,0),U)_" "_LRAN_" is not in Vista data base. I've removed the C x-ref Shall I remove ^LAH Data?"
S DIR(0)="Y" S DIR("B")="YES"
D ^DIR
I $D(DTOUT)!($D(DUOUT)) S OK=0 QUIT
;
I Y=1 D
. S LRTIC=0
. F S LRTIC=$O(^LAH(LRLL,1,"C",LRAN,LRTIC)) Q:+LRTIC'>0 D
.. I $D(^LAH(LRLL,1,LRTIC,0)) K ^LAH(LRLL,1,LRTIC)
K ^LAH(LRLL,1,"C",LRAN)
K ^LAH(LRLL,1,"E",LRAN)
;
;
W !,"Please continue...",!
Q
LRIFN ;
S OK1=1
S LRIFN=0,LRCNT=0
F S LRIFN=$O(^LAH(LRLL,1,"C",LRAN,LRIFN)) Q:LRIFN'>0 D Q:'OK1
. S LRCNT=LRCNT+1
. S LRIFN(LRCNT)=LRIFN
I '$G(LRCNT) W !!,"There is no data in LAH for accession ",LRAN S OK1=0 QUIT
Q:'OK1
D ^LAMIVTL5 ;check for zero isolate
Q:'OK
D ^LAMIVTL1 ;continue processing
D END
Q
NODATA ;
W !!," There is no data in LAH. Run another upload "
Q
LAMIVTL0 ;VA/DAL/HOAK - 1st routine for Vitek Literal Verification ;1/22/96 08:30 ;
+1 ;;5.2;AUTOMATED LAB INSTRUMENTS;**1030**;NOV 01, 1997
+2 ;;5.2;AUTOMATED LAB INSTRUMENTS;**12,37,42**;Sep 27,1994;Build 7
INIT ;
+1 SET OK=1
+2 DO CONTROL
+3 DO END
+4 QUIT
CONTROL ;
+1 DO INTRO
IF 'OK
DO END
QUIT
+2 QUIT
END ;
+1 KILL LRNOTO,LRBUG,LRBUX,LRTIC,LRTAC,LRTAD,LRPIC,LRNODE,LRSUM,LRIFN
+2 KILL LRQUANT,LAMIAUTO,LRINST
+3 ;LR*5.2*37___/\______/\ added to fix undef in LRCAPVM
+4 QUIT
INTRO ;FROM LAMIAUT0 BY FHS
+1 ;-----------------------------------------------------------------
+2 DO ^LRPARAM
+3 SET LRMIDEF=$PIECE(^LAB(69.9,1,1),U,10)
SET LRMIOTH=$PIECE(^(1),U,11)
+4 SET LRINI=$PIECE(^VA(200,DUZ,0),U,2)
+5 SET LRMICOM=$SELECT($DATA(^DD(63.31,.01,0)):$PIECE(^(0),U,5,99),1:"S Q9=""1,68,KM"" D COM^LRNUM")
+6 SET LRMICOMS=$PIECE($PIECE(LRMICOM,",",3),"""",1)
+7 SET LRTEC=LRINI
+8 ;
MACHINE ;
+1 KILL DIC
+2 WRITE @IOF
+3 DO S1
+4 SET DIC="^LAB(62.4,"
+5 SET DIC(0)="AEMQZ"
+6 SET DIC("A")="Select auto instrument here: "
+7 ;------------------Back to Control
DO ^DIC
IF Y=-1
SET OK=0
QUIT
+8 SET LRINST=+Y
+9 SET LRNODE=Y(0)
+10 SET LRAA=$PIECE(LRNODE,U,11)
+11 ;----------------------------------------------------------------------
+12 ;-----------> load/work list
SET LRLL=$PIECE(LRNODE,U,4)
+13 ;--------------------Back to Control
IF '$GET(LRLL)
SET OK=0
QUIT
+14 ;----------------------------------------------------------------------
AREA ;
+1 KILL DIC("A")
KILL Y(0)
+2 SET DIC="^LRO(68,"
+3 SET DIC("B")=$PIECE(^LRO(68,LRAA,0),U)
+4 ;----------------->ACCESSION AREA
DO ^DIC
+5 ;-------------------------Back to Control
IF Y=-1
SET OK=0
QUIT
+6 IF +Y'=LRAA
SET LRAA=+Y
+7 ;-----------------------------------------------------------------------
LRAD ;
+1 SET %DT="AEP"
+2 SET %DT("A")=" Accession date: "
+3 SET %DT("B")=$$FMTE^XLFDT($$CADT^LA7UTIL(LRAA),"1D")
+4 ;--------------Back to Control
DO DATE^LRWU
IF Y=-1
SET OK=0
QUIT
+5 SET LRAD=+Y
+6 ;-----------------------------------------------------------------------
LMIP ;
+1 SET LRVT=$PIECE(LRNODE,U,15)
IF '$GET(LRVT)
SET LRVT="VS"
+2 SET LRFMT=$PIECE(^LAB(69.9,1,0),U,11)
SET LRFMT=$SELECT(LRFMT="":"I",1:LRFMT)
+3 ;--------------->Work Load
DO AUTO^LRCAPV
+4 ;--------------------------Back to Control
IF Y=-1
SET OK=0
QUIT
+5 ;-----------------------------------------------------------------------
ACCN ;
+1 ;no data in LAH
IF '$DATA(^LAH(LRLL,1,"C"))
SET OK=0
DO NODATA
QUIT
+2 SET OK=1
+3 KILL DIR
+4 SET LRAN=0
+5 FOR
SET LRAN=$ORDER(^LAH(LRLL,1,"C",LRAN))
IF LRAN'>0
QUIT
Begin DoDot:1
+6 SET DIR(0)="N"
+7 SET DIR("A")="Enter the number portion of the Accession"
+8 SET DIR("B")=LRAN
+9 SET DIR("?")="^D LIST^LAMIVTL0"
+10 DO ^DIR
+11 ;---------Back to Control
IF $DATA(DUOUT)!($DATA(DTOUT))
SET OK=0
QUIT
+12 IF Y'=LRAN
SET LRAN=+Y
+13 SET LRANX=LRAN
+14 ;LA*5.2*37 Check for accns not in Vista
+15 IF '$DATA(^LRO(68,LRAA,1,LRAD,1,LRAN,0))
DO REMOVE
QUIT
+16 ;
+17 ;^LAH(65,1,"C",3,32)
+18 DO LRIFN
End DoDot:1
IF 'OK
QUIT
+19 IF 'OK
QUIT
IF $GET(OK1)'>0
DO LIST
+20 IF $GET(OK1)'>0
GOTO ACCN
+21 QUIT
S1 ;
+1 WRITE !!," Vitek Literal verification screen 1",!
+2 QUIT
+3 ;---------------------------------------------------------------------
LIST ;
+1 WRITE !!
+2 SET LRLIST=0
+3 WRITE !,"Choose from: "
+4 FOR
SET LRLIST=$ORDER(^LAH(LRLL,1,"C",LRLIST))
IF LRLIST=""
QUIT
Begin DoDot:1
+5 WRITE !,LRLIST
End DoDot:1
+6 QUIT
REMOVE ;
+1 ;
+2 ;--^LAH(65,1,"C",3659,69) =
+3 ;_____________________/\
+4 ; \/
+5 ;--^LAH(65,1,69,0) = 1^1^^^3659^^VITEK^3659
+6 ;--^LAH(65,1,69,2,2) = CARD^gni
+7 ;--^LAH(65,1,69,3,1,0) = 1^^gni
+8 ;
+9 ;
+10 SET DIR("A")=$PIECE(^LRO(68,12,0),U)_" "_LRAN_" is not in Vista data base. I've removed the C x-ref Shall I remove ^LAH Data?"
+11 SET DIR(0)="Y"
SET DIR("B")="YES"
+12 DO ^DIR
+13 IF $DATA(DTOUT)!($DATA(DUOUT))
SET OK=0
QUIT
+14 ;
+15 IF Y=1
Begin DoDot:1
+16 SET LRTIC=0
+17 FOR
SET LRTIC=$ORDER(^LAH(LRLL,1,"C",LRAN,LRTIC))
IF +LRTIC'>0
QUIT
Begin DoDot:2
+18 IF $DATA(^LAH(LRLL,1,LRTIC,0))
KILL ^LAH(LRLL,1,LRTIC)
End DoDot:2
End DoDot:1
+19 KILL ^LAH(LRLL,1,"C",LRAN)
+20 KILL ^LAH(LRLL,1,"E",LRAN)
+21 ;
+22 ;
+23 WRITE !,"Please continue...",!
+24 QUIT
LRIFN ;
+1 SET OK1=1
+2 SET LRIFN=0
SET LRCNT=0
+3 FOR
SET LRIFN=$ORDER(^LAH(LRLL,1,"C",LRAN,LRIFN))
IF LRIFN'>0
QUIT
Begin DoDot:1
+4 SET LRCNT=LRCNT+1
+5 SET LRIFN(LRCNT)=LRIFN
End DoDot:1
IF 'OK1
QUIT
+6 IF '$GET(LRCNT)
WRITE !!,"There is no data in LAH for accession ",LRAN
SET OK1=0
QUIT
+7 IF 'OK1
QUIT
+8 ;check for zero isolate
DO ^LAMIVTL5
+9 IF 'OK
QUIT
+10 ;continue processing
DO ^LAMIVTL1
+11 DO END
+12 QUIT
NODATA ;
+1 WRITE !!," There is no data in LAH. Run another upload "
+2 QUIT