LRWU1 ;DALOI/RWF/WTY - ORDERING/ACCESSION UTILITIES;12/08/04
;;5.2;LAB SERVICE;**153,272,291**;Sep 27, 1994
; Reference to ^DIC supported by IA #10007
; Reference to ^%DT supported by IA #10003
; Reference to YN^DICN supported by IA #10009
; Reference to INP^VADPT supported by IA #10061
; Reference to ^VA(200 supported by IA #10060
; Reference to $$ORESKEY^ORWDBA1 supported by IA #4569
; Reference to ^XUSEC("PROVIDER" supported by IA #10076
; Reference to $$ACTIVE^XUSER supported by IA #2343
;
URGG W !,"For ",$P(LRSTIK(LRSSX),U,2) D URG^LRORD2 Q
MICRO W !,"Is there one sample for this patient's order" S %=1 D YN^DICN I %=2!(%=-1) Q
I %=0 W !,"The collection sample and site/specimen will be used for all tests ordered",!,"at this time for this patient." G MICRO
D GSNO^LRORD3 Q:LREND
I +LRSAMP=-1&(LRSPEC=-1) W !,"Incompletely defined." G MICRO
S LRSAME=LRSAMP_U_LRSPEC
S LRECOM=0 D GCOM^LRORD2
Q
TIME ;
N LRMSG
S %DT="ET" R !,"Collection Date@Time: NOW//",X:DTIME
I '$T!(X="^") S LRCDT=-1 G TE
S:X="" X="N"
I X["?" D
.S LRMSG="You may enter ""T@U"" or just ""U"", for Today at Unknown "
.S LRMSG=LRMSG_"time."
.W !!,LRMSG,!!
I X["@U",$P(X,"@U",2)="" D G TIME:Y<1 Q
.S X=$P(X,"@U",1) D ^%DT
.Q:Y<1
.S LRCDT=+Y_"^1"
.D TE
S:X="U" LRCDT=DT_"^1",Y=DT
I X'="U" D ^%DT G TIME:X["?" S LRCDT=+Y_"^" G TIME:Y'["."
TE K %DT
Q
PRAC ;
I $G(LRORDRR)="R" D Q
. S LRPRAC="REF:"_+LRRSITE("RSITE")
N %
D:'$D(LRPARAM) ^LRPARAM K DIC S LREND=0,(VA200,DIC("B"))=""
S DFN=$P(^LR(LRDFN,0),U,3) S LRDPF=$P(^LR(LRDFN,0),U,2)
I LRDPF=2,$L($G(VAIN(2))) S DIC("B")=$P(VAIN(2),U)
I LRDPF=2,'$D(VAIN(2)) D
. N I,Y,X,N D INP^VADPT S (DIC("B"),LRPRAC)=$P(VAIN(2),U)
I $D(LRLABKY),'DIC("B"),$P(LRPARAM,U,16) S DIC("B")=$S($D(^LR(LRDFN,.2)):+^(.2),1:"")
P1 I $D(^VA(200,+DIC("B"),0))#2 S:'$D(^VA(200,"AK.PROVIDER",$P($G(^VA(200,+DIC("B"),0)),U))) DIC("B")=""
S DIC("B")=$P($G(^VA(200,+DIC("B"),0)),U) D P S:Y>0 (^LR(LRDFN,.2),LRPRAC)=+Y
Q
P ;Prompt for PROVIDER
S DIC="^VA(200,",DIC(0)="AMNEQ",LRPRAC=""
S DIC("S")="I $D(^VA(200,""AK.PROVIDER"",$P(^(0),U))),"
S DIC("S")=DIC("S")_"$$ACTIVE^XUSER(Y),"
S DIC("S")=DIC("S")_"$D(^XUSEC(""PROVIDER"",Y))"
S DIC("A")="PROVIDER: ",D="AK.PROVIDER"
S DIC("W")="Q" D ^DIC K DIC
I Y<0 D QUIT Q
S LRPRAC=+Y
Q
QUIT S LREND=1 Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLRWU1 2356 printed Oct 16, 2024@18:23:59 Page 2
LRWU1 ;DALOI/RWF/WTY - ORDERING/ACCESSION UTILITIES;12/08/04
+1 ;;5.2;LAB SERVICE;**153,272,291**;Sep 27, 1994
+2 ; Reference to ^DIC supported by IA #10007
+3 ; Reference to ^%DT supported by IA #10003
+4 ; Reference to YN^DICN supported by IA #10009
+5 ; Reference to INP^VADPT supported by IA #10061
+6 ; Reference to ^VA(200 supported by IA #10060
+7 ; Reference to $$ORESKEY^ORWDBA1 supported by IA #4569
+8 ; Reference to ^XUSEC("PROVIDER" supported by IA #10076
+9 ; Reference to $$ACTIVE^XUSER supported by IA #2343
+10 ;
URGG WRITE !,"For ",$PIECE(LRSTIK(LRSSX),U,2)
DO URG^LRORD2
QUIT
MICRO WRITE !,"Is there one sample for this patient's order"
SET %=1
DO YN^DICN
IF %=2!(%=-1)
QUIT
+1 IF %=0
WRITE !,"The collection sample and site/specimen will be used for all tests ordered",!,"at this time for this patient."
GOTO MICRO
+2 DO GSNO^LRORD3
if LREND
QUIT
+3 IF +LRSAMP=-1&(LRSPEC=-1)
WRITE !,"Incompletely defined."
GOTO MICRO
+4 SET LRSAME=LRSAMP_U_LRSPEC
+5 SET LRECOM=0
DO GCOM^LRORD2
+6 QUIT
TIME ;
+1 NEW LRMSG
+2 SET %DT="ET"
READ !,"Collection Date@Time: NOW//",X:DTIME
+3 IF '$TEST!(X="^")
SET LRCDT=-1
GOTO TE
+4 if X=""
SET X="N"
+5 IF X["?"
Begin DoDot:1
+6 SET LRMSG="You may enter ""T@U"" or just ""U"", for Today at Unknown "
+7 SET LRMSG=LRMSG_"time."
+8 WRITE !!,LRMSG,!!
End DoDot:1
+9 IF X["@U"
IF $PIECE(X,"@U",2)=""
Begin DoDot:1
+10 SET X=$PIECE(X,"@U",1)
DO ^%DT
+11 if Y<1
QUIT
+12 SET LRCDT=+Y_"^1"
+13 DO TE
End DoDot:1
if Y<1
GOTO TIME
QUIT
+14 if X="U"
SET LRCDT=DT_"^1"
SET Y=DT
+15 IF X'="U"
DO ^%DT
if X["?"
GOTO TIME
SET LRCDT=+Y_"^"
if Y'["."
GOTO TIME
TE KILL %DT
+1 QUIT
PRAC ;
+1 IF $GET(LRORDRR)="R"
Begin DoDot:1
+2 SET LRPRAC="REF:"_+LRRSITE("RSITE")
End DoDot:1
QUIT
+3 NEW %
+4 if '$DATA(LRPARAM)
DO ^LRPARAM
KILL DIC
SET LREND=0
SET (VA200,DIC("B"))=""
+5 SET DFN=$PIECE(^LR(LRDFN,0),U,3)
SET LRDPF=$PIECE(^LR(LRDFN,0),U,2)
+6 IF LRDPF=2
IF $LENGTH($GET(VAIN(2)))
SET DIC("B")=$PIECE(VAIN(2),U)
+7 IF LRDPF=2
IF '$DATA(VAIN(2))
Begin DoDot:1
+8 NEW I,Y,X,N
DO INP^VADPT
SET (DIC("B"),LRPRAC)=$PIECE(VAIN(2),U)
End DoDot:1
+9 IF $DATA(LRLABKY)
IF 'DIC("B")
IF $PIECE(LRPARAM,U,16)
SET DIC("B")=$SELECT($DATA(^LR(LRDFN,.2)):+^(.2),1:"")
P1 IF $DATA(^VA(200,+DIC("B"),0))#2
if '$DATA(^VA(200,"AK.PROVIDER",$PIECE($GET(^VA(200,+DIC("B"),0)),U)))
SET DIC("B")=""
+1 SET DIC("B")=$PIECE($GET(^VA(200,+DIC("B"),0)),U)
DO P
if Y>0
SET (^LR(LRDFN,.2),LRPRAC)=+Y
+2 QUIT
P ;Prompt for PROVIDER
+1 SET DIC="^VA(200,"
SET DIC(0)="AMNEQ"
SET LRPRAC=""
+2 SET DIC("S")="I $D(^VA(200,""AK.PROVIDER"",$P(^(0),U))),"
+3 SET DIC("S")=DIC("S")_"$$ACTIVE^XUSER(Y),"
+4 SET DIC("S")=DIC("S")_"$D(^XUSEC(""PROVIDER"",Y))"
+5 SET DIC("A")="PROVIDER: "
SET D="AK.PROVIDER"
+6 SET DIC("W")="Q"
DO ^DIC
KILL DIC
+7 IF Y<0
DO QUIT
QUIT
+8 SET LRPRAC=+Y
+9 QUIT
QUIT SET LREND=1
QUIT