- IBJTNA ;ALB/ARH - TPI INSURANCE SCREENS/ACTIONS ; 2/14/95
- ;;Version 2.0 ; INTEGRATED BILLING ;**39**; 21-MAR-94
- ;;Per VHA Directive 10-93-142, this routine should not be modified.
- ;
- ; the PI view patient policies screen is based on the Patient Insurance Management screen of the
- ; View Patient Insurance [IBCN VIEW PATIENT INSURANCE] option
- ; the VI view insurance screen is based on the Insurance Company Editor screen of the
- ; Insurance Company Entry/Edit [IBCN INSURANCE CO EDIT] option
- ; the VP view policy screen is based on the Patient Policy Information screen of the
- ; Patient Insurance Info View/Edit [IBCN PATIENT INSURANCE] option
- ; the AB annual benefits screen is based on the Annual Benefits Editor screen of the
- ; Patient Insurance Info View/Edit [IBCN PATIENT INSURANCE] option
- ;
- ; four Insurance Module LM Templates were duplicated for JBI so the appropriate Protocol Menus could be used
- ; also so a screen with a message could be displayed if no ins information could be found
- ; IBJT NS PI VIEW PAT INS --- IBCNS VIEW PAT INS PI
- ; IBJT NS VIEW INS CO --- IBCNS VIEW INS CO VI
- ; IBJT NS VIEW EXP POL --- IBCNS VIEW EXP POL VP
- ; IBJT NS VIEW AN BEN --- IBCNS VIEW AN BEN AB
- ;
- ; code called by template was redirected to IBJTN* routines for set up of variables
- ;
- ; these screens may be called to display insurance information for a specific bill or they may be
- ; called as part of the insurance display for the patient (from the AL screen)
- ;
- ; three actions (VI, VP, AB) are defined to open screens for a bill's insurance: IBJT NS VIEW xxx SCREEN
- ; four actions are defined to open these screens for a patient's insurance: IBJT NS PI VIEW xxx SCREEN
- ;
- ; for the actions related to a bills insurance, ie. actions available from bill specific screens:
- ; the actions (VI, VP, AB) have two separate functions depending on the variable passed in: opening/loading
- ; a screen and to redisplay that screen, the redisplay must only be an action on the corresponding screen
- ; if REDISP does not have a value then a new screen is opened after asking for company/policy
- ; if REDISP does have a value then the screen is rebuilt after asking for company/policy (assumes screen
- ; already open), should only be used if the screen is already displayed, ie. action should only be be used
- ; with REDISP set if called from the corresponding screen
- ;
- ; the actions (VI, VP, AB) will ask for the user to select which carrier/policy if the bill has more than one
- ; only the primary, secondary and tertiary carrier/policies for the bill may be chosen to be displayed
- ; if one of the insurance actions is chosen from a bill specific screen
- ;
- HDRI ; -- IBJT NS VIEW INS CO LIST TEMPLATE: insurance company header code
- S VALMHDR(1)="Insurance Company Information"
- I +$G(IBCNS) D HDR^IBCNSC,PST(1)
- Q
- INITI ; -- IBJT NS VIEW INS CO LIST TEMPLATE: insurance company init code
- K ^TMP("IBCNSC",$J)
- I '$G(IBIFN) D PRTCL^IBJU1("IBJT SHORT MENU")
- S IBCNS=+$P(IBJPOL,U,3) I +IBCNS D INIT^IBCNSC K VALMHDR Q
- S VALMCNT=0 D BLD("Insurance data incomplete, cannot find policy.")
- Q
- EXITI D EXIT^IBCNSC K ^TMP("IBCNSC",$J) Q
- HELPI D HELP^IBCNSC Q
- ;
- VI(REDISP) ; -- IBJT NS VIEW INS CO SCREEN ACTION: view insurance company screen: expanded insurance company information
- ; user can select carrier if more than one on bill, REDISP set if screen to be rebuilt for different carrier
- ;
- I '$G(REDISP) N IBX,IBVIEW,IBCHANGE,IBCNS,IBCPOL,IBPPOL,IBJPOL,IBI,IBLCNT,IBCNS13
- I '$G(IBIFN)!'$G(DFN) G VIQ
- D FULL^VALM1
- S IBX=$$PST^IBJTU31(IBIFN) I 'IBX S VALMBCK="R" G VIQ
- S IBJPOL=IBX
- I '$G(REDISP) D EN^VALM("IBJT NS VIEW INS CO") G VIQ
- D INITI S VALMBCK="R"
- VIQ Q
- ;
- ;
- BLD(MSG) D KILL^VALM10(),SET^IBCNSP(1,1,""),SET^IBCNSP(2,1,MSG) Q
- PST(X) S IBI=$P(IBJPOL,U,2),IBX=$S(IBI=1:"Primary",IBI=2:"Secondary",IBI=3:"Tertiary",1:""),VALMHDR(X)=$E(VALMHDR(X),1,68)_$J("",(79-$L(VALMHDR(X))-$L(IBX)))_IBX Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBJTNA 4065 printed Jan 18, 2025@03:25:12 Page 2
- IBJTNA ;ALB/ARH - TPI INSURANCE SCREENS/ACTIONS ; 2/14/95
- +1 ;;Version 2.0 ; INTEGRATED BILLING ;**39**; 21-MAR-94
- +2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 ;
- +4 ; the PI view patient policies screen is based on the Patient Insurance Management screen of the
- +5 ; View Patient Insurance [IBCN VIEW PATIENT INSURANCE] option
- +6 ; the VI view insurance screen is based on the Insurance Company Editor screen of the
- +7 ; Insurance Company Entry/Edit [IBCN INSURANCE CO EDIT] option
- +8 ; the VP view policy screen is based on the Patient Policy Information screen of the
- +9 ; Patient Insurance Info View/Edit [IBCN PATIENT INSURANCE] option
- +10 ; the AB annual benefits screen is based on the Annual Benefits Editor screen of the
- +11 ; Patient Insurance Info View/Edit [IBCN PATIENT INSURANCE] option
- +12 ;
- +13 ; four Insurance Module LM Templates were duplicated for JBI so the appropriate Protocol Menus could be used
- +14 ; also so a screen with a message could be displayed if no ins information could be found
- +15 ; IBJT NS PI VIEW PAT INS --- IBCNS VIEW PAT INS PI
- +16 ; IBJT NS VIEW INS CO --- IBCNS VIEW INS CO VI
- +17 ; IBJT NS VIEW EXP POL --- IBCNS VIEW EXP POL VP
- +18 ; IBJT NS VIEW AN BEN --- IBCNS VIEW AN BEN AB
- +19 ;
- +20 ; code called by template was redirected to IBJTN* routines for set up of variables
- +21 ;
- +22 ; these screens may be called to display insurance information for a specific bill or they may be
- +23 ; called as part of the insurance display for the patient (from the AL screen)
- +24 ;
- +25 ; three actions (VI, VP, AB) are defined to open screens for a bill's insurance: IBJT NS VIEW xxx SCREEN
- +26 ; four actions are defined to open these screens for a patient's insurance: IBJT NS PI VIEW xxx SCREEN
- +27 ;
- +28 ; for the actions related to a bills insurance, ie. actions available from bill specific screens:
- +29 ; the actions (VI, VP, AB) have two separate functions depending on the variable passed in: opening/loading
- +30 ; a screen and to redisplay that screen, the redisplay must only be an action on the corresponding screen
- +31 ; if REDISP does not have a value then a new screen is opened after asking for company/policy
- +32 ; if REDISP does have a value then the screen is rebuilt after asking for company/policy (assumes screen
- +33 ; already open), should only be used if the screen is already displayed, ie. action should only be be used
- +34 ; with REDISP set if called from the corresponding screen
- +35 ;
- +36 ; the actions (VI, VP, AB) will ask for the user to select which carrier/policy if the bill has more than one
- +37 ; only the primary, secondary and tertiary carrier/policies for the bill may be chosen to be displayed
- +38 ; if one of the insurance actions is chosen from a bill specific screen
- +39 ;
- HDRI ; -- IBJT NS VIEW INS CO LIST TEMPLATE: insurance company header code
- +1 SET VALMHDR(1)="Insurance Company Information"
- +2 IF +$GET(IBCNS)
- DO HDR^IBCNSC
- DO PST(1)
- +3 QUIT
- INITI ; -- IBJT NS VIEW INS CO LIST TEMPLATE: insurance company init code
- +1 KILL ^TMP("IBCNSC",$JOB)
- +2 IF '$GET(IBIFN)
- DO PRTCL^IBJU1("IBJT SHORT MENU")
- +3 SET IBCNS=+$PIECE(IBJPOL,U,3)
- IF +IBCNS
- DO INIT^IBCNSC
- KILL VALMHDR
- QUIT
- +4 SET VALMCNT=0
- DO BLD("Insurance data incomplete, cannot find policy.")
- +5 QUIT
- EXITI DO EXIT^IBCNSC
- KILL ^TMP("IBCNSC",$JOB)
- QUIT
- HELPI DO HELP^IBCNSC
- QUIT
- +1 ;
- VI(REDISP) ; -- IBJT NS VIEW INS CO SCREEN ACTION: view insurance company screen: expanded insurance company information
- +1 ; user can select carrier if more than one on bill, REDISP set if screen to be rebuilt for different carrier
- +2 ;
- +3 IF '$GET(REDISP)
- NEW IBX,IBVIEW,IBCHANGE,IBCNS,IBCPOL,IBPPOL,IBJPOL,IBI,IBLCNT,IBCNS13
- +4 IF '$GET(IBIFN)!'$GET(DFN)
- GOTO VIQ
- +5 DO FULL^VALM1
- +6 SET IBX=$$PST^IBJTU31(IBIFN)
- IF 'IBX
- SET VALMBCK="R"
- GOTO VIQ
- +7 SET IBJPOL=IBX
- +8 IF '$GET(REDISP)
- DO EN^VALM("IBJT NS VIEW INS CO")
- GOTO VIQ
- +9 DO INITI
- SET VALMBCK="R"
- VIQ QUIT
- +1 ;
- +2 ;
- BLD(MSG) DO KILL^VALM10()
- DO SET^IBCNSP(1,1,"")
- DO SET^IBCNSP(2,1,MSG)
- QUIT
- PST(X) SET IBI=$PIECE(IBJPOL,U,2)
- SET IBX=$SELECT(IBI=1:"Primary",IBI=2:"Secondary",IBI=3:"Tertiary",1:"")
- SET VALMHDR(X)=$EXTRACT(VALMHDR(X),1,68)_$JUSTIFY("",(79-$LENGTH(VALMHDR(X))-$LENGTH(IBX)))_IBX
- QUIT