[613] | 1 | ECXPROCT ;ALB/GTS - ProstheticS Cost by PSAS HCPC Report DSS ; 12/15/06 3:55pm
|
---|
| 2 | ;;3.0;DSS EXTRACTS;**71,100**;Dec 22, 1997;Build 2
|
---|
| 3 | ;
|
---|
| 4 | EN ;entry point from option
|
---|
| 5 | ;Initialize varables
|
---|
| 6 | N DIR,ECSD1,ECED,X,Y
|
---|
| 7 | ;Prompt for start date
|
---|
| 8 | S DIR(0)="D^::EX"
|
---|
| 9 | S DIR("A")="Enter Report Start Date"
|
---|
| 10 | D ^DIR
|
---|
| 11 | I $D(DIRUT) Q
|
---|
| 12 | S ECSD1=Y
|
---|
| 13 | ;Prompt for end date
|
---|
| 14 | K DIR,X,Y
|
---|
| 15 | S DIR(0)="D^"_ECSD1_":"_DT_":EX"
|
---|
| 16 | S DIR("A")="Enter Report Ending Date"
|
---|
| 17 | D ^DIR
|
---|
| 18 | I $D(DIRUT) Q
|
---|
| 19 | S ECED=Y
|
---|
| 20 | ;Queue Report
|
---|
| 21 | W !!,"** REPORT REQUIRES 132 COLUMNS TO PRINT CORRECTLY **",!!
|
---|
| 22 | N ZTDESC,ZTIO,ZTSAVE
|
---|
| 23 | S ZTIO=""
|
---|
| 24 | S ZTDESC="Prosthetic Cost by PSAS HCPC Report for DSS"
|
---|
| 25 | F I="ECSD1","ECED","ECXPHCPC","ECXPHDESC","ECXHCPC","ECXQTY","ECXUOFI","ECXCOST","ECXTCOST" D
|
---|
| 26 | .S ZTSAVE(I)=""
|
---|
| 27 | D EN^XUTMDEVQ("EN1^ECXPROCT",ZTDESC,.ZTSAVE)
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | EN1 ;Tasked entry point
|
---|
| 31 | ;Input : ECSD1 - FM format report start date
|
---|
| 32 | ; ECED - FM format report end date
|
---|
| 33 | ;
|
---|
| 34 | ;Output : None
|
---|
| 35 | ;
|
---|
| 36 | ;Declare variables
|
---|
| 37 | N ECXPHCPC,ECXHCDES,ECXHCPC,ECXQTY,ECXUOFI,ECXCOST,ECXTCOST,PAGENUM
|
---|
| 38 | N ECXLNE,ECXCT,ECXDACT,ECX0,ECX1,ECXED1,ECINSTSV,ECXLNSTR,ECXP
|
---|
| 39 | N DIC,DR,DA,DIQ
|
---|
| 40 | S ECXED1=ECED+.9999,ECXCT=ECSD1,(CNT,QFLG,PAGENUM,ECXTCOST,ECXQTY,STOP)=0
|
---|
| 41 | D HEADER I STOP D EXIT Q
|
---|
| 42 | D GETDATA
|
---|
| 43 | I '$D(^TMP("ECXDSS",$J)) D Q
|
---|
| 44 | .W !
|
---|
| 45 | .W !,"***********************************************"
|
---|
| 46 | .W !,"* NOTHING TO REPORT FOR SELECTED TIME FRAME *"
|
---|
| 47 | .W !,"***********************************************"
|
---|
| 48 | .D WAIT
|
---|
| 49 | D DETAIL I STOP D EXIT Q
|
---|
| 50 | D TOTAL
|
---|
| 51 | K ^TMP("ECXDSS",$J)
|
---|
| 52 | Q
|
---|
| 53 | ;
|
---|
| 54 | GETDATA ;Get data
|
---|
| 55 | F S ECXCT=$O(^RMPR(660,"CT",ECXCT)),CNT=CNT+1 Q:(ECXCT>ECXED1)!('ECXCT)!(QFLG=1) D
|
---|
| 56 | .S ECXDACT=0
|
---|
| 57 | .F S ECXDACT=$O(^RMPR(660,"CT",ECXCT,ECXDACT)) Q:('ECXDACT)!(QFLG=1) D
|
---|
| 58 | ..;Get data nodes and icrement conunter
|
---|
| 59 | ..S CNT=CNT+1
|
---|
| 60 | ..S ECX0=$G(^RMPR(660,ECXDACT,0)),ECX1=$G(^(1))
|
---|
| 61 | ..Q:'$D(^RMPR(660,ECXDACT,0))
|
---|
| 62 | ..S ECXPHCPC=$P(ECX1,U,4),ECHCDES=$P(ECX1,U,2),ECXHCPC=$P(ECX0,U,22)
|
---|
| 63 | ..S ECXQTY=$P(ECX0,U,7),ECXUOFI=$P(ECX0,U,8),ECXCOST=$P(ECX0,U,16)
|
---|
| 64 | ..;Resolve external values for PSAS HCPC
|
---|
| 65 | ..K DIC S DIC="^RMPR(661.1,",DIC(0)="NZ",X=ECXPHCPC D ^DIC
|
---|
| 66 | ..;S ECXPHCPC=$P($G(Y(0)),U,1)
|
---|
| 67 | ..S ECXPHCPC=$E($P($G(Y(0)),U,1),1,5)
|
---|
| 68 | ..;Resolve external values for HCPC
|
---|
| 69 | ..K DIC S DIC="^ICPT(",DIC(0)="NZ",X=ECXHCPC D ^DIC
|
---|
| 70 | ..S ECXHCPC=$P($G(Y(0)),U,1)
|
---|
| 71 | ..;Resolve external value for unit of issue
|
---|
| 72 | ..K DIC S DIC="^PRCD(420.5,",DIC(0)="NZ",X=ECXUOFI D ^DIC
|
---|
| 73 | ..S ECXUOFI=$P($G(Y(0)),U,2)
|
---|
| 74 | ..S ECXTCOST=ECXCOST+ECXTCOST
|
---|
| 75 | ..S ECXDIV=$$GET1^DIQ(660,ECXDACT,8,"I")
|
---|
| 76 | ..S ECXDFN=$G(ECXP(660,ECXDACT,.02,"I"))
|
---|
| 77 | ..S ECXFORM=$G(ECXP(660,ECXDACT,11,"E"))_U_$G(ECXP(660,ECXDACT,11,"I"))
|
---|
| 78 | ..;Save for later
|
---|
| 79 | ..S ^TMP("ECXDSS",$J,CNT)=ECXPHCPC_U_ECHCDES_U_ECXHCPC_U_ECXQTY_U_ECXUOFI_U_ECXCOST
|
---|
| 80 | ..Q
|
---|
| 81 | .Q
|
---|
| 82 | Q
|
---|
| 83 | HEADER ;print header
|
---|
| 84 | S PAGENUM=PAGENUM+1
|
---|
| 85 | S $P(LN,"-",132)=""
|
---|
| 86 | W @IOF
|
---|
| 87 | W !,"Cost by PSAS HCPC REPORT for "_$P($$SITE^VASITE,U,2)_" station "_$P($$SITE^VASITE,U,3),?120,"Page: ",PAGENUM
|
---|
| 88 | W !!,"Report for ",$$FMTE^XLFDT(ECSD1)," thru ",$$FMTE^XLFDT(ECED)
|
---|
| 89 | W !,?1,"PSAS HCPC",?15,"DESCRIPTION",?89,"HCPC",?98,"QTY",?104,"Unit of Issue",?126,"Cost"
|
---|
| 90 | W !?1,LN
|
---|
| 91 | Q
|
---|
| 92 | ;
|
---|
| 93 | DETAIL ;Print detailed line
|
---|
| 94 | ;Input : ^TMP("ECXDSS",$J) full global reference
|
---|
| 95 | ; ECXPHCPC - PSAS HCPCS
|
---|
| 96 | ; ECXPHDESC - PSAS HCPC Description
|
---|
| 97 | ; ECXHCPC - HCPCS
|
---|
| 98 | ; ECXQTY - Quantity
|
---|
| 99 | ; ECXUOFI - Unit of issue
|
---|
| 100 | ; ECXCOST - Total cost
|
---|
| 101 | ;Output : None
|
---|
| 102 | S RECORD=0 F S RECORD=$O(^TMP("ECXDSS",$J,RECORD)) Q:'RECORD!(STOP) D
|
---|
| 103 | .S NODE=^TMP("ECXDSS",$J,RECORD)
|
---|
| 104 | .W !?1,$$RJ^XLFSTR($P(NODE,U,1),6),?15,$P(NODE,U,2),?89,$$RJ^XLFSTR($P(NODE,U,3),U,6),?99,$$RJ^XLFSTR($P(NODE,U,4),U,6),?107,$P(NODE,U,5)
|
---|
| 105 | .W ?122,"$"_$$RJ^XLFSTR($P($P(NODE,U,6),".",1),6)_"."_$$LJ^XLFSTR($P($P(NODE,U,6),".",2),2,0)
|
---|
| 106 | .I $Y>(IOSL-5) D WAIT Q:STOP D HEADER
|
---|
| 107 | .Q
|
---|
| 108 | Q
|
---|
| 109 | ;
|
---|
| 110 | TOTAL ;Report totals
|
---|
| 111 | N DASH
|
---|
| 112 | S $P(DASH,"=",15)=""
|
---|
| 113 | W !!,?118,DASH
|
---|
| 114 | W !?90,"Grand Total: ",?118,"$ "_$$RJ^XLFSTR($FNUMBER(ECXTCOST,",",2),11)
|
---|
| 115 | Q
|
---|
| 116 | ;
|
---|
| 117 | WAIT ;End of page logic
|
---|
| 118 | ;Input ; None
|
---|
| 119 | ;Output ; STOP - Flag inidcating if printing should continue
|
---|
| 120 | ; 1 = Stop 0 = Continue
|
---|
| 121 | ;
|
---|
| 122 | S STOP=0
|
---|
| 123 | ;CRT - Prompt for continue
|
---|
| 124 | I $E(IOST,1,2)="C-"&(IOSL'>24) D Q
|
---|
| 125 | .F Q:$Y>(IOSL-3) W !
|
---|
| 126 | .N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
|
---|
| 127 | .S DIR(0)="E"
|
---|
| 128 | .D ^DIR
|
---|
| 129 | .S STOP=$S(Y'=1:1,1:0)
|
---|
| 130 | ;Background task - check taskman
|
---|
| 131 | S STOP=$$S^%ZTLOAD()
|
---|
| 132 | I STOP D
|
---|
| 133 | .W !,"*********************************************"
|
---|
| 134 | .W !,"* PRINTING OF REPORT STOPPED AS REQUESTED *"
|
---|
| 135 | .W !,"*********************************************"
|
---|
| 136 | Q
|
---|
| 137 | EXIT ;Kill temp global
|
---|
| 138 | K ^TMP("ECXDSS",$J)
|
---|
| 139 | Q
|
---|