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

LRHYPH0.m

Go to the documentation of this file.
  1. LRHYPH0 ;VA/DALOI/HOAK - HOWDY ORDER NUMBER SELECTOR PRIME ; 13-Aug-2013 09:16 ; MKK
  1. ;;5.2;LAB SERVICE;**405,1033**;NOV 01, 1997
  1. ;
  1. K LRORIFN,LRNATURE,LREND,LRORDRR
  1. S LRLWC="WC"
  1. D ^LRPARAM
  1. I $G(LREND) S LREND=0 Q
  1. L5 ;
  1. NEXT ;
  1. K DIR
  1. I $D(LROESTAT) D:$P(LRPARAM,U,14) ^LRCAPV I $G(LREND) K LRLONG,LRPANEL Q
  1. S (LRODT,X,DT)=$$DT^XLFDT(),LRODT0=$$FMTE^XLFDT(DT,5)
  1. I $D(^LAB(69.9,1,"RO")),+$H'=+$P(^("RO"),U) D
  1. . W $C(7),!,"ROLLOVER ",$S($P(^("RO"),U,2):"IS RUNNING.",1:"HAS NOT RUN.")," ACCESSIONING SHOULDN'T BE DONE NOW.",$C(7),!
  1. . S DIR("A")=" Are you sure you want to continue",DIR(0)="Y",DIR("B")="No"
  1. I $T D ^DIR G END:$D(DIRUT) I Y'=1 W !,"OK, try later." Q
  1. S X="T-7",%DT="" D ^%DT S LRTM7=+Y
  1. K DIC,LRSND,LRSN
  1. W !!,"Select Order number: " R LRORD:DTIME W ! Q:LRORD["^"!(LRORD[".")!($D(LRLONG)&(LRORD=""))
  1. PAST ; HOWDY IN HERE
  1. W @IOF S M9=0 G QUICK^LROE1:LRORD=""
  1. S:LRORD?.N LRORD=+LRORD IF LRORD'?.N D QMSG QUIT
  1. I '$D(^LRO(69,"C",LRORD)) W !!?10,"No order exist with that number ",$C(7),! QUIT
  1. S (LRCHK,LRNONE)=1,(M9,LRODT)=0
  1. F S LRODT=+$O(^LRO(69,"C",LRORD,LRODT)) Q:LRODT<1 D
  1. . S DA=0 F S DA=$O(^LRO(69,"C",LRORD,LRODT,DA)) Q:DA<1 S LRCHK=LRCHK-1 S:LRNONE'=2 LRNONE=0 D LROE2
  1. I LRNONE=2 W !,"The order has already been",$S(LRCHK<1:" partially",1:"")," accessioned." H 1
  1. I LRNONE=1 W !,"No order exists with that number." H 1 QUIT
  1. I '$$GOT(LRORD,LRODT) QUIT
  1. K DIR S DIR("A")="Is this the correct order",DIR(0)="Y"
  1. S DIR("B")="Yes"
  1. K DIR S Y=1
  1. I $D(DIRUT)!(Y'=1) K LRSN QUIT
  1. L +^LRO(69,"C",LRORD):$G(DILOCKTM,3)
  1. I '$T W !?5,"Someone else is editing this Order",!!,$C(7) QUIT
  1. K %DT
  1. S LRSTATUS="",%DT("B")=""
  1. D TIME K %DT
  1. D:$G(LRCDT)<1 UNL69 QUIT:LRCDT<1
  1. S LRTIM=+LRCDT
  1. S LRUN=$P(LRCDT,U,2) K LRCDT,LRSN
  1. MORE ;
  1. S M9=0
  1. S (LRODT,LRSND)=0
  1. F S LRODT=$O(^LRO(69,"C",LRORD,LRODT)) Q:LRODT<1 D
  1. . S LRSND=0
  1. . F S LRSND=$O(^LRO(69,"C",LRORD,LRODT,LRSND)) Q:LRSND<1 D
  1. . . S LRSN(LRSND)=LRSND,LRSN=LRSND
  1. . . K LRAA D Q15^LRHYPH2 K LRSN
  1. D TASK,UNL69
  1. QUIT
  1. ;
  1. ;
  1. LROE2 ;
  1. I $D(^LRO(69,LRODT,1,DA,1)),$P(^(1),U,4)="" S LRNONE=2,LRCHK=LRCHK+1
  1. K LRSN
  1. S (LRSN,LRSN(DA))=+DA
  1. I '$D(^LRO(69,LRODT,1,LRSN,0)) Q
  1. S M9=$G(M9)+1,LR3X=^LRO(69,LRODT,1,LRSN,0),LRDFN=+LR3X,LRDPF=$P(^LR(LRDFN,0),U,2),DFN=$P(^(0),U,3) D PT^LRX
  1. Q
  1. ;
  1. ;
  1. QMSG W !,"Enter the order entry number assigned when the test was ordered."
  1. W:'$D(LRLONG) !,"If the test has not been ordered, type the RETURN key to order the test."
  1. W !,"To exit, type the ""^"" key and RETURN key."
  1. Q
  1. ;
  1. ;
  1. YN R X:DTIME W ! S:'$T DTOUT=1 Q:X=""!(X["N")!(X["Y")
  1. W !,"Answer 'Y' or 'N': " G YN
  1. ;
  1. ;
  1. EN ;
  1. LROEN S LRNCWL=1
  1. D LROE,END K LRNCWL
  1. Q
  1. ;
  1. LROE ;
  1. QUIT
  1. ;
  1. EN01 ; ENTER ORDER # THEN ENTER DATA
  1. STAT ;
  1. D ^LRPARAM
  1. I '$D(LRLABKY) W !!?10,"You do not have the proper security Keys",! Q
  1. ;
  1. ; Select peforming laboratory
  1. S X=$$SELPL^LRVERA(DUZ(2))
  1. I X<1 D END Q
  1. I X'=DUZ(2) N LRPL S LRPL=X
  1. ;
  1. S LRLONG="",LRPANEL=0,LROESTAT=""
  1. S %H=$H-60 D YMD^LRX S LRTM60=9999999-X
  1. D LROE K LRTM60,LRLONG,LREND,LROESTAT
  1. D END
  1. Q
  1. ;
  1. ;
  1. TIME ;from LROE1, LRORD1
  1. D NOW^%DTC S LRCDT=% QUIT ;STUFFED FOR HOWDY
  1. S %DT="SET" W !,"Collection Date@Time: ",$S($D(%DT("B")):%DT("B"),1:"NOW"),"//" R X:DTIME W ! I '$T!(X="^") S LRCDT=-1 Q
  1. S:X="" X=$S($D(%DT("B")):%DT("B"),1:"N")
  1. W:X["?" !!,"You may enter ""T@U"" or just ""U"", for Today at Unknown time",!!
  1. I X["@U",$P(X,"@U",2)="" S X=$P(X,"@U",1) D ^%DT G TIME:Y<1 S LRCDT=+Y_"^1" Q
  1. S:X="U" LRCDT=DT_"^1"
  1. I X'="U" D ^%DT D:X'["?" TIME1 G TIME:X["?" S LRCDT=+Y_"^" G TIME:Y'["."
  1. Q
  1. ;
  1. TIME1 S X1=X,Y1=Y D TIME2 S X=X1,Y=Y1 K X1,Y1
  1. Q
  1. ;
  1. TIME2 S X="N",%DT="ST" D ^%DT Q:Y1'>Y F W !,"You have specified a collection time in the future. Are you sure" S %=2 D YN^DICN Q:% W !,"Answer 'Y'es or 'N'o."
  1. S:%'=1 X="?" S X1=X
  1. Q
  1. ;
  1. ;
  1. TASK ;
  1. ; If traditional Howdy is used this is where labels print-control passes to GT549
  1. ; If alternative Howdy is used label printing is delayed.
  1. I $G(^%ZIS(1,LRDEV,0))'["NUL" G T549
  1. N LRAD S LRAD=0
  1. N LRX,LRY
  1. D NOW^%DTC
  1. S LR3T=%
  1. S LRX=0
  1. F S LRX=$O(LRLBL(LRX)) Q:+LRX'>0 D
  1. . S LRY=0
  1. . F S LRY=$O(LRLBL(LRX,LRY)) Q:+LRY'>0 D
  1. .. I $P(^LRO(68,LRX,0),U,3)="M" S LRAD=$E(DT,1,5)_"00"
  1. .. I $P(^LRO(68,LRX,0),U,3)="Y" S LRAD=$E(DT,1,3)_"0000"
  1. .. I '$G(LRAD) S LRAD=DT
  1. .. S LRUID=$P($G(^LRO(68,LRX,1,LRAD,1,LRY,.3)),U) I $L(LRUID)<10 D
  1. ... S $P(LRLBL(LRX,LRY),U,7)=LRORD
  1. ... S LRUID=$P($G(^LRO(68,LRX,1,LRAD,1,LRY,.3)),U)
  1. .. S ^XTMP("LRHY LABELS",LRDFN,LR3T,LRUID)=LRLBL(LRX,LRY)
  1. .. K LRAD
  1. I $G(^%ZIS(1,LRDEV,0))["NUL" QUIT
  1. ;
  1. T549 ; ADDED FOR PPOC APPROACH
  1. S LRCE=LRORD
  1. S LRX=0
  1. F S LRX=$O(LRLBL(LRX)) Q:+LRX'>0 D
  1. . S LRY=0
  1. . F S LRY=$O(LRLBL(LRX,LRY)) Q:+LRY'>0 D
  1. .. S $P(LRLBL(LRX,LRY),U,7)=LRCE
  1. S ZTSAVE("L*")=""
  1. I $D(LRLABLIO) S ZTRTN="ENT^LRLABLD",ZTDTH=$H,ZTDESC="LAB LABELS",ZTIO=LRLABLIO,ZTSAVE("LRLBL(")="" S:$D(ZTQUEUED) ZTREQ="@" D ^%ZTLOAD
  1. K LRLBL
  1. I $D(LRCSQ),$P($G(^LRO(68,+LRAA,0)),U,16) D STD^LRCAPV
  1. D STOP^LRCAPV K LRCOM,LRSPCDSC,LRCCOM,LRTCOM
  1. Q
  1. ;
  1. ;
  1. END K DIR,DIRUT,LRHYGOT
  1. D ^LRORDK,LROEND^LRORDK,STOP^LRCAPV
  1. Q
  1. ;
  1. ;
  1. GOT(ORD,ODT) ;See if all tests have been canceled
  1. N LRHYI,SN,ODT
  1. S (LRHYGOT,ODT,SN)=0
  1. F S ODT=$O(^LRO(69,"C",ORD,ODT)) Q:ODT<1 D
  1. . S SN=0 F S SN=$O(^LRO(69,"C",ORD,ODT,SN)) Q:SN<1!(LRHYGOT) D
  1. . . Q:'$D(^LRO(69,ODT,1,SN,0))
  1. . . S LRHYI=0 F S LRHYI=$O(^LRO(69,ODT,1,SN,2,LRHYI)) Q:LRHYI<1 I $D(^(LRHYI,0)),'$P(^(0),"^",11) S LRHYGOT=1 Q
  1. Q LRHYGOT
  1. ;
  1. ;
  1. UNL69 ;
  1. L -^LRO(69,"C",+$G(LRORD))
  1. Q
  1. BCE ;
  1. S LRCE=$G(LRORD)
  1. Q:'$D(LRLABLIO)
  1. S ZTSAVE("L*")=""
  1. S ZTRTN="ENT^LRLABLD",ZTDTH=$H,ZTDESC="LAB LABELS"
  1. S ZTIO=LRLABLIO
  1. S LRDEV=LRLABLIO
  1. S IO=LRDEV S ZTSAVE("IO*")=""
  1. S ZTIO=$P(^%ZIS(1,+LRDEV,0),U)
  1. D ^%ZTLOAD
  1. K LRLBL
  1. I $D(LRCSQ),$P($G(^LRO(68,+LRAA,0)),U,16) D STD^LRCAPV
  1. D STOP^LRCAPV K LRCOM,LRSPCDSC,LRCCOM,LRTCOM