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

BARCBTR.m

Go to the documentation of this file.
  1. BARCBTR ; IHS/SD/LSL - COLLECTION BATCH CLOSING TRANSACTIONS DEC 4,1996 ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**23**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/LSL - 12/05/02 - V1.7 - QAA-1200-130051
  1. ; Added quit logic if error in getting new transaction.
  1. ; Also split lines for readability and removed unused code
  1. ; 5-SEP-2012 HEAT# 82979 P.OTTIS BUG FIX
  1. ; *********************************************************************
  1. ;;
  1. EN(BARCBDA) ;EP COLLECTION BATCH DA
  1. N BAR,BARCB,BARIT,BARITS,BARCOL,BARERROR
  1. S BARERROR=0
  1. ; A/R COLLECTION BATCH data elements
  1. D ENP^XBDIQ1(90051.01,BARCBDA,".01;3;8;10;15;18;20","BARCB(","I")
  1. I BARCB(3)'["POST" Q
  1. I BARCB(20)="COMPLETED" Q
  1. S BARCOL=$$GET1^DIQ(90051.01,BARCBDA,.01)
  1. ;** gather all items from subfile
  1. D ENPM^XBDIQ1(90051.1101,"BARCBDA,0",17,"BARITS(") ; item status
  1. ;** walk down all items
  1. S BARITDA=0
  1. F S BARITDA=$O(BARITS(BARITDA)) Q:BARITDA'>0 D ITEM
  1. ; -------------------------------
  1. ;
  1. ;** set transmission status to complete
  1. Q:+BARERROR ; not all transaction got created
  1. K DR,DA,DIE
  1. S DIE=$$DIC^XBDIQ1(90051.01)
  1. S DA=BARCBDA
  1. S DR="20////1"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. ITEM ;** process item
  1. I $E(IOST)="C",IOT["TRM" W "."
  1. I "E"'[$E(BARITS(BARITDA,17)) Q ; do not process non-EOBs
  1. N BART,BARS
  1. ;** get item demographics
  1. D ENP^XBDIQ1(90051.1101,"BARCBDA,BARITDA","4:7;17;101;201;203","BARIT(","I")
  1. ;** set tr basic demographics
  1. K DR,DA,DIE
  1. S DR=";4////^S X=BARIT(6,""I"")"
  1. S DR=DR_";5////^S X=BARIT(5,""I"")"
  1. S DR=DR_";8////^S X=BARCB(8,""I"")"
  1. S DR=DR_";10////^S X=BARCB(10,""I"")"
  1. S DR=DR_";13////^S X=DUZ"
  1. S DR=DR_";14////^S X=BARCBDA"
  1. S DR=DR_";15////^S X=BARITDA"
  1. I BARIT(6) S DR=DR_";16////^S X=$$VALI^XBDIQ1(90050.01,BARIT(6,""I""),4)"
  1. S DR=DR_";205///^S X=BARIT(201)"
  1. S BARDR=DR
  1. ; -------------------------------
  1. ;
  1. CB2ACP ;** cb>acp TR account postable
  1. K DR,DA,DIE
  1. I BARIT(7,"I")="" D Q ;P.OTT
  1. . S BARERROR=1
  1. . S BARTTYPE="COL BAT TO ACC POST"
  1. . D MSG1
  1. . QUIT
  1. S DR="101///115"
  1. S DR=DR_";2///^S X=BARIT(101)"
  1. S DR=DR_";6////^S X=BARIT(7,""I"")"
  1. D TRSET
  1. I BARTR<1 D Q
  1. . S BARERROR=1
  1. . S BARTTYPE="COL BAT TO ACC POST"
  1. . D MSG
  1. . H 2
  1. ;** ac postable amount
  1. S DIE=90050.02
  1. S DA=BARIT(7,"I")
  1. S DR="302///^S X=$$VAL^XBDIQ1(DIE,DA,302)+BARIT(101)"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. D TRFLAG
  1. ; -------------------------------
  1. ; Collection batch to facility account
  1. ;** get subs
  1. D ENPM^XBDIQ1(90051.1101601,"BARCBDA,BARITDA,0",".01;2","BARS(")
  1. ;all facilities in the parent satellite file are to have accounts
  1. S BARSDA=0 F S BARSDA=$O(BARS(BARSDA)) Q:BARSDA'>0 D FACILITY
  1. Q
  1. ; *********************************************************************
  1. ;
  1. FACILITY ;** set tr & account updates
  1. S X="L."_BARS(BARSDA,.01)
  1. S DIC(0)="XLM"
  1. S DIC=90050.02
  1. D ^DIC
  1. I Y'>0 D Q
  1. . W !,*7,BARS(BARSDA,.01)
  1. . W " NOT IN THE ACCOUNT FILE!",!
  1. . H 5
  1. S BARACDA=+Y
  1. K DR,DA,DIE
  1. S DR="101////117"
  1. S DR=DR_";2///^S X=BARS(BARSDA,2)"
  1. S DR=DR_";6////^S X=BARACDA"
  1. S DR=DR_";11////^S X=BARSDA"
  1. D TRSET
  1. I BARTR<1 D Q
  1. . S BARERROR=1
  1. . S BARTTYPE="COL BAT TO FACILITY"
  1. . D MSG
  1. . H 2
  1. ;** update loc account
  1. K DR,DA,DIE
  1. S DA=BARACDA
  1. S DIE=90050.02
  1. S DR="301///^S X=$$VAL^XBDIQ1(DIE,DA,301)+BARS(BARSDA,2)"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. D TRFLAG
  1. Q
  1. ; *********************************************************************
  1. ;------------------ SUB ROUTINES CALLED -------------------
  1. ;
  1. TRSET ;** set transaction into A/R TRANSACTIONS/IHS data file
  1. S DR=DR_BARDR
  1. S (DA,BARTR)=$$NEW^BARTR
  1. Q:BARTR<1
  1. S DIE=90050.03
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. TRFLAG ;** complete tr
  1. K DR,DA,DIE
  1. S DA=BARTR
  1. S DIE=90050.03
  1. S DR="104////1"
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DSPAC(DA) ;** display an account
  1. N BART,I
  1. D ENP^XBDIQ1(90050.02,DA,".01;301:305","BART(")
  1. S I=""
  1. F S I=$O(BART(I)) Q:I'>0 W !,I,?7,BART(I),?19,$P(^DD(90050.02,I,0),U)
  1. D EOP^BARUTL(0)
  1. EDSPAC Q
  1. ; *********************************************************************
  1. MSG ;
  1. I $E(IOST)="C",IOT["TRM" D
  1. . W !,*7,$$CJ^XLFSTR("Could not create "_BARTTYPE_" transaction in A/R Transaction File.")
  1. . W !,$$CJ^XLFSTR("Please verify "_BARCOL_" item "_BARITDA_" closed properly.")
  1. Q
  1. MSG1 ;
  1. I $E(IOST)="C",IOT["TRM" D
  1. . W !,*7,$$CJ^XLFSTR("Could not create "_BARTTYPE_" transaction in A/R Transaction File.")
  1. . W !,$$CJ^XLFSTR("BARIT(7,'I') = <nil> Please verify "_BARCOL_" item "_BARITDA_" closed properly.")
  1. Q ;EOR