FBNHPC1 ;AISC/CMR-POST COMMITMENTS TO 1358 cont. ;9/20/94
;;3.5;FEE BASIS;**153**;JAN 30, 1995;Build 14
;;Per VA Directive 6402, this routine should not be modified.
;
;FB*3.5*153 Added calls to tag 'CHKSITOB' to insure obligation found in file
; FB7078 for time period selected is from the same station selected
; during option process. This is true for both monthly activity
; as well as carry over activity and Insufficient Authorization
; Rate data on file
;
CHECK S ^XTMP("FBPOST",FBIFN)=""
Q:$E(FBPAYDT,1,5)<$E(FBABD,1,5)
S FBTRDYS=0 K FBELSE
S FBERR="" D CHKSITOB Q:$G(FBELSE)=1 D GETRAT^FBNHEP2 Q:FBERR D CHECK^FBNHEP2 Q:FBERR ;FB*3.5*153
S FBIFN=FBHIFN
D
.I $E(FBABD,1,5)<$E(FBPAYDT,1,5)&($E(FBDD,1,5)>$E(FBPAYDT,1,5)) S FBTRDYS=FBDAYS D CALC Q
.I $E(FBABD,1,5)<$E(FBPAYDT,1,5)&($E(FBDD,1,5)'>$E(FBPAYDT,1,5)) S FBTRDYS=$E(FBDD,6,7)-1,FBTRDYS=$S(FBTRDYS>0:FBTRDYS,1:0) S:FBTRDYS'>0 FBELSE=1 D CALC Q
.I $E(FBABD,1,5)=$E(FBPAYDT,1,5)&($E(FBDD,1,5)>$E(FBPAYDT,1,5)) S FBTRDYS=(FBDAYS-$E(FBABD,6,7))+1 D CALC Q
.I FBABD=FBDD S FBTRDYS=1 D CALC Q
.I $E(FBABD,1,5)=$E(FBPAYDT,1,5)&($E(FBDD,1,5)'>$E(FBPAYDT,1,5)) S FBTRDYS=FBDD-FBABD,FBTRDYS=$S(FBTRDYS>0:FBTRDYS,1:0) S:FBTRDYS'>0 FBELSE=1 D CALC Q
Q:$D(FBELSE)
;ifcap calls for posting
I 'FBNHCC,$D(^PRC(424,"E",+$P(FBZ,"^",3)_";"_+FBIFN_";"_$P(FBOBN,"-",2)_";"_FBMM)) Q
S FBSEQ="" I 'FBNHCC S X=FBOBN,PRCS("TYPE")="FB" D EN1^PRCSUT31 Q:Y="" S FBSEQ=Y
S DFN=$P(FBZ,"^",3),FBNAME=$$NAME^FBCHREQ2(DFN),FBSSN=$$SSN^FBAAUTL(DFN),FBVEN=$P(FBZ,"^",2)
S PRCS("TYPE")="FB" I 'FBNHCC D NOW^%DTC S FBPOSDT=%,X=FBOBN_"^"_FBPOSDT_"^"_FBDEFP_"^^"_FBSEQ_"^"_FBNAME_" ("_FBSSN_")"_"^"_+DFN_";"_+FBIFN_";"_$P(FBOBN,"-",2)_";"_FBMM D EN2^PRCS58
I 'FBNHCC G:+Y=0 ERR^FBNHPC
S FBTOTAL=FBTOTAL+FBTRDYS,FBTOT=FBTOT+FBDEFP,FBCNT=FBCNT+1
S ^TMP($J,"FBNHPC",FBNAME,FBCNT)=FBSSN_"^"_FBTRDYS_"^"_FBDEFP_"^"_$G(FBSEQ)_"^"_+FBVEN
Q
;
PRT S FBNAME="" F S FBNAME=$O(^TMP($J,"FBNHPC",FBNAME)) Q:FBNAME']""!($G(FBOUT)) F FBCNT=0:0 S FBCNT=$O(^TMP($J,"FBNHPC",FBNAME,FBCNT)) Q:'FBCNT!($G(FBOUT)) D
.S Y(0)=$G(^TMP($J,"FBNHPC",FBNAME,FBCNT)),FBSSN=$P(Y(0),"^"),FBTRDYS=$P(Y(0),"^",2),FBDEFP=$P(Y(0),"^",3),FBSEQ=$P(Y(0),"^",4),FBVEN=$P(Y(0),"^",5)
.I $Y+3>IOSL,$E(IOST,1,2)["C-" S DIR(0)="E" D ^DIR K DIR S:'Y FBOUT=1 Q:FBOUT
.I ($Y+3)>IOSL W @IOF D HED
.W !,FBSEQ,?7,$E(FBNAME,1,20),?30,FBSSN,?44,$E($$VNAME^FBNHEXP(FBVEN),1,20),?66,FBTRDYS,?70,$J($FN(FBDEFP,",",2),10)
Q
;
HED W !?11,"C O M M U N I T Y N U R S I N G H O M E R E P O R T",!
S I="",$P(I,"-",59)="-" W ?10,I K I W !
I FBNHCC W ?5,"Estimated Funds for: ",$P("Jan^Feb^Mar^Apr^May^Jun^Jul^Aug^Sep^Oct^Nov^Dec","^",+FBMM)," ",FBYY,!!
I 'FBNHCC W ?5,"Postings for Obligation Number: ",$P(FBOBN,"-",2),!!,"Ref #"
W ?7,"Veteran",?30,"SSN",?44,"Vendor",?65,"Days",?74,"Total",!,Q,!
Q
;
CALC S FBENDFLG=$S(FBDD'>FBENDDT:1,1:""),FBENDDT=$S(FBDD>FBENDDT:FBENDDT,1:FBDD),FBAABDT=FBABD D CALC^FBNHEP2
S FBENDDT=FBPAYEDT K FB
Q
;FB*3.5*153
CHKSITOB ;INSURE ENTRY IS FOR CORRECT SITE/OBLIGATION
S FBOBNO=$E($P(FBZ,U),1,6)
S FBOBIEN=$O(^PRC(442,"B",PRC("SITE")_"-"_FBOBNO,0)) I FBOBIEN="" S FBELSE=1 Q
S PRC23=$G(^PRC(442,FBOBIEN,23)) I PRC23="" S FBELSE=1 Q
I $P(PRC23,U,7)'=FBSTA S FBELSE=1 Q
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HFBNHPC1 3331 printed Dec 13, 2024@01:59:07 Page 2
FBNHPC1 ;AISC/CMR-POST COMMITMENTS TO 1358 cont. ;9/20/94
+1 ;;3.5;FEE BASIS;**153**;JAN 30, 1995;Build 14
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
+4 ;FB*3.5*153 Added calls to tag 'CHKSITOB' to insure obligation found in file
+5 ; FB7078 for time period selected is from the same station selected
+6 ; during option process. This is true for both monthly activity
+7 ; as well as carry over activity and Insufficient Authorization
+8 ; Rate data on file
+9 ;
CHECK SET ^XTMP("FBPOST",FBIFN)=""
+1 if $EXTRACT(FBPAYDT,1,5)<$EXTRACT(FBABD,1,5)
QUIT
+2 SET FBTRDYS=0
KILL FBELSE
+3 ;FB*3.5*153
SET FBERR=""
DO CHKSITOB
if $GET(FBELSE)=1
QUIT
DO GETRAT^FBNHEP2
if FBERR
QUIT
DO CHECK^FBNHEP2
if FBERR
QUIT
+4 SET FBIFN=FBHIFN
+5 Begin DoDot:1
+6 IF $EXTRACT(FBABD,1,5)<$EXTRACT(FBPAYDT,1,5)&($EXTRACT(FBDD,1,5)>$EXTRACT(FBPAYDT,1,5))
SET FBTRDYS=FBDAYS
DO CALC
QUIT
+7 IF $EXTRACT(FBABD,1,5)<$EXTRACT(FBPAYDT,1,5)&($EXTRACT(FBDD,1,5)'>$EXTRACT(FBPAYDT,1,5))
SET FBTRDYS=$EXTRACT(FBDD,6,7)-1
SET FBTRDYS=$SELECT(FBTRDYS>0:FBTRDYS,1:0)
if FBTRDYS'>0
SET FBELSE=1
DO CALC
QUIT
+8 IF $EXTRACT(FBABD,1,5)=$EXTRACT(FBPAYDT,1,5)&($EXTRACT(FBDD,1,5)>$EXTRACT(FBPAYDT,1,5))
SET FBTRDYS=(FBDAYS-$EXTRACT(FBABD,6,7))+1
DO CALC
QUIT
+9 IF FBABD=FBDD
SET FBTRDYS=1
DO CALC
QUIT
+10 IF $EXTRACT(FBABD,1,5)=$EXTRACT(FBPAYDT,1,5)&($EXTRACT(FBDD,1,5)'>$EXTRACT(FBPAYDT,1,5))
SET FBTRDYS=FBDD-FBABD
SET FBTRDYS=$SELECT(FBTRDYS>0:FBTRDYS,1:0)
if FBTRDYS'>0
SET FBELSE=1
DO CALC
QUIT
End DoDot:1
+11 if $DATA(FBELSE)
QUIT
+12 ;ifcap calls for posting
+13 IF 'FBNHCC
IF $DATA(^PRC(424,"E",+$PIECE(FBZ,"^",3)_";"_+FBIFN_";"_$PIECE(FBOBN,"-",2)_";"_FBMM))
QUIT
+14 SET FBSEQ=""
IF 'FBNHCC
SET X=FBOBN
SET PRCS("TYPE")="FB"
DO EN1^PRCSUT31
if Y=""
QUIT
SET FBSEQ=Y
+15 SET DFN=$PIECE(FBZ,"^",3)
SET FBNAME=$$NAME^FBCHREQ2(DFN)
SET FBSSN=$$SSN^FBAAUTL(DFN)
SET FBVEN=$PIECE(FBZ,"^",2)
+16 SET PRCS("TYPE")="FB"
IF 'FBNHCC
DO NOW^%DTC
SET FBPOSDT=%
SET X=FBOBN_"^"_FBPOSDT_"^"_FBDEFP_"^^"_FBSEQ_"^"_FBNAME_" ("_FBSSN_")"_"^"_+DFN_";"_+FBIFN_";"_$PIECE(FBOBN,"-",2)_";"_FBMM
DO EN2^PRCS58
+17 IF 'FBNHCC
if +Y=0
GOTO ERR^FBNHPC
+18 SET FBTOTAL=FBTOTAL+FBTRDYS
SET FBTOT=FBTOT+FBDEFP
SET FBCNT=FBCNT+1
+19 SET ^TMP($JOB,"FBNHPC",FBNAME,FBCNT)=FBSSN_"^"_FBTRDYS_"^"_FBDEFP_"^"_$GET(FBSEQ)_"^"_+FBVEN
+20 QUIT
+21 ;
PRT SET FBNAME=""
FOR
SET FBNAME=$ORDER(^TMP($JOB,"FBNHPC",FBNAME))
if FBNAME']""!($GET(FBOUT))
QUIT
FOR FBCNT=0:0
SET FBCNT=$ORDER(^TMP($JOB,"FBNHPC",FBNAME,FBCNT))
if 'FBCNT!($GET(FBOUT))
QUIT
Begin DoDot:1
+1 SET Y(0)=$GET(^TMP($JOB,"FBNHPC",FBNAME,FBCNT))
SET FBSSN=$PIECE(Y(0),"^")
SET FBTRDYS=$PIECE(Y(0),"^",2)
SET FBDEFP=$PIECE(Y(0),"^",3)
SET FBSEQ=$PIECE(Y(0),"^",4)
SET FBVEN=$PIECE(Y(0),"^",5)
+2 IF $Y+3>IOSL
IF $EXTRACT(IOST,1,2)["C-"
SET DIR(0)="E"
DO ^DIR
KILL DIR
if 'Y
SET FBOUT=1
if FBOUT
QUIT
+3 IF ($Y+3)>IOSL
WRITE @IOF
DO HED
+4 WRITE !,FBSEQ,?7,$EXTRACT(FBNAME,1,20),?30,FBSSN,?44,$EXTRACT($$VNAME^FBNHEXP(FBVEN),1,20),?66,FBTRDYS,?70,$JUSTIFY($FNUMBER(FBDEFP,",",2),10)
End DoDot:1
+5 QUIT
+6 ;
HED WRITE !?11,"C O M M U N I T Y N U R S I N G H O M E R E P O R T",!
+1 SET I=""
SET $PIECE(I,"-",59)="-"
WRITE ?10,I
KILL I
WRITE !
+2 IF FBNHCC
WRITE ?5,"Estimated Funds for: ",$PIECE("Jan^Feb^Mar^Apr^May^Jun^Jul^Aug^Sep^Oct^Nov^Dec","^",+FBMM)," ",FBYY,!!
+3 IF 'FBNHCC
WRITE ?5,"Postings for Obligation Number: ",$PIECE(FBOBN,"-",2),!!,"Ref #"
+4 WRITE ?7,"Veteran",?30,"SSN",?44,"Vendor",?65,"Days",?74,"Total",!,Q,!
+5 QUIT
+6 ;
CALC SET FBENDFLG=$SELECT(FBDD'>FBENDDT:1,1:"")
SET FBENDDT=$SELECT(FBDD>FBENDDT:FBENDDT,1:FBDD)
SET FBAABDT=FBABD
DO CALC^FBNHEP2
+1 SET FBENDDT=FBPAYEDT
KILL FB
+2 QUIT
+3 ;FB*3.5*153
CHKSITOB ;INSURE ENTRY IS FOR CORRECT SITE/OBLIGATION
+1 SET FBOBNO=$EXTRACT($PIECE(FBZ,U),1,6)
+2 SET FBOBIEN=$ORDER(^PRC(442,"B",PRC("SITE")_"-"_FBOBNO,0))
IF FBOBIEN=""
SET FBELSE=1
QUIT
+3 SET PRC23=$GET(^PRC(442,FBOBIEN,23))
IF PRC23=""
SET FBELSE=1
QUIT
+4 IF $PIECE(PRC23,U,7)'=FBSTA
SET FBELSE=1
QUIT
+5 QUIT