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

BAR50P06.m

Go to the documentation of this file.
  1. BAR50P06 ; IHS/SD/LSL - POST CLAIMS ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**1,21**;OCT 26, 2005
  1. ;;
  1. ; IHS/SD/LSL - 11/26/02 - V1.7 - NOIS QAA-1200-130051
  1. ; Modified to Q if error in creating a transaction
  1. ;
  1. ; ********************************************************************
  1. ;
  1. EN(TRDA,IMPDA) ; EP
  1. ; LOOP Claims in M status and post
  1. D INIT^BARUTL
  1. S BARSECT=BARUSR(29,"I")
  1. S CLMDA=0
  1. F S CLMDA=$O(^BAREDI("I",DUZ(2),IMPDA,30,"AC","M",CLMDA)) Q:CLMDA'>0 D
  1. . D BASIC ; (gather claim data & build BARDR string)
  1. . D PAY
  1. . D ADJMULT
  1. . D MRKCLMP
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PAY ;EP
  1. ; PULL CLAIM INFO AND POST PAYMENT (IF ANY)
  1. K BARCR,CLM
  1. D ENP^XBDIQ1(90056.0205,"IMPDA,CLMDA",".01;.05;1.01;.02;.04","CLM(")
  1. W !!,"Claim: ",CLM(.01)," <> ",CLM(1.01)
  1. W !?5,"Billed: ",CLM(.05),?25,"Payment: ",CLM(.04)
  1. S BARCR=$$VALI^XBDIQ1(90056.0205,"IMPDA,CLMDA",.04)
  1. Q:BARCR=0
  1. S BARTRAN=40
  1. I +$G(BARCOL),+$G(BARITM)
  1. E Q
  1. D POST
  1. Q
  1. ; *********************************************************************
  1. ;
  1. ADJMULT ;EP
  1. ; POST ADJUSTMENTS
  1. K ADJ
  1. S DR=BARDR_";102////^S X=BARCAT;103////^S X=BARREA"
  1. D ENPM^XBDIQ1(90056.0208,"IMPDA,CLMDA,0",".02;.04;.05","ADJ(","I")
  1. Q:'$D(ADJ)
  1. S BARTRAN=43
  1. S ADJDA=0
  1. F S ADJDA=$O(ADJ(ADJDA)) Q:ADJDA'>0 D
  1. . S BARCR=ADJ(ADJDA,.02,"I")
  1. . S BARCAT=ADJ(ADJDA,.04,"I")
  1. . S BARREA=ADJ(ADJDA,.05,"I")
  1. . S DR=BARDR_";102////^S X=BARCAT;103////^S X=BARREA"
  1. . D POST
  1. . K ADJP
  1. . D ENP^XBDIQ1(90056.0208,"IMPDA,CLMDA,ADJDA",".02;.04;.05","ADJP(")
  1. . W !?5,"ADJ: ",ADJP(.02),?25,ADJP(.04),?45,ADJP(.05)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. MRKCLMP ;EP
  1. ; MARK CLAIM AS POSTED
  1. K DIC,DA,DR
  1. S DIE=$$DIC^XBDIQ1(90056.0205)
  1. S DA(1)=IMPDA
  1. S DA=CLMDA
  1. S DR=".02////P"
  1. D ^DIE
  1. K DIC,DA,DR
  1. Q
  1. ; *********************************************************************
  1. ;
  1. BASIC ;EP ASSEMBLE BASIC DATA FOR TRANSACTION
  1. ;
  1. S BARBLIEN=$$VALI^XBDIQ1(90056.0205,"IMPDA,CLMDA",1.01) ; A/R BILL
  1. S BARBLPAT=$$GET1^DIQ(90050.01,BARBLIEN,101,"I") ; A/R Patient IEN
  1. S BARBLAC=$$GET1^DIQ(90050.01,BARBLIEN,3,"I") ; A/R Account
  1. S BARCOL=$$GET1^DIQ(90056.02,IMPDA,.06,"I") ; A/R COLLECTION BATCH IEN
  1. S BARITM=$$GET1^DIQ(90056.02,IMPDA,.07,"I") ; A/R COL BATCH ITEM
  1. S BARVLOC=$$GET1^DIQ(90056.02,IMPDA,108,"I") ; A/R LOCATION
  1. S DR="2////^S X=BARCR"
  1. S DR=DR_";4////^S X=BARBLIEN" ; A/R Bill
  1. S DR=DR_";5////^S X=BARBLPAT" ; A/R Patient
  1. S DR=DR_";6////^S X=BARBLAC" ; A/R Account
  1. S DR=DR_";8////^S X=DUZ(2)" ; Parent Location
  1. S DR=DR_";9////^S X=DUZ(2)" ; Parent ASUFAC
  1. S DR=DR_";10////^S X=BARSECT" ; A/R Section
  1. S DR=DR_";11////^S X=BARVLOC" ; Visit Location
  1. S DR=DR_";12////^S X=DT" ; Date
  1. S DR=DR_";13////^S X=DUZ" ; Entry by
  1. S DR=DR_";14////^S X=$G(BARCOL)" ; IEN to A/R COLLECTION BATCH
  1. S DR=DR_";15////^S X=$G(BARITM)" ; IEN to ITEM mult in A/R COL
  1. S DR=DR_";101////^S X=BARTRAN" ; Transaction Type
  1. S BARDR=DR
  1. S (BARCAT,BARREA)=""
  1. Q
  1. ; *********************************************************************
  1. ;
  1. POST ;EP
  1. ; SET TRANSACTION & POST FILES
  1. S BARTRIEN=$$NEW^BARTR ; Create Transaction
  1. I BARTRIEN<1 D MSG^BARTR(BARBLIEN) Q
  1. S BARROLL(BARBLIEN)=""
  1. ; Populate Transaction file
  1. S DA=BARTRIEN ; IEN to A/R TRANSACTION
  1. S DIE=90050.03
  1. S DIDEL=90050
  1. D ^DIE
  1. K DIDEL,DIE,DA,DR
  1. ; Post from transaction file to related files
  1. D TR^BARTDO(BARTRIEN)
  1. Q