| [613] | 1 | FBPAY671 ;AISC/DMK,TET-CH/CNH PAYMENT HISTORY PRINT ;21/NOV/2006
 | 
|---|
 | 2 |  ;;3.5;FEE BASIS;**4,32,55,69,101**;JAN 30, 1995;Build 2
 | 
|---|
 | 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
 | 4 | PRINT ;print data from tmp global
 | 
|---|
 | 5 |  S FBOUT=0 D:FBCRT&(FBPG) CR Q:FBOUT
 | 
|---|
 | 6 |  S FBHEAD=$S(FBSORT:"VETERAN",1:"VENDOR")
 | 
|---|
 | 7 | EN1 N FBI,FBINV ;entry point from fbchdi
 | 
|---|
 | 8 |  D HDR S FBVI="" F  S FBVI=$O(^TMP($J,"FB",FBPI,FBVI)) Q:FBVI']""!(FBOUT)  D:FBSORT SH Q:FBOUT  S FBPT="" F  S FBPT=$O(^TMP($J,"FB",FBPI,FBVI,FBPT)) Q:FBPT']""!(FBOUT)  D  Q:FBOUT  D CKANC Q:FBOUT
 | 
|---|
 | 9 |  .D:'FBSORT SH Q:FBOUT  S FBDT=0 F  S FBDT=$O(^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT)) Q:'FBDT!(FBOUT)  S FBI=0 F  S FBI=$O(^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI)) Q:'FBI!(FBOUT)  D  Q:FBOUT
 | 
|---|
 | 10 |  ..I ($Y+5)>IOSL D PAGE Q:FBOUT
 | 
|---|
 | 11 |  ..S FBDATA=^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI),A2=$$EXTRL^FBMRASVR($P(FBDATA,U,3))
 | 
|---|
 | 12 |  ..S FBINV=^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI,"FBINV")
 | 
|---|
 | 13 |  ..W ! W:$P(FBDATA,U,8)["R" "*" W:$P(FBDATA,U,9)]"" "#"
 | 
|---|
 | 14 |  ..W ?2,$P(FBDATA,U,1),?15,$P(FBDATA,U,5),?31,$P(FBDATA,U,6)
 | 
|---|
 | 15 |  ..W ?47,$P(FBDATA,U,7),?57,$P(FBINV,U,2)
 | 
|---|
 | 16 |  ..W !?2,$P(FBDATA,U,2),?15,$P(FBDATA,U,3),?25,$P(FBINV,U,1)
 | 
|---|
 | 17 |  .. ;Print adj reasons, if null then print suspend code
 | 
|---|
 | 18 |  ..W ?36,$S($P(FBINV,U,5)]"":$P(FBINV,U,5),1:$P(FBDATA,U,4))
 | 
|---|
 | 19 |  ..W ?46,$S($P(FBINV,U,5)]"":$J($P(FBINV,U,6),14),1:$J($P(FBDATA,U,10),14))
 | 
|---|
 | 20 |  ..W ?63,$P(FBINV,U,7)
 | 
|---|
 | 21 |  .. ;If FPPS Claim ID exists then print it.
 | 
|---|
 | 22 |  ..I $P(FBINV,U,3)]"" D
 | 
|---|
 | 23 |  ...W !?5,"FPPS Claim ID: ",$P(FBINV,U,3),"    FPPS Line Item: ",$P(FBINV,U,4)
 | 
|---|
 | 24 |  ..F FBY="DX","PROC" I $D(^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI,FBY)) S FBDATA=^(FBY),FBSL=$L(FBDATA,"^") W !?2,FBY,": " F I=1:1:FBSL W $P(FBDATA,U,I),"    "
 | 
|---|
 | 25 |  ..I $D(^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI,"FBCK")) D EFBCK^FBPAY21(^TMP($J,"FB",FBPI,FBVI,FBPT,FBDT,FBI,"FBCK")) D PMNT^FBAACCB2 K A2
 | 
|---|
 | 26 |  Q
 | 
|---|
 | 27 | CKANC I +$O(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",0)) D PANC(FBI) Q:FBOUT  W !,FBDASH1
 | 
|---|
 | 28 |  Q
 | 
|---|
 | 29 | PANC(FBI) ;print anc data - FBI = unique number; called by fbpay3
 | 
|---|
 | 30 |  S (FBOV,FBK)=0,FBSL=8,FBLOC=1_U_12_U_23_U_33_U_43_U_56_U_62_U_71 D SHA Q:FBOUT
 | 
|---|
 | 31 |  F  S FBK=$O(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK)) Q:'FBK!(FBOUT)  S FBL=0 F  S FBL=$O(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK,FBL)) Q:'FBL!(FBOUT)  S FBM=0 F  S FBM=$O(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK,FBL,FBM)) Q:'FBM!(FBOUT)  D
 | 
|---|
 | 32 |  .S FBDATA=^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK,FBL,FBM)
 | 
|---|
 | 33 |  .S FBV=$P(FBDATA,U,12)_";"_$P(FBDATA,U,13)
 | 
|---|
 | 34 |  .D WRT
 | 
|---|
 | 35 |  K FBK,FBL,FBM Q
 | 
|---|
 | 36 | WRT ;write ancillary info
 | 
|---|
 | 37 |  I ($Y+6)>IOSL D PAGE Q:FBOUT  D SHA Q:FBOUT  D SHA2 Q:FBOUT
 | 
|---|
 | 38 |  D:FBOV'=FBV SHA2
 | 
|---|
 | 39 |  S FBCKIN=$G(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK,FBL,FBM,"FBCK")) D EFBCK^FBPAY21(FBCKIN)
 | 
|---|
 | 40 |  S FBADJ=$G(^TMP($J,"FB",FBPI,FBVI,FBPT,"A",FBK,FBL,FBM,"FBADJ"))
 | 
|---|
 | 41 |  W ! W:$G(FBCAN)]"" "+"
 | 
|---|
 | 42 |  W ?1,$P(FBDATA,U,1)
 | 
|---|
 | 43 |  W ?11,$P($P(FBDATA,U,2),",")
 | 
|---|
 | 44 |  W ?22,$P(FBADJ,U,9)
 | 
|---|
 | 45 |  W ?31,$J($P(FBADJ,U,2),10)
 | 
|---|
 | 46 |  W ?43,$P(FBDATA,U,6)
 | 
|---|
 | 47 |  W ?54,$P(FBDATA,U,7)
 | 
|---|
 | 48 |  W ?64,$P(FBDATA,U,8)
 | 
|---|
 | 49 |  I $P($P(FBDATA,U,2),",",2)]"" D  Q:FBOUT
 | 
|---|
 | 50 |  . N FBI,FBMOD
 | 
|---|
 | 51 |  . F FBI=2:1 S FBMOD=$P($P(FBDATA,U,2),",",FBI) Q:FBMOD=""  D  Q:FBOUT
 | 
|---|
 | 52 |  . . I $Y+7>IOSL D PAGE Q:FBOUT  D SHA Q:FBOUT  D SHA2 Q:FBOUT  W !,"  (continued)"
 | 
|---|
 | 53 |  . . W !?16,"-",FBMOD
 | 
|---|
 | 54 |  W !,$P(FBDATA,U,3)
 | 
|---|
 | 55 |  W ?13,$P(FBDATA,U,4)
 | 
|---|
 | 56 |  W ?23,$S($P(FBADJ,U,3)]"":$P(FBADJ,U,3),1:$P(FBDATA,U,5))
 | 
|---|
 | 57 |  W ?33,$J($S($P(FBADJ,U,4)]"":$J($P(FBADJ,U,4),14),1:$P(FBADJ,U,1)),14)
 | 
|---|
 | 58 |  W ?48,$P(FBADJ,U,5)
 | 
|---|
 | 59 |  W ?60,$P(FBADJ,U,6)
 | 
|---|
 | 60 |  ;If FPPS Claim ID exists then print it.
 | 
|---|
 | 61 |  I $P(FBADJ,U,7)]"" D
 | 
|---|
 | 62 |  .W !?5,"FPPS Claim ID: ",$P(FBADJ,U,7),"    FPPS Line Item: ",$P(FBADJ,U,8)
 | 
|---|
 | 63 |  W !?4,"Primary Dx: ",$P(FBDATA,U,10),?40,"S/C Condition? ",$P(FBDATA,U,9),?66,"Obl.#: ",$P(FBDATA,U,11)
 | 
|---|
 | 64 |  N A2 S A2=$$EXTRL^FBMRASVR($P(FBDATA,U,4))
 | 
|---|
 | 65 |  D PMNT^FBAACCB2
 | 
|---|
 | 66 |  Q
 | 
|---|
 | 67 | HDR ;main header
 | 
|---|
 | 68 |  I FBPG>0!FBCRT W @IOF
 | 
|---|
 | 69 |  S FBPG=FBPG+1
 | 
|---|
 | 70 |  I $D(FBHEAD) D
 | 
|---|
 | 71 |  .W !?25,FBHEAD_" PAYMENT HISTORY"
 | 
|---|
 | 72 |  .I $G(FB1725R)]"",FB1725R'="A" W " ",$S(FB1725R="M":"for 38 U.S.C. 1725 Claims",1:"excluding 38 U.S.C. 1725 Claims")
 | 
|---|
 | 73 |  .W !,?24,$E(FBDASH,1,24),?71,"Page: ",FBPG,!?48,"Date Range: ",$$DATX^FBAAUTL(FBBDATE)," to ",$$DATX^FBAAUTL(FBEDATE)
 | 
|---|
 | 74 |  I '$D(FBHEAD) W !?30,"INVOICE DISPLAY",!?29,$E(FBDASH,1,17),!
 | 
|---|
 | 75 |  W ! W:FBSORT "Patient: ",FBPNAME,?41,"Patient ID: ",FBPID W:'FBSORT "Vendor: ",FBVNAME,?41,"Vendor ID: ",FBVID
 | 
|---|
 | 76 |  W !?(IOM-(13+$L(FBPROG(+FBPI)))/2),"FEE PROGRAM: ",FBPROG(+FBPI)
 | 
|---|
 | 77 |  W !?3,"('*' Reimb. to Patient  '+' Cancel. Activity  '#' Voided Payment)"
 | 
|---|
 | 78 |  W !,?3,"(paid symbol: 'R' RBRVS  'F' 75th percentile  'C' contract  'M' Mill Bill"
 | 
|---|
 | 79 |  W !,?3,"              'U' U&C)"
 | 
|---|
 | 80 |  W !?1,"Invoice Date",?15,"Invoice No.",?31,"From Date",?48,"To Date",?57,"Patient Control #"
 | 
|---|
 | 81 |  W !?1,"Amt Claimed",?15,"Amt Paid",?25,"Cov Days",?36,"Adj Codes",?49,"Adj Amounts",?63,"Remit Remarks",!,FBDASH
 | 
|---|
 | 82 |  Q
 | 
|---|
 | 83 | SH ;subheader - vendor if fbsort; patient if 'fbsort, prints when name changed
 | 
|---|
 | 84 |  I ($Y+7)>IOSL D:FBCRT CR Q:FBOUT  D HDR
 | 
|---|
 | 85 |  I FBSORT W !!,"Vendor: ",$P(FBVI,";"),?41,"Vendor ID: ",$P(FBVI,";",2)
 | 
|---|
 | 86 |  I 'FBSORT W !!,"Patient: ",$P(FBPT,";"),?41,"Patient ID: ",$$SSNL4^FBAAUTL($$SSN^FBAAUTL($P(FBPT,";",2)))
 | 
|---|
 | 87 |  Q
 | 
|---|
 | 88 | SHA ;ancillary subheader
 | 
|---|
 | 89 |  I ($Y+14)>IOSL D PAGE Q:FBOUT
 | 
|---|
 | 90 |  W !?20,">>> ANCILLARY SERVICE PAYMENTS <<<",!
 | 
|---|
 | 91 | SHA1 ;subheader for ancillary data
 | 
|---|
 | 92 |  W !,?1,"Svc Date",?11,"CPT-MOD ",?21,"Rev Code",?31,"Units Paid",?43,"Batch No.",?54,"Inv No.",?64,"Voucher Date"
 | 
|---|
 | 93 |  W !,"Amt Claimed",?13,"Amt Paid",?23,"Adj Code",?36,"Adj Amounts",?48,"Remit Remark",?61,"Patient Account No",!,FBDASH
 | 
|---|
 | 94 |  Q
 | 
|---|
 | 95 | SHA2 ;subheader for vendor name
 | 
|---|
 | 96 |  I ($Y+5)>IOSL D:FBCRT CR Q:FBOUT  D HDR,SH,SHA
 | 
|---|
 | 97 |  I FBOV'=FBV S FBOV=FBV
 | 
|---|
 | 98 |  W !!,"Vendor: ",$P(FBV,";"),?41,"Vendor ID: ",$P(FBV,";",2)
 | 
|---|
 | 99 |  Q
 | 
|---|
 | 100 | CR ;read for display
 | 
|---|
 | 101 |  Q:'FBPG  S DIR(0)="E" W ! D ^DIR K DIR S:$D(DUOUT)!($D(DTOUT)) FBOUT=1
 | 
|---|
 | 102 |  Q
 | 
|---|
 | 103 | PAGE ;new page
 | 
|---|
 | 104 |  I FBCRT D CR Q:FBOUT
 | 
|---|
 | 105 |  D HDR,SH
 | 
|---|
 | 106 |  Q
 | 
|---|
 | 107 | WRTDX I $P(FBDX,"^",K)]"" W ?4,"Dx: ",$$ICD9^FBCSV1($P(FBDX,"^",K)),"  " Q
 | 
|---|
 | 108 |  Q
 | 
|---|
 | 109 | WRTPC I $P(FBPROC,"^",L)]"" W ?4,"Proc: ",$$ICD0^FBCSV1($P(FBPROC,"^",L)),"   " Q
 | 
|---|
 | 110 |  Q
 | 
|---|
 | 111 | WRTSC ;write service connected
 | 
|---|
 | 112 |  W !,"SERVICE CONNECTED? ",$S(+VAEL(3):"YES",1:"NO"),!
 | 
|---|
 | 113 |  Q
 | 
|---|
 | 114 | TRAV ;write out travel payments, (FBPAT,FBSORT) must be defined
 | 
|---|
 | 115 |  S FBTRDT=0
 | 
|---|
 | 116 |  F  S FBTRDT=$O(^TMP($J,"FBTR",FBPAT,FBTRDT)) Q:'FBTRDT  S FBTRX=0 F  S FBTRX=$O(^TMP($J,"FBTR",FBPAT,FBTRDT,FBTRX)) Q:'FBTRX  S FBCKIN=^(FBTRX),A2=$P(FBCKIN,"^") D TRCK Q:FBOUT  W:$G(FBTRCK) !,?5,"TRAVEL PAYMENTS: " D  K FBTRCK
 | 
|---|
 | 117 |  .W ?22,$$DATX^FBAAUTL(FBTRDT),?35,A2
 | 
|---|
 | 118 |  .S A2=$$EXTRL^FBMRASVR(A2) D EFBCK^FBPAY21(FBCKIN),PMNT^FBAACCB2
 | 
|---|
 | 119 |  .K A2 W ! Q
 | 
|---|
 | 120 |  Q
 | 
|---|
 | 121 | TRCK I ($Y+5)>IOSL D:FBCRT CR Q:FBOUT  D HDR^FBPAY21
 | 
|---|
 | 122 |  Q
 | 
|---|