RCDPRPL2 ;WISC/RFJ-receipt profile List Manager options ;1 Nov 2018 13:02:23
 ;;4.5;Accounts Receivable;**114,148,173,217,332**;Mar 20, 1995;Build 40
 ;Per VA Directive 6402, this routine should not be modified.
 Q
 ;
 ; This routine contains entry points for customization and printing
 ;
ACCTPROF ;EP from protocol RCDP RECEIPT PROFILE ACCOUNT PROFILE
 ; Account Profile action
 D FULL^VALM1
 S VALMBCK="R"
 ;
 N ACCT,RCDEBTDA,RCTRANDA
 S RCTRANDA=$$SELPAY^RCDPRPL1(RCRECTDA)  ; Select payment transaction
 I RCTRANDA>0 D  ; Find debtor (file 340) entry
 . S RCDEBTDA=0
 . S ACCT=$P(^RCY(344,RCRECTDA,1,RCTRANDA,0),U,3)  ; (#.03) ACCOUNT [3V]
 . I ACCT["DPT(" S RCDEBTDA=$O(^RCD(340,"B",ACCT,0))
 . I ACCT["PRCA(430," S RCDEBTDA=$P($G(^PRCA(430,+ACCT,0)),U,9)
 . I 'RCDEBTDA S VALMSG="Account NOT found for payment transaction."
 ;
 ; Payment not selected ask to select an account
 I '$D(RCDEBTDA) S RCDEBTDA=$$SELACCT^RCDPAPLM
 ;
 Q:$G(RCDEBTDA)'>0
 D EN^VALM("RCDP ACCOUNT PROFILE")
 S VALMBCK="R"
 I $G(RCDPFXIT) S VALMBCK="Q"  ; Fast exit
 Q
 ;
PRINRECT ;EP from protocol action RCDP RECEIPT PROFILE PRINT RECEIPT
 ; Print a receipt
 D FULL^VALM1
 S VALMBCK="R"
 N RCTRANDA
 ;
 ; Select the payment transaction
 S RCTRANDA=$$SELPAY^RCDPRPL1(RCRECTDA)
 Q:RCTRANDA<1
 ;
 ; Check if transaction has a payment amount
 I '$P($G(^RCY(344,RCRECTDA,1,RCTRANDA,0)),U,4) D  Q
 . S VALMSG="NO Payment Amount on Transaction."
 ;
 S VALMSG=$$DEVICE^RCDPRECT
 I VALMSG=0 S VALMSG="Receipt NOT printed"
 Q
 ;
PRINT215 ;EP from protocol action RCDP RECEIPT PROFILE 215 REPORT
 ; Print 215 report
 ; Input:   RCRECTDA    - IEN of the selected receipt (#344)
 N %ZIS,POP,RECEIPDA,RCTYPE
 D FULL^VALM1
 S VALMBCK="R",RECEIPDA=RCRECTDA
 S RCTYPE=$$GETTYPE^RCDPR215
 I RCTYPE="" Q
 ;
 ; Select device
 W !
 S %ZIS="Q"
 D ^%ZIS
 Q:POP
 I $D(IO("Q")) D  D ^%ZTLOAD K IO("Q"),ZTSK D ^%ZISC Q
 . S ZTDESC="Print 215 Report",ZTRTN="DQ^RCDPR215"
 . S ZTSAVE("RECEIPDA")="",ZTSAVE("RCTYPE")="",ZTSAVE("ZTREQ")="@"
 W !!,"<*> please wait <*>"
 D DQ^RCDPR215
 Q
 ;
CUSTOMIZ ;EP from protocol RCDP RECEIPT PROFILE CUSTOMIZE
 ; Option to customize display and printing of the receipt
 ; Input:   None
 ; Output:  Receipt Profile display and printing options customized
 N OPT,QUES
 D FULL^VALM1
 S VALMBCK="R"
 ;
 W !!,"This option will allow the user to customize the screen and options"
 W !,"used for receipt processing."
 ;
 ; Ask to show check/credit card data
 S OPT="SHOWCHECK"
 S QUES="  Do you want to show trace #, check and credit card information"
 Q:$$ASKCUST(OPT,QUES)=-1
 ;
 ; Ask to show acct lookup, batch and sequence number
 S OPT="SHOWACCT"
 S QUES="  Do you want to show acct. lookup, batch and sequence information"
 I $$ASKCUST(OPT,QUES)=-1 D INIT^RCDPRPLM Q
 ;
 ; Ask to show comments
 S OPT="SHOWCOMMENTS",QUES="  Do you want to show comments"
 I $$ASKCUST(OPT,QUES)=-1 D INIT^RCDPRPLM Q
 ;
 ; Ask to show FMS cr documents
 S OPT="SHOWFMS"
 S QUES="  Do you want to show the FMS cash receipt documents"
 I $$ASKCUST(OPT,QUES)=-1 D INIT^RCDPRPLM Q
 ;
 ; Ask to show EOB detail information
 S OPT="SHOWEOB"
 S QUES="  Do you want to show electronic EEOB detail data"
 I $$ASKCUST(OPT,QUES)=-1 D INIT^RCDPRPLM Q
 ;
 ; Make sure form is rebuilt based on the answers above
 D INIT^RCDPRPLM
 ;
 W !!,"The next prompts will allow the user to individually set up the way receipts"
 W !,"should be printed when entering payment transactions.  The user can set"
 W !,"the software up to automatically print a receipt to a device, never print"
 W !,"the receipt, or ask to print the receipt.  The user can also specify the"
 W !,"printer used for printing receipts, preventing from having to re-enter it."
 N DEVICE,TYPE
 ;
 ; For printing receipts
 D  Q:TYPE<0
 . W !
 . S TYPE=$$ASKRECT Q:TYPE<0
 . ; Never print receipt
 . I TYPE=0 D RCSET("RECEIPT",0) Q
 . ; Ask default printer device
 . S DEVICE=$$ASKDEVIC(1)
 . ; No default printer, always print receipt
 . I DEVICE="",TYPE=1 D  Q
 ..  W !,"Since you did not enter a default printer for printing receipts,"
 ..  W !,"I will change it so the software will ask you to print the receipt"
 ..  W !,"when entering a payment transaction."
 ..  D RCSET("RECEIPT",2)
 . ; Set default printer for receipts
 . D RCSET("RECEIPT",TYPE_U_DEVICE)
 ;
 ; For printing 215 report
 W !!!,"You now have the option of setting up the default printer for automatically"
 W !,"printing the 215 report when a receipt is processed.",!
 ; Ask default printer device
 S DEVICE=$$ASKDEVIC(2)
 D RCSET("215REPORT",U_DEVICE)
 Q
 ;
RCSET(RCSNPT,RCSLDV) ; File the selected parameter & device as the user's preference
 ; RCSNPT  - Name of the user's preference parameter to file
 ; RCSLDV  - User's preference^Name of the device selected by the user
 N DA,DIC,DIE,DR,X,Y
 ;
 ; If this is a new parameter, file it
 I '$D(^RC(342.3,"B",RCSNPT)) D
 . K DD,DO,DIC("DR")
 . S DIC="^RC(342.3,",DIC(0)="",X=RCSNPT
 . D FILE^DICN
 ;
 ; File user's preference for the parameter if they don't have one currently defined
 S DA(1)=$O(^RC(342.3,"B",RCSNPT,0))
 I '$D(^RC(342.3,DA(1),1,"B",DUZ)) D  Q
 . S DIC(0)="",DIC("P")=$P(^DD(342.3,1,0),U,2),DIC="^RC(342.3,"_DA(1)_",1,",X=DUZ
 . S DIC("DR")="1////"_$P(RCSLDV,U,1)_";2////"_$P(RCSLDV,U,2)
 . K DD,DO
 . D FILE^DICN
 ;
 ; Edit the user's preference for the parameter
 S DA=$O(^RC(342.3,DA(1),1,"B",DUZ,0))
 S DR=".01////"_DUZ_";1////"_$P(RCSLDV,U)_";2////"_$P(RCSLDV,U,2)
 S DIE="^RC(342.3,"_DA(1)_",1,"
 D ^DIE
 Q
 ;
OPTCK(RCSNPT,RCSLDV) ; function, return user's preference for AR USER CUSTOMIZE parameter (if defined)
 ; Input:   RCSNPT  - Name of the AR USER CUSTOMIZE (#342.3) parameter to check
 ;          RCLSDV  - Piece to be retrieved off of the 342.3 record
 ; Returns: user's preference for RCSNPT or null if no preference in file
 N RCDA
 ;
 ; find user preference IEN for the specified entry (if any)
 S RCDA=$O(^RC(342.3,+$O(^RC(342.3,"B",RCSNPT,0)),1,"B",DUZ,0))
 ;
 ; If the user has a preference retrieve it
 I RCDA S RCDA=$P($G(^RC(342.3,+$O(^RC(342.3,"B",RCSNPT,0)),1,RCDA,0)),U,RCSLDV)
 Q RCDA
 ;
ASKCUST(OPT,QUES) ; Ask one of the customize questions from the CUSTOMIZ action
 ; Input:   OPT - Name of customize option to set
 ;          QUES - Question for the user
 ; Returns: 1 if answer 'YES', 0 if answer 'NO', -1 if timed out or '^'
 N DIR,DTOUT,DUOUT,X,Y
 S DIR(0)="YO"
 S DIR("B")="NO"
 S:$$OPTCK(OPT,2) DIR("B")="YES"
 S DIR("A")=QUES
 W !
 D ^DIR
 I $G(DTOUT)!($G(DUOUT)) S Y=-1
 I Y'=-1 D RCSET(OPT,Y)  ; PRCA*4.5*332, fixed OPT parameter
 Q Y
 ;
ASKRECT() ; function, ask user when they want to print the receipt
 ; Returns: 0 (never), 1 (always), 2 (ask), -1 (timed out or '^')
 N DEFAULT,DIR,DTOUT,DUOUT,X,Y
 S DEFAULT="ALWAYS"
 I $$OPTCK("RECEIPT",2)'=""!($$OPTCK("RECEIPT",3)'="") D
 . S DEFAULT=$$OPTCK("RECEIPT",2),DEFAULT=$S(DEFAULT=0:"NEVER",DEFAULT=1:"ALWAYS",1:"MAYBE")
 S DIR(0)="SO^0:Never Print the Receipt;1:Always Print the Receipt;2:Maybe, Ask to Print the Receipt"
 S DIR("A")="Print Receipt"
 S DIR("B")=DEFAULT
 D ^DIR
 I $G(DTOUT)!($G(DUOUT)) S Y=-1
 Q Y
 ;
ASKDEVIC(RCTYPE) ; Ask for the default printer for receipts and for 215 report
 ; Input:   RCTYPE - 1 for receipts, 2 for 215 report
 ; Returns: Name of selected device or ""
 N RCION
 S %ZIS="NP0"
 S %ZIS("A")="Enter the Default Printer for Printing Receipts: "
 I RCTYPE=2 S %ZIS("A")="Enter the Default Printer for Printing the 215 Report: "
 S %ZIS("B")=""
 I RCTYPE=1,$$OPTCK("RECEIPT",3)'="" S %ZIS("B")=$$OPTCK("RECEIPT",3)
 I RCTYPE=2,$$OPTCK("215REPORT",3)'="" S %ZIS("B")=$$OPTCK("215REPORT",3)
 D ^%ZIS
 I IO=IO(0) W !,"You cannot select your current device as a default printer." Q ""
 S RCION=ION
 ;
 ; close device
 D ^%ZISC
 Q RCION
 ;
SHEOB ; Show EEOB detail if switch on - moved from RCDPRPLM
 ; Input:  RCLINE - Current line count
 ; Output: RCLINE - Updated line countt
 I $$OPTCK("SHOWEOB",2) D
 . N Z S Z=$O(^RCY(344.4,"ARCT",RCRECTDA,0)) Q:'Z
 . S RCLINE=RCLINE+1
 . D SET^RCDPRPLM(" ",RCLINE,1,80)
 . S RCLINE=RCLINE+1
 . D SET^RCDPRPLM("EEOB Detail:",RCLINE,1,80,0,IOUON,IOUOFF)
 . K ^TMP($J,"RCDISP")
 . D DISP^RCDPEDS(Z)  ; build ^TMP($J,"RCDISP")
 . S Z=0 F  S Z=$O(^TMP($J,"RCDISP",Z)) Q:'Z  D
 ..  S RCLINE=RCLINE+1
 ..  D SET^RCDPRPLM(^TMP($J,"RCDISP",Z),RCLINE,1,80)
 . K ^TMP($J,"RCDISP")
 Q
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRCDPRPL2   8536     printed  Sep 23, 2025@19:22:24                                                                                                                                                                                                    Page 2
RCDPRPL2  ;WISC/RFJ-receipt profile List Manager options ;1 Nov 2018 13:02:23
 +1       ;;4.5;Accounts Receivable;**114,148,173,217,332**;Mar 20, 1995;Build 40
 +2       ;Per VA Directive 6402, this routine should not be modified.
 +3        QUIT 
 +4       ;
 +5       ; This routine contains entry points for customization and printing
 +6       ;
ACCTPROF  ;EP from protocol RCDP RECEIPT PROFILE ACCOUNT PROFILE
 +1       ; Account Profile action
 +2        DO FULL^VALM1
 +3        SET VALMBCK="R"
 +4       ;
 +5        NEW ACCT,RCDEBTDA,RCTRANDA
 +6       ; Select payment transaction
           SET RCTRANDA=$$SELPAY^RCDPRPL1(RCRECTDA)
 +7       ; Find debtor (file 340) entry
           IF RCTRANDA>0
               Begin DoDot:1
 +8                SET RCDEBTDA=0
 +9       ; (#.03) ACCOUNT [3V]
                   SET ACCT=$PIECE(^RCY(344,RCRECTDA,1,RCTRANDA,0),U,3)
 +10               IF ACCT["DPT("
                       SET RCDEBTDA=$ORDER(^RCD(340,"B",ACCT,0))
 +11               IF ACCT["PRCA(430,"
                       SET RCDEBTDA=$PIECE($GET(^PRCA(430,+ACCT,0)),U,9)
 +12               IF 'RCDEBTDA
                       SET VALMSG="Account NOT found for payment transaction."
               End DoDot:1
 +13      ;
 +14      ; Payment not selected ask to select an account
 +15       IF '$DATA(RCDEBTDA)
               SET RCDEBTDA=$$SELACCT^RCDPAPLM
 +16      ;
 +17       if $GET(RCDEBTDA)'>0
               QUIT 
 +18       DO EN^VALM("RCDP ACCOUNT PROFILE")
 +19       SET VALMBCK="R"
 +20      ; Fast exit
           IF $GET(RCDPFXIT)
               SET VALMBCK="Q"
 +21       QUIT 
 +22      ;
PRINRECT  ;EP from protocol action RCDP RECEIPT PROFILE PRINT RECEIPT
 +1       ; Print a receipt
 +2        DO FULL^VALM1
 +3        SET VALMBCK="R"
 +4        NEW RCTRANDA
 +5       ;
 +6       ; Select the payment transaction
 +7        SET RCTRANDA=$$SELPAY^RCDPRPL1(RCRECTDA)
 +8        if RCTRANDA<1
               QUIT 
 +9       ;
 +10      ; Check if transaction has a payment amount
 +11       IF '$PIECE($GET(^RCY(344,RCRECTDA,1,RCTRANDA,0)),U,4)
               Begin DoDot:1
 +12               SET VALMSG="NO Payment Amount on Transaction."
               End DoDot:1
               QUIT 
 +13      ;
 +14       SET VALMSG=$$DEVICE^RCDPRECT
 +15       IF VALMSG=0
               SET VALMSG="Receipt NOT printed"
 +16       QUIT 
 +17      ;
PRINT215  ;EP from protocol action RCDP RECEIPT PROFILE 215 REPORT
 +1       ; Print 215 report
 +2       ; Input:   RCRECTDA    - IEN of the selected receipt (#344)
 +3        NEW %ZIS,POP,RECEIPDA,RCTYPE
 +4        DO FULL^VALM1
 +5        SET VALMBCK="R"
           SET RECEIPDA=RCRECTDA
 +6        SET RCTYPE=$$GETTYPE^RCDPR215
 +7        IF RCTYPE=""
               QUIT 
 +8       ;
 +9       ; Select device
 +10       WRITE !
 +11       SET %ZIS="Q"
 +12       DO ^%ZIS
 +13       if POP
               QUIT 
 +14       IF $DATA(IO("Q"))
               Begin DoDot:1
 +15               SET ZTDESC="Print 215 Report"
                   SET ZTRTN="DQ^RCDPR215"
 +16               SET ZTSAVE("RECEIPDA")=""
                   SET ZTSAVE("RCTYPE")=""
                   SET ZTSAVE("ZTREQ")="@"
               End DoDot:1
               DO ^%ZTLOAD
               KILL IO("Q"),ZTSK
               DO ^%ZISC
               QUIT 
 +17       WRITE !!,"<*> please wait <*>"
 +18       DO DQ^RCDPR215
 +19       QUIT 
 +20      ;
CUSTOMIZ  ;EP from protocol RCDP RECEIPT PROFILE CUSTOMIZE
 +1       ; Option to customize display and printing of the receipt
 +2       ; Input:   None
 +3       ; Output:  Receipt Profile display and printing options customized
 +4        NEW OPT,QUES
 +5        DO FULL^VALM1
 +6        SET VALMBCK="R"
 +7       ;
 +8        WRITE !!,"This option will allow the user to customize the screen and options"
 +9        WRITE !,"used for receipt processing."
 +10      ;
 +11      ; Ask to show check/credit card data
 +12       SET OPT="SHOWCHECK"
 +13       SET QUES="  Do you want to show trace #, check and credit card information"
 +14       if $$ASKCUST(OPT,QUES)=-1
               QUIT 
 +15      ;
 +16      ; Ask to show acct lookup, batch and sequence number
 +17       SET OPT="SHOWACCT"
 +18       SET QUES="  Do you want to show acct. lookup, batch and sequence information"
 +19       IF $$ASKCUST(OPT,QUES)=-1
               DO INIT^RCDPRPLM
               QUIT 
 +20      ;
 +21      ; Ask to show comments
 +22       SET OPT="SHOWCOMMENTS"
           SET QUES="  Do you want to show comments"
 +23       IF $$ASKCUST(OPT,QUES)=-1
               DO INIT^RCDPRPLM
               QUIT 
 +24      ;
 +25      ; Ask to show FMS cr documents
 +26       SET OPT="SHOWFMS"
 +27       SET QUES="  Do you want to show the FMS cash receipt documents"
 +28       IF $$ASKCUST(OPT,QUES)=-1
               DO INIT^RCDPRPLM
               QUIT 
 +29      ;
 +30      ; Ask to show EOB detail information
 +31       SET OPT="SHOWEOB"
 +32       SET QUES="  Do you want to show electronic EEOB detail data"
 +33       IF $$ASKCUST(OPT,QUES)=-1
               DO INIT^RCDPRPLM
               QUIT 
 +34      ;
 +35      ; Make sure form is rebuilt based on the answers above
 +36       DO INIT^RCDPRPLM
 +37      ;
 +38       WRITE !!,"The next prompts will allow the user to individually set up the way receipts"
 +39       WRITE !,"should be printed when entering payment transactions.  The user can set"
 +40       WRITE !,"the software up to automatically print a receipt to a device, never print"
 +41       WRITE !,"the receipt, or ask to print the receipt.  The user can also specify the"
 +42       WRITE !,"printer used for printing receipts, preventing from having to re-enter it."
 +43       NEW DEVICE,TYPE
 +44      ;
 +45      ; For printing receipts
 +46       Begin DoDot:1
 +47           WRITE !
 +48           SET TYPE=$$ASKRECT
               if TYPE<0
                   QUIT 
 +49      ; Never print receipt
 +50           IF TYPE=0
                   DO RCSET("RECEIPT",0)
                   QUIT 
 +51      ; Ask default printer device
 +52           SET DEVICE=$$ASKDEVIC(1)
 +53      ; No default printer, always print receipt
 +54           IF DEVICE=""
                   IF TYPE=1
                       Begin DoDot:2
 +55                       WRITE !,"Since you did not enter a default printer for printing receipts,"
 +56                       WRITE !,"I will change it so the software will ask you to print the receipt"
 +57                       WRITE !,"when entering a payment transaction."
 +58                       DO RCSET("RECEIPT",2)
                       End DoDot:2
                       QUIT 
 +59      ; Set default printer for receipts
 +60           DO RCSET("RECEIPT",TYPE_U_DEVICE)
           End DoDot:1
           if TYPE<0
               QUIT 
 +61      ;
 +62      ; For printing 215 report
 +63       WRITE !!!,"You now have the option of setting up the default printer for automatically"
 +64       WRITE !,"printing the 215 report when a receipt is processed.",!
 +65      ; Ask default printer device
 +66       SET DEVICE=$$ASKDEVIC(2)
 +67       DO RCSET("215REPORT",U_DEVICE)
 +68       QUIT 
 +69      ;
RCSET(RCSNPT,RCSLDV) ; File the selected parameter & device as the user's preference
 +1       ; RCSNPT  - Name of the user's preference parameter to file
 +2       ; RCSLDV  - User's preference^Name of the device selected by the user
 +3        NEW DA,DIC,DIE,DR,X,Y
 +4       ;
 +5       ; If this is a new parameter, file it
 +6        IF '$DATA(^RC(342.3,"B",RCSNPT))
               Begin DoDot:1
 +7                KILL DD,DO,DIC("DR")
 +8                SET DIC="^RC(342.3,"
                   SET DIC(0)=""
                   SET X=RCSNPT
 +9                DO FILE^DICN
               End DoDot:1
 +10      ;
 +11      ; File user's preference for the parameter if they don't have one currently defined
 +12       SET DA(1)=$ORDER(^RC(342.3,"B",RCSNPT,0))
 +13       IF '$DATA(^RC(342.3,DA(1),1,"B",DUZ))
               Begin DoDot:1
 +14               SET DIC(0)=""
                   SET DIC("P")=$PIECE(^DD(342.3,1,0),U,2)
                   SET DIC="^RC(342.3,"_DA(1)_",1,"
                   SET X=DUZ
 +15               SET DIC("DR")="1////"_$PIECE(RCSLDV,U,1)_";2////"_$PIECE(RCSLDV,U,2)
 +16               KILL DD,DO
 +17               DO FILE^DICN
               End DoDot:1
               QUIT 
 +18      ;
 +19      ; Edit the user's preference for the parameter
 +20       SET DA=$ORDER(^RC(342.3,DA(1),1,"B",DUZ,0))
 +21       SET DR=".01////"_DUZ_";1////"_$PIECE(RCSLDV,U)_";2////"_$PIECE(RCSLDV,U,2)
 +22       SET DIE="^RC(342.3,"_DA(1)_",1,"
 +23       DO ^DIE
 +24       QUIT 
 +25      ;
OPTCK(RCSNPT,RCSLDV) ; function, return user's preference for AR USER CUSTOMIZE parameter (if defined)
 +1       ; Input:   RCSNPT  - Name of the AR USER CUSTOMIZE (#342.3) parameter to check
 +2       ;          RCLSDV  - Piece to be retrieved off of the 342.3 record
 +3       ; Returns: user's preference for RCSNPT or null if no preference in file
 +4        NEW RCDA
 +5       ;
 +6       ; find user preference IEN for the specified entry (if any)
 +7        SET RCDA=$ORDER(^RC(342.3,+$ORDER(^RC(342.3,"B",RCSNPT,0)),1,"B",DUZ,0))
 +8       ;
 +9       ; If the user has a preference retrieve it
 +10       IF RCDA
               SET RCDA=$PIECE($GET(^RC(342.3,+$ORDER(^RC(342.3,"B",RCSNPT,0)),1,RCDA,0)),U,RCSLDV)
 +11       QUIT RCDA
 +12      ;
ASKCUST(OPT,QUES) ; Ask one of the customize questions from the CUSTOMIZ action
 +1       ; Input:   OPT - Name of customize option to set
 +2       ;          QUES - Question for the user
 +3       ; Returns: 1 if answer 'YES', 0 if answer 'NO', -1 if timed out or '^'
 +4        NEW DIR,DTOUT,DUOUT,X,Y
 +5        SET DIR(0)="YO"
 +6        SET DIR("B")="NO"
 +7        if $$OPTCK(OPT,2)
               SET DIR("B")="YES"
 +8        SET DIR("A")=QUES
 +9        WRITE !
 +10       DO ^DIR
 +11       IF $GET(DTOUT)!($GET(DUOUT))
               SET Y=-1
 +12      ; PRCA*4.5*332, fixed OPT parameter
           IF Y'=-1
               DO RCSET(OPT,Y)
 +13       QUIT Y
 +14      ;
ASKRECT() ; function, ask user when they want to print the receipt
 +1       ; Returns: 0 (never), 1 (always), 2 (ask), -1 (timed out or '^')
 +2        NEW DEFAULT,DIR,DTOUT,DUOUT,X,Y
 +3        SET DEFAULT="ALWAYS"
 +4        IF $$OPTCK("RECEIPT",2)'=""!($$OPTCK("RECEIPT",3)'="")
               Begin DoDot:1
 +5                SET DEFAULT=$$OPTCK("RECEIPT",2)
                   SET DEFAULT=$SELECT(DEFAULT=0:"NEVER",DEFAULT=1:"ALWAYS",1:"MAYBE")
               End DoDot:1
 +6        SET DIR(0)="SO^0:Never Print the Receipt;1:Always Print the Receipt;2:Maybe, Ask to Print the Receipt"
 +7        SET DIR("A")="Print Receipt"
 +8        SET DIR("B")=DEFAULT
 +9        DO ^DIR
 +10       IF $GET(DTOUT)!($GET(DUOUT))
               SET Y=-1
 +11       QUIT Y
 +12      ;
ASKDEVIC(RCTYPE) ; Ask for the default printer for receipts and for 215 report
 +1       ; Input:   RCTYPE - 1 for receipts, 2 for 215 report
 +2       ; Returns: Name of selected device or ""
 +3        NEW RCION
 +4        SET %ZIS="NP0"
 +5        SET %ZIS("A")="Enter the Default Printer for Printing Receipts: "
 +6        IF RCTYPE=2
               SET %ZIS("A")="Enter the Default Printer for Printing the 215 Report: "
 +7        SET %ZIS("B")=""
 +8        IF RCTYPE=1
               IF $$OPTCK("RECEIPT",3)'=""
                   SET %ZIS("B")=$$OPTCK("RECEIPT",3)
 +9        IF RCTYPE=2
               IF $$OPTCK("215REPORT",3)'=""
                   SET %ZIS("B")=$$OPTCK("215REPORT",3)
 +10       DO ^%ZIS
 +11       IF IO=IO(0)
               WRITE !,"You cannot select your current device as a default printer."
               QUIT ""
 +12       SET RCION=ION
 +13      ;
 +14      ; close device
 +15       DO ^%ZISC
 +16       QUIT RCION
 +17      ;
SHEOB     ; Show EEOB detail if switch on - moved from RCDPRPLM
 +1       ; Input:  RCLINE - Current line count
 +2       ; Output: RCLINE - Updated line countt
 +3        IF $$OPTCK("SHOWEOB",2)
               Begin DoDot:1
 +4                NEW Z
                   SET Z=$ORDER(^RCY(344.4,"ARCT",RCRECTDA,0))
                   if 'Z
                       QUIT 
 +5                SET RCLINE=RCLINE+1
 +6                DO SET^RCDPRPLM(" ",RCLINE,1,80)
 +7                SET RCLINE=RCLINE+1
 +8                DO SET^RCDPRPLM("EEOB Detail:",RCLINE,1,80,0,IOUON,IOUOFF)
 +9                KILL ^TMP($JOB,"RCDISP")
 +10      ; build ^TMP($J,"RCDISP")
                   DO DISP^RCDPEDS(Z)
 +11               SET Z=0
                   FOR 
                       SET Z=$ORDER(^TMP($JOB,"RCDISP",Z))
                       if 'Z
                           QUIT 
                       Begin DoDot:2
 +12                       SET RCLINE=RCLINE+1
 +13                       DO SET^RCDPRPLM(^TMP($JOB,"RCDISP",Z),RCLINE,1,80)
                       End DoDot:2
 +14               KILL ^TMP($JOB,"RCDISP")
               End DoDot:1
 +15       QUIT 
 +16      ;