| 1 | RMPORPT ;(NG)/DG/CAP /HINES CIOFO/HNC - Home Oxygen Primary Item Report ;7/24/98 | 
|---|
| 2 | ;;3.0;PROSTHETICS;**29,46**;Feb 09, 1996 | 
|---|
| 3 | SITE ;Set up site variables. | 
|---|
| 4 | D HOSITE^RMPOUTL0 I '$D(RMPOXITE) Q | 
|---|
| 5 | ; | 
|---|
| 6 | LI ;List the sought patient. | 
|---|
| 7 | N PBREAK,NBREAK S (PBREAK,NBREAK)="" | 
|---|
| 8 | S DIC="^RMPR(665," | 
|---|
| 9 | S BY(0)="^TMP($J,",L(0)=3 | 
|---|
| 10 | S DIS(0)="I $P($G(^RMPR(665,D0,""RMPOA"")),U,7)=RMPOXITE,$P($G(^RMPR(665,D0,""RMPOA"")),U,2)'="""",$P($G(^RMPR(665,D0,""RMPOA"")),U,3)=""""" | 
|---|
| 11 | S L=0,FR="",(PAGE,RMEND,RMPORPT)=0 | 
|---|
| 12 | S $P(SPACE," ",80)="",COUNT=0 | 
|---|
| 13 | D NOW^%DTC | 
|---|
| 14 | S Y=% X ^DD("DD") S RPTDT=$P(Y,"@",1)_"  "_$P($P(Y,"@",2),":",1,2) | 
|---|
| 15 | S DHD="W ?0 D RPTHDR^RMPORPT" | 
|---|
| 16 | S DIOEND="I $G(Y)'[U S COUNT=$E(""      "",1,(6-$L(COUNT)))_COUNT W !!,?50,""Total Patients: "",COUNT S RMEND=1 S:IOST[""P-"" RMPORPT=1" | 
|---|
| 17 | ;S DIOEND="S:$G(Y)[U RMEND=1 I '$G(RMEND) S COUNT=$E(""      "",1,(6-$L(COUNT)))_COUNT W !!,?50,""Total Patients: "",COUNT" | 
|---|
| 18 | S FLDS="D PBREAK^RMPORPT,.01;C1;L18;""PATIENT"",D SSN^RMPORPT W X;C20;R4;""SSN"",D IT^RMPORPT W X;C27;L30;""""" | 
|---|
| 19 | S FLDS(1)="D QTY^RMPORPT W X;C60;L2;""QTY"",D UCOST^RMPORPT W X;C63;""UNIT COST"",D TCOST^RMPORPT W X;C72;""TOTAL COST""" | 
|---|
| 20 | D SORT | 
|---|
| 21 | D EN1^DIP | 
|---|
| 22 | I RMPORPT=0,$G(RMEND) K DIR S DIR(0)="E" D ^DIR | 
|---|
| 23 | EXIT ; | 
|---|
| 24 | ;K SPACE,RB,COUNT,PAGE,RMPOF,RPTDT,^TMP($J,"RMPORPT") | 
|---|
| 25 | ;K FRMDT,TODT,Y,VA,VADM,DFN,RCOST,RNAM,XIOSL,UCOST | 
|---|
| 26 | K ^TMP($J) N RMPR,RMPRSITE D KILL^XUSCLEAN | 
|---|
| 27 | Q | 
|---|
| 28 | CNT ;COUNT NAMES | 
|---|
| 29 | I X'="" S COUNT=COUNT+1 | 
|---|
| 30 | Q | 
|---|
| 31 | PBREAK ;Print the break of primary items. | 
|---|
| 32 | D IT^RMPORPT | 
|---|
| 33 | I PBREAK'=NBREAK W !,"Primary Item: ",PBREAK,! S NBREAK=PBREAK | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|
| 36 | SSN ;GET SSN | 
|---|
| 37 | S X="" | 
|---|
| 38 | K VA,VADM S DFN=D0 D ^VADPT | 
|---|
| 39 | S RNAM=$E(VADM(1),1,22)_"^"_$P(VA("PID"),"-",3) | 
|---|
| 40 | S X=$P(VA("PID"),"-",3) | 
|---|
| 41 | D CNT | 
|---|
| 42 | Q | 
|---|
| 43 | IT ;Get the primary Item. | 
|---|
| 44 | S (X,UCOST,QTY)="" N RR,RA S (RR,RA)=0 | 
|---|
| 45 | F  S RA=$O(^RMPR(665,D0,"RMPOC",RA)) Q:RA=""  I $P($G(^RMPR(665,D0,"RMPOC",RA,0)),U,11)="Y" D  Q | 
|---|
| 46 | . ; PROSTHETICS PATIENT FILE | 
|---|
| 47 | . S RR=$P(^RMPR(665,D0,"RMPOC",RA,0),U) | 
|---|
| 48 | . S UCOST=$P(^RMPR(665,D0,"RMPOC",RA,0),U,4) | 
|---|
| 49 | . S QTY=$P(^RMPR(665,D0,"RMPOC",RA,0),U,3) | 
|---|
| 50 | . ;PROS ITEM FILE | 
|---|
| 51 | . S RR=$P(^RMPR(661,RR,0),U) | 
|---|
| 52 | . ; ITEM MASTER FILE | 
|---|
| 53 | . S RR=$P(^PRC(441,RR,0),"^",2) | 
|---|
| 54 | . S X=$E(RR,1,30) | 
|---|
| 55 | . S PBREAK=X | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | QTY ;Get the quntity of the primary item. | 
|---|
| 59 | S X="" | 
|---|
| 60 | S X=QTY | 
|---|
| 61 | Q | 
|---|
| 62 | ; | 
|---|
| 63 | UCOST ;Get the unit cost of the primary item. | 
|---|
| 64 | S X="" | 
|---|
| 65 | S X=$J(UCOST,7,2) | 
|---|
| 66 | Q | 
|---|
| 67 | ; | 
|---|
| 68 | TCOST ;Calculate the total cost of the primary item. | 
|---|
| 69 | S X="" | 
|---|
| 70 | S X=QTY*UCOST,X=$J(X,8,2) | 
|---|
| 71 | Q | 
|---|
| 72 | ; | 
|---|
| 73 | ZPAGE(RY)  ;Print page. | 
|---|
| 74 | I ($Y+RY)<IOSL Q | 
|---|
| 75 | S RKO="ZL DIO2 X ^TMP($J,1) ZL RMPORPT" X RKO K RKO | 
|---|
| 76 | Q | 
|---|
| 77 | ; | 
|---|
| 78 | RPTHDR ;Report header. | 
|---|
| 79 | N RA S RA=RMPO("NAME"),PAGE=PAGE+1 | 
|---|
| 80 | W RPTDT,?(40-($L(RA)/2)),RA,?72,"Page: "_PAGE | 
|---|
| 81 | W !?23,"Primary Item Report",! | 
|---|
| 82 | W !?64,"Unit",?73,"Total" | 
|---|
| 83 | W !,"Patient",?20,"SSN",?26,"Primary Item",?58,"Qty" | 
|---|
| 84 | W ?64,"Cost",?74,"Cost" | 
|---|
| 85 | W !,"=================",?19,"====",?26,"==============================" | 
|---|
| 86 | W ?58,"===",?64,"======",?73,"======" | 
|---|
| 87 | W ! | 
|---|
| 88 | Q | 
|---|
| 89 | ; | 
|---|
| 90 | SORT ;Sort patient by primary item and patient name. | 
|---|
| 91 | N D0,X,Y,UCOST,QTY,PBREAK | 
|---|
| 92 | S (X,Y,UCOST,QTY,PBREAK)="" | 
|---|
| 93 | S D2=0 | 
|---|
| 94 | ST F  S D2=$O(^RMPR(665,"AHO",D2)) Q:D2=""  D | 
|---|
| 95 | .S D0="" F  S D0=$O(^RMPR(665,"AHO",D2,D0)) Q:D0=""  D | 
|---|
| 96 | ..S DFN=$P($G(^RMPR(665,D0,0)),U,1) | 
|---|
| 97 | ..K VADM D ^VADPT S Y=VADM(1) | 
|---|
| 98 | ..D IT S:X'="" ^TMP($J,X,Y,D0)="" | 
|---|
| 99 | Q | 
|---|
| 100 | ; | 
|---|