source: WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCNSP.m@ 1696

Last change on this file since 1696 was 623, checked in by George Lilly, 15 years ago

revised back to 6/30/08 version

File size: 5.3 KB
Line 
1IBCNSP ;ALB/AAS - INSURANCE MANAGEMENT - EXPANDED POLICY ;05-MAR-1993
2 ;;2.0;INTEGRATED BILLING;**6,28,43,52,85,251,363**;21-MAR-94;Build 35
3 ;;Per VHA Directive 2004-038, this routine should not be modified.
4% ;
5EN ; -- main entry point for IBCNS EXPANDED POLICY
6 K VALMQUIT,IBPPOL
7 S IBTOP="IBCNSP"
8 D EN^VALM("IBCNS EXPANDED POLICY")
9 Q
10 ;
11HDR ; -- header code
12 N W,X,Y,Z
13 S VALMHDR(1)="Expanded Policy Information for: "_$E($P(^DPT(DFN,0),U),1,20)_" "_$P($$PT^IBEFUNC(DFN),U,2)
14 S Z=$G(^DPT(DFN,.312,+$P(IBPPOL,U,4),0))
15 S W=$P($G(^IBA(355.3,+$P(Z,U,18),0)),U,11)
16 S Y=$E($P($G(^DIC(36,+Z,0)),U),1,20)_" Insurance Company"
17 S X="** Plan Currently "_$S(W:"Ina",1:"A")_"ctive **"
18 S VALMHDR(2)=$$SETSTR^VALM1(X,Y,48,29)
19 Q
20 ;
21INIT ; -- init variables and list array
22 K VALMQUIT
23 S VALMCNT=0,VALMBG=1
24 I '$D(IBPPOL) D PPOL Q:$D(VALMQUIT)
25 K ^TMP("IBCNSVP",$J)
26 D BLD,HDR
27 Q
28 ;
29BLD ; -- list builder
30 K ^TMP("IBCNSVP",$J),^TMP("IBCNSVPDX",$J)
31 D KILL^VALM10()
32 F I=1:1:50 D BLANK(.I)
33 S VALMCNT=50
34 N IBCDFND,IBCDFND1,IBCDFND2,IBCDFND4
35 S IBCDFND=$G(^DPT(DFN,.312,$P(IBPPOL,U,4),0)),IBCDFND1=$G(^(1)),IBCDFND2=$G(^(2)),IBCDFND4=$G(^(4))
36 S IBCPOL=+$P(IBCDFND,U,18),IBCNS=+IBCDFND,IBCDFN=$P(IBPPOL,U,4)
37 S IBCPOLD=$G(^IBA(355.3,+$P(IBCDFND,U,18),0)),IBCPOLD1=$G(^(1))
38 S IBCPOLD2=$G(^IBA(355.3,+$G(IBCPOL),6)) ;; Daou/EEN adding BIN and PCN
39 S IBLCNT=0
40 D POLICY^IBCNSP0,INS^IBCNSP0,SPON^IBCNSP0,LIMBLD^IBCNSC41(36,2,.IBLCNT)
41 D CONTACT^IBCNSP0,EFFECT,UR,EMP,VER^IBCNSP01,COMMENT,^IBCNSP01
42 Q
43 ;
44COMMENT ; -- Comment region
45 N START,OFFSET,IBL,IBI
46 S START=49+$G(IBLCNT),OFFSET=2,IBL=0
47 I '$D(@VALMAR@(START-1)) D SET(START-1,OFFSET," ")
48 D SET(START,OFFSET," Comment -- Patient Policy ",IORVON,IORVOFF)
49 D SET(START+1,OFFSET,$S($P(IBCDFND1,U,8)="":"None",1:$P(IBCDFND1,U,8)))
50 I '$D(@VALMAR@(START+2)) D SET(START+2,OFFSET," ")
51 D SET(START+3,OFFSET," Comment -- Group Plan ",IORVON,IORVOFF)
52 S IBI=0 F S IBI=$O(^IBA(355.3,+IBCPOL,11,IBI)) Q:IBI<1 D
53 .S IBL=IBL+1
54 .D SET(START+IBL+3,OFFSET," "_$E($G(^IBA(355.3,+IBCPOL,11,IBI,0)),1,80))
55 S IBLCNT=$G(IBLCNT)+IBL+1 D SET(START+IBL+4,OFFSET," ")
56 Q
57 ;
58EFFECT ; -- Effective date region
59 N START,OFFSET
60 S START=14,OFFSET=45
61 D SET(START,OFFSET-4," Effective Dates & Source ",IORVON,IORVOFF)
62 D SET(START+1,OFFSET," Effective Date: "_$$DAT1^IBOUTL($P(IBCDFND,U,8)))
63 D SET(START+2,OFFSET,"Expiration Date: "_$$DAT1^IBOUTL($P(IBCDFND,U,4)))
64 D SET(START+3,OFFSET," Source of Info: "_$$EXPAND^IBTRE(2.312,1.09,$P($G(IBCDFND1),U,9)))
65 D SET(START+4,OFFSET-4,"Policy Not Billable: "_$S($P($G(^DPT(DFN,.312,IBCDFN,3)),"^",4):"YES",1:"NO"))
66 Q
67 ;
68UR ; -- UR of insurance region
69 N START,OFFSET
70 S START=14,OFFSET=2
71 D SET(START,OFFSET," Utilization Review Info ",IORVON,IORVOFF)
72 D SET(START+1,OFFSET," Require UR: "_$$EXPAND^IBTRE(355.3,.05,$P(IBCPOLD,U,5)))
73 D SET(START+2,OFFSET," Require Amb Cert: "_$$EXPAND^IBTRE(355.3,.12,$P(IBCPOLD,U,12)))
74 D SET(START+3,OFFSET," Require Pre-Cert: "_$$EXPAND^IBTRE(355.3,.06,$P(IBCPOLD,U,6)))
75 D SET(START+4,OFFSET," Exclude Pre-Cond: "_$$EXPAND^IBTRE(355.3,.07,$P(IBCPOLD,U,7)))
76 D SET(START+5,OFFSET,"Benefits Assignable: "_$$EXPAND^IBTRE(355.3,.08,$P(IBCPOLD,U,8)))
77 Q
78EMP ; -- Insurance Employer Region
79 N OFFSET,START,IBADD
80 S START=19,OFFSET=40
81 D SET(START,OFFSET," Subscriber's Employer Information ",IORVON,IORVOFF)
82 D SET(START+1,OFFSET,"Emp Sponsored Plan: "_$S(+$P(IBCDFND2,U,10):"Yes",1:"No"))
83 D SET(START+2,OFFSET," Employer: "_$P(IBCDFND2,U,9))
84 D SET(START+3,OFFSET," Employment Status: "_$$EXPAND^IBTRE(2.312,2.11,$P(IBCDFND2,U,11)))
85 D SET(START+4,OFFSET," Retirement Date: "_$$DAT1^IBOUTL($P(IBCDFND2,U,12)))
86 D SET(START+5,OFFSET,"Claims to Employer: "_$S(+IBCDFND2:"Yes, Send to Employer",1:"No, Send to Insurance Company"))
87 ;I +IBCDFND2 W !!,"If ROI applies, make sure current consent is signed.",!! D PAUSE^VALM1
88 ;
89 D SET(START+6,OFFSET," Street: "_$P(IBCDFND2,U,2)) S IBADD=1
90 I $P(IBCDFND2,U,3)'="" D SET(START+7,OFFSET," Street 2: "_$P(IBCDFND2,U,3)) S IBADD=2
91 I $P(IBCDFND2,U,4)'="" D SET(START+8,OFFSET," Street 3: "_$P(IBCDFND2,U,4)) S IBADD=3
92 D SET(START+6+IBADD,OFFSET," City/State: "_$E($P(IBCDFND2,U,5),1,15)_$S($P(IBCDFND2,U,5)="":"",1:", ")_$P($G(^DIC(5,+$P(IBCDFND2,U,6),0)),U,2)_" "_$E($P(IBCDFND2,U,7),1,5))
93 D SET(START+7+IBADD,OFFSET," Phone: "_$P(IBCDFND2,U,8))
94 ;
95EMPQ Q
96 ;
97HELP ; -- help code
98 S X="?" D DISP^XQORM1 W !!
99 Q
100 ;
101EXIT ; -- exit code
102 K IBPPOL,VALMQUIT,IBCNS,IBCPOL,IBCPOLD,IBCPOLD1,IBCPOLD2,IBCDFND,IBCDFND1,IBCDFND2
103 D CLEAN^VALM10,CLEAR^VALM1
104 Q
105 ;
106EXPND ; -- expand code
107 Q
108 ;
109PPOL ; -- select patient, select policy
110 I '$D(DFN) D G:$D(VALMQUIT) PPOLQ
111 .S DIC="^DPT(",DIC(0)="AEQMN" D ^DIC
112 .S DFN=+Y
113 I $G(DFN)<1 S VALMQUIT="" G PPOLQ
114 ;
115 I '$O(^DPT(DFN,.312,0)) W !!,"Patient doesn't have Insurance" K DFN G PPOL
116 ;
117 S DIC="^DPT("_DFN_",.312,",DIC(0)="AEQMN",DIC("A")="Select Patient Policy: "
118 D ^DIC I +Y<1 S VALMQUIT=""
119 G:$D(VALMQUIT) PPOLQ
120 S IBPPOL="^2^"_DFN_U_+Y_U_$G(^DPT(DFN,.312,+Y,0))
121PPOLQ K DIC Q
122 ;
123BLANK(LINE) ; -- Build blank line
124 D SET^VALM10(.LINE,$J("",80))
125 Q
126 ;
127SET(LINE,COL,TEXT,ON,OFF) ; -- set display info in array
128 I '$D(@VALMAR@(LINE,0)) D BLANK(.LINE) S VALMCNT=$G(VALMCNT)+1
129 D SET^VALM10(.LINE,$$SETSTR^VALM1(.TEXT,@VALMAR@(LINE,0),.COL,$L(TEXT)))
130 D:$G(ON)]""!($G(OFF)]"") CNTRL^VALM10(.LINE,.COL,$L(TEXT),$G(ON),$G(OFF))
131 W:'(LINE#5) "."
132 Q
Note: See TracBrowser for help on using the repository browser.