| 1 | IBCNSEVT ;ALB/AAS - NEW INSURANCE POLICY EVENT DRIVER ; 12-DEC-92
 | 
|---|
| 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**6**; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | % ; -- Invokes items on the IB NEW INSURANCE EVENT protocol menu
 | 
|---|
| 6 |  ;    Input  =:     dfn   = patient file ien
 | 
|---|
| 7 |  ;              ibevtp0   = insurance type zeroth node of policy
 | 
|---|
| 8 |  ;                          before editing
 | 
|---|
| 9 |  ;              ibevtp1   = insurance type 1 node of policy 
 | 
|---|
| 10 |  ;                          before editing
 | 
|---|
| 11 |  ;              ibevtp2   = insurance type 2 node of policy
 | 
|---|
| 12 |  ;                          before editing
 | 
|---|
| 13 |  ;              ibevta0   = insurance type zeroth node of new policy
 | 
|---|
| 14 |  ;                          contains effective/expiration dates
 | 
|---|
| 15 |  ;              ibevta1   = insurance type 1 node of new policy
 | 
|---|
| 16 |  ;                          contains date added and by whom
 | 
|---|
| 17 |  ;              ibevta2   = insurance type 2 node of new policy
 | 
|---|
| 18 |  ;               ibcdfn   = internal number of policy as in ^dpt(dfn,
 | 
|---|
| 19 |  ;                          .312,ibcdfn,0))
 | 
|---|
| 20 |  ;             ibevtact   = flag indicating whether action is add, edit
 | 
|---|
| 21 |  ;                          or delete
 | 
|---|
| 22 |  ;
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  N DTOUT,DIROUT
 | 
|---|
| 25 |  ;S X=$O(^ORD(101,"B","IBCN NEW INSURANCE EVENTS",0))_";ORD(101," D EN1^XQOR:X
 | 
|---|
| 26 |  I IBEVTP0=IBEVTA0,IBEVTP1=IBEVTA1,IBEVTP2=IBEVTA2 G EVTQ
 | 
|---|
| 27 |  S X="IBCN NEW INSURANCE EVENTS",DIC=101 D EN1^XQOR
 | 
|---|
| 28 | EVTQ K X,DIC,IBEVTP0,IBEVTP1,IBEVTP2,IBEVTA0,IBEVTA1,IBEVTA2,IBEVTACT
 | 
|---|
| 29 |  Q
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 | BEFORE ; -- get insurance type values before adding/editing
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  I $G(IBNEW) S (IBEVTP0,IBEVTP1,IBEVTP2)="" G BEFQ
 | 
|---|
| 34 |  S IBEVTP0=$G(^DPT(DFN,.312,IBCDFN,0))
 | 
|---|
| 35 |  S IBEVTP1=$G(^DPT(DFN,.312,IBCDFN,1))
 | 
|---|
| 36 |  S IBEVTP2=$G(^DPT(DFN,.312,IBCDFN,2))
 | 
|---|
| 37 | BEFQ Q
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 | AFTER ; -- get insurance type values after adding/editing. set action flag.
 | 
|---|
| 40 |  ; -- get exemption after change
 | 
|---|
| 41 |  ;    input  =:  dfn    = patient file ien
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  S IBEVTA0=$G(^DPT(DFN,.312,IBCDFN,0))
 | 
|---|
| 44 |  S IBEVTA1=$G(^DPT(DFN,.312,IBCDFN,1))
 | 
|---|
| 45 |  S IBEVTA2=$G(^DPT(DFN,.312,IBCDFN,2))
 | 
|---|
| 46 |  I IBEVTP0="",IBEVTA0'="" S IBEVTACT="ADD"
 | 
|---|
| 47 |  I IBEVTP0'="",IBEVTA0'="" S IBEVTACT="EDT"
 | 
|---|
| 48 |  I IBEVTP0'="",IBEVTA0="" S IBEVTACT="DEL"
 | 
|---|
| 49 |  Q
 | 
|---|