- LRORDGUI ;IHS/OIT/MKK - LAZY ACCESSION LOGGING for IHS PATIENT CHART ONLY ;JUL 06, 2010 3:14 PM;
- ;;5.2;LAB SERVICE;**1027**;NOV 01, 1997
- ;;
- ; Cloned from LEDI III LRORD routine. Next two lines VA code
- LRORD ;DALOI/CJS - LAZY ACCESSION LOGGING ;2/6/91 12:54 ;
- ;;5.2;LAB SERVICE;**100,121,153,286**;Sep 27, 1994
- ;;
- ; This code was removed from the previous IHS version of the LRORD routine
- ; and placed in this new routine due to the changes to the LRORD routine
- ; brought in with VA LR*5.2*286 --LEDI III.
- ;
- ; It was felt that the PATIENT CHART coding was overwhelming the logic
- ; flow of the LRORD routine.
- ;
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("^LRORDGUI 0.0")
- S:XQY0["LRFASTS" BLROPT="FASTORD",BLROPT(0)=$P(XQY0,U)
- S XWBWRAP=1 ;IHS/ITSC/TPF 10/10/02 REQUESTED BY PATIENT CHART DEV. F.J.EVANS **1014**
- S:$G(BLROPT)=""!($G(BLROPT(0))'=$P(XQY0,U)) BLROPT="MULTI",BLROPT(0)=$P(XQY0,U) ;IHS/OIRM TUC/AAB 2/1/97
- ;;
- EN ; EP ; from EN^LRORD
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EN^LRORDGUI 0.0")
- I $D(^LAB(69.9,1,"RO")),+$H'=+^("RO") D Q
- . NEW STR
- . S STR="ROLLOVER "_$S($P(^("RO"),U,2):"IS RUNNING.",1:"HAS NOT RUN.")
- . S STR=STR_" CHECK WITH SITE MANAGER"
- . S RESULT(1)=-1,RESULT(2)=STR
- ;
- EN1 ; EP ; from EN1^LRORD also
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("EN1^LRORDGUI 0.0")
- D ^BLRPARAM
- D ^LRPARAM
- K ^TMP("LRSTIK",$J),DIC,LRURG,LRSAME,LRCOM,LRNATURE,LRTCOM
- S LRORDTIM="" S:'$D(LRORDR) LRORDR="" D DT^LRX
- I $D(LRADDTST) Q:LRADDTST=""
- S LRFIRST=1,LRODT=DT,U="^",LRECT=0,LROUTINE=$P(^LAB(69.9,1,3),U,2)
- S:$G(LRORDRR)="R" LRECT=1,LRFIRST=0
- S LRECT="Y",LRODT=BPCODT,LRURG=BPCURG
- I LRORDR="LC" S LRLWC="SP"
- I LRORDR="SP" S LRLWC="SP"
- I LRORDR="WC" S LRLWC="WC"
- ;
- L5 ; EP ; from L5^LRORD also
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("L5^LRORDGUI 0.0")
- I LRORDR'="" D Q:Y<1 Q:$G(X)>$G(LRDAHEAD)
- . S X=LRODT,%DT="T" D ^%DT I Y=-1 S RESULT(1)=1,RESULT(2)="Incorrect Date/Time Format" Q
- . S LRORDTIM=$P(Y,".",2),LRODT=$P(Y,".",1),X1=Y,X2=DT D ^%DTC
- . I X>$G(LRDAHEAD) S RESULT(1)=-1,RESULT(2)="Can't order more than "_$G(LRDAHEAD)_" days ahead!!"
- ;
- I $D(LRODT),$P(LRODT,".")<DT D Q
- . S RESULT(1)=-1
- . S RESULT(2)="Cannot order in the Past."
- ;
- I $D(LRFLOG) S Y=LRFLOG
- ;
- G0 ; EP ;
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("G0^LRORDGUI 0.0")
- S (LRWP,I)=0
- D:LRFLOG
- . S $P(LRFLOG,U,3)=$P(^LAB(62.2,+$P(^LAB(62.6,+LRFLOG,0),U,2),0),U,2)
- . S LRFLOG(0)=^LAB(62.6,+LRFLOG,0)
- . S (LRWP,I)=0
- . F S I=$O(^LAB(62.6,+Y,1,I)) Q:I<1 D
- . . S Y(0)=$G(^LAB(62.6,+Y,1,I,0)),LRWP=LRWP+1
- . . S ^TMP("LRSTIK",$J,$S($P(LRFLOG(0),"^",5):I,1:LRWP))=Y(0)
- . . ; Lookup by number user enters.
- . . S ^TMP("LRSTIK",$J,"B",LRWP)=$S($P(LRFLOG(0),"^",5):I,1:LRWP)
- . . ; Lookup by test - used by LEDI (LRORDB) when user creates list "on-the-fly"
- . . S ^TMP("LRSTIK",$J,"C",+Y(0),$S($P(LRFLOG(0),"^",5):I,1:LRWP))=""
- . I LRWP>40 S LRFIRST=0 ; Don't automatically display "long" test lists.
- ;
- D:+BPCOORDS>0 ; - PROCESSES OTHER ORDERS
- . NEW BPCOORD,BPCTDTA,BPCCS,BPCTNAM,BPCCSDTA
- . F I=1:1 S BPCOORD=$P(BPCOORDS,",",I) Q:+BPCOORD<1 I $D(^LAB(60,BPCOORD)) D
- .. S BPCTDTA=^LAB(60,BPCOORD,0)
- .. S BPCCS=$P(BPCTDTA,U,9) ;COLLECTION SAMPLE IEN
- .. S BPCTNAM=$P(BPCTDTA,U,1) ;TEST NAME
- .. I +BPCCS>0 D
- ... S BPCCSDTA=$G(^LAB(62,BPCCS,0))
- ... S BPCCSDTA=$P(BPCCSDTA,U,1,2)
- .. S LRWP=LRWP+1
- .. S ^TMP("LRSTIK",$J,LRWP)=BPCOORD_U_BPCTNAM_U_$G(BPCCS)_U_$G(BPCCSDTA)
- .. S ^TMP("LRSTIK",$J,"B",LRWP)=LRWP
- .. S:BPCTL'="" BPCTL=BPCTL_","_LRWP S:BPCTL="" BPCTL=LRWP
- ;
- K I1
- G G5
- ;
- G1 S LRWP=0
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("G1^LRORDGUI 0.0")
- ;
- GET ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("GET^LRORDGUI 0.0")
- D Q15^LRORD2
- D ^DIC K DIC("S") G:Y<1 G5
- S LRWP=LRWP+1,LRY=Y
- S ^TMP("LRSTIK",$J,LRWP)=$P(LRY,U,1,2)
- ; "B" Used to lookup by number user enters.
- S ^TMP("LRSTIK",$J,"B",LRWP)=LRWP
- ; "C" Used by LEDI (LRORDB)
- S ^TMP("LRSTIK",$J,"C",+LRY,LRWP)=""
- S LRTSTS=+^TMP("LRSTIK",$J,LRWP) D GS^LRORD3
- S:+LRSAMP=-1&(LRSPEC=-1) LRWP=LRWP-1
- G GET:+LRSAMP=-1&(LRSPEC=-1)
- S ^TMP("LRSTIK",$J,LRWP)=^TMP("LRSTIK",$J,LRWP)_U_LRSAMP_U_U_LRSPEC
- G GET
- ;
- G5 ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("G5^LRORDGUI 0.0")
- G KILL:LRWP<1
- S:'$D(^LRO(69,LRODT,0)) ^(0)=$P(^LRO(69,0),U,1,2)_U_LRODT_U_(1+$P(^(0),U,4)),^LRO(69,LRODT,0)=LRODT,^LRO(69,"B",LRODT,LRODT)=""
- S LRAD=DT,LRWPD=LRWP\2+(LRWP#2) D ^LRORD1GU
- ;
- KILL ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("KILL^LRORDGUI 0.0")
- D ^LRORDK,HOME^%ZIS
- Q
- ;
- % R %:DTIME Q:%=""!(%["N")!(%["Y")!($E(%)="^") W !,"Answer 'Y' or 'N': " G %
- ;
- EN01 ;LAB COLLECT ORDER ENTRY
- ORDER ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("ORDER^LRORDGUI 0.0")
- S %=2 W !,"Do you want copies of the orders" D YN^DICN Q:%=-1 S:%=1 LRSLIP="" I %=0 D QUIZ G ORDER
- S LRORDR="LC",LRLWCURG=$S($P(^LAB(69.9,1,3),U,2)'="":$P(^(3),U,2),1:9)
- S:$G(BLROPT)=""!($G(BLROPT(0))'=$P(XQY0,U)) BLROPT="FASTORD",BLROPT(0)=$P(XQY0,U)
- G LRORD
- ;
- EN02 ;SEND PATIENT ORDER ENTRY
- SENDPAT ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("SENDPAT^LRORDGUI 0.0")
- S %=1 W !,"Do you want copies of the orders" D YN^DICN Q:%=-1 S:%=1 LRSLIP="" I %=0 D QUIZ G SENDPAT
- S LRORDR="SP"
- G LRORD
- ;
- IMMCOL ;EP - IMMEDIATE LAB COLLECTION
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("IMMCOL^LRORDGUI 0.0")
- I '$P($G(^LAB(69.9,1,7,DUZ(2),0)),U,6) W !!?5," This option is not available at the time ",!!,$C(7) Q
- S LRORDR="I"
- K LRODT
- S:$G(BLROPT)=""!($G(BLROPT(0))'=$P(XQY0,U)) BLROPT="FASTORD",BLROPT(0)=$P(XQY0,U)
- G LRORD
- ;
- EN03 ;WARD COLLECT ORDER ENTRY
- WARDCOL ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("WARDCOL^LRORDGUI 0.0")
- S %=1
- W !,"Do you want copies of the orders" D YN^DICN Q:%=-1 S:%=1 LRSLIP="" I %=0 D QUIZ G WARDCOL
- S:$G(BLROPT)=""!($G(BLROPT(0))'=$P(XQY0,U)) BLROPT="FASTORD",BLROPT(0)=$P(XQY0,U) ;IHS/OIRM TUC/AAB 2/13/97
- S LRORDR="WC" D LRORD
- Q
- ;
- ;
- LEDI ; EP - Laboratory Electronic Data Exchange
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("LEDI^LRORDGUI 0.0")
- ; This entry point is used to select patients from ^LRT(67, file
- ; Routine LRDPAREF controls patient selection, patients must already
- ; exist in ^DPT in order to be selected.
- D ^LRPARAM
- I $G(LREND) D ^LRORDK Q
- ;
- N CONTROL,LA7,LA7SCFG,LA7X,LA7Y,LR64,LR696,LRLABLIO,LRRSTAT,LRRSITE,LRSD,LRTSN
- S LRREFBAR=$$BAR^LA7SBCR
- I LRREFBAR<0 D ^LRORDK Q
- ;
- S LRRSTAT="I"
- S LRRSTAT(0)=$$FIND1^DIC(64.061,"","OMX","Specimen in process","","I $P(^LAB(64.061,Y,0),U,7)=""U""")
- D SITE^LA7SBCR2(.LRRSITE,"Scan Remote Site Barcode (SM)",LRREFBAR)
- I LRRSITE("ERROR") D Q
- . W !!,$C(7),"ERROR -- ",$P(LRRSITE("ERROR"),"^",2),!
- . D ^LRORDK
- ;
- ; Get shipping manifest ID manual input
- I $G(LRRSITE("SMID"))="" D
- . F D SMID^LRORDB Q:LREND!($G(LRRSITE("SMID"))'="")
- I $G(LREND) D ^LRORDK Q
- ;
- ; LRORDRR="R" variable indicates host accessioning of remote orders
- S LRORDRR="R",LRORDR="" K LRODT
- D LRORD,^LRORDK
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("LEDI^LRORDGUI 9.0")
- Q
- ;
- ;
- ; LRORDRR =TYPE OF ORDER, LRECT =ASK COLECTION TIME
- ; LRFLOG =ACCESSION TEST GROUP, IF DEFINED ON ENTRY, PRESELECTS GROUP
- ;
- QUIZ ; EP
- D:$G(SNAPSHOT) ENTRYAUD^BLRUTIL("QUIZ^LRORDGUI 0.0")
- W !,"The order copy is automatically sent to the CLOSEST PRINTER,"
- W !,"if a closest printer is defined for the device you are using."
- W !,"Otherwise, you will be prompted with ORDER COPY DEVICE.",!
- Q
- LRORDGUI ;IHS/OIT/MKK - LAZY ACCESSION LOGGING for IHS PATIENT CHART ONLY ;JUL 06, 2010 3:14 PM;
- +1 ;;5.2;LAB SERVICE;**1027**;NOV 01, 1997
- +2 ;;
- +3 ; Cloned from LEDI III LRORD routine. Next two lines VA code
- LRORD ;DALOI/CJS - LAZY ACCESSION LOGGING ;2/6/91 12:54 ;
- +1 ;;5.2;LAB SERVICE;**100,121,153,286**;Sep 27, 1994
- +2 ;;
- +3 ; This code was removed from the previous IHS version of the LRORD routine
- +4 ; and placed in this new routine due to the changes to the LRORD routine
- +5 ; brought in with VA LR*5.2*286 --LEDI III.
- +6 ;
- +7 ; It was felt that the PATIENT CHART coding was overwhelming the logic
- +8 ; flow of the LRORD routine.
- +9 ;
- +10 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("^LRORDGUI 0.0")
- +11 IF XQY0["LRFASTS"
- SET BLROPT="FASTORD"
- SET BLROPT(0)=$PIECE(XQY0,U)
- +12 ;IHS/ITSC/TPF 10/10/02 REQUESTED BY PATIENT CHART DEV. F.J.EVANS **1014**
- SET XWBWRAP=1
- +13 ;IHS/OIRM TUC/AAB 2/1/97
- IF $GET">GET(BLROPT)=""!($GET">GET(BLROPT(0))'=$PIECE(XQY0,U))
- SET BLROPT="MULTI"
- SET BLROPT(0)=$PIECE(XQY0,U)
- +14 ;;
- EN ; EP ; from EN^LRORD
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("EN^LRORDGUI 0.0")
- +2 IF $DATA(^LAB(69.9,1,"RO"))
- IF +$HOROLOG'=+^("RO")
- Begin DoDot:1
- +3 NEW STR
- +4 SET STR="ROLLOVER "_$SELECT($PIECE(^("RO"),U,2):"IS RUNNING.",1:"HAS NOT RUN.")
- +5 SET STR=STR_" CHECK WITH SITE MANAGER"
- +6 SET RESULT(1)=-1
- SET RESULT(2)=STR
- End DoDot:1
- QUIT
- +7 ;
- EN1 ; EP ; from EN1^LRORD also
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("EN1^LRORDGUI 0.0")
- +2 DO ^BLRPARAM
- +3 DO ^LRPARAM
- +4 KILL ^TMP("LRSTIK",$JOB),DIC,LRURG,LRSAME,LRCOM,LRNATURE,LRTCOM
- +5 SET LRORDTIM=""
- IF '$DATA(LRORDR)
- SET LRORDR=""
- DO DT^LRX
- +6 IF $DATA(LRADDTST)
- IF LRADDTST=""
- QUIT
- +7 SET LRFIRST=1
- SET LRODT=DT
- SET U="^"
- SET LRECT=0
- SET LROUTINE=$PIECE(^LAB(69.9,1,3),U,2)
- +8 IF $GET(LRORDRR)="R"
- SET LRECT=1
- SET LRFIRST=0
- +9 SET LRECT="Y"
- SET LRODT=BPCODT
- SET LRURG=BPCURG
- +10 IF LRORDR="LC"
- SET LRLWC="SP"
- +11 IF LRORDR="SP"
- SET LRLWC="SP"
- +12 IF LRORDR="WC"
- SET LRLWC="WC"
- +13 ;
- L5 ; EP ; from L5^LRORD also
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("L5^LRORDGUI 0.0")
- +2 IF LRORDR'=""
- Begin DoDot:1
- +3 SET X=LRODT
- SET %DT="T"
- DO ^%DT
- IF Y=-1
- SET RESULT(1)=1
- SET RESULT(2)="Incorrect Date/Time Format"
- QUIT
- +4 SET LRORDTIM=$PIECE(Y,".",2)
- SET LRODT=$PIECE(Y,".",1)
- SET X1=Y
- SET X2=DT
- DO ^%DTC
- +5 IF X>$GET(LRDAHEAD)
- SET RESULT(1)=-1
- SET RESULT(2)="Can't order more than "_$GET(LRDAHEAD)_" days ahead!!"
- End DoDot:1
- IF Y<1
- QUIT
- IF $GET">GET(X)>$GET">GET(LRDAHEAD)
- QUIT
- +6 ;
- +7 IF $DATA(LRODT)
- IF $PIECE(LRODT,".")<DT
- Begin DoDot:1
- +8 SET RESULT(1)=-1
- +9 SET RESULT(2)="Cannot order in the Past."
- End DoDot:1
- QUIT
- +10 ;
- +11 IF $DATA(LRFLOG)
- SET Y=LRFLOG
- +12 ;
- G0 ; EP ;
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("G0^LRORDGUI 0.0")
- +2 SET (LRWP,I)=0
- +3 IF LRFLOG
- Begin DoDot:1
- +4 SET $PIECE(LRFLOG,U,3)=$PIECE(^LAB(62.2,+$PIECE(^LAB(62.6,+LRFLOG,0),U,2),0),U,2)
- +5 SET LRFLOG(0)=^LAB(62.6,+LRFLOG,0)
- +6 SET (LRWP,I)=0
- +7 FOR
- SET I=$ORDER(^LAB(62.6,+Y,1,I))
- IF I<1
- QUIT
- Begin DoDot:2
- +8 SET Y(0)=$GET(^LAB(62.6,+Y,1,I,0))
- SET LRWP=LRWP+1
- +9 SET ^TMP("LRSTIK",$JOB,$SELECT($PIECE(LRFLOG(0),"^",5):I,1:LRWP))=Y(0)
- +10 ; Lookup by number user enters.
- +11 SET ^TMP("LRSTIK",$JOB,"B",LRWP)=$SELECT($PIECE(LRFLOG(0),"^",5):I,1:LRWP)
- +12 ; Lookup by test - used by LEDI (LRORDB) when user creates list "on-the-fly"
- +13 SET ^TMP("LRSTIK",$JOB,"C",+Y(0),$SELECT($PIECE(LRFLOG(0),"^",5):I,1:LRWP))=""
- End DoDot:2
- +14 ; Don't automatically display "long" test lists.
- IF LRWP>40
- SET LRFIRST=0
- End DoDot:1
- +15 ;
- +16 ; - PROCESSES OTHER ORDERS
- IF +BPCOORDS>0
- Begin DoDot:1
- +17 NEW BPCOORD,BPCTDTA,BPCCS,BPCTNAM,BPCCSDTA
- +18 FOR I=1:1
- SET BPCOORD=$PIECE(BPCOORDS,",",I)
- IF +BPCOORD<1
- QUIT
- IF $DATA(^LAB(60,BPCOORD))
- Begin DoDot:2
- +19 SET BPCTDTA=^LAB(60,BPCOORD,0)
- +20 ;COLLECTION SAMPLE IEN
- SET BPCCS=$PIECE(BPCTDTA,U,9)
- +21 ;TEST NAME
- SET BPCTNAM=$PIECE(BPCTDTA,U,1)
- +22 IF +BPCCS>0
- Begin DoDot:3
- +23 SET BPCCSDTA=$GET(^LAB(62,BPCCS,0))
- +24 SET BPCCSDTA=$PIECE(BPCCSDTA,U,1,2)
- End DoDot:3
- +25 SET LRWP=LRWP+1
- +26 SET ^TMP("LRSTIK",$JOB,LRWP)=BPCOORD_U_BPCTNAM_U_$GET">GET(BPCCS)_U_$GET">GET(BPCCSDTA)
- +27 SET ^TMP("LRSTIK",$JOB,"B",LRWP)=LRWP
- +28 IF BPCTL'=""
- SET BPCTL=BPCTL_","_LRWP
- IF BPCTL=""
- SET BPCTL=LRWP
- End DoDot:2
- End DoDot:1
- +29 ;
- +30 KILL I1
- +31 GOTO G5
- +32 ;
- G1 SET LRWP=0
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("G1^LRORDGUI 0.0")
- +2 ;
- GET ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("GET^LRORDGUI 0.0")
- +2 DO Q15^LRORD2
- +3 DO ^DIC
- KILL DIC("S")
- IF Y<1
- GOTO G5
- +4 SET LRWP=LRWP+1
- SET LRY=Y
- +5 SET ^TMP("LRSTIK",$JOB,LRWP)=$PIECE(LRY,U,1,2)
- +6 ; "B" Used to lookup by number user enters.
- +7 SET ^TMP("LRSTIK",$JOB,"B",LRWP)=LRWP
- +8 ; "C" Used by LEDI (LRORDB)
- +9 SET ^TMP("LRSTIK",$JOB,"C",+LRY,LRWP)=""
- +10 SET LRTSTS=+^TMP("LRSTIK",$JOB,LRWP)
- DO GS^LRORD3
- +11 IF +LRSAMP=-1&(LRSPEC=-1)
- SET LRWP=LRWP-1
- +12 IF +LRSAMP=-1&(LRSPEC=-1)
- GOTO GET
- +13 SET ^TMP("LRSTIK",$JOB,LRWP)=^TMP("LRSTIK",$JOB,LRWP)_U_LRSAMP_U_U_LRSPEC
- +14 GOTO GET
- +15 ;
- G5 ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("G5^LRORDGUI 0.0")
- +2 IF LRWP<1
- GOTO KILL
- +3 IF '$DATA(^LRO(69,LRODT,0))
- SET ^(0)=$PIECE(^LRO(69,0),U,1,2)_U_LRODT_U_(1+$PIECE(^(0),U,4))
- SET ^LRO(69,LRODT,0)=LRODT
- SET ^LRO(69,"B",LRODT,LRODT)=""
- +4 SET LRAD=DT
- SET LRWPD=LRWP\2+(LRWP#2)
- DO ^LRORD1GU
- +5 ;
- KILL ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("KILL^LRORDGUI 0.0")
- +2 DO ^LRORDK
- DO HOME^%ZIS
- +3 QUIT
- +4 ;
- % READ %:DTIME
- IF %=""!(%["N")!(%["Y")!($EXTRACT(%)="^")
- QUIT
- WRITE !,"Answer 'Y' or 'N': "
- GOTO %
- +1 ;
- EN01 ;LAB COLLECT ORDER ENTRY
- ORDER ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("ORDER^LRORDGUI 0.0")
- +2 SET %=2
- WRITE !,"Do you want copies of the orders"
- DO YN^DICN
- IF %=-1
- QUIT
- IF %=1
- SET LRSLIP=""
- IF %=0
- DO QUIZ
- GOTO ORDER
- +3 SET LRORDR="LC"
- SET LRLWCURG=$SELECT($PIECE(^LAB(69.9,1,3),U,2)'="":$PIECE(^(3),U,2),1:9)
- +4 IF $GET">GET(BLROPT)=""!($GET">GET(BLROPT(0))'=$PIECE(XQY0,U))
- SET BLROPT="FASTORD"
- SET BLROPT(0)=$PIECE(XQY0,U)
- +5 GOTO LRORD
- +6 ;
- EN02 ;SEND PATIENT ORDER ENTRY
- SENDPAT ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("SENDPAT^LRORDGUI 0.0")
- +2 SET %=1
- WRITE !,"Do you want copies of the orders"
- DO YN^DICN
- IF %=-1
- QUIT
- IF %=1
- SET LRSLIP=""
- IF %=0
- DO QUIZ
- GOTO SENDPAT
- +3 SET LRORDR="SP"
- +4 GOTO LRORD
- +5 ;
- IMMCOL ;EP - IMMEDIATE LAB COLLECTION
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("IMMCOL^LRORDGUI 0.0")
- +2 IF '$PIECE($GET(^LAB(69.9,1,7,DUZ(2),0)),U,6)
- WRITE !!?5," This option is not available at the time ",!!,$CHAR(7)
- QUIT
- +3 SET LRORDR="I"
- +4 KILL LRODT
- +5 IF $GET">GET(BLROPT)=""!($GET">GET(BLROPT(0))'=$PIECE(XQY0,U))
- SET BLROPT="FASTORD"
- SET BLROPT(0)=$PIECE(XQY0,U)
- +6 GOTO LRORD
- +7 ;
- EN03 ;WARD COLLECT ORDER ENTRY
- WARDCOL ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("WARDCOL^LRORDGUI 0.0")
- +2 SET %=1
- +3 WRITE !,"Do you want copies of the orders"
- DO YN^DICN
- IF %=-1
- QUIT
- IF %=1
- SET LRSLIP=""
- IF %=0
- DO QUIZ
- GOTO WARDCOL
- +4 ;IHS/OIRM TUC/AAB 2/13/97
- IF $GET">GET(BLROPT)=""!($GET">GET(BLROPT(0))'=$PIECE(XQY0,U))
- SET BLROPT="FASTORD"
- SET BLROPT(0)=$PIECE(XQY0,U)
- +5 SET LRORDR="WC"
- DO LRORD
- +6 QUIT
- +7 ;
- +8 ;
- LEDI ; EP - Laboratory Electronic Data Exchange
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("LEDI^LRORDGUI 0.0")
- +2 ; This entry point is used to select patients from ^LRT(67, file
- +3 ; Routine LRDPAREF controls patient selection, patients must already
- +4 ; exist in ^DPT in order to be selected.
- +5 DO ^LRPARAM
- +6 IF $GET(LREND)
- DO ^LRORDK
- QUIT
- +7 ;
- +8 NEW CONTROL,LA7,LA7SCFG,LA7X,LA7Y,LR64,LR696,LRLABLIO,LRRSTAT,LRRSITE,LRSD,LRTSN
- +9 SET LRREFBAR=$$BAR^LA7SBCR
- +10 IF LRREFBAR<0
- DO ^LRORDK
- QUIT
- +11 ;
- +12 SET LRRSTAT="I"
- +13 SET LRRSTAT(0)=$$FIND1^DIC(64.061,"","OMX","Specimen in process","","I $P(^LAB(64.061,Y,0),U,7)=""U""")
- +14 DO SITE^LA7SBCR2(.LRRSITE,"Scan Remote Site Barcode (SM)",LRREFBAR)
- +15 IF LRRSITE("ERROR")
- Begin DoDot:1
- +16 WRITE !!,$CHAR(7),"ERROR -- ",$PIECE(LRRSITE("ERROR"),"^",2),!
- +17 DO ^LRORDK
- End DoDot:1
- QUIT
- +18 ;
- +19 ; Get shipping manifest ID manual input
- +20 IF $GET(LRRSITE("SMID"))=""
- Begin DoDot:1
- +21 FOR
- DO SMID^LRORDB
- IF LREND!($GET(LRRSITE("SMID"))'="")
- QUIT
- End DoDot:1
- +22 IF $GET(LREND)
- DO ^LRORDK
- QUIT
- +23 ;
- +24 ; LRORDRR="R" variable indicates host accessioning of remote orders
- +25 SET LRORDRR="R"
- SET LRORDR=""
- KILL LRODT
- +26 DO LRORD
- DO ^LRORDK
- +27 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("LEDI^LRORDGUI 9.0")
- +28 QUIT
- +29 ;
- +30 ;
- +31 ; LRORDRR =TYPE OF ORDER, LRECT =ASK COLECTION TIME
- +32 ; LRFLOG =ACCESSION TEST GROUP, IF DEFINED ON ENTRY, PRESELECTS GROUP
- +33 ;
- QUIZ ; EP
- +1 IF $GET(SNAPSHOT)
- DO ENTRYAUD^BLRUTIL("QUIZ^LRORDGUI 0.0")
- +2 WRITE !,"The order copy is automatically sent to the CLOSEST PRINTER,"
- +3 WRITE !,"if a closest printer is defined for the device you are using."
- +4 WRITE !,"Otherwise, you will be prompted with ORDER COPY DEVICE.",!
- +5 QUIT