- IBCNSP1 ;ALB/AAS - INSURANCE MANAGEMENT - policy actions ; 22-OCT-92
- ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
- ;;Per VHA Directive 10-93-142, this routine should not be modified.
- ;
- % G EN^IBCNSP
- ;
- EA ; -- Edit all
- N IBCDFN,IBTRC,IBTRN
- D FULL^VALM1 W !!
- S IBCDFN=$P($G(IBPPOL),"^",4) I 'IBCDFN W !!,"Can't identify the policy!" G EAQ
- S IBCNSEH=1 D PAT^IBCNSEH
- ;
- D PATPOL^IBCNSM3(IBCDFN)
- ;
- ; -- edit policy data
- D POL^IBCNSEH
- D EDPOL^IBCNSM3(IBCDFN)
- ;
- W !! D AI
- ;
- EAQ D:$G(IBTRC) AIP^IBCNSP02(IBTRC)
- D BLD^IBCNSP
- S VALMBCK="R"
- Q
- ;
- AB ; -- Annual Benefits
- I '$D(IBCPOL),$D(IBPPOL) S IBCNS=$P(IBPPOL,"^",5),IBCPOL=$P(IBPPOL,"^",22)
- I '$G(IBCPOL) W !!,"Can't identify the policy!" S VALMBCK="" G ABQ
- D FULL^VALM1 W !!
- D EN^VALM("IBCNS ANNUAL BENEFITS")
- S VALMBCK="R"
- ABQ Q
- ;
- BU ; -- Benefits Used
- I '$D(IBCPOL),$D(IBPPOL) S IBCNS=$P(IBPPOL,"^",5),IBCPOL=$P(IBPPOL,"^",22)
- I '$G(IBCPOL) W !!,"Can't identify the policy!" S VALMBCK="" G BUQ
- D FULL^VALM1 W !!
- D EN^VALM("IBCNS BENEFITS USED BY DATE")
- S VALMBCK="R"
- BUQ Q
- ;
- PI ; -- edit policy information
- D FULL^VALM1 W !!
- N IBDIF,DA,DR,DIC,DIE
- S IBCDFN=$P($G(IBPPOL),"^",4)
- ;
- S IBCPOL=$P($G(^DPT(DFN,.312,IBCDFN,0)),"^",18)
- I IBCPOL="" S IBCPOL=$$CHIP^IBCNSU($G(^DPT(DFN,.312,IBCDFN,0))) I IBCPOL D ;Stuff in file
- .S DIE="^DPT("_DFN_",.312,",DR=".18////"_IBCPOL
- .S DA=IBCDFN,DA(1)=DFN
- .D ^DIE
- .K DA,DR,DIE,DIC
- .Q
- ;
- ; -- Edit the policy specific info
- D SAVE^IBCNSP3(IBCPOL)
- L +^IBA(355.3,+IBCPOL):5 I '$T D LOCKED^IBTRCD1 G PIQ
- S DIE="^IBA(355.3,",DR=".02;.03;.04;.09",DA=IBCPOL
- D ^DIE K DIC,DIE,DA,DR
- D COMP^IBCNSP3(IBCPOL)
- I IBDIF D UPDATE^IBCNSP3(IBCPOL),UPDATPT^IBCNSP3(DFN,IBCDFN),BLD^IBCNSP
- L -^IBA(355.3,+IBCPOL)
- PIQ S VALMBCK="R"
- Q
- ;
- IT ; -- edit insurance type info
- D FULL^VALM1 W !!
- N IBDIF,DA,DR,DIC,DIE
- D SAVE^IBCNSP3(IBCPOL)
- L +^IBA(355.3,+IBCPOL):5 I '$T D LOCKED^IBTRCD1 G ITQ
- S DA=IBCPOL,DIE="^IBA(355.3,",DR=".05;.06;.07;.08"
- D ^DIE K DIC,DIE,DA,DR
- D COMP^IBCNSP3(IBCPOL)
- I IBDIF D UPDATE^IBCNSP3(IBCPOL),UPDATPT^IBCNSP3(DFN,IBCDFN),BLD^IBCNSP
- L -^IBA(355.3,+IBCPOL)
- ITQ S VALMBCK="R" Q
- ;
- ED ; -- Edit effective dates
- D FULL^VALM1 W !!
- N IBDIF,DA,DR,DIE,DIC
- D SAVEPT^IBCNSP3(DFN,IBCDFN)
- L +^DPT(DFN,.312,+$P($G(IBPPOL),"^",4)):5 I '$T D LOCKED^IBTRCD1 G EDQ
- D VARS^IBCNSP3
- S DR="8;3"
- D ^DIE K DIC,DIE,DA,DR
- D COMPPT^IBCNSP3(DFN,IBCDFN) I IBDIF D UPDATPT^IBCNSP3(DFN,IBCDFN),BLD^IBCNSP
- L -^DPT(DFN,.312,+$P($G(IBPPOL),"^",4))
- EDQ S VALMBCK="R" Q
- ;
- VC ; -- Verify Coverage
- D FULL^VALM1 W !!
- D VFY^IBCNSM2
- D BLD^IBCNSP
- S VALMBCK="R" Q
- ;
- SU ; -- Subscriber Update
- D FULL^VALM1 W !!
- N IBDIF,DA,DR,DIC,DIE
- D SAVEPT^IBCNSP3(DFN,IBCDFN)
- D VARS^IBCNSP3
- L +^DPT(DFN,.312,+$P($G(IBPPOL),"^",4)):5 I '$T D LOCKED^IBTRCD1 G SUQ
- S DR="6;S IBAD=X;I IBAD'=""v"" S Y=""@10"";17///^S X=""`""_DFN;16///^S X=""01"";S Y=""@20"";@10;17;16//^S X=$S(IBAD=""s"":""02"",1:"""");@20;1;.2;"
- D ^DIE K DIC,DIE,DA,DR
- D COMPPT^IBCNSP3(DFN,IBCDFN)
- I IBDIF D UPDATPT^IBCNSP3(DFN,IBCDFN),BLD^IBCNSP
- L -^DPT(DFN,.312,+$P($G(IBPPOL),"^",4))
- SUQ S VALMBCK="R" Q
- ;
- IC ; -- Insurance Contact Information
- D FULL^VALM1 W !!
- N IBDIF,DA,DR,DIC,DIE,IBTRC,DIR,DUOUT,DTOUT,DIRUT,IBTRN
- D AI
- D:$G(IBTRC) AIP^IBCNSP02(IBTRC),BLD^IBCNSP
- S VALMBCK="R" Q
- Q
- AI ; -- Add ins. verification entry
- N X,Y,I,J,DA,DR,DIC,DIE,DR,DD,DO,VA,VAIN,VAERR,IBQUIT,IBXIFN,IBTRN,DUOUT,IBX,IBQUIT,DTOUT
- Q:'$G(DFN)
- Q:'$G(IBCDFN) S IBQUIT=0
- D AI^IBCNSP02
- Q
- IBCNSP1 ;ALB/AAS - INSURANCE MANAGEMENT - policy actions ; 22-OCT-92
- +1 ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
- +2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 ;
- % GOTO EN^IBCNSP
- +1 ;
- EA ; -- Edit all
- +1 NEW IBCDFN,IBTRC,IBTRN
- +2 DO FULL^VALM1
- WRITE !!
- +3 SET IBCDFN=$PIECE($GET(IBPPOL),"^",4)
- IF 'IBCDFN
- WRITE !!,"Can't identify the policy!"
- GOTO EAQ
- +4 SET IBCNSEH=1
- DO PAT^IBCNSEH
- +5 ;
- +6 DO PATPOL^IBCNSM3(IBCDFN)
- +7 ;
- +8 ; -- edit policy data
- +9 DO POL^IBCNSEH
- +10 DO EDPOL^IBCNSM3(IBCDFN)
- +11 ;
- +12 WRITE !!
- DO AI
- +13 ;
- EAQ IF $GET(IBTRC)
- DO AIP^IBCNSP02(IBTRC)
- +1 DO BLD^IBCNSP
- +2 SET VALMBCK="R"
- +3 QUIT
- +4 ;
- AB ; -- Annual Benefits
- +1 IF '$DATA(IBCPOL)
- IF $DATA(IBPPOL)
- SET IBCNS=$PIECE(IBPPOL,"^",5)
- SET IBCPOL=$PIECE(IBPPOL,"^",22)
- +2 IF '$GET(IBCPOL)
- WRITE !!,"Can't identify the policy!"
- SET VALMBCK=""
- GOTO ABQ
- +3 DO FULL^VALM1
- WRITE !!
- +4 DO EN^VALM("IBCNS ANNUAL BENEFITS")
- +5 SET VALMBCK="R"
- ABQ QUIT
- +1 ;
- BU ; -- Benefits Used
- +1 IF '$DATA(IBCPOL)
- IF $DATA(IBPPOL)
- SET IBCNS=$PIECE(IBPPOL,"^",5)
- SET IBCPOL=$PIECE(IBPPOL,"^",22)
- +2 IF '$GET(IBCPOL)
- WRITE !!,"Can't identify the policy!"
- SET VALMBCK=""
- GOTO BUQ
- +3 DO FULL^VALM1
- WRITE !!
- +4 DO EN^VALM("IBCNS BENEFITS USED BY DATE")
- +5 SET VALMBCK="R"
- BUQ QUIT
- +1 ;
- PI ; -- edit policy information
- +1 DO FULL^VALM1
- WRITE !!
- +2 NEW IBDIF,DA,DR,DIC,DIE
- +3 SET IBCDFN=$PIECE($GET(IBPPOL),"^",4)
- +4 ;
- +5 SET IBCPOL=$PIECE($GET(^DPT(DFN,.312,IBCDFN,0)),"^",18)
- +6 ;Stuff in file
- IF IBCPOL=""
- SET IBCPOL=$$CHIP^IBCNSU($GET(^DPT(DFN,.312,IBCDFN,0)))
- IF IBCPOL
- Begin DoDot:1
- +7 SET DIE="^DPT("_DFN_",.312,"
- SET DR=".18////"_IBCPOL
- +8 SET DA=IBCDFN
- SET DA(1)=DFN
- +9 DO ^DIE
- +10 KILL DA,DR,DIE,DIC
- +11 QUIT
- End DoDot:1
- +12 ;
- +13 ; -- Edit the policy specific info
- +14 DO SAVE^IBCNSP3(IBCPOL)
- +15 LOCK +^IBA(355.3,+IBCPOL):5
- IF '$TEST
- DO LOCKED^IBTRCD1
- GOTO PIQ
- +16 SET DIE="^IBA(355.3,"
- SET DR=".02;.03;.04;.09"
- SET DA=IBCPOL
- +17 DO ^DIE
- KILL DIC,DIE,DA,DR
- +18 DO COMP^IBCNSP3(IBCPOL)
- +19 IF IBDIF
- DO UPDATE^IBCNSP3(IBCPOL)
- DO UPDATPT^IBCNSP3(DFN,IBCDFN)
- DO BLD^IBCNSP
- +20 LOCK -^IBA(355.3,+IBCPOL)
- PIQ SET VALMBCK="R"
- +1 QUIT
- +2 ;
- IT ; -- edit insurance type info
- +1 DO FULL^VALM1
- WRITE !!
- +2 NEW IBDIF,DA,DR,DIC,DIE
- +3 DO SAVE^IBCNSP3(IBCPOL)
- +4 LOCK +^IBA(355.3,+IBCPOL):5
- IF '$TEST
- DO LOCKED^IBTRCD1
- GOTO ITQ
- +5 SET DA=IBCPOL
- SET DIE="^IBA(355.3,"
- SET DR=".05;.06;.07;.08"
- +6 DO ^DIE
- KILL DIC,DIE,DA,DR
- +7 DO COMP^IBCNSP3(IBCPOL)
- +8 IF IBDIF
- DO UPDATE^IBCNSP3(IBCPOL)
- DO UPDATPT^IBCNSP3(DFN,IBCDFN)
- DO BLD^IBCNSP
- +9 LOCK -^IBA(355.3,+IBCPOL)
- ITQ SET VALMBCK="R"
- QUIT
- +1 ;
- ED ; -- Edit effective dates
- +1 DO FULL^VALM1
- WRITE !!
- +2 NEW IBDIF,DA,DR,DIE,DIC
- +3 DO SAVEPT^IBCNSP3(DFN,IBCDFN)
- +4 LOCK +^DPT(DFN,.312,+$PIECE($GET(IBPPOL),"^",4)):5
- IF '$TEST
- DO LOCKED^IBTRCD1
- GOTO EDQ
- +5 DO VARS^IBCNSP3
- +6 SET DR="8;3"
- +7 DO ^DIE
- KILL DIC,DIE,DA,DR
- +8 DO COMPPT^IBCNSP3(DFN,IBCDFN)
- IF IBDIF
- DO UPDATPT^IBCNSP3(DFN,IBCDFN)
- DO BLD^IBCNSP
- +9 LOCK -^DPT(DFN,.312,+$PIECE($GET(IBPPOL),"^",4))
- EDQ SET VALMBCK="R"
- QUIT
- +1 ;
- VC ; -- Verify Coverage
- +1 DO FULL^VALM1
- WRITE !!
- +2 DO VFY^IBCNSM2
- +3 DO BLD^IBCNSP
- +4 SET VALMBCK="R"
- QUIT
- +5 ;
- SU ; -- Subscriber Update
- +1 DO FULL^VALM1
- WRITE !!
- +2 NEW IBDIF,DA,DR,DIC,DIE
- +3 DO SAVEPT^IBCNSP3(DFN,IBCDFN)
- +4 DO VARS^IBCNSP3
- +5 LOCK +^DPT(DFN,.312,+$PIECE($GET(IBPPOL),"^",4)):5
- IF '$TEST
- DO LOCKED^IBTRCD1
- GOTO SUQ
- +6 SET DR="6;S IBAD=X;I IBAD'=""v"" S Y=""@10"";17///^S X=""`""_DFN;16///^S X=""01"";S Y=""@20"";@10;17;16//^S X=$S(IBAD=""s"":""02"",1:"""");@20;1;.2;"
- +7 DO ^DIE
- KILL DIC,DIE,DA,DR
- +8 DO COMPPT^IBCNSP3(DFN,IBCDFN)
- +9 IF IBDIF
- DO UPDATPT^IBCNSP3(DFN,IBCDFN)
- DO BLD^IBCNSP
- +10 LOCK -^DPT(DFN,.312,+$PIECE($GET(IBPPOL),"^",4))
- SUQ SET VALMBCK="R"
- QUIT
- +1 ;
- IC ; -- Insurance Contact Information
- +1 DO FULL^VALM1
- WRITE !!
- +2 NEW IBDIF,DA,DR,DIC,DIE,IBTRC,DIR,DUOUT,DTOUT,DIRUT,IBTRN
- +3 DO AI
- +4 IF $GET(IBTRC)
- DO AIP^IBCNSP02(IBTRC)
- DO BLD^IBCNSP
- +5 SET VALMBCK="R"
- QUIT
- +6 QUIT
- AI ; -- Add ins. verification entry
- +1 NEW X,Y,I,J,DA,DR,DIC,DIE,DR,DD,DO,VA,VAIN,VAERR,IBQUIT,IBXIFN,IBTRN,DUOUT,IBX,IBQUIT,DTOUT
- +2 IF '$GET(DFN)
- QUIT
- +3 IF '$GET(IBCDFN)
- QUIT
- SET IBQUIT=0
- +4 DO AI^IBCNSP02
- +5 QUIT