1 | LRCE ;SLC/RWF/DALOI/JMC - LOOK-UP ON CENTRAL ENTRY # ;8/11/97
|
---|
2 | ;;5.2;LAB SERVICE;**28,76,103,121,153,210,202,263**;Sep 27, 1994
|
---|
3 | EN ;
|
---|
4 | S (LRSTOP,LRFLAG1,LRFLG,LRSN1,LRNOP)=0
|
---|
5 | K DIRUT,SSN,LRORD
|
---|
6 | W !!
|
---|
7 | S DIR("A")="Order Number or UID: ",DIR(0)="FOA"
|
---|
8 | S DIR("?",1)="Enter a whole number for the order number, enter the universal identifier"
|
---|
9 | S DIR("?",2)="(UID), or press Return to find the order number by Patient.",DIR("?")="Enter '^' to Exit."
|
---|
10 | D ^DIR
|
---|
11 | I $G(SSN)&(Y="") G END
|
---|
12 | I Y="" D ^LROS G:'$G(SSN) END G EN
|
---|
13 | NEXT I $D(DIRUT) G END
|
---|
14 | D UNIV
|
---|
15 | S LRORD=+Y I LRORD?.AP!(LRORD<1) D G EN
|
---|
16 | . W !,"Enter a whole number for the order number."
|
---|
17 | S LRORD=+LRORD
|
---|
18 | K DIR,X,Y,DIRUT
|
---|
19 | IF $O(^LRO(69,"C",LRORD,0))<1 W " NUMBER NOT FOUND" G LRCE
|
---|
20 | DIS ;
|
---|
21 | W @IOF
|
---|
22 | I $D(LRADDTST) D
|
---|
23 | . W !!?15,"LISTING OF DATES "
|
---|
24 | . S (CNT,LRODT)=0
|
---|
25 | . F A=0:0 S LRODT=$O(^LRO(69,"C",LRORD,LRODT)) Q:LRODT="" D
|
---|
26 | .. D CHKPAGE Q:$G(LRSTOP)
|
---|
27 | .. S CNT=CNT+1
|
---|
28 | .. W !?5,CNT,?10,$$FMTE^XLFDT(LRODT,"5FM")
|
---|
29 | Q:$G(LRSTOP) K CNT,A
|
---|
30 | S LRODT=0
|
---|
31 | F S LRODT=$O(^LRO(69,"C",LRORD,LRODT)) Q:LRODT<1!($G(LRSTOP)) D I $D(LRADDTST),+LRADDTST Q
|
---|
32 | . D LR2
|
---|
33 | I $D(LRADDTST) G LRCE:LRADDTST="" G END
|
---|
34 | I '$D(LRADDTST) G EN
|
---|
35 | Q
|
---|
36 | ADDTST ;
|
---|
37 | S LRADDTST="" D EN
|
---|
38 | S LRRSTAT=160
|
---|
39 | I LRADDTST D ^LRORD
|
---|
40 | D END,ADDEND
|
---|
41 | Q
|
---|
42 | ADDEND ;
|
---|
43 | K LRCLCTR,LRCLST,LRDFN,LRDPF,LRDRWTM,LRFLAG1,LRFLG
|
---|
44 | K LRLLOC,LRLOC,LRODT,LROLLOC,LRORDRR,LRPRAC,LRRB
|
---|
45 | K LRRSITE,LRSD,LRDN,LRSTOP,LRTREA,LRSN,LRTSN,LRTSP,PNM,SSN,DOB,SEX
|
---|
46 | K TYPE,LRRSTAT,LRNOP,LRSN1
|
---|
47 | K X,Y,I
|
---|
48 | Q
|
---|
49 | LR2 ;
|
---|
50 | Q:$G(LRSTOP)
|
---|
51 | D CHKPAGE
|
---|
52 | Q:$G(LRSTOP)
|
---|
53 | S LRSN=0
|
---|
54 | F S LRSN=+$O(^LRO(69,"C",+$G(LRORD),+$G(LRODT),LRSN)) Q:LRSN<1!($G(LRSTOP)) D PT I $D(LRADDTST),+LRADDTST Q
|
---|
55 | Q
|
---|
56 | UNIV ; see if entry is UID
|
---|
57 | N LRAA,LRAD,LRAN I $D(^LRO(68,"C",X)) S LRAA=$O(^LRO(68,"C",X,0)) I LRAA S LRAD=$O(^LRO(68,"C",X,LRAA,0)) I LRAD S LRAN=$O(^LRO(68,"C",X,LRAA,LRAD,0)) I LRAN S Y=$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,.1)),"^")
|
---|
58 | Q
|
---|
59 | CHKPAGE ;
|
---|
60 | Q:$G(LRSTOP)
|
---|
61 | Q:$Y<(IOSL-2)
|
---|
62 | K DIR
|
---|
63 | S DIR(0)="E"
|
---|
64 | D ^DIR
|
---|
65 | I $D(DUOUT)!($D(DIRUT)) S LRSTOP=1 Q
|
---|
66 | W @IOF
|
---|
67 | W !
|
---|
68 | Q
|
---|
69 | PT ;
|
---|
70 | D CHKPAGE
|
---|
71 | Q:$G(LRSTOP)!($G(LRFLG))
|
---|
72 | S LROR=$S($D(^LRO(69,LRODT,1,LRSN,0)):^(0),1:-1)
|
---|
73 | S LRDFN=+LROR
|
---|
74 | I LRDFN<1 W " NO PATIENT" Q
|
---|
75 | S LRWHOE=+$P(LROR,U,2)
|
---|
76 | S LRWHOE=$S($D(^VA(200,LRWHOE,0)):$P(^(0),U),1:"")
|
---|
77 | S LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3)
|
---|
78 | D PT^LRX
|
---|
79 | H 1
|
---|
80 | HEAD ;
|
---|
81 | D CHKPAGE
|
---|
82 | Q:$G(LRSTOP)
|
---|
83 | W !!,"ORDER #: ",LRORD,?20,"PAT: ",PNM," SSN: ",SSN,!
|
---|
84 | D CHKPAGE
|
---|
85 | Q:$G(LRSTOP)
|
---|
86 | D LRGLIN^LRX
|
---|
87 | W !
|
---|
88 | S LRCTYP=$P(LROR,U,4)
|
---|
89 | I ($L(LRWHOE))!($L(LRCTYP)) D
|
---|
90 | . I $L(LRWHOE) W "WHO ENTERED: ",$E(LRWHOE,1,25) K LRWHOE
|
---|
91 | . W:$L(LRCTYP) ?40,"TYPE OF COLLECTION: ",LRCTYP
|
---|
92 | I $D(^LRO(69,LRODT,1,LRSN,1)) D
|
---|
93 | . S LRCLCTR=$P(^LRO(69,LRODT,1,LRSN,1),U,3),LRCLST=$P(^(1),U,4)
|
---|
94 | . S:$L(LRCLCTR) LRCLCTR=$P($G(^VA(200,+LRCLCTR,0)),U)
|
---|
95 | . W ! D CHKPAGE Q:$G(LRSTOP)
|
---|
96 | . W:$L(LRCLCTR) " COLLECTOR : ",$E(LRCLCTR,1,25)
|
---|
97 | . W:$L(LRCLST) ?40,"COLLECTION STATUS: ",LRCLST
|
---|
98 | Q:$G(LRSTOP) S LRDRWTM=$S($D(^LRO(69,LRODT,1,LRSN,1)):+^(1),1:"")
|
---|
99 | S:LRDRWTM LRDRWTM=$$FMTE^XLFDT(LRDRWTM,"5FM")
|
---|
100 | S LRLOC=+$P(LROR,U,9),LRLOC=$P($G(^SC(LRLOC,0)),U)
|
---|
101 | I ($L(LRDRWTM))!($L(LRLOC)) D
|
---|
102 | . W ! D CHKPAGE Q:$G(LRSTOP)
|
---|
103 | . W:$L(LRDRWTM) " DRAW TIME: ",LRDRWTM
|
---|
104 | . I '$L(LRDRWTM),$P(LROR,"^",8) W "TO BE DRAWN: ",$$FMTE^XLFDT($P(LROR,U,8),"5FM")
|
---|
105 | . W:$L(LRLOC) ?40,"ORDERING LOCATION: ",$E(LRLOC,1,20)
|
---|
106 | Q:$G(LRSTOP) W ! D CHKPAGE Q:$G(LRSTOP)
|
---|
107 | I $G(^LRO(69,LRODT,1,LRSN,3)) W " LAB ARRIVAL: ",$$FMTE^XLFDT(+$G(^(3)),"5FM")
|
---|
108 | I LRDPF=2 W:$L(LRWRD) ?40,"WARD: ",LRWRD
|
---|
109 | W:$P(LROR,U,3) !," SPECIMEN: " D CHKPAGE Q:$G(LRSTOP)
|
---|
110 | W:$P(LROR,U,3) $S($D(^LAB(62,$P(LROR,U,3),0)):$P(^(0),U),1:"??")
|
---|
111 | S L=+$P(^LRO(69,LRODT,1,LRSN,0),U,6) I L D
|
---|
112 | . S LRMD=$S($D(^VA(200,L,0)):$P(^(0),U),1:L)
|
---|
113 | . W ?40,"PROVIDER: ",$E(LRMD,1,30)
|
---|
114 | W:$G(^LRO(69,LRODT,1,LRSN,"PCE")) !,?5,"Visit Number(s): ",$G(^("PCE"))
|
---|
115 | ;
|
---|
116 | S I=0
|
---|
117 | TST D CHKPAGE
|
---|
118 | Q:$G(LRSTOP)
|
---|
119 | F S I=$O(^LRO(69,LRODT,1,LRSN,2,I)) Q:I<1 D
|
---|
120 | . D CHKPAGE Q:$G(LRSTOP)
|
---|
121 | . D TEST D CHKPAGE Q:$G(LRSTOP)
|
---|
122 | D CHKPAGE
|
---|
123 | Q:$G(LRSTOP)
|
---|
124 | I $D(^LRO(69,LRODT,1,LRSN,1)),$L($P(^(1),U,6)) D
|
---|
125 | . W !,"COMMENT: ",$P(^LRO(69,LRODT,1,LRSN,1),U,6) D CHKPAGE Q:$G(LRSTOP)
|
---|
126 | S I=0
|
---|
127 | F S I=$O(^LRO(69,LRODT,1,LRSN,6,I)) Q:I<1 W !,?3,^(I,0) D CHKPAGE Q:$G(LRSTOP)
|
---|
128 | Q:$G(LRSTOP)
|
---|
129 | NXT S X=$P($G(^LRO(69,LRODT,1,LRSN,1)),U,4)
|
---|
130 | I X="C"!($G(LRNOP)) W !,"Order has already been accessioned."
|
---|
131 | I LRNOP,'$P($G(LRLABKY),U) W !,"Tests have been accessioned, call the lab to add tests to the same order." Q
|
---|
132 | I '$D(LRADDTST) Q
|
---|
133 | I X="M" W !?5,"This Order was Merged " Q
|
---|
134 | I '$G(LRRSTAT) S LRRSTAT=160
|
---|
135 | SEL W !,"Is this the one"
|
---|
136 | S %=1,LRNOP=0 K LRORDRR,LRRSITE,LRSD,LRTSP
|
---|
137 | D YN^DICN
|
---|
138 | I %'=1 S (LRFLG1,LRNOP)=0 Q
|
---|
139 | S LRADDTST=$S(%=1:LRORD,1:"")
|
---|
140 | Q:$G(LRSTOP)!('$G(LRADDTST))
|
---|
141 | I %=1 D
|
---|
142 | . N X,X0,I,DIC,DA
|
---|
143 | . S X0=^LRO(69,LRODT,1,LRSN,0),LRLWC=$P(X0,"^",4)
|
---|
144 | . S LRFLG=1
|
---|
145 | . S LRPRAC=$P(X0,"^",6),LRLLOC=$P(X0,"^",7),LROLLOC=$P(X0,U,9)
|
---|
146 | . Q:LRLWC'="R" S LRRSITE("SDT")=$P(X0,U,5)
|
---|
147 | . S DIC("A")="*Select Orginal Ordered Test "
|
---|
148 | . S DA=LRSN,DA(1)=LRODT,DIC("S")="I $G(^(.3))"
|
---|
149 | . S DIC="^LRO(69,"_LRODT_",1,"_LRSN_",2,",DIC(0)="AQEZNM"
|
---|
150 | . D ^DIC I Y<1 S LRADDTST="" Q
|
---|
151 | . S LRTSP=$P(Y,U,2),X=$G(^LRO(69,LRODT,1,LRSN,2,+Y,.3))
|
---|
152 | . Q:'$P(X,U,2) S (LRSD("RPSITE"),LRRSITE("RSITE"))=$P(X,U,2)_U_$P(^LRO(69,LRODT,1,LRSN,0),U,7)
|
---|
153 | . S LRRSITE("RPSITE")=$P(X,U,3)
|
---|
154 | . S LRSD("RUID")=$P(X,U,5)
|
---|
155 | . S LRORDRR="R"
|
---|
156 | Q
|
---|
157 | LUPT ;
|
---|
158 | K DFN,DIC S DIC(0)="EMQ"
|
---|
159 | D ^LRDPA
|
---|
160 | Q:DFN<1!$D(DUOUT)
|
---|
161 | LU1 ;
|
---|
162 | W !,"Order date to start from: T//" R X:DTIME
|
---|
163 | I '$T!(X["^") QUIT
|
---|
164 | S %DT="E",X=$S(X="":"T",1:X)
|
---|
165 | D ^%DT
|
---|
166 | G:Y<1 LU1 S Y=Y-1
|
---|
167 | S LRODT=Y F S LRODT=$O(^LRO(69,LRODT)) Q:LRODT<1 D FSN
|
---|
168 | Q
|
---|
169 | FSN ;
|
---|
170 | S LRSN=0
|
---|
171 | F S LRSN=$O(^LRO(69,LRODT,1,"AA",LRDFN,LRSN)) Q:LRSN<1 D
|
---|
172 | . Q:'$D(^LRO(69,LRODT,1,LRSN,.1)) S LRORD=+^(.1) D PT
|
---|
173 | Q
|
---|
174 | TEST ;
|
---|
175 | D CHKPAGE Q:$G(LRSTOP)
|
---|
176 | S X=^LRO(69,LRODT,1,LRSN,2,I,0) S:$P(^(0),U,3) LRNOP=1 W !," TEST: ",$S($D(^LAB(60,+X,0)):$P(^(0),"^"),1:"UNKNOWN"),?28," " S LRURG=+$P(X,U,2) W $E($S($D(^LAB(62.05,LRURG,0)):$P(^(0),U),1:"ROUTINE"),1,15)
|
---|
177 | W ?38," ",$S($D(^LRO(68,+$P(X,"^",4),0)):$P(^(0),"^"),1:""),?50," ",$P(X,"^",5),?55
|
---|
178 | D REF
|
---|
179 | I $P(X,"^",11) W !?3,"Canceled by: "_$P(^VA(200,$P(X,"^",11),0),"^") S I(2)=0 D
|
---|
180 | . F S I(2)=$O(^LRO(69,LRODT,1,LRSN,2,I,1.1,I(2))) Q:I(2)<1 I $D(^(I(2),0)) W !?5,^(0) D CHKPAGE Q:$G(LRSTOP)
|
---|
181 | D CHKPAGE Q:$G(LRSTOP)
|
---|
182 | S I(2)=0 F S I(2)=$O(^LRO(69,LRODT,1,LRSN,2,I,1,I(2))) Q:I(2)<1 I $D(^(I(2),0)) W !?5,^(0) D CHKPAGE Q:$G(LRSTOP)
|
---|
183 | Q
|
---|
184 | REF ; if referred test, display status and manifest
|
---|
185 | N LREVNT,LRMAN,LRUID S LRUID=$P($G(^LRO(69,LRODT,1,LRSN,2,I,.3)),"^") Q:'LRUID
|
---|
186 | W " <"_LRUID_">" S LREVNT=$$STATUS^LREVENT(LRUID,+X,"") I LREVNT'="" D
|
---|
187 | .S LRMAN=$P(LREVNT,"^",3) I LRMAN'="" W !,?5,"SHIPPING MANIFEST: "_LRMAN
|
---|
188 | .W !,?5,"REFERRAL STATUS: "_$P(LREVNT,"^")_" ("_$P(LREVNT,"^",2)_")"
|
---|
189 | Q
|
---|
190 | END ;
|
---|
191 | K %,%DT,A,DFN,DIC,DIR,DIRUT,DTOUT,DUOUT,I,II,K,L,LRARIV,LRCLCTR,LRCLST
|
---|
192 | K LRCTYP,LRDRWTM,LRFLAG1,LRFLG,LRLOC,LRMD,LRODT,LROR,LRORD
|
---|
193 | K LRPRAC,LRSN,LRSN1,LRSTOP,LRURG,LRW,LRWHOE,LRWRD,VA("BID"),VA("PID")
|
---|
194 | K VAIN,VADM,VAERR,X,X1,X2,Y,Z
|
---|
195 | Q:$G(LR2ORD)
|
---|
196 | K LRNOP
|
---|
197 | Q
|
---|