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 |