1 | PRCH7B ;WISC/PLT/CR-PURCHASE CARD PROSTHETICS ORDER INTERFACE ;05/18/1998 @ 10:33
|
---|
2 | V ;;5.1;IFCAP;**18**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | QUIT ;invalid entry
|
---|
5 | ;
|
---|
6 | ;.prca passing ^1= station #, ^2=ri of 440 (vendor)
|
---|
7 | ;.prca return variable ^1=ri of 442, ^2=p.o. order # without station #
|
---|
8 | ; ^3=card #
|
---|
9 | ; or "^" for quit
|
---|
10 | ADD(PRCA) ;add new order
|
---|
11 | N PRCHPC,PRCPROST,PRCRI
|
---|
12 | N DA,A,B,X,Y
|
---|
13 | D DUZ^PRCFSITE
|
---|
14 | S PRCRI(420)=+PRCA,PRC("SITE")=$P(PRCA,"^"),PRCRI(440)=$P(PRCA,"^",2)
|
---|
15 | S X="" S:$D(PRC("SITE")) PRC("PARAM")=^PRC(411,PRC("SITE"),0)
|
---|
16 | S (PRCPROST,PRCHPC)=1
|
---|
17 | D ENPO^PRCHUTL G:'$D(PRCHPO) ADDEX D LCK1^PRCHE G:'$G(DA) ADDEX D ^PRCHNPO L -^PRC(442,DA)
|
---|
18 | ADDEX S PRCA="" I PRCPROST=1.9 S PRCA=+DA,A=$P(^PRC(442,PRCA,0),"^"),$P(PRCA,"^",2)=$P(A,"-",2),$P(PRCA,"^",3)=$P($G(^(23)),"^",16)
|
---|
19 | I PRCA="" D:$G(DA) CANIC(+DA) S PRCA="^"
|
---|
20 | D
|
---|
21 | . N PRCA D Q^PRCHNPO4
|
---|
22 | . QUIT
|
---|
23 | QUIT
|
---|
24 | ;
|
---|
25 | EDITIC(PRCA,PRCB) ;edit order, prca=ri of prostheic order, prcb=ri of file 442
|
---|
26 | N PRCPROST,PRCHPC,PRCRI,DA,A,B,X,Y
|
---|
27 | N FLG1 S FLG1=1
|
---|
28 | S PRCPROST=2,PRCHPC=1
|
---|
29 | D DUZ^PRCFSITE S PRC("SITE")=$P(^PRC(442,PRCB,0),"-")
|
---|
30 | S:$D(PRC("SITE")) PRC("PARAM")=^PRC(411,PRC("SITE"),0)
|
---|
31 | S PRCRI(442)=+PRCB,DA=+PRCB D LCK1^PRCHE S PRCHPO=PRCRI(442) D ^PRCHNPO L -^PRC(442,PRCRI(442))
|
---|
32 | QUIT
|
---|
33 | ;
|
---|
34 | ;.X = "^" if abort
|
---|
35 | OBL(X,PRCA,PRCB,PRCC) ;obligate order, prca=ri of prosthetic order, prcb=ri of file 442, prcc=total cost
|
---|
36 | N PRCPROST,PRCHPC,PRCRI,A,B,Y,DIE
|
---|
37 | N PRCHPO,PRCHTOT,PRCHBOCC,PRCHBOC1,PRCHN
|
---|
38 | D DUZ^PRCFSITE
|
---|
39 | S PRCPROST=3,PRCHPC=1
|
---|
40 | S PRCRI(442)=PRCB
|
---|
41 | S PRCHPO=PRCRI(442),PRCHTOT=PRCC
|
---|
42 | S A=^PRC(440.5,$P(^PRC(442,PRCRI(442),23),"^",8),0),PRCHBOC1=$P(A,U,4)
|
---|
43 | S DIE="^PRC(442,",DA=PRCHPO,DR="60////"_PRCHTOT_";91////"_PRCHTOT_";65////RMPR" D ^DIE K DR
|
---|
44 | S PRCHN("SFC")=+$P(^PRC(442,PRCRI(442),0),U,19)
|
---|
45 | S:'$D(^PRC(442,PRCHPO,2,0)) $P(^PRC(442,PRCHPO,2,0),U,2)=$P(^DD(442,40,0),U,2)
|
---|
46 | S DA(1)=PRCHPO,DIE="^PRC(442,"_DA(1)_",2,",DA=1
|
---|
47 | S DR=".01///^S X=1;1///Prosthetic Order;2///^S X=1;3///^S X=""EA"";5////^S X=PRCHTOT;3.1///^S X=1;9.7///^S X=1;9///^S X="""";8///^S X=9999;K PRCHBOCC;"
|
---|
48 | S DR(1,442.01,1)="I PRCHN(""SFC"")=2 S PRCHBOCC=2696;I '$G(PRCHBOCC) S Y=""@87"";"
|
---|
49 | S DR(1,442.01,2)="S PRCHBOCC=$P($G(^PRCD(420.2,PRCHBOCC,0)),U);3.5////^S X=PRCHBOCC;S Y=""@89"";@87;3.5////^S X=PRCHBOC1;@89;K PRCHBOCC"
|
---|
50 | D ^DIE
|
---|
51 | ;S DIE="^PRC(442,",DA=PRCHPO,DR=20 D ^DIE
|
---|
52 | I '$D(Y) D PROS^PRCHNPO
|
---|
53 | S X="" I PRCPROST=3 D CANIC(PRCRI(442)) S X="^"
|
---|
54 | QUIT
|
---|
55 | ;
|
---|
56 | CANIC(PRCA) ;cancel order, prca=ri of prosthetic order, prcb=ri file 442
|
---|
57 | N PRCPROST,PRCHPC,A,B,X,Y
|
---|
58 | S PRCPROST=99,PRCHPC=1
|
---|
59 | D EDIT^PRC0B(.X,"442;^PRC(442,;"_PRCA,".5///^S X=45")
|
---|
60 | S DA=PRCA D C2237^PRCH442A K DA,%A,%B,%
|
---|
61 | QUIT
|
---|
62 | ;
|
---|
63 | ;.x return variable ="^" if abort
|
---|
64 | ; prca = ri of prosthetic order, prcb = ri of file 442, prcc=zero amount
|
---|
65 | ; flag RMPRPRCH is used to notify RMPR when order cancellation is not
|
---|
66 | ; allowed.
|
---|
67 | CAN(X,PRCA,PRCB,PRCC) ;cancel prosthetic order
|
---|
68 | N PRC,PRCRI,PRCPROST,PRCHAUTH
|
---|
69 | N Y
|
---|
70 | N PRCF,RETURN,PRCHAM,PRCHPO,PRCHNEW,OUT,CAN,PRCHAU,PRCHER,PRCHON,NOCAN
|
---|
71 | N A,B,ER,FL,FIS,DELIVER,PRCHAMDA,PRCHAV,PRCHL1,PRCHLN,PRCHRET,LCNT
|
---|
72 | N PRCHX,PRCHIMP,PRCHNRQ,PRCHP,PRCHPO,REPO,PRCHNORE,%,%A,%B,D0,D1,J
|
---|
73 | N PRCHL2,ROU,DIC,I,PRCHAMT,PRCHAREC,PRCHEDI,PRCHN,PRCHO,SFUND
|
---|
74 | D DUZ^PRCFSITE
|
---|
75 | S PRCHNEW="",PRCHNORE=1,CAN=1,RMPRPRCH=0,PRCHSTOP=""
|
---|
76 | S PRCHAUTH=1,PRCPROST=90
|
---|
77 | S PRCRI(442)=+PRCB,PRCHPO=PRCRI(442)
|
---|
78 | S A=$P(^PRC(442,PRCRI(442),0),"^"),PRC("SITE")=$P(A,"-")
|
---|
79 | I '$$VERIFY^PRCHES5(PRCHPO) W !!,?5,"This purchase order has been tampered with.",!,?5,"Please notify IFCAP APPLICATION COORDINATOR.",! G CANEX
|
---|
80 | ; S B=5 D ICLOCK^PRC0B("^PRC(442,"_PRCHPO_",",.B)
|
---|
81 | ; check if payment has been made, set flag RMPRPRCH and quit.
|
---|
82 | I $D(^PRC(442,PRCHPO,7)) D Q:$G(RMPRPRCH)=1
|
---|
83 | . S PRCHSTOP=$P($G(^PRC(442,PRCHPO,7)),U)
|
---|
84 | . I $P($G(^PRCD(442.3,PRCHSTOP,0)),"(")="Paid " S RMPRPRCH=1
|
---|
85 | . I $P($G(^PRCD(442.3,PRCHSTOP,0)),"(")="Partial Payment " S RMPRPRCH=1
|
---|
86 | . I RMPRPRCH=1 S X="^" W !,$C(7),?5,"A PAYMENT HAS BEEN MADE FOR THIS PURCHASE CARD ORDER, CANNOT CANCEL!" H 3
|
---|
87 | ; D AMENDNO^PRCHAMU D DCLOCK^PRC0B("^PRC(442,"_PRCHPO_",") G:'$G(PRCHAM) CANEX
|
---|
88 | ; check if entry is available.
|
---|
89 | S PRCENTRY=PRCHPO
|
---|
90 | L +^PRC(442,PRCHPO):0 E W !,"Someone else is editing this entry, try later." G CANEX
|
---|
91 | ;
|
---|
92 | ; check for any pending amendment for the order before creating another
|
---|
93 | ; amendment.
|
---|
94 | I $D(^PRC(443.6,PRCHPO,0)) D G:%'=1 CANEX
|
---|
95 | . W @IOF,"*** You already have one pending amendment for this order. ***",!,$C(7)
|
---|
96 | . W !," If you proceed, your previous amendment will be DELETED."
|
---|
97 | . W !
|
---|
98 | . S %=2,%B="",%A=" DO YOU REALLY WANT TO CONTINUE" D ^PRCFYN W !
|
---|
99 | . Q:%'=1
|
---|
100 | . W !," ...DELETING previous amendment..."
|
---|
101 | . S Y=PRCHPO D DEL^PRCHAMU H 5 W "...DONE!" W !
|
---|
102 | . W !," ...Preparing to cancel the order..." H 3 W !
|
---|
103 | . S %=2,%B="",%A=" Continue with CANCELLATION" D ^PRCFYN W ! Q:%'=1
|
---|
104 | ;
|
---|
105 | D AMENDNO^PRCHAMU G:'$G(PRCHAM) CANEX
|
---|
106 | S PRCHAMT=0,FL=0 D INFO^PRCHAMU G:$D(PRCHAV)!ER CANEX
|
---|
107 | S X=$P($G(^PRC(443.6,PRCHPO,0)),U,16) D EN2^PRCHAMXB
|
---|
108 | I PRCHNEW="" S DA(1)=PRCHPO,DA=PRCHAM,PRCHX=X,X=0,PRCHAMDA=34 D EN8^PRCHAMXB S X=PRCHX
|
---|
109 | I $P(^PRC(443.6,PRCHPO,6,PRCHAM,0),U,4)=5!($P(^(0),U,4)=15) S CAN=1
|
---|
110 | I $G(CAN)>0 D ENC^PRCHMA G:ER CANEX I $G(NOCAN)=0 S DA(1)=PRCHPO,DA=PRCHAM,PRCHAMDA=34,PRCHX=X,X=0 D EN8^PRCHAMXB S X=PRCHX D CAN1^PRCHMA
|
---|
111 | K FIS,REPO,DEL
|
---|
112 | CANEX S X="" I PRCPROST=90 S X="^"
|
---|
113 | QUIT
|
---|