* SPSS syntax to generate: * CFSR Item VII) Maltreatment in Foster Care, * Unique Child Victims January-September. * Syntax applies to NCANDS Child File V4.0. ************************************************************************************. ****** Lines beginning with '*' are comments and are not executed by SPSS. *****. ****** Name of State Master File must be entered in highlighted section below. *****. ************************************************************************************. * COMPUTATIONS DO NOT DERIVE COUNT OF CHILDREN IN FOSTER CARE PROVIDED FROM AFCARS. * Field CHID (Child ID) used to identify unique victims. * Field SUBYR is used to identify the calendar year associated with the Master File. * Fields MAL1LEV MAL2LEV MAL3LEV MAL4LEV and MALDEATH * are used to identify maltreatment victims. * Non-victims are removed from the analysis. * Field RPTDT (report date) is used to identify date when maltreatment was reported. * Fields PER1REL, PER2REL, and PER3REL are used to identify perpetrators who were * foster care providers: '3'='Foster Parent'; '4'='Residential Facility Staff'. * Fields PER1MAL1 to PER1MAL4, PER2MAL1 to PER2MAL4, and PER3MAL1 to PER3MAL4 * are used to ensure that the perpetrators identified were linked to a maltreatment. * Fields PER1ID, PER2ID and PER3ID are used to count the total number of * perpetrators identified in the State Master File. This count is used * to determine if the State can establish linkages between perpetrators and * maltreatment. If the State does not establish this link, it is assumed * that all identified perpetrators were linked to a maltreatment. **********************************************************************************. ********** Enter name of the State Master File in following command line *********. get file = 'ENTER STATE FILE NAME HERE' /keep = staterr subyr chid mal1lev mal2lev mal3lev mal4lev maldeath rptdt per1id per2id per3id per1rel per2rel per3rel per1mal1 to per1mal4 per2mal1 to per2mal4 per3mal1 to per3mal4. * Limit child records to report dates falling in first 9 months of this calendar year. compute rptyr = xdate.year(rptdt) . compute rptmo = xdate.month(rptdt) . select if (rptyr eq subyr and rptmo le 9) . * Remove non-victims from active file. * Create flag variable FLVICTIM to identify maltreatment victims. * If any maltreatment disposition codes (MALLEV) are 1=sub,2=ind, * the child was a victim. * If the child died as result of the maltreatment MALDEATH=1, * the child was a victim. compute flvictim = 0 . if (mal1lev le 2) flvictim = 1. if (mal2lev le 2) flvictim = 1. if (mal3lev le 2) flvictim = 1. if (mal4lev le 2) flvictim = 1. if (maldeath eq 1) flvictim = 1. * Active file current holds all duplicate children Jan-Sep of current year. * Analysis does not include non-victims and they are removed from the file, below. select if (flvictim eq 1) . * After select, above, active file holds all duplicate victims Jan-Sep. * In the Master Data File, 3 sets of PERMAL fields are used to * identify perpetrators linked to specfic maltreatment(s). * The difficulty that this presents for this computation is that * the perpetrator identified may not be linked to any maltreatment. * If a perpetrator is not linked to a maltreatment, then that * perpetrator is not included in generating the respective counts. * However, an additional difficulty arises through this approach * because some States are not able to link specific perpetrators * to a specfic maltreatment. For these States, the solution is reached * by assuming that all identified perpetrators are linked to at least * one maltreatment. * The commands below establish the link of each perpetrator to a * maltreatment in the child record. The links are subsequently used * to count children maltreated by a foster care provider. The counts * are also used to perform a test to determine if a State can link * perpetrators to specfic maltreatments. compute per1link = 0 . if (per1mal1 eq 1) per1link = 1. if (per1mal2 eq 1) per1link = 1. if (per1mal3 eq 1) per1link = 1. if (per1mal4 eq 1) per1link = 1. if (maldeath eq 1) per1link = 1. var labels per1link 'Perpetrator 1 Linked to Maltreatment' . val labels per1link 1 'Yes' 0 'No' . compute per2link = 0 . if (per2mal1 eq 1) per2link = 1. if (per2mal2 eq 1) per2link = 1. if (per2mal3 eq 1) per2link = 1. if (per2mal4 eq 1) per2link = 1. if (maldeath eq 1) per2link = 1. var labels per2link 'Perpetrator 2 Linked to Maltreatment' . val labels per2link 1 'Yes' 0 'No' . compute per3link = 0 . if (per3mal1 eq 1) per3link = 1. if (per3mal2 eq 1) per3link = 1. if (per3mal3 eq 1) per3link = 1. if (per3mal4 eq 1) per3link = 1. if (maldeath eq 1) per3link = 1. var labels per3link 'Perpetrator 3 Linked to Maltreatment' . val labels per1link per2link per3link 1 'Yes' 0 'No' . * A State's ability to link perpetrators to maltreatments is * derived from the syntax below using values from the linkages above. * This is done by counting the total number of perpetratrors identified * through the perpetrator ID and comparing this number to the total * number perpetrators who were identified as linked to a maltreatment. * If fewer than 5% of perpetrators are linked, then it is assumed * that the State cannot make this link. Moreover, if the link is not * satisfactorily made, it is assumed that all of the perpetrators * identified were linked to at least one maltreatment. * Generating the State total begins by counting the total number of * perpetrators associated with with each child. If a Perpetrator ID * is coded, the count is incremented for each child. compute perp_rcp = 0 . var labels perp_rcp 'Count of Perpetrator IDs Associated with Report/Child Pair'. if (per1id gt ' ') perp_rcp = perp_rcp + 1. if (per2id gt ' ') perp_rcp = perp_rcp + 1. if (per3id gt ' ') perp_rcp = perp_rcp + 1. * For each child, the total number of perpetrators linked to a * maltreatment must also be computed in order to derive the State total. compute perplink = 0. if (per1link eq 1) perplink = perplink + 1. if (per2link eq 1) perplink = perplink + 1. if (per3link eq 1) perplink = perplink + 1. var labels perplink 'Total Perpetrators Linked to a Maltreatment of the Victim'. * State totals for perpetrators and the counts of linked * perpetrators can be generated by creating a State record * that holds the respective total for all children in the file. * The SPSS AGGREGATE command is used for this purpose. aggregate outfile = 'c:\tempfile.sav' /break = staterr / totlperp = sum(perp_rcp) / totllink = sum(perplink) . * Values generated for the State totals can be merged with each record * in the active victim file using the SPSS match command. match files file = * /table = 'c:\tempfile.sav' /by = staterr. var labels totlperp 'Total Number of Perpetrators Identified in Victim File' . var labels totllink 'Total Number of Linked Perpetrators Identified in Victim File'. * An assessment of the State's ability to link perpetrators to * the respective maltreatment(s) can now be completed by comparing the * total number of perpetrators (TOTLPERP) with the total number of * perpetrators who are linked (TOTLLINK). * As computed below, a State is flagged as making this link (STATELNK=1) * if at least 5% of perpetrators are linked to a maltreatment. compute statelnk = 0. if (totllink/totlperp * 100 ge 5) statelnk = 1. var labels statelnk 'State Links Perpetrators to Maltreatment' . val labels statelnk 1 'Yes' 0 'No'. * Following syntax links all perpetrators to a maltreatment if * State does not make individual link (STATELNK=0). * Code is skipped if State makes link (STATELNK=1). do if (statelnk = 0) . compute per1link = 1. compute per2link = 1. compute per3link = 1. end if . * Set flags for FOSTPRNT and RESFACIL indicating whether child was victimized * by a foster parent (PERREL = 3) or residential facility staff (PERREL =4). * Flag is set only if perpetrator was linked to a maltreatment. compute fostprnt = 0 . if (per1rel = 3 and per1link = 1) fostprnt = 1. if (per2rel = 3 and per2link = 1) fostprnt = 1. if (per3rel = 3 and per3link = 1) fostprnt = 1. var labels fostprnt 'Child Victimized by Foster Parent Jan-Sep' . value labels fostprnt 1 'Yes' 0 'No' . compute resfacil = 0 . if (per1rel = 4 and per1link = 1) resfacil = 1. if (per2rel = 4 and per2link = 1) resfacil = 1. if (per3rel = 4 and per3link = 1) resfacil = 1. var labels resfacil 'Child Victimized by Residential Facility Staff Jan-Sep' . value labels resfacil 1 'Yes' 0 'No' . * If child was victimized by a foster parent (FOSTPRNT=1) or * residential facility staff (RESFACIL = 1), then the child * should be flagged as victimized in foster care. compute fostvict = 0. if (fostprnt eq 1 or resfacil eq 1) fostvict = 1. var labels fostvict 'Child Victimized in Foster Care Jan-Sep' . value labels fostvict 1 'Yes' 0 'No' . * Create record for each unique child from the current active file * which may contain multiple records/reports for the same child. * Setting the break variable to CHID ensures one record will be created * for each unique child. In addition, the use of the 'max' option * ensures that if a child was victimized by a foster care provider in * one report but not another, the value retained will be '1' indicating * that the child was maltreated by a foster care provider in at least * one report over this period. aggregate outfile = 'c:\tempfil2.sav' /break = chid / staterr = first(staterr) / fostprnt = max(fostprnt) / resfacil = max(resfacil) / fostvict = max(fostvict) . * File just created holding records for unique victims must be retreived. get file = 'c:\tempfil2.sav' . * Following command provides counts of unique victims maltreated by a foster * parent FOSTPRNT, residential facility staff RESFACIL, or either form of maltreatment * in foster care FOSTVICT. crosstabs tables staterr by fostprnt resfacil fostvict /cells = count row.