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

IBAMTED.m

Go to the documentation of this file.
  1. IBAMTED ;ALB/CPM - MEANS TEST EVENT DRIVER INTERFACE ; 21-FEB-92
  1. ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
  1. ;;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. ; -- do medication copayment exemption processing
  1. D ^IBAMTED1
  1. ;
  1. ; Quit if supported variables are unavailable.
  1. Q:'$D(DFN)!('$D(DGMTA))!('$D(DGMTP))!('$D(DUZ))!('$D(DGMTINF))
  1. ;
  1. ;***
  1. ;S XRTL=$ZU(0),XRTN="IBAMTED-1" D T0^%ZOSV ;start rt clock
  1. ;
  1. ; -- quit if copay exemption test
  1. I $P(DGMTA,"^",19)=2!($P(DGMTP,"^",19)=2) G END
  1. ;
  1. ; Quit if test is a Category change resulting from a deleted test.
  1. I DGMTA]"",DGMTP]"",+DGMTA'=+DGMTP G END
  1. ;
  1. ; Quit if the most current Means Test was not altered.
  1. S IBMT=$S(DGMTA="":DGMTP,1:DGMTA)
  1. S X=$$LST^DGMTU(DFN) I X,$P(X,"^",2)>+IBMT G END
  1. ;
  1. ; Quit if an added or deleted test is a Required test.
  1. I (DGMTA=""!(DGMTP="")),$P(IBMT,"^",3)=1 G END
  1. ;
  1. ; Determine the billable status before and after the transaction.
  1. D NOW^%DTC S IBCATCA=$$BIL^DGMTUB(DFN,%)
  1. S IBCATCP=$S(DGMTP="":$$ADD,DGMTA="":$$CK^DGMTUB(DGMTP),1:$$EDIT)
  1. ;
  1. ; Generate a bulletin if the patient's billing status has changed.
  1. I (IBCATCP&('IBCATCA))!('IBCATCP&(IBCATCA)) D
  1. .S IBEFDT=$S($P(IBMT,"^",7):+$P(IBMT,"^",7),1:+IBMT)
  1. .I IBCATCP,'IBCATCA,'$$CHG^IBAMTEDU(IBEFDT) Q ; hasn't been billed since going c->a
  1. .I 'IBCATCP,IBCATCA,'$$EP^IBAMTEDU(IBEFDT) Q ; hasn't been treated since going a->c
  1. .D MT^IBAMTBU2 ; create bulletin
  1. ;
  1. END K IBARR,IBCANCEL,IBCATCA,IBCATCP,IBDIQ,IBDUZ,IBEFDT,IBMT,IBI,IBC,IBPT,IBT
  1. K DIC,DIQ,DR,DA,VA,VAERR,VAEL,X,X1,X2,XMDUZ,XMTEXT,XMY,XMSUB
  1. ;***
  1. ;I $D(XRT0) S:'$D(XRTN) XRTN="IBAMTED" D T1^%ZOSV ;stop rt clock
  1. Q
  1. ;
  1. ;
  1. ADD() ; Determine the billable status before adding a Means Test.
  1. S X1=$S($P(DGMTA,"^",3)=3:+DGMTA,1:+$P(DGMTA,"^",7)\1),X2=-1 D C^%DTC
  1. Q $$BIL^DGMTUB(DFN,X)
  1. ;
  1. ;
  1. EDIT() ; Determine the billable status before editing a Means Test.
  1. I $P(DGMTP,"^",3)'=1 Q $$CK^DGMTUB(DGMTP)
  1. S X1=+DGMTP,X2=-1 D C^%DTC Q $$BIL^DGMTUB(DFN,X)