source: WorldVistAEHR/trunk/r/PROSTHETICS-RMPR-RMPO-RMPS/RMPRSP7.m@ 824

Last change on this file since 824 was 623, checked in by George Lilly, 15 years ago

revised back to 6/30/08 version

File size: 4.2 KB
Line 
1RMPRSP7 ;HIN/RVD-PRINT 2319 WITHOUT SUSPENSE LINK ;3/17/03 08:13
2 ;;3.0;PROSTHETICS;**62,69,77**;Feb 09, 1996
3 ;RVD 8/27/01 patch #62 - PCE data print
4 ;RVD 4/9/02 patch #69 - Disregard Historical data
5 ;RVD 3/17/02 patch #77 - Fixed For Loop to include all PT 2319 records
6 ; that are not linked
7 ;
8 D DIV4^RMPRSIT I $D(Y),(Y<0) Q
9 ; Prompt for Start Date
10STDT ;RMPRSDT is start date in FM internal form.
11 K %DT,X,Y
12 S %DT("A")="Starting Date: "
13 S %DT(0)=-DT
14 S %DT="AEP"
15 D ^%DT I Y<0 G EXIT1
16 S RMPRSDT=$P(Y,".",1)
17 S %DT("A")="Ending Date: ",%DT="AEX" D ^%DT G:Y<0 EXIT1
18 S RMPREDT=$P(Y,".",1)
19 I RMPRSDT>RMPREDT W !,$C(7),"Invalid Date Range Selection!!" G STDT
20 ;
21CONT G:'$D(RMPRSDT) EXIT1 S %ZIS="MQ" K IOP D ^%ZIS G:POP EXIT1 I '$D(IO("Q")) U IO G PRINT
22 K IO("Q") S ZTDESC="PROSTHETIC PATIENT RECORDS WITHOUT SUSPENSE",ZTRTN="PRINT^RMPRSP7",ZTIO=ION,ZTSAVE("RMPRSDT")=""
23 S ZTSAVE("RMPR(""STA"")")="",ZTSAVE("RMPR(")="",ZTSAVE("RMPREDT")=""
24 D ^%ZTLOAD W:$D(ZTSK) !,"REQUEST QUEUED!" H 1 G EXIT
25 ;
26PRINT I $E(IOST)["C" W !!,"Processing report......."
27 K ^TMP($J)
28 K %DT,X,Y
29 S X="NOW" D ^%DT S RMDATE=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3)
30 S RMPAGE=1,(RMTOBAL,RMPREND)=0,RS=RMPR("STA")
31 S RDT=RMPRSDT-1,RET=RMPREDT+1,RS=RMPR("STA")
32 S Y=RMPRSDT D DD^%DT S RMSDAT=Y
33 S Y=RMPREDT D DD^%DT S RMEDAT=Y
34 D BUILD
35 I '$D(^TMP($J)) D HEAD,NONE G EXIT
36 D HEAD,HEAD1
37 D WRITE
38 G EXIT
39 ;
40BUILD ;build a tmp global.
41 F RI=RDT:0:RET S RI=$O(^RMPR(660,"B",RI)) Q:(RI'>0)!(RMPREND)!(RI>RMPREDT) F RJ=0:0 S RJ=$O(^RMPR(660,"B",RI,RJ)) Q:(RJ'>0) D
42 .;don't include if O2 transactions.
43 .Q:$D(^RMPO(665.72,"AC",RJ))
44 .S RM0=$G(^RMPR(660,RJ,0))
45 .S RM10=$G(^RMPR(660,RJ,10))
46 .Q:($P(RM0,U,13)=13)!($P(RM0,U,15)="*")
47 .Q:($P(RM10,U,14)>0)!($P(RM0,U,10)'=RMPR("STA"))
48 .Q:$P(RM0,U,17)'=""
49 .I $P(RM0,U,10)=RS D
50 ..S RMDFN=$P(RM0,U,2)
51 ..S RMITIEN=$P(RM0,U,6)
52 ..S (RMITEM,RMPAT)=""
53 ..I RMITIEN,($D(^RMPR(661,RMITIEN,0))),($D(^PRC(441,$P(^RMPR(661,RMITIEN,0),U,1),0))) D
54 ...S RMITEM=$P(^PRC(441,$P(^RMPR(661,RMITIEN,0),U,1),0),U,2)
55 ..S RMITEM=$E(RMITEM,1,18)
56 ..I $D(^DPT(RMDFN,0)) S RMPAT=$E($P(^DPT(RMDFN,0),U,1),U,15)
57 ..S RMSUSP=$P(RM10,U,1)
58 ..S RMRXDT=$P(RM10,U,2)
59 ..S RMIADT=$P(RM10,U,3)
60 ..S RCDT=$P(RM10,U,4)
61 ..S RMAMT=$P(RM0,U,16)
62 ..S RMSRC=RJ
63 ..S RMPRDI=$P(RM10,U,7)
64 ..S RMINIE=$P(RM0,U,27)
65 ..S RMCOSU=$P(RM10,U,9)
66 ..S RMSUST=$P(RM10,U,11)
67 ..S RMPCEP=$P(RM10,U,12)
68 ..S RPDT=$P(RM10,U,13)
69 ..I RMINIE,$D(^VA(200,RMINIE,0)) S RMINI=$E($P(^VA(200,RMINIE,0),U,1),1,10)
70 ..E S RMINI=""
71 ..S RDDT=$E(RI,4,5)_"/"_$E(RI,6,7)_"/"_$E(RI,2,3)
72 ..S:RPDT'="" RPDT=$E(RPDT,4,5)_"/"_$E(RPDT,6,7)_"/"_$E(RPDT,2,3)
73 ..S:RCDT'="" RCDT=$E(RCDT,4,5)_"/"_$E(RCDT,6,7)_"/"_$E(RCDT,2,3)
74 ..S ^TMP($J,RI,RMPAT,RJ)=RMITEM_"^"_RDDT_"^"_RMAMT_"^"_RMSRC_"^"_RMINI_"^"_RPDT_"^"_$E(RMPRDI,1,10)
75 Q
76 ;
77WRITE ;write report to a selected device
78 S (RMPREND,RI,RM)=0
79 F S RI=$O(^TMP($J,RI)) Q:(RI'>0)!(RMPREND) S RJ="" F S RJ=$O(^TMP($J,RI,RJ)) Q:(RJ="")!(RMPREND) F S RM=$O(^TMP($J,RI,RJ,RM)) Q:(RM'>0)!(RMPREND) D
80 .S RMDAT=$G(^TMP($J,RI,RJ,RM))
81 .S RMPAT=RJ
82 .S RMITEM=$P(RMDAT,U,1)
83 .S RDDT=$P(RMDAT,U,2)
84 .S RMAMT=$P(RMDAT,U,3)
85 .S RMSRC=$P(RMDAT,U,4)
86 .S RMINI=$P(RMDAT,U,5)
87 .S RPDT=$P(RMDAT,U,6)
88 .S RMPRDI=$E($P(RMDAT,U,7),1,12)
89 .W !,RDDT,?10,RMPAT,?26,RMITEM,?45,$J(RMAMT,8,2),?57,RMSRC,?67,RMINI
90 .S RMPRFLG=1
91 .I $E(IOST)["C"&($Y>(IOSL-7)) S DIR(0)="E" D ^DIR S:$D(DTOUT)!(Y=0) RMPREND=1 Q:RMPREND W @IOF D HEAD,HEAD1 Q
92 .I $Y>(IOSL-6) W @IOF D HEAD,HEAD1 K RMPRFLG Q
93 W !,RMPR("L")
94 W !,"<End of Report>"
95 Q
96 ;
97HEAD W !,"PROSTHETICS PATIENT RECORDS NOT LINKED TO SUSPENSE Run Date:",RMDATE,?70,"PAGE: ",RMPAGE
98 W !,"Start Date: ",RMSDAT,?26,"End Date: ",RMEDAT,?51,"station: ",$E($P($G(^DIC(4,RS,0)),U,1),1,19)
99 S RMPAGE=RMPAGE+1
100 Q
101 ;
102HEAD1 I $E(IOST)["C"&($Y>(IOSL-7)) S DIR(0)="E" D ^DIR S:$D(DTOUT)!(Y=0) RMPREND=1 Q:RMPREND W @IOF D HEAD
103 I $E(IOST)'["C"&($Y>(IOSL-6)) W @IOF D HEAD
104 W !,RMPR("L")
105 W !,"DATE",?10,"PATIENT",?26,"ITEM",?49,"COST",?57,"VISTA #",?67,"INITIATOR"
106 W !,"----",?10,"-------",?26,"----",?49,"----",?57,"-------",?67,"---------"
107 S RMPRFLG=1
108 Q
109 ;
110EXIT I $E(IOST)["C",'RMPREND K DIR S DIR(0)="E" D ^DIR
111EXIT1 D ^%ZISC
112 K ^TMP($J)
113 N RMPR,RMPRSITE D KILL^XUSCLEAN
114 Q
115NONE W !!,"NO DATA TO PRINT !!!!!"
116 Q
Note: See TracBrowser for help on using the repository browser.