| [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
 | 
|---|