Compute vpregi16=pregi16.
Compute vpregi17=pregi17.
Compute vpregi18=pregi18.
Compute vpregi19=pregi19.
Compute vpregi20=pregi20.
Compute vpregi21=pregi21.
Compute vpregi22=pregi22.
Compute vpregi23=pregi23.
Compute vpregi24=pregi24.
Compute vpregi25=pregi25.
Compute vpregi26=pregi26.
Compute vpregi27=pregi27.
Compute vpregi28=pregi28.
Compute vpregi29=pregi29.
Compute vpregi30=pregi30.
Compute vpregi31=pregi31.
Compute vpregi32=pregi32.
Compute vpregi33=pregi33.
Compute vpregi34=pregi34.
Compute vpregi35=pregi35.
Compute vpregi36=pregi36.
Compute vpregi37=pregi37.
Compute vpregi38=pregi38.
Compute vpregi39=pregi39.
Compute vpregi40=pregi40.
* Having copied all the data into manageable v-prefix vectors, use loop structure to copy them
to their correct
* position (x-prefix vectors), then copy them back to their ordinary names from the x-prefix
vectors.
* As we can be sure at this stage we are only interested in single-baby pregnancies, the
* destination slots are numbered 1,6,11,16,21,26,31 and 36 (i.e. 5*#i-4).
* Note this process only occurs for cases where we know the outcomes have been wrongly
bunched in the same pregnancy,
* or where the outcomes are in the wrong chronological order, or (in the case of NCDS) where
a birth event prior to March 1991 is
* recorded, and we know the member was interviewed at that last sweep in 1991 . Even in
the above cases, we don't proceed if there are any
* outcomes with a year entered as '9999', or where we know there are any true multiple
outcomes, or any dubious multiple
* outcomes (i.e. >3 days but less than 9 months apart). The only exceptions are 26 'dubious'
cases referred to specifically by
* serial number, where manual scrutiny revealed they contain no true multiple outcomes, and
have no '9999' years, plus a further
* 12 cases where outcomes were not out of chronological order, but where slot 1 wasn't filled
in (i.e. data started at slot 6, then
* slot 11,... etc.) So all data had to be moved 'back' by one pregnancy.
* Initiate variable 'changed', which flags up all cases that needed any kind of alteration
(automatic or manual). If 'changed'
* remains zero, no need to overwrite existing variables with values of x-prefix vectors (which
in any case, won't have been defined).
Compute changed=0.
Do if (((bunched=1 or ordrflag=1 or pre91flg=1) and (noyrflag=0 and truemult=0 and
oddmult=0)) or
(nserial='055086Z' or nserial='084004J' or nserial='110304M' or nserial='223020B' or