diff --git a/models/br_ms_sinan/br_ms_sinan__dicionario.sql b/models/br_ms_sinan/br_ms_sinan__dicionario.sql index 87177e4b..3c3cb2a6 100644 --- a/models/br_ms_sinan/br_ms_sinan__dicionario.sql +++ b/models/br_ms_sinan/br_ms_sinan__dicionario.sql @@ -1,8 +1,13 @@ -{{ config(alias="dicionario", schema="br_ms_sinan") }} +{{ + config( + alias="dicionario", + schema="br_ms_sinan", + ) +}} select safe_cast(id_tabela as string) id_tabela, safe_cast(coluna as string) nome_coluna, safe_cast(chave as string) chave, - safe_cast(cobertura_temporal as string) cobertura_temporal, - safe_cast(valor as string) valor, -from `basedosdados-staging.br_ms_sinan_staging.dicionario` as t + safe_cast(replace(cobertura_temporal, '-1', '(1)') as string) cobertura_temporal, + safe_cast(valor as string) valor +from `basedosdados-dev.br_ms_sinan_staging.dicionario` as t diff --git a/models/br_ms_sinan/br_ms_sinan__microdados_dengue.sql b/models/br_ms_sinan/br_ms_sinan__microdados_dengue.sql new file mode 100644 index 00000000..02c94347 --- /dev/null +++ b/models/br_ms_sinan/br_ms_sinan__microdados_dengue.sql @@ -0,0 +1,1012 @@ +{{ + config( + alias="microdados_dengue", + schema="br_ms_sinan", + materialized="table", + partition_by={ + "field": "ano", + "data_type": "int64", + "range": {"start": 2000, "end": 2025, "interval": 1}, + }, + cluster_by=["sigla_uf_notificacao", "sigla_uf_residencia"], + labels={"project_id": "basedosdados"}, + ) +}} +{%- set columns = adapter.get_columns_in_relation(this) -%} +with + sql as ( + select + safe_cast(ano as int64) ano, + safe_cast(tp_not as string) tipo_notificacao, + case + when id_agravo = 'A900' + then 'A90' + when id_agravo = 'A90 ' + then 'A90' + else trim(id_agravo) + end id_agravo, + case + when dt_notific = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_notific, r'[^0-9]', '') + ) + ) as date + ) + end data_notificacao, + + safe_cast(sem_not as int64) semana_notificacao, + case + when sigla_uf_notificacao = '11' + then 'RO' + when sigla_uf_notificacao = '12' + then 'AC' + when sigla_uf_notificacao = '13' + then 'AM' + when sigla_uf_notificacao = '14' + then 'RR' + when sigla_uf_notificacao = '15' + then 'PA' + when sigla_uf_notificacao = '16' + then 'AP' + when sigla_uf_notificacao = '17' + then 'TO' + when sigla_uf_notificacao = '21' + then 'MA' + when sigla_uf_notificacao = '22' + then 'PI' + when sigla_uf_notificacao = '23' + then 'CE' + when sigla_uf_notificacao = '24' + then 'RN' + when sigla_uf_notificacao = '25' + then 'PB' + when sigla_uf_notificacao = '26' + then 'PE' + when sigla_uf_notificacao = '27' + then 'AL' + when sigla_uf_notificacao = '28' + then 'SE' + when sigla_uf_notificacao = '29' + then 'BA' + when sigla_uf_notificacao = '31' + then 'MG' + when sigla_uf_notificacao = '32' + then 'ES' + when sigla_uf_notificacao = '33' + then 'RJ' + when sigla_uf_notificacao = '35' + then 'SP' + when sigla_uf_notificacao = '41' + then 'PR' + when sigla_uf_notificacao = '42' + then 'SC' + when sigla_uf_notificacao = '43' + then 'RS' + when sigla_uf_notificacao = '50' + then 'MS' + when sigla_uf_notificacao = '51' + then 'MT' + when sigla_uf_notificacao = '52' + then 'GO' + when sigla_uf_notificacao = '53' + then 'DF' + when sigla_uf_notificacao = '"s' + then null + else sigla_uf_notificacao + end sigla_uf_notificacao, + case + when id_regiona = '' then null else id_regiona + end id_regional_saude_notificacao, + case + when id_municip = '' then null else id_municip + end id_municipio_notificacao, + case when id_unidade = '' then null else id_unidade end id_estabelecimento, + case + when dt_sin_pri = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_sin_pri, r'[^0-9]', '') + ) + ) as date + ) + end data_primeiros_sintomas, + + safe_cast(sem_pri as int64) semana_sintomas, + safe_cast(id_pais as string) pais_residencia, + case + when sg_uf = '11' + then 'RO' + when sg_uf = '12' + then 'AC' + when sg_uf = '13' + then 'AM' + when sg_uf = '14' + then 'RR' + when sg_uf = '15' + then 'PA' + when sg_uf = '16' + then 'AP' + when sg_uf = '17' + then 'TO' + when sg_uf = '21' + then 'MA' + when sg_uf = '22' + then 'PI' + when sg_uf = '23' + then 'CE' + when sg_uf = '24' + then 'RN' + when sg_uf = '25' + then 'PB' + when sg_uf = '26' + then 'PE' + when sg_uf = '27' + then 'AL' + when sg_uf = '28' + then 'SE' + when sg_uf = '29' + then 'BA' + when sg_uf = '31' + then 'MG' + when sg_uf = '32' + then 'ES' + when sg_uf = '33' + then 'RJ' + when sg_uf = '35' + then 'SP' + when sg_uf = '41' + then 'PR' + when sg_uf = '42' + then 'SC' + when sg_uf = '43' + then 'RS' + when sg_uf = '50' + then 'MS' + when sg_uf = '51' + then 'MT' + when sg_uf = '52' + then 'GO' + when sg_uf = '53' + then 'DF' + when sg_uf = '1 ' + then null + when sg_uf = '07' + then null + when sg_uf = '00' + then null + when sg_uf = 'MH' + then null + when sg_uf = 'NG' + then null + when sg_uf = '2 ' + then null + when sg_uf = '61' + then null + when sg_uf = 'F ' + then null + when sg_uf = 'MF' + then null + else sg_uf + end sigla_uf_residencia, + safe_cast(id_rg_resi as string) id_regional_saude_residencia, + safe_cast(id_mn_resi as string) id_municipio_residencia, + safe_cast(ano_nasc as int64) ano_nascimento_paciente, + + case + when dt_nasc = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_nasc, r'[^0-9]', '') + ) + ) as date + ) + end data_nascimento_paciente, + + safe_cast(nu_idade_n as int64) idade_paciente, + safe_cast(cs_sexo as string) sexo_paciente, + case + when cs_raca = '@' then null when cs_raca = '' then null else cs_raca + end raca_cor_paciente, + case + when cs_escol_n = '0' + then null + else trim(regexp_replace(cs_escol_n, r'^0+', '')) + end escolaridade_paciente, + safe_cast(id_ocupa_n as string) ocupacao_paciente, + safe_cast(cs_gestant as string) gestante_paciente, + safe_cast(auto_imune as string) possui_doenca_autoimune, + safe_cast(diabetes as string) possui_diabetes, + safe_cast(hematolog as string) possui_doencas_hematologicas, + safe_cast(hepatopat as string) possui_hepatopatias, + safe_cast(renal as string) possui_doenca_renal, + safe_cast(hipertensa as string) possui_hipertensao, + safe_cast(acido_pept as string) possui_doenca_acido_peptica, + safe_cast(vacinado as string) paciente_vacinado, + + case + when dt_dose = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_dose, r'[^0-9]', '') + ) + ) as date + ) + end data_vacina, + + case + when dt_invest = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_invest, r'[^0-9]', '') + ) + ) as date + ) + end data_investigacao, + safe_cast(febre as string) as apresenta_febre, + case + when dt_febre = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_febre, r'[^0-9]', '') + ) + ) as date + ) + end data_febre, + safe_cast(duracao as string) duracao_febre, + safe_cast(cefaleia as string) apresenta_cefaleia, + safe_cast(exantema as string) apresenta_exantema, + safe_cast(dor_costas as string) apresenta_dor_costas, + safe_cast(prostacao as string) apresenta_prostacao, + safe_cast(mialgia as string) apresenta_mialgia, + safe_cast(vomito as string) apresenta_vomito, + safe_cast(nauseas as string) apresenta_nausea, + safe_cast(diarreia as string) apresenta_diarreia, + safe_cast(conjuntvit as string) apresenta_conjutivite, + safe_cast(dor_retro as string) apresenta_dor_retroorbital, + safe_cast(artralgia as string) apresenta_artralgia, + safe_cast(artrite as string) apresenta_artrite, + safe_cast(leucopenia as string) apresenta_leucopenia, + safe_cast(epistaxe as string) apresenta_epistaxe, + safe_cast(petequia_n as string) apresenta_petequias, + safe_cast(gengivo as string) apresenta_gengivorragia, + safe_cast(metro as string) apresenta_metrorragia, + safe_cast(hematura as string) apresenta_hematuria, + safe_cast(sangram as string) apresenta_sangramento, + safe_cast(complica as string) apresenta_complicacao, + safe_cast(ascite as string) apresenta_ascite, + safe_cast(pleural as string) apresenta_pleurite, + safe_cast(pericardi as string) apresenta_pericardite, + safe_cast(abdominal as string) apresenta_dor_abdominal, + safe_cast(hepato as string) apresenta_hepatomegalia, + safe_cast(miocardi as string) apresenta_miocardite, + safe_cast(hipotensao as string) apresenta_hipotensao, + safe_cast(choque as string) apresenta_choque, + safe_cast(insuficien as string) apresenta_insuficiencia_orgao, + safe_cast(outros as string) apresenta_sintoma_outro, + safe_cast(sin_out as string) apresenta_qual_sintoma, + safe_cast(laco_n as string) prova_laco, + safe_cast(hospitaliz as string) internacao, + case + when dt_interna = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_interna, r'[^0-9]', '') + ) + ) as date + ) + end data_internacao, + + case + when uf = '11' + then 'RO' + when uf = '12' + then 'AC' + when uf = '13' + then 'AM' + when uf = '14' + then 'RR' + when uf = '15' + then 'PA' + when uf = '16' + then 'AP' + when uf = '17' + then 'TO' + when uf = '21' + then 'MA' + when uf = '22' + then 'PI' + when uf = '23' + then 'CE' + when uf = '24' + then 'RN' + when uf = '25' + then 'PB' + when uf = '26' + then 'PE' + when uf = '27' + then 'AL' + when uf = '28' + then 'SE' + when uf = '29' + then 'BA' + when uf = '31' + then 'MG' + when uf = '32' + then 'ES' + when uf = '33' + then 'RJ' + when uf = '35' + then 'SP' + when uf = '41' + then 'PR' + when uf = '42' + then 'SC' + when uf = '43' + then 'RS' + when uf = '50' + then 'MS' + when uf = '51' + then 'MT' + when uf = '52' + then 'GO' + when uf = '53' + then 'DF' + when uf = '`' + then null + when uf = ' `' + then null + else uf + end sigla_uf_internacao, + case + when municipio = '280020' then null else municipio + end id_municipio_internacao, + safe_cast(alrm_hipot as string) alarme_hipotensao, + safe_cast(alrm_plaq as string) alarme_plaqueta, + safe_cast(alrm_vom as string) alarme_vomito, + safe_cast(alrm_sang as string) alarme_sangramento, + safe_cast(alrm_hemat as string) alarme_hematocrito, + safe_cast(alrm_abdom as string) alarme_dor_abdominal, + safe_cast(alrm_letar as string) alarme_letargia, + safe_cast(alrm_hepat as string) alarme_hepatomegalia, + safe_cast(alrm_liq as string) alarme_liquidos, + case + when dt_alrm = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_alrm, r'[^0-9]', '') + ) + ) as date + ) + end data_alarme, + + safe_cast(grav_pulso as string) grave_pulso, + safe_cast(grav_conv as string) grave_convulsao, + safe_cast(grav_ench as string) grave_enchimento_capilar, + safe_cast(grav_insuf as string) grave_insuficiencia_respiratoria, + safe_cast(grav_taqui as string) grave_taquicardia, + safe_cast(grav_extre as string) grave_extremidade_fria, + safe_cast(grav_hipot as string) grave_hipotensao, + safe_cast(grav_hemat as string) grave_hematemese, + safe_cast(grav_melen as string) grave_melena, + safe_cast(grav_metro as string) grave_metrorragia, + safe_cast(grav_sang as string) grave_sangramento, + safe_cast(grav_ast as string) grave_ast_alt, + safe_cast(grav_mioc as string) grave_miocardite, + safe_cast(grav_consc as string) grave_consciencia, + safe_cast(grav_orgao as string) grave_orgaos, + case + when dt_col_hem = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_col_hem, r'[^0-9]', '') + ) + ) as date + ) + end data_hematocrito, + + safe_cast(hema_maior as string) hematocrito_maior, + + case + when dt_col_plq = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_col_plq, r'[^0-9]', '') + ) + ) as date + ) + end data_plaquetas, + + safe_cast(palq_maior as string) plaqueta_maior, + + case + when dt_col_he2 = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_col_he2, r'[^0-9]', '') + ) + ) as date + ) + end data_hematocrito_2, + + safe_cast(hema_menor as string) hematocrito_menor, + + case + when dt_col_pl2 = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_col_pl2, r'[^0-9]', '') + ) + ) as date + ) + end data_plaquetas_2, + + safe_cast(plaq_menor as string) plaqueta_menor, + + case + when dt_chik_s1 = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_chik_s1, r'[^0-9]', '') + ) + ) as date + ) + end data_sorologia1_chikungunya, + + case + when dt_soror1 = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_soror1, r'[^0-9]', '') + ) + ) as date + ) + end data_resultado_sorologia1_chikungunya, + + safe_cast(res_chiks1 as string) resultado_sorologia1_chikungunya, + safe_cast(s1_igm as string) sorologia1_igm, + safe_cast(s1_igg as string) sorologia1_igg, + safe_cast(s1_tit1 as string) sorologia1_tit1, + safe_cast(res_chiks2 as string) resultado_sorologia2_chikungunya, + safe_cast(s2_igm as string) sorologia2_igm, + safe_cast(s2_igg as string) sorologia2_igg, + safe_cast(s2_tit1 as string) sorologia2_tit1, + safe_cast(resul_prnt as string) resultado_prnt, + + case + when dt_ns1 = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_ns1, r'[^0-9]', '') + ) + ) as date + ) + end data_ns1, + + safe_cast(resul_ns1 as string) resultado_ns1, + + case + when dt_viral = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_viral, r'[^0-9]', '') + ) + ) as date + ) + end data_viral, + + safe_cast(resul_vi_n as string) resultado_viral, + + case + when dt_pcr = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_pcr, r'[^0-9]', '') + ) + ) as date + ) + end data_pcr, + + safe_cast(resul_pcr_ as string) resultado_pcr, + safe_cast(amos_pcr as string) amostra_pcr, + safe_cast(amos_out as string) amostra_outra, + safe_cast(tecnica as string) tecnica, + safe_cast(resul_out as string) resultado_amostra_outra, + + case + when dt_soro = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_soro, r'[^0-9]', '') + ) + ) as date + ) + end data_sorologia_dengue, + + safe_cast(resul_soro as string) resultado_sorologia_dengue, + safe_cast(sorotipo as string) sorotipo, + safe_cast(histopa_n as string) histopatologia, + safe_cast(imunoh_n as string) imunohistoquimica, + safe_cast(mani_hemor as string) manifestacao_hemorragica, + safe_cast(classi_fin as string) classificacao_final, + safe_cast(criterio as string) criterio_confirmacao, + safe_cast(con_fhd as string) caso_fhd, + safe_cast(tpautocto as string) caso_autoctone, + safe_cast(copaisinf as string) pais_infeccao, + case + when coufinf = '11' + then 'RO' + when coufinf = '12' + then 'AC' + when coufinf = '13' + then 'AM' + when coufinf = '14' + then 'RR' + when coufinf = '15' + then 'PA' + when coufinf = '16' + then 'AP' + when coufinf = '17' + then 'TO' + when coufinf = '21' + then 'MA' + when coufinf = '22' + then 'PI' + when coufinf = '23' + then 'CE' + when coufinf = '24' + then 'RN' + when coufinf = '25' + then 'PB' + when coufinf = '26' + then 'PE' + when coufinf = '27' + then 'AL' + when coufinf = '28' + then 'SE' + when coufinf = '29' + then 'BA' + when coufinf = '31' + then 'MG' + when coufinf = '32' + then 'ES' + when coufinf = '33' + then 'RJ' + when coufinf = '35' + then 'SP' + when coufinf = '41' + then 'PR' + when coufinf = '42' + then 'SC' + when coufinf = '43' + then 'RS' + when coufinf = '50' + then 'MS' + when coufinf = '51' + then 'MT' + when coufinf = '52' + then 'GO' + when coufinf = '53' + then 'DF' + else coufinf + end sigla_uf_infeccao, + case + when comuninf = ' ' then null else comuninf + end id_municipio_infeccao, + safe_cast(doenca_tra as string) doenca_trabalho, + safe_cast(clinc_chik as string) apresentacao_clinica, + case + when evolucao = ']' + then null + when evolucao = '0' + then null + else evolucao + end evolucao_caso, + case + when dt_obito = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_obito, r'[^0-9]', '') + ) + ) as date + ) + end data_obito, + + case + when dt_encerra = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_encerra, r'[^0-9]', '') + ) + ) as date + ) + end data_encerramento, + + safe_cast(tp_sistema as string) tipo_sistema, + + case + when dt_digita = '' + then null + else + safe_cast( + format_date( + '%Y-%m-%d', + safe.parse_date( + '%Y%m%d', regexp_replace(dt_digita, r'[^0-9]', '') + ) + ) as date + ) + end data_digitacao, + safe_cast(nduplic_n as string) duplicidade, + safe_cast(cs_flxret as string) fluxo_retorno, + from `basedosdados-staging.br_ms_sinan_staging.microdados_dengue` + ), + tabelas_join as ( + select + t1.*, + mun_residencia.id_municipio as novo_id_municipio_residencia, + mun_internacao.id_municipio as novo_id_municipio_internacao, + mun_infeccao.id_municipio as novo_id_municipio_infeccao, + mun_notificacao.id_municipio as novo_id_municipio_notificacao, + concat( + left(cast(semana_notificacao as string), 4), + "-", + right(cast(semana_notificacao as string), 2) + ) as semana_notificacao_certa, + concat( + left(cast(semana_sintomas as string), 4), + "-", + right(cast(semana_sintomas as string), 2) + ) as semana_sintomas_certa + from sql as t1 + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_residencia + on t1.id_municipio_residencia = mun_residencia.id_municipio_6 + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_internacao + on t1.id_municipio_internacao = mun_internacao.id_municipio_6 + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_infeccao + on t1.id_municipio_infeccao = mun_infeccao.id_municipio_6 + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_notificacao + on t1.id_municipio_notificacao = mun_notificacao.id_municipio_6 + where ano > 2006 + union all + + select + t1.*, + t1.id_municipio_residencia as novo_id_municipio_residencia, + t1.id_municipio_internacao as novo_id_municipio_internacao, + t1.id_municipio_infeccao as novo_id_municipio_infeccao, + t1.id_municipio_notificacao as novo_id_municipio_notificacao, + concat( + right(cast(semana_notificacao as string), 4), + "-", + left(cast(semana_notificacao as string), 2) + ) as semana_notificacao_certa, + concat( + right(cast(semana_sintomas as string), 4), + "-", + left(cast(semana_sintomas as string), 2) + ) as semana_sintomas_certa + from sql as t1 + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_residencia + on t1.id_municipio_residencia = mun_residencia.id_municipio + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_internacao + on t1.id_municipio_internacao = mun_internacao.id_municipio + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_infeccao + on t1.id_municipio_infeccao = mun_infeccao.id_municipio + left join + `basedosdados.br_bd_diretorios_brasil.municipio` as mun_notificacao + on t1.id_municipio_notificacao = mun_notificacao.id_municipio + where ano <= 2006 + ), + table_final as ( + select + ano, + tipo_notificacao, + id_agravo, + data_notificacao, + semana_notificacao_certa as semana_notificacao, + sigla_uf_notificacao, + id_regional_saude_notificacao, + novo_id_municipio_notificacao as id_municipio_notificacao, + id_estabelecimento, + data_primeiros_sintomas, + semana_sintomas_certa as semana_sintomas, + pais_residencia, + sigla_uf_residencia, + id_regional_saude_residencia, + novo_id_municipio_residencia as id_municipio_residencia, + ano_nascimento_paciente, + data_nascimento_paciente, + concat( + left(cast(idade_paciente as string), 1), + "-", + right(cast(idade_paciente as string), 3) + ) as idade_paciente, + case + when sexo_paciente = 'O' then null else sexo_paciente + end sexo_paciente, + raca_cor_paciente, + escolaridade_paciente, + ocupacao_paciente, + gestante_paciente, + possui_doenca_autoimune, + possui_diabetes, + possui_doencas_hematologicas, + possui_hepatopatias, + possui_doenca_renal, + possui_hipertensao, + possui_doenca_acido_peptica, + paciente_vacinado, + data_vacina, + data_investigacao, + apresenta_febre, + data_febre, + duracao_febre, + apresenta_cefaleia, + apresenta_exantema, + apresenta_dor_costas, + case + when apresenta_prostacao = '6' then null else apresenta_prostacao + end as apresenta_prostacao, + apresenta_mialgia, + apresenta_vomito, + apresenta_nausea, + apresenta_diarreia, + apresenta_conjutivite, + apresenta_dor_retroorbital, + apresenta_artralgia, + apresenta_artrite, + apresenta_leucopenia, + case + when apresenta_epistaxe = "!" + then null + when apresenta_epistaxe = '4' + then null + else apresenta_epistaxe + end apresenta_epistaxe, + case + when apresenta_petequias = '4' then null else apresenta_petequias + end as apresenta_petequias, + apresenta_gengivorragia, + case + when apresenta_metrorragia = '4' + then null + when apresenta_metrorragia = '3' + then null + else apresenta_metrorragia + end as apresenta_metrorragia, + apresenta_hematuria, + case + when apresenta_sangramento = '4' then null else apresenta_sangramento + end as apresenta_sangramento, + apresenta_complicacao, + apresenta_ascite, + apresenta_pleurite, + apresenta_pericardite, + apresenta_dor_abdominal, + apresenta_hepatomegalia, + apresenta_miocardite, + apresenta_hipotensao, + apresenta_choque, + apresenta_insuficiencia_orgao, + apresenta_sintoma_outro, + apresenta_qual_sintoma, + prova_laco, + internacao, + data_internacao, + sigla_uf_internacao, + novo_id_municipio_internacao as id_municipio_internacao, + alarme_hipotensao, + alarme_plaqueta, + alarme_vomito, + alarme_sangramento, + alarme_hematocrito, + alarme_dor_abdominal, + alarme_letargia, + alarme_hepatomegalia, + alarme_liquidos, + case + when extract(year from data_alarme) > extract(year from current_date) + then null + else data_alarme + end data_alarme, + grave_pulso, + grave_convulsao, + grave_enchimento_capilar, + grave_insuficiencia_respiratoria, + grave_taquicardia, + grave_extremidade_fria, + grave_hipotensao, + grave_hematemese, + grave_melena, + grave_metrorragia, + grave_sangramento, + grave_ast_alt, + grave_miocardite, + grave_consciencia, + grave_orgaos, + data_hematocrito, + hematocrito_maior, + case + when extract(year from data_plaquetas) > extract(year from current_date) + then null + else data_plaquetas + end data_plaquetas, + plaqueta_maior, + data_hematocrito_2, + hematocrito_menor, + data_plaquetas_2, + plaqueta_menor, + case + when + extract(year from data_sorologia1_chikungunya) + > extract(year from current_date) + then null + else data_sorologia1_chikungunya + end data_sorologia1_chikungunya, + data_resultado_sorologia1_chikungunya, + case + when resultado_sorologia1_chikungunya = "9" + then null + else resultado_sorologia1_chikungunya + end resultado_sorologia1_chikungunya, + sorologia1_igm, + sorologia1_igg, + sorologia1_tit1, + resultado_sorologia2_chikungunya, + sorologia2_igm, + sorologia2_igg, + sorologia2_tit1, + resultado_prnt, + data_ns1, + resultado_ns1, + data_viral, + case + when resultado_viral = '5' then null else resultado_viral + end resultado_viral, + data_pcr, + resultado_pcr, + amostra_pcr, + amostra_outra, + tecnica, + resultado_amostra_outra, + data_sorologia_dengue, + case + when resultado_sorologia_dengue = '"' + then null + else resultado_sorologia_dengue + end resultado_sorologia_dengue, + sorotipo, + histopatologia, + imunohistoquimica, + manifestacao_hemorragica, + classificacao_final, + case + when criterio_confirmacao = 'r' then null else criterio_confirmacao + end criterio_confirmacao, + caso_fhd, + caso_autoctone, + pais_infeccao, + sigla_uf_infeccao, + novo_id_municipio_infeccao as id_municipio_infeccao, + doenca_trabalho, + apresentacao_clinica, + evolucao_caso, + case + when extract(year from data_obito) > extract(year from current_date) + then null + else data_obito + end data_obito, + case + when + extract(year from data_encerramento) + > extract(year from current_date) + then null + else data_encerramento + end data_encerramento, + tipo_sistema, + case + when extract(year from data_digitacao) > extract(year from current_date) + then null + else data_digitacao + end data_digitacao, + from tabelas_join + ) +select + {% for col in columns %} + {% if col.data_type == "STRING" %} + case + when trim({{ col.name }}) = '' then null else {{ col.name }} + end as {{ col.name }} + {% else %} {{ col.name }} + {% endif %} + {% if not loop.last %}, {% endif %} + {% endfor %} +from table_final diff --git a/models/br_ms_sinan/schema.yaml b/models/br_ms_sinan/schema.yaml new file mode 100644 index 00000000..3ddd518f --- /dev/null +++ b/models/br_ms_sinan/schema.yaml @@ -0,0 +1,510 @@ +--- +version: 2 +models: + - name: br_ms_sinan__microdados_dengue + description: Microdados da Dengue retirado através do Sistema de Informações de + Agravos de Notificação (SINAN) + tests: + - custom_dictionary_coverage: + columns_covered_by_dictionary: # colunas que precisam ser testadas + - apresenta_pleurite + - apresenta_petequias + - apresenta_metrorragia + - internacao + - raca_cor_paciente + - evolucao_caso + - apresenta_epistaxe + - escolaridade_paciente + - criterio_confirmacao + - apresenta_hematuria + - apresenta_ascite + - apresenta_sangramento + - sexo_paciente + - tipo_notificacao + - gestante_paciente + - possui_doenca_acido_peptica + - apresenta_artrite + - apresenta_leucopenia + - apresenta_conjutivite + - possui_diabetes + - possui_doencas_hematologicas + - apresenta_artralgia + - possui_hepatopatias + - apresenta_vomito + - possui_hipertensao + - apresenta_dor_retroorbital + - possui_doenca_renal + - paciente_vacinado + - apresenta_pericardite + - resultado_sorologia_dengue + - resultado_viral + - apresenta_dor_abdominal + - apresenta_hepatomegalia + - imunohistoquimica + - apresenta_miocardite + - apresenta_hipotensao + - apresenta_diarreia + - apresenta_choque + - apresenta_prostacao + - histopatologia + - resultado_sorologia1_chikungunya + - resultado_pcr + - sorotipo + - apresenta_insuficiencia_orgao + - apresenta_sintoma_outro + - resultado_prnt + - resultado_ns1 + dictionary_model: ref('br_ms_sinan__dicionario') # dicionário que deve ser usado no teste + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: tipo_notificacao + description: Tipo de notificação + - name: id_agravo + description: Categoria da CID-10 + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__cid_10') + field: categoria + - name: data_notificacao + description: Data de notificação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: semana_notificacao + description: Semana de notificação + - name: sigla_uf_notificacao + description: Sigla da Unidade da Federação de notificação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_regional_saude_notificacao + description: ID Região de Saúde de notificação + - name: id_municipio_notificacao + description: ID Município de ocorrência - IBGE 7 Dígitos + - name: id_estabelecimento + description: ID estabelecimento - CNES + - name: data_primeiros_sintomas + description: Data dos primeiros sintomas + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: semana_sintomas + description: Semana dos primeiros sintomas + - name: pais_residencia + description: País de residência + - name: sigla_uf_residencia + description: Sigla da Unidade da Federação de residência + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_regional_saude_residencia + description: ID Região de Saúde de residência + - name: id_municipio_residencia + description: ID Município de residência - IBGE 7 Dígitos + - name: ano_nascimento_paciente + description: Ano de nascimento do paciente + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: data_nascimento_paciente + description: Data de nascimento do paciente + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: idade_paciente + description: Idade do paciente + - name: sexo_paciente + description: Sexo do paciente + - name: raca_cor_paciente + description: Raça/Cor do paciente + - name: escolaridade_paciente + description: Escolaridade do paciente + - name: ocupacao_paciente + description: Ocupação do paciente + - name: gestante_paciente + description: Informa se a paciente é gestante + - name: possui_doenca_autoimune + description: Informa se o(a) paciente possui imunodeficiência + - name: possui_diabetes + description: Informa se o(a) paciente possui diabetes + - name: possui_doencas_hematologicas + description: Informa se o(a) paciente possui doenças hematológicas + - name: possui_hepatopatias + description: Informa se o(a) paciente possui hepatopatias + - name: possui_doenca_renal + description: Informa se o(a) paciente possui doença renal + - name: possui_hipertensao + description: Informa se o(a) paciente possui hipertensão + - name: possui_doenca_acido_peptica + description: Informa se o(a) paciente possui doença ácido péptica + - name: paciente_vacinado + description: Informa se o(a) é vacinado + - name: data_vacina + description: Data da vacina + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_investigacao + description: Data da investigação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: apresenta_febre + description: O(A) paciente apresenta febre + - name: data_febre + description: Data de início da febre + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: duracao_febre + description: Tempo de duração + - name: apresenta_cefaleia + description: O(A) paciente apresenta cefaleia + - name: apresenta_exantema + description: O(A) paciente apresenta exantema + - name: apresenta_dor_costas + description: O(A) paciente apresenta dor nas costas + - name: apresenta_prostacao + description: O(A) paciente apresenta prostação + - name: apresenta_mialgia + description: O(A) paciente apresenta mialgia + - name: apresenta_vomito + description: O(A) paciente apresenta vômito + - name: apresenta_nausea + description: O(A) paciente apresenta náusea + - name: apresenta_diarreia + description: O(A) paciente apresenta diareia + - name: apresenta_conjutivite + description: O(A) paciente apresenta conjutivite + - name: apresenta_dor_retroorbital + description: O(A) paciente apresenta dor retroorbital + - name: apresenta_artralgia + description: O(A) paciente apresenta artralgia + - name: apresenta_artrite + description: O(A) paciente apresenta artrite + - name: apresenta_leucopenia + description: O(A) paciente apresenta leucopenia + - name: apresenta_epistaxe + description: O(A) paciente apresenta epistaxe + - name: apresenta_petequias + description: O(A) paciente apresenta petequias + - name: apresenta_gengivorragia + description: O(A) paciente apresenta gengivorragias + - name: apresenta_metrorragia + description: O(A) paciente apresenta metrorragia + - name: apresenta_hematuria + description: O(A) paciente apresenta hematuria + - name: apresenta_sangramento + description: O(A) paciente apresenta sangramento + - name: apresenta_complicacao + description: O(A) paciente apresenta complicações + - name: apresenta_ascite + description: O(A) paciente apresenta ascite + - name: apresenta_pleurite + description: O(A) paciente apresenta pleurite + - name: apresenta_pericardite + description: O(A) paciente apresenta pericardite + - name: apresenta_dor_abdominal + description: O(A) paciente apresenta dor abdominal + - name: apresenta_hepatomegalia + description: O(A) paciente apresenta hepatomegalia + - name: apresenta_miocardite + description: O(A) paciente apresenta miocardite + - name: apresenta_hipotensao + description: O(A) paciente apresenta hipotensão + - name: apresenta_choque + description: O(A) paciente entrou em choque + - name: apresenta_insuficiencia_orgao + description: O(A) paciente apresenta comprometimento grave de órgãos + - name: apresenta_sintoma_outro + description: O(A) paciente apresenta outros sintomas + - name: apresenta_qual_sintoma + description: O(A) paciente apresenta qual outro sintoma + - name: prova_laco + description: Informa se o(a) paciente fez a prova do laço + - name: internacao + description: O(A) paciente foi hospitalizado + - name: data_internacao + description: Data da internação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: sigla_uf_internacao + description: Sigla da Unidade da Federação de internação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio_internacao + description: ID Município de internação - IBGE 7 Dïgitos + - name: alarme_hipotensao + description: O(A) paciente apresenta sinais de alarme com hipotensão postural + e/ou lipotímia + - name: alarme_plaqueta + description: O(A) paciente apresenta sinais de alarme com queda abrupta de + plaquetas + - name: alarme_vomito + description: O(A) paciente apresenta sinais de alarme com vômitos persistentes + - name: alarme_sangramento + description: O(A) paciente apresenta sinais de alarme com sangramento de mucosa/outras + hemorragias + - name: alarme_hematocrito + description: O(A) paciente apresenta sinais de alarme com aumento progressivo + do hematócrito + - name: alarme_dor_abdominal + description: O(A) paciente apresenta sinais de alarme com dor abdominal intensa + e contínua + - name: alarme_letargia + description: O(A) paciente apresenta sinais de alarme com letargia ou irritabilidade + - name: alarme_hepatomegalia + description: O(A) paciente apresenta sinais de alarme com hepatomegalia >= + 2cm + - name: alarme_liquidos + description: O(A) paciente apresenta sinais de alarme com acúmulo de líquidos + - name: data_alarme + description: Data de início dos sinais de alarme + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: grave_pulso + description: O(A) paciente apresenta extravasamento grave de plasma mediante + pulso débil ou indetectável + - name: grave_convulsao + description: O(A) paciente apresenta extravasamento grave de plasma mediante + PA convergente <= 20mmHg + - name: grave_enchimento_capilar + description: O(A) paciente apresenta extravasamento grave de plasma mediante + tempo de enchimento capilar + - name: grave_insuficiencia_respiratoria + description: O(A) paciente apresenta extravasamento grave de plasma mediante + acúmulo de líquidos com insuficiência respiratória + - name: grave_taquicardia + description: O(A) paciente apresenta extravasamento grave de plasma mediante + taquicardia + - name: grave_extremidade_fria + description: O(A) paciente apresenta extravasamento grave de plasma mediante + extremidades frias + - name: grave_hipotensao + description: O(A) paciente apresenta extravasamento grave de plasma mediante + hipotensão arterial em fase tardia + - name: grave_hematemese + description: O(A) paciente apresenta sangramento grave mediante hematêmese + - name: grave_melena + description: O(A) paciente apresenta sangramento grave mediante melena + - name: grave_metrorragia + description: O(A) paciente apresenta sangramento grave mediante metrorragia + volumosa + - name: grave_sangramento + description: O(A) paciente apresenta sangramento grave mediante sangramento + do SNC + - name: grave_ast_alt + description: O(A) paciente apresenta comprometimento grave de órgãos mediante + AST/ALT > 1000 + - name: grave_miocardite + description: O(A) paciente apresenta comprometimento grave de órgãos mediante + miocardite + - name: grave_consciencia + description: O(A) paciente apresenta comprometimento grave de órgãos mediante + alteração da consciência + - name: grave_orgaos + description: O(A) paciente apresenta comprometimento grave de órgãos mediante + outros órgãos + - name: data_hematocrito + description: Data da coleta do hematocrito + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: hematocrito_maior + description: Resultado do hematócrito maior + - name: data_plaquetas + description: Data da coleta de plaquetas + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: plaqueta_maior + description: Resultado do exame de plaquetas + - name: data_hematocrito_2 + description: Data da coleta do hematocrito + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: hematocrito_menor + description: Resultado do hematócrito menor + - name: data_plaquetas_2 + description: Data da coleta de plaquetas + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: plaqueta_menor + description: Resultado do exame de plaquetas + - name: data_sorologia1_chikungunya + description: Data da coleta da 1a amostra + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_resultado_sorologia1_chikungunya + description: Data do resultado da 1a amostra + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: resultado_sorologia1_chikungunya + description: Resultado da 1a amostra + - name: sorologia1_igm + description: Resultado da 1a amostra sorologia IgM + - name: sorologia1_igg + description: Resultado da 1a amostra sorologia IgG + - name: sorologia1_tit1 + description: Resultado da 1a amostra sorologia TiT1 + - name: resultado_sorologia2_chikungunya + description: Resultado da 2a amostra + - name: sorologia2_igm + description: Resultado da 2a amostra sorologia IgM + - name: sorologia2_igg + description: Resultado da 2a amostra sorologia IgG + - name: sorologia2_tit1 + description: Resultado da 2a amostra sorologia TiT1 + - name: resultado_prnt + description: Resultado PRNT + - name: data_ns1 + description: Data da coleta para o exame NS1 + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: resultado_ns1 + description: Resultado NS1 + - name: data_viral + description: Data do exame viral + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: resultado_viral + description: Resultado do exame do viral + - name: data_pcr + description: Data do exame PCR + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: resultado_pcr + description: Resultado PCR + - name: amostra_pcr + description: Amostra exame PCR + - name: amostra_outra + description: Outro tipo de amostra + - name: tecnica + description: Técnica em outro tipo de amostra + - name: resultado_amostra_outra + description: Resultado em outra amostra + - name: data_sorologia_dengue + description: Data de sorologia para dengue + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: resultado_sorologia_dengue + description: Resultado de sorologia para dengue + - name: sorotipo + description: Sorotipo + - name: histopatologia + description: Histopatologia + - name: imunohistoquimica + description: Imunoquistoquimica + - name: manifestacao_hemorragica + description: Informa se houve manifestação hemorrágica + - name: classificacao_final + description: Classificação final do caso + - name: criterio_confirmacao + description: Critério de confirmação + - name: caso_fhd + description: Grau, caso FhD + - name: caso_autoctone + description: O caso é autóctone de residência + - name: pais_infeccao + description: País de provável contágio + - name: sigla_uf_infeccao + description: Sigla da Unidade da Federação de provável contágio + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio_infeccao + description: ID Município de provável contágio - IBGE 7 Dígitos + - name: doenca_trabalho + description: Doença contraída em detrimento do trabalho + - name: apresentacao_clinica + description: Apresentação cínica + - name: evolucao_caso + description: Evolução do caso + - name: data_obito + description: Data do óbito + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_encerramento + description: Data de encerramento + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: tipo_sistema + description: Tipo de sistema + - name: data_digitacao + description: Data de digitação + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: duplicidade + description: Identifica duplicidade + - name: fluxo_retorno + description: Identifica se o registro está habilitado ou foi enviado pelo + fluxo de retorno para o município de residência + - name: br_ms_sinan__dicionario + description: Dicionário para tradução dos códigos do conjunto br_ms_sinan. Para + taduzir códigos compartilhados entre instituições, como id_municipio, buscar + por diretórios + tests: + - dbt_utils.unique_combination_of_columns: + combination_of_columns: + - id_tabela + - nome_coluna + - chave + - cobertura_temporal + - not_null_proportion_multiple_columns: + at_least: 0.05 + columns: + - name: id_tabela + description: ID Tabela + - name: nome_coluna + description: Nome da coluna + - name: chave + description: Chave + - name: cobertura_temporal + description: Cobertura Temporal + - name: valor + description: Valor diff --git a/models/br_ms_sinan/schema.yml b/models/br_ms_sinan/schema.yml deleted file mode 100644 index b6ff777a..00000000 --- a/models/br_ms_sinan/schema.yml +++ /dev/null @@ -1,473 +0,0 @@ ---- -version: 2 -models: - - name: microdados_influenza_srag - description: O Ministério da Saúde (MS), por meio da Secretaria de Vigilância - em Saúde (SVS), desenvolve a vigilância da Síndrome Respiratória Aguda Grave - (SRAG) no Brasil, desde a pandemia de Influenza A(H1N1) desde 2009. A partir - disso, a vigilância de SRAG foi implantada na rede de vigilância de Influenza - e outros vírus respiratórios, que anteriormente atuava exclusivamente com a - vigilância sentinela de Síndrome Gripal (SG). De 2009 até 2018, o sistema oficial - para o registo dos casos e óbitos por SRAG era o Sistema de Informação de Agravos - de Notificação – Sinan Web Influenza. A partir de 2019, o sistema oficial passou - a ser o Sistema de Informação da Vigilância Epidemiológica da Gripe (SIVEP-Gripe). - columns: - - name: ano - description: Ano - - name: antiviral_gripe - description: Usou antiviral para gripe? - - name: apresenta_artralgia - description: Paciente apresentou artralgia? - - name: apresenta_calafrio - description: Paciente apresentou calafrio? - - name: apresenta_conjuntivite - description: Paciente apresentou conjuntivite? - - name: apresenta_coriza - description: Paciente apresentou coriza? - - name: apresenta_desconforto_respiratorio - description: Paciente apresentou desconforto respiratório? - - name: apresenta_diarreia - description: Paciente apresentou diarreia? - - name: apresenta_dispneia - description: Paciente apresentou dispneia? - - name: apresenta_dor_abdominal - description: Paciente apresentou dor abdominal? - - name: apresenta_dor_garganta - description: Paciente apresentou dor de garganta? - - name: apresenta_fadiga - description: Paciente apresentou fadiga? - - name: apresenta_fator_risco - description: Paciente apresenta algum fator de risco? - - name: apresenta_febre - description: Paciente apresentou febre? - - name: apresenta_mialgia - description: Paciente apresentou mialgia? - - name: apresenta_outros_sintomas - description: Paciente apresentou outro(s) sintoma(s)? - - name: apresenta_perda_olfato - description: Paciente apresentou perda do olfato? - - name: apresenta_perda_paladar - description: Paciente apresentou perda do paladar? - - name: apresenta_saturacao_anormal - description: Paciente apresentou saturação O2 < 95%? - - name: apresenta_tosse - description: Paciente apresentou tosse? - - name: apresenta_vomito - description: Paciente apresentou vomito? - - name: caso_natural_residencia - description: O caso é autóctone de residência? - - name: classificacao_final - description: Classificação final do caso - - name: coleta_amostra - description: Coletou amostra? - - name: contato_aves_suinos - description: Caso com contato direto com aves ou suínos - - name: contato_outro_animal - description: Especifica o animal que o paciente teve contato - - name: controle_srag_sinan - description: Controle interno do Sistema SINAN - - name: criterio_encerramento - description: Critério de Encerramento - - name: data_alta_obito - description: Data da alta ou óbito - - name: data_coleta - description: Data de coleta da amostra - - name: data_coleta_amostra - description: Data da coleta do material para diagnóstico por sorologia - - name: data_coleta_hemaglutinacao - description: Data da coleta para Inibição da Hemaglutinação - - name: data_coleta_pcr - description: Data de coleta da amostra para o exame PCR - - name: data_digitacao - description: Data de inclusão do registro no sistema - - name: data_encerramento - description: Data do encerramento - - name: data_entrada_uti - description: Data de entrada na UTI - - name: data_internacao - description: Data da internação por SRAG - - name: data_nascimento_paciente - description: Data de nascimento do paciente - - name: data_notificacao - description: Data de preenchimento da ficha de notificação - - name: data_primeiros_sintomas - description: Data dos primeiros sintomas - - name: data_raiox - description: Data do Raio X - - name: data_resultado_imunofluorescencia - description: Data do resultado do diagnóstico do teste de imunofluorescência - - name: data_resultado_pcr - description: Data do resultado RT-PCR/outro método por biologia molecular - - name: data_resultado_sorologia - description: Data do resultado do Teste Sorológico - - name: data_resultado_teste - description: Data do resulado do teste antigênico - - name: data_retorno_paciente - description: Data de retorno da viagem - - name: data_saida_uti - description: Data de saída na UTI - - name: data_tomografia - description: Data da Tomografia - - name: data_tratamento_antiviral - description: Data início do tratamento com antiviral - - name: data_ultima_dose - description: Data da última dose de vacinação - - name: data_vacina_covid_dose1 - description: Data em que o paciente recebeu a 1ª dose da vacina contra a Covid-19 - - name: data_vacina_covid_dose2 - description: Data em que o paciente recebeu a 2ª dose da vacina contra a Covid-19 - - name: data_vacina_crianca_1dose - description: Se paciente >= 6 meses e <= 8 anos, data da 1ª dose para crianças - vacinadas pela primeira vez - - name: data_vacina_crianca_2dose - description: Se paciente >= 6 meses e <= 8 anos data da 2ª dose para crianças - vacinadas pela primeira vez - - name: data_vacina_crianca_dose_unica - description: Se paciente >= 6 meses e <= 8 anos, data da dose única para crianças - vacinadas em campanhas de anos anteriores - - name: data_vacina_mae - description: Data de aplicação da vacina na mãe - - name: data_viagem_paciente - description: Data que foi realizada a vaigem - - name: diagnostico_adenovirus - description: Resultado do diagnóstico para Adenovírus - - name: diagnostico_imunofluorescencia - description: Diagnóstico efetuado por teste de imunofluorescência - - name: diagnostico_influenza_a - description: Resultado do diagnóstico para Influenza A - - name: diagnostico_influenza_b - description: Resultado do diagnóstico para Influenza B - - name: diagnostico_outra_metodologia - description: Diagnóstico utilizando outra metodologia - - name: diagnostico_outro_virus - description: Resultado do diagnóstico para outro vírus - - name: diagnostico_parainfluenza1 - description: Resultado do diagnóstico para Parainfluenza 1 - - name: diagnostico_parainfluenza2 - description: Resultado do diagnóstico para Parainfluenza 2 - - name: diagnostico_parainfluenza3 - description: Resultado do diagnóstico para Parainfluenza 3 - - name: diagnostico_pcr - description: Diagnóstico efetuado por PCR - - name: diagnostico_subtipo_influenza_a - description: Resultado do diagnóstico para o subtipo de Influenza A - - name: diagnostico_virus_sincicial_respiratorio - description: Resultado do diagnóstico para Vírus Sincicial Respiratório - - name: doenca_relacionada_trabalho - description: Paciente apresenta doença em decorrência do trabalho - - name: escolaridade_paciente - description: Nível de escolaridade do paciente - - name: estrangeiro_paciente - description: Informa se o paciente é estrangeiro - - name: etnia_paciente - description: Etnia do paciente, se indígena - - name: evolucao_caso - description: Evolução do caso - - name: fonte_dados_vacina_covid - description: Fonte dos dados/informações sobre a vacina contra a Covid-19 - - name: gestante_paciente - description: Idade gestacional da paciente - - name: hemaglutinacao_tipo_hemaglutinina - description: Classificação do tipo de hemaglutinina pelo teste de Inibição - da Hemaglutinação - - name: hemaglutinacao_tipo_neuraminidase - description: Classificação do tipo de neurominida pelo teste de Inibição da - Hemaglutinação - - name: historico_viagem_paciente - description: Paciente tem histórico de viagem internacional até 14 dias antes - do início dos sintomas? - - name: idade_paciente - description: Idade do paciente - - name: id_estabelecimento - description: Código da unidade de saúde da área de abrangência da unidade - notificadora - - name: id_laboratorio_imunofluorescencia - description: ID Cnes do laboratório responsável pela liberação do resultado - do diagnóstico do teste de imunofluorescência - - name: id_laboratorio_pcr - description: ID Cnes do laboratório responsável pela liberação do resultado - do diagnóstico do teste PCR - - name: id_municipio_6_internacao - description: ID Município de internação - - name: id_municipio_6_notificacao - description: ID do município de ocorrência do evento notificado - - name: id_municipio_6_residencia - description: Município de residência do paciente - - name: id_municipio_notificacao - description: ID do Município de ocorrência do evento notificado - 7 Dígitos - - name: id_regional_saude_internacao - description: ID Regional saúde de internação - - name: id_regional_saude_notificacao - description: Regional de saúde onde está localizado o município da unidade - de saúde ou outra fonte notificadora - - name: id_regional_saude_residencia - description: Regional de saúde onde está localizado o município de residência - do paciente - - name: id_uf_notificacao - description: ID da Unidade Federativa onde está localizada a unidade que realizou - a notificação - - name: id_uf_residencia_paciente - description: ID da Unidade Federativa de residência do paciente - - name: imc_paciente_obeso - description: Valor do IMC do paciente, caso possua obesidade - - name: imunofluorescencia_adenovirus - description: Resultado do diagnóstico para Adenovírus através do Teste de - Imunofluorescência - - name: imunofluorescencia_outro_virus - description: Resultado do diagnóstico para outro vírus através do Teste de - Imunofluorescência - - name: imunofluorescencia_parainfluenza1 - description: Resultado do diagnóstico para Parainfluenza 1 através do Teste - de Imunofluorescência - - name: imunofluorescencia_parainfluenza2 - description: Resultado do diagnóstico para Parainfluenza 2 através do Teste - de Imunofluorescência - - name: imunofluorescencia_parainfluenza3 - description: Resultado do diagnóstico para Parainfluenza 3 através do Teste - de Imunofluorescência - - name: imunofluorescencia_positivo_influenza - description: Teste de imunofluorescência positivo para influenza? - - name: imunofluorescencia_positivo_outros_virus - description: Teste de imunofluorescência positivo para outro vírus - - name: imunofluorescencia_qual_outro_virus - description: Especifica outro vírus detectado através do Teste de Imunofluorescência - - name: imunofluorescencia_virus_sincicial_respiratorio - description: Resultado do diagnóstico para Vírus Sincicial Respiratório através - do Teste de Imunofluorescência - - name: infeccao_hospitalar - description: Caso de SRAG com infecção adquirida após internação - - name: internacao - description: Houve internaçao? - - name: internacao_uti - description: Internado em UTI? - - name: laboratorio_vacina_covid - description: Laboratório produtor da vacina contra a Covid-19 - - name: linhagem_influeza_b - description: Qual a linhagem da influenza B? - - name: local_viagem_paciente - description: Local (cidade, estado, província e outros) onde foi realizada - a viagem - - name: lote_dose1_vacina_covid - description: Lote da 1ª dose da vacina contra a Covid-19 - - name: lote_dose2_vacina_covid - description: Lote da 2ª dose da vacina contra a Covid-19 - - name: mae_amamenta - description: A mãe amamenta a criança? - - name: observacoes_paciente - description: Outras observações sobre o paciente consideradas pertinentes - - name: ocupacao_paciente - description: Ocupação do paciente - - name: outra_linhagem_influenza_b - description: Especifica qual outra linhagem da influenza B - - name: outro_agente_etiologico - description: Especifica qual outro agente provocou a SRAG - - name: outro_resultado_tomografia - description: Especifica qual outro resultado da tomografia - - name: outro_subtitpo_influenza - description: Especifica qual outro subtipo de influenza A - - name: outro_tipo_amostra - description: Especifica qual outro tipo de amostra coletado - - name: outro_tipo_antiviral - description: Espeficação do antiviral - - name: pais_residencia_paciente - description: País de residência do paciente - - name: pais_viagem_paciente - description: Qual país? - - name: pcr_adenovirus - description: Teste PCR positivo para Adenovírus - - name: pcr_bocavirus - description: Teste PCR positivo para Bocavírus - - name: pcr_metapneumovirus - description: Teste PCR positivo para Metapneumovírus - - name: pcr_outro_virus - description: Teste PCR positivo para outro vírus - - name: pcr_parainfluenza1 - description: Teste PCR positivo para Parainfluenza 1 - - name: pcr_parainfluenza2 - description: Teste PCR positivo para Parainfluenza 2 - - name: pcr_parainfluenza3 - description: Teste PCR positivo para Parainfluenza 3 - - name: pcr_parainfluenza4 - description: Teste PCR positivo para Parainfluenza 4 - - name: pcr_positivo_influenza - description: Teste PCR positivo para influenza? - - name: pcr_positivo_outros_virus - description: Teste PCR positivo para outros vírus? - - name: pcr_rinovirus - description: Teste PCR positivo para Rinovírus - - name: pcr_sarscov2 - description: Teste PCR positivo para SARS-CoV-2 - - name: pcr_tipo_hemaglutinina - description: Classificação do tipo de hemaglutinina pelo teste PCR - - name: pcr_tipo_neuraminidase - description: Classificação do tipo de neurominida pelo teste PCR - - name: pcr_virus_sincicial_respiratorio - description: Teste PCR positivo para Vírus Sincicial Respiratório - - name: possui_asma - description: Paciente possui asma? - - name: possui_cardiopatia - description: Paciente possui doença cardiovascular crônica? - - name: possui_diabetes - description: Paciente possui diabetes mellitus? - - name: possui_doenca_metabolica - description: Paciente possui doença metabólica? - - name: possui_doenca_neurologica - description: Paciente possui doença neurológica? - - name: possui_doenca_renal - description: Paciente possui doença renal crônica? - - name: possui_hematologia - description: Paciente possui doença hematológica crônica? - - name: possui_hemoglobinopatia - description: Paciente possui hemoglobinopatia? - - name: possui_hepatite - description: Paciente possui doença hepática crônica? - - name: possui_imunodeficiencia - description: Paciente possui imunodeficiência ou imunodepressão? - - name: possui_obesidade - description: Paciente possui obesidade? - - name: possui_outra_morbidade - description: Paciente possui outro(s) fator(res) de risco? - - name: possui_pneumopatia - description: Paciente possui pneumopatia? - - name: possui_sindrome_down - description: Paciente possui Síndrome de Down? - - name: puerpera_paciente - description: Paciente é puérpera ou parturiente? - - name: qual_outra_amostra - description: Especifica tipo de amostra coletada para SARS-CoV-2 - - name: qual_outra_morbidade - description: Especifica outro(s) fator(es) de risco do paciente - - name: qual_outra_sorologia - description: Especifica outro tipo de sorologia - - name: qual_outro_raiox - description: Especifica outros resultados para o Raio X - - name: qual_outro_sintoma - description: Especifica outros sinais e sintomas - - name: qual_outro_tipo_amostra_pcr - description: Especifica outro tipo de amostra coletado para o exame PCR - - name: qual_outro_virus - description: Especifica outro vírus respiratório detectado pelo teste PCR - - name: raca_cor_paciente - description: Raça/Cor do paciente - - name: raiox_torax - description: Raio X de Tórax - - name: requisicao_sistema_gal - description: Número da requisição de exames gerado pelo sistema GAL - - name: resultado_amostra - description: Resultado da cultura - - name: resultado_hemaglutinacao - description: Resultado da Inibição da Hemaglutinação - - name: resultado_imunofluorescencia - description: Resultado do teste de imunofluorescência ou outro método que - não seja biologia molecular - - name: resultado_pcr - description: Resultado da RT-PCR/outro método por biologia molecular - - name: resultado_sorologia_iga - description: Resultado da sorologia para SARS-CoV-2 - - name: resultado_sorologia_igg - description: Resultado da sorologia para SARS-CoV-2 - - name: resultado_sorologia_igm - description: Resultado da sorologia para SARS-CoV-2 - - name: resultado_teste_antigenico - description: Resultado do teste antigênico - - name: semana_notificacao - description: Semana Epidemiológica do preenchimento da ficha de notificação - - name: semana_sintomas - description: Semana Epidemiológica do início dos sintomas - - name: sexo_paciente - description: Sexo do paciente - - name: sigla_uf_internacao - description: Unidade Federativa de internação - - name: sigla_uf_notificacao - description: Sigla da Unidade Federativa onde está localizada a unidade que - realizou a notificação - - name: sindrome_gripal - description: Caso de surto de síndrome gripal - - name: status_monitoramento - description: Definição do caso - - name: subtipo_influenza_a - description: Qual subtipo da influenza A? - - name: suporte_ventilatorio - description: Uso de suporte ventilatório - - name: tabagista_paciente - description: Paciente é tabagista? - - name: teste_adenovirus - description: Resultado do teste antigênico positivo para Adenovírus - - name: teste_outro_virus - description: Resultado do teste antigênico poisitivo para outro vírus - - name: teste_outro_virus_nome - description: Especifica outro vírus respiratório identificado pelo Teste Antigênico - - name: teste_parainfluenza1 - description: Resultado do teste antigênico positivo para Parainfluenza 1 - - name: teste_parainfluenza2 - description: Resultado do teste antigênico positivo para Parainfluenza 2 - - name: teste_parainfluenza3 - description: Resultado do teste antigênico positivo para `Parainfluenza 3 - - name: teste_positivo_influenza - description: Resultado do teste antigênico positivo para influenza - - name: teste_positivo_outro_virus - description: Resultado do teste antigênico positivo para outro vírus respiratório - - name: teste_sarscov2 - description: Resultado do teste antigênico positivo para SARS-CoV-2 - - name: teste_virus_sincicial_respiratorio - description: Resultado do teste antigênico positivo para Vírus Sincicial Respiratorio - - name: tipo_amostra - description: Tipo de cultura - - name: tipo_amostra_pcr - description: Tipo de amostra clínica coletada para exame PCR - - name: tipo_amostra_sorologica - description: Tipo de amostra sorológica coletada - - name: tipo_antiviral - description: Qual tipo de antiviral? - - name: tipo_ficha - description: Campo identificador do tipo de ficha de registro. - - name: tipo_influenza_imunofluorescencia - description: Qual influenza detectada pela imunofluorescência? - - name: tipo_influenza_pcr - description: Qual influenza detectada pelo PCR? - - name: tipo_influenza_teste - description: Resultado do teste antigênico para o tipo de influenza - - name: tipo_pcr - description: Tipo de coleta da amostra para exame PCR - - name: tipo_resultado_hemaglutinacao - description: Diagnóstico etiológico por Inibição da Hemaglutinação - - name: tipo_resultado_pcr - description: Diagnóstico etiológico do teste PCR - - name: tipo_sorologia - description: Tipo do teste sorológico realizado - - name: tipo_teste_antigenico - description: Tipo do teste antigênico realizado - - name: tomografia - description: Informa o resultado/aspecto da tomografia - - name: vacina_covid - description: Informa se o paciente receveu vacina contra a COVID-19 - - name: vacina_gripe - description: Informa se o paciente foi vacina contra gripe na última campanha - - name: vacina_gripe_mae - description: Se paciente menor de 6 meses, a mãe recebeu a vacina? - - name: zona - description: Zona geográfica do endereço de residência do paciente - - name: br_ms_sinan__dicionario - description: Dicionário para tradução dos códigos do conjunto br_ms_sinan. Para - taduzir códigos compartilhados entre instituições, como id_municipio, buscar - por diretórios - tests: - - dbt_utils.unique_combination_of_columns: - combination_of_columns: - - id_tabela - - nome_coluna - - chave - - cobertura_temporal - - not_null_proportion_multiple_columns: - at_least: 0.05 - columns: - - name: id_tabela - description: ID Tabela - - name: nome_coluna - description: Nome da coluna - - name: chave - description: Chave - - name: cobertura_temporal - description: Cobertura Temporal - - name: valor - description: Valor