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