| [613] | 1 | IBJTTB1 ;ALB/ARH - TPI AR TRANSACTION PROFILE BUILD ; 07-APR-1995
 | 
|---|
 | 2 |  ;;Version 2.0 ; INTEGRATED BILLING ;**39**; 21-MAR-94
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 | BLD ; build array for list manager AR TRANSACTION
 | 
|---|
 | 6 |  ; input:  DFN, IBIFN - ptr to bill (399), IBTRNS - ptr to transaction (433)
 | 
|---|
 | 7 |  N IBI,IBJ,IBX,IBRCT0,IBRCT1,IBRCT2,IBRCT3,IBRCT5,IBRCT8,IBLN,IBSTR,IBD,IBT,IBT1,IBT2,IBT3,IBLL,IBRL,IBLC,IBRC,IBLW,IBRW,IBTRTY,IBBC,IBADDM,STRG
 | 
|---|
 | 8 |  Q:'$G(IBTRNS)
 | 
|---|
 | 9 |  S IBLL=16,IBRL=16,IBLC=2,IBRC=35,IBLW=12+IBLL,IBRW=25+IBRL
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 |  S IBRCT0=$$N0^RCJIBFN1(IBTRNS),IBRCT1=$$N1^RCJIBFN1(IBTRNS),IBRCT2=$$N2^RCJIBFN1(IBTRNS)
 | 
|---|
 | 12 |  S IBRCT3=$$N3^RCJIBFN1(IBTRNS),IBRCT5=$$N5^RCJIBFN1(IBTRNS),IBRCT8=$$N8^RCJIBFN1(IBTRNS)
 | 
|---|
 | 13 |  S IBTRTY=$P($$STNO^RCJIBFN2(+$P(IBRCT1,U,2)),U,3)
 | 
|---|
 | 14 |  ;
 | 
|---|
 | 15 |  S IBLN=1,IBSTR=""
 | 
|---|
 | 16 |  S IBD="TRANS. NO: ",IBD=$J(IBD,IBLL)_$P(IBRCT0,U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBLC,IBLW)
 | 
|---|
 | 17 |  S IBD="TRANS. TYPE: ",IBD=$J(IBD,IBLL)_$P($$STNO^RCJIBFN2(+$P(IBRCT1,U,2)),U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBRC,IBRW)
 | 
|---|
 | 18 |  S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  S IBD="TRANS. DATE: ",IBD=$J(IBD,IBLL)_$$DATE^IBJU1(+IBRCT1) S IBSTR=$$SETLN(IBD,IBSTR,IBLC,IBLW)
 | 
|---|
 | 21 |  S IBD="DATE POSTED: ",IBD=$J(IBD,IBLL)_$$DATE^IBJU1(+$P(IBRCT1,U,7))
 | 
|---|
 | 22 |  S IBD=IBD_"  ("_$P($G(^VA(200,+$P(IBRCT0,U,3),0)),U,2)_")" S IBSTR=$$SETLN(IBD,IBSTR,IBRC,IBRW)
 | 
|---|
 | 23 |  S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
 | 
|---|
 | 24 |  ;
 | 
|---|
 | 25 |  S IBD="TRANS. AMOUNT: ",IBD=$J(IBD,IBLL)_$FN($P(IBRCT1,U,5),",",2) S IBSTR=$$SETLN(IBD,IBSTR,IBLC,IBLW)
 | 
|---|
 | 26 |  I IBTRTY=2!(IBTRTY=20) S IBD="RECEIPT #: ",IBD=$J(IBD,IBLL)_$P(IBRCT1,U,3) S IBSTR=$$SETLN(IBD,IBSTR,IBRC,IBRW)
 | 
|---|
 | 27 |  S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
 | 
|---|
 | 28 |  ;
 | 
|---|
 | 29 |  I IBTRTY=21!(IBTRTY=1) S IBD="ADJUSTMENT #: ",IBD=$J(IBD,IBLL)_$P(IBRCT1,U,4) S IBSTR=$$SETLN(IBD,IBSTR,IBLC,IBLW)
 | 
|---|
 | 30 |  I $P(IBRCT0,U,2)'="" I IBTRTY=1!((IBTRTY>7)&(IBTRTY<12))!(IBTRTY=21)!(IBTRTY=29)!(IBTRTY=30) D
 | 
|---|
 | 31 |  . S IBD="DATE CALM DONE: ",IBD=$J(IBD,IBLL)_$$DATE^IBJU1($P(IBRCT0,U,2)) S IBSTR=$$SETLN(IBD,IBSTR,IBRC,IBRW)
 | 
|---|
 | 32 |  I IBSTR'="" S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 |  I IBTRTY=17!($P(IBRCT5,U,2)'="") S IBD="FOLLOW-UP DATE: ",IBD=$J(IBD,IBLL)_$$DATE^IBJU1($P(IBRCT5,U,2)) S IBSTR=$$SETLN(IBD,IBSTR,IBLC,IBLW)
 | 
|---|
 | 35 |  I IBSTR'="" S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
 | 
|---|
 | 36 |  ;
 | 
|---|
 | 37 |  I $P(IBRCT0,U,4)["INCOMPLETE" S IBLN=$$SET(" ",IBLN) D
 | 
|---|
 | 38 |  . S IBD="NOTE: ",IBD=$J(IBD,IBLL)_$P(IBRCT0,U,4) S IBSTR=$$SETLN(IBD,"",IBLC,79),IBLN=$$SET(IBSTR,IBLN) S IBSTR=""
 | 
|---|
 | 39 |  ;
 | 
|---|
 | 40 |  I IBTRTY=8!(IBTRTY=9) S IBLN=$$SET(" ",IBLN) D  S IBLN=$$SET(IBSTR,IBLN) S IBSTR=""
 | 
|---|
 | 41 |  . S IBT=22,IBSTR="TERMINATION REASON: ",IBD=$P(IBRCT1,U,6) S IBSTR=$$SETLN(IBD,IBSTR,IBT,50)
 | 
|---|
 | 42 |  ;
 | 
|---|
 | 43 |  ; balance and collection amounts
 | 
|---|
 | 44 |  D BCSCR^IBJTTB2
 | 
|---|
 | 45 |  ;
 | 
|---|
 | 46 |  ; administrative charges
 | 
|---|
 | 47 |  I IBRCT2'="",IBTRTY=12 S IBLN=$$SET(" ",IBLN) S IBSTR="" D
 | 
|---|
 | 48 |  . S IBT=2,IBD="ADMINISTRATIVE COST CHARGE: " S IBSTR=$$SETLN(IBD,IBSTR,IBT,29)
 | 
|---|
 | 49 |  . D ADDM^IBJTTB2 S IBI=0 F  S IBI=$O(IBADDM(IBI)) Q:'IBI  D  S IBLN=$$SET(IBSTR,IBLN) S IBSTR=""
 | 
|---|
 | 50 |  .. S IBT=32,IBD=$P(IBADDM(IBI),U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBT,17)
 | 
|---|
 | 51 |  .. S IBT=50,IBD=$J($P(IBADDM(IBI),U,2),11,2) S IBSTR=$$SETLN(IBD,IBSTR,IBT,11)
 | 
|---|
 | 52 |  ;
 | 
|---|
 | 53 |  K STRG D N4^RCJIBFN1(IBTRNS) S (IBI,IBJ)=0 F  S IBI=$O(STRG(IBI)) Q:'IBI  D  S IBLN=$$SET(IBSTR,IBLN) S IBSTR=""
 | 
|---|
 | 54 |  . S IBX=STRG(IBI) Q:IBX=""  S IBJ=IBJ+1
 | 
|---|
 | 55 |  . I IBJ=1 S IBLN=$$SET(" ",IBLN)
 | 
|---|
 | 56 |  . S IBT=7,IBD=$S(IBJ=1:"FY: ",1:"    ")_$P(IBX,U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBT,8)
 | 
|---|
 | 57 |  . S IBT=28,IBD=$S(IBJ=1:"PR AMT: ",1:"        ")_$FN(+$P(IBX,U,2),",",2) S IBSTR=$$SETLN(IBD,IBSTR,IBT,21)
 | 
|---|
 | 58 |  . S IBT=57,IBD=$S(IBJ=1:"FY TR AMT: ",1:"           ")_$FN(+$P(IBX,U,4),",",2) S IBSTR=$$SETLN(IBD,IBSTR,IBT,22)
 | 
|---|
 | 59 |  K STRG
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 |  S IBLN=$$SET(" ",IBLN),IBSTR="COMMENTS: "
 | 
|---|
 | 62 |  S IBT=11,IBD=$P(IBRCT5,U,1) I IBD'="" S IBSTR=$$SETLN(IBD,IBSTR,IBT,45),IBLN=$$SET(IBSTR,IBLN) S IBSTR=""
 | 
|---|
 | 63 |  D TRCOMM^IBJTTB2,COMM^IBJTTB2
 | 
|---|
 | 64 |  ;
 | 
|---|
 | 65 |  S VALMCNT=IBLN-1
 | 
|---|
 | 66 |  ;
 | 
|---|
 | 67 |  Q
 | 
|---|
 | 68 |  ;
 | 
|---|
 | 69 | SETLN(STR,IBX,COL,WD) ;
 | 
|---|
 | 70 |  S IBX=$$SETSTR^VALM1(STR,IBX,COL,WD)
 | 
|---|
 | 71 |  Q IBX
 | 
|---|
 | 72 |  ;
 | 
|---|
 | 73 | SET(STR,LN) ; set up TMP array with screen data
 | 
|---|
 | 74 |  N IBX,IBI
 | 
|---|
 | 75 |  D SET^VALM10(LN,STR)
 | 
|---|
 | 76 |  S LN=LN+1
 | 
|---|
 | 77 | SETQ Q LN
 | 
|---|