64 lines
4.3 KiB
Mathematica
64 lines
4.3 KiB
Mathematica
FBCHVP ;AISC/CMR-VOID & CANCEL VOIDED INPATIENT PAYMENT ;3/3/93
|
|
;;3.5;FEE BASIS;**55,69**;JAN 30, 1995
|
|
;;Per VHA Directive 10-93-142, this routine should not be modified.
|
|
;Variable 'FBVOID' is set if cancelling a voided payment.
|
|
;Variable 'FBTYPE' is set to 6 for CH or 7 for CNH.
|
|
D DT^DICRW
|
|
I '$D(^XUSEC("FBAASUPERVISOR",DUZ)) W !!,*7,"Sorry, you must be a supervisor to use this option.",! Q
|
|
RDP ;Get veteran if they have an inpatient invoice (DFN).
|
|
K ^TMP($J) W !! S DIC=161,DIC(0)="AEMZ",DIC("S")="I $D(^FBAAI(""AK"",+Y))" D ^DIC K DIC G Q:X=""!($D(DTOUT))!($D(DUOUT)),RDP:Y<0 S DFN=+Y
|
|
RDV ;Get vendor if an inpatient provider for this patient (FBV).
|
|
W !! S DIC=161.2,DIC(0)="AEMZ",DIC("S")="I $D(^FBAAI(""AK"",DFN,+Y))" D ^DIC K DIC G Q:X=""!($D(DTOUT))!($D(DUOUT)),RDV:Y<0 S FBV=+Y
|
|
D EN1
|
|
I FBCTR=0 W !!?12,*7,"Vendor has no",$S($D(FBVOID):" VOIDED",1:"")," finalized payments ",$S('$D(FBVOID):"to VOID",1:""),!?12,"for this patient under the ",$S(FBTYPE=6:"CIVIL HOSPITAL",1:"COMMUNITY NURSING HOME")," program." G RDV
|
|
W !!,"Which payment item(s) would you like to ",$S($D(FBVOID):"Cancel the void on",1:"Void")," ? " S DIR(0)="L^1:"_FBCTR D ^DIR G RDV:$D(DIRUT) S FBX=Y W @IOF D HED
|
|
F A=1:1:FBCTR S X=$P(FBX,",",A) Q:X="" S FBI=+FBI(X),FBINV=^TMP($J,"FBCHVP",FBI),FBVD=$P(FBINV,"^",14) W ! D WRT1 S ^TMP($J,"FBCHVP","VOID",FBI)=""
|
|
W ! S DIR(0)="Y",DIR("A")="Are you sure you want to "_$S($D(FBVOID):"Cancel the void on",1:"Void")_" the payment(s)",DIR("B")="No" D ^DIR K DIR G RDP:$D(DIRUT)!'Y
|
|
S FBI=0 F S FBI=$O(^TMP($J,"FBCHVP","VOID",FBI)) Q:FBI'>0 D SETR,CONF W !,?5,".... Done.",!
|
|
Q K DFN,FBV,FBI,FBTYPE,FBVOID,FBCTR,FBAMTC,FBAMTP,FBBAT,FBDRG,FBFDT,FBINV,FBNUM,FBREIM,FBTDT,FBVD,Q,FBX,VP,^TMP($J,"FBCHVP"),Y,DIE,DR,FBVR,DA
|
|
Q
|
|
EN1 ;Find finalized payments that match FBTYPE and store in ^TMP.
|
|
S (FBI,FBCTR)=0,Q="-",$P(Q,"-",80)="-"
|
|
S IOP=$S($D(ION):ION,1:"HOME") D ^%ZIS K IOP
|
|
F S FBI=$O(^FBAAI("AK",DFN,FBV,FBI)) Q:FBI'>0 I $D(^FBAAI(FBI,0)),'$D(^("FBREJ")) S FBINV=^(0),FBVD=$P(FBINV,"^",14) I $P(FBINV,"^",16)'=""&($P(FBINV,"^",12)=FBTYPE)&($S($D(FBVOID):(FBVD="VP"),1:(FBVD=""))) D WRT
|
|
Q
|
|
WRT N FBX,FBY2,FBY3,FBCDAYS,FBSCID,FBFPPSC,FBFPPSL,FBADJLR,FBRRMKL
|
|
S FBX=$$ADJLRA^FBCHFA(FBI_",")
|
|
S FBY2=$G(^FBAAI(FBI,2))
|
|
S FBY3=$G(^FBAAI(FBI,3))
|
|
S FBCDAYS=$P(FBY2,U,10) ; covered days
|
|
S FBSCID=$P(FBY2,U,11) ; patient control number
|
|
S FBFPPSC=$P(FBY3,U) ; fpps claim id
|
|
S FBFPPSL=$P(FBY3,U,2) ; fpps line item
|
|
S FBRRMKL=$$RRL^FBCHFR(FBI_",") ; remit remarks
|
|
S FBADJLR=$P(FBX,U) ; adjustment reason
|
|
S ^TMP($J,"FBCHVP",FBI)=FBINV
|
|
S ^TMP($J,"FBCHVP",FBI,"FBMR")=FBCDAYS_U_FBADJLR_U_FBRRMKL_U_FBSCID_U_FBFPPSC_U_FBFPPSL
|
|
I FBCTR=0!($Y+5>IOSL) W @IOF D HED
|
|
S FBCTR=FBCTR+1,FBI(FBCTR)=FBI
|
|
W !,FBCTR_") " D WRT1 I $D(FBVOID)&($D(^FBAAI(FBI,"R"))) W !?3,"Reason:",!?10,^("R"),!
|
|
Q
|
|
WRT1 N FBMRVP S FBMRVP=^TMP($J,"FBCHVP",FBI,"FBMR")
|
|
S FBREIM=$P(FBINV,"^",13),FBFDT=$P(FBINV,"^",6),FBTDT=$P(FBINV,"^",7),FBDRG=$P(FBINV,"^",24),FBAMTC=$P(FBINV,"^",8),FBAMTP=$P(FBINV,"^",9),FBNUM=+FBINV,FBBAT=$P(FBINV,"^",17)
|
|
D FBCKI^FBAACCB1(FBI)
|
|
W $S(FBREIM="R":"*",1:""),$S(FBVD="VP":"#",1:""),?3,$$DATX^FBAAUTL(FBFDT),?16,$$DATX^FBAAUTL(FBTDT)
|
|
W ?26,$S($G(FBDRG):$J($$ICD^FBCSV1(FBDRG,$G(FBFDT)),4),1:""),?35,$J($FN(FBAMTC,",",2),8),?48,$J($FN(FBAMTP,",",2),8),?62,$J(FBNUM,5),?72,$J($P($G(^FBAA(161.7,+FBBAT,0)),"^"),6)
|
|
W !,?5,$P(FBMRVP,U),?19,$P(FBMRVP,U,2),?34,$P(FBMRVP,U,3),?54,$P(FBMRVP,U,4)
|
|
I $P(FBMRVP,U,5)]"" W !,?5,"FPPS Claim ID: ",$P(FBMRVP,U,5),?33,"FPPS Line Item: ",$P(FBMRVP,U,6)
|
|
N A2 S A2=+FBAMTP D PMNT^FBAACCB2
|
|
Q
|
|
HED W !,"Patient Name: ",$P(^DPT(DFN,0),"^"),?50,"Pt.ID ",$$SSN^FBAAUTL(DFN),!!,?2,"VENDOR: ",$P(^FBAAV(FBV,0),"^"),!,?10,"('*' Represents Reimbursement to Patient)",!,?10,"('#' Represents a Voided Payment)"
|
|
W !," FROM DATE",?16,"TO DATE",?26,"DRG",?33,"AMT CLAIMED",?48,"AMT PAID",?60,"INVOICE #",?72,"BATCH #"
|
|
W !,?5,"COV.DAYS",?19,"ADJ CODE",?34,"REMIT REMARKS",?55,"PATIENT CONTROL #"
|
|
W !,Q,!
|
|
Q
|
|
SETR ;Set/delete void node on record.
|
|
S DA=FBI,VP=$S($D(FBVOID):"",1:"VOID")
|
|
I $D(FBVOID) S DR="16///@;16.5///@;17///@"
|
|
I '$D(FBVOID) S DR="16///^S X=VP;17////^S X=DUZ"_$S($D(FBVR):";16.5////^S X=FBVR",1:";16.5R;S FBVR=X")
|
|
S DIE="^FBAAI(",DIDEL=162.5 D ^DIE K DIDEL
|
|
Q
|
|
CONF ;Print void/cancel void confirmation.
|
|
W !,?10,$S($D(FBVOID):"Cancel Voided",1:"Void")," payment for ",$$NAME^FBCHREQ2(DFN),!,*7,"You must adjust control point accordingly through IFCAP!"
|
|
Q
|