1 | IBCOMA1 ;ALB/CMS - IDENTIFY ACTIVE POLICIES W/NO EFFECTIVE DATE (CON'T); 08-03-98
|
---|
2 | ;;2.0;INTEGRATED BILLING;**103**;21-MAR-94
|
---|
3 | Q
|
---|
4 | BEG ; Entry to run Active Policies w/no Effective Date Report
|
---|
5 | ; Input variables:
|
---|
6 | ; IBAIB - Required. How to sort
|
---|
7 | ; 1= Patient Name Range 2= Termianl Digit Range
|
---|
8 | ;
|
---|
9 | ; IBSIN - Required. Include Active Policies with
|
---|
10 | ; 1= Verification Date 2= No Verification Date 3= Both
|
---|
11 | ;
|
---|
12 | ; IBRF - Required. Name or Terminal Digit Range Start value
|
---|
13 | ; IBRL - Required. Name or Terminal Digit Range Go to value
|
---|
14 | ; IBBDT - Optional. Begining Verification Date Range
|
---|
15 | ; IBEDT - Optional. Ending Verification Date Range
|
---|
16 | ;
|
---|
17 | N DFN,IBC,IBC0,IBCDA,IBCDA0,IBCDA1,IBC11,IBC13,IBGP,IBI,IBPAGE,IBTMP
|
---|
18 | N IBQUIT,IBTD,IBX,VA,VADM,VAERR,X,Y
|
---|
19 | K ^TMP("IBCOMA",$J) S IBPAGE=0,IBQUIT=0
|
---|
20 | S IBC=0 F S IBC=$O(^DPT("AB",IBC)) Q:'IBC D
|
---|
21 | .S IBC0=$G(^DIC(36,IBC,0))
|
---|
22 | .;
|
---|
23 | .; If company inactive quit
|
---|
24 | .I $P(IBC0,U)="" Q
|
---|
25 | .I $P(IBC0,U,5)=1 Q
|
---|
26 | .S DFN=0 F S DFN=$O(^DPT("AB",IBC,DFN)) Q:'DFN D
|
---|
27 | ..K VA,VADM,VAERR,VAPA
|
---|
28 | ..D DEM^VADPT,ADD^VADPT
|
---|
29 | ..;
|
---|
30 | ..; I Pt. deceased quit I $G(VADM(6))>0 Q
|
---|
31 | ..; I Pt. name out of range quit
|
---|
32 | ..S VADM(1)=$P($G(VADM(1)),U,1) I VADM(1)="" Q
|
---|
33 | ..I IBAIB=1,VADM(1)]IBRL Q
|
---|
34 | ..I IBAIB=1,IBRF]VADM(1) Q
|
---|
35 | ..;
|
---|
36 | ..; I Terminal Digit out of range quit
|
---|
37 | ..I IBAIB=2 S IBTD=$$TERMDG^IBCONS2(DFN) S:IBTD="" IBTD="000000000" I (+IBTD>IBRL)!(IBRF>+IBTD) Q
|
---|
38 | ..S IBCDA=0 F S IBCDA=$O(^DPT("AB",IBC,DFN,IBCDA)) Q:'IBCDA D
|
---|
39 | ...S IBCDA0=$G(^DPT(DFN,.312,IBCDA,0))
|
---|
40 | ...;
|
---|
41 | ...; I Effective Date populated quit
|
---|
42 | ...I $P(IBCDA0,U,8) Q
|
---|
43 | ...;
|
---|
44 | ...; I Expiration Date entered and expired quit
|
---|
45 | ...I $P(IBCDA0,U,4),$P(IBCDA0,U,4)'>DT Q
|
---|
46 | ...;
|
---|
47 | ...; Sorting by verification date or no date check
|
---|
48 | ...S IBCDA1=$G(^DPT(DFN,.312,IBCDA,1))
|
---|
49 | ...I IBSIN=1,'$P(IBCDA1,U,3) Q
|
---|
50 | ...S $P(IBCDA1,U,3)=$P($P(IBCDA1,U,3),".",1)
|
---|
51 | ...I IBSIN=1,+$P(IBCDA1,U,3)>IBEDT Q
|
---|
52 | ...I IBSIN=1,+$P(IBCDA1,U,3)<IBBDT Q
|
---|
53 | ...I IBSIN=2,$P(IBCDA1,U,3) Q
|
---|
54 | ...I IBSIN=3 I +$P(IBCDA1,U,3)>0 I +$P(IBCDA1,U,3)<IBBDT!(+$P(IBCDA1,U,3)>IBEDT) Q
|
---|
55 | ...S IBC11=$G(^DIC(36,IBC,.11))
|
---|
56 | ...S IBC13=$G(^DIC(36,IBC,.13))
|
---|
57 | ...;
|
---|
58 | ...; set data line for global
|
---|
59 | ...;S IBTMP(1)=PT NAME^SSN^AGE^HOME PHONE^DATE OF DEATH
|
---|
60 | ...;S IBTMP(2)=INSURANCE NAME^REIMBURSE?^PHONE^ADD LINE 1
|
---|
61 | ...;S IBTMP(3)=GROUP PLAN^SUBSCRIBER ID^WHOSE INS.^VERIFICATION DATE
|
---|
62 | ...;
|
---|
63 | ...S IBGP=$P($G(^IBA(355.3,+$P(IBCDA0,U,18),0)),U,3)
|
---|
64 | ...S IBTMP(1)=VADM(1)_U_$P(VADM(2),U,2)_U_+VADM(4)_U_$P(VAPA(8),U,1)_U_$$FMTE^XLFDT($P(VADM(6),U,1),"5ZD")
|
---|
65 | ...S IBTMP(2)=$P(IBC0,U,1)_U_$P(IBC0,U,2)_U_$P(IBC13,U,1)_U_$P(IBC11,U,1)
|
---|
66 | ...S IBTMP(3)=$S(IBGP]"":IBGP,1:"(No Plan Name)")_U_$P(IBCDA0,U,2)_U_$P(IBCDA0,U,6)_U_$$FMTE^XLFDT($P(IBCDA1,U,3),"5ZD")
|
---|
67 | ...;
|
---|
68 | ...; set variable IBI for Verified=1 or Non verified=2
|
---|
69 | ...S IBI=$S(+$P(IBCDA1,U,3):1,1:2)
|
---|
70 | ...;
|
---|
71 | ...; Set Global array
|
---|
72 | ...S ^TMP("IBCOMA",$J,IBI,$S(IBAIB=2:+IBTD,1:VADM(1)),DFN)=IBTMP(1)
|
---|
73 | ...S ^TMP("IBCOMA",$J,IBI,$S(IBAIB=2:+IBTD,1:VADM(1)),DFN,IBC)=IBTMP(2)
|
---|
74 | ...S ^TMP("IBCOMA",$J,IBI,$S(IBAIB=2:+IBTD,1:VADM(1)),DFN,IBC,IBCDA)=IBTMP(3)
|
---|
75 | ...;
|
---|
76 | ;
|
---|
77 | I '$D(^TMP("IBCOMA",$J)) D HD W !!,"** NO RECORDS FOUND **" G QUEQ
|
---|
78 | D WRT
|
---|
79 | ;
|
---|
80 | QUEQ ; Exit clean-UP
|
---|
81 | W ! D ^%ZISC K IBTMP,IBAIB,IBRF,IBRL,IBSIN,IBSTR,VA,VAERR,VADM,VAPA,^TMP("IBCOMA",$J)
|
---|
82 | Q
|
---|
83 | ;
|
---|
84 | HD ;Write Heading
|
---|
85 | S IBPAGE=IBPAGE+1
|
---|
86 | W @IOF,"Active Policies with no Effective Date Report ",$$FMTE^XLFDT($$NOW^XLFDT,"Z")," Page: ",IBPAGE
|
---|
87 | W !,?5,"Sorted by: "_$S(IBAIB=1:"Patient Name",1:"Terminal Digit")_" Range: "_$S(IBRF="A":"FIRST",1:IBRF)_" to "_$S(IBRL="zzzzzz":"LAST",1:IBRL)
|
---|
88 | W !,?5," Include: "_$S(IBSIN=1:"Verification Date Range: "_$$FMTE^XLFDT(IBBDT,"Z")_" to "_$$FMTE^XLFDT(IBEDT,"Z"),IBSIN=2:"No Verification Date Entered",1:"with or without Verification Date")
|
---|
89 | W !!,"Patient Name",?32,"SSN",?44,"Age",?50,"Phone",?66,"Date of Death"
|
---|
90 | W ! F IBX=1:1:79 W "="
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | WRT ;Write data lines
|
---|
94 | N IBA,IBCDA,IBDA,IBDFN,IBINS,IBNA,IBPOL,IBPT,X,Y S IBQUIT=0
|
---|
95 | S IBA=0 F S IBA=$O(^TMP("IBCOMA",$J,IBA)) Q:('IBA)!(IBQUIT=1) D
|
---|
96 | .I IBPAGE D ASK^IBCOMC2 I IBQUIT=1 Q
|
---|
97 | .D HD W !,$S(IBA=1:"Verified",1:"Non-Verified")
|
---|
98 | .S IBNA="" F S IBNA=$O(^TMP("IBCOMA",$J,IBA,IBNA)) Q:(IBNA="")!(IBQUIT=1) D
|
---|
99 | ..S IBDFN=0 F S IBDFN=$O(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN)) Q:('IBDFN)!(IBQUIT=1) D
|
---|
100 | ...S IBPT=$G(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN))
|
---|
101 | ...;
|
---|
102 | ...I ($Y+6)>IOSL D I IBQUIT=1 Q
|
---|
103 | ....D ASK^IBCOMC2 I IBQUIT=1 Q
|
---|
104 | ....D HD
|
---|
105 | ...;
|
---|
106 | ...W !!,$E($P(IBPT,U,1),1,30),?32,$E($P(IBPT,U,2),1,12),?44,$J($P(IBPT,U,3),3),?50,$E($P(IBPT,U,4),1,20),?70,$P(IBPT,U,5)
|
---|
107 | ...;
|
---|
108 | ...S IBDA=0 F S IBDA=$O(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN,IBDA)) Q:('IBDA)!(IBQUIT=1) D
|
---|
109 | ....S IBINS=$G(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN,IBDA))
|
---|
110 | ....W !?3,$E($P(IBINS,U,1),1,30),?35,"Reimb VA? ",$P(IBINS,U,2),?50,$E($P(IBINS,U,3),1,20) ; ?70,$E($P(IBINS,U,4),1,10)
|
---|
111 | ....;
|
---|
112 | ....S IBCDA=0 F S IBCDA=$O(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN,IBDA,IBCDA)) Q:('IBCDA)!(IBQUIT=1) D
|
---|
113 | .....S IBPOL=$G(^TMP("IBCOMA",$J,IBA,IBNA,IBDFN,IBDA,IBCDA))
|
---|
114 | .....W !?5,$E($P(IBPOL,U,1),1,20),?26,"Sub ID: ",$E($P(IBPOL,U,2),1,20),?55,"Whose: ",$P(IBPOL,U,3)
|
---|
115 | .....I IBA=1 W ?64,"Verif:",$P(IBPOL,U,4)
|
---|
116 | Q
|
---|
117 | ;IBCOMA1
|
---|