1 | RMPOBILU ;EDS/MDB,RVD - HOME OXYGEN BILLING TRANSACTIONS ;8/7/98 10:58
|
---|
2 | ;;3.0;PROSTHETICS;**29,43,44,77**;Feb 09, 1996
|
---|
3 | ;RVD 3/18/03 patch #77 - don't allow future billing month creation
|
---|
4 | ;
|
---|
5 | Q
|
---|
6 | VDRSCRN ; SCREEN
|
---|
7 | Q
|
---|
8 | I '$D(RMPOXITE) D Q
|
---|
9 | . W !,$C(7)_"RMPOXITE NOT DEFINED!"
|
---|
10 | . S DIC("S")="I 0"
|
---|
11 | S DIC("S")="I $D(^RMPR(669.9,RMPOXITE,""RMPOVDR"",Y,0))"
|
---|
12 | Q
|
---|
13 | XFRM1 ; INPUT XFORM FOR BILLING MONTH, FILE 665.72
|
---|
14 | S %DT(0)=-DT
|
---|
15 | S %DT="E" D ^%DT S X=Y I Y<0 K X Q
|
---|
16 | S (DINUM,X)=$E(X,1,5)_"00"
|
---|
17 | Q
|
---|
18 | 2319 ; -- Display 2319
|
---|
19 | N RMPRNAM,RMPRDOB,RMPRSSN,RMPRDFN
|
---|
20 | S (DFN,RMPRDFN)=RMPODFN D DEM^VADPT
|
---|
21 | S RMPRNAM=VADM(1)
|
---|
22 | S RMPRDOB=+VADM(3)
|
---|
23 | S RMPRSSN=+VADM(2)
|
---|
24 | S $P(RMPR("L"),"-",80)=""
|
---|
25 | S RMPRBAC1=1
|
---|
26 | D ^RMPRPAT
|
---|
27 | K RMPRBAC1
|
---|
28 | Q
|
---|
29 | ACCEPT ; ACCEPT TRX
|
---|
30 | D SAME S DR="2///Y" D ^DIE
|
---|
31 | Q
|
---|
32 | UNACCEPT ; UNACCEPT TRX
|
---|
33 | D SAME S DR="2///N" D ^DIE
|
---|
34 | Q
|
---|
35 | SAME ;
|
---|
36 | K DIE,DA,DR
|
---|
37 | S DA=RMPODFN,DA(1)=RMPOVDR,DA(2)=RMPORVDT,DA(3)=RMPOXITE
|
---|
38 | S DIE="^RMPO(665.72,"_DA(3)_",1,"_DA(2)_",1,"_DA(1)_",""V"","
|
---|
39 | Q
|
---|
40 | FCP(FCP) ;
|
---|
41 | ;
|
---|
42 | ; PASS:
|
---|
43 | ; -- AS PARAMETER
|
---|
44 | ; FCP = FREE-TEXT FUND CONTROL POINT NAME
|
---|
45 | ; -- AS VARIABLES
|
---|
46 | ; RMPOXITE = SITE #
|
---|
47 | ; RMPODATE = BILLING MONTH
|
---|
48 | ; RMPOVDR = VENDOR IEN (IF TYPE = 'PURCHASE CARD')
|
---|
49 | ;
|
---|
50 | ; RETURNS:
|
---|
51 | ; TYPE ^ 442 IEN ^ REF # ^ AMOUNT ^ IEN
|
---|
52 | ; TYPE = PAYMENT TYPE (1 = 1358, 'P' = PURCHASE CARD)
|
---|
53 | ; 442 IEN = POINTER TO FILE 442, USED FOR POSTING
|
---|
54 | ; REF # = C# FOR 1358, PCO# FOR PURCHASE CARD
|
---|
55 | ; AMOUNT = TOTAL AMOUNT POSTED SO FAR (PURCHASE CARD ONLY)
|
---|
56 | ; IEN = IEN OF 'FCP' RECORD IN FILE 665.72, USED FOR UPDATING TOTALS
|
---|
57 | ;
|
---|
58 | N FOUND,DATA,RVDT,IEN,TMP,SITE,FN,TYPE
|
---|
59 | S QUIT=0,DATA="",FN=665.72
|
---|
60 | I '$D(RMPOXITE) W !,"SITE NOT DEFINED!" Q -1
|
---|
61 | I '$D(^RMPO(FN,RMPOXITE)) W !,"SITE NOT FOUND!" Q -1
|
---|
62 | S SITE=RMPOXITE
|
---|
63 | I '$D(RMPODATE) W !,"BILLING MONTH NOT DEFINED!" Q -1
|
---|
64 | S RVDT=RMPODATE
|
---|
65 | I '$D(^RMPO(FN,SITE,1,RVDT)) D Q -1
|
---|
66 | . W !,"BILLING MONTH NOT DEFINED!"
|
---|
67 | ;
|
---|
68 | D FCP4 Q:FOUND DATA
|
---|
69 | D FCP1 Q:(Y="")!$$QUIT -1
|
---|
70 | S TYPE=Y
|
---|
71 | D FCP2:TYPE=1,FCP3:TYPE="P" Q:($G(Y)<0)!QUIT -1
|
---|
72 | Q DATA
|
---|
73 | Q
|
---|
74 | FCP4 ; LOOK FOR EXISTING PAYMENT TYPE
|
---|
75 | S FOUND=0,DATA=""
|
---|
76 | Q:'$D(^RMPO(FN,SITE,1,RVDT,2,"B",FCP))
|
---|
77 | K DIC S DA(1)=RVDT,DA(2)=SITE
|
---|
78 | S DIC("A")="Select Fund Control Point: "
|
---|
79 | S DIC="^RMPO(FN,"_DA(2)_",1,"_DA(1)_",2,",DIC(0)="AMQEZ"
|
---|
80 | S DIC("S")="S Z=^(0) I $P(Z,U)=FCP,$S($P(Z,U,2):1,($P(Z,U,2)=""P"")&"
|
---|
81 | S DIC("S")=DIC("S")_"($P(Z,U,5)=DUZ)&($P(Z,U,6)=RMPOVDR):1,1:0),"
|
---|
82 | S DIC("S")=DIC("S")_"$P(Z,U,8)="""""
|
---|
83 | S DIC("W")="W ?35,$P(^(0),U,4)"
|
---|
84 | S DIC("W")=DIC("W")_" I $P(^(0),U,2) W ?55,"
|
---|
85 | S DIC("W")=DIC("W")_"$J($$BAL^RMPOPST1($P(^(0),U,3)),10,2)"
|
---|
86 | D ^DIC
|
---|
87 | Q:(Y<0)!$$QUIT
|
---|
88 | K RMPOZ M RMPOZ=Y
|
---|
89 | K DIR S DIR(0)="Y"
|
---|
90 | S RMZ=^RMPO(FN,SITE,1,RVDT,2,+Y,0)
|
---|
91 | S RMZ=$P(RMZ,U,4)
|
---|
92 | S DIR("A")="Are you sure you want "_RMZ
|
---|
93 | S DIR("B")="NO" D ^DIR G:(Y=0) FCP4 Q:(Y'=1)!$$QUIT
|
---|
94 | K Y M Y=RMPOZ
|
---|
95 | I $P(Y(0),U,2) S DATA=$P(Y(0),U,2,4)_U_U_(+Y),FOUND=1 Q
|
---|
96 | S DATA=$P(Y(0),U,2)_U_$P(Y(0),U,3)_U
|
---|
97 | S DATA=DATA_$P(Y(0),U,4)_U_$P(Y(0),U,7)_U_(+Y),FOUND=1
|
---|
98 | Q
|
---|
99 | FCP2 ; 1358
|
---|
100 | S PRC("SITE")=RMPRS,PRC("CP")=FCP
|
---|
101 | S PRCS("A")="Select Obligation Number: "
|
---|
102 | D EN1A^PRCS58 Q:(Y<0)!$$QUIT
|
---|
103 | K RMPOZ M RMPOZ=Y
|
---|
104 | K DIR S DIR(0)="Y",DIR("B")="NO"
|
---|
105 | S DIR("A")="Are you sure" D ^DIR Q:(Y<1)!$$QUIT
|
---|
106 | K Y M Y=RMPOZ D FCPSET
|
---|
107 | K PRC,PRCS
|
---|
108 | Q
|
---|
109 | FCPSET ; SET ENTRY IN RMPO
|
---|
110 | S DATA=TYPE_U_$P(Y,U,1,2)_U_U ; SETUP RETURN VALUE
|
---|
111 | ;Check if selected IFCAP order exist in file 665.72
|
---|
112 | S Y=$$FCPCHK(.DATA) I Y Q
|
---|
113 | K DIC,DIE,DA,DR,DD,DO
|
---|
114 | S DA(2)=SITE,DA(1)=RVDT
|
---|
115 | S DIC="^RMPO(665.72,"_DA(2)_",1,"_DA(1)_",2,"
|
---|
116 | S DIC("P")=$P(^DD(665.723,2,0),U,2)
|
---|
117 | S DIC(0)="L",X=FCP D FILE^DICN I Y<0 S DATA=-1 Q
|
---|
118 | S DIE=DIC,DA=+Y,DATA=DATA_DA
|
---|
119 | S DR="1////"_TYPE
|
---|
120 | S DR=DR_";2////"_$P(DATA,U,2)
|
---|
121 | S DR=DR_";3///"_$P(DATA,U,3)
|
---|
122 | S DR=DR_";4////"_DUZ
|
---|
123 | S:TYPE="P" DR=DR_";5////"_RMPOVDR
|
---|
124 | D ^DIE
|
---|
125 | S Z1=$P(DATA,U,2)
|
---|
126 | S Z2=$P(DATA,U,3)
|
---|
127 | S $P(^RMPO(665.72,DA(2),1,DA(1),2,DA,0),U,3,4)=Z1_U_Z2
|
---|
128 | Q
|
---|
129 | FCPCHK(DATA) ;CHECK IF FCP ALREADY EXIST IN FILE 665.72
|
---|
130 | N IEN,FDT,FPT,FOUND
|
---|
131 | S (IEN,FOUND)=0
|
---|
132 | F S IEN=$O(^RMPO(FN,SITE,1,RVDT,2,"B",FCP,IEN)) Q:IEN="" D Q:FOUND
|
---|
133 | . S FDT=^RMPO(FN,SITE,1,RVDT,2,IEN,0),FPT=$P(FDT,U,2)
|
---|
134 | . I $P(FDT,U,8)>0 Q ; closed flag
|
---|
135 | . I FPT=TYPE,$P(DATA,U,2)=$P(FDT,U,3),$P(DATA,U,3)=$P(FDT,U,4) D
|
---|
136 | . . I TYPE=1 S DATA=DATA_IEN,FOUND=1 Q
|
---|
137 | . . I $P(FDT,U,5)=DUZ,$P(FDT,U,6)=RMPOVDR D
|
---|
138 | . . . S $P(DATA,U,4)=$P(FDT,U,7),DATA=DATA_IEN,FOUND=1
|
---|
139 | Q FOUND
|
---|
140 | FCP3 ; PURCHASE CARD
|
---|
141 | N PRCA
|
---|
142 | I '$D(^PRC(440.5,"H",DUZ)) D S Y=-1 Q
|
---|
143 | . W !!,"You are not an authorized Purchase Card User, CONTACT FISCAL!"
|
---|
144 | S PRCA=RMPRS_U_RMPOVDR
|
---|
145 | D ADD^PRCH7D(.PRCA) S Y=PRCA Q:(Y<0)!(Y="^")!$$QUIT
|
---|
146 | K RMPOZ M RMPOZ=Y
|
---|
147 | K DIR S DIR(0)="Y",DIR("B")="NO",DIR("A")="Are you sure"
|
---|
148 | D ^DIR Q:(Y<1)!$$QUIT
|
---|
149 | K Y M Y=RMPOZ D FCPSET
|
---|
150 | Q
|
---|
151 | FCP1 ; PAYMENT TYPE
|
---|
152 | K DIR,DA
|
---|
153 | S DIR(0)="665.7232,1" D ^DIR
|
---|
154 | Q
|
---|
155 | GETFCP(DFCP) ; Return FCP from file 420 (External value only)
|
---|
156 | ; Pass - DFCP = Default FCP [optional]
|
---|
157 | ;
|
---|
158 | N DIC,DA
|
---|
159 | S:$D(DFCP) DIC("B")=DFCP
|
---|
160 | S DA(1)=RMPOXITE,DIC("A")="Select FUND CONTROL POINT: "
|
---|
161 | S DIC="^RMPR(669.9,"_DA(1)_",""RMPOFCP"",",DIC(0)="AEQMZ" D ^DIC
|
---|
162 | I Y<0!$$QUIT Q Y
|
---|
163 | Q Y_U_Y(0,0)
|
---|
164 | QUIT() S QUIT=$D(DTOUT)!$D(DUOUT)!$D(DIROUT) Q QUIT
|
---|
165 | EQUIT() S QUIT=$D(DTOUT)!$D(Y) Q QUIT
|
---|
166 | LJ(S,W,C) ; Left justify S in a field W wide padding with char F
|
---|
167 | ;
|
---|
168 | S C=$G(C," ") ; Default pad char is space
|
---|
169 | S $P(S,C,W-$L(S)+$L(S,C))=""
|
---|
170 | Q $E(S,1,W)
|
---|
171 | Q
|
---|
172 | ENC(X,X1,X2) ;Encrypt
|
---|
173 | ;Variable X = string to encrypt
|
---|
174 | ; X1 = DUZ
|
---|
175 | ; X2 = FCP IEN of file 665.72
|
---|
176 | D EN^XUSHSHP
|
---|
177 | Q X
|
---|
178 | DEC(X,X1,X2) ;Decrypt
|
---|
179 | ;Variable X = encrypted string
|
---|
180 | ; X1 = DUZ
|
---|
181 | ; X2 = FCP IEN of file 665.72
|
---|
182 | D DE^XUSHSHP
|
---|
183 | Q X
|
---|