1 | FBAAV01 ;AISC/GRR-ELECTRONICALLY TRANSMIT FEE DATA CONTINUED ;11 Apr 2006 2:52 PM
|
---|
2 | ;;3.5;FEE BASIS;**89,98**,JAN 30, 1995;;Build 54
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | NEWMSG ;get new message number, reset line counter
|
---|
5 | ;FBLN=line counter, FBFEE=FEE message counter, FBNVP=NVP message counter
|
---|
6 | ;FBOKTX=1 if message pending, 0 otherwise
|
---|
7 | S FBXMZ=0,FBJ=$G(J),FBK=$G(K) S:'$D(FBFEE) FBFEE=1 S:'$D(FBNVP) FBNVP=1
|
---|
8 | S XMSUB=$S('$D(FBFLAG):"FEE BASIS MESSAGE # "_FBFEE,1:"FEE NON-VA HOSP TO PRICER MESSAGE # "_FBNVP),XMDUZ=DUZ
|
---|
9 | S FBOKTX=0
|
---|
10 | D XMZ^XMA2
|
---|
11 | I '$D(XMZ)!(XMZ'>0) G NEWMSG
|
---|
12 | S FBXMZ=XMZ,FBLN=0,FBOKTX=1,J=FBJ,K=FBK K XMZ
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | XMIT ;send message, increment message counter
|
---|
16 | ;FBLN=line counter, FBFEE=FEE message counter, FBNVP=NVP message counter
|
---|
17 | ;FBXMFEE(=FEE recipient array, FBXMNVP(=NVP recipient array
|
---|
18 | S FBJ=J,FBK=K K XMY D ROUT
|
---|
19 | S XMZ=FBXMZ,^XMB(3.9,XMZ,2,0)="^3.92A^"_FBLN_"^"_FBLN_"^"_DT
|
---|
20 | S XMDUN=$P(^VA(200,DUZ,0),U) D ENT1^XMD
|
---|
21 | S FBLN=0,FBOKTX=0
|
---|
22 | D INCRM ;increment message counter
|
---|
23 | S J=FBJ,K=FBK
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | ROUT ;set up recipients for message
|
---|
27 | I $D(FBFLAG) S FBI=0 F S FBI=$O(FBXMNVP(FBI)) Q:'FBI S X=FBXMNVP(FBI),XMN=0,XMDF="" D INST^XMA21 K XMN,XMDF
|
---|
28 | I '$D(FBFLAG) S FBI=0 F S FBI=$O(FBXMFEE(FBI)) Q:'FBI S X=FBXMFEE(FBI),XMN=0,XMDF="" D INST^XMA21 K XMN,XMDF
|
---|
29 | S XMY(DUZ)="",XMDUZ=DUZ Q
|
---|
30 | ;
|
---|
31 | INCRM ;increment message counter
|
---|
32 | I $D(FBFLAG) S FBNVP=FBNVP+1
|
---|
33 | E S FBFEE=FBFEE+1
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | INCRL ;increment line counter
|
---|
37 | S FBLN=FBLN+1 Q
|
---|
38 | ;
|
---|
39 | STORE ;set message string
|
---|
40 | D INCRL S ^XMB(3.9,FBXMZ,2,FBLN,0)=FBSTR
|
---|
41 | Q
|
---|
42 | ;
|
---|
43 | ADDRESS ;set up recipient array, FBXMFEE( for FEE router, FBXMNVP( for NVP router
|
---|
44 | F VATNAME="FEE","NVP" D ^VATRAN G:VATERR ADDQ S FBI=0 F S FBI=$O(VAT(FBI)) Q:'FBI S FBVAR="FBXM"_VATNAME_"("_FBI_")" S @FBVAR=VAT(FBI)
|
---|
45 | ADDQ Q
|
---|
46 | ;Following checks for Austin Name Field in Vendor file in order to continue transmitting that batch.
|
---|
47 | CKB3V F FB1=0:0 S FB1=$O(^FBAAC("AC",J,FB1)) Q:'FB1!($G(FBERR)) F FB2=0:0 S FB2=$O(^FBAAC("AC",J,FB1,FB2)) Q:FB2'>0!($G(FBERR)) D CHKV
|
---|
48 | Q
|
---|
49 | CKB5V F FB1=0:0 S FB1=$O(^FBAA(162.1,"AE",J,FB1)) Q:'FB1!($G(FBERR)) I $G(^FBAA(162.1,FB1,0)) S FB2=+$P(^(0),"^",4) D CHKV
|
---|
50 | Q
|
---|
51 | CKB9V F FB1=0:0 S FB1=$O(^FBAAI("AC",J,FB1)) Q:'FB1!($G(FBERR)) I $G(^FBAAI(FB1,0)) S FB2=+$P(^(0),"^",3) D CHKV
|
---|
52 | Q
|
---|
53 | CHKV I $$CKVEN^FBAADV(FB2) W !!,*7,"VENDOR: ",$$VNAME^FBNHEXP(FB2)," Not approved in Austin yet.",!,"Batch # ",FBAABN," CANNOT BE TRANSMITTED!!!" S FBERR=1
|
---|
54 | Q
|
---|
55 | ;
|
---|
56 | STRING ;called from FBAAV0 to build 'B3' payment record
|
---|
57 | ;
|
---|
58 | S FBPICN=$$PADZ(FBPICN,30)
|
---|
59 | ;
|
---|
60 | ; build and store 1st line in message
|
---|
61 | S FBSTR=3_FBAASN_FBSSN_FBPAYT_FBPNAMX_FBVID_" "_FBAP_FBAAON_FBSUSP_FBPOV_FBPATT_FBTD_FBTT_FBDIN_FBINVN_FBST_FBCTY_FBZIP_$E(FBPSA,1,3)_FBCPT_FBPOS_FBHCFA_FBVTOS_FBPD
|
---|
62 | S FBSTR=FBSTR_+$P($G(FBY),U,2)_$E(PAD,1,8)_FBPICN_$S(+FBY:$$AUSDT^FBAAV3(+FBY),1:FBDIN)
|
---|
63 | S FBSTR=FBSTR_FBADMIT_FBDOB_FBUNITS_FBAUTHF_FBMOD1_FBMOD2_FBMOD3_FBMOD4_FBADJR1_FBADJR2_"~"
|
---|
64 | D STORE
|
---|
65 | ;
|
---|
66 | ; build and store 2nd line in message
|
---|
67 | S FBSTR=FBADJA1_FBADJA2_FBNPI_"~$"
|
---|
68 | D STORE
|
---|
69 | ;
|
---|
70 | K FBPICN,FBY
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | PADZ(X,Y) ;call to pad 'X' with leading zeros' to a field length of 'Y'
|
---|
74 | ;
|
---|
75 | I $S('$L(X):1,'Y:1,Y<$L(X):1,1:0) Q ""
|
---|
76 | N Z S Z=0,$P(Z,0,Y)=0
|
---|
77 | Q $E(Z,$L(X)+1,Y)_X
|
---|