| 1 | LRORDST ;SLC/CJS/WTY - SET THE ORDER AND ACCESSION ;5/16/05
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**100,107,121,153,202,290,291,359,362**;Sep 27, 1994;Build 11
 | 
|---|
| 3 |  ;Called to create orders and accessions from local LROT array
 | 
|---|
| 4 |  D DT
 | 
|---|
| 5 |  K ZTSK
 | 
|---|
| 6 |  I $P(LRPARAM,U,4),'$D(LRNOLABL),'$D(LRTJ),LRORDR="" D ^LRLABLIO
 | 
|---|
| 7 |  F LRSAMP=-1:0 S LRSAMP=$O(LROT(LRSAMP)) Q:LRSAMP=""  F LRSPEC=-1:0 S LRSPEC=$O(LROT(LRSAMP,LRSPEC)) Q:LRSPEC=""  D ZX
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  I $D(LRLABLIO),$D(LRLBL) D
 | 
|---|
| 10 |  . S ZTRTN="ENT^LRLABLD",ZTDESC="LAB LABELS",ZTDTH=$H
 | 
|---|
| 11 |  . S ZTIO=LRLABLIO,ZTSAVE("LRLBL(")=""
 | 
|---|
| 12 |  . D ^%ZTLOAD K LRLBL
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  I $D(LRSLIP) F I1=0:0 S I1=$O(LROT(I1)) Q:I1<1  F I2=-1:0 S I2=$O(LROT(I1,I2)) Q:I2=""  S LRSN=LROT(I1,I2,"SN") D WCP
 | 
|---|
| 15 |  K LRLBL,ZTSK
 | 
|---|
| 16 |  ;Clean-up CIDC variables
 | 
|---|
| 17 |  K LRBEX,LRBEY,LRBEAR,LRBERF
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | ZX K:$G(LRORDR)'="P" LRCOM,LRTCOM
 | 
|---|
| 22 |  N I,COMB,LRCPRS
 | 
|---|
| 23 |  I $D(LRGCOM) S LRCCOM=LRGCOM D RCS^LRORD2
 | 
|---|
| 24 |  S LRSXN=0,I=0
 | 
|---|
| 25 |  F  S I=$O(LROT(LRSAMP,LRSPEC,I)) Q:I<1  S LRSXN=LRSXN+1
 | 
|---|
| 26 |  L +^LRO(69,LRODT,1)
 | 
|---|
| 27 |  S LRSN=1+$P($G(^LRO(69,LRODT,1,0)),U,3)
 | 
|---|
| 28 |  S LRSUM=1+$P($G(^LRO(69,LRODT,1,0)),U,4)
 | 
|---|
| 29 | ZSN N I
 | 
|---|
| 30 |  F  Q:'$D(^LRO(69,LRODT,1,LRSN,0))  S LRSN=LRSN+1
 | 
|---|
| 31 |  S ^LRO(69,LRODT,1,LRSN,0)=LRDFN_"^"_DUZ_"^"_(+LRSAMP)_"^"_$S($L($G(LRLWC)):LRLWC,$L(LRORDR):LRORDR,1:"SP")_"^"_LRNT_"^"_LRPRAC_"^"_LRLLOC_"^"_LRODT_$S(+LRORDTIM:"."_LRORDTIM,1:"")_"^"_LROLLOC_"^^"_$G(LRORIFN)
 | 
|---|
| 32 |  S ^LRO(69,LRODT,1,LRSN,2,0)="^69.03PA^"_LRSXN_U_LRSXN
 | 
|---|
| 33 |  S ^LRO(69,LRODT,1,0)="^69.01PA^"_LRSN_U_LRSUM
 | 
|---|
| 34 |  L -^LRO(69,LRODT,1)
 | 
|---|
| 35 |  S ^LRO(69,LRODT,1,"AA",LRDFN,LRSN)=""
 | 
|---|
| 36 |  S ^LRO(69,LRODT,1,"AC",LRLLOC,LRSN)=""
 | 
|---|
| 37 |  S LROT(LRSAMP,LRSPEC,"SN")=LRSN
 | 
|---|
| 38 |  S ^LRO(69,"D",LRDFN,LRODT,LRSN)=""
 | 
|---|
| 39 |  S COMB=$P($G(^LRO(69,LRODT,1,LRSN,1)),"^",7)
 | 
|---|
| 40 |  I $S($G(LRORDR)="":1,$G(LRORDR)="P":1,1:0) D
 | 
|---|
| 41 |  . S $P(^LRO(69,LRODT,1,LRSN,1),"^")=$P(LRCDT,"^")
 | 
|---|
| 42 |  . S $P(^LRO(69,LRODT,1,LRSN,1),"^",2)=$P(LRCDT,"^",2)
 | 
|---|
| 43 |  . S $P(^LRO(69,LRODT,1,LRSN,1),"^",4)="C"
 | 
|---|
| 44 |  . S $P(^LRO(69,LRODT,1,LRSN,1),"^",8)=DUZ(2)
 | 
|---|
| 45 |  . ;S ^LRO(69,LRODT,1,LRSN,1)=LRCDT_"^^C^^^"_COMB_"^"_DUZ(2)
 | 
|---|
| 46 |  . I $G(LRORDR)'="P" S ^LRO(69,"AA",+$G(LRORD),LRODT_"|"_LRSN)=""
 | 
|---|
| 47 |  . ; PIECE 4 INDICATED COLLECTED (NOTE: LRCDT HAS 2 PIECES)
 | 
|---|
| 48 |  I LRSPEC'="" S ^LRO(69,LRODT,1,LRSN,4,0)="^69.02PA^1^1",^(1,0)=LRSPEC
 | 
|---|
| 49 |  S ^LRO(69,LRODT,1,LRSN,.1)=LRORD,^LRO(69,"C",+LRORD,LRODT,LRSN)="",LRJ=0
 | 
|---|
| 50 |  F LRTN=1:1 S LRJ=$O(LROT(LRSAMP,LRSPEC,LRJ)) Q:LRJ<1  D ZSN1
 | 
|---|
| 51 |  I $D(LRCOM(LRSAMP,LRSPEC)),LRCOM(LRSAMP,LRSPEC) D
 | 
|---|
| 52 |  . N I
 | 
|---|
| 53 |  . S X=LRCOM(LRSAMP,LRSPEC)
 | 
|---|
| 54 |  . S ^LRO(69,LRODT,1,LRSN,6,0)="^69.04W^"_X_U_X
 | 
|---|
| 55 |  . F I=1:1:X S ^LRO(69,LRODT,1,LRSN,6,I,0)=LRCOM(LRSAMP,LRSPEC,I)
 | 
|---|
| 56 |  D NEW^LR7OB1(LRODT,LRSN,"SN",$G(LRNATURE),.LRCPRS)
 | 
|---|
| 57 |  I LRORDR="LC"!(LRORDR="I") D
 | 
|---|
| 58 |  . S ION=$P($G(^LAB(69.9,1,3.5,+DUZ(2),0)),U,2)
 | 
|---|
| 59 |  . S:ION="" ION=$P($G(^LAB(69.9,1,3)),U,4)
 | 
|---|
| 60 |  . I ION'="",(LRORDR="LC"!(LRORDR="I")) D ^LROW2P
 | 
|---|
| 61 |  I LRORDR="I" S ION=$P($G(^LAB(69.9,1,7,DUZ(2),0)),U,3) I ION'="" D ^LROW2P
 | 
|---|
| 62 |  I $S(LRORDR="":1,LRORDR="P":1,1:0) D ^LRWLST
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 |  ;
 | 
|---|
| 65 | ZSN1 ;
 | 
|---|
| 66 |  N LRORIFN
 | 
|---|
| 67 |  S LRTSTS=LROT(LRSAMP,LRSPEC,LRJ),LRCPRS(LRTSTS)=""
 | 
|---|
| 68 |  S ^LRO(69,LRODT,1,LRSN,2,LRTN,0)=LRTSTS_"^"_$S($D(LROT(LRSAMP,LRSPEC,LRJ,1)):LROT(LRSAMP,LRSPEC,LRJ,1),1:LROUTINE)
 | 
|---|
| 69 |  D:+LRDPF=2&($G(LRSS)'="BB")&('$$CHKINP^LRBEBA4(LRDFN,LRODT))  ;CIDC
 | 
|---|
| 70 |  .D SACC^LRBEBA2(LRODT,LRSN,LRTN,LRSAMP,LRSPEC,LRTSTS,.LRBEX)
 | 
|---|
| 71 |  I $G(LRORIFN) S $P(^LRO(69,LRODT,1,LRSN,2,LRTN,0),"^",7)=LRORIFN ;OE/RR 2.5
 | 
|---|
| 72 |  S $P(^LRO(69,LRODT,1,LRSN,2,LRTN,0),"^",9,10)="IP^L"
 | 
|---|
| 73 |  S ^LRO(69,LRODT,1,LRSN,2,"B",LRTSTS,LRTN)=""
 | 
|---|
| 74 |  S ^LRO(69,"AT",LRDFN,LRTSTS,LRSPEC,LRODT)="",^(-LRODT)=""
 | 
|---|
| 75 |  D RCOM:$D(LROT(LRSAMP,LRSPEC,LRJ,2))
 | 
|---|
| 76 |  D:$O(LRTCOM(LRTSTS,0)) TCOM^LROW2A(LRTSTS)
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | RCOM ; Required comment
 | 
|---|
| 81 |  N LRTSTN,LRTEST
 | 
|---|
| 82 |  S LRTSTN=1,LRTEST(LRTSTN)=LRTSTS
 | 
|---|
| 83 |  S LRCCOM="~For Test: "_$P(^LAB(60,LRTSTS,0),U)_"   "_$P(^LAB(62,LRSAMP,0),U) S:$P(^(0),U)'=$P(^LAB(61,LRSPEC,0),U) LRCCOM=LRCCOM_"   "_$P(^LAB(61,LRSPEC,0),U) I $S('$D(DUZ("AG")):1,"ARMYAFN"'[DUZ("AG"):1,1:0) W !,LRCCOM
 | 
|---|
| 84 |  S LREXP=LROT(LRSAMP,LRSPEC,LRJ,2)
 | 
|---|
| 85 |  D RCS^LRORD2,RCOM^LRORD2
 | 
|---|
| 86 |  I $G(LRKIL) S DA(1)=LRODT,DA=LRSN,DIK="^LRO(69,"_DA(1)_",1," D ^DIK Q
 | 
|---|
| 87 |  I LRCCOM="",$D(LRCOM(LRSAMP,LRSPEC)) S X=+LRCOM(LRSAMP,LRSPEC) I $D(LRCOM(LRSAMP,LRSPEC,X)),LRCOM(LRSAMP,LRSPEC,X)["~For Test:" K LRCOM(LRSAMP,LRSPEC,X) S LRCOM(LRSAMP,LRSPEC)=X-1
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 | OLD ; to allow unchanged routines to still work, from LROE1, LRPHSET1
 | 
|---|
| 92 |  N LRNT
 | 
|---|
| 93 |  D DT,NOW^%DTC
 | 
|---|
| 94 |  S LRNT=%
 | 
|---|
| 95 |  I $P(LRPARAM,U,4),'$D(LRNOLABL),'$D(LRTJ) D ^LRLABLIO
 | 
|---|
| 96 |  D ^LRWLST
 | 
|---|
| 97 |  Q
 | 
|---|
| 98 |  ;
 | 
|---|
| 99 |  ;
 | 
|---|
| 100 | WCP Q:$D(LRNCWL)
 | 
|---|
| 101 |  S:$D(LRORDER) ION=LRORDER
 | 
|---|
| 102 |  I '$D(LRORDER) K %ZIS S IOP="HOME",%ZIS="NQ" D ^%ZIS G:POP WCP1 S X=ION,DIC(0)="EQ",DIC=3.5 D ^DIC G:Y<1 WCP1 G:'$D(^%ZIS(1,+Y,99)) WCP1 G:'$L($P(^(99),U)) WCP1 S IOP=$P(^%ZIS(1,$P(^(99),U),0),U),%ZIS="NQ" D ^%ZIS G:POP WCP1 K %ZIS,IOP
 | 
|---|
| 103 | WCP2 S LRORDER=ION
 | 
|---|
| 104 |  I IO(0)=IO R !!,"Press RETURN to continue...",X:DTIME S IOP=LRORDER,%ZIS="" D ^%ZIS D ENT2^LROW2P Q
 | 
|---|
| 105 |  I IO'=IO(0) D ^LROW2P Q
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  ;
 | 
|---|
| 109 | DT S DT=$$DT^XLFDT()
 | 
|---|
| 110 |  Q
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 |  ;
 | 
|---|
| 113 | WCP1 S %ZIS="NQ",%ZIS("A")="ORDER COPY DEVICE:"
 | 
|---|
| 114 |  D ^%ZIS
 | 
|---|
| 115 |  Q:POP
 | 
|---|
| 116 |  G WCP2
 | 
|---|
| 117 |  ;
 | 
|---|
| 118 |  ;
 | 
|---|
| 119 | OR ;OE/RR 2.5
 | 
|---|
| 120 |  Q  ;Following logic not required - 2.5 is obsolete version
 | 
|---|
| 121 |  N LRORDR
 | 
|---|
| 122 |  Q:$G(LRORDRR)="R"
 | 
|---|
| 123 |  S LRY=$S($D(LROT(LRSAMP,LRSPEC,LRJ,1)):LROT(LRSAMP,LRSPEC,LRJ,1),1:LROUTINE),LRI=1,LRTEST(LRI)=LRTSTS_"^"_LRY,LRORDR=$S($L($G(LRLWC)):LRLWC,1:"")
 | 
|---|
| 124 |  D SET^LROR
 | 
|---|
| 125 |  Q
 | 
|---|