| 1 | LRLABXOL ;RVAMC/PLS/DALISC/FHS - REPRINT ACCESSION LABELS FOR ENTIRE ORDER ; 5/19/93  07:40 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**11,121,161**;Sep 27, 1994 | 
|---|
| 3 | ; Will print all the required labels for a entire order. | 
|---|
| 4 | EN K ZTSK | 
|---|
| 5 | D IOCHK^LRLABXT G END:'$D(LRLABLIO) | 
|---|
| 6 | D PSET^LRLABLD | 
|---|
| 7 | S LRHDR="Select Order Number: " | 
|---|
| 8 | 1 U IO(0) | 
|---|
| 9 | W !!,LRHDR R LRORD:DTIME G:'$T END G:(LRORD="")!(LRORD="^") END I LRORD?.AP!(LRORD<1) W !,"Enter a whole number for the order number." G 1 | 
|---|
| 10 | S LRORD=+LRORD | 
|---|
| 11 | S LRODT=$O(^LRO(69,"C",LRORD,0)) | 
|---|
| 12 | I +LRODT<1 W "  ORDER NUMBER NOT FOUND" G 1 | 
|---|
| 13 | I '$$GOT^LROE(LRORD,LRODT) W !!,"All tests for this order have been canceled." H 1 G 1 | 
|---|
| 14 | I $D(LRLABLIO("Q")) D  G END | 
|---|
| 15 | . S ZTIO=LRLABLIO,ZTRTN="QUE^LRLABXOL",ZTDESC="LAB ORDER LABELS",ZTSAVE("LR*")="" | 
|---|
| 16 | . D ^%ZTLOAD | 
|---|
| 17 | . W !,"Labels have been tasked to print ",! | 
|---|
| 18 | D QUE | 
|---|
| 19 | K LRORD | 
|---|
| 20 | U IO(0) W !?10,"Label(s) Printed",! S LRHDR="Another Order Number: " | 
|---|
| 21 | G 1 | 
|---|
| 22 | ; | 
|---|
| 23 | QUE ; | 
|---|
| 24 | S LRODT=0 | 
|---|
| 25 | F  S LRODT=$O(^LRO(69,"C",LRORD,LRODT)) Q:LRODT<1  D 2,PRINT | 
|---|
| 26 | I $D(ZTQUEUED) S ZTREQ="@" | 
|---|
| 27 | Q | 
|---|
| 28 | ; | 
|---|
| 29 | 2 ; | 
|---|
| 30 | S LRSN=0 | 
|---|
| 31 | F  S LRSN=+$O(^LRO(69,"C",LRORD,LRODT,LRSN)) Q:LRSN<1  D SQ | 
|---|
| 32 | Q | 
|---|
| 33 | ; | 
|---|
| 34 | SQ ; Search for accession numbers and build LRORD array 'ORD #(SEQ #,ACC AREA,ACC DATE, ACC #)=""' | 
|---|
| 35 | Q:'$D(^LRO(69,LRODT,1,LRSN,2,0)) | 
|---|
| 36 | S SEQ=0 | 
|---|
| 37 | F  S SEQ=+$O(^LRO(69,LRODT,1,LRSN,2,SEQ)) Q:SEQ<1  D | 
|---|
| 38 | . S X=$G(^LRO(69,LRODT,1,LRSN,2,SEQ,0)),LRAD=$P(X,U,3),LRAA=$P(X,U,4),LRAN=$P(X,U,5) | 
|---|
| 39 | . I LRAA,LRAD,LRAN S LRORD(LRSN,LRAA,LRAD,LRAN)="" | 
|---|
| 40 | Q | 
|---|
| 41 | ; | 
|---|
| 42 | PRINT ; Loop thru array and print labels. | 
|---|
| 43 | U IO | 
|---|
| 44 | S LRAA="" | 
|---|
| 45 | F  S LRX=$Q(LRORD) Q:LRX=""  Q:$QS(LRX,0)'="LRORD"  D | 
|---|
| 46 | . S LRSN=$QS(LRX,1) | 
|---|
| 47 | . I LRAA'=$QS(LRX,2) S LRAA=$QS(LRX,2) D LBLTYP^LRLABLD | 
|---|
| 48 | . S LRAD=$QS(LRX,3),LRAN=$QS(LRX,4) | 
|---|
| 49 | . K LRORD(LRSN,LRAA,LRAD,LRAN) | 
|---|
| 50 | . N LRORD,LRX | 
|---|
| 51 | . D PRINT^LRLABXT | 
|---|
| 52 | Q | 
|---|
| 53 | ; | 
|---|
| 54 | END ; | 
|---|
| 55 | K LRHDR,LRORD,SEQ,ZTSK | 
|---|
| 56 | D K^LRLABXT | 
|---|
| 57 | Q | 
|---|