* Encoding: UTF-8. * Syntax (variables in Part 5) - Establishing outcomes for children subject to care proceedings. * Date and Time Wizard: Age1cty. COMPUTE Age1cty=(P2date - C1date) / (365.25 * time.days(1)). VARIABLE LABELS Age1cty "Child's age at s.31 in years". VARIABLE LEVEL Age1cty (SCALE). FORMATS Age1cty (F8.2). VARIABLE WIDTH Age1cty(8). EXECUTE. * Date and Time Wizard: Age1ctm. COMPUTE Age1ctm=DATEDIF(P2date, C1date, "months"). VARIABLE LABELS Age1ctm "Child's age at court application in months". VARIABLE LEVEL Age1ctm (SCALE). FORMATS Age1ctm (F5.0). VARIABLE WIDTH Age1ctm(5). EXECUTE. * Age1cty recoded into standard DfE groups. RECODE Age1cty (Lowest thru .999=1) (1 thru 4.999=2) (5 thru 9.999=3) (10 thru 14.999=4) (15 thru Highest=5) INTO Age1RR. VARIABLE LABELS Age1RR 'Age in years recoded'. EXECUTE. * Age2D recoded - (Age2D no syntax). recode Age2D (lo thru 1824 = 1) (1825 thru 3649 = 2) (3650 thru hi = 3) into Age2R3. value labels Age2R3 1 "Under 5 years" 2 "5-9 years" 3 "10 years and over". variable labels Age2R3 "RECODED Age of child at s.31 application: unborn-4, 5-9, 10+". * Date and Time Wizard: AgeEND8y. COMPUTE AgeEND8y=(ENDdate - C1date) / (365.25 * time.days(1)). VARIABLE LABELS AgeEND8y "Child's age at end of s.31 in years". VARIABLE LEVEL AgeEND8y (SCALE). FORMATS AgeEND8y (F8.2). VARIABLE WIDTH AgeEND8y(8). EXECUTE. * Date and Time Wizard: AgeEND8m. COMPUTE AgeEND8m=DATEDIF(ENDdate, C1date, "months"). VARIABLE LABELS AgeEND8m "Child's age at end of proceedings in months". VARIABLE LEVEL AgeEND8m (SCALE). FORMATS AgeEND8m (F5.0). VARIABLE WIDTH AgeEND8m(5). EXECUTE. * Date and Time Wizard: AgeEND8d. COMPUTE AgeEND8d=DATEDIF(ENDdate, C1date, "days"). VARIABLE LABELS AgeEND8d "Age at end of legal care proceedings". VARIABLE LEVEL AgeEND8d (SCALE). FORMATS AgeEND8d (F5.0). VARIABLE WIDTH AgeEND8d(5). EXECUTE. * Date and Time Wizard: Agend1. COMPUTE Agend1=DATEDIF(ENDdate, C1date, "years"). VARIABLE LABELS Agend1 "Age at end of legal process". VARIABLE LEVEL Agend1 (SCALE). FORMATS Agend1 (F5.0). VARIABLE WIDTH Agend1(5). EXECUTE. * Agend1 recoded. RECODE Agend1 (Lowest thru 0=1) (1 thru 4=2) (5 thru 9=3) (10 thru 14=4) (15 thru Highest=5) INTO Agend1R. VARIABLE LABELS Agend1R 'Age at end of court proc( grouped)'. EXECUTE. * C3 recoded. RECODE C3 (1=Copy) (ELSE=2) INTO C3R. VARIABLE LABELS C3R 'Child ethnicity recoded'. EXECUTE. * sibs2 recoded. RECODE sibs2 (1=Copy) (2=Copy) (3=Copy) (4 thru Highest=4) INTO Sibs2R. VARIABLE LABELS Sibs2R 'Sibs2 recoded'. EXECUTE. * Creating variable Sibs7. * note this procedure followed by HAND CODING, and for sibs8 and sibs9 to give the values shown in the database 1, 2, 3 and 4. COMPUTE Sibs7=0. EXECUTE. DO IF (C20=1). RECODE Sibs7 (0=8). END IF. EXECUTE. RECODE Sibs7 (7=0). EXECUTE. * Sibs7 recoded. RECODE Sibs7 (0=Copy) (8=0) (1=Copy) (9=Copy) (2 thru 4=2) INTO Sibs7R. VARIABLE LABELS Sibs7R 'Sibling placement recoded'. EXECUTE. * C8 recoded. RECODE C8 (1=Copy) (2=Copy) (3=Copy) (4=1) (5=2) (12=5) (6 thru 11=4) (ELSE=6) INTO C8R. VARIABLE LABELS C8R 'usual carer recoded'. EXECUTE. * LA211 recoded (x2). RECODE LA211 (1=Copy) (2=Copy) (3=Copy) (5=3) (7=3) (11=3) (4=Copy) (6=4) (8=4) (12=4) (9=Copy) (15=4) (19=4) (14=Copy) (13=Copy) (10=3)(17=1) (18 =1) INTO LA211R. VARIABLE LABELS LA211R 'where child living at application (recoded)'. EXECUTE. RECODE LA211R (1=Copy) (2=1) (3=Copy) (4=3) (9=Copy) (14=Copy) (13=1) INTO LA211RR. VARIABLE LABELS LA211R 'where child living at application (recoded)'. EXECUTE. * Creating variable cared4. COMPUTE Cared4=0. EXECUTE. DO IF (FH17R=1). RECODE Cared4 (0=2). END IF. EXECUTE. DO IF (FH17R >= 3). RECODE Cared4 (0=1). END IF. EXECUTE. * Creating careloss variable to identify cases where mothers have lost care of children previously. Values are: * 1 = previous loss of care. * 0 = no previous loss of care (includes cases where all children involved in these proceedings). * 2 = cared for all other children. RECODE sibs5 (0=Copy) (4=2) (20=2) (21=1) (22=2) (SYSMIS=3) (1 thru 3=1) (5 thru 19=1) INTO careloss. VARIABLE LABELS careloss 'Mother lost care of children previously'. EXECUTE. * Creating a variable Rem1 which gives the history of previous removal values (not labelled here) 1 = only child, 2 = other siblings not been removed 3 = previous care loss; 4= current application relates to 2 or more children This does not take account of new sibs born Value 9 should be sysmis. COMPUTE Rem1=9. EXECUTE. DO IF ((sibs5 = 4) OR (sibs5 = 20) OR (sibs5 = 22)). RECODE Rem1 (9=2). END IF. EXECUTE. DO IF (((sibs5 >= 1 AND sibs5 <= 3) OR (sibs5 >= 5 AND sibs5 <= 19) OR (sibs5 = 21))). RECODE Rem1 (9=3). END IF. EXECUTE. DO IF ((sibs2 >= 2)). RECODE Rem1 (9=4). END IF. EXECUTE. DO IF ((C20 = 1) AND (Rem1 = 9)). RECODE Rem1 (9=1). END IF. EXECUTE. * LA10 recoded. RECODE LA10 (1=Copy) (2=Copy) (3=Copy) (4=1) (9=SYSMIS) INTO LA10R. VARIABLE LABELS LA10R 'CP Plan recoded'. EXECUTE. * CP7Mn recoded. RECODE CP7Mn (999=6) (1 thru 4=1) (5 thru 7=2) (9 thru 13=3) (24 thru 26=4) (52 thru 312=5) INTO CP7MnR. VARIABLE LABELS CP7MnR 'Final care plan M contact N (recoded)'. EXECUTE. * Creating PPM2dt: Pre-proceedings meeting 2. compute PPM2dt=$sysmis. formats PPM2dt (edate10). variable labels PPM2dt "Date of PPM2". if (CID=1791 or CID=1792) PPM2dt=date.dmy(10,10,2014). * LA261 recoded. RECODE LA261 (1=Copy) (2=Copy) (3 thru 7=1) INTO LA261R1. VARIABLE LABELS LA261R1 'route crisis'. EXECUTE. * P10 recoded. RECODE P10 (1=Copy) (2=Copy) (3=Copy) (4=Copy)(5=4) INTO P10R. VARIABLE LABELS P10R 'Interim application (recoded)'. EXECUTE. *P10c recoded (x3). RECODE P10c (0=Copy) (1=Copy) (2=Copy) (3=Copy) (4=3) (5=Copy)(6=Copy) (7=Copy) (8=6) (9=Copy) INTO P10cR. VARIABLE LABELS P10cR ' Outcome of interim application (recoded)'. EXECUTE. RECODE P10c (0=Copy) (1=Copy) (2=Copy) (3=Copy) (4=3) (5=Copy)(6=Copy) (7=Copy) (8=6) (9=Copy) INTO P10cRR. VARIABLE LABELS P10cRR 'Outcome of interim application (recoded2)'. EXECUTE. RECODE P10c (0=Copy) (1=0) (2=0) (3=0) (4=0) (5=2)(6=2) (7=2) (8=2) (9=1) INTO P10cRX. VARIABLE LABELS P10cRX 'interim application granted or refused'. EXECUTE. * CONT1 recoded (x2). RECODE CONT1 (1=Copy) (2=Copy) (9=Copy) (3 thru 8=3) INTO CONT1R. VARIABLE LABELS CONT1R 'J Continuity rec'. EXECUTE. RECODE CONT1 (9=COPY) (1=COPY) (2 thru 6=2) INTO CONT1RR. VARIABLE LABELS CONT1RR 'only 1 judge'. EXECUTE. * P15 recoded. RECODE P15 (1=Copy) (2=1) (3=Copy) (4=3) (5=1) INTO P15R. VARIABLE LABELS P15R 'Transfer recoded'. EXECUTE. * EX1total recoded. RECODE EX1total (0=Copy) (1=Copy) (2 thru Highest=2) INTO Extotal1R. VARIABLE LABELS Extotal1R 'N Experts before proceedings (recoded)'. EXECUTE. * EX2total recoded. RECODE EX2total (0=Copy) (1=Copy) (2=Copy)(3 thru Highest=3) INTO Extotal2R. VARIABLE LABELS Extotal2R 'N Experts ordered before at CMH (recoded (recoded)'. EXECUTE. * EX4total recoded. RECODE EX4total (0=Copy) (1 thru Highest=1) INTO EXtotal4R. VARIABLE LABELS EXtotal4R 'Total expert refusals by ct'. EXECUTE. * EX5total recoded. RECODE EXtotal5 (0=Copy) (1=Copy) (2 thru Highest=2) INTO Extotal5R. VARIABLE LABELS Extotal5R 'N Experts in proceedings (recoded)'. EXECUTE. * Creating noex. COMPUTE Noex = 9. EXECUTE. DO IF ((EX1total = 0 AND Extotal5R = 0)). RECODE Noex (9=0). END IF. EXECUTE. DO IF ((EX1total = 0 AND Extotal5R NE 0 )). RECODE Noex (9=2). END IF. EXECUTE. DO IF ((EX1total GE 1 AND Extotal5R NE 0 )). RECODE Noex (9=3). END IF. EXECUTE. DO IF ((EX1total GE 1 AND Extotal5R = 0 )). RECODE Noex (9=1). END IF. EXECUTE. * Noex recoded. RECODE Noex (0=Copy) (1=0) (3=1) (2=1) INTO NoexR. VARIABLE LABELS NoexR 'N experts in case recoded'. EXECUTE. * Date and Time Wizard: TimastEX. COMPUTE TimlastEX=RND((ENDdate - EXdate) / (7 * time.days(1))). VARIABLE LABELS TimlastEX "Duration allowed for last expert". VARIABLE LEVEL TimlastEX (SCALE). FORMATS TimlastEX (F5.0). VARIABLE WIDTH TimlastEX(5). EXECUTE. * Creating TotalEX. COMPUTE TotalEX=(EX1total + EX2total + EX3total + EXDNA + EXDrug). EXECUTE. * Creating TotalXct. COMPUTE TotalXct=(EX2total + EX3total + EXDNA + EXDrug). EXECUTE. * Kin assessments recodes COMPUTE KinVall=(Kin1a + Kin2a + Kin3b). EXECUTE. COMPUTE KinFall=(Kin1b + Kin2b + Kin3b). EXECUTE. COMPUTE Kinctall= (kin2a+kin2b+kin3a+kin3b). EXECUTE. * FH14 recoded. RECODE FH14 (0=0) (1=1) (MISSING=0) INTO FH14R. VARIABLE LABELS FH14R 'FH14 recoded'. EXECUTE. * FH16 recoded. RECODE FH16 (0=Copy) (1=Copy) (MISSING=0) INTO FH16R. VARIABLE LABELS FH16R 'FH16 recoded'. EXECUTE. * Creating ContestX variable and recodes. COMPUTE ContestX=CON1R + CON6 + CON14 + CON18 + CON21 + CON25 + FH14R + FH16R . EXECUTE. RECODE ContestX (0=Copy) (1 thru Highest=1) INTO ContestXX. EXECUTE. RECODE ContestX (0=Copy) (1=Copy) (2=Copy) (3 thru Highest=3) INTO ContestXR. EXECUTE. RECODE ContestX (0=Copy) (1 THRU 2=1) (3 thru Highest=3) INTO ContestXR3. EXECUTE. * CON1 recoded. RECODE CON1 (0=Copy) (1=Copy) (2=1) (ELSE=SYSMIS) INTO CON1R. VARIABLE LABELS CON1R 'assessment contest recoded'. EXECUTE. * The following 2 procedures together create a variable for contest final hearing at case level. RECODE FH17 (Lowest thru 9=0) INTO FHcontst1. VARIABLE LABELS FHcontst1 'Contested final hearing'. EXECUTE. DO IF ((FH14=1) OR (CON22 = 5) OR (CON22=6) OR (CON26=5) OR (PO2 =1)). RECODE FHcontst1 (0=1). END IF. EXECUTE. * FH17 recoded. RECODE FH17 (0=6) (3=Copy) (6=Copy) (1 thru 2=1) (4 thru 5=4) (7 thru 8=7) INTO FH17R. VARIABLE LABELS FH17R 'Outcome recoded'. EXECUTE. * FH17RR recoded - note FH17RR no syntax. RECODE FH17RR (1=Copy) (3=Copy) (4=7) (6=Copy) (7=Copy) INTO Outcome4. VARIABLE LABELS Outcome4 'outcome recoded into 4 groups'. EXECUTE. * Date and Time Wizard: Duration8M. COMPUTE Duration8M=(P2date - LA25dt) / (30.4375 * time.days(1)). VARIABLE LABELS Duration8M "Length of protective arrangement before application in months". VARIABLE LEVEL Duration8M (SCALE). FORMATS Duration8M (F8.2). VARIABLE WIDTH Duration8M(8). EXECUTE. * Date and Time Wizard: Duration8W. COMPUTE Duration8W=RND((P2date - LA25dt) / (7 * time.days(1))). VARIABLE LABELS Duration8W "of protection before proceedings (weeks)". VARIABLE LEVEL Duration8W (SCALE). FORMATS Duration8W (F5.0). VARIABLE WIDTH Duration8W(5). EXECUTE. * Date and Time Wizard: Duration8D. COMPUTE Duration8D=DATEDIF(P2date, LA25dt, "days"). VARIABLE LABELS Duration8D "Length of protective arrangement before application in days". VARIABLE LEVEL Duration8D (SCALE). FORMATS Duration8D (F5.0). VARIABLE WIDTH Duration8D(5). EXECUTE. * Duration8D recoded. RECODE Duration8D (Lowest thru 6=0) (7 thru 13=1) (14 thru 55=2) (56 thru 111=3) (112 thru 182=4) (183 thru 365=5) (366 thru Highest=6) INTO Duration8DR. VARIABLE LABELS Duration8DR 'Time between protection arrangement and application recoded'. EXECUTE. * Date and Time Wizard: Duration10D. COMPUTE Duration10D=DATEDIF(LA19dt, LA17dt, "days"). VARIABLE LABELS Duration10D "time between PP and EPO". VARIABLE LEVEL Duration10D (SCALE). FORMATS Duration10D (F5.0). VARIABLE WIDTH Duration10D(5). EXECUTE. * Date and Time Wizard: Duration11W. COMPUTE Duration11W=DATEDIF(P2date, FA1, "weeks"). VARIABLE LABELS Duration11W "Time (weeks) between FA and s.31". VARIABLE LEVEL Duration11W (SCALE). FORMATS Duration11W (F5.0). VARIABLE WIDTH Duration11W(5). EXECUTE. * Date and Time Wizard: Duration11D. COMPUTE Duration11D=DATEDIF(P2date, FA1, "days"). VARIABLE LABELS Duration11D "Time between formal action and application". VARIABLE LEVEL Duration11D (SCALE). FORMATS Duration11D (F5.0). VARIABLE WIDTH Duration11D(5). EXECUTE. * LA5 recoded (x2). RECODE LA5 (0=1) (1=Copy) (2=Copy) (3=Copy) (4=Copy) (5=Copy) (6=Copy) (7=SYSMIS) (9=SYSMIS) INTO LA5R. VARIABLE LABELS LA5R 'Length of current active work'. EXECUTE. RECODE LA5 (7=SYSMIS) (9=SYSMIS) (1 thru 3=1) (4 thru 6=2) INTO LA5RR. VARIABLE LABELS LA5RR 'Length of active involvement recoded'. EXECUTE. * Creating Time2IO. COMPUTE Time2IO=DATEDIF(P10date, P2date, "weeks"). VARIABLE LABELS Time2IO "time (weeks) between application and interim order". VARIABLE LEVEL Time2IO (SCALE). FORMATS Time2IO (F5.0). VARIABLE WIDTH Time2IO(5). EXECUTE. * Date and Time Wizard: timetocg. COMPUTE timetocg=RND((CG1date - P2date) / time.days(1)). VARIABLE LABELS timetocg "Time between application and appointment of cg". VARIABLE LEVEL timetocg (SCALE). FORMATS timetocg (F5.0). VARIABLE WIDTH timetocg(5). EXECUTE. * Date and Time Wizard: Duration2W. COMPUTE Duration2W=DATEDIF(ENDdate, P2date, "weeks"). VARIABLE LABELS Duration2W "Length of care proceedings in weeks". VARIABLE LEVEL Duration2W (SCALE). FORMATS Duration2W (F5.0). VARIABLE WIDTH Duration2W(5). EXECUTE. * Duration2W recoded (x2). RECODE Duration2W (Lowest thru 26=1) (27 thru Highest=2) INTO Duration2WR. VARIABLE LABELS Duration2WR 'Duration 2W recoded (PLO)'. EXECUTE. RECODE Duration2W (Lowest thru 32=1) (33 thru Highest=2) INTO Duration2WRR. VARIABLE LABELS Duration2WRR 'PLO over 32 weeks'. EXECUTE. * FH9 recoded (x2). RECODE FH9 (1=1) (2 thru Highest=2) INTO FH9R. VARIABLE LABELS FH9R 'Length of final hearing recoded'. EXECUTE. RECODE FH9 (1 thru 3=1) (4 thru Highest=2) INTO FH9RR. VARIABLE LABELS FH9RR 'FH up to 3 days or more'. EXECUTE. * Creating FH9only so counts length of FH only for cases with FH not those ending at IRH. DO IF ((FH1 = 1)). RECODE FH9 (1 thru Highest=Copy) INTO FH9only. END IF. VARIABLE LABELS FH9only 'Length of FH (excl !RH)'. EXECUTE. * FH25 recoded. RECODE FH25 (0=Copy) (1 thru 12=1) (13 thru 26=2) (27 thru Highest=3) INTO FH25R. VARIABLE LABELS FH25R 'Length with kin before FH recoded'. EXECUTE. * FH26 recoded. RECODE FH26 (0=Copy) (1 thru 8=1) (9 thru 16=2) (17 thru 35=3) INTO FH26R. VARIABLE LABELS FH26R 'Length for kin assessment recoded'. EXECUTE. * q_merge_cinlac recoded. RECODE q_merge_cinlac (1=Copy) (2=Copy) (3=Copy) (ELSE=0) INTO q_cinlacR. VARIABLE LABELS q_cinlacR 'Admin data identifying unmatched'. EXECUTE. * Date and Time Wizard: End2Cen16. COMPUTE End2Cen16=DATEDIF(Census16, ENDdate, "months"). VARIABLE LABELS End2Cen16 "Time from End of proceedings to 31 03 2016". VARIABLE LEVEL End2Cen16 (SCALE). FORMATS End2Cen16 (F5.0). VARIABLE WIDTH End2Cen16(5). EXECUTE. * q_agecom_END recoded (x3). RECODE q_agecom_END (0=Copy) (1 thru 2 =1) (3 THRU 5 = 3) (6 THRU HIGHEST =6) INTO q_agecom_ENDR4. VARIABLE LABELS q_agecom_ENDR4 'age at end 4 groups'. EXECUTE. RECODE q_agecom_END (0=Copy) (1=Copy) (2 thru 3=2) (4 thru 5=3) (6 thru Highest=4) INTO q_agecom_ENDG. VARIABLE LABELS q_agecom_ENDG 'age at end grouped'. EXECUTE. RECODE q_agecom_END (0=Copy) (1 thru Highest=4) INTO q_agecom_ENDR. VARIABLE LABELS q_agecom_ENDR 'age at end 2 groups'. EXECUTE. * Creating a variable which recodes the unmatched and cin only children as never in care (with exceptions after checking Ids. COMPUTE q_leaveto1X = 0. EXECUTE. DO IF (q_ever=0). RECODE q_leaveto1X (0=7). END IF. EXECUTE. DO IF (q_cinlacR = 2). RECODE q_leaveto1X(0=8). END IF. EXECUTE. DO IF (CID = 1071). RECODE q_leaveto1X(8=9). END IF. EXECUTE. DO IF (CID = 1561). RECODE q_leaveto1X(8=9). END IF. EXECUTE. DO IF (q_leaveto= -2). RECODE q_leaveto1X(0= -2). END IF. EXECUTE. DO IF (q_leaveto= -1). RECODE q_leaveto1X(0= -1). END IF. EXECUTE. DO IF (q_leaveto= 1). RECODE q_leaveto1X(0=1). END IF. EXECUTE. DO IF (q_leaveto= 2). RECODE q_leaveto1X(0=2). END IF. EXECUTE. DO IF (q_leaveto= 3). RECODE q_leaveto1X(0=3). END IF. EXECUTE. DO IF (q_leaveto= 4). RECODE q_leaveto1X(0=4). END IF. EXECUTE. DO IF (q_leaveto= 5). RECODE q_leaveto1X(0=5). END IF. EXECUTE. DO IF (q_leaveto= 6). RECODE q_leaveto1X(0=6). END IF. EXECUTE. DO IF (q_leaveto= 7). RECODE q_leaveto1X(0=7). END IF. EXECUTE. * q_leaveto1X recoded (x2). RECODE q_leaveto1X (0=Copy) (9=0) (-2 thru -1=1) (1 thru 6=2) (7 thru 8=3) INTO q_leaveto1XR. VARIABLE LABELS q_leaveto1XR 'in care/ leave care RECODED'. EXECUTE. RECODE q_leaveto1X (1=Copy) (4=Copy) (6=4) (5=9) (9=Copy) (7 thru 8 =7)(0=Copy) (-2 thru -1=-2) (2 thru 3=2) INTO q_leaveto6XR. VARIABLE LABELS q_leaveto6XR 'In/out care in 6 groups RECODE'. EXECUTE. * Date and Time Wizard: FH2leave. COMPUTE FH2leave=RND((q_datexcare - ENDdate) / (7 * time.days(1))). VARIABLE LABELS FH2leave "End of proceedings to leaving for leavers". VARIABLE LEVEL FH2leave (SCALE). FORMATS FH2leave (F5.0). VARIABLE WIDTH FH2leave(5). EXECUTE. * Date and Time Wizard: FH2LeaveM. COMPUTE FH2LeaveM=RND((q_datexcare - ENDdate) / (30.4375 * time.days(1))). VARIABLE LABELS FH2LeaveM "Time from end of proceedings to leaving care (leavers)". VARIABLE LEVEL FH2LeaveM (SCALE). FORMATS FH2LeaveM (F5.0). VARIABLE WIDTH FH2LeaveM(5). EXECUTE. * Date and Time Wizard: exit2ENDs31. COMPUTE exit2ENDs31=RND((ENDdate - q_cp1exit_de) / (7 * time.days(1))). VARIABLE LABELS exit2ENDs31 "Exit from care to end s.31". VARIABLE LEVEL exit2ENDs31 (SCALE). FORMATS exit2ENDs31 (F5.0). VARIABLE WIDTH exit2ENDs31(5). EXECUTE. * Date and Time Wizard: ExitvEND. COMPUTE ExitvEND=RND((q_datexcare - ENDdate) / (7 * time.days(1))). VARIABLE LABELS ExitvEND "Time between end of s.31 and leaving care (weeks)". VARIABLE LEVEL ExitvEND (SCALE). FORMATS ExitvEND (F5.0). VARIABLE WIDTH ExitvEND(5). EXECUTE. * Date and Time Wizard: ExitvENDM. COMPUTE ExitvENDM=RND((q_datexcare - ENDdate) / (30.4375 * time.days(1))). VARIABLE LABELS ExitvENDM "Time between end s.31 and leaving care Months". VARIABLE LEVEL ExitvENDM (SCALE). FORMATS ExitvENDM (F5.0). VARIABLE WIDTH ExitvENDM(5). EXECUTE. * ExitvENDM recoded. RECODE ExitvENDM (Lowest thru 12=1) (13 thru 18=2) (19 thru 24=3) (25 thru Highest=4) INTO ExitvENDG1. VARIABLE LABELS ExitvENDG1 'ExitvEND grouped'. EXECUTE. * Creating q_agexit. COMPUTE q_agexit=(q_datexcare - C1date) / (365.25 * time.days(1)). VARIABLE LABELS q_agexit "Age at exit from care". VARIABLE LEVEL q_agexit (SCALE). FORMATS q_agexit (F8.2). VARIABLE WIDTH q_agexit(8). EXECUTE. * Creating q_carecpR5 which identifies those children who enter at FH. COMPUTE q_carecpR5=0. EXECUTE. DO IF (q_carecpR=1). RECODE q_carecpR5 (0=1). END IF. EXECUTE. DO IF (q_carecpR = 2). RECODE q_carecpR5 (0=2). END IF. EXECUTE. DO IF (q_carecpR = 3). RECODE q_carecpR5(0=3). END IF. EXECUTE. DO IF (q_carecpR = 4). RECODE q_carecpR5(0=4). END IF. EXECUTE. DO IF (q_carecpR = 0 AND FH17R =1). RECODE q_carecpR5(0=5). END IF. EXECUTE. DO IF (q_leaveto1XR =3). RECODE q_carecpR5(0=6). END IF. EXECUTE. DO IF (q_leaveto1XR =0). RECODE q_carecpR5(0=9). END IF. EXECUTE. * q_carecpR5 recoded. RECODE q_carecpR5 (1=Copy) (9=Copy) (2 thru 4=2) (5 thru 6=3) INTO q_carecpR3. VARIABLE LABELS q_carecpR3 'Care during proceedings 3 groups'. EXECUTE. * Date and Time Wizard: ts31toentry. COMPUTE ts31toentry=RND((q_cp1entry_de - P2date) / (7 * time.days(1))). VARIABLE LABELS ts31toentry "Time from s.31 application to entry in proceedings". VARIABLE LEVEL ts31toentry (SCALE). FORMATS ts31toentry (F5.0). VARIABLE WIDTH ts31toentry(5). EXECUTE. * FH17R recoded. RECODE FH17R (1=Copy) (ELSE = 2) INTO FH17RX. VARIABLE LABELS FH17RX 'Care as a result of Final Hearing'. EXECUTE. * CP7Fn recoded. RECODE CP7Fn (999=6) (1 thru 4=1) (5 thru 7=2) (9 thru 13=3) (24 thru 26=4) (52 thru 312=5) INTO CP7FnR. VARIABLE LABELS CP7FnR 'Final care plan F contact N (recoded)'. EXECUTE. * Creating a variable which only ids PO as an outcome. RECODE FH17 (0=Copy) (1=Copy) (2=Copy) (9=Copy) (3 thru 8=1) INTO FH17RPO. VARIABLE LABELS FH17RPO 'Outcome placement order'. EXECUTE. * Adoption. COMPUTE AdpStdy=9. EXECUTE. DO IF (S1S2=2 AND q_hasap=1 ). RECODE AdpStdy (9=2). END IF. EXECUTE. *((S1S2 =1 AND q_leaveto6XR =1 AND FH17 =2) OR CID = 3131). DO IF ((S1S2 =1 AND q_leaveto6XR =1 AND FH17 =2) OR CID = 3131). RECODE AdpStdy (9=1). END IF. EXECUTE. * AdpStdy recoded. RECODE AdpStdy (1=Copy) (2=1) (9=0) INTO AdpStdyR. VARIABLE LABELS AdpStdyR 'Ad/pl in Study recoded'. EXECUTE. * q_ageatadp. COMPUTE q_ageatadp=DATEDIF(q_ap_de15th, C1date, "years"). VARIABLE LABELS q_ageatadp "Age at adoption placement completed years". VARIABLE LEVEL q_ageatadp (SCALE). FORMATS q_ageatadp (F5.0). VARIABLE WIDTH q_ageatadp(5). EXECUTE. * Creating adorder. COMPUTE adorder=9. EXECUTE. DO IF (FH17 =2 ). RECODE Adorder (9=0). END IF. EXECUTE. DO IF (FH17 =2 AND q_leaveto6XR =1 ). RECODE Adorder (0=1). END IF. EXECUTE. DO IF (FH17 =2 AND q_hasap =1 AND q_leaveto6XR NE 1 ). RECODE Adorder (0=2). END IF. EXECUTE. DO IF (CID= 3131 ). RECODE Adorder (9=1). END IF. EXECUTE. DO IF (S1S2=1 AND Adorder=2 ). RECODE Adorder (2=0). END IF. EXECUTE. * Date and Time Wizard: DurationAdP. COMPUTE DurationAdP=(q_adopted_de15th - q_ap_de15th) / time.days(1). VARIABLE LABELS DurationAdP "Time between adoption placement and adoption". VARIABLE LEVEL DurationAdP (SCALE). FORMATS DurationAdP (F8.2). VARIABLE WIDTH DurationAdP(8). EXECUTE. * Date and Time Wizard: q_TimetoadP. COMPUTE q_TimetoadP=DATEDIF(q_ap_de15th, ENDdate, "days"). VARIABLE LABELS q_TimetoadP "Time to adoptive placement". VARIABLE LEVEL q_TimetoadP (SCALE). FORMATS q_TimetoadP (F5.0). VARIABLE WIDTH q_TimetoadP(5). EXECUTE. * Date and Time Wizard: Age2DD. COMPUTE Age2DD=DATEDIF(P2date, C1date, "days"). VARIABLE LABELS Age2DD "Age at application in days (corrected)". VARIABLE LEVEL Age2DD (SCALE). FORMATS Age2DD (F5.0). VARIABLE WIDTH Age2DD(5). EXECUTE.