遇见数据集

SidneyBissoli/sipni-agregados-cobertura

收藏
Hugging Face2026-03-01 更新2026-03-29 收录
官方服务:

资源简介:

--- language: - pt license: cc-by-4.0 tags: - health - brazil - public-health - parquet - datasus - sipni - vaccination - immunization - coverage - historical pretty_name: "SI-PNI — Aggregated Vaccination Coverage (Brazil, 1994–2019)" size_categories: - 1M<n<10M task_categories: - tabular-classification source_datasets: - original --- # SI-PNI — Aggregated Vaccination Coverage (Brazil, 1994–2019) Historical aggregated vaccination coverage data from Brazil's National Immunization Program (SI-PNI), covering 26 years of municipality-level coverage indicators pre-calculated by the Ministry of Health. Converted from legacy .dbf files to Apache Parquet. **Part of the [healthbr-data](https://huggingface.co/SidneyBissoli) project** — open redistribution of Brazilian public health data. ## Summary | Item | Detail | |------|--------| | **Official source** | DATASUS FTP / Ministry of Health | | **Temporal coverage** | 1994–2019 | | **Geographic coverage** | All Brazilian municipalities (by state) | | **Granularity** | Aggregated: one row per municipality × composite vaccine indicator | | **Volume** | 2.8M+ records (686 .dbf files processed) | | **Format** | Apache Parquet, partitioned by `ano/uf` | | **Data types** | All fields stored as `string` (preserves original format) | | **Update frequency** | Static (historical series, no longer updated at source) | | **License** | CC-BY 4.0 | ## Resumo em português **SI-PNI — Cobertura Vacinal Agregada (Brasil, 1994–2019)** Dados históricos agregados de cobertura vacinal do Programa Nacional de Imunizações (PNI), cobrindo 26 anos de indicadores de cobertura em nível municipal, pré-calculados pelo Ministério da Saúde. Convertidos de arquivos .dbf legados para Apache Parquet. | Item | Detalhe | |------|---------| | **Fonte oficial** | FTP DATASUS / Ministério da Saúde | | **Cobertura temporal** | 1994–2019 | | **Cobertura geográfica** | Todos os municípios brasileiros (por UF) | | **Granularidade** | Agregado: uma linha por município × indicador composto de vacina | | **Volume** | 2,8M+ registros (686 arquivos .dbf processados) | | **Formato** | Apache Parquet, particionado por `ano/uf` | | **Atualização** | Estática (série histórica, não atualizada na fonte) | > Para documentação completa em português, consulte o > [repositório do projeto](https://github.com/SidneyBissoli/healthbr-data). ## Data access Data is hosted on Cloudflare R2 and accessed via S3-compatible API. The credentials below are **read-only** and intended for public use. ### R (Arrow) ```r library(arrow) library(dplyr) Sys.setenv( AWS_ENDPOINT_URL = "https://5c499208eebced4e34bd98ffa204f2fb.r2.cloudflarestorage.com", AWS_ACCESS_KEY_ID = "28c72d4b3e1140fa468e367ae472b522", AWS_SECRET_ACCESS_KEY = "2937b2106736e2ba64e24e92f2be4e6c312bba3355586e41ce634b14c1482951", AWS_DEFAULT_REGION = "auto" ) ds <- open_dataset("s3://healthbr-data/sipni/agregados/cobertura/", format = "parquet") # Example: coverage indicators in São Paulo, 2015 ds |> filter(ano == "2015", uf == "SP") |> head(20) |> collect() ``` ### Python (PyArrow) ```python import pyarrow.dataset as pds import pyarrow.fs as fs s3 = fs.S3FileSystem( endpoint_override = "https://5c499208eebced4e34bd98ffa204f2fb.r2.cloudflarestorage.com", access_key = "28c72d4b3e1140fa468e367ae472b522", secret_key = "2937b2106736e2ba64e24e92f2be4e6c312bba3355586e41ce634b14c1482951", region = "auto" ) dataset = pds.dataset( "healthbr-data/sipni/agregados/cobertura/", filesystem = s3, format = "parquet", partitioning = "hive" ) table = dataset.to_table( filter=(pds.field("ano") == "2015") & (pds.field("uf") == "SP") ) print(table.to_pandas().head()) ``` > **Note:** These credentials are **read-only** and safe to use in scripts. > The bucket does not allow anonymous S3 access — credentials are required. ## File structure ``` s3://healthbr-data/sipni/agregados/cobertura/ README.md ano=1994/ uf=AC/ part-0.parquet uf=AL/ part-0.parquet ... ano=1995/ ... ``` ## Structural eras The .dbf files underwent one major structural transition: | Era | Period | Columns | Key difference | |:---:|--------|:-------:|----------------| | 1 | 1994–2012 | 9 | Includes DOSE, FX_ETARIA; COBERT as numeric (decimal point) | | 2 | 2013–2019 | 7 | DOSE and FX_ETARIA removed; COB as character (decimal comma) | The coverage field name and format changed: `COBERT` (numeric, periods) in era 1 vs `COB` (character, commas) in era 2. Both are preserved as-is. ## Schema Key variables (varies by era): | Variable | Description | Available | |----------|-------------|:---------:| | `MUNICIP` | Municipality code | All eras | | `IMESSION` | Composite vaccine indicator code (per IMUNOCOB.DBF, 26 indicators) | All eras | | `COBERT` / `COB` | Coverage percentage (pre-calculated by Ministry) | Era 1 / Era 2 | | `QT_DOSE` | Number of administered doses | All eras | | `POP` | Target population (denominator) | All eras | | `DOSE` | Dose type | Era 1 only | | `FX_ETARIA` | Age group | Era 1 only | **Important:** The vaccine codes in coverage files use the `IMUNOCOB.DBF` dictionary (26 composite indicators), which is different from the `IMUNO.CNV` dictionary used in the doses files (85 individual vaccines). Coverage indicators often combine multiple individual vaccines into a single metric (e.g., "Polio" coverage combines OPV and IPV doses). ## Source and processing **Original source:** 702 .dbf files (dBase III) from the DATASUS FTP server. Of these, 686 were successfully processed (remaining were unavailable or empty). Bootstrap time: 44 minutes for 2,762,327 records. **Processing:** .dbf → R (`foreign::read.dbf`) → Parquet (`arrow::write_dataset`) → upload to R2 (`rclone`). No transformations are applied. Consolidated files (UF, BR, IG prefixes) were excluded. ## Known limitations 1. **Government data, not ours.** Values are preserved exactly as in the original .dbf files, including the pre-calculated coverage percentages. 2. **Two structural eras.** Dose and age group columns disappear in 2013. Coverage field name and decimal format change between eras. 3. **Composite indicators.** The IMUNOCOB dictionary combines multiple vaccines into single coverage metrics. The mapping rules are complex and changed over time. 4. **All fields are strings.** The coverage percentage field must be parsed by the user (note the decimal point vs comma difference between eras). 5. **Static dataset.** No longer updated at source after 2019. 6. **Coverage ≠ doses.** This dataset contains pre-calculated coverage rates. For raw dose counts, see `sipni-agregados-doses`. ## Citation ```bibtex @misc{healthbrdata, author = {Sidney da Silva Bissoli}, title = {healthbr-data: Redistribution of Brazilian Public Health Data}, year = {2026}, url = {https://huggingface.co/datasets/SidneyBissoli/sipni-agregados-cobertura}, note = {Original source: Ministry of Health / DATASUS} } ``` ## Contact - **GitHub:** [https://github.com/SidneyBissoli](https://github.com/SidneyBissoli) - **Hugging Face:** [https://huggingface.co/SidneyBissoli](https://huggingface.co/SidneyBissoli) - **E-mail:** sbissoli76@gmail.com --- *Last updated: 2026-02-28*

language: - 葡萄牙语(pt) license: CC-BY 4.0 tags: - 健康 - 巴西 - 公共卫生 - Parquet - DATASUS - SI-PNI - 疫苗接种 - 免疫接种 - 覆盖率 - 历史数据 数据集展示名称: "SI-PNI — 汇总疫苗接种覆盖率(巴西,1994–2019)" 数据规模类别: - 100万<数据量<1000万 任务类别: - 表格分类 源数据集: - 原始数据集 # SI-PNI — 汇总疫苗接种覆盖率(巴西,1994–2019) 巴西国家免疫计划(SI-PNI)的历史汇总疫苗接种覆盖率数据,涵盖巴西卫生部预先计算的26年市级覆盖率指标。数据已从旧版.dbf(dBase)格式文件转换为Apache Parquet格式。 本数据集属于[healthbr-data项目](https://huggingface.co/SidneyBissoli)——巴西公共卫生数据的开源再分发项目。 ## 数据摘要 | 项目 | 详情 | |------|--------| | **官方来源** | DATASUS FTP服务器 / 巴西卫生部 | | **时间覆盖范围** | 1994–2019 | | **地理覆盖范围** | 巴西所有市级行政区(按州划分) | | **数据粒度** | 汇总级:每一行对应一个市级行政区 × 复合疫苗指标 | | **数据量** | 280万+条记录(已处理686个.dbf文件) | | **数据格式** | Apache Parquet,按`ano/uf`(年份/州)分区 | | **数据类型** | 所有字段均存储为字符串(保留原始格式) | | **更新频率** | 静态数据集(历史序列,源端不再更新) | | **许可证** | CC-BY 4.0 | ## 葡萄牙语原文摘要(已翻译) **SI-PNI — 汇总疫苗接种覆盖率(巴西,1994–2019)** 巴西国家免疫计划(PNI)的历史汇总疫苗接种覆盖率数据,涵盖巴西卫生部预先计算的26年市级覆盖率指标。数据已从旧版.dbf格式文件转换为Apache Parquet格式。 | 项目 | 详情 | |------|--------| | **官方来源** | DATASUS FTP服务器 / 巴西卫生部 | | **时间覆盖范围** | 1994–2019 | | **地理覆盖范围** | 巴西所有市级行政区(按联邦州划分) | | **数据粒度** | 汇总级:每一行对应一个市级行政区 × 复合疫苗指标 | | **数据量** | 280万+条记录(已处理686个.dbf文件) | | **数据格式** | Apache Parquet,按`ano/uf`(年份/州)分区 | | **更新频率** | 静态数据集(历史序列,源端不再更新) | > 如需完整的葡萄牙语文档,请查阅[项目仓库](https://github.com/SidneyBissoli/healthbr-data)。 ## 数据访问方式 数据托管于Cloudflare R2存储服务,通过兼容S3的应用程序编程接口(API)访问。以下凭证为**只读权限**,仅供公共使用。 ### R语言(Arrow库) r library(arrow) library(dplyr) Sys.setenv( AWS_ENDPOINT_URL = "https://5c499208eebced4e34bd98ffa204f2fb.r2.cloudflarestorage.com", AWS_ACCESS_KEY_ID = "28c72d4b3e1140fa468e367ae472b522", AWS_SECRET_ACCESS_KEY = "2937b2106736e2ba64e24e92f2be4e6c312bba3355586e41ce634b14c1482951", AWS_DEFAULT_REGION = "auto" ) ds <- open_dataset("s3://healthbr-data/sipni/agregados/cobertura/", format = "parquet") # 示例:获取2015年圣保罗州的覆盖率指标 ds |> filter(ano == "2015", uf == "SP") |> head(20) |> collect() ### Python语言(PyArrow库) python import pyarrow.dataset as pds import pyarrow.fs as fs s3 = fs.S3FileSystem( endpoint_override = "https://5c499208eebced4e34bd98ffa204f2fb.r2.cloudflarestorage.com", access_key = "28c72d4b3e1140fa468e367ae472b522", secret_key = "2937b2106736e2ba64e24e92f2be4e6c312bba3355586e41ce634b14c1482951", region = "auto" ) dataset = pds.dataset( "healthbr-data/sipni/agregados/cobertura/", filesystem = s3, format = "parquet", partitioning = "hive" ) table = dataset.to_table( filter=(pds.field("ano") == "2015") & (pds.field("uf") == "SP") ) print(table.to_pandas().head()) > **注意:** 这些凭证为只读权限,可安全用于脚本中。该存储桶不支持匿名S3访问——必须使用凭证方可访问。 ## 文件目录结构 s3://healthbr-data/sipni/agregados/cobertura/ README.md ano=1994/ uf=AC/ part-0.parquet uf=AL/ part-0.parquet ... ano=1995/ ... ## 结构时代变更 .dbf格式文件经历了一次重大的结构转型: | 时代 | 时间范围 | 字段数量 | 关键差异 | |:---:|--------|:-------:|----------------| | 1 | 1994–2012 | 9 | 包含`DOSE`(剂次类型)、`FX_ETARIA`(年龄组)字段;`COBERT`为数值类型(使用小数点作为小数分隔符) | | 2 | 2013–2019 |7 | 移除`DOSE`和`FX_ETARIA`字段;`COB`为字符类型(使用逗号作为小数分隔符) | 覆盖率字段的名称和格式存在差异:时代1使用`COBERT`(数值类型,小数点分隔),时代2使用`COB`(字符类型,逗号分隔)。两种格式均原样保留。 ## 数据字段结构 关键变量(因时代不同而存在差异): | 变量名 | 说明 | 可用时代 | |----------|-------------|:---------:| | `MUNICIP` | 市级行政区代码 | 所有时代 | | `IMESSION` | 复合疫苗指标代码(遵循`IMUNOCOB.DBF`字典,共26个指标) | 所有时代 | | `COBERT` / `COB` | 疫苗接种覆盖率百分比(由巴西卫生部预先计算) | 时代1 / 时代2 | | `QT_DOSE` | 疫苗接种总剂次数 | 所有时代 | | `POP` | 目标人口数(覆盖率计算的分母) | 所有时代 | | `DOSE` | 具体剂次类型 | 仅时代1 | | `FX_ETARIA` | 目标人群年龄组 | 仅时代1 | **重要提示:** 覆盖率文件中的疫苗代码采用`IMUNOCOB.DBF`字典(共26个复合指标),这与剂次文件中使用的`IMUNO.CNV`字典(85个单个疫苗)不同。覆盖率指标通常将多个单个疫苗合并为单一统计指标(例如“脊髓灰质炎”覆盖率同时涵盖口服脊髓灰质炎疫苗(OPV)和灭活脊髓灰质炎疫苗(IPV)的接种数据)。 ## 数据来源与处理流程 **原始数据源:** 来自DATASUS FTP服务器的702个.dbf(dBase III格式)文件。其中686个文件已成功处理,其余文件因无法获取或为空被排除。处理耗时:2,762,327条记录耗时44分钟。 **处理流程:** .dbf文件 → R语言(`foreign::read.dbf`) → Apache Parquet格式(`arrow::write_dataset`) → 上传至Cloudflare R2存储(`rclone`工具)。未对原始数据进行任何转换操作。已排除带有UF、BR、IG前缀的合并文件。 ## 已知局限性 1. **数据源自政府公开数据,非本项目原创。** 所有数值均严格保留自原始.dbf文件,包括预先计算的覆盖率百分比。 2. **存在两个结构时代。** 2013年起,剂次和年龄组字段被移除,覆盖率字段的名称和小数分隔符格式发生变化。 3. **复合指标规则复杂。** `IMUNOCOB`字典将多个疫苗合并为单一覆盖率指标,其映射规则较为复杂且随时间发生调整。 4. **所有字段均为字符串类型。** 用户需自行解析覆盖率百分比字段,注意两个时代的小数分隔符(小数点/逗号)差异。 5. **静态数据集。** 2019年后源端不再更新该数据集。 6. **覆盖率≠原始接种剂次。** 本数据集仅包含预先计算的覆盖率数据。如需获取原始接种剂次数据,请参阅`sipni-agregados-doses`数据集。 ## 引用格式 bibtex @misc{healthbrdata, author = {Sidney da Silva Bissoli}, title = {healthbr-data: 巴西公共卫生数据再分发项目}, year = {2026}, url = {https://huggingface.co/datasets/SidneyBissoli/sipni-agregados-cobertura}, note = {原始数据源:巴西卫生部 / DATASUS} } ## 联系方式 - **GitHub:** [https://github.com/SidneyBissoli](https://github.com/SidneyBissoli) - **Hugging Face:** [https://huggingface.co/SidneyBissoli](https://huggingface.co/SidneyBissoli) - **电子邮箱:** sbissoli76@gmail.com *最后更新时间:2026-02-28"

提供机构:
SidneyBissoli
二维码
社区交流群
二维码
科研交流群
商业服务