PSOERX1I ;ALB/BWF - Accept eRx function ; 8/3/2016 5:14pm
;;7.0;OUTPATIENT PHARMACY;**770**;DEC 1997;Build 145
;
JUMP2ERX ; Jump to the eRx Holding Queue for the specific order after Un-Accepting eRx
N ORDNUM,PSOIEN,ERXIEN,EPATIEN,PSONOLCK
D FULL^VALM1 S VALMBCK="R"
I $G(PSOJUMP) S VALMSG="Cannot jump back to the Holding Queue, use ^" W $C(7) Q
S ORDNUM=+$$ORDNUM() I 'ORDNUM S VALMSG="Invalid Order" W $C(7) Q
S (ERXIEN,PSOIEN)=$$CHKERX^PSOERXU1(ORDNUM) I 'PSOIEN S VALMSG="This Order is not related to an eRx" W $C(7) Q
X "N (DUZ,IO,U,DT,DILOCKTM,DTIME,PSOIEN,ERXIEN,PSOSITE,PSOJUMP,PSNPINST)"
K ^TMP("PSOERXPO",$J) M ^TMP("PSOERXPO",$J)=^TMP("XQORS",$J)
S EPATIEN=$$GETPAT^PSOERXU5(ERXIEN) I '$$LOCK^PSOERPC1(EPATIEN) Q
S PSOJUMP=1
D EN^VALM("PSO ERX SINGLE ERX DISPLAY")
K ^TMP("XQORS",$J) M ^TMP("XQORS",$J)=^TMP("PSOERXPO",$J)
D UL^PSOERX1A(EPATIEN)
S PSOJUMP=0
Q
;
ORDNUM() ; Returns the correct IEN for the ORDER file (#100) for the Rx
S XQY0=$G(XQY0)
I $P(XQY0,"^")="PSO LM BACKDOOR ORDERS"!($P(XQY0,"^")="PSO LMOE FINISH"),$P(VALMKEY,"^",2)="PSO HIDDEN ACTIONS",$G(RXN) Q +$$GET1^DIQ(52,RXN,39.3,"I")
I $P(XQY0,"^")="PSO LM BACKDOOR ORDERS"!($P(XQY0,"^")="PSO LMOE FINISH")!($P(XQY0,"^")="PSO PMP"),$P(VALMKEY,"^",2)="PSO HIDDEN ACTIONS #3"!($P(VALMKEY,"^",2)="PSO HIDDEN ACTIONS #4"),$G(ORD) Q +$$GET1^DIQ(52.41,+ORD,.01)
I $P(XQY0,"^")="PSO VIEW"!($P(XQY0,"^")="PSO PMP")!($P(XQY0,"^")="PSO ERX BATCH CH REQ/DRUG SWAP"),$P(VALMKEY,"^",2)="PSO PMP HIDDEN ACTIONS MENU #2",$G(RXN) Q +$$GET1^DIQ(52,RXN,39.3,"I")
Q 0
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOERX1I 1575 printed Aug 26, 2025@22:44:24 Page 2
PSOERX1I ;ALB/BWF - Accept eRx function ; 8/3/2016 5:14pm
+1 ;;7.0;OUTPATIENT PHARMACY;**770**;DEC 1997;Build 145
+2 ;
JUMP2ERX ; Jump to the eRx Holding Queue for the specific order after Un-Accepting eRx
+1 NEW ORDNUM,PSOIEN,ERXIEN,EPATIEN,PSONOLCK
+2 DO FULL^VALM1
SET VALMBCK="R"
+3 IF $GET(PSOJUMP)
SET VALMSG="Cannot jump back to the Holding Queue, use ^"
WRITE $CHAR(7)
QUIT
+4 SET ORDNUM=+$$ORDNUM()
IF 'ORDNUM
SET VALMSG="Invalid Order"
WRITE $CHAR(7)
QUIT
+5 SET (ERXIEN,PSOIEN)=$$CHKERX^PSOERXU1(ORDNUM)
IF 'PSOIEN
SET VALMSG="This Order is not related to an eRx"
WRITE $CHAR(7)
QUIT
+6 XECUTE "N (DUZ,IO,U,DT,DILOCKTM,DTIME,PSOIEN,ERXIEN,PSOSITE,PSOJUMP,PSNPINST)"
+7 KILL ^TMP("PSOERXPO",$JOB)
MERGE ^TMP("PSOERXPO",$JOB)=^TMP("XQORS",$JOB)
+8 SET EPATIEN=$$GETPAT^PSOERXU5(ERXIEN)
IF '$$LOCK^PSOERPC1(EPATIEN)
QUIT
+9 SET PSOJUMP=1
+10 DO EN^VALM("PSO ERX SINGLE ERX DISPLAY")
+11 KILL ^TMP("XQORS",$JOB)
MERGE ^TMP("XQORS",$JOB)=^TMP("PSOERXPO",$JOB)
+12 DO UL^PSOERX1A(EPATIEN)
+13 SET PSOJUMP=0
+14 QUIT
+15 ;
ORDNUM() ; Returns the correct IEN for the ORDER file (#100) for the Rx
+1 SET XQY0=$GET(XQY0)
+2 IF $PIECE(XQY0,"^")="PSO LM BACKDOOR ORDERS"!($PIECE(XQY0,"^")="PSO LMOE FINISH")
IF $PIECE(VALMKEY,"^",2)="PSO HIDDEN ACTIONS"
IF $GET(RXN)
QUIT +$$GET1^DIQ(52,RXN,39.3,"I")
+3 IF $PIECE(XQY0,"^")="PSO LM BACKDOOR ORDERS"!($PIECE(XQY0,"^")="PSO LMOE FINISH")!($PIECE(XQY0,"^")="PSO PMP")
IF $PIECE(VALMKEY,"^",2)="PSO HIDDEN ACTIONS #3"!($PIECE(VALMKEY,"^",2)="PSO HIDDEN ACTIONS #4")
IF $GET(ORD)
QUIT +$$GET1^DIQ(52.41,+ORD,.01)
+4 IF $PIECE(XQY0,"^")="PSO VIEW"!($PIECE(XQY0,"^")="PSO PMP")!($PIECE(XQY0,"^")="PSO ERX BATCH CH REQ/DRUG SWAP")
IF $PIECE(VALMKEY,"^",2)="PSO PMP HIDDEN ACTIONS MENU #2"
IF $GET(RXN)
QUIT +$$GET1^DIQ(52,RXN,39.3,"I")
+5 QUIT 0