| 1 | FBCHPET ;AISC/DMK-EDIT ANCILLARY PAYMENT ;7/13/2003
 | 
|---|
| 2 |  ;;3.5;FEE BASIS;**4,38,61,77**;JAN 30, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  S FY=$E(DT,1,3)+1700+$S($E(4,5)>9:1,1:0)
 | 
|---|
| 5 | GETPT I $G(BAT) D
 | 
|---|
| 6 |  .I '$D(^FBAAC("AC",+BAT)) F I=9,10,11 S $P(^FBAA(161.7,+BAT,0),U,I)=""
 | 
|---|
| 7 |  .I $D(^FBAAC("AC",+BAT)) D  S $P(^FBAA(161.7,+BAT,0),U,11)=I,$P(^(0),U,9)=$G(FBTOT) K I,FBTOT
 | 
|---|
| 8 |  ..N J,K,L,M S (I,J,K,L,M,FBTOT)=0
 | 
|---|
| 9 |  ..F  S J=$O(^FBAAC("AC",+BAT,J)) Q:'J  F  S K=$O(^FBAAC("AC",+BAT,J,K)) Q:'K  F  S L=$O(^FBAAC("AC",+BAT,J,K,L)) Q:'L  F  S M=$O(^FBAAC("AC",+BAT,J,K,L,M)) Q:'M  I $D(^FBAAC(J,1,K,1,L,1,M,0)) S I=I+1,FBTOT=FBTOT+$P(^(0),U,3)
 | 
|---|
| 10 |  W !! S DIC="^FBAAC(",DIC(0)="AEQM" D ^DIC G END:X="^"!(X=""),GETPT:Y<0 S (DFN,FBDA(3))=+Y
 | 
|---|
| 11 |  S:'$D(^FBAAC(DFN,1,0)) ^FBAAC(DFN,1,0)="^162.01P^0^0"
 | 
|---|
| 12 |  S DIC=DIC_DFN_",1,"
 | 
|---|
| 13 | GETVD W !! S DIC(0)="AEQM" D ^DIC G GETPT:X="^"!(X=""),GETVD:Y<0 S (FBV,FBVD,FBDA(2))=+Y
 | 
|---|
| 14 |  S:'$D(^FBAAC(DFN,1,FBDA(2),1,0)) ^FBAAC(DFN,1,FBDA(2),1,0)="^162.02DA^0^0"
 | 
|---|
| 15 |  S DIC=DIC_FBVD_",1,"
 | 
|---|
| 16 | GETDT S DIC(0)="AEQM",DIC("A")="Date of Service: " D ^DIC K DIC("A") G GETPT:X="^"!(X=""),GETDT:Y<0 S (FBSD,FBSDI,FBDA(1))=+Y,FBAADT=$P(Y,U,2)
 | 
|---|
| 17 |  S:'$D(^FBAAC(DFN,1,FBDA(2),1,FBDA(1),1,0)) ^FBAAC(DFN,1,FBDA(2),1,FBDA(1),1,0)="^162.03A^0^0"
 | 
|---|
| 18 |  S FBZ=DIC_FBSD_",1,"
 | 
|---|
| 19 | SERV S DA(3)=FBDA(3),DA(2)=FBDA(2),DA(1)=FBDA(1)
 | 
|---|
| 20 |  S DIC("W")="N FBX S FBX=$$MODL^FBAAUTL4(""^FBAAC(FBDA(3),1,FBDA(2),1,FBDA(1),1,+Y,""""M"""")"",""E"") W:FBX]"""" ""    CPT Modifier(s): "",FBX Q"
 | 
|---|
| 21 |  S DIC=FBZ,DIC(0)="AEQMZ"
 | 
|---|
| 22 |  D
 | 
|---|
| 23 |  . N ICPTVDT S ICPTVDT=$G(FBAADT) D ^DIC
 | 
|---|
| 24 |  G GETPT:X="^"!(X=""),SERV:Y<0 S (FBSV,FBAACPI,FBDA)=+Y,BAT=$P(Y(0),U,8),FBDUZ=$P(Y(0),U,7),(FBAACP,FBAACP(0))=$P(Y,U,2),K=$P(Y(0),U,3),FBAAPTC=$P(Y(0),U,20),J(0)=$P(Y(0),U,2)
 | 
|---|
| 25 |  ; set FB1725 true (1) if payment is for a Mill Bill claim
 | 
|---|
| 26 |  S FB1725=$S($P(Y(0),U,13)["FB583":+$P($G(^FB583(+$P(Y(0),U,13),0)),U,28),1:0)
 | 
|---|
| 27 |  I FBDUZ'=DUZ&('$D(^XUSEC("FBAASUPERVISOR",DUZ))) W !!,*7,"Sorry,only the clerk who entered the payment ",!," or a supervisor can edit this payment." G GETPT
 | 
|---|
| 28 |  S FBAAMM1=$P($G(^FBAAC(FBDA(3),1,FBDA(2),1,FBDA(1),1,FBDA,2)),U,2)
 | 
|---|
| 29 |  S FBFSAMT(0)=$P($G(^FBAAC(FBDA(3),1,FBDA(2),1,FBDA(1),1,FBDA,2)),U,12)
 | 
|---|
| 30 |  ; determine lesser of original fee schedule amount and amount claimed
 | 
|---|
| 31 |  S FBAMTPD(0)=$S(FBFSAMT(0)="":J(0),FBFSAMT(0)>J(0):J(0),1:FBFSAMT(0))
 | 
|---|
| 32 |  S FBMODL=$$MODL^FBAAUTL4("^FBAAC("_FBDA(3)_",1,"_FBDA(2)_",1,"_FBDA(1)_",1,"_FBDA_",""M"")")
 | 
|---|
| 33 |  ; load current adjustment data
 | 
|---|
| 34 |  D LOADADJ^FBAAFA(FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",",.FBADJ)
 | 
|---|
| 35 |  ; save adjustment data prior to edit session in sorted list
 | 
|---|
| 36 |  S FBADJL(0)=$$ADJL^FBUTL2(.FBADJ) ; sorted list of original adjustments
 | 
|---|
| 37 |  ; load current remittance remark data
 | 
|---|
| 38 |  D LOADRR^FBAAFR(FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",",.FBRRMK)
 | 
|---|
| 39 |  ; save remittance remarks prior to edit session in sorted list
 | 
|---|
| 40 |  S FBRRMKL(0)=$$RRL^FBUTL4(.FBRRMK)
 | 
|---|
| 41 |  S FBFPPSC(0)=$P($G(^FBAAC(FBDA(3),1,FBDA(2),1,FBDA(1),1,FBDA,3)),U)
 | 
|---|
| 42 |  S FBFPPSC=FBFPPSC(0)
 | 
|---|
| 43 |  S FBFPPSL(0)=$P($G(^FBAAC(FBDA(3),1,FBDA(2),1,FBDA(1),1,FBDA,3)),U,2)
 | 
|---|
| 44 |  S FBFPPSL=FBFPPSL(0)
 | 
|---|
| 45 |  G:BAT']"" EDIT
 | 
|---|
| 46 |  I $P($G(^FBAA(161.7,BAT,"ST")),"^",1)="S"!($P($G(^FBAA(161.7,BAT,"ST")),"^",1)="T")&('$D(^XUSEC("FBAASUPERVISOR",DUZ))) W !!,*7,"Sorry, only the Supervisor can edit a payment once the batch has been released." G GETPT
 | 
|---|
| 47 |  I $P($G(^FBAA(161.7,BAT,"ST")),"^",1)="V" W !!,*7,"Sorry,you cannot edit a payment once the batch has been Finalized." G GETPT
 | 
|---|
| 48 | EDIT S DA=FBSV
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ; first edit CPT code and modifiers
 | 
|---|
| 51 |  D CPTM^FBAALU(FBAADT,DFN,FBAACP(0),FBMODL) I '$G(FBGOT) G GETPT
 | 
|---|
| 52 |  ; if CPT was changed then update file
 | 
|---|
| 53 |  I FBAACP'=FBAACP(0) D  I FBAACP="@" G GETPT
 | 
|---|
| 54 |  . N FBIENS,FBFDA
 | 
|---|
| 55 |  . S FBIENS=FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_","
 | 
|---|
| 56 |  . S FBFDA(162.03,FBIENS,.01)=FBAACP
 | 
|---|
| 57 |  . D FILE^DIE("","FBFDA") D MSG^DIALOG()
 | 
|---|
| 58 |  ; if modifiers changed then update file
 | 
|---|
| 59 |  I FBMODL'=$$MODL^FBAAUTL4("FBMODA") D REPMOD^FBAAUTL4(FBDA(3),FBDA(2),FBDA(1),FBDA)
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 |  ; now edit remaining fields
 | 
|---|
| 62 |  S DIE("NO^")=""
 | 
|---|
| 63 |  S DR="48;47;S FBUNITS=X;42R;S FBZIP=X;S:$$ANES^FBAAFS($$CPT^FBAAUTL4(FBAACP)) Y=""@2"";43///@;S FBTIME=X;S Y=""@3"";@2;43R;S FBTIME=X;@3"
 | 
|---|
| 64 |  S DR(1,162.03,1)="S FBAAMM=$S(FBAAPTC=""R"":"""",1:1);D PPT^FBAACO1(FBAAMM1);34///@;34////^S X=FBAAMM1;30R;S FBHCFA(30)=X;1;S J=X;Q"
 | 
|---|
| 65 |  S DR(1,162.03,2)="D FEEDT^FBAACO3;44///@;44///^S X=FBFSAMT;45///@;45///^S X=FBFSUSD;S:FBAMTPD'>0!(FBAMTPD=FBAMTPD(0)) Y=""@4"";2///^S X=FBAMTPD;@4;2//^S X=FBAMTPD;D CHKIT^FBAACO3;S K=X"
 | 
|---|
| 66 |  ;S DR(1,162.03,3)="3////^S X=$S(J-K:J-K,1:"""");I X S Y=""@11"";4////@;S Y=""@5"";@11;3R;4R;S:X'=4 Y=""@5"";22"
 | 
|---|
| 67 |  S DR(1,162.03,3)="K FBADJD;M FBADJD=FBADJ;S FBX=$$ADJ^FBUTL2(J-K,.FBADJ,2,,.FBADJD,1)"
 | 
|---|
| 68 |  S DR(1,162.03,4)="S FBX=$$FPPSC^FBUTL5(1,FBFPPSC);S:FBX=-1 Y=0;S:FBX="""" Y=""@5"";50///^S X=FBX;S FBFPPSC=X;S FBX=$$FPPSL^FBUTL5(FBFPPSL);S:FBX=-1 Y=0;51///^S X=FBX;S FBFPPCL=X;S Y=""@55"";@5;50///@;S FBFPPSC="""";51///@;S FBFPPCL="""";@55"
 | 
|---|
| 69 |  S DR(1,162.03,5)="@5;K DIE(""NO^"");W !,""Exit ('^') allowed now"";26;S PRC(""SITE"")=X;8;13;Q;33;49"
 | 
|---|
| 70 |  S DR(1,162.03,6)="15;16;17////^S X=1"
 | 
|---|
| 71 |  S DR(1,162.03,7)="@7;K FBRRMKD;M FBRRMKD=FBRRMK;S FBX=$$RR^FBUTL4(.FBRRMK,2,,.FBRRMKD)"
 | 
|---|
| 72 |  S DIE=FBZ
 | 
|---|
| 73 |  D
 | 
|---|
| 74 |  . N ICPTVDT,ICDVDT S (ICPTVDT,ICDVDT)=$G(FBAADT) D ^DIE
 | 
|---|
| 75 |  ; if adjustment data changed then file
 | 
|---|
| 76 |  I $$ADJL^FBUTL2(.FBADJ)'=FBADJL(0) D FILEADJ^FBAAFA(FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",",.FBADJ)
 | 
|---|
| 77 |  ; if remit remark data changed then file
 | 
|---|
| 78 |  I $$RRL^FBUTL4(.FBRRMK)'=FBRRMKL(0) D FILERR^FBAAFR(FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",",.FBRRMK)
 | 
|---|
| 79 |  ; if FPPS CLAIM ID changed, update other line items on invoice
 | 
|---|
| 80 |  I FBFPPSC'=FBFPPSC(0) D
 | 
|---|
| 81 |  . N FBAAIN
 | 
|---|
| 82 |  . S FBAAIN=$$GET1^DIQ(162.03,FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",",14)
 | 
|---|
| 83 |  . D CKINVEDI^FBAAPET1(FBFPPSC(0),FBFPPSC,FBAAIN,FBDA_","_FBDA(1)_","_FBDA(2)_","_FBDA(3)_",")
 | 
|---|
| 84 |  K FBSV W !! G SERV
 | 
|---|
| 85 | END K DR,DIC,DIE,X,DFN,FBVD,FBSD,BAT,FBSV,DA,FBDA,FBZ,FBDUZ,FBAACP,FBFY,FY,FBAMTPD,J,K,Y,PRC,FBHOLDX,ZZ,FBAADT,FBV,FBSDI,FBAACPI
 | 
|---|
| 86 |  K FBAAMM,FBAAMM1,FBFSAMT,FBFSUSD,FBMODA,FBZIP,FBTIME,FBHCFA(30)
 | 
|---|
| 87 |  K FBAAPTC,FB1725
 | 
|---|
| 88 |  K FBADJ,FBADJD,FBADJL,FBRRMK,FBRRMKD,FBRRMKL,FBX,FBUNITS
 | 
|---|
| 89 |  Q
 | 
|---|