[613] | 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
|
---|