PSOERX1B ;ALB/BWF - Accept eRx function ; 8/3/2016 5:14pm
 ;;7.0;OUTPATIENT PHARMACY;**467,506,520,527,508,551,591,606,581,617,700,770**;DEC 1997;Build 145
 ;
 Q
ACVAL(PSOIEN,TYPE,VAMMODE) ; NEW MTYPE, GET IT OFF FIELD .08, IF NOT DEFINED, 
 ;Input: PSOIEN  - eRx IEN (Pointer to #52.49)
 ;       TYPE    - Validation Type (P: Patient, PR: Provider, D: Drug)
 ;       VAMMODE - Validate All Matches Mode (optional)
 N MBMSITE,F,VBFLD,VBDTTMF,DIR,TAG,VALPAR,VAL,CURVAL,MVFLD,VBFLD,VBDTTMF,PSOIENS,RXSTAT,QFLG,VDTTM,ERXMMFLG,MTYPE,Y
 N RESTYPE,GMRA,GMRAL,ERXPTIEN,DFN
 S MBMSITE=$S($$GET1^DIQ(59.7,1,102,"I")="MBM":1,1:0)
 S F=52.49,PSOIENS=PSOIEN_","
 D FULL^VALM1
 S VALMBCK="R"
 ; first check to see if the entry exists. cannot validate something that has no value
 S MTYPE=$$GET1^DIQ(52.49,PSOIEN,.08,"I") ;mtype
 S RXSTAT=$$GET1^DIQ(52.49,PSOIEN,1,"E") I RXSTAT="RJ"!(RXSTAT="RM")!($E(RXSTAT,1,3)="REM")!(RXSTAT="PR")!(RXSTAT="CRP")!(RXSTAT="CXP")!(RXSTAT="RRP") D  Q
 . W !!,"Cannot accept validation for a prescription with a status of 'Rejected',",!,"'Removed',or 'Processed",!
 . S DIR(0)="E" D ^DIR
 Q:TYPE']""
 S TAG=$S(TYPE="P":"patient",TYPE="PR":"provider",TYPE="D":"drug",1:"")
 S VALPAR=$S(TYPE="P":.05,TYPE="PR":2.3,TYPE="D":3.2,1:"") Q:VALPAR=""
 S VAL=$$GET1^DIQ(F,PSOIEN,VALPAR,"I") I 'VAL D  Q
 . W !,"Vista "_TAG_" has not been matched. Cannot manually validate."
 . S DIR(0)="E" D ^DIR
 S MVFLD=$S(TYPE="P":1.7,TYPE="PR":1.3,TYPE="D":1.5,1:"")
 S VBFLD=$S(TYPE="P":1.13,TYPE="PR":1.8,TYPE="D":1.11,1:"")
 S VBDTTMF=$S(TYPE="P":1.14,TYPE="PR":1.9,TYPE="D":1.12,1:"")
 ; check if Patient has a valid adress - CS prescriptions only
 I TYPE="P",$$GET1^DIQ(52.49,PSOIEN,95.1,"I"),'$$VALPTADD^PSOERXUT(+$G(VAL)) D  Q
 . W !!,"Unable to validate - VistA Patient does not have a current mailing"
 . W !,"or residential address on file.",$C(7),!
 . S DIR(0)="E" D ^DIR
 ; check to see if this is already validated
 I MVFLD S CURVAL=$$GET1^DIQ(F,PSOIEN,MVFLD,"I")
 I CURVAL D  Q
 . W !!,"This "_TAG_" has already been "_$S(TYPE="PR"&$$GET1^DIQ(52.49,PSOIEN,2.7,"I"):"automatically",1:"manually")_" validated."
 . W !,"Validated By: "_$$GET1^DIQ(F,PSOIEN,VBFLD,"E")
 . W !,"Validated Date/Time: "_$$GET1^DIQ(F,PSOIEN,VBDTTMF,"E"),!
 . S DIR(0)="E" D ^DIR
 S QFLG=0
 I TYPE="D" D
 . W !
 . I '$O(^PS(52.49,PSOIEN,21,0)) W !,"Dosing information missing.",$C(7) S QFLG=1
 . I $$GET1^DIQ(52.49,PSOIEN,20.1,"E")="" W !,"Quantity missing.",$C(7) S QFLG=1
 . I $$GET1^DIQ(52.49,PSOIEN,20.2,"E")="" W !,"Days supply missing.",$C(7) S QFLG=1
 I $G(QFLG) W ! S DIR(0)="E" D ^DIR K DIR Q
 I TYPE="D" D
 . N ERXMSG,I
 . D PRDRVAL^PSOERXUT(.ERXMSG,"VD",PSOIEN) I $P(ERXMSG,"^",2)="B" S QFLG=1
 . I $O(ERXMSG(0)) D
 . . W !!,"*********************************",$S($P(ERXMSG,"^",2)="W":" WARNING(S) ",1:"INVALID DRUG"),"***********************************"
 . . S I=0 F  S I=$O(ERXMSG(I)) Q:'I  W !,$P(ERXMSG(I),"^")
 . . W !,"********************************************************************************",$C(7)
 I $G(QFLG) W ! S DIR(0)="E" D ^DIR K DIR Q
 ;
 I TYPE="P" D  I '$G(ERXMMFLG) S DIR(0)="E" D ^DIR K DIR
 . S ERXMMFLG=$$PATWARN^PSOERX1E("VP",PSOIEN)
 ;
 S DFN=$$GET1^DIQ(52.49,PSOIEN,.05,"I")
 ; VistA Patient ChampVA Eligibility Check (MbM Only)
 I $G(MBMSITE),TYPE="P",'$$CHVAELIG^PSOERXU9(DFN) D  Q
 . I ",N,I,W,RXI,RXN,RXW,RXR,CXI,CXN,CXW,"[(","_$G(RXSTAT)_",") D
 . . D UPDSTAT^PSOERXU1(PSOIEN,"HEL","Hold due to Eligibility Issue")
 . . W !!,"This eRx has been put on Hold (HEL) because the VistA Patient ("_$$GET1^DIQ(2,DFN,.01)_") is not Eligible for ChampVA Rx Benefit."
 . . K DIR D PAUSE^VALM1
 . D AUTOHOLD^PSOERX1E("E",PSOIEN,DFN)
 ;
 ; VistA Patient Allergy Check (MbM Only)
 I $G(MBMSITE),TYPE="P" D  I $G(GMRAL)="" Q
 . S GMRA="0^0^111" D EN1^GMRADPT I $G(GMRAL)'="" Q
 . I ",N,I,W,RXI,RXN,RXW,RXR,CXI,CXN,CXW,"[(","_$G(RXSTAT)_",") D
 . . D UPDSTAT^PSOERXU1(PSOIEN,"HAL","Hold for Allergy Assessment")
 . . W !!,"This eRx has been put on Hold (HAL) because the VistA Patient ("_$$GET1^DIQ(2,DFN,.01)_") does not have an Allergy Assessment.."
 . . K DIR D PAUSE^VALM1
 . D AUTOHOLD^PSOERX1E("A",PSOIEN,DFN)
 ;
 I TYPE="P",'$G(ERXMMFLG) Q
 ;
 I TYPE="PR" S ERXMMFLG=$$PRVWARN^PSOERX1A("VP",PSOIEN) I 'ERXMMFLG S DIR(0)="E" D ^DIR K DIR Q
 I '$G(VAMMODE) W !,"Would you like to mark this "_TAG_" as VALIDATED?" S DIR(0)="Y",DIR("B")=$S($G(ERXMMFLG):"NO",1:"YES") D ^DIR Q:Y'=1
 K FDA,DIR
 S VDTTM=$$NOW^XLFDT I MVFLD S FDA(F,PSOIENS,MVFLD)=1
 I VBFLD S FDA(F,PSOIENS,VBFLD)=$G(DUZ)
 I VBDTTMF S FDA(F,PSOIENS,VBDTTMF)=VDTTM
 I $D(FDA) D FILE^DIE(,"FDA") K FDA
 W !,$S(TYPE="P":"Patient",TYPE="PR":"Provider",1:"Drug/SIG")_" Match Validated!!"
 ; check validations and update status to 'wait' if all validations have occured.
 I MTYPE="N",$E(RXSTAT)'="H" D
 . I $$GET1^DIQ(52.49,PSOIEN,1.3,"I"),$$GET1^DIQ(52.49,PSOIEN,1.5,"I"),$$GET1^DIQ(52.49,PSOIEN,1.7,"I") D UPDSTAT^PSOERXU1(PSOIEN,"W") Q
 . D UPDSTAT^PSOERXU1(PSOIEN,"I")
 I MTYPE="RE",$E(RXSTAT)'="H" D
 . S RESTYPE=$$GET1^DIQ(52.49,PSOIEN,52.1,"I")
 . I RESTYPE'="R" D UPDSTAT^PSOERXU1(PSOIEN,"RXW") Q
 . I $$GET1^DIQ(52.49,PSOIEN,1.3,"I"),$$GET1^DIQ(52.49,PSOIEN,1.5,"I"),$$GET1^DIQ(52.49,PSOIEN,1.7,"I") D UPDSTAT^PSOERXU1(PSOIEN,"RXW") Q
 . D UPDSTAT^PSOERXU1(PSOIEN,"RXI")
 I MTYPE="CX",$E(RXSTAT)'="H" D
 . I $$GET1^DIQ(52.49,PSOIEN,1.3,"I"),$$GET1^DIQ(52.49,PSOIEN,1.5,"I"),$$GET1^DIQ(52.49,PSOIEN,1.7,"I") D UPDSTAT^PSOERXU1(PSOIEN,"CXW") Q
 . D UPDSTAT^PSOERXU1(PSOIEN,"CXI")
 I TYPE="P" D BPROC^PSOERXU8(PSOIEN,"PA",MVFLD,VBFLD,VBDTTMF,VDTTM) I '$G(VAMMODE),'$G(MBMSITE) K @VALMAR
 I TYPE="PR" D BPROC^PSOERXU8(PSOIEN,"PR",MVFLD,VBFLD,VBDTTMF,VDTTM) I '$G(VAMMODE),'$G(MBMSITE) K @VALMAR
 I TYPE="D" D
 . ; Setting Clinic (if not already set)
 . I '$$GET1^DIQ(52.49,+PSOIEN,20.6,"I") d
 . . S $P(^PS(52.49,+PSOIEN,20),"^",6)=$S($G(PSOCLNC):PSOCLNC,1:$$GET1^DIQ(59,+$G(PSOSITE),10,"I"))
 . I '$G(VAMMODE),'$G(MBMSITE) K @VALMAR
 I '$G(MBMSITE) S VALMBCK="Q"
 Q
 ; remove eRx from holding queue
REM ;
 D REM^PSOERXU4
 Q
 ; unremove eRx from holding queue
UNREM ;
 D UNREM^PSOERXU4
 Q
 ; reject eRx
REJ ;
 D REJ^PSOERXU4
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSOERX1B   6227     printed  Sep 23, 2025@20:04:35                                                                                                                                                                                                    Page 2
PSOERX1B  ;ALB/BWF - Accept eRx function ; 8/3/2016 5:14pm
 +1       ;;7.0;OUTPATIENT PHARMACY;**467,506,520,527,508,551,591,606,581,617,700,770**;DEC 1997;Build 145
 +2       ;
 +3        QUIT 
ACVAL(PSOIEN,TYPE,VAMMODE) ; NEW MTYPE, GET IT OFF FIELD .08, IF NOT DEFINED, 
 +1       ;Input: PSOIEN  - eRx IEN (Pointer to #52.49)
 +2       ;       TYPE    - Validation Type (P: Patient, PR: Provider, D: Drug)
 +3       ;       VAMMODE - Validate All Matches Mode (optional)
 +4        NEW MBMSITE,F,VBFLD,VBDTTMF,DIR,TAG,VALPAR,VAL,CURVAL,MVFLD,VBFLD,VBDTTMF,PSOIENS,RXSTAT,QFLG,VDTTM,ERXMMFLG,MTYPE,Y
 +5        NEW RESTYPE,GMRA,GMRAL,ERXPTIEN,DFN
 +6        SET MBMSITE=$SELECT($$GET1^DIQ(59.7,1,102,"I")="MBM":1,1:0)
 +7        SET F=52.49
           SET PSOIENS=PSOIEN_","
 +8        DO FULL^VALM1
 +9        SET VALMBCK="R"
 +10      ; first check to see if the entry exists. cannot validate something that has no value
 +11      ;mtype
           SET MTYPE=$$GET1^DIQ(52.49,PSOIEN,.08,"I")
 +12       SET RXSTAT=$$GET1^DIQ(52.49,PSOIEN,1,"E")
           IF RXSTAT="RJ"!(RXSTAT="RM")!($EXTRACT(RXSTAT,1,3)="REM")!(RXSTAT="PR")!(RXSTAT="CRP")!(RXSTAT="CXP")!(RXSTAT="RRP")
               Begin DoDot:1
 +13               WRITE !!,"Cannot accept validation for a prescription with a status of 'Rejected',",!,"'Removed',or 'Processed",!
 +14               SET DIR(0)="E"
                   DO ^DIR
               End DoDot:1
               QUIT 
 +15       if TYPE']""
               QUIT 
 +16       SET TAG=$SELECT(TYPE="P":"patient",TYPE="PR":"provider",TYPE="D":"drug",1:"")
 +17       SET VALPAR=$SELECT(TYPE="P":.05,TYPE="PR":2.3,TYPE="D":3.2,1:"")
           if VALPAR=""
               QUIT 
 +18       SET VAL=$$GET1^DIQ(F,PSOIEN,VALPAR,"I")
           IF 'VAL
               Begin DoDot:1
 +19               WRITE !,"Vista "_TAG_" has not been matched. Cannot manually validate."
 +20               SET DIR(0)="E"
                   DO ^DIR
               End DoDot:1
               QUIT 
 +21       SET MVFLD=$SELECT(TYPE="P":1.7,TYPE="PR":1.3,TYPE="D":1.5,1:"")
 +22       SET VBFLD=$SELECT(TYPE="P":1.13,TYPE="PR":1.8,TYPE="D":1.11,1:"")
 +23       SET VBDTTMF=$SELECT(TYPE="P":1.14,TYPE="PR":1.9,TYPE="D":1.12,1:"")
 +24      ; check if Patient has a valid adress - CS prescriptions only
 +25       IF TYPE="P"
               IF $$GET1^DIQ(52.49,PSOIEN,95.1,"I")
                   IF '$$VALPTADD^PSOERXUT(+$GET(VAL))
                       Begin DoDot:1
 +26                       WRITE !!,"Unable to validate - VistA Patient does not have a current mailing"
 +27                       WRITE !,"or residential address on file.",$CHAR(7),!
 +28                       SET DIR(0)="E"
                           DO ^DIR
                       End DoDot:1
                       QUIT 
 +29      ; check to see if this is already validated
 +30       IF MVFLD
               SET CURVAL=$$GET1^DIQ(F,PSOIEN,MVFLD,"I")
 +31       IF CURVAL
               Begin DoDot:1
 +32               WRITE !!,"This "_TAG_" has already been "_$SELECT(TYPE="PR"&$$GET1^DIQ(52.49,PSOIEN,2.7,"I"):"automatically",1:"manually")_" validated."
 +33               WRITE !,"Validated By: "_$$GET1^DIQ(F,PSOIEN,VBFLD,"E")
 +34               WRITE !,"Validated Date/Time: "_$$GET1^DIQ(F,PSOIEN,VBDTTMF,"E"),!
 +35               SET DIR(0)="E"
                   DO ^DIR
               End DoDot:1
               QUIT 
 +36       SET QFLG=0
 +37       IF TYPE="D"
               Begin DoDot:1
 +38               WRITE !
 +39               IF '$ORDER(^PS(52.49,PSOIEN,21,0))
                       WRITE !,"Dosing information missing.",$CHAR(7)
                       SET QFLG=1
 +40               IF $$GET1^DIQ(52.49,PSOIEN,20.1,"E")=""
                       WRITE !,"Quantity missing.",$CHAR(7)
                       SET QFLG=1
 +41               IF $$GET1^DIQ(52.49,PSOIEN,20.2,"E")=""
                       WRITE !,"Days supply missing.",$CHAR(7)
                       SET QFLG=1
               End DoDot:1
 +42       IF $GET(QFLG)
               WRITE !
               SET DIR(0)="E"
               DO ^DIR
               KILL DIR
               QUIT 
 +43       IF TYPE="D"
               Begin DoDot:1
 +44               NEW ERXMSG,I
 +45               DO PRDRVAL^PSOERXUT(.ERXMSG,"VD",PSOIEN)
                   IF $PIECE(ERXMSG,"^",2)="B"
                       SET QFLG=1
 +46               IF $ORDER(ERXMSG(0))
                       Begin DoDot:2
 +47                       WRITE !!,"*********************************",$SELECT($PIECE(ERXMSG,"^",2)="W":" WARNING(S) ",1:"INVALID DRUG"),"***********************************"
 +48                       SET I=0
                           FOR 
                               SET I=$ORDER(ERXMSG(I))
                               if 'I
                                   QUIT 
                               WRITE !,$PIECE(ERXMSG(I),"^")
 +49                       WRITE !,"********************************************************************************",$CHAR(7)
                       End DoDot:2
               End DoDot:1
 +50       IF $GET(QFLG)
               WRITE !
               SET DIR(0)="E"
               DO ^DIR
               KILL DIR
               QUIT 
 +51      ;
 +52       IF TYPE="P"
               Begin DoDot:1
 +53               SET ERXMMFLG=$$PATWARN^PSOERX1E("VP",PSOIEN)
               End DoDot:1
               IF '$GET(ERXMMFLG)
                   SET DIR(0)="E"
                   DO ^DIR
                   KILL DIR
 +54      ;
 +55       SET DFN=$$GET1^DIQ(52.49,PSOIEN,.05,"I")
 +56      ; VistA Patient ChampVA Eligibility Check (MbM Only)
 +57       IF $GET(MBMSITE)
               IF TYPE="P"
                   IF '$$CHVAELIG^PSOERXU9(DFN)
                       Begin DoDot:1
 +58                       IF ",N,I,W,RXI,RXN,RXW,RXR,CXI,CXN,CXW,"[(","_$GET(RXSTAT)_",")
                               Begin DoDot:2
 +59                               DO UPDSTAT^PSOERXU1(PSOIEN,"HEL","Hold due to Eligibility Issue")
 +60                               WRITE !!,"This eRx has been put on Hold (HEL) because the VistA Patient ("_$$GET1^DIQ(2,DFN,.01)_") is not Eligible for ChampVA Rx Benefit."
 +61                               KILL DIR
                                   DO PAUSE^VALM1
                               End DoDot:2
 +62                       DO AUTOHOLD^PSOERX1E("E",PSOIEN,DFN)
                       End DoDot:1
                       QUIT 
 +63      ;
 +64      ; VistA Patient Allergy Check (MbM Only)
 +65       IF $GET(MBMSITE)
               IF TYPE="P"
                   Begin DoDot:1
 +66                   SET GMRA="0^0^111"
                       DO EN1^GMRADPT
                       IF $GET(GMRAL)'=""
                           QUIT 
 +67                   IF ",N,I,W,RXI,RXN,RXW,RXR,CXI,CXN,CXW,"[(","_$GET(RXSTAT)_",")
                           Begin DoDot:2
 +68                           DO UPDSTAT^PSOERXU1(PSOIEN,"HAL","Hold for Allergy Assessment")
 +69                           WRITE !!,"This eRx has been put on Hold (HAL) because the VistA Patient ("_$$GET1^DIQ(2,DFN,.01)_") does not have an Allergy Assessment.."
 +70                           KILL DIR
                               DO PAUSE^VALM1
                           End DoDot:2
 +71                   DO AUTOHOLD^PSOERX1E("A",PSOIEN,DFN)
                   End DoDot:1
                   IF $GET(GMRAL)=""
                       QUIT 
 +72      ;
 +73       IF TYPE="P"
               IF '$GET(ERXMMFLG)
                   QUIT 
 +74      ;
 +75       IF TYPE="PR"
               SET ERXMMFLG=$$PRVWARN^PSOERX1A("VP",PSOIEN)
               IF 'ERXMMFLG
                   SET DIR(0)="E"
                   DO ^DIR
                   KILL DIR
                   QUIT 
 +76       IF '$GET(VAMMODE)
               WRITE !,"Would you like to mark this "_TAG_" as VALIDATED?"
               SET DIR(0)="Y"
               SET DIR("B")=$SELECT($GET(ERXMMFLG):"NO",1:"YES")
               DO ^DIR
               if Y'=1
                   QUIT 
 +77       KILL FDA,DIR
 +78       SET VDTTM=$$NOW^XLFDT
           IF MVFLD
               SET FDA(F,PSOIENS,MVFLD)=1
 +79       IF VBFLD
               SET FDA(F,PSOIENS,VBFLD)=$GET(DUZ)
 +80       IF VBDTTMF
               SET FDA(F,PSOIENS,VBDTTMF)=VDTTM
 +81       IF $DATA(FDA)
               DO FILE^DIE(,"FDA")
               KILL FDA
 +82       WRITE !,$SELECT(TYPE="P":"Patient",TYPE="PR":"Provider",1:"Drug/SIG")_" Match Validated!!"
 +83      ; check validations and update status to 'wait' if all validations have occured.
 +84       IF MTYPE="N"
               IF $EXTRACT(RXSTAT)'="H"
                   Begin DoDot:1
 +85                   IF $$GET1^DIQ(52.49,PSOIEN,1.3,"I")
                           IF $$GET1^DIQ(52.49,PSOIEN,1.5,"I")
                               IF $$GET1^DIQ(52.49,PSOIEN,1.7,"I")
                                   DO UPDSTAT^PSOERXU1(PSOIEN,"W")
                                   QUIT 
 +86                   DO UPDSTAT^PSOERXU1(PSOIEN,"I")
                   End DoDot:1
 +87       IF MTYPE="RE"
               IF $EXTRACT(RXSTAT)'="H"
                   Begin DoDot:1
 +88                   SET RESTYPE=$$GET1^DIQ(52.49,PSOIEN,52.1,"I")
 +89                   IF RESTYPE'="R"
                           DO UPDSTAT^PSOERXU1(PSOIEN,"RXW")
                           QUIT 
 +90                   IF $$GET1^DIQ(52.49,PSOIEN,1.3,"I")
                           IF $$GET1^DIQ(52.49,PSOIEN,1.5,"I")
                               IF $$GET1^DIQ(52.49,PSOIEN,1.7,"I")
                                   DO UPDSTAT^PSOERXU1(PSOIEN,"RXW")
                                   QUIT 
 +91                   DO UPDSTAT^PSOERXU1(PSOIEN,"RXI")
                   End DoDot:1
 +92       IF MTYPE="CX"
               IF $EXTRACT(RXSTAT)'="H"
                   Begin DoDot:1
 +93                   IF $$GET1^DIQ(52.49,PSOIEN,1.3,"I")
                           IF $$GET1^DIQ(52.49,PSOIEN,1.5,"I")
                               IF $$GET1^DIQ(52.49,PSOIEN,1.7,"I")
                                   DO UPDSTAT^PSOERXU1(PSOIEN,"CXW")
                                   QUIT 
 +94                   DO UPDSTAT^PSOERXU1(PSOIEN,"CXI")
                   End DoDot:1
 +95       IF TYPE="P"
               DO BPROC^PSOERXU8(PSOIEN,"PA",MVFLD,VBFLD,VBDTTMF,VDTTM)
               IF '$GET(VAMMODE)
                   IF '$GET(MBMSITE)
                       KILL @VALMAR
 +96       IF TYPE="PR"
               DO BPROC^PSOERXU8(PSOIEN,"PR",MVFLD,VBFLD,VBDTTMF,VDTTM)
               IF '$GET(VAMMODE)
                   IF '$GET(MBMSITE)
                       KILL @VALMAR
 +97       IF TYPE="D"
               Begin DoDot:1
 +98      ; Setting Clinic (if not already set)
 +99               IF '$$GET1^DIQ(52.49,+PSOIEN,20.6,"I")
                       Begin DoDot:2
 +100                      SET $PIECE(^PS(52.49,+PSOIEN,20),"^",6)=$SELECT($GET(PSOCLNC):PSOCLNC,1:$$GET1^DIQ(59,+$GET(PSOSITE),10,"I"))
                       End DoDot:2
 +101              IF '$GET(VAMMODE)
                       IF '$GET(MBMSITE)
                           KILL @VALMAR
               End DoDot:1
 +102      IF '$GET(MBMSITE)
               SET VALMBCK="Q"
 +103      QUIT 
 +104     ; remove eRx from holding queue
REM       ;
 +1        DO REM^PSOERXU4
 +2        QUIT 
 +3       ; unremove eRx from holding queue
UNREM     ;
 +1        DO UNREM^PSOERXU4
 +2        QUIT 
 +3       ; reject eRx
REJ       ;
 +1        DO REJ^PSOERXU4