| 1 | IBARXEI ;ALB/AAS - RX COPAY EXEMPTION INQUIRY ; 21-JAN-93
 | 
|---|
| 2 |  ;;2.0; INTEGRATED BILLING ;**34,199**; 21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | % I '$D(IOF) D HOME^%ZIS
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | PAT I $G(IBQUIT) G END
 | 
|---|
| 8 |  D END
 | 
|---|
| 9 |  S (IBPAG,IBQUIT)=0 D NOW^%DTC S Y=% D D^DIQ S IBPDAT=Y
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  S DIC("W")="N IBX S IBX=$G(^IBA(354,+Y,0)) W ?32,"" "",$P($G(^DPT(+IBX,0)),U,9),?46,"" "",$$TEXT^IBARXEU0($P(IBX,U,4)),?59,"" "",$P($G(^IBE(354.2,+$P(IBX,U,5),0)),U)"
 | 
|---|
| 12 |  N DPTNOFZY S DPTNOFZY=1  ;Suppress PATIENT file fuzzy lookups
 | 
|---|
| 13 |  W ! S DIC="^DPT(",DIC("S")="I $D(^IBA(354,+Y,0))",DIC(0)="AEQM",DIC("A")="Select BILLING PATIENT: " D ^DIC K DIC
 | 
|---|
| 14 |  G:Y<1 END
 | 
|---|
| 15 |  S DFN=+Y,IBP=$$PT^IBEFUNC(DFN),IBPBN=$G(^IBA(354,DFN,0))
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | TYP ; -- inquire is active or all
 | 
|---|
| 18 |  S DIR("?")="Enter 1 or B to see a brief inquiry of all Active Exemptions or enter 2 or F to see a full inquiry of the entire exemption history"
 | 
|---|
| 19 |  S DIR(0)="SAOM^1:BRIEF;2:FULL",DIR("A")="(B)rief or (Full) Inquiry: ",DIR("B")="Brief"
 | 
|---|
| 20 |  D ^DIR K DIR G:$D(DIRUT)!($G(Y)<1) END S IBFULL=Y
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | DEV S %ZIS="QM" D ^%ZIS G:POP END
 | 
|---|
| 23 |  I $D(IO("Q")) K IO("Q") S ZTRTN="DQ^IBARXEI",ZTSAVE("IB*")="",ZTSAVE("DFN")="",ZTDESC="IB INQUIRE TO PATIENT EXEMPTION" D ^%ZTLOAD,HOME^%ZIS K ZTSK D END G PAT
 | 
|---|
| 24 |  U IO
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 | DQ ;
 | 
|---|
| 27 |  K ^TMP($J)
 | 
|---|
| 28 |  D @IBFULL
 | 
|---|
| 29 |  I 'IBQUIT,$E(IOST,1,2)="C-" D PAUSE^IBOUTL
 | 
|---|
| 30 |  I '$D(ZTQUEUED) D END G PAT
 | 
|---|
| 31 |  G END
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | 1 ; -- brief view active exemptions
 | 
|---|
| 35 |  D DISP^IBARXEX,STAT^IBARXEX
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 | 2 ; -- full view all exemptions
 | 
|---|
| 39 |  D HDR
 | 
|---|
| 40 |  S IBT=""
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  ; -- build list in inverse effective date, inverse date/time added
 | 
|---|
| 43 |  F  S IBT=$O(^IBA(354.1,"APIDT",DFN,IBT)) Q:'IBT  S IBIDT="" F  S IBIDT=$O(^IBA(354.1,"APIDT",DFN,IBT,IBIDT)) Q:'IBIDT  S IBDA="" F  S IBDA=$O(^IBA(354.1,"APIDT",DFN,IBT,IBIDT,IBDA)) Q:'IBDA!(IBQUIT)  D SET
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 |  ; -- print list
 | 
|---|
| 46 |  S IBIDT="" F  S IBIDT=$O(^TMP($J,DFN,IBIDT)) Q:'IBIDT!(IBQUIT)  S IBA="" F  S IBA=$O(^TMP($J,DFN,IBIDT,IBA)) Q:'IBA!(IBQUIT)  S IBDA="" F  S IBDA=$O(^TMP($J,DFN,IBIDT,IBA,IBDA)) Q:'IBDA!(IBQUIT)  S IBND=^(IBDA) D FULL
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | END K ^TMP($J) S ZTREQ="@" I $D(ZTQUEUED) Q
 | 
|---|
| 51 |  D ^%ZISC
 | 
|---|
| 52 |  K C,X,Y,DFN,DIC,DIR,DIRUT,ZTSK,ZTREQ,IBCNT,IBDA,IBDT,IBFULL,IBIDT,IBJ,IBND,IBP,IBPAG,IBPBN,IBPDAT,IBQUIT,IBSTAT,IBSTATR,IBT
 | 
|---|
| 53 |  Q
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | HDR ; -- print header for full inquiry
 | 
|---|
| 56 |  I IBPAG!($E(IOST,1,2)="C-") W @IOF
 | 
|---|
| 57 |  S IBPAG=IBPAG+1
 | 
|---|
| 58 |  W "Billing Exemption Inquiry",?(IOM-35),$P(IBPDAT,"@")," ",$P(IBPDAT,"@",2),"  Page ",IBPAG
 | 
|---|
| 59 |  W !,$E($P(IBP,"^"),1,20),"   ",$P(IBP,"^",3),?27,"Currently: ",$$TEXT^IBARXEU0($P(IBPBN,"^",4))_"-"_$P($G(^IBE(354.2,+$P(IBPBN,"^",5),0)),"^"),?65," ",$$DAT1^IBOUTL($P(IBPBN,"^",3))
 | 
|---|
| 60 |  W !,$TR($J(" ",IOM)," ","-")
 | 
|---|
| 61 |  Q
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 | FULL ; -- print full inquiry for one exemption
 | 
|---|
| 64 |  I $Y>(IOSL-8) D PAUSE^IBOUTL Q:IBQUIT  D HDR
 | 
|---|
| 65 |  I $G(IBND)="" W !,"Error, Missing Record - ",IBDA Q
 | 
|---|
| 66 |  S Y=+IBND D D^DIQ
 | 
|---|
| 67 |  W !,$S($P(IBND,"^",10):"**",1:"  "),"Effective Date: ",Y
 | 
|---|
| 68 |  W ?36,"      Type: ",$P($P($P(^DD(354.1,.03,0),"^",3),$P(IBND,"^",3)_":",2),";",1)
 | 
|---|
| 69 |  W !,"          Status: ",$P($P($P(^DD(354.1,.04,0),"^",3),$P(IBND,"^",4)_":",2),";",1)
 | 
|---|
| 70 |  W ?36,"    Reason: ",$P($G(^IBE(354.2,+$P(IBND,"^",5),0)),"^")
 | 
|---|
| 71 |  W !,"          Active: ",$S($P(IBND,"^",10):"YES, ACTIVE",1:"NO, INACTIVE")
 | 
|---|
| 72 |  W ?36,"      User: ",$P($G(^VA(200,+$P(IBND,"^",7),0)),"^")
 | 
|---|
| 73 |  W !,"       How Added: ",$P($P($P(^DD(354.1,.06,0),"^",3),$P(IBND,"^",6)_":",2),";",1)
 | 
|---|
| 74 |  W ?36,"When Added: " S Y=$P(IBND,"^",8) D DT^DIQ
 | 
|---|
| 75 |  I $P(IBND,"^",13)'="" W !,"Charges Canceled: " S Y=$P(IBND,"^",13) D DT^DIQ W ?36,"        To: " S Y=$P(IBND,"^",14) D DT^DIQ
 | 
|---|
| 76 |  I $P(IBND,"^",15)'="" W !," Prior Threshold: " S Y=$P(IBND,"^",15) D DT^DIQ
 | 
|---|
| 77 |  I $G(DUZ(0))="@" W !,"     Patient DFN: ",$P(IBND,"^",2),?36,"Ex. Number: ",IBDA
 | 
|---|
| 78 |  W !
 | 
|---|
| 79 |  Q
 | 
|---|
| 80 |  ;
 | 
|---|
| 81 | SET ; -- built tmp array ==> ^tmp($j, dfn, -eff date, -date/time added, da)
 | 
|---|
| 82 |  N X
 | 
|---|
| 83 |  S X=$G(^IBA(354.1,+IBDA,0)) Q:X=""
 | 
|---|
| 84 |  S ^TMP($J,DFN,IBIDT,-$P(X,"^",8),IBDA)=X
 | 
|---|
| 85 |  Q
 | 
|---|