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

BARFPST4.m

Go to the documentation of this file.
  1. BARFPST4 ; IHS/SD/LSL - A/R FLAT RATE POSTING #3 ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;;OCT 26, 2005
  1. ;;
  1. DOC ;
  1. ; LSL - 01/01/2000 - Created routine
  1. ; Contains code for Reviewing bills in A/R FLAT RATE POSTING File
  1. ; May be called from FBL View Flat Rate Bills Option or
  1. ; by choosing REVIEW from Select Command Prompt in the
  1. ; FRP Flat Rate Posting Option.
  1. ;;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EN ; EP
  1. ; EP - View flate rate posting entries
  1. D FRPENTRY ; Get Flat Rate Posting Entry to view
  1. I Y<1 D EXIT^BARFPST Q ; Quit if don't select FRP Batch
  1. D REVIEW ; View entry using XBLM
  1. Q
  1. ; *********************************************************************
  1. ;
  1. FRPENTRY ;
  1. ;Look up Flate Rate Posting entry
  1. W !
  1. K DIC
  1. S DIC="^BARFRP(DUZ(2),"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Select FRP batch: "
  1. D ^DIC
  1. I Y<1 Q
  1. S BARIEN=+Y ; IEN to A/R FLAT RATE POSTING File
  1. S BARNAME=Y(0,0) ; Name of FRP batch
  1. Q
  1. ; *********************************************************************
  1. ;
  1. REVIEW ; EP
  1. ; EP - Review entries
  1. D VIEWR^XBLM("REVIEW2^BARFPST4","A/R Flat Rate Posting Summary")
  1. S BARFLAG=1
  1. Q
  1. ; *********************************************************************
  1. ;
  1. REVIEW2 ;
  1. ; Print Report code used in XBLM call
  1. ; Get batch, item, payment, item amount from FRP file
  1. K DA,DIC,DR,DIQ,BARREV
  1. S DIC=90054.01
  1. S DA=BARIEN ; IEN to A/R FLAT RATE POSTING File
  1. S DR=".04;.05;.09;.1"
  1. S DIQ="BARREV("
  1. S DIQ(0)="2I"
  1. D ENP^XBDIQ1(DIC,DA,DR,DIQ,DIQ(0))
  1. ; Count all bills (all visit locations)
  1. S (BARA,BARC)=0
  1. F S BARA=$O(^BARFRP(DUZ(2),BARIEN,2,BARA)) Q:'+BARA D
  1. . S BARB=0
  1. . F S BARB=$O(^BARFRP(DUZ(2),BARIEN,2,BARA,3,BARB)) Q:'+BARB D
  1. . . S BARC=BARC+1 ; Bill counter
  1. S BARIN1=BARREV(BARIEN,.04,"I") ; IEN to A/R COLLECTION BATCH File
  1. S BARIN2=BARREV(BARIEN,.05,"I") ; IEN to ITEM mult of A/R COLL BATCH
  1. S BARBEG=$$VAL^XBDIQ1(90051.1101,"BARIN1,BARIN2",19) ; Beginning balan
  1. S BAREND=BARBEG-(BARC*BARREV(BARIEN,.09)) ; Ending balance
  1. ; Write header
  1. W !?7,"Batch Name: ",BARREV(BARIEN,.04)
  1. W ?50,"Starting Balance: ",$J(BARBEG,9,2)
  1. K DA,DIC,DR,DIQ
  1. S DA(1)=BARIN1,DA=BARIN2
  1. W !?6,"Item Number: ",$$VAL^XBDIQ1(90051.1101,"BARIN1,BARIN2",.01)
  1. W ?52,"Ending Balance: ",$J(BAREND,9,2)
  1. W !?5,"Check Number: ",$$VAL^XBDIQ1(90051.1101,"BARIN1,BARIN2",11)
  1. W ?48,"# of Bills to Post: ",$J(BARC,9)
  1. W !?12,"Payor: ",$$VAL^XBDIQ1(90051.1101,"BARIN1,BARIN2",201)
  1. W !?3,"Payment Amount: ",$J(BARREV(BARIEN,.09),9,2)
  1. ; Write Adjustment data in header portion
  1. S BARA=0
  1. F S BARA=$O(^BARFRP(DUZ(2),BARIEN,1,BARA)) Q:'+BARA D ADJHDR
  1. W !!,"Bill #",?21,"Patient Name",?41,"Billed Amt",?56,"DOS",?67,"Payor Billed"
  1. W !
  1. ; Loop facilities to get data lines and print data
  1. S BARA=0
  1. F S BARA=$O(^BARFRP(DUZ(2),BARIEN,2,BARA)) Q:'+BARA D FACLINE
  1. Q
  1. ; *********************************************************************
  1. ;
  1. ADJHDR ;
  1. ; Get and print data for Adjustments in header portion of view
  1. K DIC,DA,DIQ,DR,BARREV2
  1. S DIC=90054.0101
  1. S DA(1)=BARIEN ; IEN to A/R FLAT RATE POSTING File
  1. S DA=BARA ; IEN to ADJUSTMENTS mult in FRP File
  1. S DR=".01;.02;.03" ; Category, Type, Amount
  1. S DIQ="BARREV2("
  1. S DIQ(0)="2I"
  1. D ENP^XBDIQ1(DIC,"BARIEN,BARA",DR,DIQ,DIQ(0))
  1. W !,"Adjustment Amount: ",$J(BARREV2(BARIEN,BARA,.03),9,2)
  1. W ?35,"Category: ",BARREV2(BARIEN,BARA,.01)
  1. W ?60,"Type: ",BARREV2(BARIEN,BARA,.02)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. FACLINE ;
  1. ; Get facility, if bills under facility, write facility
  1. K DIC,DA,DIQ,DR
  1. S DA(1)=BARIEN ; IEN to A/R FLAT RATE POSTING File
  1. S DA=BARA ; IEN to VISIT LOCATION mult in FRP file
  1. S BARRF=$$VAL^XBDIQ1(90054.0102,"BARIEN,BARA",.01) ; Facility name
  1. I $D(^BARFRP(DUZ(2),BARIEN,2,BARA,3,"B")) W !?10,BARRF,!
  1. S BARB=0
  1. ; Loop bills and print data line
  1. F S BARB=$O(^BARFRP(DUZ(2),BARIEN,2,BARA,3,BARB)) Q:'+BARB D BILLINE
  1. Q
  1. ; *********************************************************************
  1. ;
  1. BILLINE ;
  1. ; Get bill data and print data line
  1. K DIC,DA,DIQ,DR,BARREV3
  1. S DA(2)=BARIEN ; IEN to A/R FLAT RATE POSTING File
  1. S DA(1)=BARA ; IEN to VISIT LOCATION mut if FRP File
  1. S DA=BARB ; IEN to A/R BILLS mult of VISIT mult of FRP File
  1. S BARVBL=$$VALI^XBDIQ1(90054.0103,"BARIEN,BARA,BARB",.01)
  1. K DIC,DA,DR,DIQ
  1. S DIC=90050.01
  1. S DA=BARVBL ; IEN to A/R BILL File
  1. ; DR = Bill Number, Patient, Amount Billed, DOS Begin, A/R Account
  1. S DR=".01;101;13;102;3"
  1. S DIQ="BARREV3("
  1. S DIQ(0)="2I"
  1. D ENP^XBDIQ1(DIC,DA,DR,DIQ,DIQ(0))
  1. W !,BARREV3(BARVBL,.01) ; Bill Number
  1. W ?21,BARREV3(BARVBL,101) ; Patient
  1. W ?43,$J(BARREV3(BARVBL,13),8,2) ; Amount Billed
  1. W ?53,$$SDT^BARDUTL(BARREV3(BARVBL,102,"I")) ; DOS Begin
  1. W ?66,BARREV3(BARVBL,3) ; A/R Account
  1. Q