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

IBCBB.m

Go to the documentation of this file.
  1. IBCBB ;ALB/AAS - EDIT CHECK ROUTINE TO BE INVOKED BEFORE ALL BILL APPROVAL ACTIONS ; 2-NOV-89
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. ;MAP TO DGCRBB
  1. ;
  1. ;IBNDn = IBND(n) = ^ib(399,n)
  1. ;RETURNS:
  1. ;IBER=fields with errors seperated by semi-colons
  1. ;PRCASV("OKAY")=1 if iber="" and $D(prcasv("array")) compete
  1. ;
  1. GVAR ;set up variablesfor mccr
  1. Q:'$D(IBIFN) F I=0,"M","U","U1","S" S @("IBND"_I)=$S($D(^DGCR(399,IBIFN,I)):^(I),1:"")
  1. S IBBNO=$P(IBND0,"^"),DFN=$P(IBND0,"^",2),IBEVDT=$P(IBND0,"^",3)
  1. S IBLOC=$P(IBND0,"^",4),IBCL=$P(IBND0,"^",5),IBTF=$P(IBND0,"^",6)
  1. S IBAT=$P(IBND0,"^",7),IBWHO=$P(IBND0,"^",11),IBST=$P(IBND0,"^",13),IBFT=$P(IBND0,"^",19)
  1. S IBFDT=$P(IBNDU,"^",1),IBTDT=$P(IBNDU,"^",2)
  1. S IBTC=$P(IBNDU1,"^",1),IBFY=$P(IBNDU1,"^",9),IBFYC=$P(IBNDU1,"^",10)
  1. S IBEU=$P(IBNDS,"^",2),IBRU=$P(IBNDS,"^",5),IBAU=$P(IBNDS,"^",8)
  1. Q
  1. ;
  1. EN ;Entry to check for errors
  1. S IBER="" D GVAR Q:'$D(IBND0)
  1. ;
  1. ;Bill number in correct format
  1. ;I IBBNO'?6N&(IBBNO'?5N1U) S IBER="IB044;"
  1. ;
  1. ;patient in patient file
  1. I DFN="" S IBER=IBER_"IB057;"
  1. I DFN]"",'$D(^DPT(DFN)) S IBER=IBER_"IB057;"
  1. ;
  1. ;Event date in correct format
  1. I IBEVDT="" S IBER=IBER_"IB049;"
  1. I IBEVDT]"",IBEVDT'?7N&(IBEVDT'?7N1".".N) S IBER=IBER_"IB049;"
  1. ;
  1. ;location of care
  1. I IBLOC=""!($L(IBLOC)>1)!("127"'[IBLOC) S IBER=IBER_"IB055;"
  1. ;
  1. ;Bill classification
  1. I IBCL=""!($L(IBCL)>1)!("1234"'[IBCL) S IBER=IBER_"IB043;"
  1. ;
  1. ;Timeframe of Bill
  1. I IBTF=""!($L(IBTF)>1)!("01234567"'[IBTF) S IBER=IBER_"IB063;"
  1. ;May want to check timeframe versus other bills for this episode (later)
  1. ;
  1. ;Rate Type
  1. I IBAT="" S IBER=IBER_"IB059;"
  1. I IBAT]"",'$D(^DGCR(399.3,IBAT,0)) S IBER=IBER_"IB059;"
  1. I IBAT]"",$D(^DGCR(399.3,IBAT,0)),'$P(^(0),"^",6) S IBER=IBER_"IB059;",IBAT=""
  1. ;I IBAT]"",$D(^DGCR(399.3,IBAT,0)) S IBARTP=$P(^PRCA(430.2,$P(^DGCR(399.3,IBAT,0),"^",6),0),"^",6)
  1. I IBAT]"",$P($G(^DGCR(399.3,IBAT,0)),"^",6) S IBARTP=$P($$CATN^PRCAFN($P(^DGCR(399.3,IBAT,0),"^",6)),"^",3)
  1. ;Check that AR catagory expects same debtor as defined in who's respon.
  1. I $D(IBARTP),IBWHO="i"&(IBARTP'="T")!(IBWHO="p"&("PC"'[IBARTP))!(IBWHO="o"&(IBARTP'="N")) S IBER=IBER_"IB058;"
  1. ;
  1. ;Who's Responsible
  1. I IBWHO=""!($L(IBWHO)>1)!("iop"'[IBWHO) S IBER=IBER_"IB065;"
  1. I IBWHO="i",'+IBNDM S IBER=IBER_"IB054;"
  1. I IBWHO="o",'+$P(IBNDM,"^",11) S IBER=IBER_"IB053;"
  1. ;
  1. G ^IBCBB1