FBAAMP1 ;AISC/CMR - MULTIPLE PAYMENT ENTRY ;7/6/2003
;;3.5;FEE BASIS;**4,55,61,77,139,158**;JAN 30, 1995;Build 94
;;Per VA Directive 6402, this routine should not be modified.
SUSP ;enter suspense data
N FBX
;S DIR(0)="162.5,9",DIR("A")="Amount Suspended: $",DIR("B")=FBJ-FBK,DIR("?")="Press Return if $ "_(FBJ-FBK)_" is Amount Suspended, otherwise enter correct suspension amount" D ^DIR K DIR
;I $D(DIRUT) W !!,"Invalid entry, enter a number between .01 and 999999" G SUSP
;S FBAAAS=+Y
;I +Y'=(FBJ-FBK) S FBAAAS=+Y W ! S DIR("A")="Is $"_FBAAAS_" correct for Amount Suspended",DIR("B")="Yes",DIR(0)="Y" D ^DIR K DIR I $D(DIRUT) S FBAAOUT=1 Q
;G SUSP:'Y
;W !! S DIC="^FBAA(161.27,",DIC(0)="AEQ" D ^DIC I X["^" S FBAAOUT=1 Q
;S FBAASC=+Y
S FBX=$$ADJ^FBUTL2(FBJ-FBK,.FBADJ,5,,,,.FBRRMK,1)
I FBX=0 S FBAAOUT=1
Q
SUSP1 I FBAASC=4 K ^TMP($J,"FBWP") W !!,"Suspension Description: " S DIC="^TMP($J,""FBWP"",",DWLW=80,DWPK=1 D EN^DIWE K DIC,DWLW,DWPK I '$O(^TMP($J,"FBWP",0)) W !!,*7,"Description of Suspense is required." G SUSP1
Q
HCFA N ICDMDE S ICDMDE=10
I FBMPDT<$$IMPDATE^LEXU("10D") S ICDMDE=9 N XX1 ;FB*3.5*139-JLG-ICD10 REMEDIATION
F FBSI=28,30,31,32 S FBHCFA(FBSI)=""
W ! F FBSI=28,30,31 D Q:$G(FBAAOUT)
. ;DEM/JLG/JAS FB*3.5*139-JLG-ICD10 REMEDIATION
. I (FBSI=28)&(ICDMDE=10) F D Q:($G(FBAAOUT))!(XX1>0)
. . S XX1=$$ASKICD10(FBMPDT) S:XX1=-3 FBAAOUT=1
. . Q:XX1<0
. . S FBHCFA(28)=XX1
. . Q
. Q:($G(FBAAOUT))!((ICDMDE=10)&(FBSI=28))
. I (FBSI=28)&(ICDMDE=9) F D Q:($G(FBAAOUT))!(XX1>0)
. . S XX1=$$ASKICD9(FBMPDT) S:XX1="^" FBAAOUT=1
. . Q:XX1<0
. . S FBHCFA(28)=XX1
. . Q
. Q:($G(FBAAOUT))!((ICDMDE=9)&(FBSI=28))
. ;END 139
. N ICDVDT S ICDVDT=$G(FBMPDT)
. ;JAS - 08/23/13 - FB*3.5*139 (ICD10 REMEDIATION) - Modified next line for ICD-10.
. F S DIR(0)="P"_$S(FBSI=30:"^353.1",FBSI=31:"O^353.2")_":EMZ" D HCFA1 Q:$G(FBAAOUT) Q
Q:$G(FBAAOUT)
W !
I $$EXTPV^FBAAUTL5(FBPOV)'="01" D
. S FBSI=32,DIR(0)="Y",DIR("A")="Service connected condition"
. S DIR("?")="^W !!,""Respond by answering 'Yes' or 'No'."",! I $G(DFN) W !?1,*7,""Patient: "",$$NAME^FBCHREQ2(DFN) D DIS^DGRPDB W !!"
. D HCFA1 I $D(DIRUT) S FBAAOUT=1 Q
Q
;
ASKICD9(FBINDT) ;JAS - 08/23/13 - FB*3.5*139 (ICD10 REMEDIATION)
N FBDX,EDATE,XSP
S EDATE=FBINDT ; edate is the date of interest for ICD9 diagnosis code lookup
S XSP="ICD DIAGNOSIS"
S FBDX=$$ENICD9^FBICD9(EDATE,XSP,"Y")
K EDATE,FBINDT
Q +FBDX
;
ASKICD10(FBINDT) ; FB*3.5*139-JLG-ICD10 REMEDIATION
N FBDX,EDATE,DA,DP
S EDATE=FBINDT ; edate is the date of interest for ICD10 diagnosis code lookup
S DA=DFN,DP=162.03 ; these must be defined prior to calling $$ASKICD10
S FBDX=-1 S FBDX=$$ASKICD10^FBASF("PRIMARY DIAGNOSIS","","Y") ; returns -1 or ien of icd10 diagnosis code
K EDATE,FBINDT
Q FBDX
;
HCFA1 D ^DIR I $D(DTOUT)!($D(DUOUT)) S FBAAOUT=1 Q
I Y'=-1 D
.I DIR(0)["P" S FBHCFA(FBSI)=$P(Y,"^")
.I DIR(0)="Y" S FBHCFA(FBSI)=$S(Y=1:"Y",1:"N")
K DIR Q
DESC N FBJ
I FBAASC=4,$D(^TMP($J,"FBWP",0)) S ^FBAAC(DFN,1,FBV,1,FBSDI,1,FBAACPI,1,0)=^(0) F FBJ=1:1 Q:'$D(^TMP($J,"FBWP",FBJ,0)) S ^FBAAC(DFN,1,FBV,1,FBSDI,1,FBAACPI,1,FBJ,0)=^(0)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFBAAMP1 3196 printed Oct 16, 2024@17:56:37 Page 2
FBAAMP1 ;AISC/CMR - MULTIPLE PAYMENT ENTRY ;7/6/2003
+1 ;;3.5;FEE BASIS;**4,55,61,77,139,158**;JAN 30, 1995;Build 94
+2 ;;Per VA Directive 6402, this routine should not be modified.
SUSP ;enter suspense data
+1 NEW FBX
+2 ;S DIR(0)="162.5,9",DIR("A")="Amount Suspended: $",DIR("B")=FBJ-FBK,DIR("?")="Press Return if $ "_(FBJ-FBK)_" is Amount Suspended, otherwise enter correct suspension amount" D ^DIR K DIR
+3 ;I $D(DIRUT) W !!,"Invalid entry, enter a number between .01 and 999999" G SUSP
+4 ;S FBAAAS=+Y
+5 ;I +Y'=(FBJ-FBK) S FBAAAS=+Y W ! S DIR("A")="Is $"_FBAAAS_" correct for Amount Suspended",DIR("B")="Yes",DIR(0)="Y" D ^DIR K DIR I $D(DIRUT) S FBAAOUT=1 Q
+6 ;G SUSP:'Y
+7 ;W !! S DIC="^FBAA(161.27,",DIC(0)="AEQ" D ^DIC I X["^" S FBAAOUT=1 Q
+8 ;S FBAASC=+Y
+9 SET FBX=$$ADJ^FBUTL2(FBJ-FBK,.FBADJ,5,,,,.FBRRMK,1)
+10 IF FBX=0
SET FBAAOUT=1
+11 QUIT
SUSP1 IF FBAASC=4
KILL ^TMP($JOB,"FBWP")
WRITE !!,"Suspension Description: "
SET DIC="^TMP($J,""FBWP"","
SET DWLW=80
SET DWPK=1
DO EN^DIWE
KILL DIC,DWLW,DWPK
IF '$ORDER(^TMP($JOB,"FBWP",0))
WRITE !!,*7,"Description of Suspense is required."
GOTO SUSP1
+1 QUIT
HCFA NEW ICDMDE
SET ICDMDE=10
+1 ;FB*3.5*139-JLG-ICD10 REMEDIATION
IF FBMPDT<$$IMPDATE^LEXU("10D")
SET ICDMDE=9
NEW XX1
+2 FOR FBSI=28,30,31,32
SET FBHCFA(FBSI)=""
+3 WRITE !
FOR FBSI=28,30,31
Begin DoDot:1
+4 ;DEM/JLG/JAS FB*3.5*139-JLG-ICD10 REMEDIATION
+5 IF (FBSI=28)&(ICDMDE=10)
FOR
Begin DoDot:2
+6 SET XX1=$$ASKICD10(FBMPDT)
if XX1=-3
SET FBAAOUT=1
+7 if XX1<0
QUIT
+8 SET FBHCFA(28)=XX1
+9 QUIT
End DoDot:2
if ($GET(FBAAOUT))!(XX1>0)
QUIT
+10 if ($GET(FBAAOUT))!((ICDMDE=10)&(FBSI=28))
QUIT
+11 IF (FBSI=28)&(ICDMDE=9)
FOR
Begin DoDot:2
+12 SET XX1=$$ASKICD9(FBMPDT)
if XX1="^"
SET FBAAOUT=1
+13 if XX1<0
QUIT
+14 SET FBHCFA(28)=XX1
+15 QUIT
End DoDot:2
if ($GET(FBAAOUT))!(XX1>0)
QUIT
+16 if ($GET(FBAAOUT))!((ICDMDE=9)&(FBSI=28))
QUIT
+17 ;END 139
+18 NEW ICDVDT
SET ICDVDT=$GET(FBMPDT)
+19 ;JAS - 08/23/13 - FB*3.5*139 (ICD10 REMEDIATION) - Modified next line for ICD-10.
+20 FOR
SET DIR(0)="P"_$SELECT(FBSI=30:"^353.1",FBSI=31:"O^353.2")_":EMZ"
DO HCFA1
if $GET(FBAAOUT)
QUIT
QUIT
End DoDot:1
if $GET(FBAAOUT)
QUIT
+21 if $GET(FBAAOUT)
QUIT
+22 WRITE !
+23 IF $$EXTPV^FBAAUTL5(FBPOV)'="01"
Begin DoDot:1
+24 SET FBSI=32
SET DIR(0)="Y"
SET DIR("A")="Service connected condition"
+25 SET DIR("?")="^W !!,""Respond by answering 'Yes' or 'No'."",! I $G(DFN) W !?1,*7,""Patient: "",$$NAME^FBCHREQ2(DFN) D DIS^DGRPDB W !!"
+26 DO HCFA1
IF $DATA(DIRUT)
SET FBAAOUT=1
QUIT
End DoDot:1
+27 QUIT
+28 ;
ASKICD9(FBINDT) ;JAS - 08/23/13 - FB*3.5*139 (ICD10 REMEDIATION)
+1 NEW FBDX,EDATE,XSP
+2 ; edate is the date of interest for ICD9 diagnosis code lookup
SET EDATE=FBINDT
+3 SET XSP="ICD DIAGNOSIS"
+4 SET FBDX=$$ENICD9^FBICD9(EDATE,XSP,"Y")
+5 KILL EDATE,FBINDT
+6 QUIT +FBDX
+7 ;
ASKICD10(FBINDT) ; FB*3.5*139-JLG-ICD10 REMEDIATION
+1 NEW FBDX,EDATE,DA,DP
+2 ; edate is the date of interest for ICD10 diagnosis code lookup
SET EDATE=FBINDT
+3 ; these must be defined prior to calling $$ASKICD10
SET DA=DFN
SET DP=162.03
+4 ; returns -1 or ien of icd10 diagnosis code
SET FBDX=-1
SET FBDX=$$ASKICD10^FBASF("PRIMARY DIAGNOSIS","","Y")
+5 KILL EDATE,FBINDT
+6 QUIT FBDX
+7 ;
HCFA1 DO ^DIR
IF $DATA(DTOUT)!($DATA(DUOUT))
SET FBAAOUT=1
QUIT
+1 IF Y'=-1
Begin DoDot:1
+2 IF DIR(0)["P"
SET FBHCFA(FBSI)=$PIECE(Y,"^")
+3 IF DIR(0)="Y"
SET FBHCFA(FBSI)=$SELECT(Y=1:"Y",1:"N")
End DoDot:1
+4 KILL DIR
QUIT
DESC NEW FBJ
+1 IF FBAASC=4
IF $DATA(^TMP($JOB,"FBWP",0))
SET ^FBAAC(DFN,1,FBV,1,FBSDI,1,FBAACPI,1,0)=^(0)
FOR FBJ=1:1
if '$DATA(^TMP($JOB,"FBWP",FBJ,0))
QUIT
SET ^FBAAC(DFN,1,FBV,1,FBSDI,1,FBAACPI,1,FBJ,0)=^(0)
+2 QUIT