| [613] | 1 | FBPHON2 ;AISC/CMR-LIST PAYMENTS CONT. ;4/17/2000
 | 
|---|
 | 2 |  ;;3.5;FEE BASIS;**4,21,77**;JAN 30, 1995
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  D FULL^VALM1
 | 
|---|
 | 5 | EN N FBI,FBX,FBAAOUT,Q S Q="-",$P(Q,"-",80)="-",FBAAOUT=0,VALMBCK="R"
 | 
|---|
 | 6 |  D SEL^VALM2 G END:'$O(VALMY(0))
 | 
|---|
 | 7 |  S FBI=0 F  S FBI=$O(VALMY(FBI)) Q:'FBI  I $D(^TMP("FBPHIDX",$J,FBI)) S FBX=^(FBI) D @FBPR I '$G(FBAAOUT) S DIR(0)="E",DIR("A")="Press 'ENTER' to "_$S($O(VALMY(FBI)):"view next selection",1:"return to list") D ^DIR K DIR Q:'Y
 | 
|---|
 | 8 |  Q
 | 
|---|
 | 9 | END S VALMBCK="R" Q
 | 
|---|
 | 10 | BT ;display batch for chosen line item
 | 
|---|
 | 11 |  W @IOF N B
 | 
|---|
 | 12 |  S B=$P(FBX,U,8) I B']"" D ERR Q
 | 
|---|
 | 13 |  I $D(^FBAA(161.7,B,0)) S FBTYPE=$P(^FBAA(161.7,B,0),U,3)
 | 
|---|
 | 14 |  D ENM^FBAACCB:FBTYPE="B3",ENP^FBAACCB:FBTYPE="B5",ENT^FBAACCB0:FBTYPE="B2",PRTC^FBAACCB1:FBTYPE="B9"
 | 
|---|
 | 15 |  Q
 | 
|---|
 | 16 | INV ;display invoice for chosen line item
 | 
|---|
 | 17 |  W @IOF N FBAAIN,FBAAOUT,FBINTOT,J,DA,FBI
 | 
|---|
 | 18 |  I $P(FBX,U,7)']"" D ERR Q
 | 
|---|
 | 19 |  I $P(FBX,U)="PHAR" S DA=$P(FBX,U,7) D START^FBAAPII Q
 | 
|---|
 | 20 |  I $P(FBX,U)="CH"!($P(FBX,U)="CNH") S FBI=$P(FBX,U,7) D START^FBCHDI2 Q
 | 
|---|
 | 21 |  I $P(FBX,U)="OPT" D  D Q^FBAAPIN
 | 
|---|
 | 22 |  .S FBAAIN=$P(FBX,U,7),(FBAAOUT,FBINTOT,J)=0 F  S J=$O(^FBAAC("C",FBAAIN,J)) Q:'J!(FBAAOUT)  D MMORE^FBAAPIN
 | 
|---|
 | 23 |  D Q^FBAAPIN
 | 
|---|
 | 24 |  Q
 | 
|---|
 | 25 | BS ;display batch status for chosen line item
 | 
|---|
 | 26 |  W @IOF N DA
 | 
|---|
 | 27 |  I $P(FBX,U,8)']"" D ERR Q
 | 
|---|
 | 28 |  S DA=$P(FBX,U,8) D START^FBAABS
 | 
|---|
 | 29 |  Q
 | 
|---|
 | 30 | DV ;display vendor demographics for chosen vendor
 | 
|---|
 | 31 |  N DA S VALMBCK="R"
 | 
|---|
 | 32 |  S DA=FBV D CLEAR^VALM1,EN1^FBAAVD
 | 
|---|
 | 33 |  I $D(^XUSEC("FBAA ESTABLISH VENDOR",DUZ)) S DIR(0)="Y",DIR("A")="Want to Edit data",DIR("B")="NO" D ^DIR K DIR Q:$D(DIRUT)  D:Y EDITV^FBAAVD
 | 
|---|
 | 34 |  I '$D(^XUSEC("FBAA ESTABLISH VENDOR",DUZ)) S DIR(0)="E" D ^DIR K DIR
 | 
|---|
 | 35 |  D Q^FBAAVD Q
 | 
|---|
 | 36 | DA ;display patient auth for selected line item
 | 
|---|
 | 37 |  W @IOF N FB1,FBDA,FBTYP
 | 
|---|
 | 38 |  S FBDA=$P(FBX,U,9)
 | 
|---|
 | 39 |  I $P(FBX,U)="OPT" S FB1=$P(^FBAAC(DFN,1,FBV,1,$P(FBDA,",",3),1,$P(FBDA,",",4),0),U,13) D  Q
 | 
|---|
 | 40 |  .I FB1']"" S FBPROG=$P(^FBAAC(DFN,1,FBV,1,$P(FBDA,",",3),0),U,4),FBPROG=$S(FBPROG:"I FBI="_FBPROG,1:""),PI="" D ^FBAADEM K FBPROG,FBAUT,PI Q
 | 
|---|
 | 41 |  .I FB1["583" D UNAUTH Q
 | 
|---|
 | 42 |  .I FB1["7078" D INP Q
 | 
|---|
 | 43 |  I $P(FBX,U)="PHAR" S FB1=$P(^FBAA(162.1,+FBDA,"RX",$P(FBDA,",",2),2),U,6) D  Q
 | 
|---|
 | 44 |  .I FB1']"" S FBPROG=$P($G(^FBAA(162.1,+FBDA,"RX",$P(FBDA,",",2),2)),U,7),FBPROG=$S(FBPROG:"I FBI="_FBPROG,1:""),PI="" D ^FBAADEM K FBPROG,FBAUT,PI Q
 | 
|---|
 | 45 |  .I FB1["583" D UNAUTH Q
 | 
|---|
 | 46 |  .I FB1["7078" D INP Q
 | 
|---|
 | 47 |  I $P(FBX,U)["C" S FB1=$P(^FBAAI(+FBDA,0),U,5) I FB1["583" D UNAUTH Q
 | 
|---|
 | 48 | INP N DA,FBDA,DIC,DR S (FBDA,DA)=+FB1,DIC="^FB7078(",DR="0;1" W @IOF D EN^DIQ
 | 
|---|
 | 49 |  I $$DISCH^FBCH780(FBDA)]"" W ?2,"DISCHARGE TYPE: ",$$DISCH^FBCH780(FBDA)
 | 
|---|
 | 50 |  Q
 | 
|---|
 | 51 | UNAUTH N DA,DIC,DR S DA=+FB1,DIC="^FB583(",DR="0;1" W @IOF D EN^DIQ
 | 
|---|
 | 52 |  Q
 | 
|---|
 | 53 | EV ;expand view
 | 
|---|
 | 54 |  W @IOF N FBZ S FBZ=$P(FBX,U,9)
 | 
|---|
 | 55 |  I $P(FBX,U)="OPT" S DIC="^FBAAC("_DFN_",1,"_FBV_",1,"_$P(FBZ,",",3)_",1,",DA(3)=DFN,DA(2)=FBV,DA(1)=$P(FBZ,",",3),DA=$P(FBZ,",",4),DR=""
 | 
|---|
 | 56 |  I $P(FBX,U)="PHAR" S DIC="^FBAA(162.1,"_+FBZ_",""RX"",",DA(1)=+FBZ,DA=$P(FBZ,",",2),DR=""
 | 
|---|
 | 57 |  I $P(FBX,U)["C" S DIC="^FBAAI(",DA=FBZ,DR=""
 | 
|---|
 | 58 |  W @IOF D EN^DIQ
 | 
|---|
 | 59 |  K DIC,DA,DR
 | 
|---|
 | 60 |  Q
 | 
|---|
 | 61 | CP ;change patient
 | 
|---|
 | 62 |  D CLEAR^VALM1
 | 
|---|
 | 63 |  N FBCP S VALMBCK="R"
 | 
|---|
 | 64 |  S DIR(0)="P^161:EMZ",DIR("A")="Payments for veteran" D ^DIR K DIR I $D(DIRUT) Q
 | 
|---|
 | 65 |  S DFN=+Y,FBCP=1 D HDR^FBPHON,START^FBPHON
 | 
|---|
 | 66 |  Q
 | 
|---|
 | 67 | CV ;change vendor
 | 
|---|
 | 68 |  D CLEAR^VALM1
 | 
|---|
 | 69 |  N FBCP S VALMBCK="R"
 | 
|---|
 | 70 |  S DIR(0)="P^161.2:EMZ" D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
 | 71 |  S FBV=+Y,FBCP=1 D HDR^FBPHON,START^FBPHON
 | 
|---|
 | 72 |  Q
 | 
|---|
 | 73 | DC ;display check
 | 
|---|
 | 74 |  W @IOF S FBCN=$P(FBX,U,11) I FBCN']"" W !,*7,"No check found for this line item." Q
 | 
|---|
 | 75 |  D START^FBCKDIS
 | 
|---|
 | 76 |  Q
 | 
|---|
 | 77 | CD ;display CPT/MOD description
 | 
|---|
 | 78 |  W @IOF
 | 
|---|
 | 79 |  N FBCPT,FBJ,FBMOD,FBMODX
 | 
|---|
 | 80 |  Q:$P(FBX,U)'="OPT"!($P(FBX,U,3)']"")
 | 
|---|
 | 81 |  S FBCPT=$P(FBX,U,3) W !,"Line item #",FBI,!?5,"CPT: ",$P(FBCPT,"-"),?18,$P($$CPT^ICPTCOD($P(FBCPT,"-"),$S(+$P(FBX,U,2)>0:+$P(FBX,U,2),1:""),1),U,3)
 | 
|---|
 | 82 |  I FBCPT["-" F FBJ=1:1 S FBMOD=$P($P(FBCPT,"-",2),",",FBJ) Q:FBMOD=""  D
 | 
|---|
 | 83 |  . W !?5,"MOD: ",FBMOD
 | 
|---|
 | 84 |  . S FBMODX=$$MOD^ICPTMOD(FBMOD,"E",$P(FBX,U,2))
 | 
|---|
 | 85 |  . ; if modifier data not obtained then try another API to resolve it
 | 
|---|
 | 86 |  . ; since there can be duplicate modifiers with same external value
 | 
|---|
 | 87 |  . I $P(FBMODX,U)'>0 D
 | 
|---|
 | 88 |  . . N FBY
 | 
|---|
 | 89 |  . . S FBY=$$MODP^ICPTMOD($P(FBCPT,"-"),FBMOD,"E",$P(FBX,U,2))
 | 
|---|
 | 90 |  . . I $P(FBY,U)>0 S FBMODX=$$MOD^ICPTMOD($P(FBY,U),"I",$P(FBX,U,2))
 | 
|---|
 | 91 |  . W ?18,$S($P(FBMODX,U)>0:$P(FBMODX,U,3),1:"")
 | 
|---|
 | 92 |  Q
 | 
|---|
 | 93 | ERR ;
 | 
|---|
 | 94 |  W !,"No ",$S(FBPR["B":"batch",1:"invoice")," number on file for this entry" Q
 | 
|---|