| [613] | 1 | LA7UIO  ;DALOI/JMC - Process Download Message for #62.48;May 21, 2008 | 
|---|
|  | 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**66**;Sep 27, 1994;Build 30 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | Q | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | EN      ; Called from LA7UID | 
|---|
|  | 7 | ; Converts the information for each test in the load list | 
|---|
|  | 8 | ; into HL7 messages and hands them 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 | ; | 
|---|
|  | 14 | N LA76281,LA7,LA7CUP,LA7CUP1,LA7TRAY,LA7TRAY1 | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | ; Preparing automatic download. | 
|---|
|  | 17 | I $G(LA7ADL) D ADL Q | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | S LA7=^LRO(68.2,LRLL,2) | 
|---|
|  | 20 | S LA7TRAY=$P(LA7,"^",2),LA7TRAY1=$P(LA7,"^",4) | 
|---|
|  | 21 | S LA7CUP=$P(LA7,"^",3),LA7CUP1=$P(LA7,"^",5) | 
|---|
|  | 22 | S:$G(LRTRAY1) LA7TRAY=LRTRAY1 | 
|---|
|  | 23 | S:$G(LRCUP1) LA7CUP=LRCUP1 | 
|---|
|  | 24 | ; | 
|---|
|  | 25 | ; Process each tray on load list | 
|---|
|  | 26 | S LA76821=LA7TRAY-1 | 
|---|
|  | 27 | F  S LA76821=$O(^LRO(68.2,LRLL,1,LA76821)) Q:'LA76821!(LA76821>LA7TRAY1)   D | 
|---|
|  | 28 | . I '$D(ZTQUEUED) D | 
|---|
|  | 29 | . . W !!,"Building download record for:" | 
|---|
|  | 30 | . . I LRTYPE W " Tray: ",LA76821,!,"Cup: " | 
|---|
|  | 31 | . . E  W !,"Seq: " | 
|---|
|  | 32 | . D CUP | 
|---|
|  | 33 | D EXIT | 
|---|
|  | 34 | Q | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | CUP     ; Process each cup on load list | 
|---|
|  | 38 | N LA76822,LA7QUIT | 
|---|
|  | 39 | ; | 
|---|
|  | 40 | S LA76822=LA7CUP-1,LA7QUIT=0 | 
|---|
|  | 41 | F  S LA76822=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822))  Q:'LA76822  D  Q:LA7QUIT | 
|---|
|  | 42 | . I LA76821=LA7TRAY1,LA76822>LA7CUP1 S LA7QUIT=1 Q | 
|---|
|  | 43 | . ; Kill array of tests for this accession | 
|---|
|  | 44 | . K LA76249,LA7ACC | 
|---|
|  | 45 | . S LA7ACC=^LRO(68.2,LRLL,1,LA76821,1,LA76822,0) | 
|---|
|  | 46 | . ; Not requested loadlist profile. | 
|---|
|  | 47 | . I 'LRPROF,($P(LRPROF,"^",2)'=$P(LA7ACC,"^",4)) Q | 
|---|
|  | 48 | . ; | 
|---|
|  | 49 | . S LRAA=+LA7ACC,LRAD=$P(LA7ACC,"^",2),LRAN=$P(LA7ACC,"^",3) | 
|---|
|  | 50 | . S LA768=LRAA,LA76801=LRAD,LA76802=LRAN | 
|---|
|  | 51 | . S LA7ACC0=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0),0) | 
|---|
|  | 52 | . ; Accession has been removed, skip. | 
|---|
|  | 53 | . I 'LA7ACC0 D  Q | 
|---|
|  | 54 | . . D CREATE^LA7LOG(24) | 
|---|
|  | 55 | . ; | 
|---|
|  | 56 | . D TEST | 
|---|
|  | 57 | . S LA7INST=LRINST D CHKTEST^LA7ADL | 
|---|
|  | 58 | . N LA7QUIT | 
|---|
|  | 59 | . I $O(LA7ACC(0)) D BUILD^LA7UIO1 | 
|---|
|  | 60 | Q | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | ; | 
|---|
|  | 63 | TEST    ; | 
|---|
|  | 64 | N LA7TST | 
|---|
|  | 65 | ; | 
|---|
|  | 66 | K LA7TREE | 
|---|
|  | 67 | ; | 
|---|
|  | 68 | S LA7TST=0 | 
|---|
|  | 69 | F  S LA7TST=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST)) Q:'LA7TST  D | 
|---|
|  | 70 | . N LA7X,LA7PCNT | 
|---|
|  | 71 | . S LA7X=$G(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST,0)) | 
|---|
|  | 72 | . S LA7PCNT=0 | 
|---|
|  | 73 | . D UNWIND^LA7ADL1(+LA7X,$P(LA7X,"^",2),0) | 
|---|
|  | 74 | Q | 
|---|
|  | 75 | ; | 
|---|
|  | 76 | ; | 
|---|
|  | 77 | ADL     ; Process/build messages for automatic download, no loadlist. | 
|---|
|  | 78 | ; Called from above by LA7ADL. | 
|---|
|  | 79 | ; | 
|---|
|  | 80 | S LRLL=0,LRAUTO=LA7AUTO(LA7INST) | 
|---|
|  | 81 | ; Set tray/cup to null. | 
|---|
|  | 82 | S (LA76821,LA76822)="" | 
|---|
|  | 83 | ; | 
|---|
|  | 84 | S LA768=LRAA,LA76801=LRAD,LA76802=LRAN | 
|---|
|  | 85 | ; Zeroth node of accession. | 
|---|
|  | 86 | ; Log error if accession has been removed, skip | 
|---|
|  | 87 | S LA7ACC0=$G(^LRO(68,LA768,1,LA76801,1,LA76802,0),0) | 
|---|
|  | 88 | I 'LA7ACC0 D  Q | 
|---|
|  | 89 | . D CREATE^LA7LOG(24) | 
|---|
|  | 90 | ; | 
|---|
|  | 91 | D BUILD^LA7UIO1 | 
|---|
|  | 92 | D EXIT | 
|---|
|  | 93 | K LRAUTO,LRINST,LRLL | 
|---|
|  | 94 | Q | 
|---|
|  | 95 | ; | 
|---|
|  | 96 | EXIT    ; | 
|---|
|  | 97 | D KVAR^LRX | 
|---|
|  | 98 | K LA7,LA71,LA76249,LA768,LA76801,LA76802,LA76821,LA76822,LA7ACC,LA7ACC0 | 
|---|
|  | 99 | K LA7CNT,LA7CODE,LA7DATA,LA7DTIM,LA7MSH,LA7NVAF,LA7OBR,LA7ORC,LA7PID,LA7PIDSN,LA7PV1,LA7TMP,LRINFW | 
|---|
|  | 100 | ; | 
|---|
|  | 101 | Q | 
|---|