| [613] | 1 | IBCF ;ALB/RLW - task 1500/UB printing ;12-JUN-92
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**33,63,52,121,51,137,349**;21-MAR-94;Build 46
 | 
|---|
 | 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | EN1 ; call appropriate print routine for the claim form type to be printed
 | 
|---|
 | 6 |  K IBRESUB
 | 
|---|
 | 7 |  ;
 | 
|---|
 | 8 | EN1X ; Entrypoint for reprint (IBRESUB will be defined)
 | 
|---|
 | 9 |  N IBF,IB,IBFORM,IBJ
 | 
|---|
 | 10 |  S IB=$$FT^IBCU3(IBIFN)    ; form type ien (2 or 3)
 | 
|---|
 | 11 |  S IBFT=$$FTN^IBCU3(IB)    ; form type name
 | 
|---|
 | 12 |  S IBF=$P($G(^IBE(353,+IB,2)),U,8)
 | 
|---|
 | 13 |  S:IBF="" IBF=IB ;Forces the use of the output formatter to print bills
 | 
|---|
 | 14 |  D ENFMT(IBIFN,IB,IBF,,$G(IBRESUB))
 | 
|---|
 | 15 | END K IBFT,IBRESUB
 | 
|---|
 | 16 |  Q
 | 
|---|
 | 17 |  ;
 | 
|---|
 | 18 | EN2 ; send to default A/R device
 | 
|---|
 | 19 |  S ZTDTH=$H,IBIFN=PRCASV("ARREC"),IBPNT=PRCASV("NOTICE")
 | 
|---|
 | 20 |  D FORM S (IBFORM1,ZTDESC)="FOLLOW-UP AR FORM "_$P($G(^IBE(353,+IBFT,0)),"^")
 | 
|---|
 | 21 |  D QUEUE
 | 
|---|
 | 22 |  Q
 | 
|---|
 | 23 |  ;
 | 
|---|
 | 24 | EN3 ;queue an Rx Addendum for a bill, IBIFN must be defined
 | 
|---|
 | 25 |  Q:'$D(^DGCR(399,+$G(IBIFN),0))  I '$D(^IBA(362.4,"AIFN"_+IBIFN)),'$D(^IBA(362.5,"AIFN"_+IBIFN)) Q
 | 
|---|
 | 26 |  N IBFT S IBFT=$$FNT^IBCU3("BILL ADDENDUM") Q:'IBFT  S (IBFORM1,ZTDESC)="BILL ADDENDUM FOR "_$P(^DGCR(399,+IBIFN,0),U,1)
 | 
|---|
 | 27 |  S ZTSAVE("IB*")="",ZTDTH=$H
 | 
|---|
 | 28 |  S ZTIO=$P($G(^IBE(353,IBFT,0)),"^",2),ZTRTN=$G(^IBE(353,IBFT,1)) I (ZTIO="")!(ZTRTN="") K ZTDESC,ZTSAVE,ZTDTH,ZTIO,ZTRTN Q
 | 
|---|
 | 29 |  D ^%ZTLOAD
 | 
|---|
 | 30 |  Q
 | 
|---|
 | 31 |  ;
 | 
|---|
 | 32 | EN4 ;queue bills, IBIFN must be defined
 | 
|---|
 | 33 |  S ZTDTH=$H,IBPNT=1 Q:'$D(^DGCR(399,+$G(IBIFN),0))
 | 
|---|
 | 34 |  D FORM
 | 
|---|
 | 35 |  S IBF=$P($G(^IBE(353,+IBFT,2)),U,8)
 | 
|---|
 | 36 |  I $P($G(^IBE(353,+IBFT,0)),U,2)="",IBF="" Q
 | 
|---|
 | 37 |  S (IBFORM1,ZTDESC)=$P($G(^IBE(353,+IBFT,0)),"^")_" BILL "_$P(^DGCR(399,+IBIFN,0),U,1)
 | 
|---|
 | 38 |  S ZTSAVE("IB*")=""
 | 
|---|
 | 39 |  S ZTIO=$P($G(^IBE(353,IBFT,0)),"^",2),ZTRTN=$S(IBF="":$G(^IBE(353,IBFT,1)),1:"ENFMT^IBCF(IBIFN,IBFT,IBF,ZTIO,$G(IBRESUB))")
 | 
|---|
 | 40 |  I (ZTIO="")!(ZTRTN="") S IBAR("ERR")="BILL FORM TYPE NOT COMPLETE FOR"_IBFORM1 Q
 | 
|---|
 | 41 |  D ^%ZTLOAD I '$D(ZTSK) S IBAR("ERR")="QUEUEING OF "_IBFORM1_" FAILED",IBAR("OKAY")=0 W IBAR("ERR") Q
 | 
|---|
 | 42 |  S IBAR("OKAY")=1
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 | EN5 ;queue 1500 Rx Addendum to Follow-up (AR) printer, IBIFN must be defined - no longer used
 | 
|---|
 | 46 |  Q:'$D(^DGCR(399,+$G(IBIFN),0))  I '$D(^IBA(362.4,"AIFN"_+IBIFN)),'$D(^IBA(362.5,"AIFN"_+IBIFN)) Q
 | 
|---|
 | 47 |  Q:$$FT^IBCU3(IBIFN)'=2
 | 
|---|
 | 48 |  N IBFT S IBFT=$$FNT^IBCU3("BILL ADDENDUM") Q:'IBFT  S (IBFORM1,ZTDESC)="BILL ADDENDUM FOR "_$P(^DGCR(399,+IBIFN,0),U,1)
 | 
|---|
 | 49 |  S ZTSAVE("IB*")="",ZTDTH=$H
 | 
|---|
 | 50 |  S ZTIO=$P($G(^IBE(353,IBFT,0)),"^",3),ZTRTN=$G(^IBE(353,IBFT,1)) I (ZTIO="")!(ZTRTN="") K ZTDESC,ZTSAVE,ZTDTH,ZTIO,ZTRTN Q
 | 
|---|
 | 51 |  D ^%ZTLOAD
 | 
|---|
 | 52 |  Q
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 | ENFMT(IBIFN,IB,IBF,ZTIO,IBRESUB) ; Use formatter to print bill IBIFN
 | 
|---|
 | 55 |  N IBFT,IBFTP,IBFORM,IBJ
 | 
|---|
 | 56 |  S (IBFT,IBFORM)=IB,IBFTP="IBCFP"_IB,IBJ=$J
 | 
|---|
 | 57 |  K ^XTMP(IBFTP,$J),^TMP("IBQONE",$J)
 | 
|---|
 | 58 |  S ^XTMP(IBFTP,$J,1,1,1,IBIFN)="",^TMP("IBQONE",$J)=""
 | 
|---|
 | 59 |  D FORM^IBCEFG7(IBF,$G(ZTIO))
 | 
|---|
 | 60 |  I $G(IBRESUB) D
 | 
|---|
 | 61 |  . N IBDA
 | 
|---|
 | 62 |  . S IBDA=$$LAST364^IBCEF4(IBIFN)
 | 
|---|
 | 63 |  . I IBDA D UPDEDI^IBCEM(IBDA,"P")
 | 
|---|
 | 64 |  K ^TMP("IBQONE",$J)
 | 
|---|
 | 65 |  I IBFT'=3 D EN3
 | 
|---|
 | 66 |  Q
 | 
|---|
 | 67 |  ;
 | 
|---|
 | 68 | FORM ;
 | 
|---|
 | 69 |  S IBFT=$$FT^IBCU3(IBIFN)
 | 
|---|
 | 70 |  Q
 | 
|---|
 | 71 | QUEUE ;
 | 
|---|
 | 72 |  S IBF=$P($G(^IBE(353,+IBFT,2)),U,8)
 | 
|---|
 | 73 |  S ZTSAVE("IB*")=""
 | 
|---|
 | 74 |  S ZTIO=$P($G(^IBE(353,IBFT,0)),"^",3),ZTRTN=$S(IBF="":$G(^IBE(353,IBFT,1)),1:"ENFMT^IBCF(IBIFN,IBFT,IBF,ZTIO,$G(IBRESUB))")
 | 
|---|
 | 75 |  I ((ZTIO="")&(IBF=""))!(ZTRTN="") S IBAR("ERR")="BILL FORM TYPE NOT COMPLETE FOR"_IBFORM1 Q
 | 
|---|
 | 76 |  D ^%ZTLOAD I '$D(ZTSK) S IBAR("ERR")="QUEUEING OF "_IBFORM1_" FAILED",IBAR("OKAY")=0 W IBAR("ERR") Q
 | 
|---|
 | 77 |  S IBAR("OKAY")=1
 | 
|---|
 | 78 |  Q
 | 
|---|
 | 79 |  ;
 | 
|---|
 | 80 | DISPX ; call to exclude transmittable bills
 | 
|---|
 | 81 |  D DISP1(1)
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 |  ;
 | 
|---|
 | 84 | DISP ; call to include all bills
 | 
|---|
 | 85 |  D DISP1(0)
 | 
|---|
 | 86 |  Q
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 | DISP1(IBTX) ;print list of authorized bills - exclude transmittables if
 | 
|---|
 | 89 |  ; IBTX=1
 | 
|---|
 | 90 |  N IBIFN,IBC,Y
 | 
|---|
 | 91 |  S IBIFN=0,IBC=0,Y="" W !
 | 
|---|
 | 92 |  F  S IBIFN=$O(^DGCR(399,"AST",3,IBIFN)) Q:'IBIFN  S IBX=$G(^DGCR(399,IBIFN,0)) I IBX'="" D  Q:Y="^"
 | 
|---|
 | 93 |  . I $G(IBTX) D  Q:IBX=""
 | 
|---|
 | 94 |  .. N Z
 | 
|---|
 | 95 |  .. S Z=0 F  S Z=$O(^IBA(364,"B",IBIFN,Z)) Q:'Z  I $D(^IBA(364,"ASTAT","X",Z)) S IBX="" Q
 | 
|---|
 | 96 |  . W !,$P(IBX,U,1),?10,$E($P($G(^DPT(+$P(IBX,U,2),0)),U,1),1,20),?32,$$DATE^IBCFP(+$P(IBX,U,3)),?42,$S(+$P(IBX,U,5)<3:"INPT",1:"OUTPT")
 | 
|---|
 | 97 |  . W ?49,$P($G(^DGCR(399.3,+$P(IBX,U,7),0)),U,4),?59,$E($$EXSET^IBEFUNC(+$P(IBX,U,13),399,.13),1,7),?68,$E($$FTN^IBCU3($$FT^IBCU3(IBIFN)),1,11)
 | 
|---|
 | 98 |  . S IBC=IBC+1 I '(IBC#10) R !,"Press RETURN to continue or '^' to exit: ",Y:DTIME
 | 
|---|
 | 99 |  Q
 | 
|---|
 | 100 |  ;
 | 
|---|
 | 101 | DISPT ;print list of all bills awaiting transmission
 | 
|---|
 | 102 |  N IBI,IBIFN,IBC,Y S (IBC,IBI)=0,Y="" W !
 | 
|---|
 | 103 |  F  S IBI=$O(^IBA(364,"ASTAT","X",IBI)) Q:'IBI  S IBIFN=+$G(^IBA(364,+IBI,0)),IBX=$G(^DGCR(399,IBIFN,0)) I IBX'="" D  Q:Y="^"
 | 
|---|
 | 104 |  . W !,$P(IBX,U,1),?10,$E($P($G(^DPT(+$P(IBX,U,2),0)),U,1),1,20),?32,$$DATE^IBCFP(+$P(IBX,U,3)),?42,$S(+$P(IBX,U,5)<3:"INPT",1:"OUTPT")
 | 
|---|
 | 105 |  . W ?49,$P($G(^DGCR(399.3,+$P(IBX,U,7),0)),U,4),?59,$E($$EXSET^IBEFUNC(+$P(IBX,U,13),399,.13),1,7),?68,$E($$FTN^IBCU3($$FT^IBCU3(IBIFN)),1,11)
 | 
|---|
 | 106 |  . S IBC=IBC+1 I '(IBC#10) R !,"Press RETURN to continue or '^' to exit: ",Y:DTIME
 | 
|---|
 | 107 |  Q
 | 
|---|
 | 108 |  ;
 | 
|---|