Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RMPORPT

RMPORPT.m

Go to the documentation of this file.
  1. RMPORPT ;(NG)/DG/CAP /HINES CIOFO/HNC - Home Oxygen Primary Item Report ;7/24/98
  1. ;;3.0;PROSTHETICS;**29,46**;Feb 09, 1996
  1. SITE ;Set up site variables.
  1. D HOSITE^RMPOUTL0 I '$D(RMPOXITE) Q
  1. ;
  1. LI ;List the sought patient.
  1. N PBREAK,NBREAK S (PBREAK,NBREAK)=""
  1. S DIC="^RMPR(665,"
  1. S BY(0)="^TMP($J,",L(0)=3
  1. 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)="""""
  1. S L=0,FR="",(PAGE,RMEND,RMPORPT)=0
  1. S $P(SPACE," ",80)="",COUNT=0
  1. D NOW^%DTC
  1. S Y=% X ^DD("DD") S RPTDT=$P(Y,"@",1)_" "_$P($P(Y,"@",2),":",1,2)
  1. S DHD="W ?0 D RPTHDR^RMPORPT"
  1. 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"
  1. ;S DIOEND="S:$G(Y)[U RMEND=1 I '$G(RMEND) S COUNT=$E("" "",1,(6-$L(COUNT)))_COUNT W !!,?50,""Total Patients: "",COUNT"
  1. S FLDS="D PBREAK^RMPORPT,.01;C1;L18;""PATIENT"",D SSN^RMPORPT W X;C20;R4;""SSN"",D IT^RMPORPT W X;C27;L30;"""""
  1. 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"""
  1. D SORT
  1. D EN1^DIP
  1. I RMPORPT=0,$G(RMEND) K DIR S DIR(0)="E" D ^DIR
  1. EXIT ;
  1. ;K SPACE,RB,COUNT,PAGE,RMPOF,RPTDT,^TMP($J,"RMPORPT")
  1. ;K FRMDT,TODT,Y,VA,VADM,DFN,RCOST,RNAM,XIOSL,UCOST
  1. K ^TMP($J) N RMPR,RMPRSITE D KILL^XUSCLEAN
  1. Q
  1. CNT ;COUNT NAMES
  1. I X'="" S COUNT=COUNT+1
  1. Q
  1. PBREAK ;Print the break of primary items.
  1. D IT^RMPORPT
  1. I PBREAK'=NBREAK W !,"Primary Item: ",PBREAK,! S NBREAK=PBREAK
  1. Q
  1. ;
  1. SSN ;GET SSN
  1. S X=""
  1. K VA,VADM S DFN=D0 D ^VADPT
  1. S RNAM=$E(VADM(1),1,22)_"^"_$P(VA("PID"),"-",3)
  1. S X=$P(VA("PID"),"-",3)
  1. D CNT
  1. Q
  1. IT ;Get the primary Item.
  1. S (X,UCOST,QTY)="" N RR,RA S (RR,RA)=0
  1. 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
  1. . ; PROSTHETICS PATIENT FILE
  1. . S RR=$P(^RMPR(665,D0,"RMPOC",RA,0),U)
  1. . S UCOST=$P(^RMPR(665,D0,"RMPOC",RA,0),U,4)
  1. . S QTY=$P(^RMPR(665,D0,"RMPOC",RA,0),U,3)
  1. . ;PROS ITEM FILE
  1. . S RR=$P(^RMPR(661,RR,0),U)
  1. . ; ITEM MASTER FILE
  1. . S RR=$P(^PRC(441,RR,0),"^",2)
  1. . S X=$E(RR,1,30)
  1. . S PBREAK=X
  1. Q
  1. ;
  1. QTY ;Get the quntity of the primary item.
  1. S X=""
  1. S X=QTY
  1. Q
  1. ;
  1. UCOST ;Get the unit cost of the primary item.
  1. S X=""
  1. S X=$J(UCOST,7,2)
  1. Q
  1. ;
  1. TCOST ;Calculate the total cost of the primary item.
  1. S X=""
  1. S X=QTY*UCOST,X=$J(X,8,2)
  1. Q
  1. ;
  1. ZPAGE(RY) ;Print page.
  1. I ($Y+RY)<IOSL Q
  1. S RKO="ZL DIO2 X ^TMP($J,1) ZL RMPORPT" X RKO K RKO
  1. Q
  1. ;
  1. RPTHDR ;Report header.
  1. N RA S RA=RMPO("NAME"),PAGE=PAGE+1
  1. W RPTDT,?(40-($L(RA)/2)),RA,?72,"Page: "_PAGE
  1. W !?23,"Primary Item Report",!
  1. W !?64,"Unit",?73,"Total"
  1. W !,"Patient",?20,"SSN",?26,"Primary Item",?58,"Qty"
  1. W ?64,"Cost",?74,"Cost"
  1. W !,"=================",?19,"====",?26,"=============================="
  1. W ?58,"===",?64,"======",?73,"======"
  1. W !
  1. Q
  1. ;
  1. SORT ;Sort patient by primary item and patient name.
  1. N D0,X,Y,UCOST,QTY,PBREAK
  1. S (X,Y,UCOST,QTY,PBREAK)=""
  1. S D2=0
  1. ST F S D2=$O(^RMPR(665,"AHO",D2)) Q:D2="" D
  1. .S D0="" F S D0=$O(^RMPR(665,"AHO",D2,D0)) Q:D0="" D
  1. ..S DFN=$P($G(^RMPR(665,D0,0)),U,1)
  1. ..K VADM D ^VADPT S Y=VADM(1)
  1. ..D IT S:X'="" ^TMP($J,X,Y,D0)=""
  1. Q
  1. ;