| 1 | RMPRN6 ;Hines OIFO/HNC-PRINT NPPD LOCAL DATA ;3/17/03  11:38
 | 
|---|
| 2 |  ;;3.0;PROSTHETICS;**31,32,34,36,39,48,51,70,77,90**;Feb 09, 1996
 | 
|---|
| 3 |  ;RVD 3/17/03 patch #77 - fix undefined and closing device.
 | 
|---|
| 4 |  ;SPS 5/24/05 Patch #90 - check for type of 5 Rental.
 | 
|---|
| 5 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 6 | DATE S %DT="XEA",%DT("A")="Enter Date to Start NPPD Calculations From: " D ^%DT G:X[U!(X="")!($D(DTOUT)) EXIT
 | 
|---|
| 7 |  S DATE(1)=+Y
 | 
|---|
| 8 |  S %DT="XEA",%DT("A")="Enter End Date: " D ^%DT G:X[U!(X="")!($D(DTOUT)) EXIT S DATE(2)=+Y
 | 
|---|
| 9 |  I DATE(1)>DATE(2) W !!,$C(7),"ENDING DATE RANGE IS LESS THAN BEGINNING DATE RANGE",! G DATE
 | 
|---|
| 10 |  Q:$D(RMPRCDE)
 | 
|---|
| 11 | DET ;select detail or brief
 | 
|---|
| 12 |  D DISP^RMPRN6S
 | 
|---|
| 13 |  K DIR
 | 
|---|
| 14 |  ;S DIR(0)="S^D:DETAIL;B:BRIEF"
 | 
|---|
| 15 |  S DIR(0)="S^1:BRIEF NEW SUMMARY;2:BRIEF USED SUMMARY;3:BRIEF BOTH SUMMARY;4:DETAIL & NEW SUMMARY;5:DETAIL & USED SUMMARY;6:DETAIL & BOTH SUMMARY"
 | 
|---|
| 16 |  S DIR("A")="Type of Report",DIR("B")="DETAIL & NEW SUMMARY" D ^DIR
 | 
|---|
| 17 |  Q:$D(DIRUT)!($D(DTOUT))
 | 
|---|
| 18 |  S RMPRDET=Y
 | 
|---|
| 19 | DEV ;device
 | 
|---|
| 20 |  S %ZIS="Q" D ^%ZIS G:POP EXIT K IOP I $E(IOST,1,2)["C-" G PRT
 | 
|---|
| 21 |  I $D(IO("Q")) S ZTIO=ION,ZTSAVE("RMPRSITE")="",ZTSAVE("RMPR(")=""
 | 
|---|
| 22 |  I  S ZTSAVE("DATE(")="",ZTSAVE("RMPRZ")="",ZTSAVE("RMPRDET")=""
 | 
|---|
| 23 |  I  S ZTRTN="PRT^RMPRN6",ZTDESC="Prosthetic NPPD" D ^%ZTLOAD K ZTDESC,ZTIO,ZTRTN,ZTSAVE G EXIT
 | 
|---|
| 24 | PRT ;print
 | 
|---|
| 25 |  I '$D(IO("Q")) U IO
 | 
|---|
| 26 |  D GNP,GNPC
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | ENL ;entry point for one line
 | 
|---|
| 29 |  D DIV4^RMPRSIT G:$D(X) EXIT
 | 
|---|
| 30 |  S RMPRCDE=1
 | 
|---|
| 31 |  D DATE
 | 
|---|
| 32 |  G:'$D(DATE(1))!('$D(DATE(2))) EXIT
 | 
|---|
| 33 |  ;single line always new and used (BOTH) sort
 | 
|---|
| 34 |  S RMPRDET=6
 | 
|---|
| 35 |  D GNPCC,EXIT
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | GNP ;gather nppd data
 | 
|---|
| 38 |  S $P(LN,"-",IOM)=""
 | 
|---|
| 39 |  S DATE=DATE(1)-1
 | 
|---|
| 40 |  K ^TMP($J)
 | 
|---|
| 41 |  F  S DATE=$O(^RMPR(660,"B",DATE)) Q:(DATE="")!($P(DATE,".",1)>DATE(2))  D
 | 
|---|
| 42 |  .S RMPRB=0
 | 
|---|
| 43 |  .F  S RMPRB=$O(^RMPR(660,"B",DATE,RMPRB)) Q:RMPRB'>0  D
 | 
|---|
| 44 |  ..;define variables for record
 | 
|---|
| 45 |  ..S REC=$G(^RMPR(660,RMPRB,0)) Q:REC=""
 | 
|---|
| 46 |  ..Q:$P(REC,U,15)["*"
 | 
|---|
| 47 |  ..Q:$P(REC,U,10)'=RMPR("STA")
 | 
|---|
| 48 |  ..;check for used pip
 | 
|---|
| 49 |  ..;if used pip sort, not pip, not va, quit
 | 
|---|
| 50 |  ..I $G(RMPRDET)=2&($P($G(^RMPR(660,RMPRB,1)),U,5)'="")&($P(REC,U,14)'="V") Q
 | 
|---|
| 51 |  ..I $G(RMPRDET)=5&($P($G(^RMPR(660,RMPRB,1)),U,5)'="")&($P(REC,U,14)'="V") Q
 | 
|---|
| 52 |  ..S TYPE=$P(REC,U,4)
 | 
|---|
| 53 |  ..S TY=$S(TYPE="X":2,TYPE=5:2,TYPE="I":1,1:3)
 | 
|---|
| 54 |  ..S MR=$P($G(^RMPR(660,RMPRB,1)),U,4)
 | 
|---|
| 55 |  ..I $P(^RMPR(660,RMPRB,0),U,17)'=""&($P(^(0),U,26)="") S TY=2,LINE="R90 A",MR=2676
 | 
|---|
| 56 |  ..;PICKUP AND DELIVERY
 | 
|---|
| 57 |  ..I $P(^RMPR(660,RMPRB,0),U,26)'="" S TY=2,LINE="R80 D",MR=2951
 | 
|---|
| 58 |  ..Q:MR=""
 | 
|---|
| 59 |  ..;        PATCH 70             Auto-fix
 | 
|---|
| 60 |  ..K LINE
 | 
|---|
| 61 |  ..I TY'=2 S LINE=$P(^RMPR(661.1,MR,0),U,7)
 | 
|---|
| 62 |  ..I TY'=2&($G(LINE)="") D
 | 
|---|
| 63 |  ...; I TYPE=5 Q
 | 
|---|
| 64 |  ...S ERR=""
 | 
|---|
| 65 |  ...S LINE=$P(^RMPR(661.1,MR,0),U,6)
 | 
|---|
| 66 |  ...S TYPE="X"
 | 
|---|
| 67 |  ...S DIE="^RMPR(660,",DA=RMPRB,DR="2///^S X=TYPE"
 | 
|---|
| 68 |  ...L +^RMPR(660,RMPRB):1 I '$T S ERR=1
 | 
|---|
| 69 |  ...I ERR="" D ^DIE L -^RMPR(660,RMPRB)
 | 
|---|
| 70 |  ...K DIE,DA,DR
 | 
|---|
| 71 |  ...I ERR=1 S ^TMP($J,"RMPRA",RMPRB)="NO UPDATE!"
 | 
|---|
| 72 |  ...I ERR="" S ^TMP($J,"RMPRA",RMPRB)="NEW TO REPAIR"
 | 
|---|
| 73 |  ...S B=RMPRB D DATA^RMPRN6XM
 | 
|---|
| 74 |  ..I TY=2 S LINE=$P(^RMPR(661.1,MR,0),U,6)
 | 
|---|
| 75 |  ..I TY=2&($G(LINE)="") D
 | 
|---|
| 76 |  ...; I TYPE=5 Q
 | 
|---|
| 77 |  ...S ERR=""
 | 
|---|
| 78 |  ...S LINE=$P(^RMPR(661.1,MR,0),U,7)
 | 
|---|
| 79 |  ...S TYPE="I"
 | 
|---|
| 80 |  ...S DIE="^RMPR(660,",DA=RMPRB,DR="2///^S X=TYPE"
 | 
|---|
| 81 |  ...L +^RMPR(660,RMPRB):1 I '$T S ERR=1
 | 
|---|
| 82 |  ...I ERR="" D ^DIE L -^RMPR(660,RMPRB)
 | 
|---|
| 83 |  ...K DIE,DA,DR
 | 
|---|
| 84 |  ...I ERR=1 S ^TMP($J,"RMPRA",RMPRB)="NO UPDATE!"
 | 
|---|
| 85 |  ...I ERR="" S ^TMP($J,"RMPRA",RMPRB)="REPAIR TO NEW"
 | 
|---|
| 86 |  ...S B=RMPRB D DATA^RMPRN6XM
 | 
|---|
| 87 |  ..;
 | 
|---|
| 88 |  ..I LINE="" W !,"Line is null, something wrong with file 661.1  :",MR
 | 
|---|
| 89 |  ..;set to 999 group if null
 | 
|---|
| 90 |  ..S FLAG=$P(^RMPR(661.1,MR,0),U,8)
 | 
|---|
| 91 |  ..I FLAG="" S FLAG=2
 | 
|---|
| 92 |  ..S CATEGRY=$P($G(^RMPR(660,RMPRB,"AM")),U,3),SPEC=$P($G(^("AM")),U,4),GN=$P($G(^("AMS")),U,1)
 | 
|---|
| 93 |  ..Q:GN=""
 | 
|---|
| 94 |  ..D SET
 | 
|---|
| 95 |  D FMT^RMPRN6XM,MAIL^RMPRN6XM
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 | GNPC ;worksheet/detail
 | 
|---|
| 98 |  S STN=RMPR("NAME")
 | 
|---|
| 99 |  D CAL^RMPRN6
 | 
|---|
| 100 |  S PAGE=0,FL=""
 | 
|---|
| 101 |  D ^RMPRN6PT
 | 
|---|
| 102 |  G:FL=1 EXIT
 | 
|---|
| 103 |  D ^RMPRN6PR
 | 
|---|
| 104 |  G:FL=1 EXIT
 | 
|---|
| 105 |  I RMPRDET<4 G EXIT
 | 
|---|
| 106 |  D DESP^RMPRN63
 | 
|---|
| 107 |  D DESPR^RMPRN63
 | 
|---|
| 108 | EXIT ;commom exit point
 | 
|---|
| 109 |  D ^%ZISC
 | 
|---|
| 110 |  N RMPR,RMPRSITE
 | 
|---|
| 111 |  K ^TMP($J) D KILL^XUSCLEAN
 | 
|---|
| 112 |  Q
 | 
|---|
| 113 | GNPCC ;one line only
 | 
|---|
| 114 |  S STN=RMPR("NAME")
 | 
|---|
| 115 |  D CODE^RMPRN63
 | 
|---|
| 116 |  D ^RMPRN6UT
 | 
|---|
| 117 |  G:$D(DIRUT)!($D(DTOUT)) EXIT
 | 
|---|
| 118 |  I $G(RMPRCDE)="" S RMPRCDE="",RMPRCDE=$O(BRA(Y,RMPRCDE))
 | 
|---|
| 119 |  S Y=DATE(1) D DD^%DT S DATE(3)=Y,Y=DATE(2) D DD^%DT S DATE(4)=Y
 | 
|---|
| 120 |  S %ZIS="Q" D ^%ZIS G:POP EXIT K IOP I $E(IOST,1,2)["C-" G PRTL
 | 
|---|
| 121 |  I $D(IO("Q")) S ZTIO=ION,ZTSAVE("RMPRSITE")="",ZTSAVE("RMPR(")=""
 | 
|---|
| 122 |  I  S ZTSAVE("DATE(")="",ZTSAVE("RMPRZ")="",ZTSAVE("RMPRDET")="",ZTSAVE("RMPRCDE")=""
 | 
|---|
| 123 |  I  S ZTRTN="PRTL^RMPRN6",ZTDESC="Prosthetic NPPD" D ^%ZTLOAD K ZTDESC,ZTIO,ZTRTN,ZTSAVE G EXIT
 | 
|---|
| 124 | PRTL ;print one line entry from taskman
 | 
|---|
| 125 |  I '$D(IO("Q")) U IO
 | 
|---|
| 126 |  D GNP
 | 
|---|
| 127 |  D CAL^RMPRN6
 | 
|---|
| 128 |  S PAGE=0,FL=""
 | 
|---|
| 129 |  S CODE=RMPRCDE
 | 
|---|
| 130 |  D DESP^RMPRN6PL
 | 
|---|
| 131 |  Q
 | 
|---|
| 132 | SET ;set temp global
 | 
|---|
| 133 |  S STN=RMPR("NAME")
 | 
|---|
| 134 |  S ^TMP($J,"RMPRGN",STN,GN,FLAG,LINE,RMPRB)=""
 | 
|---|
| 135 |  S RMSSN=$P(^RMPR(660,RMPRB,0),U,2) I RMSSN S RMSSN=$P(^DPT(RMSSN,0),U,9)
 | 
|---|
| 136 |  I RMSSN'="" S ^TMP($J,"A",RMSSN)=""
 | 
|---|
| 137 |  K RMSSN
 | 
|---|
| 138 |  Q
 | 
|---|
| 139 |  ;
 | 
|---|
| 140 | LOOP ;sort on hcpcs key and grouper is complete
 | 
|---|
| 141 |  ;store in tmp($j,"N",station) or "R"
 | 
|---|
| 142 |  S (TAM,T1,RMPRB,COUNT,CODE,RMPRAD,DATE,RMPRFG,RMPRT,RMPRI,RMPRNW,RMPRRPR)=0
 | 
|---|
| 143 |  S (TQTY,RMPROTH,CC,RMPRC,RMPRN,TT,RMPRPSC,VA,CM,RMPRCT1,SO,SI,DIS,RMPRCT,RMPR21,CODE,RMPRB,FM,LEG,RMPRNI,RMPRNO,RMPRSL,RMPRAA,RMPRPHC)=0
 | 
|---|
| 144 |  S DATE=DATE(1),RMPRB=0
 | 
|---|
| 145 | CAL ;loop through grouper key sort
 | 
|---|
| 146 |  S STN=RMPR("NAME")
 | 
|---|
| 147 |  D CODE^RMPRN63
 | 
|---|
| 148 |  S GN=""
 | 
|---|
| 149 |  F  S GN=$O(^TMP($J,"RMPRGN",STN,GN)) Q:GN=""  D
 | 
|---|
| 150 |  .S FLG=0
 | 
|---|
| 151 |  .F  S FLG=$O(^TMP($J,"RMPRGN",STN,GN,FLG)) Q:FLG'>0  D  I FLG=1&(RMPRDET'=2)!(RMPRDET'=5) Q
 | 
|---|
| 152 |  ..;used items never get grouped
 | 
|---|
| 153 |  ..I FLG=1&(RMPRDET'=2)&(RMPRDET'=5) D GROUP Q
 | 
|---|
| 154 |  ..;I FLG=1 D GROUP Q
 | 
|---|
| 155 |  ..S CODE=0
 | 
|---|
| 156 |  ..F  S CODE=$O(^TMP($J,"RMPRGN",STN,GN,FLG,CODE)) Q:CODE=""  D
 | 
|---|
| 157 |  ...S RD=0
 | 
|---|
| 158 |  ...F  S RD=$O(^TMP($J,"RMPRGN",STN,GN,FLG,CODE,RD)) Q:RD'>0  D
 | 
|---|
| 159 |  ....I RMPRDET=1!(RMPRDET=4) D SORT Q
 | 
|---|
| 160 |  ....I RMPRDET=2!(RMPRDET=5) D SORTUSED^RMPRN6S Q
 | 
|---|
| 161 |  ....I RMPRDET=3!(RMPRDET=6) D SORTBOTH^RMPRN6S Q
 | 
|---|
| 162 |  ....;D SORT
 | 
|---|
| 163 |  Q
 | 
|---|
| 164 | GROUP ;total grouper to main key
 | 
|---|
| 165 |  M BC=^TMP($J,"RMPRGN",STN,GN)
 | 
|---|
| 166 |  S BF=0,BTCOST=0,SRD=""
 | 
|---|
| 167 |  ;bc array is entrie PO 2421
 | 
|---|
| 168 |  F  S BF=$O(BC(BF)) Q:BF'>0  D
 | 
|---|
| 169 |  .;b1 is line,or code
 | 
|---|
| 170 |  .S BL=0
 | 
|---|
| 171 |  .F  S BL=$O(BC(BF,BL)) Q:BL=""  D
 | 
|---|
| 172 |  ..S BR=0
 | 
|---|
| 173 |  ..;BR is record number
 | 
|---|
| 174 |  ..F  S BR=$O(BC(BF,BL,BR)) Q:BR'>0  D
 | 
|---|
| 175 |  ...S BCOST=$P(^RMPR(660,BR,0),U,16)
 | 
|---|
| 176 |  ...S BTCOST=BTCOST+BCOST
 | 
|---|
| 177 |  ...I (BF=1)&(SRD="") S SRD=BR,CODE="",CODE=$O(BC(1,CODE))
 | 
|---|
| 178 |  K BC
 | 
|---|
| 179 |  Q:SRD=""
 | 
|---|
| 180 |  ;calculate based on primary
 | 
|---|
| 181 |  S TYPE=$P(^RMPR(660,SRD,0),U,4)
 | 
|---|
| 182 |  S TY=$S(TYPE="X":2,TYPE=5:2,TYPE="I":1,1:3)
 | 
|---|
| 183 |  S SOURCE=$P(^RMPR(660,SRD,0),U,14)
 | 
|---|
| 184 |  S COST=BTCOST
 | 
|---|
| 185 |  ;stock issue display and calculate zero used cost if VA source
 | 
|---|
| 186 |  I $P(^RMPR(660,SRD,1),U,5)'=""&(SOURCE["V") S BTCOST=0,COST=0
 | 
|---|
| 187 |  I $P(^RMPR(660,SRD,0),U,13)["-3" S COST=0,SOURCE="VA",BTCOST=0
 | 
|---|
| 188 |  S QTY=$P(^RMPR(660,SRD,0),U,7)
 | 
|---|
| 189 |  S ^TMP($J,CODE,SRD)=COST
 | 
|---|
| 190 |  S CATEGRY=$P($G(^RMPR(660,SRD,"AM")),U,3),SPEC=$P($G(^("AM")),U,4),GN=$P(^("AMS"),U,1)
 | 
|---|
| 191 |  ;new or repair code
 | 
|---|
| 192 |  S B1=SRD
 | 
|---|
| 193 |  I TY=2 D REP
 | 
|---|
| 194 |  I TY'=2 D NEW
 | 
|---|
| 195 |  Q
 | 
|---|
| 196 | SORT ;main data for worksheets
 | 
|---|
| 197 |  S TYPE=$P(^RMPR(660,RD,0),U,4)
 | 
|---|
| 198 |  S TY=$S(TYPE="X":2,TYPE=5:2,TYPE="I":1,1:3)
 | 
|---|
| 199 |  S SOURCE=$P(^RMPR(660,RD,0),U,14)
 | 
|---|
| 200 |  I SOURCE="" S SOURCE="C"
 | 
|---|
| 201 |  S CATEGRY=$P($G(^RMPR(660,RD,"AM")),U,3),SPEC=$P($G(^("AM")),U,4),GN=$P(^("AMS"),U,1)
 | 
|---|
| 202 |  S COST=$P(^RMPR(660,RD,0),U,16)
 | 
|---|
| 203 |  ;stock issue source VA, used cost calculation is zero
 | 
|---|
| 204 |  I $P(^RMPR(660,RD,1),U,5)'=""&(SOURCE["V") S COST=0
 | 
|---|
| 205 |  ;form
 | 
|---|
| 206 |  S FORM=$P(^RMPR(660,RD,0),U,13)
 | 
|---|
| 207 |  I (FORM=4)!(FORM=15) S COST=0,SOURCE="V"
 | 
|---|
| 208 |  S QTY=$P(^RMPR(660,RD,0),U,7)
 | 
|---|
| 209 |  S B1=RD
 | 
|---|
| 210 |  S ^TMP($J,CODE,RD)=COST
 | 
|---|
| 211 |  I TY=2 D REP
 | 
|---|
| 212 |  I TY'=2 D NEW
 | 
|---|
| 213 |  Q
 | 
|---|
| 214 | REP ;calculate repair cost
 | 
|---|
| 215 |  ;I $G(RD)'="" D
 | 
|---|
| 216 |  ;.S SSN=$P(^RMPR(660,RD,0),U,2) I SSN S SSN=$P(^DPT(SSN,0),U,9)
 | 
|---|
| 217 |  ;.I SSN'="" S ^TMP($J,"A",SSN)=""
 | 
|---|
| 218 |  ;.K SSN
 | 
|---|
| 219 |  S LINE=CODE
 | 
|---|
| 220 |  I LINE="R90 A" S SOURCE="C",QTY=1
 | 
|---|
| 221 |  I $G(^TMP($J,"R",STN,LINE))="" S ^TMP($J,"R",STN,LINE)=""
 | 
|---|
| 222 |  I SOURCE["V" S $P(^TMP($J,"R",STN,LINE),U,1)=$P(^TMP($J,"R",STN,LINE),U,1)+QTY
 | 
|---|
| 223 |  I SOURCE["C" S $P(^TMP($J,"R",STN,LINE),U,2)=$P(^TMP($J,"R",STN,LINE),U,2)+QTY
 | 
|---|
| 224 |  ;
 | 
|---|
| 225 |  S $P(^TMP($J,"R",STN,LINE),U,3)=$P(^TMP($J,"R",STN,LINE),U,3)+COST
 | 
|---|
| 226 |  I CATEGRY=1 S $P(^TMP($J,"R",STN,LINE),U,4)=$P(^TMP($J,"R",STN,LINE),U,4)+1
 | 
|---|
| 227 |  I CATEGRY=4 S $P(^TMP($J,"R",STN,LINE),U,5)=$P(^TMP($J,"R",STN,LINE),U,5)+1
 | 
|---|
| 228 |  I CATEGRY=2 S $P(^TMP($J,"R",STN,LINE),U,6)=$P(^TMP($J,"R",STN,LINE),U,6)+1
 | 
|---|
| 229 |  I CATEGRY=3 S $P(^TMP($J,"R",STN,LINE),U,7)=$P(^TMP($J,"R",STN,LINE),U,7)+1
 | 
|---|
| 230 |  I SPEC=1 S $P(^TMP($J,"R",STN,LINE),U,8)=$P(^TMP($J,"R",STN,LINE),U,8)+1
 | 
|---|
| 231 |  I SPEC=2 S $P(^TMP($J,"R",STN,LINE),U,9)=$P(^TMP($J,"R",STN,LINE),U,9)+1
 | 
|---|
| 232 |  I SPEC=3 S $P(^TMP($J,"R",STN,LINE),U,10)=$P(^TMP($J,"R",STN,LINE),U,10)+1
 | 
|---|
| 233 |  I SPEC=4 S $P(^TMP($J,"R",STN,LINE),U,11)=$P(^TMP($J,"R",STN,LINE),U,11)+1,$P(^(LINE),U,16)=$P(^(LINE),U,16)+COST
 | 
|---|
| 234 |  I TYPE="I" S $P(^TMP($J,"R",STN,LINE),U,12)=$P(^TMP($J,"R",STN,LINE),U,12)+1
 | 
|---|
| 235 |  Q
 | 
|---|
| 236 |  ;
 | 
|---|
| 237 | NEW ;calculate new costs
 | 
|---|
| 238 |  ;I $G(RD)'="" D
 | 
|---|
| 239 |  ;.S SSN=$P(^RMPR(660,RD,0),U,2) I SSN S SSN=$P(^DPT(SSN,0),U,9)
 | 
|---|
| 240 |  ;.I SSN'="" S ^TMP($J,"A",SSN)=""
 | 
|---|
| 241 |  ;.K SSN
 | 
|---|
| 242 |  S LINE=CODE
 | 
|---|
| 243 |  I $G(^TMP($J,"N",STN,LINE))="" S ^TMP($J,"N",STN,LINE)=""
 | 
|---|
| 244 |  I SOURCE["V" S $P(^TMP($J,"N",STN,LINE),U,1)=$P(^TMP($J,"N",STN,LINE),U,1)+QTY
 | 
|---|
| 245 |  I SOURCE["C" S $P(^TMP($J,"N",STN,LINE),U,2)=$P(^TMP($J,"N",STN,LINE),U,2)+QTY
 | 
|---|
| 246 |  S $P(^TMP($J,"N",STN,LINE),U,3)=$P(^TMP($J,"N",STN,LINE),U,3)+COST
 | 
|---|
| 247 |  I CATEGRY=1 S $P(^TMP($J,"N",STN,LINE),U,4)=$P(^TMP($J,"N",STN,LINE),U,4)+1
 | 
|---|
| 248 |  I CATEGRY=4 S $P(^TMP($J,"N",STN,LINE),U,5)=$P(^TMP($J,"N",STN,LINE),U,5)+1
 | 
|---|
| 249 |  I CATEGRY=2 S $P(^TMP($J,"N",STN,LINE),U,6)=$P(^TMP($J,"N",STN,LINE),U,6)+1
 | 
|---|
| 250 |  I CATEGRY=3 S $P(^TMP($J,"N",STN,LINE),U,7)=$P(^TMP($J,"N",STN,LINE),U,7)+1
 | 
|---|
| 251 |  I SPEC=1 S $P(^TMP($J,"N",STN,LINE),U,8)=$P(^TMP($J,"N",STN,LINE),U,8)+1
 | 
|---|
| 252 |  I SPEC=2 S $P(^TMP($J,"N",STN,LINE),U,9)=$P(^TMP($J,"N",STN,LINE),U,9)+1
 | 
|---|
| 253 |  I SPEC=3 S $P(^TMP($J,"N",STN,LINE),U,10)=$P(^TMP($J,"N",STN,LINE),U,10)+1
 | 
|---|
| 254 |  I SPEC=4 S $P(^TMP($J,"N",STN,LINE),U,11)=$P(^TMP($J,"N",STN,LINE),U,11)+1,$P(^(LINE),U,16)=$P(^(LINE),U,16)+COST
 | 
|---|
| 255 |  I TYPE="I" S $P(^TMP($J,"N",STN,LINE),U,12)=$P(^TMP($J,"N",STN,LINE),U,12)+1
 | 
|---|
| 256 |  Q
 | 
|---|