1 | ONCOSSA3 ;WASH ISC/SRR-Print life tables ;11/1/93 12:34
|
---|
2 | ;;2.11;ONCOLOGY;**13**;Mar 07, 1995
|
---|
3 | ;
|
---|
4 | PRINT ;print actuarial life tables
|
---|
5 | ;in: CASES,LEN,GRP,HEADER,INTS,NGRPS,NPG,XCRT,^TMP($J
|
---|
6 | ;out: NPG
|
---|
7 | N INT,LEFT,LOSSES,MORTS,PSURV
|
---|
8 | S ONCOEX=0 F GRP=1:1:NGRPS Q:ONCOEX D:CASES(GRP) PRLT
|
---|
9 | Q
|
---|
10 | ;
|
---|
11 | PRLT ;print life table
|
---|
12 | S (MORTS,LOSSES)=0,LEFT=CASES(GRP),PSURV=100,INTS=INTS(GRP)
|
---|
13 | I ($Y+INTS+2<IOSL)&(NPG>0) D WGRP
|
---|
14 | E D WHEAD Q:ONCOEX
|
---|
15 | F INT=0:1:INTS Q:ONCOEX D WINT,WHEAD:INT<INTS&($Y=IOSL)
|
---|
16 | Q
|
---|
17 | ;
|
---|
18 | WHEAD ;write header
|
---|
19 | D TOF Q:ONCOEX W $P(HEADER,U,1),"Life Table",?IOM-30,$P(HEADER,U,2),NPG,!
|
---|
20 | W " ",$P(LEN,U,3),?11,"% Alive",?21,"# Left",?31,"Deaths",?41,"Losses",!
|
---|
21 | F X=1:1:IOM W "-"
|
---|
22 | WGRP W ! W:NGRPS>1 "Group ",$C(GRP+64),": ",^TMP($J,"GRP",GRP),!
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | TOF ;write top of form & bump page
|
---|
26 | I XCRT,NPG,'$G(ONCOEX) W *7 R !,"Enter RETURN to continue or '^' to exit: ",X:DTIME S ONCOEX=$S('$T:1,X="^":1,1:0)
|
---|
27 | I '$G(ONCOEX) W:$Y @IOF S NPG=NPG+1
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | WINT ;write (& compute) an interval
|
---|
31 | S LOSSES=+$G(^TMP($J,"LT",GRP,INT,0)),MORTS=+$G(^(1))
|
---|
32 | W $J(INT,5),?12,$J(PSURV,5,1),?22,$J(LEFT,5),?32,$J(MORTS,5)
|
---|
33 | W ?42,$J(LOSSES,5),!
|
---|
34 | S PSURV=$S(MORTS=0:PSURV,LEFT=0:0,1:PSURV*(1-(MORTS/(LEFT-(LOSSES/2)))))
|
---|
35 | S LEFT=LEFT-MORTS-LOSSES
|
---|
36 | Q
|
---|