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

IBAMTD2.m

Go to the documentation of this file.
  1. IBAMTD2 ;ALB/CPM - MOVEMENT BULLETIN PROCESSING ; 03-MAY-93
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. APM() ; Analyze patient movement to see if Means Test charges were effected.
  1. ; Input: DFN -- Pointer to patient in file #2
  1. ; DGPMP -- Oth node in file #405 prior to change
  1. ; DGPMA -- Oth node in file #405 after the change
  1. ; Output: 0 -- No effect on Means Test charges (no bulletin)
  1. ; 1 -- Means Test charges were effected (send bulletin)
  1. ;
  1. N IBADM,IBCHG,IBMVTA,IBMVTP,IBMTYP,IBPM,IBY
  1. S IBMTYP=$P(DGPMA,"^",2) S:'IBMTYP IBMTYP=$P(DGPMP,"^",2)
  1. I IBMTYP=4!(IBMTYP=5) S IBY=0 G APMQ
  1. S IBY=$$CHG(DFN) G:'IBY APMQ
  1. ;
  1. ; - process admissions
  1. I IBMTYP=1 D:DGPMA]"" SET,CHK G APMQ
  1. ;
  1. ; - process specialty transfers
  1. I IBMTYP=6 D G APMQ
  1. .Q:IBJOB=6!(DGPMA="") D SET,CHK
  1. ;
  1. ; - process discharges and transfers
  1. I IBMTYP=2!(IBMTYP=3) D:DGPMA]"" G APMQ
  1. .I $P(+DGPMA,".")=$P(+DGPMP,".") S IBY=0 Q
  1. .S IBVAL(2)=+DGPMP_"^"_+DGPMA
  1. ;
  1. APMQ Q IBY
  1. ;
  1. ;
  1. CHG(DFN) ; Were any Means Test Charges Billed for this Admission?
  1. ; Input: DFN -- Pointer to patient in file #2
  1. ; Output: 1 -- Charges have been billed for the admission
  1. ; 0 -- Charges have not been billed for the admission
  1. ;
  1. N IBD,IBN,IBND,IBCHG,IBNL,IBLAST,IBQ,IBX,PM
  1. S (IBX,IBQ)="",PM=$P(DGPMP,"^",14) S:'PM PM=+$P(DGPMA,"^",14)
  1. F S IBX=$O(^IB("AFDT",DFN,IBX)) Q:'IBX!IBQ S IBD=0 F S IBD=$O(^IB("AFDT",DFN,IBX,IBD)) Q:'IBD S IBND=$G(^IB(IBD,0)) I $P(IBND,"^",8)["ADMISSION",$P(IBND,"^",4)[("405:"_PM) S IBQ=1 Q
  1. I $G(IBD) S IBN=IBD F S IBN=$O(^IB("AF",IBD,IBN)) Q:'IBN S IBLAST=$$LAST^IBECEAU(+$P($G(^IB(IBN,0)),"^",9)),IBNL=$G(^IB(+IBLAST,0)) I $P($G(^IBE(350.1,+$P(IBNL,"^",3),0)),"^",5)'=2,"^1^2^3^4^8^"[("^"_$P(IBNL,"^",5)_"^") S IBCHG=1 Q
  1. Q +$G(IBCHG)
  1. ;
  1. SET ; Set Before/Afters for the mvmt date and treating specialty
  1. N X S IBMVTP=+DGPMP,IBMVTA=+DGPMA
  1. I IBMTYP=6 S IBFTSP=$P(DGPMP,"^",9),IBFTSA=$P(DGPMA,"^",9)
  1. I IBMTYP=1 S X=+$O(^UTILITY("DGPM",$J,6,0)),IBFTSP=$P($G(^(X,"P")),"^",9),IBFTSA=$P($G(^("A")),"^",9)
  1. S IBFTSPBS=$$SECT^IBAUTL5(IBFTSP),IBFTSABS=$$SECT^IBAUTL5(IBFTSA)
  1. Q
  1. ;
  1. CHK ; Check for changes in the movement date or treating specialty.
  1. I $P(IBMVTP,".")=$P(IBMVTA,"."),(IBFTSP=IBFTSA!(IBFTSPBS=IBFTSABS)) S IBY=0 Q
  1. I IBFTSPBS'=IBFTSABS S IBVAL(1)=IBFTSP_"^"_IBFTSPBS_"^"_IBFTSA_"^"_IBFTSABS
  1. I $P(IBMVTP,".")'=$P(IBMVTA,".") S IBVAL(2)=IBMVTP_"^"_IBMVTA
  1. Q