{"main_topic":"immigration","sub_topic":"gdc","topic":"deportation_detainers","key":"immigration/gdc/deportation_detainers","version":"1.0.0","year_min":2025,"year_max":2026,"year_gaps":[],"update_frequency":"monthly","detail_levels":["states"],"default_detail":"states","path_template":"immigration/deportation_detainers/year={year}/{detail}.parquet","grain":["year","month","county_fips","citizenship_country","offense_group"],"title":"Georgia Prison Inmates with Deportation Detainers","summary":"Georgia state-prison inmates held with an active ICE deportation detainer on a month-end date, by citizenship country and offense group.","description":"Inmates in Georgia Department of Corrections custody who hold an active immigration (deportation) detainer, from GDC's monthly 'O.C.G.A. 42-1-11.4 Monthly Report - Detainers for Deportation'. A point-in-time count on the report's as-of date (a month-end), statewide, with the total broken down by the inmate's country of citizenship and, separately, by offense group. Only the months whose report was captured exist; GDC overwrites the report monthly and keeps no archive.","source":"Georgia Department of Corrections - O.C.G.A. 42-1-11.4 Monthly Report, Detainers for Deportation (earlier months via the Internet Archive's Wayback Machine)","source_url":"https://gdc.georgia.gov/organization/about-gdc/research-and-reports","endpoint":"/api/v1/immigration/deportation_detainers","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","description":"Calendar year of the report's 'Data as of' date - not a federal or state fiscal year.","valid_values":null,"example":2026,"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":"Month of the report's as-of date.","description":"Calendar month of the report's 'Data as of' date, '01'-'12' (the month, not the day: the August 2025 report is as of Friday 29 August). There is NO 'all' annual row - the figure is a stock of inmates on one day, and months cannot be summed. Only the months GDC's overwritten report was captured for exist; see limitations.","valid_values":["01","02","03","04","05","06","07","08","09","10","11","12"],"example":"08","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":"Always NULL: the report covers Georgia's state prison system as a whole and has no county or facility field.","valid_values":null,"example":null,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"citizenship_country","type":"string","role":"categorical","nullable":false,"label":"Citizenship Country","short_description":"Country of citizenship (22 named, else 'other').","description":"The inmate's country of citizenship as GDC records it, mapped to the immigration domain's shared vocabulary: the 22 countries most frequent in Georgia enforcement records, 'other' for every other country (GDC lists 91 across the five reports), 'unknown' for GDC's 'Null' row (no recorded citizenship); 'all' = every inmate. GDC's 'RUSSIAN FEDERATION' is russia and 'KOREA, REPUBLIC OF' is south_korea. The country rows partition the total exactly. Rows that pin a country carry offense_group = 'all' - the report never crosses the breakdowns.","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":"offense_group","type":"string","role":"categorical","nullable":false,"label":"Offense Group","short_description":"Offense group (the groups overlap; see limitations).","description":"Group of the offense the inmate is serving time for, collapsed from GDC's 130 offense codes on the model of GDC's own broad crime categories: 'violent' (homicide, assault, kidnapping, robbery, cruelty to children, firearm possession during a crime, and trafficking a person for sexual servitude, which GDC counts as violent rather than as a sex crime), 'sex_offense' (rape, child molestation, sexual battery, sexual exploitation of children, sex-offender registration), 'property' (burglary, theft, forgery and fraud, criminal damage, arson, racketeering), 'drug_trafficking' (trafficking under O.C.G.A. 16-13-31, including manufacturing methamphetamine), 'drug_other' (possession, possession with intent, sale), 'traffic_dui' (habitual traffic violator, hit-and-run, motor-vehicle law), 'other' (obstruction, fleeing police, weapons possession by a felon, gang participation, and the rest); 'all' = every inmate. The groups OVERLAP: an inmate serving for two offenses counts in both groups (or twice in one), so the groups sum above the total. Rows that pin a group carry citizenship_country = 'all'.","valid_values":["all","drug_other","drug_trafficking","other","property","sex_offense","traffic_dui","violent"],"example":"violent","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"num_inmates_with_detainer","type":"integer","role":"metric","nullable":true,"label":"Number Inmates with Detainer","short_description":"Inmates held with an active ICE deportation detainer.","description":"Inmates in Georgia Department of Corrections custody with an active immigration (deportation) detainer on the report's as-of date. On the all/all row: GDC's Grand Total, a count of distinct inmates. On a citizenship_country row: the inmates of that citizenship (the rows sum exactly to the total). On an offense_group row: inmate-offense pairs within the group - an inmate serving for two offenses counts under each, so the group rows sum about 3% above the total and a group's value is an upper bound on its distinct inmates; take offense shares against the all/all total. A stock: do not sum across months. A 0 is a real zero.","valid_values":null,"example":2012,"unit":"count","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"num_inmates_with_detainer","usage":"Star-schema fact table of state rows only (county_fips is always NULL). Pin a month - the figure is a stock, never sum months - and keep one of citizenship_country / offense_group at 'all'. The all/all row is the headline total; take any share against it. Read directly with DuckDB over Parquet.","limitations":"A STOCK, NOT A FLOW. Each figure is the number of inmates in Georgia Department of Corrections custody who held an active immigration (deportation) detainer on the report's as-of date; the same person is counted again every month until released or transferred. Months cannot be summed, there is no annual total, and a month-over-month difference is net change in the stock, not new detainers. Coverage is sparse and fixed: only 5 monthly reports (March 2025, April 2025, August 2025, December 2025, August 2026) exist. GDC overwrites the report at one URL each month and keeps no archive; the earlier months are the ones the Internet Archive happened to capture, and the rest (May 2025, June 2025, July 2025, September 2025, October 2025, November 2025, January 2026, February 2026, March 2026, April 2026, May 2026, June 2026, July 2026) are gone. A time series must break across the gaps, never interpolate. year and month come from the report's 'Data as of' date - a calendar month, not a federal or state fiscal year - and month is the as-of MONTH: the August 2025 report is as of Friday 29 August (the last business day), the others the month's last day. Two breakdowns of one total, never crossed: each row pins either citizenship_country or offense_group and leaves the other at 'all', so a query that pins both returns nothing - GDC does not publish offense by country. citizenship_country partitions the total exactly (one citizenship per inmate). It uses the immigration domain's shared vocabulary - the 22 countries most frequent in Georgia enforcement records, 'other' for every other country, 'unknown' for GDC's 'Null' row (inmates with no recorded citizenship, published from December 2025 on) - with GDC's 'RUSSIAN FEDERATION' mapped to russia. GDC notes that no inmate with an active detainer has U.S. dual citizenship. offense_group rows OVERLAP and must not be summed or used as a partition. GDC counts an inmate serving for two offenses under both, so its offense rows sum 2.7-3.1% above the Grand Total (51-59 inmates a month); grouping GDC's 130 offense codes adds further overlap wherever one inmate holds two codes in the same group. A group's value is therefore inmate-offense pairs - an upper bound on the distinct inmates in it. Never derive the total from the offense rows, and compute an offense share against the Grand Total (the all/all row), never against the sum of the groups; such shares can add to more than 100%. The seven offense groups are this platform's grouping of GDC's offense codes, modelled on the six broad crime categories GDC uses in its Inmate Statistical Profile (violent, sex crime, property, drug, habitual traffic/DUI, other) with drug split into trafficking under O.C.G.A. 16-13-31 and all other drug offenses. GDC does not publish its code-to-category table; the assignment reproduces GDC's own category totals for a December 2025 profile to within one inmate. The code-to-group map is on the topic's transform manifest. Statewide only: the report covers the GDC prison system as a whole and has no county or facility field, so county_fips is always NULL. It counts state inmates only - not people in county jails or ICE detention; for the detainers ICE issues to Georgia jails and prisons, as ICE records them, see immigration/ice_detainers. GDC publishes every cell, single-inmate rows included; this is a published government aggregate, so no small-cell suppression is applied and every 0 is a real zero (a country or offense group the month's report does not list).","null_semantics":{"suppressed_to_null":false,"zero_is_real":true},"available_years":[2025,2026],"schema_hash":"caa895da38025404f4ace0727606353740d64af1a307667c1a2acde9c38d0409","tags":["immigration","georgia department of corrections - o.c.g.a. 42-1-11.4 monthly report, detainers for deportation","deportation_detainers"],"granularity_description":"One row per year, month, county_fips, citizenship_country, offense_group.","example_queries":[{"description":"Statewide total on each report's as-of date","query":"SELECT year, month, num_inmates_with_detainer FROM deportation_detainers WHERE citizenship_country = 'all' AND offense_group = 'all' ORDER BY year, month"},{"description":"Citizenship breakdown, 2026-08","query":"SELECT citizenship_country, num_inmates_with_detainer FROM deportation_detainers WHERE year = 2026 AND month = '08' AND offense_group = 'all' ORDER BY num_inmates_with_detainer DESC"},{"description":"Offense groups as a share of all inmates, 2026-08 (groups overlap; shares can sum past 100%)","query":"SELECT offense_group, num_inmates_with_detainer, num_inmates_with_detainer * 1.0 / MAX(CASE WHEN offense_group = 'all' THEN num_inmates_with_detainer END) OVER () AS share_of_inmates FROM deportation_detainers WHERE year = 2026 AND month = '08' AND citizenship_country = 'all' ORDER BY num_inmates_with_detainer DESC"}],"foreign_keys":[{"column":"county_fips","target_object":"counties","target_columns":["county_fips"],"attribute_columns_added":["county_name"],"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":["states"],"default":"states"},{"param":"county_fips","kind":"foreign_key","column":"county_fips","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"month","kind":"categorical","column":"month","type":"string","multi_value":true,"enum_enforced":true,"values":["01","02","03","04","05","06","07","08","09","10","11","12"],"has_total":false,"total_value":null,"requires_single_value":true,"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":"offense_group","kind":"categorical","column":"offense_group","type":"string","multi_value":true,"enum_enforced":true,"values":["all","drug_other","drug_trafficking","other","property","sex_offense","traffic_dui","violent"],"has_total":true,"total_value":"all","requires_single_value":false,"nullable":false,"null_filter_token":null}],"filter_hints":[{"primary":"citizenship_country","dependent":"offense_group","note":"The report never crosses the two breakdowns: offense_group values other than 'all' exist only under citizenship_country 'all', and country values other than 'all' only under offense_group 'all'. Keep one of the two at 'all'."}],"values_endpoint":"/api/v1/immigration/deportation_detainers/values"}