| 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
 | 
|---|