LRBLDX ;AVAMC/REG - DONOR ABO/RH TESTING ;3/25/92 22:42 ;
;;5.2;LAB SERVICE;**247,408**;Sep 27, 1994;Build 8
;Per VHA Directive 97-033 this routine should not be modified. Medical Device # BK970021
Q D END S X="BLOOD BANK" D ^LRUTL G:Y=-1 END
I LRCAPA S X="DONOR ABO/RH TESTING" D X^LRUWK G:'$D(X) END S Y="DX" D S^LRBLWD D EN^LRBLW G:%<1 END I $D(LRK("LRK")) D DT^LRBLU S LRK("LRK")=LRK
S LRB="",LRC=1 W !!,"Enter TEST COMMENT(s) " S %=2 D YN^LRU G:%<1 END K:%=1 LRC
DNR W ! K DA,LR,LRR S DIC="^LRE(",DIC(0)="AFQM",D="C^B",DIC("B")=LRB,DIC("A")="Select DONOR ID: " D MIX^DIC1 K DIC G:X=""!(X[U) END
I Y<1 W $C(7),!!,"Complete DONOR ID must be entered (ex. If ID=H12345 then H123 unacceptable)." G DNR
I X[","!($L(X)=5) D ASK G:Y<1 DNR D CKRL,REST G DNR
S LRQ=+Y,LRI=$O(^LRE("C",X,LRQ,0)) G:'LRI DNR S LRQ(1)=$P(^LRE(LRQ,5,LRI,0),"^",4) D CKRL,REST G DNR
;
REST S X(1)=$E(X,3,$L(X)),X(2)=X(1)+1,X(3)=$L(X(1))-$L(X(2)) I X(3) S X(2)=$E("00000",1,X(3))_X(2)
S LRB=$E(X,1,2)_X(2),LRB=$S($D(^LRE("C",LRB)):LRB,1:"")
S X=^LRE(LRQ,0),W(5)=$P(X,U,5),W(6)=$P(X,U,6)
S Y=+^LRE(LRQ,5,LRI,0) D D^LRU W !!,"UNIT#:",LRQ(1)," Donation date:",Y I LRQ(1)="" W $C(7),!?35,"Must have UNIT # to proceed." Q
W ! S DR="[LRBLDABRH]",DIE="^LRE(",DA=LRQ D ^DIE K DIE,DR
I $D(LRR) F A=0:0 S A=$O(LRA(A)) Q:'A I $D(^LRE(LRQ,5,LRI,A)),$P(^(A),"^") S LR=1
I $D(LRR),'$D(^XUSEC("LRBLSUPER",DUZ)) W !,"One or more components were released. You may not edit existing test results."
S Y="DX" D:LRCAPA SET^LRBLWD Q
S ;from LRBLDX input template only supervisor can edit data after release of components
I $D(LRR),$P(LRM,U,4)]"",'$D(^XUSEC("LRBLSUPER",DUZ)) S Y=Z
Q
ASK S LRQ=+Y,DIC="^LRE(LRQ,5,",DIC(0)="FAEQM",DIC("A")="Select DONATION DATE: " D ^DIC K DIC Q:Y<1
S LRI=+Y,LRQ(1)=$P(^LRE(LRQ,5,LRI,0),U,4) Q
;
CKRL F A=0:0 S A=$O(^LRE(LRQ,5,LRI,66,A)) Q:'A I $P(^(A,0),"^",8)=0 S LRR=1 Q
Q
END D V^LRU Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRBLDX 1927 printed Nov 22, 2024@17:21:04 Page 2
LRBLDX ;AVAMC/REG - DONOR ABO/RH TESTING ;3/25/92 22:42 ;
+1 ;;5.2;LAB SERVICE;**247,408**;Sep 27, 1994;Build 8
+2 ;Per VHA Directive 97-033 this routine should not be modified. Medical Device # BK970021
+3 QUIT
DO END
SET X="BLOOD BANK"
DO ^LRUTL
if Y=-1
GOTO END
+4 IF LRCAPA
SET X="DONOR ABO/RH TESTING"
DO X^LRUWK
if '$DATA(X)
GOTO END
SET Y="DX"
DO S^LRBLWD
DO EN^LRBLW
if %<1
GOTO END
IF $DATA(LRK("LRK"))
DO DT^LRBLU
SET LRK("LRK")=LRK
+5 SET LRB=""
SET LRC=1
WRITE !!,"Enter TEST COMMENT(s) "
SET %=2
DO YN^LRU
if %<1
GOTO END
if %=1
KILL LRC
DNR WRITE !
KILL DA,LR,LRR
SET DIC="^LRE("
SET DIC(0)="AFQM"
SET D="C^B"
SET DIC("B")=LRB
SET DIC("A")="Select DONOR ID: "
DO MIX^DIC1
KILL DIC
if X=""!(X[U)
GOTO END
+1 IF Y<1
WRITE $CHAR(7),!!,"Complete DONOR ID must be entered (ex. If ID=H12345 then H123 unacceptable)."
GOTO DNR
+2 IF X[","!($LENGTH(X)=5)
DO ASK
if Y<1
GOTO DNR
DO CKRL
DO REST
GOTO DNR
+3 SET LRQ=+Y
SET LRI=$ORDER(^LRE("C",X,LRQ,0))
if 'LRI
GOTO DNR
SET LRQ(1)=$PIECE(^LRE(LRQ,5,LRI,0),"^",4)
DO CKRL
DO REST
GOTO DNR
+4 ;
REST SET X(1)=$EXTRACT(X,3,$LENGTH(X))
SET X(2)=X(1)+1
SET X(3)=$LENGTH(X(1))-$LENGTH(X(2))
IF X(3)
SET X(2)=$EXTRACT("00000",1,X(3))_X(2)
+1 SET LRB=$EXTRACT(X,1,2)_X(2)
SET LRB=$SELECT($DATA(^LRE("C",LRB)):LRB,1:"")
+2 SET X=^LRE(LRQ,0)
SET W(5)=$PIECE(X,U,5)
SET W(6)=$PIECE(X,U,6)
+3 SET Y=+^LRE(LRQ,5,LRI,0)
DO D^LRU
WRITE !!,"UNIT#:",LRQ(1)," Donation date:",Y
IF LRQ(1)=""
WRITE $CHAR(7),!?35,"Must have UNIT # to proceed."
QUIT
+4 WRITE !
SET DR="[LRBLDABRH]"
SET DIE="^LRE("
SET DA=LRQ
DO ^DIE
KILL DIE,DR
+5 IF $DATA(LRR)
FOR A=0:0
SET A=$ORDER(LRA(A))
if 'A
QUIT
IF $DATA(^LRE(LRQ,5,LRI,A))
IF $PIECE(^(A),"^")
SET LR=1
+6 IF $DATA(LRR)
IF '$DATA(^XUSEC("LRBLSUPER",DUZ))
WRITE !,"One or more components were released. You may not edit existing test results."
+7 SET Y="DX"
if LRCAPA
DO SET^LRBLWD
QUIT
S ;from LRBLDX input template only supervisor can edit data after release of components
+1 IF $DATA(LRR)
IF $PIECE(LRM,U,4)]""
IF '$DATA(^XUSEC("LRBLSUPER",DUZ))
SET Y=Z
+2 QUIT
ASK SET LRQ=+Y
SET DIC="^LRE(LRQ,5,"
SET DIC(0)="FAEQM"
SET DIC("A")="Select DONATION DATE: "
DO ^DIC
KILL DIC
if Y<1
QUIT
+1 SET LRI=+Y
SET LRQ(1)=$PIECE(^LRE(LRQ,5,LRI,0),U,4)
QUIT
+2 ;
CKRL FOR A=0:0
SET A=$ORDER(^LRE(LRQ,5,LRI,66,A))
if 'A
QUIT
IF $PIECE(^(A,0),"^",8)=0
SET LRR=1
QUIT
+1 QUIT
END DO V^LRU
QUIT