- 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
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLAKDIFF1 5917 printed Feb 18, 2025@23:09:13 Page 2
- 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