[613] | 1 | LAKDIFF2 ;DALOI/RWF/LL/RES - RBC MORPHOLOGY ; 7/14/87 08:01
|
---|
| 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**52**;Sep 27, 1994
|
---|
| 3 | ;
|
---|
| 4 | A ;
|
---|
| 5 | K KEY,NC,TY,T1,T2
|
---|
| 6 | S KEY=""
|
---|
| 7 | ;
|
---|
| 8 | S I=0
|
---|
| 9 | F S I=$O(^TMP($J,"R",I)) Q:I="" S X=^(I),KEY(X)=I,KEY=KEY_X
|
---|
| 10 | ;
|
---|
| 11 | S T1=1,(T1(T1),T2(T1))=""
|
---|
| 12 | F I=31:1:58 D Q:$O(^TMP("LA",$J,I))=""
|
---|
| 13 | . S T2=I
|
---|
| 14 | . S X=$G(^TMP("LA",$J,I,4))
|
---|
| 15 | . S Y=$G(^TMP("LA",$J,I,.1))
|
---|
| 16 | . S T1(T1)=T1(T1)_$J(X,8)
|
---|
| 17 | . S T2(T1)=T2(T1)_$J(Y,8)
|
---|
| 18 | . Q:$O(^TMP("LA",$J,I))=""
|
---|
| 19 | . I '(I-30#9) S T1=T1+1,(T1(T1),T2(T1))=""
|
---|
| 20 | ;
|
---|
| 21 | S (DONE,FLAG)=0
|
---|
| 22 | D HD1^LAKDIFF1,HD2
|
---|
| 23 | ;
|
---|
| 24 | F Q:FLAG!DONE D
|
---|
| 25 | . N DTOUT
|
---|
| 26 | . D SAY^XGF(IOSL-1,0,"RBC: ")
|
---|
| 27 | . S TYPE=$$READ^XGF(1,DTIME)
|
---|
| 28 | . I TYPE="^"!($D(DTOUT)) S FLAG=1
|
---|
| 29 | . S LINE=$S(TYPE="":"STOP",TYPE="!":"COM",TYPE="\":"WBC",KEY'[TYPE:"HELP",1:"RESULT")
|
---|
| 30 | . D @LINE
|
---|
| 31 | ;
|
---|
| 32 | I DONE D STORE
|
---|
| 33 | K X,A,DATYP,X,CODE,TYPE,CONT,DONE,J,K
|
---|
| 34 | Q
|
---|
| 35 | ;
|
---|
| 36 | RESULT ;
|
---|
| 37 | ;
|
---|
| 38 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
---|
| 39 | ;
|
---|
| 40 | S DIR(0)="63.04,"_^TMP("LA",$J,KEY(TYPE),.2)
|
---|
| 41 | S DIR("A")=$P(^LAB(60,^TMP("LA",$J,KEY(TYPE),0),0),U,1)
|
---|
| 42 | S DIR("B")=$G(TY(TYPE))
|
---|
| 43 | D ^DIR
|
---|
| 44 | I $D(DIRUT) D
|
---|
| 45 | . I X="",Y="" Q
|
---|
| 46 | . I X="@",$D(TY(TYPE)) K TY(TYPE) Q
|
---|
| 47 | . S FLAG=1
|
---|
| 48 | I $L(Y) S TY(TYPE)=$P(Y,"^")
|
---|
| 49 | ;
|
---|
| 50 | D HD1^LAKDIFF1,HD2
|
---|
| 51 | Q
|
---|
| 52 | ;
|
---|
| 53 | HELP ;
|
---|
| 54 | I TYPE'="?" D Q
|
---|
| 55 | . D SAY^XGF(IOSL-1,0,$C(7)_"INVALID RBC CELL KEY")
|
---|
| 56 | . H 2
|
---|
| 57 | . D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
|
---|
| 58 | ;
|
---|
| 59 | ;
|
---|
| 60 | ; Display current morphology results
|
---|
| 61 | S $Y=LRDY
|
---|
| 62 | F I1=1:9:T2-30 D
|
---|
| 63 | . S $Y=$Y+4,$X=6
|
---|
| 64 | . F I=I1:1:I1+8 Q:I+30>T2 D
|
---|
| 65 | . . S X=$G(^TMP($J,"R",I+30),"^"),K=$G(TY(X))
|
---|
| 66 | . . I '$L(K) S $X=$X+8
|
---|
| 67 | . . E D SAY^XGF($Y,$X+(9-$L(K)),K,"R1")
|
---|
| 68 | ;
|
---|
| 69 | D CLEAR^XGF(IOSL-1,0,IOSL-1,IOM-1)
|
---|
| 70 | Q
|
---|
| 71 | ;
|
---|
| 72 | WBC ;
|
---|
| 73 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT,K,X,Y
|
---|
| 74 | ;
|
---|
| 75 | D HD1^LAKDIFF1
|
---|
| 76 | ;
|
---|
| 77 | W !!,?30,"> CELL DIFFERENTIAL <",!
|
---|
| 78 | S K=0
|
---|
| 79 | F S K=$O(^TMP($J,"W",K)) Q:K'>0 D
|
---|
| 80 | . S X=^TMP("LA",$J,K,1)
|
---|
| 81 | . I $D(@X) W !,?3,$$LJ^XLFSTR(^TMP("LA",$J,K,.1),8,".")," ",$J(@X,3)
|
---|
| 82 | ;
|
---|
| 83 | S DIR(0)="E" D ^DIR
|
---|
| 84 | D HD1^LAKDIFF1,HD2
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | STOP ;
|
---|
| 88 | N DIR,DIRUT,DIROUT,DTOUT,DUOUT,X,Y
|
---|
| 89 | ;
|
---|
| 90 | D EVAL
|
---|
| 91 | ;
|
---|
| 92 | W !
|
---|
| 93 | S DIR(0)="YO",DIR("A")="Are you finished with this patient",DIR("B")="Y"
|
---|
| 94 | D ^DIR
|
---|
| 95 | I $D(DIRUT) S FLAG=1 Q
|
---|
| 96 | I Y=1 S DONE=1
|
---|
| 97 | I FLAG=DONE D HD1^LAKDIFF1,HD2
|
---|
| 98 | Q
|
---|
| 99 | ;
|
---|
| 100 | EVAL ;
|
---|
| 101 | D HD1^LAKDIFF1
|
---|
| 102 | W !
|
---|
| 103 | S X=""
|
---|
| 104 | F I=0:0 S I=$O(^TMP($J,"R",I)) Q:I="" D
|
---|
| 105 | . S Y=^(I)
|
---|
| 106 | . I $D(TY(Y)) D
|
---|
| 107 | . . W !?2,$J(^TMP("LA",$J,I,.1),8),": ",?12
|
---|
| 108 | . . S V=TY(Y)
|
---|
| 109 | . . X ^TMP("LA",$J,I,2)
|
---|
| 110 | . . W $J(V,3)
|
---|
| 111 | Q
|
---|
| 112 | ;
|
---|
| 113 | STORE ;
|
---|
| 114 | ;
|
---|
| 115 | N I,X,Y
|
---|
| 116 | ;
|
---|
| 117 | S X="",I=0
|
---|
| 118 | F S I=$O(^TMP($J,"R",I)) Q:I="" D
|
---|
| 119 | . S Y=^(I)
|
---|
| 120 | . I '$D(TY(Y)) Q
|
---|
| 121 | . S V=TY(Y)
|
---|
| 122 | . X ^TMP("LA",$J,I,2)
|
---|
| 123 | . S @^TMP("LA",$J,I,1)=V
|
---|
| 124 | Q
|
---|
| 125 | ;
|
---|
| 126 | HD2 ;
|
---|
| 127 | ; Display morphology headers
|
---|
| 128 | ;
|
---|
| 129 | S LRDY=$Y+2
|
---|
| 130 | D SAY^XGF(LRDY,4,"RBC MORPHOLOGY ('?' = DISPLAY, '!' = COMMENTS, '\' = WBC, <RETURN> = EXIT)")
|
---|
| 131 | S $Y=$Y+1
|
---|
| 132 | F I=1:1:T1 D
|
---|
| 133 | . D SAY^XGF("+",0,$$LJ^XLFSTR("KEY",7)_T1(I))
|
---|
| 134 | . D SAY^XGF("+",0,$$LJ^XLFSTR("TEST",7)_T2(I))
|
---|
| 135 | . S $Y=$Y+2
|
---|
| 136 | ;
|
---|
| 137 | HD3 ;
|
---|
| 138 | I LAUPDATE=0 Q
|
---|
| 139 | S TYPE="?"
|
---|
| 140 | D HELP
|
---|
| 141 | Q
|
---|
| 142 | ;
|
---|
| 143 | COM ;
|
---|
| 144 | D COM1^LAKDIFF1,HD1^LAKDIFF1,HD2
|
---|
| 145 | Q
|
---|