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_nomepara 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 |