Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LA7UIO

LA7UIO.m

Go to the documentation of this file.
  1. LA7UIO ;DALOI/JMC - Process Download Message for #62.48 ;05/30/13 15:59
  1. ;;5.2;AUTOMATED LAB INSTRUMENTS;**66,80**;Sep 27, 1994;Build 19
  1. ;
  1. Q
  1. ;
  1. EN ; Called from LA7UID
  1. ; Converts the information for each test in the load list
  1. ; into HL7 messages and hands them to the HL7 package for delivery.
  1. ; LRLL= IEN in 68.2 Load Worklist file, from field in 62.4
  1. ; LRINST= IEN IN 62.4 Auto Inst file
  1. ; LRAUTO= zero node of 62.4 entry
  1. ; LA76248= IEN in 62.48 Message Parameter file
  1. ;
  1. N LA76281,LA7,LA7CUP,LA7CUP1,LA7TRAY,LA7TRAY1
  1. ;
  1. ; Preparing automatic download.
  1. I $G(LA7ADL) D ADL Q
  1. ;
  1. S LA7=^LRO(68.2,LRLL,2)
  1. S LA7TRAY=$P(LA7,"^",2),LA7TRAY1=$P(LA7,"^",4)
  1. S LA7CUP=$P(LA7,"^",3),LA7CUP1=$P(LA7,"^",5)
  1. S:$G(LRTRAY1) LA7TRAY=LRTRAY1
  1. S:$G(LRCUP1) LA7CUP=LRCUP1
  1. ;
  1. ; Process each tray on load list
  1. S LA76821=LA7TRAY-1
  1. F S LA76821=$O(^LRO(68.2,LRLL,1,LA76821)) Q:'LA76821!(LA76821>LA7TRAY1) D
  1. . I '$D(ZTQUEUED) D
  1. . . W !!,"Building download record for:"
  1. . . I LRTYPE W " Tray: ",LA76821,!,"Cup: "
  1. . . E W !,"Seq: "
  1. . D CUP
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. CUP ; Process each cup on load list
  1. N LA761,LA76822,LA7QUIT,X
  1. ;
  1. S LA76822=LA7CUP-1,LA7QUIT=0
  1. F S LA76822=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822)) Q:'LA76822 D Q:LA7QUIT
  1. . I LA76821=LA7TRAY1,LA76822>LA7CUP1 S LA7QUIT=1 Q
  1. . ; Kill array of tests for this accession
  1. . K LA76249,LA7ACC
  1. . S LA7ACC=^LRO(68.2,LRLL,1,LA76821,1,LA76822,0)
  1. . ; Not requested loadlist profile.
  1. . I 'LRPROF,($P(LRPROF,"^",2)'=$P(LA7ACC,"^",4)) Q
  1. . ;
  1. . S LRAA=+LA7ACC,LRAD=$P(LA7ACC,"^",2),LRAN=$P(LA7ACC,"^",3)
  1. . S LA768=LRAA,LA76801=LRAD,LA76802=LRAN
  1. . S LA7ACC0=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0),0)
  1. . ;
  1. . S LA761=0
  1. . S X=$O(^LRO(68,LRAA,1,LRAD,1,LRAN,5,0))
  1. . I X>0 S LA761=+$P($G(^LRO(68,LRAA,1,LRAD,1,LRAN,5,X,0)),"^")
  1. . ;
  1. . ; Accession has been removed, skip.
  1. . I 'LA7ACC0 D Q
  1. . . D CREATE^LA7LOG(24)
  1. . ;
  1. . D TEST
  1. . S LA7INST=LRINST D CHKTEST^LA7ADL
  1. . N LA7QUIT
  1. . I $O(LA7ACC(0)) D BUILD^LA7UIO1
  1. Q
  1. ;
  1. ;
  1. TEST ;
  1. N LA7TST
  1. ;
  1. K LA7TREE
  1. ;
  1. S LA7TST=0
  1. F S LA7TST=$O(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST)) Q:'LA7TST D
  1. . N LA7X,LA7PCNT
  1. . S LA7X=$G(^LRO(68.2,LRLL,1,LA76821,1,LA76822,1,LA7TST,0))
  1. . S LA7PCNT=0
  1. . D UNWIND^LA7ADL1(+LA7X,$P(LA7X,"^",2),0)
  1. Q
  1. ;
  1. ;
  1. ADL ; Process/build messages for automatic download, no loadlist.
  1. ; Called from above by LA7ADL.
  1. ;
  1. S LRLL=0,LRAUTO=LA7AUTO(LA7INST)
  1. ; Set tray/cup to null.
  1. S (LA76821,LA76822)=""
  1. ;
  1. S LA768=LRAA,LA76801=LRAD,LA76802=LRAN
  1. ; Zeroth node of accession.
  1. ; Log error if accession has been removed, skip
  1. S LA7ACC0=$G(^LRO(68,LA768,1,LA76801,1,LA76802,0),0)
  1. I 'LA7ACC0 D Q
  1. . D CREATE^LA7LOG(24)
  1. ;
  1. D BUILD^LA7UIO1
  1. D EXIT
  1. K LRAUTO,LRINST,LRLL
  1. Q
  1. ;
  1. EXIT ;
  1. D KVAR^LRX
  1. K LA7,LA71,LA76249,LA768,LA76801,LA76802,LA76821,LA76822,LA7ACC,LA7ACC0
  1. K LA7CNT,LA7CODE,LA7DATA,LA7DTIM,LA7MSH,LA7NVAF,LA7OBR,LA7ORC,LA7PID,LA7PIDSN,LA7PV1,LA7TMP,LRINFW
  1. ;
  1. Q