LAKDIFF1 ;DALOI/RWF/LL/RES - KEYBOARD DIFF PART 2 ; 7/14/87 08:02
;;5.2;AUTOMATED LAB INSTRUMENTS;**52**;Sep 27, 1994
; WBC DIFF CELL COUNTER
;
A ;
N LAI
;
K KEY,NC,TY,T1,T2
;
S KEY="",LAI=0
F S LAI=$O(^TMP($J,"W",LAI)) Q:LAI="" D
. S K=^TMP($J,"W",LAI),KEY(K)=LAI,KEY=KEY_K,TY(K)=""
. I $D(^TMP($J,"NC",LAI)) S NC(K)=""
;
F LAI=1:1:27 D Q:$O(^TMP($J,"W",LAI))=""
. S X=$G(^TMP("LA",$J,LAI,4))
. S Y=$G(^TMP("LA",$J,LAI,.1))
. S ^TMP($J,"A",LAI\9+1,LAI#9)=X_"^"_Y,T2=LAI
;
S T1=1,(T1(1),T2(1))=""
;
F LAI=1:1:T2 D
. S X=^TMP($J,"A",LAI\9+1,LAI#9)
. S T1(T1)=T1(T1)_$J($P(X,U,1),8)
. S T2(T1)=T2(T1)_$J($P(X,U,2),8)
. I '(LAI#9) S T1=T1+1,(T1(T1),T2(T1))=""
;
S (TOTAL,FLAG,STORE)=0
D HD1,HD4,HD2
;
F Q:TOTAL=200!FLAG!STORE D
. N DTOUT
. D SAY^XGF(IOSL-1,0,"WBC: ")
. S TYPE=$$READ^XGF(1,DTIME)
. I TYPE="^"!($D(DTOUT)) S FLAG=1 Q
. S LINE=$S(TYPE="":"STOP",TYPE="-":"MINUS",TYPE="!":"COM",KEY'[TYPE:"HELP",1:"COUNT")
. D @LINE
;
D STORE:(TOTAL=200)!(STORE)
;
K TEMP,T1,T2,KEY,NC,CONT,J,L,TOTAL,CHK,STORE
Q
;
COUNT ; Add key to cell count
;
; Count key
I '$D(NC(TYPE)) S TOTAL=TOTAL+1
;
S TY(TYPE)=TY(TYPE)+1
I LAUPDATE D SHOWCNT
D HD3
I '$D(NC(TYPE)),(TOTAL=100!(TOTAL=200)) D EVAL
Q
;
HELP ;
;
I TYPE'="?" D Q
. D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
. D SAY^XGF(IOSL-1,0,$C(7)_"INVALID WBC CELL KEY")
. H 2
. D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
. D HD3
;
D SHOWCNT,HD3
Q
;
SHOWCNT ; Display current cell count
;
N I,I1,X,K
;
S $Y=LRDY
F I1=1:9:T2 D
. S $Y=$Y+3,$X=6
. F I=I1:1:I1+8 Q:I>T2 D
. . S X=$G(^TMP($J,"W",I),"^"),K=$G(TY(X))
. . I '$L(K) S $X=$X+8
. . E D SAY^XGF($Y,$X+(9-$L(K)),K,"R1")
. S $Y=$Y+1
Q
;
STOP ;
D EVAL
;
N DIR,DIROUT,DTOUT,DUOUT,X,Y
;
S DIR(0)="YO",DIR("B")="Y"
I TOTAL<100 S DIR("A",1)=$C(7)_"* You have counted "_TOTAL_" CELLS *"
S DIR("A")="Are you finished with the WBC cell count"
D ^DIR
I $D(DIRUT) S FLAG=1 Q
I Y=1 S STORE=1
I FLAG=STORE D HD1,HD4,HD2,SHOWCNT
Q
;
EVAL ;
N LAI
;
W $C(7) D HD1
I TOTAL<100 W $C(7),!,"NOTE: ONLY ",TOTAL," CELLS COUNTED",!! Q:TOTAL=0
W !,"Test",?11,"Count Value"
S LAI=0
F S LAI=$O(^TMP($J,"W",LAI)) Q:LAI="" D
. S K=^TMP($J,"W",LAI)
. W !,$$LJ^XLFSTR(^TMP("LA",$J,LAI,.1),11,".")
. S V=TY(K)
. W $J(V,5)," "
. X ^TMP("LA",$J,LAI,2)
. W $J(V,5)
;
W !,$$LJ^XLFSTR("Total",11,".")," ",$J(TOTAL,5),!
I '(TOTAL=100!(TOTAL=200)) Q
I TOTAL=100 D TWO
Q
;
TWO ;
N DIR,DIROUT,DTOUT,DUOUT,X,Y
;
; Flush buffer
F S X=$$READ^XGF(1,1) Q:$D(DTOUT)
;
S DIR(0)="SBO^C:CONTINUE;S:STOP"
S DIR("A",1)="100 Cells counted"
S DIR("A")="CONTINUE counting to 200 or STOP"
S DIR("B")="STOP"
D ^DIR
I $D(DIRUT) S FLAG=1 Q
I Y="S" S STORE=1
I Y="C" D
. N TYPE
. D HD1,HD4,HD2
. I LAUPDATE S TYPE="?" D HELP
;
Q
;
STORE ;
N LAI
;
S LAI=0
F S LAI=$O(^TMP($J,"W",LAI)) Q:LAI="" D
. S K=^(LAI),V=TY(K)
. X ^TMP("LA",$J,LAI,2)
. S @^TMP("LA",$J,LAI,1)=V
Q
;
MINUS ;
; Clear line on screen display
D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
;
D SAY^XGF(IOSL-1,0,"SUBTRACT WHICH CELL TYPE: ")
;
S TYPE=$$READ^XGF(1,DTIME)
;
; Clear line on screen display
D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
;
I $D(DTOUT) S FLAG=1 Q
I $L(TYPE) D
. I KEY'[TYPE D Q
. . D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
. . D SAY^XGF(IOSL-1,0,"INVALID WBC CELL KEY")
. . H 2
. . D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
. I TY(TYPE)>0 D
. . S TY(TYPE)=TY(TYPE)-1
. . I '$D(NC(TYPE)),TOTAL>0 S TOTAL=TOTAL-1
;
D HD1,HD4,HD2
I LAUPDATE D SHOWCNT
Q
;
HD1 ;
W IOEDALL
D SAY^XGF(0,0,"Patient name: "_PNM)
D SAY^XGF(0,45,"SSN: "_SSN)
Q
;
HD2 ;
D SAY^XGF("+2",0,"CELL DIFFERENTIAL ('?' = DISPLAY, '!' = COMMENTS, '-' = MINUS, <RETURN> = EXIT)")
S LRDY=$Y
F I=1:1:T1 D
. D SAY^XGF("+",0,$$LJ^XLFSTR("KEY",7)_T1(I))
. D SAY^XGF("+",0,$$LJ^XLFSTR("TEST",7)_T2(I))
. S $Y=$Y+2
;
HD3 ;
; Clear line on screen display
D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
;
D SAY^XGF(IOSL-1,18,"TOTAL: ")
D SAY^XGF(IOSL-1,$X+(3-$L(TOTAL)),TOTAL,"R1")
Q
;
HD4 ;
N C,I,LADY,LAPN,LAQUIT,LAROW,LAYOFF,X,Y,V
;
K ^TMP("LADATA",$J)
;
D SAY^XGF($Y+1,0,$$CJ^XLFSTR("> CBC PROFILE *=unverified <",IOM))
S LADY=$Y+1
;
; Find unverified results in LAH
S C=1
F S C=$O(^LAH(LWL,1,ISQN,C)) Q:C<1 D
. S V=^LAH(LWL,1,ISQN,C)
. S LAPN=$$PN(C)
. S ^TMP("LADATA",$J,C)="*"_$$LJ^XLFSTR(LAPN,8,".")_" "_$P(V,U,1)_" "_$P(V,U,2)
;
; Find verified results in LR, overwrite any LAH unverified results.
S C=1
F S C=$O(^LR(LRDFN,"CH",LRIDT,C)) Q:C<1 D
. S V=^LR(LRDFN,"CH",LRIDT,C)
. S LAPN=$$PN(C)
. S ^TMP("LADATA",$J,C)=" "_$$LJ^XLFSTR(LAPN,8,".")_" "_$P(V,U,1)_" "_$P(V,U,2)
;
; Determine number of key rows and screen cutoff
S LAROW=$O(T1(""),-1)
S LAYOFF=$P("8^13^17","^",LAROW)
;
S C=1,(I,LAQUIT)=0
F S C=$O(^TMP("LADATA",$J,C)) Q:'C D Q:LAQUIT
. S V=^TMP("LADATA",$J,C)
. D SAY^XGF(LADY,I*25,V)
. S I=I+1
. I I>2 D
. . S I=0,LADY=LADY+1
. . I (IOSL-LAYOFF)<LADY,$O(^TMP("LADATA",$J,C)) D
. . . D SAY^XGF(LADY,0,$$CJ^XLFSTR("*** RESULTS TRUNCATED - INSUFFICIENT DISPLAY SPACE ***",IOM))
. . . S LAQUIT=1
;
K ^TMP("LADATA",$J)
Q
;
PN(LA60) ; get print name for result
; Call with LA60 = ien of file #63 dataname
; Returns print name
;
N LAPN,X
;
S LAPN=""
;
S X=$O(^LAB(60,"C","CH;"_LA60_";1",0))
I X>0 D
. S LAPN=$P($G(^LAB(60,X,.1)),"^")
. ; If no print name use full name
. I LAPN="" S LAPN=$P($G(^LAB(60,X,0)),"^")
;
Q LAPN
;
COM ;
D COM1
D HD1,HD4,HD2
I LAUPDATE D SHOWCNT
Q
;
COM1 ;
;
N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
;
S DIR(0)="FO^1:68",DIR("A")="Comment"
I $L($G(RMK)) S DIR("B")=RMK
D ^DIR
I $D(DIRUT) D Q
. I X="@" S RMK=""
S RMK=Y
;
Q
LAKDIFF1 ;DALOI/RWF/LL/RES - KEYBOARD DIFF PART 2 ; 7/14/87 08:02
+1 ;;5.2;AUTOMATED LAB INSTRUMENTS;**52**;Sep 27, 1994
+2 ; WBC DIFF CELL COUNTER
+3 ;
A ;
+1 NEW LAI
+2 ;
+3 KILL KEY,NC,TY,T1,T2
+4 ;
+5 SET KEY=""
SET LAI=0
+6 FOR
SET LAI=$ORDER(^TMP($JOB,"W",LAI))
IF LAI=""
QUIT
Begin DoDot:1
+7 SET K=^TMP($JOB,"W",LAI)
SET KEY(K)=LAI
SET KEY=KEY_K
SET TY(K)=""
+8 IF $DATA(^TMP($JOB,"NC",LAI))
SET NC(K)=""
End DoDot:1
+9 ;
+10 FOR LAI=1:1:27
Begin DoDot:1
+11 SET X=$GET(^TMP("LA",$JOB,LAI,4))
+12 SET Y=$GET(^TMP("LA",$JOB,LAI,.1))
+13 SET ^TMP($JOB,"A",LAI\9+1,LAI#9)=X_"^"_Y
SET T2=LAI
End DoDot:1
IF $ORDER(^TMP($JOB,"W",LAI))=""
QUIT
+14 ;
+15 SET T1=1
SET (T1(1),T2(1))=""
+16 ;
+17 FOR LAI=1:1:T2
Begin DoDot:1
+18 SET X=^TMP($JOB,"A",LAI\9+1,LAI#9)
+19 SET T1(T1)=T1(T1)_$JUSTIFY($PIECE(X,U,1),8)
+20 SET T2(T1)=T2(T1)_$JUSTIFY($PIECE(X,U,2),8)
+21 IF '(LAI#9)
SET T1=T1+1
SET (T1(T1),T2(T1))=""
End DoDot:1
+22 ;
+23 SET (TOTAL,FLAG,STORE)=0
+24 DO HD1
DO HD4
DO HD2
+25 ;
+26 FOR
IF TOTAL=200!FLAG!STORE
QUIT
Begin DoDot:1
+27 NEW DTOUT
+28 DO SAY^XGF(IOSL-1,0,"WBC: ")
+29 SET TYPE=$$READ^XGF(1,DTIME)
+30 IF TYPE="^"!($DATA(DTOUT))
SET FLAG=1
QUIT
+31 SET LINE=$SELECT(TYPE="":"STOP",TYPE="-":"MINUS",TYPE="!":"COM",KEY'[TYPE:"HELP",1:"COUNT")
+32 DO @LINE
End DoDot:1
+33 ;
+34 IF (TOTAL=200)!(STORE)
DO STORE
+35 ;
+36 KILL TEMP,T1,T2,KEY,NC,CONT,J,L,TOTAL,CHK,STORE
+37 QUIT
+38 ;
COUNT ; Add key to cell count
+1 ;
+2 ; Count key
+3 IF '$DATA(NC(TYPE))
SET TOTAL=TOTAL+1
+4 ;
+5 SET TY(TYPE)=TY(TYPE)+1
+6 IF LAUPDATE
DO SHOWCNT
+7 DO HD3
+8 IF '$DATA(NC(TYPE))
IF (TOTAL=100!(TOTAL=200))
DO EVAL
+9 QUIT
+10 ;
HELP ;
+1 ;
+2 IF TYPE'="?"
Begin DoDot:1
+3 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+4 DO SAY^XGF(IOSL-1,0,$CHAR(7)_"INVALID WBC CELL KEY")
+5 HANG 2
+6 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+7 DO HD3
End DoDot:1
QUIT
+8 ;
+9 DO SHOWCNT
DO HD3
+10 QUIT
+11 ;
SHOWCNT ; Display current cell count
+1 ;
+2 NEW I,I1,X,K
+3 ;
+4 SET $Y=LRDY
+5 FOR I1=1:9:T2
Begin DoDot:1
+6 SET $Y=$Y+3
SET $X=6
+7 FOR I=I1:1:I1+8
IF I>T2
QUIT
Begin DoDot:2
+8 SET X=$GET(^TMP($JOB,"W",I),"^")
SET K=$GET(TY(X))
+9 IF '$LENGTH(K)
SET $X=$X+8
+10 IF '$TEST
DO SAY^XGF($Y,$X+(9-$LENGTH(K)),K,"R1")
End DoDot:2
+11 SET $Y=$Y+1
End DoDot:1
+12 QUIT
+13 ;
STOP ;
+1 DO EVAL
+2 ;
+3 NEW DIR,DIROUT,DTOUT,DUOUT,X,Y
+4 ;
+5 SET DIR(0)="YO"
SET DIR("B")="Y"
+6 IF TOTAL<100
SET DIR("A",1)=$CHAR(7)_"* You have counted "_TOTAL_" CELLS *"
+7 SET DIR("A")="Are you finished with the WBC cell count"
+8 DO ^DIR
+9 IF $DATA(DIRUT)
SET FLAG=1
QUIT
+10 IF Y=1
SET STORE=1
+11 IF FLAG=STORE
DO HD1
DO HD4
DO HD2
DO SHOWCNT
+12 QUIT
+13 ;
EVAL ;
+1 NEW LAI
+2 ;
+3 WRITE $CHAR(7)
DO HD1
+4 IF TOTAL<100
WRITE $CHAR(7),!,"NOTE: ONLY ",TOTAL," CELLS COUNTED",!!
IF TOTAL=0
QUIT
+5 WRITE !,"Test",?11,"Count Value"
+6 SET LAI=0
+7 FOR
SET LAI=$ORDER(^TMP($JOB,"W",LAI))
IF LAI=""
QUIT
Begin DoDot:1
+8 SET K=^TMP($JOB,"W",LAI)
+9 WRITE !,$$LJ^XLFSTR(^TMP("LA",$JOB,LAI,.1),11,".")
+10 SET V=TY(K)
+11 WRITE $JUSTIFY(V,5)," "
+12 XECUTE ^TMP("LA",$JOB,LAI,2)
+13 WRITE $JUSTIFY(V,5)
End DoDot:1
+14 ;
+15 WRITE !,$$LJ^XLFSTR("Total",11,".")," ",$JUSTIFY(TOTAL,5),!
+16 IF '(TOTAL=100!(TOTAL=200))
QUIT
+17 IF TOTAL=100
DO TWO
+18 QUIT
+19 ;
TWO ;
+1 NEW DIR,DIROUT,DTOUT,DUOUT,X,Y
+2 ;
+3 ; Flush buffer
+4 FOR
SET X=$$READ^XGF(1,1)
IF $DATA(DTOUT)
QUIT
+5 ;
+6 SET DIR(0)="SBO^C:CONTINUE;S:STOP"
+7 SET DIR("A",1)="100 Cells counted"
+8 SET DIR("A")="CONTINUE counting to 200 or STOP"
+9 SET DIR("B")="STOP"
+10 DO ^DIR
+11 IF $DATA(DIRUT)
SET FLAG=1
QUIT
+12 IF Y="S"
SET STORE=1
+13 IF Y="C"
Begin DoDot:1
+14 NEW TYPE
+15 DO HD1
DO HD4
DO HD2
+16 IF LAUPDATE
SET TYPE="?"
DO HELP
End DoDot:1
+17 ;
+18 QUIT
+19 ;
STORE ;
+1 NEW LAI
+2 ;
+3 SET LAI=0
+4 FOR
SET LAI=$ORDER(^TMP($JOB,"W",LAI))
IF LAI=""
QUIT
Begin DoDot:1
+5 SET K=^(LAI)
SET V=TY(K)
+6 XECUTE ^TMP("LA",$JOB,LAI,2)
+7 SET @^TMP("LA",$JOB,LAI,1)=V
End DoDot:1
+8 QUIT
+9 ;
MINUS ;
+1 ; Clear line on screen display
+2 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+3 ;
+4 DO SAY^XGF(IOSL-1,0,"SUBTRACT WHICH CELL TYPE: ")
+5 ;
+6 SET TYPE=$$READ^XGF(1,DTIME)
+7 ;
+8 ; Clear line on screen display
+9 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+10 ;
+11 IF $DATA(DTOUT)
SET FLAG=1
QUIT
+12 IF $LENGTH(TYPE)
Begin DoDot:1
+13 IF KEY'[TYPE
Begin DoDot:2
+14 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+15 DO SAY^XGF(IOSL-1,0,"INVALID WBC CELL KEY")
+16 HANG 2
+17 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
End DoDot:2
QUIT
+18 IF TY(TYPE)>0
Begin DoDot:2
+19 SET TY(TYPE)=TY(TYPE)-1
+20 IF '$DATA(NC(TYPE))
IF TOTAL>0
SET TOTAL=TOTAL-1
End DoDot:2
End DoDot:1
+21 ;
+22 DO HD1
DO HD4
DO HD2
+23 IF LAUPDATE
DO SHOWCNT
+24 QUIT
+25 ;
HD1 ;
+1 WRITE IOEDALL
+2 DO SAY^XGF(0,0,"Patient name: "_PNM)
+3 DO SAY^XGF(0,45,"SSN: "_SSN)
+4 QUIT
+5 ;
HD2 ;
+1 DO SAY^XGF("+2",0,"CELL DIFFERENTIAL ('?' = DISPLAY, '!' = COMMENTS, '-' = MINUS, <RETURN> = EXIT)")
+2 SET LRDY=$Y
+3 FOR I=1:1:T1
Begin DoDot:1
+4 DO SAY^XGF("+",0,$$LJ^XLFSTR("KEY",7)_T1(I))
+5 DO SAY^XGF("+",0,$$LJ^XLFSTR("TEST",7)_T2(I))
+6 SET $Y=$Y+2
End DoDot:1
+7 ;
HD3 ;
+1 ; Clear line on screen display
+2 DO CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
+3 ;
+4 DO SAY^XGF(IOSL-1,18,"TOTAL: ")
+5 DO SAY^XGF(IOSL-1,$X+(3-$LENGTH(TOTAL)),TOTAL,"R1")
+6 QUIT
+7 ;
HD4 ;
+1 NEW C,I,LADY,LAPN,LAQUIT,LAROW,LAYOFF,X,Y,V
+2 ;
+3 KILL ^TMP("LADATA",$JOB)
+4 ;
+5 DO SAY^XGF($Y+1,0,$$CJ^XLFSTR("> CBC PROFILE *=unverified <",IOM))
+6 SET LADY=$Y+1
+7 ;
+8 ; Find unverified results in LAH
+9 SET C=1
+10 FOR
SET C=$ORDER(^LAH(LWL,1,ISQN,C))
IF C<1
QUIT
Begin DoDot:1
+11 SET V=^LAH(LWL,1,ISQN,C)
+12 SET LAPN=$$PN(C)
+13 SET ^TMP("LADATA",$JOB,C)="*"_$$LJ^XLFSTR(LAPN,8,".")_" "_$PIECE(V,U,1)_" "_$PIECE(V,U,2)
End DoDot:1
+14 ;
+15 ; Find verified results in LR, overwrite any LAH unverified results.
+16 SET C=1
+17 FOR
SET C=$ORDER(^LR(LRDFN,"CH",LRIDT,C))
IF C<1
QUIT
Begin DoDot:1
+18 SET V=^LR(LRDFN,"CH",LRIDT,C)
+19 SET LAPN=$$PN(C)
+20 SET ^TMP("LADATA",$JOB,C)=" "_$$LJ^XLFSTR(LAPN,8,".")_" "_$PIECE(V,U,1)_" "_$PIECE(V,U,2)
End DoDot:1
+21 ;
+22 ; Determine number of key rows and screen cutoff
+23 SET LAROW=$ORDER(T1(""),-1)
+24 SET LAYOFF=$PIECE("8^13^17","^",LAROW)
+25 ;
+26 SET C=1
SET (I,LAQUIT)=0
+27 FOR
SET C=$ORDER(^TMP("LADATA",$JOB,C))
IF 'C
QUIT
Begin DoDot:1
+28 SET V=^TMP("LADATA",$JOB,C)
+29 DO SAY^XGF(LADY,I*25,V)
+30 SET I=I+1
+31 IF I>2
Begin DoDot:2
+32 SET I=0
SET LADY=LADY+1
+33 IF (IOSL-LAYOFF)<LADY
IF $ORDER(^TMP("LADATA",$JOB,C))
Begin DoDot:3
+34 DO SAY^XGF(LADY,0,$$CJ^XLFSTR("*** RESULTS TRUNCATED - INSUFFICIENT DISPLAY SPACE ***",IOM))
+35 SET LAQUIT=1
End DoDot:3
End DoDot:2
End DoDot:1
IF LAQUIT
QUIT
+36 ;
+37 KILL ^TMP("LADATA",$JOB)
+38 QUIT
+39 ;
PN(LA60) ; get print name for result
+1 ; Call with LA60 = ien of file #63 dataname
+2 ; Returns print name
+3 ;
+4 NEW LAPN,X
+5 ;
+6 SET LAPN=""
+7 ;
+8 SET X=$ORDER(^LAB(60,"C","CH;"_LA60_";1",0))
+9 IF X>0
Begin DoDot:1
+10 SET LAPN=$PIECE($GET(^LAB(60,X,.1)),"^")
+11 ; If no print name use full name
+12 IF LAPN=""
SET LAPN=$PIECE($GET(^LAB(60,X,0)),"^")
End DoDot:1
+13 ;
+14 QUIT LAPN
+15 ;
COM ;
+1 DO COM1
+2 DO HD1
DO HD4
DO HD2
+3 IF LAUPDATE
DO SHOWCNT
+4 QUIT
+5 ;
COM1 ;
+1 ;
+2 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
+3 ;
+4 SET DIR(0)="FO^1:68"
SET DIR("A")="Comment"
+5 IF $LENGTH($GET(RMK))
SET DIR("B")=RMK
+6 DO ^DIR
+7 IF $DATA(DIRUT)
Begin DoDot:1
+8 IF X="@"
SET RMK=""
End DoDot:1
QUIT
+9 SET RMK=Y
+10 ;
+11 QUIT