| 1 | PRCH58OB ;WISC/CLH-OBLIGATE,ADJUST 1358 ;11/28/94  15:06 | 
|---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | COB(DA,TRNODE,PO,OB,X) ; | 
|---|
| 5 | ;enter transaction information onto PO | 
|---|
| 6 | ;kills TMP("NEWDATE"),TMP("NEWACC") | 
|---|
| 7 | N DATE,FLAG,I,J,PRCBBFY,SUBSTA,X | 
|---|
| 8 | S $P(PO(0),"^",3,9)=$P(TRNODE(3),"^",1,3)_"^"_$P(TRNODE(3),"^",6,9) | 
|---|
| 9 | S X=$P(PO(0),"^",7)+$P(PO(0),"^",9) | 
|---|
| 10 | S $P(PO(0),"^",11,12)=X_"^"_OB | 
|---|
| 11 | S $P(PO(0),"^",15)=$P(TRNODE(4),"^") | 
|---|
| 12 | F I=6,8 S $P(PO(0),"^",I)=+$P(PO(0),"^",I) | 
|---|
| 13 | S PO(1)=$P(TRNODE(3),"^",4,5) | 
|---|
| 14 | ; | 
|---|
| 15 | L +^PRC(442,DA) | 
|---|
| 16 | S ^PRC(442,DA,0)=PO(0) | 
|---|
| 17 | S $P(^PRC(442,DA,1),"^",1,2)=$P(PO(1),"^",1,2) | 
|---|
| 18 | S:$P(PO(0),"^",3)]"" ^PRC(442,"E",$P($P(PO(0),"^",3)," "),DA)="" | 
|---|
| 19 | S:$P(PO(1),"^")]"" ^PRC(442,"D",$P(PO(1),"^"),DA)="" | 
|---|
| 20 | I $D(PRCFA("RETRAN")),'PRCFA("RETRAN") D NODE22^PRCFFU5 | 
|---|
| 21 | S PRCBBFY=$P(TRNODE(3),U,11) | 
|---|
| 22 | S SUBSTA=$P(TRNODE(0),"^",10) | 
|---|
| 23 | S:'$D(TMP("NEWDATE")) TMP("NEWDATE")="" | 
|---|
| 24 | S:'$D(TMP("NEWACC")) TMP("NEWACC")="0^NO" | 
|---|
| 25 | S DATE=$P(TMP("NEWDATE"),U) | 
|---|
| 26 | S FLAG=$P(TMP("NEWACC"),U) | 
|---|
| 27 | S DIE=442 | 
|---|
| 28 | S DR="26///^S X=PRCBBFY;29///^S X=DATE;30///^S X=FLAG;31///^S X=SUBSTA" | 
|---|
| 29 | D ^DIE | 
|---|
| 30 | K DIE,DR | 
|---|
| 31 | K TMP("NEWDATE") | 
|---|
| 32 | K TMP("NEWACC") | 
|---|
| 33 | I $P($G(^PRC(442,DA,12)),"^",2)]"" D | 
|---|
| 34 | . D REMOVE^PRCHES5(DA),ENCODE^PRCHES5(DA,$P(^PRC(442,DA,1),"^",10)) | 
|---|
| 35 | . QUIT | 
|---|
| 36 | L -^PRC(442,DA) | 
|---|
| 37 | Q | 
|---|
| 38 | ; | 
|---|
| 39 | PAT(DA,PODA,PO,PATNUM) ;get pat info, kill PRCHPO | 
|---|
| 40 | S (PO,PODA)=DA | 
|---|
| 41 | S PO(0)=$G(^PRC(442,PODA,0)) | 
|---|
| 42 | S PATNUM=$P(PO(0),U) | 
|---|
| 43 | K PRCHPO | 
|---|
| 44 | Q | 
|---|
| 45 | ; | 
|---|
| 46 | ADJ(DIC,PRC,DA) ; | 
|---|
| 47 | S DIC("A")="Select OBLIGATION NUMBER: " | 
|---|
| 48 | S DIC(0)="AEQZ" | 
|---|
| 49 | S D="D" | 
|---|
| 50 | S DIC("S")="I $P(^(0),U,2)=""O"",$P(^(0),U,4)=1,PRC(""SITE"")=+^(0),+PRC(""CP"")=+$P($P(^(0),U),""-"",4)" | 
|---|
| 51 | D IX^DIC | 
|---|
| 52 | Q | 
|---|
| 53 | ; | 
|---|
| 54 | VER(PRC,X) ;verify entry | 
|---|
| 55 | S X=$O(^PRC(442,"B",PRC("SITE")_"-"_X,0)) | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | PO(DA,PO) ;PO data for adjustments | 
|---|
| 59 | N I | 
|---|
| 60 | F I=0,1,7,8 S PO(I)=$G(^PRC(442,DA,I)) | 
|---|
| 61 | Q | 
|---|
| 62 | ; | 
|---|
| 63 | OLDTT(DA,X) ;old code sheet info | 
|---|
| 64 | S X=$E($G(^PRC(442,DA,10,1,0)),1,6) | 
|---|
| 65 | Q | 
|---|
| 66 | ; | 
|---|
| 67 | POADJ(PO,PODA,TRNODE,AMT) ;set adjustments in 442 | 
|---|
| 68 | N DIE,DR,DA,X,X1 | 
|---|
| 69 | S X1=AMT | 
|---|
| 70 | S:AMT<0 AMT=-AMT | 
|---|
| 71 | S DIE="^PRC(442," | 
|---|
| 72 | S DA=PODA | 
|---|
| 73 | S DR="92///^S X=$S($P(PO(0),U,16)]"""":$P(PO(0),U,16),1:$P(PO(0),U,15))+X1;91///^S X=$P(PO(0),U,15)+X1;7.2///^S X=AMT;3.4///^S X=$P(PO(0),U,7)+$P(TRNODE(3),U,7);94///^S X=$P(PO(8),U,1)+X1" | 
|---|
| 74 | S:$P(PO(0),U,9) DR=DR_";4.4///^S X=$P(PO(0),U,9)+$P(TRNODE(3),U,9)" | 
|---|
| 75 | D ^DIE | 
|---|
| 76 | S PO(0)=^PRC(442,PODA,0) | 
|---|
| 77 | S X=100 | 
|---|
| 78 | S DA=PODA | 
|---|
| 79 | D ENF^PRCHSTAT | 
|---|
| 80 | S:X1'=AMT AMT=X1 | 
|---|
| 81 | Q | 
|---|
| 82 | ; | 
|---|
| 83 | OBLK(PODA,PRCA) ;look up obligation number | 
|---|
| 84 | N DIC,Y | 
|---|
| 85 | S DIC="^PRC(442," | 
|---|
| 86 | S DIC(0)="AEMNQZ" | 
|---|
| 87 | S DIC("A")="Select OBLIGATION NUMBER: " | 
|---|
| 88 | S DIC("S")="I $P(^(0),U,2)=21" | 
|---|
| 89 | S:$G(PRCA) DIC("S")=DIC("S")_","_"+$P(^(0),U,3)=PRCA" | 
|---|
| 90 | D ^DIC | 
|---|
| 91 | I +Y<0 S PODA=0 Q | 
|---|
| 92 | S PODA=+Y | 
|---|
| 93 | S PODA(0)=Y(0) | 
|---|
| 94 | S PODA(1)=$P(Y,U,2) | 
|---|
| 95 | S PODA(2)=$P(Y(0),U,3) | 
|---|
| 96 | Q | 
|---|
| 97 | ; | 
|---|
| 98 | BAL(PODA,AMT) ;set the 8th node equal to obligation amount | 
|---|
| 99 | S ^PRC(442,PODA,8)=AMT_"^0^0" | 
|---|
| 100 | Q | 
|---|
| 101 | ; | 
|---|
| 102 | KILL(PO) ;if 1358 obligation not completed, set dollar amounts on PAT to 0 | 
|---|
| 103 | ;delete 'PRIMARY 2237' field, set status to 'CANCELLED ORDER' | 
|---|
| 104 | ;and delete references to pat number on original request. | 
|---|
| 105 | N ZZX,XXZ,DIE,DR,X,Y,TRDA,DA | 
|---|
| 106 | D WAIT^PRCFYN | 
|---|
| 107 | S ZZX=^PRC(442,PO,0) | 
|---|
| 108 | S $P(ZZX,U,15,16)="0^0" | 
|---|
| 109 | F XXZ=7,9 S $P(ZZX,U,XXZ)=0 S $P(ZZX,U,12)="" | 
|---|
| 110 | S ^PRC(442,PO,0)=ZZX | 
|---|
| 111 | K XXZ,^(9) | 
|---|
| 112 | S DA=+$P(ZZX,U,12) | 
|---|
| 113 | I $D(^PRCS(410,DA,0)) S DIE="^PRCS(410,",DR="52///@;24///@" D ^DIE K DIE,DA,DR,ZZX | 
|---|
| 114 | S (X,Y)=45,DA=PO | 
|---|
| 115 | D UPD^PRCHSTAT | 
|---|
| 116 | K DIE,DA,DR,X,Y | 
|---|
| 117 | S X="PAT Number "_PATNUM_" has been cancelled." | 
|---|
| 118 | D MSG^PRCFQ W ! | 
|---|
| 119 | S X="Status on 1358 remains 'Pending Fiscal Action'.*" | 
|---|
| 120 | D MSG^PRCFQ | 
|---|
| 121 | S TRDA=+$P(ZZX,U,12) | 
|---|
| 122 | I $D(^PRCS(410,TRDA,0)) D KILL^PRCS58OB(TRDA) | 
|---|
| 123 | Q | 
|---|
| 124 | ; | 
|---|
| 125 | BAL1(PODA,AMT) ;Set liquidation balance | 
|---|
| 126 | S:$G(^PRC(442,+PODA,8)) $P(^(8),"^",2)=AMT | 
|---|
| 127 | Q | 
|---|