1 | LA7UID1 ;DALOI/JRR - Process Download Message for an entry in 62.48; 1/30/95 09:00
|
---|
2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**17,57**;Sep 27, 1994
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | EN ; Called from LA7UID
|
---|
7 | ; This routine converts the information for each test in the load list
|
---|
8 | ; into HL7 messages and hands them off to the HL7 package for delivery.
|
---|
9 | ; LRLL= IEN in 68.2 Load Worklist file, from field in 62.4
|
---|
10 | ; LRINST= IEN IN 62.4 Auto Inst file
|
---|
11 | ; LRAUTO= zero node of 62.4 entry
|
---|
12 | ; LA76248= IEN in 62.48 Message Parameter file
|
---|
13 | ; LAMODE= mode from 62.48 for this configuration
|
---|
14 | ;
|
---|
15 | N LA76281,LA7,LA7CUP,LA7CUP1,LA7TRAY,LA7TRAY1
|
---|
16 | ;
|
---|
17 | S LA7NDAP=$P(^LAHM(62.48,LA76248,0),"^",5)
|
---|
18 | G:'LA7NDAP EXIT
|
---|
19 | ;
|
---|
20 | ; Preparing automatic download.
|
---|
21 | I $G(LA7ADL) D ADL Q
|
---|
22 | ;
|
---|
23 | S LA7=^LRO(68.2,LRLL,2)
|
---|
24 | S LA7TRAY=$P(LA7,"^",2),LA7TRAY1=$P(LA7,"^",4)
|
---|
25 | S LA7CUP=$P(LA7,"^",3),LA7CUP1=$P(LA7,"^",5)
|
---|
26 | S:$G(LRTRAY1) LA7TRAY=LRTRAY1
|
---|
27 | S:$G(LRCUP1) LA7CUP=LRCUP1
|
---|
28 | ;
|
---|
29 | ; Process each tray on load list
|
---|
30 | S LA76821=LA7TRAY-1
|
---|
31 | F S LA76821=$O(^LRO(68.2,LRLL,1,LA76821)) Q:'LA76821!(LA76821>LA7TRAY1) D
|
---|
32 | . I '$D(ZTQUEUED) D
|
---|
33 | . . W !!,"Building download record for:"
|
---|
34 | . . I LRTYPE W " Tray: ",LA76821,!,"Cup: "
|
---|
35 | . . E W !,"Seq: "
|
---|
36 | . D CUP
|
---|
37 | D EXIT
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | ;
|
---|
41 | CUP ; Process each cup on load list
|
---|
42 | N LA76822,LA7QUIT
|
---|
43 | ;
|
---|
44 | S LA76822=LA7CUP-1,LA7QUIT=0
|
---|
45 | F S LA76822=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822)) Q:'LA76822 D Q:LA7QUIT
|
---|
46 | . I LA76821=LA7TRAY1,LA76822>LA7CUP1 S LA7QUIT=1 Q
|
---|
47 | . ; Kill array of tests for this accession
|
---|
48 | . K LA76249,LA7ACC
|
---|
49 | . S LA7ACC=^LRO(68.2,LRLL,1,LA76821,1,LA76822,0)
|
---|
50 | . ; Not requested loadlist profile.
|
---|
51 | . I 'LRPROF,($P(LRPROF,"^",2)'=$P(LA7ACC,"^",4)) Q
|
---|
52 | . ;
|
---|
53 | . S LRAA=+LA7ACC,LRAD=$P(LA7ACC,"^",2),LRAN=$P(LA7ACC,"^",3)
|
---|
54 | . S LA768=LRAA,LA76801=LRAD,LA76802=LRAN
|
---|
55 | . S LA7ACC0=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0),0)
|
---|
56 | . ; Accession has been removed, skip.
|
---|
57 | . I 'LA7ACC0 D Q
|
---|
58 | . . D CREATE^LA7LOG(24)
|
---|
59 | . ;
|
---|
60 | . D TEST
|
---|
61 | . D CHKTEST^LA7ADL
|
---|
62 | . N LA7QUIT
|
---|
63 | . I $O(LA7ACC(0)) D BUILD^LA7UID2
|
---|
64 | Q
|
---|
65 | ;
|
---|
66 | ;
|
---|
67 | TEST ;
|
---|
68 | N LA7TST
|
---|
69 | ;
|
---|
70 | K LA7TREE
|
---|
71 | ;
|
---|
72 | S LA7TST=0
|
---|
73 | F S LA7TST=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST)) Q:'LA7TST D
|
---|
74 | . N LA7X,LA7PCNT
|
---|
75 | . S LA7X=$G(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST,0))
|
---|
76 | . S LA7PCNT=0
|
---|
77 | . D UNWIND^LA7ADL1(+LA7X,$P(LA7X,"^",2),0)
|
---|
78 | Q
|
---|
79 | ;
|
---|
80 | ;
|
---|
81 | ADL ; Process/build messages for automatic download, no loadlist.
|
---|
82 | ; Called from above by LA7ADL.
|
---|
83 | ;
|
---|
84 | S LRLL=0,LRAUTO=LA7AUTO(LA7INST)
|
---|
85 | ; Set tray/cup to null.
|
---|
86 | S (LA76821,LA76822)=""
|
---|
87 | ;
|
---|
88 | S LA768=LRAA,LA76801=LRAD,LA76802=LRAN
|
---|
89 | ; Zeroth node of accession.
|
---|
90 | ; Log error if accession has been removed, skip
|
---|
91 | S LA7ACC0=$G(^LRO(68,LA768,1,LA76801,1,LA76802,0),0)
|
---|
92 | I 'LA7ACC0 D Q
|
---|
93 | . D CREATE^LA7LOG(24)
|
---|
94 | ;
|
---|
95 | D BUILD^LA7UID2
|
---|
96 | D EXIT
|
---|
97 | K LRAUTO,LRINST,LRLL
|
---|
98 | Q
|
---|
99 | ;
|
---|
100 | EXIT ;
|
---|
101 | D KILL^HLTRANS
|
---|
102 | K HLNDAP,HLMTN,HLSDATA,HLSDT,HLSEC
|
---|
103 | ;
|
---|
104 | D KVAR^LRX
|
---|
105 | K LA7,LA71,LA76249,LA768,LA76801,LA76802,LA76821,LA76822,LA7ACC,LA7ACC0
|
---|
106 | K LA7CNT,LA7CODE,LA7DATA,LA7DTIM,LA7MSH,LA7NDAP,LA7OBR,LA7ORC,LA7PID,LA7PV1,LA7TMP,LRINFW
|
---|
107 | ;
|
---|
108 | Q
|
---|