JOB
"read in the data"
"indiv = individual identifier"
"sex = sex: 1 = male, 2 = female"
"eventday = day on which adverse event occurred"
"sta = day before the start of the observation period"
"end = day which is the end of observation period"
"p1 = day of first OPV dose, p2 = second dose, p3 = third dose"
FILEREAD[name = 'intuss.txt'] identifier = indiv, sex, eventday, p1, p2, p3, sta, end; fgroups = no
"convert indiv to a factor using GROUPS with the option lmethod=*"
GROUPS [redefine=yes; lmethod=*] indiv
"ex1, ex2 etc.. mark either 1 day before 1st day of a risk\
period or the last day of a risk period for each individual.\
risk periods must not overlap, i.e. ex1 < ex2, ex2 < ex3 etc...\
(can give ex1 = ex2, ex2 = ex3 etc... to skip out a risk group)\
If there is no risk period give ex1,ex2 etc.. values greater than max(end)"
CALC ex1 = p1 + 13
CALC ex2 = p1 + 27
CALC ex3 = p1 + 41
CALC ex4 = p2 + 13
CALC ex5 = p2 + 27
CALC ex6 = p2 + 41
CALC ex7 = p3 + 13
CALC ex8 = p3 + 27
CALC ex9 = p3 + 41
"ex: pointer containing the risk factor cut points."
POINTER [values = ex1,ex2,ex3,ex4,ex5,ex6,ex7,ex8,ex9] ex
"ensure risk periods do not overlap.\
n2 should be 1...(number of exposure group cut points - 1)"
calc n1 = nval(indiv)
FOR n2 = 1...8
CALC n3 = n2 + 1
FOR n4 = 1...n1
IF ex[n2]$[n4] .GT. ex[n3]$[n4]
CALC ex[n2]$[n4] = ex[n3]$[n4]
ENDIF
ENDFOR
ENDFOR
"exc: labels for risk factors corresponding to the cut points in ex.\
The first and last value of exc should be the baseline level, 0"
VARI [nvalues=10] exc
READ exc
0 1 2 0 3 4 0 5 6 0 :
"t: age cut points to mark the end of an age group or day before the start of\
a new age group. Do not include the beginning of the first age group or the end\
of the last age group. The minimum length of t is 1 (for 2 age groups). If\
no age groups are required choose a value greater than or equal to max(end)"
VARI [nvalues=10] t
READ t
57 87 117 148 179 210 241 272 303 334 :
"Put any covariates into a pointer named 'covariates'. All covariates are\
assumed to be factors (if not alter 'GROUPS [redefine=yes] cov[]' in sccs.gen)."
"POINTER [values = ] covariates"
"Delete anything that is no longer needed"
DELETE [redefine = yes] p1,p2,p3,sex
"fit: what explanatory variables to fit (this should include 'age_group': the age group\
factor and 'exposure_group': risk factor). Covariates can be fitted as interactions with\
exposure_group. Covariates will be labelled cov[1], cov[2] etc.. in the order they were put into\
the 'covariates' pointer"
TEXT [VALUES = 'exposure_group + age_group'] fit
OPEN 'sccs.gen'; CHANNEL=4; FILETYPE=input
INPUT 4
ENDJOB