{"main_topic":"immigration","sub_topic":"deportation_data","topic":"ice_detention_stints","key":"immigration/deportation_data/ice_detention_stints","version":"1.0.0","year_min":2022,"year_max":2026,"year_gaps":[],"update_frequency":"irregular","detail_levels":["counties","states"],"default_detail":"states","path_template":"immigration/ice_detention_stints/year={year}/{detail}.parquet","grain":["year","month","county_fips","demographic","arresting_agency_group","release_reason","citizenship_country"],"title":"ICE Detention Book-ins at Georgia Facilities","summary":"Monthly book-ins to ICE detention facilities in Georgia since October 2022, how each stint ended and how long it lasted; annual totals by the facility's county.","description":"Detention stints - book-ins to one ICE detention facility in Georgia - from 2022-10-01 through 2026-08-06, aggregated from the person-level detention records ICE released under FOIA (Hausman v. ICE) and the Deportation Data Project processed. A stint is time at ONE facility; a person transferred between facilities has several stints, so this is the facility-level view of detention (use ice_detention_stays for people). Counts of stints begun, stints ended, and the mean stint length in days, by calendar month, ICE's gender determination, which agency's arrest led to the detention (ICE or CBP), how the stint ended (transferred, removed, bonded out, paroled, released on order, other, or still detained), and citizenship country at state level; annual totals by the DETENTION FACILITY'S county - Stewart, Charlton (Folkston), Irwin, Fulton and Clayton hold the large facilities, and their rows measure detention capacity, not residents.","source":"Deportation Data Project - ICE detention stints (ICE detention records released under FOIA in Hausman v. ICE, processed by DDP into one row per facility book-in)","source_url":"https://deportationdata.org/data/processed/ice.html","endpoint":"/api/v1/immigration/ice_detention_stints","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","description":"Calendar year the stint began (the book-in date at the facility) - NOT the federal fiscal year ICE reports by. 2022 covers October-December only; 2026 runs through 2026-08-06.","valid_values":null,"example":2025,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"month","type":"string","role":"categorical","nullable":false,"label":"Month","short_description":"Calendar month of the book-in, or 'all' for the annual total.","description":"Calendar month of the book-in, '01'-'12', or 'all' for the calendar-year total. County rows carry 'all' only (monthly counts are published at state grain).","valid_values":["all","01","02","03","04","05","06","07","08","09","10","11","12"],"example":"all","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"county_fips","type":"string","role":"fk_county","nullable":true,"label":"County FIPS","short_description":"","description":"5-digit FIPS of the county where the DETENTION FACILITY sits (DDP's geocode of the facility address) - not the person's residence or place of arrest. NULL on state rows. Stints at the Savannah hold room (no county in the source) appear in state rows only. Only about a dozen Georgia counties hold a facility; the rest are on the grid with every count withheld.","valid_values":null,"example":"13259","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"demographic","type":"string","role":"fk_demographic","nullable":false,"label":"Demographic","short_description":"","description":"ICE's own gender determination (agency-assigned, not self-reported): 'male', 'female', or 'all'. ICE's 'Unknown' counts toward 'all' only, so male + female is at most 'all'. County rows carry 'all' only.","valid_values":["all","female","male"],"example":"all","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"arresting_agency_group","type":"string","role":"categorical","nullable":false,"label":"Arresting Agency Group","short_description":"Which agency's arrest led to the detention: ICE, CBP, or unknown.","description":"The Deportation Data Project's program-group flag for the arrest that put the person in detention: 'ice' (an ICE enforcement program), 'cbp' (a Border Patrol or port-of-entry arrest whose subject was then held in Georgia), or 'unknown' (no program recorded); 'all' = total. The three parts sum exactly to 'all'. County rows carry 'all' only.","valid_values":["all","cbp","ice","unknown"],"example":"ice","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"release_reason","type":"string","role":"categorical","nullable":false,"label":"Release Reason","short_description":"How the stint at this facility ended.","description":"How the stint ended, from ICE's book-out reason collapsed to seven values: 'transferred' (moved to another facility - the most common outcome), 'removed' (deported from this facility), 'released_on_bond' (bond set by an immigration judge or ICE), 'paroled' (any parole), 'released_on_order' (order of recognizance or supervision), 'other', or 'still_detained' (no book-out as of 2026-08-06); 'all' = total. 'other' is a mixed bucket and NOT all of it is a release: in Georgia about a quarter of it is 'Processing Disposition Changed Locally' (an administrative re-booking at the same facility), the rest is transfer to the U.S. Marshals or another agency, voluntary departure/return, relief granted by an immigration judge, proceedings terminated, court-ordered release, withdrawal, death and escape. The seven parts sum exactly to 'all'. County rows carry 'all' only.","valid_values":["all","other","paroled","released_on_bond","released_on_order","removed","still_detained","transferred"],"example":"transferred","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"citizenship_country","type":"string","role":"categorical","nullable":false,"label":"Citizenship Country","short_description":"Citizenship country (22 named, else 'other').","description":"Citizenship country as recorded by ICE, mapped to the sub_topic's shared vocabulary: the 22 countries most frequent among Georgia records across the ICE and EOIR sources, 'other' for every other country, 'unknown' for stateless / unknown / unrecorded labels; 'all' = total. Published at state grain only - county rows carry 'all'. Not a demographic - no FK to the demographics dimension.","valid_values":["all","brazil","china","colombia","cuba","dominican_republic","ecuador","el_salvador","guatemala","haiti","honduras","india","jamaica","mauritania","mexico","nicaragua","nigeria","peru","russia","senegal","south_korea","venezuela","vietnam","other","unknown"],"example":"mexico","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"num_stints","type":"integer","role":"metric","nullable":true,"label":"Number Stints","short_description":"Book-ins to ICE detention facilities in the cell.","description":"Number of stints - book-ins to one detention facility in Georgia - that began in the cell, after DDP's duplicate flag is applied. Counts book-ins, not people: a person transferred between two Georgia facilities is two stints. State rows are complete (a 0 is a real zero); county counts below 5, zero included, are withheld as NULL.","valid_values":null,"example":2734,"unit":"count","value_min":null,"value_max":null,"null_meaning":"withheld: fewer than 5, including zero - county rows only; state rows are complete","key_metric_grain_contributor":false,"metric_component":null},{"name":"num_stints_ended","type":"integer","role":"metric","nullable":true,"label":"Number Stints Ended","short_description":"Stints in the cell that had a book-out by the coverage end.","description":"The stints in the cell that had ended (a recorded book-out) by 2026-08-06 - the N behind avg_stint_length_days. num_stints - num_stints_ended is the number still held at extraction (the 'still_detained' release_reason). Always 0 on still_detained rows. State rows are complete; county counts below 5, zero included, are withheld as NULL.","valid_values":null,"example":2698,"unit":"count","value_min":null,"value_max":null,"null_meaning":"withheld: fewer than 5, including zero - county rows only; state rows are complete","key_metric_grain_contributor":false,"metric_component":null},{"name":"avg_stint_length_days","type":"number","role":"metric","nullable":true,"label":"Average Stint Length Days","short_description":"Mean length in days of the stints that had ended.","description":"Mean stint length in days (fractional; book-out minus book-in) over the ended stints in the cell - an exact mean, not an average of averages. Only stints with a book-out contribute, so recent months are biased short (long stints still open are excluded). NULL where num_stints_ended is 0 and, on county rows, wherever num_stints_ended is withheld (an average over fewer than five people is disclosive). Unitless duration: guarded by the avg_non_negative and avg_within_coverage_window (1406 days) quality checks; the §4b guard NULLs any event-level length that is negative or longer than the window before averaging (none in this release - the Georgia maximum is 1,097.9 days).","valid_values":null,"example":21.4,"unit":null,"value_min":null,"value_max":null,"null_meaning":"state rows: no ended stint in the cell (num_stints_ended = 0), so no average exists; county rows: withheld because num_stints_ended is withheld (fewer than 5, including zero) or no ended stints","key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"num_stints","usage":"Star-schema fact table. Join the counties dimension on county_fips; the demographics dimension on demographic. Read directly with DuckDB over Parquet.","limitations":"Calendar years, not federal fiscal years: `year` and `month` come from the stint's book-in date, so figures here will NOT match ICE's own or the Deportation Data Project's published FY totals (federal FY runs October 1 - September 30). Coverage is the release window 2022-10-01 through 2026-08-06: calendar 2022 is October-December only and 2026 stops on 6 August, so both end years are partial and a year-over-year chart dips at both ends. Of the 134,281 Georgia stint rows in the source, 1,597 were booked in BEFORE 2022-10-01 (back to October 2021) and were still open when the FOIA window opened; they are the residue of earlier detention, not a series, and are dropped. 749 rows DDP flags as duplicate book-ins (duplicate_drop_row) are also dropped, leaving 131,935 stints. A STINT IS A BOOK-IN TO ONE FACILITY, NOT A PERSON: someone transferred between facilities has several stints inside one detention stay (a transfer into Stewart from Folkston is a new stint at Stewart), and `transferred` is the most common way a Georgia stint ends. 131,935 Georgia stints are therefore NOT 131,935 people; use ice_detention_stays for person-level questions (how many people were detained, how long a whole detention lasted). GEOGRAPHY IS THE DETENTION FACILITY'S COUNTY, NEVER THE PERSON'S: `county_fips` is the county where the facility sits, as geocoded by DDP from the facility address. Stewart County (Stewart Detention Center), Charlton County (the three Folkston processing centers), Irwin County (Irwin County Detention Center), Fulton County (the Atlanta hold room and U.S. Penitentiary) and Clayton County (Robert A. Deyton) hold ICE detention facilities, and their rows measure DETENTION CAPACITY IN THAT COUNTY, not residents of it - Stewart County has about 5,000 residents and tens of thousands of book-ins. Nothing in the source says where the detained person lived or was arrested. Only about a dozen Georgia counties hold any facility, so most county rows are withheld/empty by design. The Savannah hold room has no county in the source and contributes to state rows only (996 stints; 99.2% of counted stints resolved to a county), so county rows sum to slightly less than the state total. Disclosure control (the platform's own rule; the source has none): county rows are annual totals with every categorical pinned to `all` (`month`, `release_reason`, `arresting_agency_group` and `citizenship_country` are published at state grain only), on a complete 159-county x 5-year grid; any county count below 5 - ZERO INCLUDED - is withheld as NULL, with complementary suppression so a withheld cell cannot be recovered by subtraction, and avg_stint_length_days is withheld wherever its N (num_stints_ended) is. The still-open remainder num_stints - num_stints_ended is deliberately NOT treated as a disclosive complement at county grain (the same decision as ice_detention_stays): it counts people still held at a detention facility on the extraction date, an attribute of the facility population rather than of an identifiable person, and withholding it would blank the ended count for the largest facility counties to hide remainders of one to three. A county NULL therefore means 'fewer than five, possibly none', never a real zero; state rows are complete and a state 0 is a real zero. avg_stint_length_days is the mean length of stints that had ENDED by 2026-08-06 (3.8% of counted stints were still open and carry no length), so the most recent months are biased SHORT - a long stint that began recently is still open and excluded - and `still_detained` rows never carry an average. `demographic` is ICE's own gender determination (`Male` / `Female`), not self-reported; ICE's `Unknown` counts toward `all` only, so male + female is at most `all`. `citizenship_country` names the 22 countries most frequent among Georgia records across the ICE and immigration-court sources; every other country is `other` and an unrecorded country is `unknown`. `arresting_agency_group` is DDP's program-group flag for the arrest that led to the detention: `cbp` means a Border Patrol or port arrest whose subject was then detained in Georgia, `ice` an ICE arrest, `unknown` no recorded program. `release_reason` is ICE's book-out reason collapsed to seven values; `other` pools rare outcomes (voluntary departure, transfer to the U.S. Marshals, court-ordered release, death, escape and similar).","null_semantics":{"suppressed_to_null":true,"zero_is_real":true},"available_years":[2022,2023,2024,2025,2026],"schema_hash":"2d017dbfddc76a63057bc992f414812ce2789113193b0f4e093ced17a49cf237","tags":["immigration","deportation data project - ice detention stints","ice_detention_stints"],"granularity_description":"One row per year, month, county_fips, demographic, arresting_agency_group, release_reason, citizenship_country (geography columns are NULL at higher aggregation levels).","example_queries":[{"description":"Latest year (2026), states detail","query":"SELECT * FROM ice_detention_stints WHERE year = 2026 LIMIT 100"},{"description":"Filter by month = all","query":"SELECT * FROM ice_detention_stints WHERE month = 'all' AND year = 2026 LIMIT 100"}],"foreign_keys":[{"column":"county_fips","target_object":"counties","target_columns":["county_fips"],"attribute_columns_added":["county_name"],"scope":"global"},{"column":"demographic","target_object":"demographics","target_columns":["demographic"],"attribute_columns_added":["demographic_label","demographic_category"],"scope":"global"}],"filters":[{"param":"year","kind":"year_exact","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_min","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_max","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"detail","kind":"detail","type":"string","multi_value":false,"enum_enforced":true,"values":["counties","states"],"default":"states"},{"param":"county_fips","kind":"foreign_key","column":"county_fips","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"demographic","kind":"foreign_key","column":"demographic","type":"string","multi_value":true,"enum_enforced":true,"values":["all","female","male"]},{"param":"month","kind":"categorical","column":"month","type":"string","multi_value":true,"enum_enforced":true,"values":["all","01","02","03","04","05","06","07","08","09","10","11","12"],"has_total":true,"total_value":"all","requires_single_value":false,"nullable":false,"null_filter_token":null},{"param":"arresting_agency_group","kind":"categorical","column":"arresting_agency_group","type":"string","multi_value":true,"enum_enforced":true,"values":["all","cbp","ice","unknown"],"has_total":true,"total_value":"all","requires_single_value":false,"nullable":false,"null_filter_token":null},{"param":"release_reason","kind":"categorical","column":"release_reason","type":"string","multi_value":true,"enum_enforced":true,"values":["all","other","paroled","released_on_bond","released_on_order","removed","still_detained","transferred"],"has_total":true,"total_value":"all","requires_single_value":false,"nullable":false,"null_filter_token":null},{"param":"citizenship_country","kind":"categorical","column":"citizenship_country","type":"string","multi_value":true,"enum_enforced":true,"values":["all","brazil","china","colombia","cuba","dominican_republic","ecuador","el_salvador","guatemala","haiti","honduras","india","jamaica","mauritania","mexico","nicaragua","nigeria","peru","russia","senegal","south_korea","venezuela","vietnam","other","unknown"],"has_total":true,"total_value":"all","requires_single_value":false,"nullable":false,"null_filter_token":null},{"param":"demographic_category","kind":"dimension_attribute","dimension":"demographics","column":"demographic_category","type":"string","multi_value":true,"enum_enforced":true,"values":["aggregate","disability","economic_status","esol","foster_care","gender","grade","homeless_status","migrant_status","military","race","sped"]}],"filter_hints":[],"values_endpoint":"/api/v1/immigration/ice_detention_stints/values"}