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

BARPPY01.m

Go to the documentation of this file.
  1. BARPPY01 ; IHS/SD/TMM - PREPAYMENT ENTRY MAY 11,2010 ; 05/11/2010
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**19**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/TMM 06/18/10 1.8*19 Add Prepayment functionality.
  1. ; See work order 3PMS10001
  1. ; ------------------------
  1. ; 1. Display prepayments not assigned to a batch (^BARCLU)
  1. ; 2. Remove prompt: AUTO PRINT RECEIPT (^BARCLU01)
  1. ; 3. Prepayment entry ^BARPPY01 (new routine),^BARCLU1,^BARPUTL
  1. ; 4. Display prepayments matching payment type selected (^BARCLU)
  1. ; 5. Allow user to assign prepayment to batch (^BARCLU,^BARCLU01,^BARPUTL,^BARPST1,^BARBLLK)
  1. ; 6. Print Prepayment Receipt (^BARPPY02) (new routine)
  1. ; 7. Allow user to look up registered patient with no bills in system
  1. ; *********************************************************************
  1. ;
  1. ; BARDONE - All data has been collected, ready to review and file/modify
  1. ; BARSTOP - Exit processing
  1. ;
  1. Q
  1. ;
  1. EN ;EP - Prepayment Collections
  1. S BARESIG=""
  1. D SIG^XUSESIG ;electronic signature test
  1. Q:X1="" ;elec signature test
  1. S BARESIG=1
  1. F I=1:1 D EN1 Q:($D(DUOUT)!$D(DTOUT)!$D(DIROUT))!$G(BARSTOP)
  1. XIT ;
  1. D CLEAN
  1. Q
  1. ;
  1. EN1 ; Loop
  1. D GETDATA
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DUOUT)!$D(DTOUT) Q
  1. I 'BARDONE G EN1
  1. D RECAP^BARPPY1A
  1. I $G(BARQUIT)=1 Q ;user opted to quit, not file receipt ;
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT)!$D(DIRUT) Q
  1. I BARFILE="Q" G EN1
  1. D FILE^BARPPY1A
  1. D RECEIPT^BARPPY02(BARPPIEN) ;prompt to print receipt
  1. Q
  1. ;
  1. GETDATA ; Get Pre-payment data
  1. ; Select Department (Clinic Stop)
  1. Q:$G(BARSTOP)
  1. D INIT
  1. D SELDEPT
  1. Q:BARSTOP
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. I $G(BARDEPTI)="" S BARSTOP=1 Q
  1. SELPMT ; Select Payment Type
  1. D SELPMT1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G GETDATA
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. ; Get additional payment data for selected payment type
  1. S BARDAT=0 ;identifies if required data for this payment type was collected 0/1
  1. S BARTAG=$P(Y(0)," ",1)
  1. PMTDATA ;
  1. Q:BARSTOP
  1. I '$G(BARAMTUP) D @BARTAG ;get additional data for the selected payment type
  1. I $G(BARAMTUP) D
  1. . K BARAMTUP
  1. . S BARTAG1=$S(BARTAG="CHECK":"CHECKNM","^CREDIT^DEBIT^"[BARTAG:"CARDNM",1:"CASH")
  1. . D @BARTAG1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G SELPMT
  1. I $G(BARUPDT),$D(DUOUT) G SELPMT
  1. I $D(DTOUT) Q
  1. I '$G(BARUPDT),'BARDAT G SELPMT
  1. I $G(BARUPDT) Q ;edit payment data only for updates
  1. ;
  1. AMOUNT ; Enter Credit amount
  1. K BARAMTUP
  1. D AMOUNT1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) S BARAMTUP=1 G PMTDATA
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. ARBILL ; Get A/R Bill, Patient, A/R Bill DOS
  1. D ARBILL1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G AMOUNT
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. PAYDOS ; Get DOS for this payment
  1. D PAYDOS1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G ARBILL
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. ; Select patient if not selected during A/R Bill entry
  1. GETPAT ;
  1. D GETPAT1
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G PAYDOS
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. ; Enter comments
  1. D CMTS
  1. Q:BARSTOP
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G PAYDOS
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. ; Data entry complete
  1. S BARDONE=1
  1. Q
  1. ;
  1. SELDEPT ;
  1. K DIC,DR,DA,X,Y
  1. S DIC="^DIC(40.7,"
  1. W !
  1. S DIC(0)="AEZQM"
  1. S DIC("A")="Enter your Department: "
  1. S BARTMP=$G(BARDEPTE)
  1. I BARTMP'="" S DIR("B")=BARTMP
  1. K DD,DO
  1. D ^DIC
  1. I X="^^" S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. ;I 'Y G SELDEPT
  1. I Y'>0 S (BARDEPTI,BARDEPTE)="" Q
  1. S BARDEPTI=$P(Y,U) ;CLINIC STOP IEN
  1. S BARDEPTE=$P(Y,U,2) ;CLINIC STOP NAME
  1. K DIC
  1. Q
  1. ; *********************************************************************
  1. SELPMT1 ; Select Payment Type
  1. Q:BARSTOP
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="SA^CA:CASH;CK:CHECK;CC:CREDIT CARD;DB:DEBIT CARD"
  1. S DIR("A")="PAYMENT TYPE: "
  1. S BARTMP=$$PAYTYPE^BARPPY1A($G(BARPMTYP))
  1. I BARTMP'="" S DIR("B")=BARTMP
  1. K DA
  1. D ^DIR
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. S BARPMTYP=Y
  1. Q
  1. ;
  1. CASH ; Collect additional data related to CASH payment
  1. ; Account name/account number not needed for cash payments
  1. Q:BARSTOP
  1. S BARDAT=1
  1. ; Reset 'payment type' fields in case payment type was modified from other to 'cash'
  1. I BARPMTYP="CA" S (BARCK,BARCNAME,BARCTYPE,BARCTYPN)=""
  1. Q
  1. ;
  1. CHECK ; data related to CHECK payment
  1. Q:BARSTOP
  1. ; Get check number
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="FA"
  1. S DIR("A")="CHECK NUMBER: "
  1. S BARTMP=$G(BARCK)
  1. I BARTMP'="" S DIR("B")=BARTMP
  1. S DIR("?")="Enter the check number, (i.e. number in the top right corner of the check)"
  1. D ^DIR
  1. I X="" D G CHECK
  1. . W !,?5,"Check Number is required",!!
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DUOUT)!$D(DTOUT) Q
  1. S BARCK=X
  1. CHECKNM ;Checking account name
  1. Q:BARSTOP
  1. ;prompt for name on checking account or name of person making the payment
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="FA"
  1. S DIR("A")="NAME ON CHECKING ACCOUNT: "
  1. S DIR("?")="Enter the name for this checking account, i.e. JOHN DOE"
  1. D ^DIR
  1. I X="" D G CHECKNM
  1. . W !,?5,"Checking Account Name is required",!!
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I '$G(BARUPDT),$D(DUOUT) G CHECK
  1. I $G(BARUPDT),$D(DUOUT) Q
  1. I $D(DTOUT) Q
  1. S BARCNAME=X
  1. S BARDAT=1 ;required data collected
  1. ; Reset 'payment type' fields in case payment type was modified from other to 'check'
  1. I BARPMTYP="CK" S (BARCTYPE,BARCTYPN)=""
  1. Q
  1. ;
  1. DEBIT ;data related to DEBIT CARD payment
  1. CREDIT ;data related to CREDIT CARD payment
  1. Q:BARSTOP
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="SA^A:AMERICAN EXPRESS;C:DINERS CLUB;D:DISCOVER;M:MASTERCARD;V:VISA"
  1. S DIR("A")="CARD TYPE: "
  1. S BARTMP=$$CARDTYPE^BARPPY1A($G(BARCTYPE))
  1. I BARTMP'="" S DIR("B")=BARTMP
  1. S DIR("?")="Enter type of credit card, i.e. Visa, Mastercard, etc...)"
  1. K DA
  1. D ^DIR
  1. I X="" D G CREDIT
  1. . W !,?5,"Card type is required",!!
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. S BARCTYPE=Y ;card type code (i.e. "M")
  1. S BARCTYPN=Y(0) ;card type name (i.e. "MASTERCARD")
  1. CARDNM ;prompt for name on credit card
  1. Q:BARSTOP
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="FA"
  1. S DIR("A")="NAME ON CARD: "
  1. S DIR("?")="Enter the card holder name shown on the card, i.e. JOHN X DOE"
  1. D ^DIR
  1. I X="" D G CARDNM
  1. . W !,?5,"Card holder name is required",!!
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DUOUT) G CREDIT
  1. I $D(DTOUT) Q
  1. S BARCNAME=X
  1. S BARDAT=1 ;required data collected
  1. ; Reset 'payment type' field in case payment type was modified from other to CR/DB
  1. I "^CC^DB^"[BARPMTYP S BARCK=""
  1. Q
  1. ;
  1. AMOUNT1 ;prompt for payment
  1. Q:BARSTOP
  1. S BARAMT=$G(BARAMT)
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S DIR(0)="NA^.01:999999.99:2"
  1. S DIR("A")="CREDIT: "
  1. K DA
  1. D ^DIR
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. S BARAMT=X
  1. Q
  1. ;
  1. ARBILL1 ; Prompt for A/R bill #, Patient Name, Bill DOS
  1. Q:BARSTOP
  1. K BARFPASS
  1. S BARNEWPT=0
  1. W !
  1. ; IHS/SD/PKD 1/6/11
  1. K BARBL,BARBLIEN,BARDOSB,BARDOSE,BAREND,BARSTART
  1. K BARFPASS,BARPASS
  1. K BARPAT,BARTMPB,BARTMPE,BARZ ; omit K BARPDOS
  1. S BARBIL=0,BARBLIEN="" ;No bill selected yet
  1. F D Q:('+BARBIL)!(BARSTOP)!$D(DUOUT)!$D(DTOUT)!$G(BARNEWPT)=1 ;Ask A/R bills loop
  1. . I $G(BARNEWPT)=1 S BARFPASS=BARZ Q
  1. . K BARPAT,BARZ
  1. . S BARBIL=1 ; Bill Entry Loop Flag
  1. . S BARFPASS=$$GETBIL ; Get bills by bill, patient, or DOS
  1. . Q:BARSTOP!$D(DTOUT)
  1. . I (BARFPASS=0)!($P(BARFPASS,U,4)=""),+$G(BARPAT)>0 K BARPAT
  1. . I BARFPASS=0 S BARBIL=0 Q ; No bill selected
  1. . I $G(BARNEWPT)=1 Q ;Registered patient with no A/R Bills
  1. . S BARPASS=$P(BARFPASS,U,1,3) ; needed for FINDBIL^BARFPST3
  1. . ; If no A/R Bill IEN
  1. . I '+$P(BARFPASS,U,4) D FINDBIL^BARFPST3 Q:'BARCNT Q:'+BARASK
  1. . I $D(DIROUT) S BARSTOP=1 Q
  1. . Q:$D(DTOUT)
  1. . ; Update BARFPASS with A/R Bill DOS info from FINDBIL call
  1. . I BARFPASS'=0 D
  1. .. S BARBLIEN=$P(BARFPASS,U,4) ; A/R BILL IEN
  1. .. S BARTMPB=$$GET1^DIQ(90050.01,BARBLIEN_",",102,"I") ;DOS begin
  1. .. S BARTMPE=$$GET1^DIQ(90050.01,BARBLIEN_",",103,"I") ;DOS end
  1. .. S $P(BARFPASS,U,2)=BARTMPB
  1. .. S $P(BARFPASS,U,3)=BARTMPE
  1. .. ; try this IHS/SD/PKD 1/6/11
  1. .. S (BARPDOS,BARDOSB)=BARTMPB ;DOS defaults to BILL DOS
  1. .. S BARBIL=0
  1. S BARDOSB=$P(BARFPASS,U,2) ; DOS begin
  1. S BARDOSE=$P(BARFPASS,U,3) ; DOS end
  1. S BARBLIEN=$P(BARFPASS,U,4) ; A/R BILL IEN
  1. I BARBLIEN'="" S (BARPAT,BARPTI1)=+($P(BARFPASS,U,1)) ; Patient IEN override any previous if bill change
  1. I +$G(BARPAT)=0 S (BARPAT,BARPTI1,BARPTNM1)="" ;if Bill Entered, keep Patient in sync IHS/SD/PKD 1/6/11
  1. I +$G(BARPAT)>0 D Q ;Patient (BARPAT) selected in ARBILL1
  1. . ; Set patient IEN and NAME to what was selected when selecting A/R Bill data
  1. . S BARPTI1=BARPAT
  1. . S BARPTNM1=$$GET1^DIQ(9000001,BARPTI1,.01) ; Patient Name
  1. Q
  1. ;
  1. PAYDOS1 ; Enter DOS for the Payment
  1. Q:BARSTOP
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. ; If BILL DOS captured set that as the default for this entry
  1. S DIR(0)="DA^::E"
  1. S DIR("A")="PAYMENT FOR DOS: "
  1. I $G(BARPDOS)="" S BARPDOS=$G(BARDOSB)
  1. S Y=BARPDOS
  1. D D^DIQ ;converts internal FM date to external, returns external dt Y
  1. S BARTMP=Y
  1. I BARTMP'="" S DIR("B")=BARTMP
  1. D ^DIR
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. I Y="" G PAYDOS1
  1. S BARPDOS=Y
  1. Q
  1. ;
  1. GETPAT1 ; Select Patient if not selected in ARBILL1
  1. Q:BARSTOP
  1. W !
  1. I 'BARUPDT,+$G(BARPAT)>0 D Q ;Patient (BARPAT) selected in ARBILL1
  1. . ; Set patient IEN and NAME to what was selected when selecting A/R Bill data
  1. . S BARPTI1=BARPAT
  1. . S BARPTNM1=$$GET1^DIQ(9000001,BARPTI1,.01) ; Patient Name
  1. K DIC,BARZ
  1. S BARTMP=$S($D(BARPTI1):BARPTI1,+$G(BARPAT)>0:BARPAT,1:"")
  1. I BARTMP S DIC("B")=$$GET1^DIQ(9000001,BARTMP,.01)
  1. S DIC="^AUPNPAT("
  1. S DIC(0)="IAEMZ"
  1. S DIC("A")="Select Patient: "
  1. D ^DIC
  1. K DIC
  1. S BARPTI1=X
  1. I X="" D G GETPAT1
  1. . W !,?5,"Patient Name is required",!!
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. Q:+Y<0
  1. S BARPTI1=+Y ;patient IEN (select patient prompt)
  1. S BARPAT1(0)=Y(0) ;patient name (select patient prompt)
  1. S BARPTNM1=$P($G(^DPT(+BARPTI1,0)),"^",1) ;patient name (select patient prompt)
  1. I '$D(^BARBL(DUZ(2),"ABC",+Y)) D
  1. . K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. . S DIR(0)="SO^Y:YES Continue;N:NO Select a different patient"
  1. . S DIR("A")="This is a registered patient with no bills. Continue Y/N: "
  1. . ;S DIR("B")="N"
  1. . K DA
  1. . D ^DIR
  1. . I $D(DIROUT) S BARSTOP=1 Q
  1. . I $D(DTOUT)!$D(DUOUT) Q
  1. . I "Nn"[Y D G GETPAT1
  1. .. K BARPTI1,BARPAT1(0),BARPTNM1
  1. . S BARNEWPT=2 ;Registered patient only, no bills (2nd Select Patient Prompt)
  1. Q
  1. ;
  1. CMTS ; Enter Pre-payment Comments
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. S BARCMTS=$G(BARCMTS)
  1. S DIR(0)="FAOU^:255"
  1. S DIR("A")="COMMENTS: "
  1. D ^DIR
  1. I $D(DIROUT) S BARSTOP=1 Q
  1. I $D(DTOUT)!$D(DUOUT) Q
  1. S BARCMTS=X
  1. Q
  1. ;***********
  1. ; COPIED FROM GETBIL^BARFPST3
  1. ; modified to allow user to "^" back to prior prompt or "^^" to
  1. ; exit completely
  1. ;
  1. GETBIL() ; EP
  1. GB1 ; Return point when user enters "^" in ASKPAT tag
  1. ; EP - Flat Rate Posting - Bill Entry
  1. ; If Editing, ask Flat Rate Posting Bill
  1. ; Kill identifying Vars if chg'g BILL
  1. ; IHS/SD/PKD 1/5/11
  1. ;K BARBLIEN,BARPDOS,BARDOSB,BARDOSE,BAREND,BARPASS,BARPATI
  1. ;K BARBLIEN,BARDOSB,BARDOSE,BAREND,BARPASS,BARPATI
  1. ;K BARPAT
  1. ;K BARPTI1,BARPTNM1,BARSTART,BARTMPB,BARTMPE,BARPPDOS,BARZ
  1. ;K AUPNDAYS,AUPNDOB,AUPNDOD,AUPNPAT,AUPNSEX
  1. I $G(BARRECPQ)="E" D SELFRBIL^BARFPST3 I $G(BARZ) Q BARZ ; Flat Rate bill select
  1. D SELBILL^BARPUTL ; Ask A/R BILL
  1. I X="^^" S BARSTOP=1 Q 0
  1. I $D(DTOUT)!$D(DUOUT)!$D(DIROUT)!$G(BARSTOP) Q 0
  1. I $G(BARZ) D Q BARZ
  1. . S BARBL=+Y ; IEN to A/R IHS BILL File
  1. . S $P(BARZ,U,4)=BARBL
  1. ;
  1. ASKPAT ; EP
  1. W !
  1. S DICB=$S($D(BARPAT):BARPAT,1:"")
  1. D ASKPATB^BARPUTL(DICB) ; If bill not answered, ask patient
  1. I X="^^" S BARSTOP=1 Q 0
  1. I BARSTOP Q 0
  1. I $D(DUOUT) G GB1
  1. I $D(DTOUT) Q 0
  1. I $G(BARZ) Q BARZ
  1. D GETBIL^BARPUTL ; If patient not answered, ask DOS
  1. I X="^^" S BARSTOP=1 Q 0
  1. I BARSTOP Q 0
  1. I $D(DUOUT) G ASKPAT
  1. I $D(DTOUT) Q 0
  1. I $G(BARZ) Q BARZ
  1. Q 0 ; No bills entered
  1. ;
  1. RESETDIR ; Clear variables for DIR no longer used
  1. K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. Q
  1. ;
  1. ASKPATB ;EP - select patient
  1. ; Same functionality as ASKPAT^BARPUTL but and allows user select a patient
  1. ; with A/R Bills and passes default value for DIC("B"))
  1. K DIC,BARZ,BARPAT
  1. S BARNEWPT=0
  1. S DIC("B")=$G(DICB)
  1. S DIC="^AUPNPAT("
  1. S DIC(0)="IAEMQZ"
  1. D ^DIC
  1. K DIC
  1. Q:+Y<0
  1. S BARPAT=+Y
  1. S BARPAT(0)=Y(0)
  1. S BARPAT(0)=$P($G(^DPT(+BARPAT,0)),"^",1)
  1. I '$D(^BARBL(DUZ(2),"ABC",+Y)) D
  1. . K DIR,DTOUT,DUOUT,DIROUT,DIRUT W !
  1. . S DIR(0)="SO^Y:YES Continue this patient without an A/R Bill;N:NO Do not continue this patient, select a different one"
  1. . S DIR("A")="The selected patient does not have an A/R Bill. Continue Y/N: "
  1. . ;S DIR("B")="N"
  1. . K DA
  1. . D ^DIR
  1. . I $D(DIROUT) S BARSTOP=1 Q
  1. . I $D(DTOUT)!$D(DUOUT) Q
  1. . I "Nn"[Y D G ASKPATB
  1. .. K BARPAT,BARPAT(0)
  1. . S BARNEWPT=1
  1. I BARNEWPT=0 D GETDOS^BARPUTL
  1. I BARNEWPT=0,'$G(BAROK) K BARPAT,BARPAT(0) Q
  1. S BARZ=BARPAT_"^"_$G(BARSTART)_"^"_$G(BAREND)
  1. Q
  1. ;
  1. INIT ;
  1. D CLEARVAR
  1. S (BARDONE,BARSTOP,BARUPDT,HINBLON,HINPTON)=0
  1. S BARNOTE="**"
  1. S BARNOTE1="** Indicates Bill DOS does not match payment date for service."
  1. S BARNOTE2="Patient in Item 6 must match patient in item 5 when A/R Bill is selected"
  1. Q
  1. ;
  1. CLEARVAR ; kill variables
  1. K BARAMT,BARAMTUP,BARASK
  1. K BARBIL,BARBL,BARBLIEN
  1. K BARCK,BARCMT,BARCMTS,BARCNAME,BARCNT,BARCPT,BARCTYPE,BARCTYPN
  1. K BARDAT,BARDEPTE,BARDEPTI,BARDOSB,BARDOSE
  1. K BAREND,BARESIG
  1. K BARFILE,BARFPASS
  1. K BARIENS,BARITEM
  1. K BARLIST,BARLNG,BARNEWPT,BAROK
  1. K BARPAT,BARPATNM,BARPDOS,BARPMTYP,BARPPIEN,BARPTI1,BARPTNM1
  1. K BARQUIT,BARRECPQ,BARSTART,BARSUFX
  1. K BARTAG,BARTAG1,BARTMP,BARTMP1,BARTMPB,BARTMPE,BARTMPF
  1. K BARVAR,BARZERO
  1. K BARZ
  1. K CARD,CARDTYPE
  1. K DIC,DICB,DICB2,DICB3,DIE,DIROUT,DIRUT,DR,DTOUT,DUOUT
  1. K HINBLON,HINPTON
  1. K PAYTYPE,PMTYP
  1. K X,X1,Y
  1. Q
  1. ;
  1. CLEAN ; Clean up
  1. D CLEARVAR
  1. ;stuff not cleared in CLEARVAR
  1. K BARDONE,BARNOTE,BARNOTE1,BARNOTE2,BARSTOP,BARUPDT,HINBLON,HINPTON
  1. K X,X1,Y
  1. Q
  1. ;