cledon

Technical report · Phase 1

Cancer mortality by municipality in Brazil, 2020–2024: an exploratory study

A document for anyone who wants to check or reproduce the analysis: sources and versions, definitions, exclusions, methods, parameters, sensitivity tests and limitations. Versão em português.

Author: Clériston Almeida Capistrano (ORCID 0009-0008-5280-1869) · independent researcher with no formal training in health sciences · cledon.org

Exploratory study — not conclusions. This report describes an ecological, descriptive study that has not yet been reviewed by independent specialists. The signals are hypotheses for evaluation. They do not indicate causation, do not allow estimating the risk of any specific person and do not change any medical recommendation. Version 1.7 · November 13, 2026. DOI: 10.5281/zenodo.24195057. This is a translation of the Portuguese report; in case of discrepancy, the Portuguese version prevails.

Abstract

Objective: to identify Brazilian municipalities with cancer mortality above what their population's age and sex would predict, 2020–2024, as hypotheses for investigation. Methods: ecological study using 7,913,003 death certificates from SIM/DATASUS (1,202,950 with cancer as the underlying cause) and the 2022 Census population, across 5,570 municipalities; indirect standardization by age and sex, exact confidence intervals, Poisson tests with Benjamini-Hochberg correction within each of 13 analysis groups and empirical Bayes smoothing; exploratory geographic criteria and sensitivity analyses. Results: 145 statistical signals in 93 municipalities; 45 remain after the geographic criteria. Esophageal cancer accounts for 16 of these signals (5 in the South, 9 in Minas Gerais and 2 in Bahia), 14 of which persist in every sensitivity scenario; in Minas Gerais and Bahia, the smoothed SMR relative to Brazil ranges from 2.39 to 3.63. In 2015–2019, a period not used to select the signals, and with an analysis plan recorded locally before the data were examined, 29 of the 45 municipality–group pairs after the geographic criteria and 12 of the 16 for esophageal cancer again showed excess mortality under the defined criterion. These results support the temporal persistence of the observed patterns, but do not distinguish real excesses from persistent biases, nor do they establish causation. Limitations: ecological design, mortality rather than incidence, possible errors in underlying cause and address, unvalidated geographic criteria, effects of the COVID-19 pandemic and lack of independent review. The signals are hypotheses, not conclusions.

1. Question and design

Question: in which municipalities was cancer mortality, from 2020 to 2024, above what their population's age and sex would predict, with strong statistical evidence? Design: ecological, descriptive and exploratory study, with the municipality as the unit of analysis. Outcome: death with cancer as the underlying cause (CAUSABAS field of the death certificate). Each death is assigned to the municipality of residence (CODMUNRES field), not the place of death.

2. Data sources and versions

SourceContentVersion / retrieval
SIM/DATASUS — death certificates (DORES)Files DO<UF><year>.dbc, 27 states × 5 years, at ftp.datasus.gov.br/dissemin/publicos/SIM/CID10/DORES/Published: 2020: 2022-03-31; 2021: 2023-04-28; 2022: 2023-12-21/22; 2023: 2024-12-19 (some states on 2024-12-26 and 2025-01-21); 2024: 2025-12-23. Downloaded on 2026-09-27.
IBGE — 2022 Census, SIDRA table 9514Resident population by municipality, sex (4, 5) and age (5-year groups), age reporting form = totalSIDRA API, retrieved on 2026-09-27. Total: 203,080,756 people.
IBGE — annual estimates, SIDRA table 6579Estimated resident population, 2020, 2021 and 2024 (sensitivity analysis D only)SIDRA API, retrieved on 2026-09-28.
OpenDataSUS — SIM in CSV (validation)Mortalidade_Geral_<year>.csv, 2015–2019 (and 2020, for the equivalence test only), at diaad.s3.sa-east-1.amazonaws.com/sim/Published 2022-01-21 (2020: 2022-04-21). Downloaded on 2026-10-04.
IBGE — 2010 Census, SIDRA table 1552 (validation)Resident population by municipality, sex and age (5-year groups up to 80+)SIDRA API, retrieved on 2026-10-03.
IBGE — localities and municipal boundariesList of municipalities (API v1) and municipal and state boundaries (API v3, minimum quality)Retrieved on 2026-09-27.

3. Definitions

GroupICD-10 (underlying cause)SexDeaths 2020–2024SignalsAfter geographic criteria
All cancersC00–C97both1,202,95071
Lung, trachea and bronchusC33–C34both150,9252510
Breast (women)C50female96,069132
ProstateC61male83,64374
Colon, rectum and anusC18–C21both114,771312
StomachC16both72,170144
CervixC53female34,91421
EsophagusC15both42,4591816
Liver and intrahepatic bile ductsC22both54,84265
PancreasC25both64,383120
LeukemiasC91–C95both35,80740
Brain, meninges and other CNSC70–C72both49,59330
Lip, oral cavity and pharynxC00–C14both41,58530

Group names follow the codes used: "Colon, rectum and anus" (C18–C21) includes colon, rectosigmoid junction, rectum, anus and anal canal; "Liver and intrahepatic bile ducts" corresponds to C22; "Lip, oral cavity and pharynx" to C00–C14. "All cancers" contains the other groups, which is why we speak of 13 analysis groups rather than 13 cancer types.

Auxiliary groups, used only for quality and context: all causes (A00–Z99) and ill-defined causes (R00–R99). Matching uses the first three characters of the underlying cause. Age groups: 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-44, 45-49, 50-54, 55-59, 60-64, 65-69, 70-74, 75-79, 80+ years. Age: IDADE field unit 0–3 (under 1 year) = 0; unit 4 = years; unit 5 = 100 years or older.

4. Processing and exclusions

7,913,003 all-cause death certificates were kept, of which 1,202,950 had cancer (C00–C97) as the underlying cause and 403,341 (5.1%) an ill-defined cause. 18,361 certificates (0.23% of the total) were excluded for lacking information required for standardization:

ReasonCertificates
Municipality of residence unknown or invalid (6-digit code ending in 0000, or missing)12,109
Sex unknown2,028
Age unknown4,224

Exclusions are applied in this order, to all causes. Missing values are not imputed. All 5,570 municipalities in the 2022 Census are included, including those with zero deaths in a group.

5. Statistical methods

Expected deaths (indirect standardization). For each group and reference (Brazil or the municipality's state), the reference rate is rs,a = deathss,a / person-yearss,a, by sex s and age group a. Expected deaths for municipality i are Ei = Σs,a rs,a × Pi,s,a × 5, where P is the 2022 Census population. By construction, the sum of expected deaths equals the sum of observed deaths for each reference.

SMR (standardized mortality ratio) = Oi / Ei, with an exact 95% confidence interval (Garwood method, via the chi-square distribution). Test: one-sided Poisson, p = P(X ≥ Oi | Ei). Multiple-comparison correction: Benjamini-Hochberg (FDR) applied within each analysis group, across the 5,570 municipalities. Correction across all 13 analysis groups together was tested in the sensitivity analysis (scenario C).

Empirical Bayes smoothing (Marshall, 1991): Poisson-Gamma model, with a Gamma prior estimated by the method of moments, one per group and reference. Smoothed SMR = (O + α) / (E + β), and the posterior probability that SMR > 1 comes from the Gamma(O + α, E + β) distribution. This is why the smoothed SMR is usually lower than the direct ratio O / E in small municipalities: in Capelinha (esophagus), for example, 37 / 9.75 = 3.79 unsmoothed and 2.44 smoothed, with a 95% CI of 2.67 to 5.23 for the unsmoothed SMR.

GroupReferencePrior meanPrior varianceαβ
All cancersBrazil1.0000.030432.9132.91
All cancersstate1.0000.016261.7261.72
Lung, trachea and bronchusBrazil1.0000.10029.989.98
Lung, trachea and bronchusstate1.0000.031931.3331.33
Breast (women)Brazil1.0000.052219.1419.14
Breast (women)state1.0000.031731.5331.53
ProstateBrazil1.0000.044522.5022.50
Prostatestate1.0000.028435.1635.16
Colon, rectum and anusBrazil1.0000.12597.947.94
Colon, rectum and anusstate1.0000.052718.9918.99
StomachBrazil1.0000.075513.2513.25
Stomachstate1.0000.041624.0424.04
CervixBrazil1.0000.21774.594.59
Cervixstate1.0000.044422.5322.53
EsophagusBrazil1.0000.22654.424.42
Esophagusstate1.0000.10919.179.17
Liver and intrahepatic bile ductsBrazil1.0000.044922.2722.27
Liver and intrahepatic bile ductsstate1.0000.026837.2537.25
PancreasBrazil1.0000.077612.8912.89
Pancreasstate1.0000.029234.2834.28
LeukemiasBrazil1.0000.037426.7326.73
Leukemiasstate1.0000.015763.5363.53
Brain, meninges and other CNSBrazil1.0000.036827.1827.18
Brain, meninges and other CNSstate1.0000.016560.7860.78
Lip, oral cavity and pharynxBrazil1.0000.059416.8416.84
Lip, oral cavity and pharynxstate1.0000.037426.7326.73

Signal criteria (reference: the municipality's state): q < 0.01; P(SMR > 1) > 0.99; smoothed SMR ≥ 1.3; at least 10 observed deaths. The state reference reduces, but does not eliminate, regional differences in diagnosis and recording.

Exploratory geographic criteria. Each signal receives a context: state capital (27 capitals); capital surroundings (approximate center of the municipality within 40 km of a capital's center); treatment hub (at least 200 cancer deaths of non-residents occurring in the municipality and at least 25% of its residents' cancer deaths). The rest are shown as "after geographic criteria". The thresholds were chosen in an exploratory way, without external validation. These criteria do not demonstrate that biases were removed and may exclude real excesses. The CDC guidelines stress that geographic choices can create or hide patterns and require expert interpretation. The thresholds were therefore varied in the sensitivity analysis.

6. Results

145 signals in 93 municipalities: 47 in state capitals, 9 in capital surroundings, 44 in treatment hubs and 45 after the exploratory geographic criteria. Counts by analysis group are in the table in section 3.

7. Sensitivity analyses

Each scenario changes one methodological choice and keeps the others. "In common" counts municipality–group pairs that remain after the geographic criteria both in the scenario and in the main analysis. In scenario D, the 2022 age- and sex-specific population is rescaled by each year's estimated total. The 2020 and 2021 estimates were made before the Census and are higher than it, so this scenario tests sensitivity to population, not a "correct" population.

ScenarioSignalsAfter geographic criteriaIn common with mainEsophagusEsophagus in common
Main (40 km surroundings, hub ≥200 and ≥25%, FDR per group, fixed 2022 population)14545451616
A. Capital surroundings = 20 km14549451716
A. Capital surroundings = 60 km14541411616
B. Looser hub criterion (≥100 deaths and ≥15%)14541411515
B. Stricter hub criterion (≥400 deaths and ≥40%)14553451616
C. FDR across all 13 analysis groups together14944421616
D. Annual population (IBGE 2020, 2021, 2024; 2022 Census; 2023 interpolated)14446411615

8. Esophageal cancer: stability of the signals

14 of the 16 municipalities with a signal after the geographic criteria remain in every sensitivity scenario. Period SMRs are unsmoothed: deaths observed in the period divided by expected deaths relative to Brazil, split in proportion to the number of years (3/5 and 2/5). This is a stability check, not independent validation: the municipalities were selected using all five years together, so the excess tends to appear in both periods by construction. Validation in an independent period is in section 9.

5 of these municipalities are in the South (PR, SC and RS). In this region, the literature already associates esophageal cancer (especially squamous cell carcinoma) with drinking very hot beverages, such as maté (chimarrão) at very high temperatures, as well as alcohol and tobacco; IARC classifies drinking very hot beverages, above 65 °C, as probably carcinogenic (group 2A). This study did not measure any of these exposures, and consistency with the literature does not confirm causation. For the municipalities in Minas Gerais and Bahia, the data analyzed do not point to an explanation.

Table 8a. Deaths, SMR and confidence interval (2020–2024).

MunicipalityStateObserved deathsExpected (state)Unsmoothed SMR (state)95% CI (unsmoothed)Smoothed SMR (state)Smoothed SMR (Brazil)
MatinaBA122.45.002.58 – 8.731.832.46
Palmas de Monte AltoBA185.33.402.02 – 5.381.882.39
Brasília de MinasMG2810.62.651.76 – 3.831.882.68
BraúnasMG112.05.442.71 – 9.731.802.61
CapelinhaMG379.83.792.67 – 5.232.443.63
CaraíMG206.53.061.87 – 4.721.862.65
CipotâneaMG132.25.783.08 – 9.881.942.88
ErváliaMG216.93.031.88 – 4.641.882.69
PotéMG195.23.682.21 – 5.741.972.85
Santa Maria do SuaçuíMG184.44.142.45 – 6.542.012.95
SerroMG226.73.292.06 – 4.981.972.85
MalletPR173.94.322.51 – 6.912.002.80
PrudentópolisPR3514.12.481.73 – 3.451.902.47
Dom FelicianoRS195.63.372.03 – 5.261.902.94
RiozinhoRS132.16.183.29 – 10.561.973.04
ItaiópolisSC185.53.281.94 – 5.181.852.48

Table 8b. Stability by period and across sensitivity scenarios.

MunicipalityStateDeaths 2020–22Deaths 2023–24Unsmoothed SMR (Brazil) 2020–22Unsmoothed SMR (Brazil) 2023–24Largest year (% of total)In all scenarios
MatinaBA845.934.4542%yes
Palmas de Monte AltoBA993.014.5233%yes
Brasília de MinasMG2084.332.6032%no
BraúnasMG747.816.6927%yes
CapelinhaMG19184.546.4527%yes
CaraíMG10103.485.2340%no
CipotâneaMG858.137.6231%yes
ErváliaMG8132.656.4533%yes
PotéMG1275.274.6132%yes
Santa Maria do SuaçuíMG1175.775.5028%yes
SerroMG1484.814.1227%yes
MalletPR1165.674.6435%yes
PrudentópolisPR21143.033.0326%yes
Dom FelicianoRS1185.155.6137%yes
RiozinhoRS768.8611.3938%yes
ItaiópolisSC1083.604.3333%yes

9. Validation in an independent period (2015–2019)

The signals were selected using 2020–2024 deaths. To test whether they could be due to chance, the same municipality–group pairs were tested in 2015–2019, a period not used for selection. Nothing was reselected: there are no new thresholds or geographic criteria. Analysis plan recorded locally: the criterion was defined and recorded in version control (git, commit 1112c34, 2026-10-03 22:35 (UTC−3)) before the 2015–2019 data were processed; the validar.py file used in the analysis is identical to the one recorded in that commit. A signal replicates if, in 2015–2019, the unsmoothed SMR relative to its own state is greater than 1 with a one-sided Poisson p < 0.05. The number of replications was compared with the 5% expected if there were no excess (one-sided binomial test, as specified). The record is kept in the author's repository: it documents the order of steps but does not independently prove when the data were examined, as a dated record on a public platform would. We therefore do not call it a formal pre-registration.

Data. The DATASUS FTP server was unavailable on 2026-10-03 and 2026-10-04. Deaths for 2015–2019 were obtained from the national OpenDataSUS CSV files, which have the same fields. Before use, both sources were compared for 2020: counts by municipality, sex, age group and analysis group were identical in 100% of the 292,219 cells (commit 7a233dd). The 2015–2019 population was estimated by linear interpolation between the 2010 and 2022 Censuses at the central year (2017), by municipality, sex and age group; the 5 municipalities created after 2010 use the 2022 population.

Inclusions and exclusions in 2015–2019. 6,529,667 all-cause death certificates were kept, of which 1,089,385 had cancer as the underlying cause. 23,465 were excluded, for the same reasons and in the same order as in the main analysis: municipality of residence unknown or invalid (15,169), sex unknown (2,157) and age unknown (6,139). The SHA-256 of each of the 755 input files (of this analysis, the validation and Phases 1b to 2b, with the uso column giving the stage) is in hashes_entradas.csv.

Table 9a. Replication of the signals in 2015–2019. "Pairs" are municipality–group combinations; the number of distinct municipalities is in parentheses.

SetPairs (distinct municipalities)ReplicatedExpected without excess: nominal 5%Expected without excess: effective sizep (assumes independence)Same direction (SMR > 1)
After geographic criteria45 (39)29 (64%)2.251.76< 0.00141
Esophagus (after geographic criteria)16 (16)12 (75%)0.800.53< 0.00116
All signals145 (93)120 (83%)7.256.32< 0.001139
Capitals, surroundings and hubs100 (54)91 (91%)5.004.56< 0.00198

On expected values and p. The 5% is a nominal reference: because the Poisson test is discrete, the effective probability that a pair "replicates" without real excess is lower (3.3% to 4.6% on average across the sets), computed exactly from each pair's expected deaths (complementary, not pre-specified analysis, in validar_complementar.py). The p-value in the table assumes independence between pairs, which does not fully hold: some municipalities have more than one pair, groups overlap ("All cancers" contains the others) and state references are shared. These p-values, however small, are therefore not the main support for the interpretation, and a p-value does not give the probability that the data were produced by chance alone. The esophagus set is the least affected: 16 distinct municipalities and a single group.

Table 9b. Esophageal cancer: pooled SMR in 2015–2019 relative to each municipality's state.

RegionMunicipalitiesObserved deathsExpected (state)Pooled SMR95% CIp
Minas Gerais912753.12.391.99 – 2.85< 0.001
South (PR, SC, RS)58333.82.461.96 – 3.05< 0.001
Bahia2146.72.081.14 – 3.490.010

Table 9c. The 16 municipalities with an esophageal cancer signal, in 2015–2019.

MunicipalityStateUnsmoothed SMR 2020–24Deaths 2015–19Expected 2015–19Unsmoothed SMR 2015–1995% CIpReplicates
MatinaBA5.0072.23.241.30 – 6.680.007yes
Palmas de Monte AltoBA3.4074.61.530.61 – 3.150.179no
Brasília de MinasMG2.651410.31.360.74 – 2.280.159no
BraúnasMG5.4462.12.921.07 – 6.350.019yes
CapelinhaMG3.79219.12.301.42 – 3.52< 0.001yes
CaraíMG3.06196.62.871.73 – 4.49< 0.001yes
CipotâneaMG5.7882.33.501.51 – 6.900.002yes
ErváliaMG3.03146.62.131.17 – 3.580.008yes
PotéMG3.6895.31.710.78 – 3.250.086no
Santa Maria do SuaçuíMG4.14194.44.302.59 – 6.72< 0.001yes
SerroMG3.29176.52.631.53 – 4.21< 0.001yes
MalletPR4.32114.32.541.27 – 4.540.005yes
PrudentópolisPR2.483815.32.481.75 – 3.40< 0.001yes
Dom FelicianoRS3.37136.32.061.10 – 3.520.013yes
RiozinhoRS6.1842.21.790.49 – 4.580.188no
ItaiópolisSC3.28175.53.061.78 – 4.91< 0.001yes

Interpretation. In 2015–2019, a period not used to select the signals, 29 of the 45 municipality–group pairs after the geographic criteria and 12 of the 16 for esophageal cancer again showed excess mortality under the defined criterion; all 16 esophageal pairs kept an SMR above 1. These results support the temporal persistence of the observed patterns, but do not distinguish real excesses from persistent biases, nor do they establish causation. This is a temporal replication within the same recording system. Among pairs in state capitals, capital surroundings and treatment hubs, potentially subject to differences in diagnosis, recording and address, 91 of 100 also replicated; replication cannot tell recording differences from real excesses in those places. The geographic criteria identify contexts but do not prove the presence or absence of bias. 2015–2019 values are lower than 2020–2024 values (median ratio of 0.61 for the esophagus), which is consistent with regression to the mean but may also reflect changes over time and in the denominators, since the 2015–2019 population is interpolated between Censuses. The most informative next step is to compare these results with record quality, cancer incidence and local information on diagnosis and treatment, with the participation of epidemiologists.

Additional checks (Phase 1b). A separate report, with its own analysis plan, cross-checks the 16 esophageal cancer municipalities against the INCA Hospital Cancer Registry, searches for spatial clusters and describes annual trends from 2015 to 2024: https://cledon.org/fase1b/en. Phase 1c goes back to 1996–2014, with data that played no part in the selection: https://cledon.org/fase1c/en. Phase 2 describes municipal characteristics associated with the excess, to generate hypotheses: https://cledon.org/fase2/en; Phase 2b looks further into Minas Gerais: https://cledon.org/fase2b/en.

10. Where artificial intelligence was used

AI (Anthropic's Claude) was used as a programming and writing assistant: it wrote the code from specifications and helped explore the data, review and translate the texts, always under human review. The analysis is classical epidemiology and statistics (indirect standardization, Poisson tests, FDR and empirical Bayes smoothing). No machine learning model was trained, tuned or evaluated in this phase. For the future clinical pilot with predictive models, reporting will follow the TRIPOD+AI guideline.

11. Limitations

12. Statements

13. How to reproduce

The complete code (https://cledon.org/codigo; comments in Portuguese) runs on Python 3.14.4 (pandas 3.0.6, numpy 2.5.3, scipy 1.18.1, dbfread 2.0.7, datasus-dbc 0.1.3). Order: baixar.py → preparar.py → analisar.py → sensibilidade.py → gerar_mapa.py → gerar_relatorio.py. Validation: baixar.py validacao (or validacao-csv if the FTP is unavailable) → preparar.py validacao → validar.py; the source equivalence test is in equivalencia_fontes.py; the complementary analysis in validar_complementar.py; the hashes in registrar_hashes.py. Validation results: validacao_sinais.csv, validacao_resumo.csv, validacao_complementar.csv and hashes_entradas.csv. Full results are in municipios_rmp.csv, sinais.csv, sensibilidade.csv and parametros_suavizacao.csv (at https://cledon.org/mapa); the Zenodo deposit (doi.org/10.5281/zenodo.24195057) contains the same files, the code of this version and this report. DATASUS files may be republished with corrections, which is why the dates in section 2 matter.

14. References