OFA's TANF grantees in the states, territories, and tribes (STTs) are legislatively-mandated to report data via TDRS. OFA then aggregates the data and uses it for descriptive analyses and program performance monitoring, most notably through the work participation rate calculations (WPR). The WPR measures how well states engage families receiving assistance in certain work activities during a fiscal year. STTs must meet both an overall (or “all families”) WPR and a two-parent work participation rate or be subject to a financial penalty.
Included herein is an overview of:
Additionally, FAQs related to the data and the system are included.
There are two categories of data reports that STTs submit to OFA--
TANF data report (ACF-199) include characteristics about families (and individuals therein) receiving federally-funded TANF assistance.
There is also the SSP-MOE data report (ACF-209). As a condition of receiving federal TANF funds, states are required to spend a certain amount of their own funds (maintenance-of-effort or MOE) on TANF-allowable categories. This report includes characteristics of families (and individuals therein) receiving MOE-funded assistance.
TDRS was developed in the late 1990s to collect, validate, and store TANF data reported to HHS. Only minor updates have been made to the system in the past 20 years, so its functionality is limited (e.g. it is a backend-only system).
The TANF grantees usually prepare their data files using (1) a gov-furnished legacy tool (e.g. ftanf.exe) or (2) their own software to export data files in the required format.
The data is then transmitted using a secure file transfer protocol (SFTP) onto an ACF server, which is monitored daily for new files. An ACF OCIO engineer picks up any new files and transfers them to another ACF server for processing/validation and storage into the national TANF database (RDMS).
OFA data staff have read-only access to the dB and run SQL-like queries on the data to facilitate data quality feedback generation and data publications.
See below for a visual of this data flow.
We've also outlined what we've observed from user research about how data is prepared, transmitted, and used. This includes details about:
- the kinds of data STTs can submit
- tools STTs use to prepare data files (fTANF, etc.)
- resources OFA provides to STTs on how to prepare and validate their files
- the kinds of communications sent between OFA and STTs
- the types of reports OFA publishes using this data
What is FTANF.exe?
A desktop application designed by ACF's IT shop that STTs could download and use to prepare data files that could then be exported and transmitted to OFA. fTANF.exe can prepare all sections of data, check these data for the same types of errors that TDRS uses during processing/validation. The data could be entered by importing a previously-generated transmission file or by manual entry. The application is no longer supported and is incompatible with newer versions of Windows, but many STTs with older versions of Windows still use it.
STTs using this tool are tracked here. These STTs will have an SSN_Encrypted
value of 1. This may change over time.
When are the data reports due?
Data reports are due within 45 days of the end of the fiscal quarter--
Fiscal Quarter | Calendar Period | Due Date |
---|---|---|
1 | Oct 1 - Dec 31 | February 14 |
2 | Jan 1 – Mar 31 | May 15 |
3 | Apr 1 – Jun 30 | August 14 |
4 | Jul 1 – Sep 30 | November 14 |
STTs are permitted to make corrections and re-transmit data throughout the fiscal year, but an end-of-fiscal year deadline is enforced after the fiscal quarter 4 data is due.
How do STTs transmit the data reports?
Many STTs use SFTP clients like Winscp or IPSwitch. Others (especially STTs that manage their own legacy system) leverage Cyberfusion.
How many data files are included in each report?
A minimum of 3 data files are included in each quarterly report--1 file per section (1, 2, and 3) of the TANF data report. Note:
-
Section 4 is required only for STTs that submit data for a sample of its full caseload.
-
STTs that submit the SSP-MOE data report or sample data can vary by fiscal year. Their status for the current fiscal year are captured in the
SSP
andSample
indicators here.
How are the data organized in each file?
TANF and SSP-MOE reports each have 4 data layouts--one layout per section of the report. The layouts between TANF and SSP-MOE are similar, but not identical.
TANF
- Structure: one fixed width record per: (1) case and month and (2) case, person, and month for families receiving benefits through TANF
- TANF Transmission file layout
- Tribal TANF transmission file layout
- Structure: one fixed width record per: (1) case and month and (2) case, person, and month for families who stopped receiving benefits through TANF
- Transmission file layout
- Structure: one fixed width record for the quarter that captures monthly counts of families that are applying for, receiving, and no longer receiving TANF benefits
- Transmission file layout
- Structure: one fixed width record for the quarter that captures monthly counts of families within each strata (Note: only relevant for STTs submitting Section 1 and Section 2 data that covers only a sample of the caseload)
- Transmission file layout
SSP-MOE
- Structure: one fixed width record per: (1) case and month and (2) case, person, and month for families receiving benefits through SSP-MOE
- Transmission file layout
- Structure: one fixed width record per: (1) case and month and (2) case, person, and month for families no longer receiving benefits through SSP-MOE
- Transmission file layout
- Structure: one fixed width record for the quarter that captures monthly counts of families that are applying for, receiving, and no longer receiving SSP-MOE benefits
- Transmission file layout
- Structure: one fixed width record for the quarter that captures monthly counts of families within each strata (Note: only relevant for STTs submitting Section 1 and Section 2 data that covers only a sample of the caseload)
- Transmission file layout
How large are the data files from STTs?
Data file sizes vary by section of the TANF/SSP-MOE reports and are as follows:
- Section 1: 123kb - 50,000kb
- Section 2: 14kb - 2,000kb
- Section 3: 1kb - 2kb
- Section 4: 1kb - 2kb
How does TDRS decrypt data files from STTs?
"Encryption" is an artifact of STTs using executables like FTANF.exe and SSPMOE.exe to prepare their data transmissions files. Encryption in this context means that the values in the SSN position of Section 1 and Section 2 data files are replaced with other alphanumeric characters.
TDRS has a decryption script that runs on transmitted files if (and only if) the files have an "E" as the encryption indicator in the header record. For future reference: in the absence of checking the header record, if the SSN includes special characters, this is also evidence of encryption.
This decryption ensures that SSNs stored in the database can be used to match to other administrative data sources (e.g. matching to wage records to track employment outcomes for individuals receiving TANF).
STTs using these executables are tracked here. These STTs will have an SSN_Encrypted
value of 1. This may change over time.
The decryption code is included the parsing notebooks 🔒
How does TDRS determine that the data are acceptable to be stored?
TDRS has a hierarchy of checks to determine if the data meet minimum standards for dB storage:
- Are the file naming conventions valid? If not, the data file(s) will not be transferred to the ACF server for processing/validation and storage.
- Does the file have the appropriate layout? Here the system will essentially check the file to determine if there is sufficient information in the file to determine how to parse there data therein. These checks are to determine if the record layout is valid and the records are eligible to be parsed (aka pre-parsing errors). See mural and pre-parsing section of notebooks for more details 🔒.
- Do the data have valid values and are the data consistent within and across records? TDRS checks for out-of-range values (based on coding instructions) as well as for consistency between related data elements within and across records. Examples:
- out-of-range value: Receipt of SNAP assistance (T1 record) can take on only 2 possible values: 1:Yes or 2:No.
- consistency within a record: If SSI recipient = 1:yes then SSI amount received > $0 (T2 record)
- consistency across records: For every family (T1 record) for a given month, there is no evidence that at least one adult (T2 record) or child (T3 record) associated with the family's case is a TANF recipient.
Current TDRS checks (which are being revised and expanded upon for TDP) are included here and here.
Important Note: Acceptance and storage does not mean that transmitted data are error-free. OFA data staff conduct additional data quality checks to ensure accuracy, completeness, and consistency of the data within and across records and sections of the report over time. Data quality feedback reports are sent to STTs throughout the data reporting period (See feedback FAQ below for more details).
What types of metadata does OFA collect about data transmissions?
TDRS tracks data transmissions from the point that data files are successfully picked up for processing (i.e. if files are not picked up, no metadata is tracked) to storage into the dB. Metadata collected include: when the data was processed, the reporting period, all information from the header record, which tells the system how to process and store the data, and a list of any errors detected by the system.
See Transmissions notebook for more details 🔒.
How are the data stored?
Once the data are parsed and validated, they are stored in dB tables by record type. There are:
- 7 record types for TANF
- 6 record types for Tribal TANF (tribal grantees do not currently submit section 4 data)
- 7 record types for SSP-MOE
See parsing notebooks 🔒 for script to parse data by all of the abovementioned record types. Most of the tables contain between 700,000 to 1,300,000 rows.
The database currently is around 50GB in size, though most of it is historical data which will not need to be migrated. Access to this data is extremely limited, both because the data is sensitive (contains personally identifiable information or PII) and because managing access to these aging systems is difficult.
What languages, tools, and formats do OFA data staff use to work with the data?
-
Languages
- SAS
- SQL
- Python
- R
-
Tools
- SAS Enterprise Guide; Base SAS
- Jupyter Notebooks
- VS Code
- RStudio; Base R
- Excel
- Tableau
-
Data Formats
- .txt
- .xls/.xlsx/.csv
- .json
What types of feedback do STTs receive from OFA about their data reports?
How are the data used by OFA?
The table below is a representation of each publication OFA produces, frequency of the publication, and the sections of the data reports used to produce them.
Publication | Frequency | Section 1 | Section 2 | Section 3 | Section 4 |
---|---|---|---|---|---|
Caseload Report | Quarterly | ✔️ | |||
Characteristics Report | Annually | ✔️ | ✔️ | ✔️ | ✔️ |
Work Participation Report | Annually | ✔️ | ✔️ | ✔️ | |
Time Limits Report | Annually | ✔️ | ✔️ | ✔️ | |
TANF Annual Report to Congress | Annually | ✔️ | ✔️ | ✔️ | ✔️ |