Cobertura vacinal contra covid-19 por dose e faixa etária (versão preliminar)
Introdução
A vacinação contra Covid-19 iniciou em 16/01/2021, quando haviam cerca de mil óbitos diários, os quais chegaram a 3,5 mil óbitos em abril do mesmo ano. Segundo o Sistema de Informações sobre Mortalidade (SIM), em 2019 faleceram 56.666 de doenças infecciosas e parasitárias. Em 2020 foram 267.287 óbitos na mesma categoria.
Paulatinamente, o Brasil foi enfrentando a pandemia graças à imunização, chegando a uma média móvel diária de cem óbitos em dezembro de 2022.
Contudo, ainda que a quantidade de casos e óbitos representem uma fração quando comparada ao contexto que antecedeu a vacinação, reconhecemos que a margem um ano após o início se manteve elevada quando comparada com a quantidade de óbitos por gripe comum, cujo acumulado ultrapassa os cerca de mil óbitos anuais, segundo o SIM.
Até 30/01/2022 o vacinômetro registrou apenas as doses ministradas, totalizando 495.638.225 doses. Entretanto, no painel não foi demonstrado a cobertura vacinal com base na imunização conforme o preconizado quanto ao distanciamento entre as doses para cada faixa-etária.
Endereço eletrônico
A presente nota técnica é acessível pelo endereço https://wiki.conass.org.br/index.php?title=Cobertura_vacinal_contra_covid-19_por_dose_e_faixa_et%C3%A1ria
Objetivo
Monitorar populações segundo o esquema de vacinação contra Covid-19 em função de determinantes sociodemográficos.
Ficha do indicador para o profissional da saúde
Conceituação
Percentual de habitantes imunizados contra covid-19, segundo cada esquema de vacinação, respeitando-se o período mínimo entre as doses.
As vacinas contempladas pela Campanha Nacional de Vacinação contra Covid-19 estão listadas na tabela abaixo. O esquema primário inclui a primeira e a segunda dose. O reforço é realizado da terceira dose em diante.
identificador | código opendatasus | nomes | sigla | nome da vacina | intervalo de dias preconizados para aplicação da segunda dose | intervalo de dias para aplicação do reforço |
1 | 85' '89' | COVID-19 ASTRAZENECA - ChAdOx1-S; COVID-19 ASTRAZENECA/FIOCRUZ - COVISHIELD | A | Asrazeneca Astrazeneca | 25 | 96 |
2 | 86' '98' | COVID-19 SINOVAC/BUTANTAN - CORONAVAC; COVID-19 SINOVAC - CORONAVAC | C | Coronacav Coronavac | 25 | 96 |
3 | 87' | COVID-19 PFIZER - COMIRNATY | P | Pfizer | 19 | 96 |
5 | 99' | COVID-19 PFIZER - COMIRNATY PEDIÁTRICA | p | Pfizer pediátrica | 19 | 96 |
4 | 88' | COVID-19 JANSSEN - Ad26.COV2.S | J | Janssen | 60 | 96 |
6 | 102' | COVID-19 PFIZER - COMIRNATY PEDIÁTRICA MENOR DE 5 ANOS | b | Pfizer baby | 19 | 50 |
Interpretação
- Estima o nível de proteção da população contra a doença evitável por imunização ou cujos efeitos são mitigados, mediante o cumprimento do esquema básico de vacinação.
- O número de doses necessárias e os intervalos recomendados entre as doses, para cada tipo de vacina, constam de normas nacionais estabelecidas pelo Ministério da Saúde.
Usos
- Analisar variações geográficas e temporais no percentual usuários do SUS vacinados com cada procedência de imunizante recomendado pelo Programa Nacional de Imunização (PNI).
- Identificar situações de insuficiência que possam indicar a necessidade de estudos especiais e medidas de intervenção.
- Contribuir para a avaliação operacional e de impacto dos programas de imunização, bem como para o delineamento de estratégias de vacinação.
- Avaliar a homogeneidade de coberturas vacinais, calculando o percentual de territórios que alcançam as metas epidemiológicas, estabelecidas para cada vacina.
- Subsidiar processos de planejamento, execução, monitoramento e avaliação de políticas públicas relativas à atenção a saúde e ao controle de doenças e condições de saúde evitáveis.
Limitações
- Inconsistência na alimentação dos Sistemas de Informação de Saúde ou na execução da campanha levaram a doses registradas em dias contíguos ou em intervalos abaixo do preconizado. Dessa forma, considerou-se apenas o primeiro registro realizado no dia, bem como imunizações com intervalo equivalente ou acima do preconizado, com uma margem de dois dias em relação à bula.
- Imprecisão na projeção dos denominadores populacionais devido à não atualização do censo.
- Existência de mais de uma tabela populacional oficial, com valores agregados diferentes para estados, regiões e Brasil.
- Valores médios elevados podem encobrir bolsões de baixa cobertura em determinados grupos populacionais, comprometendo o controle das doenças.
- A demanda da população não residente aos postos de vacinação, principalmente em campanhas, dificulta a avaliação da cobertura vacinal.

Fontes
Ministério da Saúde/SVS/DEVEP/CGPNI: Sistema de Informações do PNI (SI-PNI) e base demográfica do IBGE .
- Campanha Nacional de Vacinação contra Covid-19, disponível em https://opendatasus.saude.gov.br/dataset/covid-19-vacinacao.
- Estudo de Estimativas populacionais por município, sexo e idade - 2000-2021, disponível em https://datasus.saude.gov.br/populacao-residente/
Métodos de Cálculo
[número de imunizados segundo o esquema na idade-alvo para determinado tipo de vacina]÷[residentes]×100
Categorias Sugeridas para Análise
Uma vez que não foram disponibilizadas tabelas de domínios de dados, os mesmos tiveram que ser deduzidos a partir dos valores distintos dentre os atuais 500 milhões de registros.
A nacionalidade foi considerada brasileira caso, em pelo menos um registro, tenha sido assinalado o código 'B'.
A faixa etária de cada usuário do SUS foi calculada com base na data de nascimento paciente_dataNascimento
e na data da atualização do banco de dados (data atual). Dessa forma o indivíduo pode avançar de faixa etária e ter modificado o status preconizado de imunizações. Em outras palavras, a extração é a fotografia do momento atual. Quando a data de nascimento estava indisponível ou inconsistente foi utilizada a idade na data de vacinação paciente_idade
.
código sequencial | sigla | dias - mínimo | dias - máximo | descrição |
---|---|---|---|---|
1 | 00d06m | 0 | 183 | 0 a 6 meses |
2 | 06m02a | 184 | 730 | acima de 6 meses a 2 anos |
3 | 03a04a | 3 a 4 anos | ||
4 | 05a11a | 5 a 11 anos | ||
5 | 12a17a | 12 a 17 anos | ||
6 | 18a39a | 18 a 39 anos | ||
7 | 40a59a | 40 a 59 anos | ||
8 | 60a | acima de 60 anos | ||
9 | NI | Não informado |
Dados Estatísticos e Comentários
Tabela resumida e comentada, que ilustra a aplicação do indicador em situação real. Idealmente, a tabela apresenta dados para grandes regiões do Brasil, em anos selecionados desde o início da série histórica
Literatura relacionada
A busca no Medline
, em 30/01/2023, com a estratégia "Coronavirus"[Mesh] resultou em 159.755 resultados
Ficha do indicador para o cientista de dados
Método de processamento de dados
Os dados disseminados via openDataSUS são coletados automaticamente via Pentaho Data Integration (PDI) a partir dos arquivos tabulados (flatfiles) em formato CSV às segundas-feiras.
A disseminação via openDataSUS não seguiu o padrão tabwin/tabnet nem a Metodologia de Administração de Dados (MAD - DATASUS).
A tabela a seguir mostra, na íntegra, o dicionário de dados mantido pela equipe gestora.

variável | descrição fornecida |
---|---|
document_id | Identificador do documento |
paciente_id | Identificador do vacinado |
paciente_idade | Idade do vacinado |
paciente_dataNascimento | Data de nascimento do vacinado |
paciente_enumSexoBiologico | Sexo do vacinado. M = Masculino, F = Feminino 1; 2; 3; 4; 99 |
paciente_racaCor_codigo | Código da raça/cor do vacinado. 1= Branca; 2 = Preta; 3 = Parda; 4 = Amarela; 99 = Sem informação |
paciente_racaCor_valor | Descrição da raça/cor do vacinado |
paciente_endereco_colbgeMunicipio | Código IBGE do município de endereço do vacinado |
paciente_endereco_coPais | Código do país de endereço do vacinado |
paciente_endereco_nmMunicipio | Nome do município de endereço do vacinado |
paciente_endereco_nmPais | Nome do país de endereço do vacinado |
paciente_endereco_uf | Sigla da UF de endereço do vacinado |
paciente_endereco_cep | 5 dígitos para anonimizado e 7 dígitos para identificado |
paciente_nacionalidade_enum Nacionalidade | Nacionalidade do vacinado |
estabelecimento_valor | Código do CNES do estabelecimento que realizou a vacinação |
estabelecimento_razaoSocial | Nome/Razão Social do estabelecimento |
estabelecimento_noFantasia | Nome fantasia do estabelecimento |
estabelecimento_municipio_codigo | Código do município do estabelecimento |
estabelecimento_municipio_nome | Nome do município do estabelecimento |
estabelecimento_uf | Sigla da UF do estabelecimento |
vacina_grupo_atendimento_code | Código do grupo de atendimento ao qual pertence o vacinado |
vacina_grupo_atendimento_nome | Nome do grupo de atendimento ao qual pertence o vacinado |
vacina_categoria_code | Código da categoria |
vacina_categoria_nome | Descrição da categoria |
vacina_lote | Número do lote da vacina |
vacina_fabricante_nome | Nome do fabricante/fornecedor |
vacina_fabricante_referencia | CNPJ do fabricante/fornecedor |
vacina_dataAplicacao | Data de aplicação da vacina |
vacina_descricao_dose | Descrição da dose |
vacina_codigo | Código da vacina |
vacina_nome | Nome da vacina/produto |
sistema origem | Nome do sistema de origem |
O atributo para identificação da vacina é o código da vacina. Foram utilizados os casos distintos dos atributos vacina_codigo
e vacina_nome
para inferir o domínio de dados, o qual não foi localizado.
Segundo o Ministério da Saúde,
Tabela de Domínio é uma tabela utilizada para armazenar um conjunto de valores possíveis para um determinado preenchimento de um campo em outra tabela. Fonte: MS 08/08/2019 https://datasus.saude.gov.br/glossario/tabela-de-dominio/ Acesso em 31/01/2023.
Apesar da higienização realizada pelo Ministério da Saúde quanto aos códigos da vacina, registros sem o nome da vacina ainda são identificados nos microdados.
vacina_codigo [sic] | vacina_nome [sic] | registros | usuários do SUS |
89 | COVID-19 ASTRAZENECA - ChAdOx1-S | 7.946.750 | 6.767.352 |
85 | COVID-19 ASTRAZENECA/FIOCRUZ - COVISHIELD | 145.579.478 | 78.625.021 |
88 | COVID-19 JANSSEN - Ad26.COV2.S | 30.991.545 | 26.756.808 |
99 | COVID-19 PEDIÁTRICA - PFIZER COMIRNATY | 11.357.507 | 6.931.228 |
87 | COVID-19 PFIZER - COMIRNATY | 198.701.541 | 119.487.405 |
99 | COVID-19 PFIZER - COMIRNATY PEDIÁTRICA | 489.519 | 472.356 |
102 | COVID-19 PFIZER - COMIRNATY PEDIÁTRICA MENOR DE 5 ANOS | 243.644 | 206.454 |
86 | COVID-19 SINOVAC/BUTANTAN - CORONAVAC | 110.708.829 | 59.967.916 |
98 | COVID-19 SINOVAC - CORONAVAC | 1.820.548 | 1.650.336 |
102 | Sem informação | 26.126 | 26.101 |
A tabela vw_vacinas_br_01_coorte transpõe os dados originais, corrigindo a codificação, atribuindo a faixa etária e avaliando as imunizações anteriores assinalando na variável st_imunização o valor 1 para as procedentes em relação ao intervalo preconizado em dias.
-- covid19.vw_vacinas_br_01_coorte source
CREATE MATERIALIZED VIEW covid19.vw_vacinas_br_01_coorte
TABLESPACE pg_default
AS WITH subset AS (
SELECT a_1.cnes,
t1.co_seq_territorio AS co_seq_territorio_estabelecimento,
dense_rank() OVER (ORDER BY a_1.paciente_id) AS nu_usuario,
CASE
WHEN a_1.paciente_endereco_coibgemunicipio IS NULL THEN t1.co_seq_territorio
ELSE t2.co_seq_territorio
END AS co_seq_territorio_residencia,
CASE
WHEN a_1.paciente_enumsexobiologico = 1 THEN 'M'::text
WHEN a_1.paciente_enumsexobiologico = 2 THEN 'F'::text
ELSE '?'::text
END AS paciente_enumsexobiologico,
a_1.paciente_datanascimento,
CASE
WHEN (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) >= 1 AND (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) <= 183 THEN 1
WHEN (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) >= 184 AND (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) <= 730 THEN 2
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 3::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 4::double precision THEN 3
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 5::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 11::double precision THEN 4
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 12::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 17::double precision THEN 5
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 18::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 39::double precision THEN 6
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 40::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 59::double precision THEN 7
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 60::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 69::double precision THEN 8
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 70::double precision AND date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 79::double precision THEN 9
WHEN date_part('years'::text, age(a_1.vacina_dataaplicacao::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 80::double precision THEN 10
ELSE 0
END AS faixa_etaria_dose,
CASE
WHEN (CURRENT_DATE - a_1.paciente_datanascimento) >= 1 AND (CURRENT_DATE - a_1.paciente_datanascimento) <= 183 THEN 1
WHEN (CURRENT_DATE - a_1.paciente_datanascimento) >= 184 AND (CURRENT_DATE - a_1.paciente_datanascimento) <= 730 THEN 2
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 3::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 4::double precision THEN 3
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 5::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 11::double precision THEN 4
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 12::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 17::double precision THEN 5
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 18::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 39::double precision THEN 6
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 40::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 59::double precision THEN 7
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 60::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 69::double precision THEN 8
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 70::double precision AND date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) <= 79::double precision THEN 9
WHEN date_part('years'::text, age(CURRENT_DATE::timestamp with time zone, a_1.paciente_datanascimento::timestamp with time zone)) >= 80::double precision THEN 10
ELSE 0
END AS faixa_etaria_hoje,
CASE
WHEN upper(btrim(a_1.paciente_nacionalidade_enumnacionalidade::text)) = 'B'::text THEN 1
ELSE 0
END AS paciente_nacionalidade_enumnacionalidade,
d.co_seq_vacina,
a_1.vacina_dataaplicacao,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN 0
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END AS nu_dia_aplicacao_2021_01_16,
dense_rank() OVER (PARTITION BY a_1.paciente_id ORDER BY a_1.vacina_dataaplicacao) AS nu_dose,
row_number() OVER (PARTITION BY a_1.paciente_id, (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN 100000
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS nu_registro,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v1,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v2,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v3,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v4,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v5,
lag(COALESCE(d.co_seq_vacina::integer, 0)) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS co_seq_vacina_v6,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 1) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior1,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 2) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior2,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 3) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior3,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 4) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior4,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 5) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior5,
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END - lag(
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END, 6) OVER (PARTITION BY a_1.paciente_id ORDER BY (
CASE
WHEN a_1.vacina_dataaplicacao < '2021-01-16'::date OR a_1.vacina_dataaplicacao > CURRENT_DATE THEN '-1'::integer
ELSE a_1.vacina_dataaplicacao - '2021-01-16'::date
END)) AS qt_dias_dose_anterior6,
CASE
WHEN a_1.vacina_descricao_dose::text = '4ª Dose'::text THEN '2a Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '2ª Dose Revacinação'::text THEN '2a Dose'::text
WHEN a_1.vacina_descricao_dose::text = 'Tratamento com quatro doses'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = '5ª Dose'::text THEN 'Dose Adicional'::text
WHEN a_1.vacina_descricao_dose::text = 'Tratamento com dezessete doses'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = '1º Reforço'::text THEN 'Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '3º Reforço'::text THEN 'Dose Adicional'::text
WHEN a_1.vacina_descricao_dose::text = 'Tratamento com doze doses'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = 'Tratamento com duas doses'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = '4º Reforço'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = '3ª Dose Revacinação'::text THEN 'Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '6º Reforço'::text THEN '?'::text
WHEN a_1.vacina_descricao_dose::text = 'Única'::text THEN 'Dose Única'::text
WHEN a_1.vacina_descricao_dose::text = '2ª Dose'::text THEN '2a Dose'::text
WHEN a_1.vacina_descricao_dose::text = 'Dose Adicional'::text THEN 'Dose Adicional'::text
WHEN a_1.vacina_descricao_dose::text = 'Dose Inicial'::text THEN '1a Dose'::text
WHEN a_1.vacina_descricao_dose::text = 'Tratamento com uma dose'::text THEN 'Dose Única'::text
WHEN a_1.vacina_descricao_dose::text = 'Revacinação'::text THEN '2a Dose'::text
WHEN a_1.vacina_descricao_dose::text = '2º Reforço'::text THEN '2a Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '1ª Dose'::text THEN '1a Dose'::text
WHEN a_1.vacina_descricao_dose::text = '3ª Dose'::text THEN 'Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '4ª Dose Revacinação'::text THEN '2a Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = 'Dose'::text THEN 'Dose Única'::text
WHEN a_1.vacina_descricao_dose::text = 'Reforço'::text THEN 'Dose Reforco'::text
WHEN a_1.vacina_descricao_dose::text = '1ª Dose Revacinação'::text THEN '2a Dose'::text
ELSE '?'::text
END AS no_dose_localizasus,
CASE
WHEN (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) >= 1 AND (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) <= 183 THEN '00|0 a 6 meses'::text
WHEN (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) >= 184 AND (a_1.vacina_dataaplicacao - a_1.paciente_datanascimento) <= 730 THEN '01|6 meses a 2 anos'::text
WHEN a_1.paciente_idade >= 3 AND a_1.paciente_idade <= 4 THEN '02|3 a 4 anos'::text
WHEN a_1.paciente_idade >= 5 AND a_1.paciente_idade <= 11 THEN '03|5 a 11 anos'::text
WHEN a_1.paciente_idade >= 12 AND a_1.paciente_idade <= 17 THEN '04|12 a 17 anos'::text
WHEN a_1.paciente_idade >= 18 AND a_1.paciente_idade <= 19 THEN '05|18 a 19 anos'::text
WHEN a_1.paciente_idade >= 20 AND a_1.paciente_idade <= 24 THEN '06|20 a 24 anos'::text
WHEN a_1.paciente_idade >= 25 AND a_1.paciente_idade <= 26 THEN '07|25 a 29 anos'::text
WHEN a_1.paciente_idade >= 30 AND a_1.paciente_idade <= 34 THEN '08|30 a 34 anos'::text
WHEN a_1.paciente_idade >= 35 AND a_1.paciente_idade <= 39 THEN '09|35 a 39 anos'::text
WHEN a_1.paciente_idade >= 40 AND a_1.paciente_idade <= 44 THEN '10|40 a 44 anos'::text
WHEN a_1.paciente_idade >= 45 AND a_1.paciente_idade <= 49 THEN '11|45 a 49 anos'::text
WHEN a_1.paciente_idade >= 50 AND a_1.paciente_idade <= 54 THEN '12|50 a 54 anos'::text
WHEN a_1.paciente_idade >= 55 AND a_1.paciente_idade <= 59 THEN '13|55 a 59 anos'::text
WHEN a_1.paciente_idade >= 60 AND a_1.paciente_idade <= 64 THEN '14|60 a 64 anos'::text
WHEN a_1.paciente_idade >= 65 AND a_1.paciente_idade <= 69 THEN '15|65 a 69 anos'::text
WHEN a_1.paciente_idade >= 70 AND a_1.paciente_idade <= 74 THEN '16|70 a 74 anos'::text
WHEN a_1.paciente_idade >= 75 AND a_1.paciente_idade <= 79 THEN '17|75 a 79 anos'::text
WHEN a_1.paciente_idade >= 80 THEN '18|≥80 anos'::text
ELSE '?'::text
END AS no_faixa_etaria_localizasus
FROM covid19.tb_vacinas_br a_1
LEFT JOIN bd_geral.td_territorio t1 ON a_1.estabelecimento_municipio_codigo = t1.co_municipio_ibge
LEFT JOIN bd_geral.td_territorio t2 ON a_1.paciente_endereco_coibgemunicipio = t2.co_municipio_ibge
LEFT JOIN covid19.td_vacina_covid19 d ON a_1.vacina_codigo::text::tsquery @@ d.co_vacina
)
SELECT a.cnes,
a.co_seq_territorio_estabelecimento,
a.nu_usuario,
a.co_seq_territorio_residencia,
a.paciente_enumsexobiologico,
a.paciente_datanascimento,
a.faixa_etaria_dose,
a.faixa_etaria_hoje,
a.paciente_nacionalidade_enumnacionalidade,
a.co_seq_vacina,
a.vacina_dataaplicacao,
a.nu_dia_aplicacao_2021_01_16,
a.nu_dose,
a.nu_registro,
a.no_dose_localizasus,
a.no_faixa_etaria_localizasus,
COALESCE(
CASE
WHEN a.nu_dose = 1 AND a.nu_registro = 1 THEN 1
WHEN a.nu_dose = 2 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_primario THEN 1
WHEN a.nu_dose = 3 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior2 >= v2.nu_dias_esquema_primario AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 4 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior3 >= v3.nu_dias_esquema_primario AND a.qt_dias_dose_anterior2 >= v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 >= v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 >= v3.nu_dias_esquema_primario AND a.qt_dias_dose_anterior2 >= v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 3 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior2 < v2.nu_dias_esquema_primario AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_primario THEN 1
WHEN a.nu_dose = 4 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior3 < v3.nu_dias_esquema_primario AND a.qt_dias_dose_anterior2 < v2.nu_dias_esquema_primario AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_primario THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 < v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 < v3.nu_dias_esquema_primario AND a.qt_dias_dose_anterior2 <= v2.nu_dias_esquema_primario AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_primario THEN 1
WHEN a.nu_dose = 4 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior3 >= v3.nu_dias_esquema_primario AND a.qt_dias_dose_anterior2 < v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 >= v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 >= v3.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior2 < v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 >= v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 >= v3.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior2 >= v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 >= v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 < v3.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior2 >= v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
WHEN a.nu_dose = 5 AND a.nu_registro = 1 AND a.qt_dias_dose_anterior4 >= v4.nu_dias_esquema_primario AND a.qt_dias_dose_anterior3 < v3.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior2 < v2.nu_dias_esquema_reforco AND a.qt_dias_dose_anterior1 >= v1.nu_dias_esquema_reforco THEN 1
ELSE NULL::integer
END, 0) AS st_imunizacao
FROM subset a
LEFT JOIN covid19.td_vacina_covid19 v1 ON a.co_seq_vacina_v1 = v1.co_seq_vacina
LEFT JOIN covid19.td_vacina_covid19 v2 ON a.co_seq_vacina_v2 = v2.co_seq_vacina
LEFT JOIN covid19.td_vacina_covid19 v3 ON a.co_seq_vacina_v3 = v3.co_seq_vacina
LEFT JOIN covid19.td_vacina_covid19 v4 ON a.co_seq_vacina_v4 = v4.co_seq_vacina
WITH DATA;
Método de processamento analítico
Cada usuário na coorte é contabilizado apenas uma vez na tabela vw_vacinas_br_02_usuario, onde consta a síntese do status vacinal e respectiva imunização.
-- covid19.vw_vacinas_br_02_usuario source
CREATE MATERIALIZED VIEW covid19.vw_vacinas_br_02_usuario
TABLESPACE pg_default
AS SELECT vw_vacinas_br_01_coorte.nu_usuario,
split_part(string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.co_seq_territorio_residencia::text
ELSE NULL::text
END, ' '::text
ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16), ' '::text, 1)::integer AS co_seq_territorio,
string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.cnes::text
ELSE NULL::text
END, ' '::text ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS cnes,
string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.co_seq_territorio_estabelecimento::text
ELSE NULL::text
END, ' '::text ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS co_seq_territorio_estabelecimento,
string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.co_seq_territorio_residencia::text
ELSE NULL::text
END, ' '::text ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS co_seq_territorio_residencia,
string_agg(DISTINCT
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.paciente_enumsexobiologico
ELSE NULL::text
END, ''::text) AS paciente_enumsexobiologico,
min(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.faixa_etaria_dose
ELSE 0
END ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS faixa_etaria_inicio,
max(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.faixa_etaria_hoje
ELSE 0
END ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS faixa_etaria_hoje,
sum(DISTINCT
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.paciente_nacionalidade_enumnacionalidade
ELSE 0
END) AS paciente_nacionalidade_enumnacionalidade,
string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.co_seq_vacina::text
ELSE NULL::text
END, ''::text ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS vacina,
min(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16
ELSE NULL::integer
END ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS nu_dia_aplicacao_2021_01_16_min,
max(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16
ELSE NULL::integer
END ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS nu_dia_aplicacao_2021_01_16_max,
string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16::text
ELSE NULL::text
END, ' '::text ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16) AS nu_dia_aplicacao_2021_01_16,
sum(vw_vacinas_br_01_coorte.st_imunizacao) AS qt_imunizacao,
count(*) AS qt_registro,
string_agg(replace(vw_vacinas_br_01_coorte.no_dose_localizasus, ' '::text, '_'::text), ' '::text ORDER BY vw_vacinas_br_01_coorte.nu_registro) AS no_dose_localizasus
FROM covid19.vw_vacinas_br_01_coorte
GROUP BY vw_vacinas_br_01_coorte.nu_usuario
ORDER BY (split_part(string_agg(
CASE
WHEN vw_vacinas_br_01_coorte.st_imunizacao = 1
THEN vw_vacinas_br_01_coorte.co_seq_territorio_residencia::text
ELSE NULL::text
END, ' '::text
ORDER BY vw_vacinas_br_01_coorte.nu_dia_aplicacao_2021_01_16), ' '::text, 1)::integer), vw_vacinas_br_01_coorte.nu_usuario
WITH DATA;
O painel analítico conta com agregação por município na tabela vw_vacinas_br_03_municipio.
-- covid19.vw_vacinas_br_03_municipio source
CREATE MATERIALIZED VIEW covid19.vw_vacinas_br_03_municipio
TABLESPACE pg_default
AS WITH subset AS (
SELECT a.nu_usuario AS co_seq_usuario_sus,
COALESCE(a.co_seq_territorio, 0) AS co_seq_territorio,
COALESCE(a.faixa_etaria_hoje, 0) AS co_seq_faixa_etaria,
a.qt_imunizacao AS qt_dose,
a.qt_registro
FROM covid19.vw_vacinas_br_02_usuario a
)
SELECT subset.co_seq_territorio,
subset.co_seq_faixa_etaria,
subset.qt_dose,
count(*) AS qt_usuario,
sum(subset.qt_registro) AS qt_registro
FROM subset
GROUP BY subset.co_seq_territorio, subset.qt_dose, subset.co_seq_faixa_etaria
WITH DATA;
O painel analítico necessita do produto cartesiano das variáveis, ainda que não tenham ocorrido a utilização de dado imunizante. A tabela de apresentação dos dados em painel analítico é a vw_vacinas_br_04_municipio_cartesiano.
-- covid19.vw_vacinas_br_04_municipio_cartesiano source
CREATE MATERIALIZED VIEW covid19.vw_vacinas_br_04_municipio_cartesiano
TABLESPACE pg_default
AS SELECT a.co_seq_territorio,
a.co_seq_faixa_etaria,
a.qt_dose,
COALESCE(b.qt_usuario, 0::bigint) AS qt_usuario,
COALESCE(b.qt_registro, 0::numeric) AS qt_registro
FROM ( SELECT a_1.co_seq_territorio,
b_1.co_seq_faixa_etaria,
c.qt_dose
FROM bd_geral.td_territorio a_1,
( SELECT DISTINCT vw_vacinas_br_03_municipio.co_seq_faixa_etaria
FROM covid19.vw_vacinas_br_03_municipio) b_1,
( SELECT DISTINCT vw_vacinas_br_03_municipio.qt_dose
FROM covid19.vw_vacinas_br_03_municipio) c) a
LEFT JOIN covid19.vw_vacinas_br_03_municipio b
ON a.co_seq_territorio = b.co_seq_territorio
AND a.co_seq_faixa_etaria = b.co_seq_faixa_etaria
AND a.qt_dose = b.qt_dose
WITH DATA;
Método de apresentação de dados
Foi elaborado painelTableau
para navegação pelas categorias de análise.
Método de análise matemática e estatística
Exemplos de código-fonte e respectiva explicação deve ser detalhado, citando a ferramenta, como projeto R
, python
, matlab
, scilab
, Stata
, SPSS
, PSPP
, Epiinfo
, etc.
Método de descoberta de conhecimento em bancos de dados (KDD)
Não foi aplicado método para mineração de dados.
Base de dados
Não estão disponíveis os microdados processados pelo CONASS|CIEGES.
Apêndice
Avaliação da metodologia proposta em relação aos dados do localizaSUS
Foi realizada avaliação, em 30/01/2023, para comparação dos quantitativos divulgados pelo vacinômetro Covid-19, disponível em https://infoms.saude.gov.br/extensions/DEMAS_C19_Vacina_v2/DEMAS_C19_Vacina_v2.html#.
Foi necessário fazer engenharia reversa para atingir valores semelhantes a partir dos microdados disponibilizados via openDataSUS.

Categoria e número de doses
Os totais reportados no sítio do Ministério da Saúde Foram:
- Total de Doses Aplicadas: 501.587.151
- 1ª Dose: 181.921.290
- 2ª Dose: 164.503.069
- Dose Única: 5.038.961
- Dose Reforço: 103.562.746
- 2ª Dose Reforço: 41.569.758
- Dose Adicional: 4.991.327
Entretanto, os registros disponíveis via openDataSUS em 24/01/2023 foram 507.865.487. Não havendo marcação de exclusão lógica nos microdados, nem tendo sido localizada nota técnica detalhando o percurso metodológico para higienização, as comparações foram realizadas considerando todos o total de 507.865.487 registros. O método de cálculo da idade também não é explicitado, sobretudo algo crítico para a faixa-etária "6 meses a 2 anos".
Importante salientar que o vacinômetro aborda o número de registros e não o número de usuários. Salienta-se que cada gráfico do vacinômetro possibilita baixar os respectivos dados agregados, como mostrado na tabela a seguir.
no_faixa | 1ª Dose | 2ª Dose | 2ª Dose Reforço | Dose Adicional | Dose Reforço | Dose Única | Total geral |
01|6 meses a 2 anos | 215.961 | 67.011 | 307 | 81 | 778 | 62 | 284.200 |
02|3 a 4 anos | 1.402.322 | 646.183 | 1.099 | 164 | 1.493 | 139 | 2.051.400 |
03|5 a 11 anos | 14.835.321 | 10.698.495 | 5.940 | 2.727 | 142.746 | 1.050 | 25.686.279 |
04|12 a 17 anos | 16.840.124 | 14.311.611 | 56.203 | 199.962 | 5.188.701 | 5.097 | 36.601.698 |
05|18 a 19 anos | 5.920.622 | 5.189.346 | 383.044 | 114.637 | 2.676.761 | 85.550 | 14.369.960 |
06|20 a 24 anos | 15.548.057 | 13.692.070 | 1.335.058 | 313.102 | 7.173.122 | 263.178 | 38.324.587 |
07|25 a 29 anos | 15.553.978 | 14.001.009 | 1.677.688 | 353.666 | 7.930.407 | 319.492 | 39.836.240 |
08|30 a 34 anos | 15.357.221 | 14.062.879 | 2.250.185 | 393.054 | 8.631.731 | 472.285 | 41.167.355 |
09|35 a 39 anos | 15.293.282 | 14.080.332 | 2.842.458 | 455.474 | 9.565.254 | 1.124.889 | 43.361.689 |
10|40 a 44 anos | 14.093.877 | 13.253.056 | 4.143.201 | 517.075 | 9.965.541 | 1.348.292 | 43.321.042 |
11|45 a 49 anos | 12.615.055 | 11.964.900 | 3.975.369 | 471.360 | 9.012.031 | 813.753 | 38.852.468 |
12|50 a 54 anos | 11.976.355 | 11.402.177 | 4.269.268 | 463.886 | 8.615.920 | 352.465 | 37.080.071 |
13|55 a 59 anos | 11.194.318 | 10.812.431 | 4.503.689 | 472.540 | 8.455.191 | 164.709 | 35.602.878 |
14|60 a 64 anos | 9.617.539 | 9.404.565 | 4.546.357 | 364.152 | 7.768.427 | 40.123 | 31.741.163 |
15|65 a 69 anos | 7.525.266 | 7.487.973 | 3.988.934 | 291.252 | 6.487.420 | 20.836 | 25.801.681 |
16|70 a 74 anos | 5.485.153 | 5.420.609 | 3.138.752 | 224.418 | 4.906.500 | 11.558 | 19.186.990 |
17|75 a 79 anos | 3.651.261 | 3.555.705 | 2.057.552 | 152.287 | 3.247.951 | 6.984 | 12.671.740 |
18|≥80 anos | 4.795.578 | 4.452.717 | 2.394.654 | 201.490 | 3.792.772 | 8.499 | 15.645.710 |
Total geral | 181.921.290 | 164.503.069 | 41.569.758 | 4.991.327 | 103.562.746 | 5.038.961 | 501.587.151 |
Entretanto, as categorias disponíveis no vacinômetro não sãos as mesmas disponíveis no opendatasus. Não foi identificado o critério de transposição das categorias.
sg_uf | NI | 1ª Dose | 1ª Dose
Revacinação |
1º Reforço | 2ª Dose | 2ª Dose Revacinação | 2º Reforço | 3ª Dose | 3ª Dose Revacinação | 3º Reforço | 4ª Dose | 4ª Dose
Revacinação |
4º
Reforço |
5ª
Dose |
6º
Reforço |
Dose | DoseAdicional | DoseInicial | Reforço | Revacinação | Tratamento com
dezessete doses |
Tratamento com
doze doses |
Tratamento com duas
doses |
Tratamento
com quatro doses |
Tratamento com uma
dose |
Única | Total geral |
NI | 2.040 | 2.975 | 1.478 | 11 | 123 | 6.743 | 13.370 | ||||||||||||||||||||
AC | 1 | 687.968 | 784 | 575.970 | 657 | 87.521 | 1 | 398 | 1.239 | 627 | 13.686 | 22.667 | 289.772 | 607 | 1.681.898 | ||||||||||||
AL | 9 | 2.638.575 | 302 | 1 | 2.297.721 | 426 | 426.139 | 4 | 366 | 2.531 | 572 | 56.031 | 11.671 | 1 | 1.258.758 | 250 | 6.693.357 | ||||||||||
AM | 3.287.621 | 2.028 | 17 | 2.792.882 | 1.182 | 226.781 | 853.115 | 1.601 | 2.128 | 438.672 | 2.088 | 1.552 | 32.114 | 21.651 | 2 | 770.839 | 464 | 26.184 | 8.460.921 | ||||||||
AP | 613.573 | 571 | 496.827 | 437 | 63.543 | 190 | 784 | 136 | 11.346 | 26.528 | 241.981 | 755 | 1.456.671 | ||||||||||||||
BA | 818 | 12.519.446 | 12.594 | 1.461 | 11.041.366 | 24.286 | 3.092.528 | 80.135 | 13.834 | 45.809 | 15 | 26.705 | 285.676 | 457.997 | 64 | 7.062.402 | 6.942 | 1 | 1.556 | 34.673.635 | |||||||
CE | 4 | 8.144.542 | 3.615 | 194.471 | 7.042.738 | 8.579 | 2.080.712 | 58 | 3.290 | 114.795 | 114 | 8.656 | 4.458 | 26.161 | 239.783 | 5 | 4.498.631 | 4.077 | 140.224 | 22.514.913 | |||||||
DF | 11 | 2.535.573 | 2.007 | 2 | 2.363.361 | 2.427 | 624.204 | 28 | 1.058 | 6.145 | 10 | 1.100 | 65.609 | 63.705 | 2 | 1.448.253 | 459 | 395 | 7.114.349 | ||||||||
ES | 3.460.243 | 14 | 23 | 3.080.041 | 11 | 946.267 | 10 | 4 | 22.474 | 248.595 | 1 | 90.073 | 88.296 | 1.870.439 | 22.230 | 9.828.721 | |||||||||||
GO | 96 | 5.917.326 | 5.630 | 2 | 5.174.942 | 7.532 | 1.062.395 | 8 | 4.681 | 15.774 | 7.753 | 1 | 165.815 | 206.406 | 6 | 2.789.242 | 2.436 | 15.360.045 | |||||||||
MA | 719 | 5.203.041 | 2.519 | 3 | 4.359.545 | 2.703 | 764.228 | 13 | 3.825 | 34.418 | 6 | 5.026 | 125.236 | 143.886 | 2 | 2.142.482 | 1.164 | 12.788.816 | |||||||||
MG | 213 | 18.287.170 | 21.072 | 341 | 16.778.208 | 25.405 | 4.126.795 | 516 | 13.547 | 55.478 | 62 | 19.118 | 488.920 | 918.591 | 44 | 10.846.992 | 5.522 | 1 | 35.655 | 51.623.650 | |||||||
MS | 36 | 2.280.388 | 2.092 | 1 | 2.017.906 | 1.888 | 199.567 | 438.053 | 1.718 | 5.573 | 159.332 | 2.203 | 26 | 187.675 | 85.420 | 822.396 | 750 | 1 | 6.205.025 | ||||||||
MT | 653 | 2.845.727 | 4.658 | 83 | 2.439.219 | 4.420 | 344.617 | 6.882 | 3.929 | 10.325 | 1.089 | 5.778 | 100.579 | 112.278 | 4 | 1.123.957 | 1.107 | 3.077 | 7.008.382 | ||||||||
PA | 447 | 6.348.319 | 5.781 | 3 | 5.288.086 | 6.163 | 646.284 | 390 | 5.072 | 35.774 | 849 | 5.603 | 1 | 148.119 | 229.278 | 5 | 2.351.012 | 2.721 | 1 | 1 | 15.073.909 | ||||||
PB | 7 | 3.492.138 | 2.115 | 3.189.428 | 4.522 | 679.026 | 5 | 1.468 | 3.778 | 72 | 2.774 | 46.991 | 58.385 | 1.062 | 1.998.331 | 607 | 86 | 9.480.795 | |||||||||
PE | 1.563 | 8.299.363 | 6.257 | 3 | 7.338.814 | 6.896 | 1.539.602 | 213.863 | 4.345 | 267.469 | 8 | 5.148 | 115.486 | 1 | 141.507 | 140.858 | 7 | 4.373.173 | 1.373 | 22.455.736 | |||||||
PI | 2.963.892 | 1.406 | 1 | 2.722.053 | 3.079 | 989.367 | 57 | 473 | 5.342 | 7 | 1.799 | 56.526 | 40.129 | 11 | 1.930.384 | 265 | 8.714.791 | ||||||||||
PR | 199 | 10.233.654 | 13.059 | 4.047 | 9.445.996 | 22.684 | 1.698.683 | 182.360 | 5.172 | 16.309 | 38.088 | 12.025 | 199 | 1 | 316.254 | 455.408 | 1 | 6.387.718 | 3.754 | 1 | 22.792 | 28.858.404 | |||||
RJ | 551 | 14.611.462 | 14.509 | 35 | 13.292.179 | 21.021 | 3.729.340 | 1.090 | 11.336 | 52.862 | 243 | 19.854 | 396.758 | 400.206 | 28 | 8.146.706 | 3.375 | 1 | 5.587 | 40.707.143 | |||||||
RN | 5 | 2.957.399 | 19 | 13 | 2.651.473 | 11 | 849.083 | 25 | 129.945 | 199.012 | 13 | 1 | 6.502 | 162.884 | 8 | 1.729.944 | 61.419 | 8.747.756 | |||||||||
RO | 9 | 1.324.834 | 1.384 | 1.129.545 | 1.241 | 161.815 | 15.454 | 897 | 2.516 | 1.745 | 33.923 | 48.156 | 502.080 | 858 | 3.224.457 | ||||||||||||
RR | 464.446 | 1.194 | 352.676 | 557 | 31.900 | 2 | 804 | 776 | 762 | 12.859 | 9.921 | 133.199 | 342 | 1.009.438 | |||||||||||||
RS | 361 | 9.845.103 | 5.618 | 1.415 | 9.109.486 | 16.571 | 2.461.361 | 4.439 | 5.185 | 15.083 | 32 | 11.734 | 309.395 | 268.237 | 3 | 5.828.498 | 2.220 | 1 | 2.798 | 27.887.540 | |||||||
SC | 39 | 6.286.968 | 3.437 | 31.969 | 5.734.205 | 5.036 | 999.884 | 14.766 | 1.481 | 10.344 | 2 | 2.920 | 251.606 | 99.898 | 1 | 3.036.948 | 1.510 | 2.504 | 16.483.518 | ||||||||
SE | 6 | 1.979.395 | 1.025 | 1.777.562 | 509 | 560.068 | 24 | 450 | 18.138 | 2 | 809 | 42.681 | 25.857 | 1.138.767 | 455 | 5.545.748 | |||||||||||
SP | 1 | 44.798.101 | 57 | 12 | 41.229.837 | 86 | 13.294.298 | 3.796 | 5 | 14.351 | 1.042 | 2 | 89 | 1.275.785 | 583.372 | 395 | 30.214.116 | 10 | 1 | 13 | 23.719 | 131.439.088 | |||||
TO | 42 | 1.175.849 | 1.787 | 1 | 993.853 | 1.703 | 125.065 | 1 | 819 | 2.499 | 987 | 32.025 | 25.947 | 1 | 452.149 | 683 | 2.813.411 | ||||||||||
Total geral | 5790 | 183.204.156 | 115.534 | 233904 | 164.718.894 | 170.032 | 41.812.551 | 1.815.095 | 85948 | 892.659 | 1.087.252 | 145.925 | 115499 | 6.328 | 1 | 4.719.863 | 4.947.538 | 1652 | 103.395.912 | 42696 | 1 | 1 | 12 | 1 | 15 | 348.228 | 507.865.487 |
Foi realizada uma engenharia reversa arbitrária da variável vacina_descricao_dose do opendatasus para as mesmas categorias do vacinômetro, minimizando a diferença das frequências totais,
obtendo-se os valores a seguir:
faixa_etaria_localizasus | ? | 1a Dose | 2a Dose | 2a Dose Reforco | Dose Adicional | Dose Reforco | Dose Única | Total geral |
Sem informação | 1.283 | 9.563.692 | 8.466.904 | 1.047.546 | 245.276 | 4.887.049 | 193.110 | 24.404.860 |
00|0 a 6 meses | 549 | 274 | 56 | 22 | 132 | 7 | 1.040 | |
01|6 meses a 2 anos | 1 | 108.419 | 29.828 | 135 | 44 | 363 | 23 | 138.813 |
02|3 a 4 anos | 6 | 1.369.224 | 618.440 | 1.137 | 207 | 1.532 | 145 | 1.990.691 |
03|5 a 11 anos | 18 | 14.416.820 | 10.635.572 | 6.104 | 2.881 | 116.294 | 947 | 25.178.636 |
04|12 a 17 anos | 63 | 17.675.331 | 14.502.519 | 56.748 | 214.114 | 5.321.052 | 4.949 | 37.774.776 |
05|18 a 19 anos | 95 | 5.986.365 | 5.208.932 | 386.934 | 133.215 | 2.742.419 | 85.729 | 14.543.689 |
06|20 a 24 anos | 1.492 | 15.684.802 | 13.713.301 | 1.354.367 | 362.008 | 7.328.417 | 263.791 | 38.708.178 |
07|25 a 29 anos | 834 | 6.434.515 | 5.714.409 | 658.496 | 159.459 | 3.221.466 | 127.425 | 16.316.604 |
08|30 a 34 anos | 2.273 | 15.455.097 | 14.117.055 | 2.276.970 | 452.060 | 8.802.966 | 475.059 | 41.581.480 |
09|35 a 39 anos | 2.645 | 15.442.198 | 14.130.422 | 2.877.605 | 522.955 | 9.750.778 | 1.135.590 | 43.862.193 |
10|40 a 44 anos | 4.889 | 14.197.729 | 13.312.703 | 4.199.071 | 609.997 | 10.163.292 | 1.356.542 | 43.844.223 |
11|45 a 49 anos | 4.499 | 12.696.541 | 12.026.172 | 4.033.275 | 550.086 | 9.187.870 | 819.132 | 39.317.575 |
12|50 a 54 anos | 11.706 | 12.037.168 | 11.456.847 | 4.356.921 | 531.793 | 8.770.065 | 353.415 | 37.517.915 |
13|55 a 59 anos | 13.527 | 11.246.608 | 10.859.877 | 4.606.084 | 536.580 | 8.594.857 | 165.272 | 36.022.805 |
14|60 a 64 anos | 21.164 | 9.669.711 | 9.428.061 | 4.817.327 | 436.122 | 7.880.695 | 39.903 | 32.292.983 |
15|65 a 69 anos | 18.506 | 7.555.357 | 7.509.838 | 4.260.111 | 353.246 | 6.597.982 | 20.703 | 26.315.743 |
16|70 a 74 anos | 14.886 | 5.501.700 | 5.433.927 | 3.355.269 | 278.476 | 5.008.491 | 11.495 | 19.604.244 |
17|75 a 79 anos | 9.698 | 3.663.434 | 3.565.713 | 2.196.168 | 187.454 | 3.310.414 | 6.891 | 12.939.772 |
18|≥80 anos | 13.720 | 4.500.548 | 4.316.362 | 2.555.404 | 270.530 | 3.844.725 | 7.978 | 15.509.267 |
Total geral | 121.305 | 183.205.808 | 165.047.156 | 43.045.728 | 5.846.525 | 105.530.859 | 5.068.106 | 507.865.487 |
faixa etária | ? | 1a Dose | 2a Dose | 2a Dose Reforco | Dose Adicional | Dose Reforco | Dose Única | Total geral |
não informado | 0 | 209.233 | 121.827 | 2.956 | 151 | 6.430 | 278 | 340.875 |
0 a 6 meses | 0 | 549 | 274 | 56 | 22 | 132 | 7 | 1.040 |
acima de 6 meses a 2 anos | 1 | 108.419 | 29.828 | 135 | 44 | 363 | 23 | 138.813 |
3 a 4 anos | 3 | 745.157 | 297.229 | 540 | 113 | 954 | 74 | 1.044.070 |
5 a 11 anos | 21 | 13.009.136 | 9.315.186 | 5.759 | 2.241 | 92.888 | 862 | 22.426.093 |
12 a 17 anos | 52 | 16.868.489 | 13.722.363 | 45.666 | 177.350 | 4.438.959 | 3.391 | 35.256.270 |
18 a 39 anos | 7.982 | 67.985.007 | 60.690.190 | 7.971.017 | 1.794.930 | 35.503.085 | 1.975.068 | 175.927.279 |
40 a 59 anos | 32.357 | 51.227.587 | 48.504.763 | 16.880.984 | 2.236.824 | 37.127.468 | 2.976.272 | 158.986.255 |
60 a 69 anos | 39.098 | 17.986.217 | 17.650.871 | 9.218.894 | 832.041 | 14.931.935 | 82.398 | 60.741.454 |
70 a 79 anos | 26.355 | 9.944.122 | 9.787.287 | 5.977.423 | 499.049 | 8.994.483 | 20.584 | 35.249.303 |
80 anos ou mais | 15.436 | 5.121.892 | 4.927.338 | 2.942.298 | 303.760 | 4.434.162 | 9.149 | 17.754.035 |
Total | 121.305 | 183.205.808 | 165.047.156 | 43.045.728 | 5.846.525 | 105.530.859 | 5.068.106 | 507.865.487 |
Avaliando as categorias do localizasus com a sucessão cronológica relativa à variável vacina_dataaplicacao, obteve-se o resultado a seguir.
As colunas relativa ao CIEGES apresentam dados com a higienização, sendo desconsideradas doses subsequentes no mesmo dia e doses que não respeitaram o intervalo preconizado.
nu dose | nu dose | registros | imunizacaoCIEGES | registros 80anos localizasus | st imunizacao 80anos localizasus | registros 80anosopedatasus | st imunizacao
80anos CIEGES |
registros
80anos opendatasus |
st imunizacao
80anos CIEGES |
1 | 1a Dose | 181.984.676 | 179.059.970 | 4.438.112 | 4.359.654 | 4.438.113 | 4.359.655 | 5.614.400 | 5.521.867 |
1 | Dose Única | 4.948.418 | 4.834.199 | 4.849 | 4.726 | 4.849 | 4.726 | 5.864 | 5.725 |
1 | 2a Dose | 3.522.274 | 3.405.654 | 123.219 | 116.031 | 123.219 | 116.031 | 150.760 | 141.923 |
1 | Dose Reforco | 912.079 | 899.360 | 36.360 | 36.026 | 36.360 | 36.026 | 41.431 | 41.048 |
2 | 2a Dose | 160.016.442 | 147.683.466 | 4.105.432 | 3.020.341 | 4.105.432 | 3.020.341 | 5.150.121 | 3.664.364 |
2 | Dose Reforco | 7.185.311 | 7.086.523 | 182.489 | 180.528 | 182.489 | 180.528 | 210.100 | 207.793 |
2 | 1a Dose | 758.695 | 372.269 | 47.936 | 16.768 | 47.936 | 16.768 | 56.839 | 19.061 |
2 | Dose Adicional | 557.973 | 537.757 | 10.515 | 10.252 | 10.515 | 10.252 | 11.818 | 11.513 |
2 | 2a Dose Reforco | 457.510 | 447.102 | 30.542 | 29.836 | 30.542 | 29.836 | 32.683 | 31.910 |
3 | Dose Reforco | 93.517.867 | 92.255.975 | 3.356.317 | 3.330.090 | 3.356.317 | 3.330.090 | 3.965.157 | 3.934.442 |
3 | 2a Dose Reforco | 3.944.471 | 3.826.385 | 251.102 | 239.841 | 251.102 | 239.841 | 270.418 | 258.141 |
3 | Dose Adicional | 3.909.502 | 3.550.767 | 108.463 | 105.216 | 108.463 | 105.216 | 125.942 | 122.111 |
3 | 2a Dose | 1.063.313 | 469.614 | 76.565 | 36.191 | 76.565 | 36.191 | 91.047 | 41.870 |
4 | 2a Dose Reforco | 38.039.147 | 37.131.994 | 2.217.881 | 2.125.311 | 2.217.881 | 2.125.311 | 2.445.731 | 2.343.224 |
4 | Dose Reforco | 3.791.476 | 3.221.814 | 256.815 | 217.291 | 256.815 | 217.291 | 284.328 | 240.768 |
4 | Dose Adicional | 1.060.429 | 996.224 | 97.476 | 92.987 | 97.476 | 92.987 | 105.078 | 100.123 |
4 | 2a Dose | 309.563 | 238.028 | 10.048 | 6.217 | 10.048 | 6.217 | 11.451 | 6.841 |
5 | 2a Dose Reforco | 419.267 | 341.061 | 40.077 | 32.515 | 40.077 | 32.515 | 42.517 | 34.411 |
5 | Dose Adicional | 233.043 | 222.507 | 49.754 | 48.501 | 49.754 | 48.501 | 50.424 | 49.069 |
outro | outro | 1.234.031 | 667.058 | 65.314 | 49.401 | 65.314 | 49.401 | 74.089 | 54.386 |
Total | 507.865.487 | 487.247.727 | 15.509.266 | 14.057.723 | 15.509.267 | 14.057.724 | 18.740.198 | 16.830.590 |
Transição demográfica
A coorte concorrente avalia o status de imunização na data da última extração. Logo, é esperada a transição de usuários para as faixas de idade mais elevadas, conforme demonstrado na tabela abaixo.
início (primeira dose) | faixa | idade em 31/01/2023 | diferença | % |
890 | 01 00d06m | 136 | -754 | -554,4% |
109.328 | 02 06m02a | 109.830 | 502 | 0,5% |
1.392.661 | 03 03a04a | 1.136.335 | -256.326 | -22,6% |
14.508.616 | 04 05a11a | 12.866.817 | -1.641.799 | -12,8% |
16.973.739 | 05 12a17a | 15.537.786 | -1.435.953 | -9,2% |
70.611.101 | 06 18a39a | 69.017.652 | -1.593.449 | -2,3% |
53.248.955 | 07 40a59a | 54.883.229 | 1.634.274 | 3,0% |
16.889.544 | 08 60a69 | 18.473.031 | 1.583.487 | 8,6% |
9.626.542 | 09 70a79 | 10.596.290 | 969.748 | 9,2% |
4.988.734 | 10 80+ | 5.729.004 | 740.270 | 12,9% |
188.350.110 | total | 188.350.110 | 0 | 0,0% |
Ver também
Ligações externas
- Caderno Verde de indicadores básicos para a saúde no Brasil (IDB)
- Fichas de Qualificação da RIPSA – 2012
Rastreabilidade
atributo | valor |
---|---|
Identificador | |
Código RIPSA | |
Nome RIPSA | |
URL RIPSA | |
tabela CIEGES |