1 | RMPOPST2 ;EDS/JAM - HOME OXYGEN BILLING TRANSACTIONS/POSTING - SIGN OFF ;7/24/98
|
---|
2 | ;;3.0;PROSTHETICS;**29,44**;Feb 09, 1996
|
---|
3 | ;
|
---|
4 | ;This subroutine is part of the billing module. Purchase Card
|
---|
5 | ;orders are obligated and 1358 serivce orders are closed.
|
---|
6 | ;The ^RMPO(665.72 global is updated with the date closed and user.
|
---|
7 | Q
|
---|
8 | MAIN ; Proper entry point
|
---|
9 | D HOME^%ZIS
|
---|
10 | S QUIT=0
|
---|
11 | D HOSITE^RMPOUTL0 Q:('$D(RMPOREC))!QUIT
|
---|
12 | S RMPOXITE=RMPOREC
|
---|
13 | D MONTH^RMPOBIL0() Q:'$D(RMPODATE)!QUIT
|
---|
14 | ;D VENDOR^RMPOBIL0 Q:'$D(RMPOVDR)!QUIT
|
---|
15 | D SIGNOF,EXIT
|
---|
16 | Q
|
---|
17 | TEST ;set test data
|
---|
18 | S RMPOXITE=1,RMPORVDT=7019199,RMPOVDR=10,RMPODATE=2980800,DFNS(47)=""
|
---|
19 | S RMPO("STA")=521 N XQY0
|
---|
20 | S XQY0="RMPO BILLING TRANSACTIONS^Billing Transactions^^R^547^^^^^^^341^^^"
|
---|
21 | ;
|
---|
22 | SIGNOF ;Sign off/close a FCP/purchase order
|
---|
23 | ;Determine payment type;if PC obligate & close;if 1358 close
|
---|
24 | N SITE,RVDT,FIL,PFLG,FCPTOT,REFNO,IEN442,FCP,IENFCP,PAYTYP,LCK,X,Y
|
---|
25 | S FIL=665.72,SITE=RMPOXITE,RVDT=RMPODATE ;,VDR=RMPOVDR
|
---|
26 | D PTYP I Y<0!(Y="")!(Y="^") D ABORT Q
|
---|
27 | S PAYTYP=Y D FCP I Y'>0 D ABORT Q
|
---|
28 | S IENFCP=+Y,FCP=$P(Y(0),U),IEN442=$P(Y(0),U,3),REFNO=$P(Y(0),U,4)
|
---|
29 | S FCPTOT=$P(Y(0),U,7)
|
---|
30 | S PFLG=0 D FILCHK I PFLG D I 'Y D ABORT Q
|
---|
31 | . S DIR(0)="Y"
|
---|
32 | . S DIR("A")="All Records not posted for "_FCP_" Continue" D ^DIR
|
---|
33 | ;Lock record at FCP level in ^RMPO(665.72
|
---|
34 | S LCK=$$FCPLCK^RMPOPST0 I 'LCK D Q
|
---|
35 | . W !!,"Record in Use. Try Later...."
|
---|
36 | D I 'Y D ABORT G UNLK ;verify user is ready to close FCP
|
---|
37 | . S DIR(0)="Y"
|
---|
38 | . S DIR("A")="Sure you want to Continue" D ^DIR
|
---|
39 | D @$S(PAYTYP:"FCPUPD",1:"PCSO")
|
---|
40 | ;Unlock record at FCP in ^RMPO(665.72
|
---|
41 | UNLK D UNLKFCP^RMPOPST0
|
---|
42 | Q ;SIGNOF
|
---|
43 | ;
|
---|
44 | ABORT ;Write abort message
|
---|
45 | W !!,"Process Aborted..."
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | PTYP ;Select Payment Type; 1358 or purchase card
|
---|
49 | K DIC,DA,DR
|
---|
50 | D FCP1^RMPOBILU
|
---|
51 | Q ;PTYP
|
---|
52 | FCP ;Select Fund Control Point/Purchase Order to Sign Off
|
---|
53 | K DIC,DA,DR
|
---|
54 | S DA(1)=RVDT,DA(2)=SITE,DIC="^RMPO(665.72,"_DA(2)_",1,"_DA(1)_",2,"
|
---|
55 | S DIC(0)="QAEZ"
|
---|
56 | D
|
---|
57 | . I PAYTYP S DIC("S")="I $P(^(0),U,2)=PAYTYP,$P(^(0),U,8)=""""" Q
|
---|
58 | . ;S DIC("S")="I $P(^(0),U,2)=PAYTYP,$P(^(0),U,5)=DUZ,$P(^(0),U,6)=VDR,$P(^(0),U,8)="""""
|
---|
59 | . S DIC("S")="I $P(^(0),U,2)=PAYTYP,$P(^(0),U,5)=DUZ,$P(^(0),U,8)="""""
|
---|
60 | S DIC("W")="W ?35,$P(^(0),U,2),"
|
---|
61 | S DIC("W")=DIC("W")_"$P(^(0),U,4)"
|
---|
62 | D ^DIC
|
---|
63 | I Y<0 W " Nothing Found..."
|
---|
64 | Q ;FCP
|
---|
65 | FCPUPD ;Close FCP record in ^RMPO(665.72 file. Update global with date closed
|
---|
66 | ;and user for 1358 purchase order
|
---|
67 | K DIE,DA,DR
|
---|
68 | D NOW^%DTC
|
---|
69 | S DA=IENFCP,DA(1)=RVDT,DA(2)=SITE
|
---|
70 | S DIE="^RMPO(665.72,"_DA(2)_",1,"_DA(1)_",2,"
|
---|
71 | S DR="4////"_DUZ_";"_"7///"_%
|
---|
72 | D ^DIE
|
---|
73 | Q ;FCPUPD
|
---|
74 | ;
|
---|
75 | PCSO ;Obligate/Sign off PC order
|
---|
76 | N PRCA,PRCB,PRCC
|
---|
77 | S PRCA="",PRCB=IEN442
|
---|
78 | S PRCC=FCPTOT
|
---|
79 | D OBL^PRCH7D(.X,PRCA,PRCB,PRCC)
|
---|
80 | I X="^" D Q ;not obligated
|
---|
81 | . W !!,"Purchase Card Order "_REFNO
|
---|
82 | . W " Not Obligated for "_FCP
|
---|
83 | D FCPUPD
|
---|
84 | Q ;PCSO
|
---|
85 | ;
|
---|
86 | FILCHK ;Check records to enure all posting done before obligating for a FCP
|
---|
87 | ;PFLG 1-found record not posted, 0-all record posted
|
---|
88 | N DFN,IT,ITDT,VDR
|
---|
89 | W !!,"Verifying all items posted for FCP. Please be patient."
|
---|
90 | S VDR=0
|
---|
91 | F S VDR=$O(^RMPO(FIL,SITE,1,RVDT,1,VDR)) Q:'VDR D I PFLG Q
|
---|
92 | . S DFN=0
|
---|
93 | . F S DFN=$O(^RMPO(FIL,SITE,1,RVDT,1,VDR,"V",DFN)) Q:'DFN D I PFLG Q
|
---|
94 | . . I $P(^RMPO(FIL,SITE,1,RVDT,1,VDR,"V",DFN,0),U,3)="Y" Q
|
---|
95 | . . S IT=0
|
---|
96 | . . F S IT=$O(^RMPO(FIL,SITE,1,RVDT,1,VDR,"V",DFN,1,IT)) Q:'IT D Q:PFLG
|
---|
97 | . . . S ITDT=^RMPO(FIL,SITE,1,RVDT,1,VDR,"V",DFN,1,IT,0) W "."
|
---|
98 | . . . I $P(ITDT,U,3)=FCP D
|
---|
99 | . . . . I $P(ITDT,U,10)'="Y",$P(ITDT,U,6)'=$P(ITDT,U,11) S PFLG=1
|
---|
100 | Q ;FILCHK
|
---|
101 | EXIT ;Kill variables
|
---|
102 | K DA,DIC,DIR,RMPO,QUIT,X,Y,RMPODATE,RMPOMTH,RMPOREC,RMPORVDT
|
---|
103 | Q
|
---|