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