diff --git a/pipelines/cadunico/ingest_raw/utils.py b/pipelines/cadunico/ingest_raw/utils.py index c42d3b0..a3c009a 100644 --- a/pipelines/cadunico/ingest_raw/utils.py +++ b/pipelines/cadunico/ingest_raw/utils.py @@ -175,6 +175,8 @@ def parse_tables_from_xlsx(xlsx_input, csv_output, target_pattern, filter_versio log(f"Parsed csv file: {output_filepath}") df_final.to_csv(output_filepath, index=False) + return df_final + def get_staging_partitions_versions(project_id, dataset_id, table_id): st = bd.Storage(dataset_id=dataset_id, table_id=table_id) @@ -234,9 +236,11 @@ def parse_xlsx_files_and_save_partition(output_path, raw_filespaths_to_ingest): csv_output = Path(output_path) / f"versao_layout_particao={version}" csv_output.mkdir(parents=True, exist_ok=True) csv_name = name.replace(".xlsx", ".csv").replace(".xls", ".csv") + version_float = str(float(version[:2] + "." + version[2:])) + version_float = version_float if len(version_float) == 4 else f"{version_float}0" - parse_tables_from_xlsx( + df_final = parse_tables_from_xlsx( # noqa xlsx_input=raw_file, csv_output=csv_output / csv_name, target_pattern="LEIAUTE VERSÃO", diff --git a/queries/models/protecao_social_cadunico/condicao_rua.sql b/queries/models/protecao_social_cadunico/condicao_rua.sql index 2ca8782..40f14fd 100644 --- a/queries/models/protecao_social_cadunico/condicao_rua.sql +++ b/queries/models/protecao_social_cadunico/condicao_rua.sql @@ -3288,3 +3288,413 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '12' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_cart_assinada_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,76,1)) + END AS STRING + ) AS id_carteira_assinada, + + --column: cod_contato_parente_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,62,1)) + END AS STRING + ) AS condicao_rua_contato_parente, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_tempo_cidade_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,60,1)) + END AS STRING + ) AS id_tempo_municipio, + + --column: cod_tempo_rua_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_tempo_rua, + + --column: cod_vive_fam_rua_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,1)) + END AS STRING + ) AS condicao_rua_vive_familia, + + --column: ind_atend_centro_ref_rua_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,1)) + END AS STRING + ) AS atendido_crentro_referencia_populacao_rua, + + --column: ind_atend_cras_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS atendido_cras, + + --column: ind_atend_creas_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,70,1)) + END AS STRING + ) AS atendido_creas, + + --column: ind_atend_hospital_geral_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS atendido_hospital_geral, + + --column: ind_atend_inst_gov_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,72,1)) + END AS STRING + ) AS atendido_instituicao_governamental, + + --column: ind_atend_inst_nao_gov_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,73,1)) + END AS STRING + ) AS atendido_instituicao_nao_governamental, + + --column: ind_atend_nenhum_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,75,1)) + END AS STRING + ) AS atendido_nenhum, + + --column: ind_ativ_com_associacao_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS atividade_comunitaria_associacao, + + --column: ind_ativ_com_coop_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS atividade_comunitaria_cooperativa, + + --column: ind_ativ_com_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS atividade_comunitaria_escola, + + --column: ind_ativ_com_mov_soc_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS atibidade_comunitaria_movimento_social, + + --column: ind_ativ_com_nao_resp_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS atividade_comunitaria_nao_respondeu, + + --column: ind_ativ_com_nao_sabe_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS atividade_comunitaria_nao_sabe, + + --column: ind_dinh_carregador_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,79,1)) + END AS STRING + ) AS ganha_dinheiro_carregador, + + --column: ind_dinh_catador_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,80,1)) + END AS STRING + ) AS ganha_dinheiro_catador, + + --column: ind_dinh_const_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,77,1)) + END AS STRING + ) AS ganha_dinheiro_construcao_civil, + + --column: ind_dinh_flanelhinha_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,78,1)) + END AS STRING + ) AS ganha_dinheiro_flanelinha, + + --column: ind_dinh_nao_resp_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS ganha_dinheiro_nao_respondeu, + + --column: ind_dinh_outro_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,84,1)) + END AS STRING + ) AS ganha_dinheiro_outro, + + --column: ind_dinh_pede_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS ganha_dinheiro_pedinte, + + --column: ind_dinh_servs_gerais_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS ganha_dinheiro_sevicos_gerais, + + --column: ind_dinh_vendas_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS ganha_dinheiro_vendas, + + --column: ind_dormir_albergue_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS dorme_albergue, + + --column: ind_dormir_dom_part_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS dorme_domicilio_particular, + + --column: ind_dormir_rua_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS dorme_rua, + + --column: ind_motivo_alcool_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS condicao_rua_alcool, + + --column: ind_motivo_ameaca_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS condicao_rua_ameaca, + + --column: ind_motivo_desemprego_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS condicao_rua_desemprego, + + --column: ind_motivo_nao_resp_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,1)) + END AS STRING + ) AS condicao_rua_nao_respondeu, + + --column: ind_motivo_nao_sabe_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS condicao_rua_nao_sabe, + + --column: ind_motivo_outro_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS condicao_rua_outro, + + --column: ind_motivo_perda_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS condicao_rua_perda_moradia, + + --column: ind_motivo_pref_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS condicao_rua_preferencia, + + --column: ind_motivo_probs_fam_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS condicao_rua_problemas_familiares, + + --column: ind_motivo_saude_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS condicao_rua_saude, + + --column: ind_motivo_trabalho_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS condicao_rua_trabalho, + + --column: ind_outro_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS dorme_outro, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_dormir_freq_albergue_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,1)) + END AS INT64 + ) AS dorme_albergue_vezes_semana, + + --column: qtd_dormir_freq_dom_part_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,45,1)) + END AS INT64 + ) AS dorme_domicilio_particular_vezes_semana, + + --column: qtd_dormir_freq_rua_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS INT64 + ) AS dorme_rua_vezes_semana, + + --column: qtd_freq_outro_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS INT64 + ) AS dorme_outro_vezes_semana, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '12' + diff --git a/queries/models/protecao_social_cadunico/contato.sql b/queries/models/protecao_social_cadunico/contato.sql index d326a4e..6492970 100644 --- a/queries/models/protecao_social_cadunico/contato.sql +++ b/queries/models/protecao_social_cadunico/contato.sql @@ -1436,3 +1436,189 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '09' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cpf_operador_responsavel + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,129,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,129,11)) + END AS STRING + ) AS cpf_operador_responsavel, + + --column: data_arquivos_carregados + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,121,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,121,8)) + END ) AS data_arquivos_carregados, + + --column: email_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,50), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,50)) + END AS STRING + ) AS email, + + --column: ic_arquivos_carregados + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,120,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,120,1)) + END AS STRING + ) AS arquivos_carregados, + + --column: ic_envio_email_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,119,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,119,1)) + END AS STRING + ) AS autoriza_envio_email, + + --column: ic_envo_sms_contato_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS contato_envio_sms, + + --column: ic_envo_sms_contato_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS contato_2_envio_sms, + + --column: ic_tipo_contato_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS id_contato_tipo, + --column: ic_tipo_contato_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^L$') THEN 'Celular' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^C$') THEN 'Trabalho' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^R$') THEN 'Residencial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^O$') THEN 'Recado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^N$') THEN 'Não Tem' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^D$') THEN 'Não Declarado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^S$') THEN 'Sem Coleta De Dados (Família Não Alterada/Atualizada Após A Obrigatoriedade Do Campo “Telefone”)' + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS contato_tipo, + + --column: ic_tipo_contato_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS id_contato_2_tipo, + --column: ic_tipo_contato_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^L$') THEN 'Celular' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^C$') THEN 'Trabalho' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^R$') THEN 'Residencial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^O$') THEN 'Recado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^N$') THEN 'Não Tem' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^D$') THEN 'Não Declarado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^S$') THEN 'Sem Coleta De Dados (Família Não Alterada/Atualizada Após A Obrigatoriedade Do Campo “Telefone”)' + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS contato_2_tipo, + + --column: ic_tipo_email_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS id_email_tipo, + --column: ic_tipo_email_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^P$') THEN 'E-Mail Pessoal' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^R$') THEN 'E-Mail De Recado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^N$') THEN 'Não Tem' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^D$') THEN 'Não Declarado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^S$') THEN 'Sem Coleta De Dados (Família Não Alterada/Atualizada Após A Criação Do Campo “E-Mail”)' + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS email_tipo, + + --column: num_ddd_contato_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,2)) + END AS STRING + ) AS contato_ddd, + + --column: num_ddd_contato_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,2)) + END AS STRING + ) AS contato_2_ddd, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: num_tel_contato_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,10)) + END AS STRING + ) AS contato_telefone, + + --column: num_tel_contato_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,10)) + END AS STRING + ) AS contato_2_telefone, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '09' + diff --git a/queries/models/protecao_social_cadunico/controle.sql b/queries/models/protecao_social_cadunico/controle.sql index 7bc5947..c85bc99 100644 --- a/queries/models/protecao_social_cadunico/controle.sql +++ b/queries/models/protecao_social_cadunico/controle.sql @@ -408,3 +408,53 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '00' +UNION ALL + + +SELECT + + --column: cod_versao_layout_hdr + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,70,5)) + END AS STRING + ) AS versao_layout_arquivo, + + --column: dta_extracao_dados_hdr + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,83,8)) + END ) AS data_extracao_dados, + + --column: dta_posicao_cadastro_hdr + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,75,8)) + END ) AS data_posicao_cadastro, + + --column: nom_arquivo_hdr + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,30), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,30)) + END AS STRING + ) AS nome_arquivo, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '00' + diff --git a/queries/models/protecao_social_cadunico/documento_membro.sql b/queries/models/protecao_social_cadunico/documento_membro.sql index f4f927f..9536bd4 100644 --- a/queries/models/protecao_social_cadunico/documento_membro.sql +++ b/queries/models/protecao_social_cadunico/documento_membro.sql @@ -6328,3 +6328,793 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '14' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: ind_oaud_memb_ind_obto_neg + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,77,1)) + END AS STRING + ) AS id_oaud_indicativo_obito, + --column: ind_oaud_memb_ind_obto_neg + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,77,1)) + END AS STRING + ) AS oaud_indicativo_obito, + + --column: ind_oaud_memb_mult_ctps + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,79,1)) + END AS STRING + ) AS id_oaud_carteira_trabalho_multiplicidade, + --column: ind_oaud_memb_mult_ctps + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,79,1)) + END AS STRING + ) AS oaud_carteira_trabalho_multiplicidade, + + --column: ind_oaud_memb_mult_rcn + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,80,1)) + END AS STRING + ) AS id_oaud_certidao_nascimento_multiplicidade, + --column: ind_oaud_memb_mult_rcn + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,80,1)) + END AS STRING + ) AS oaud_certidao_nascimento_multiplicidade, + + --column: ind_oaud_memb_mult_rg + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS id_oaud_rg_multiplicidade, + --column: ind_oaud_memb_mult_rg + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS oaud_rg_multiplicidade, + + --column: ind_osrg_nao_sabe_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,75,1)) + END AS STRING + ) AS id_osrg_nao_sabe_registrada_cartorio, + --column: ind_osrg_nao_sabe_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,75,1)) + END AS STRING + ) AS osrg_nao_sabe_registrada_cartorio, + + --column: ind_osrg_sem_certidao_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,73,1)) + END AS STRING + ) AS id_osrg_registrada_sem_cetidao_civil, + --column: ind_osrg_sem_certidao_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,73,1)) + END AS STRING + ) AS osrg_registrada_sem_cetidao_civil, + + --column: ind_osrg_sem_registro_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS id_osrg_nao_registrada_cartorio, + --column: ind_osrg_sem_registro_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS osrg_nao_registrada_cartorio, + + --column: ind_otrn_exist_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,1)) + END AS STRING + ) AS id_otrn_transferida_este_municipio_familia_existente, + --column: ind_otrn_exist_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,71,1)) + END AS STRING + ) AS otrn_transferida_este_municipio_familia_existente, + + --column: ind_otrn_nova_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,70,1)) + END AS STRING + ) AS id_otrn_transferida_este_municipio_nova_familia, + --column: ind_otrn_nova_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,70,1)) + END AS STRING + ) AS otrn_transferida_este_municipio_nova_familia, + + --column: ind_otrn_outra_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,72,1)) + END AS STRING + ) AS id_otrn_transferida_outra_familia, + --column: ind_otrn_outra_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,72,1)) + END AS STRING + ) AS otrn_transferida_outra_familia, + + --column: ind_otrn_outro_mun_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS id_otrn_transferida_outro_municipio, + --column: ind_otrn_outro_mun_pes + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS otrn_transferida_outro_municipio, + + --column: ind_paud_cpf_cancel_receita + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS id_paud_cpf_cancelado_base_receita_federal, + --column: ind_paud_cpf_cancel_receita + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS paud_cpf_cancelado_base_receita_federal, + + --column: ind_paud_cpf_susp_receita + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS id_paud_cpf_suspenso_base_receita_federal, + --column: ind_paud_cpf_susp_receita + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS paud_cpf_suspenso_base_receita_federal, + + --column: ind_paud_cpo_obr_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS id_paud_campo_obrigatorio_nao_preenchido, + --column: ind_paud_cpo_obr_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS paud_campo_obrigatorio_nao_preenchido, + + --column: ind_paud_mbo_cad_com_cert_obit + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,76,1)) + END AS STRING + ) AS id_paud_cadatrado_com_certidao_obito, + --column: ind_paud_mbo_cad_com_cert_obit + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,76,1)) + END AS STRING + ) AS paud_cadatrado_com_certidao_obito, + + --column: ind_paud_memb_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS id_paud_cpf_invalido, + --column: ind_paud_memb_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS paud_cpf_invalido, + + --column: ind_paud_memb_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,60,1)) + END AS STRING + ) AS id_paud_cpf_multiplicidade, + --column: ind_paud_memb_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,60,1)) + END AS STRING + ) AS paud_cpf_multiplicidade, + + --column: ind_paud_memb_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,62,1)) + END AS STRING + ) AS id_paud_cpf_divergencia_titularidade, + --column: ind_paud_memb_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,62,1)) + END AS STRING + ) AS paud_cpf_divergencia_titularidade, + + --column: ind_paud_memb_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS id_paud_titulo_eleitor_invalido, + --column: ind_paud_memb_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS paud_titulo_eleitor_invalido, + + --column: ind_paud_memb_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS id_paud_titulo_eleitor_multiplicidade, + --column: ind_paud_memb_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS paud_titulo_eleitor_multiplicidade, + + --column: ind_paud_rejei_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS id_paud_rejeicao_inclusao_atualizacao_dados_cadastrais, + --column: ind_paud_rejei_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS paud_rejeicao_inclusao_atualizacao_dados_cadastrais, + + --column: ind_paud_rf_cpf_eleitor_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS id_paud_responsavel_sem_cpf_tiluto_eleitor, + --column: ind_paud_rf_cpf_eleitor_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS paud_responsavel_sem_cpf_tiluto_eleitor, + + --column: ind_paud_rf_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS id_paud_responsavel_cpf_invalido, + --column: ind_paud_rf_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS paud_responsavel_cpf_invalido, + + --column: ind_paud_rf_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,1)) + END AS STRING + ) AS id_paud_responsavel_cpf_multiplicidade, + --column: ind_paud_rf_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,59,1)) + END AS STRING + ) AS paud_responsavel_cpf_multiplicidade, + + --column: ind_paud_rf_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,1)) + END AS STRING + ) AS id_paud_responsavel_cpf_divergencia_titularidade, + --column: ind_paud_rf_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,61,1)) + END AS STRING + ) AS paud_responsavel_cpf_divergencia_titularidade, + + --column: ind_paud_rf_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS id_paud_responsavel_titulo_eleitor_invalido, + --column: ind_paud_rf_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS paud_responsavel_titulo_eleitor_invalido, + + --column: ind_paud_rf_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,78,1)) + END AS STRING + ) AS id_paud_responsavel_titulo_eleitor_multiplicidade, + --column: ind_paud_rf_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,78,1)) + END AS STRING + ) AS paud_responsavel_titulo_eleitor_multiplicidade, + + --column: ind_paud_rf_idade_16_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS id_paud_responsavel_idade_inferior_16_anos, + --column: ind_paud_rf_idade_16_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS paud_responsavel_idade_inferior_16_anos, + + --column: ind_pmig_cpo_obr_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS id_pmig_campo_obrigatorio_nao_preenchido, + --column: ind_pmig_cpo_obr_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS pmig_campo_obrigatorio_nao_preenchido, + + --column: ind_pmig_memb_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS id_pmig_cpf_invalido, + --column: ind_pmig_memb_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS pmig_cpf_invalido, + + --column: ind_pmig_memb_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS id_pmig_cpf_multiplicidade, + --column: ind_pmig_memb_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS pmig_cpf_multiplicidade, + + --column: ind_pmig_memb_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_pmig_cpf_divergencia_titularidade, + --column: ind_pmig_memb_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS pmig_cpf_divergencia_titularidade, + + --column: ind_pmig_memb_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS id_pmig_titulo_eleitor_multiplicidade, + --column: ind_pmig_memb_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS pmig_titulo_eleitor_multiplicidade, + + --column: ind_pmig_rf_cpf_eleitor_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS id_pmig_responsavel_sem_cpf_titulo_eleitor, + --column: ind_pmig_rf_cpf_eleitor_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS pmig_responsavel_sem_cpf_titulo_eleitor, + + --column: ind_pmig_rf_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS id_pmig_responsavel_cpf_invalido, + --column: ind_pmig_rf_cpf_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS pmig_responsavel_cpf_invalido, + + --column: ind_pmig_rf_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS id_pmig_reponsavel_cpf_multiplicidade, + --column: ind_pmig_rf_cpf_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS pmig_reponsavel_cpf_multiplicidade, + + --column: ind_pmig_rf_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS id_pmig_responsavel_cpf_divergencia_titularidade, + --column: ind_pmig_rf_cpf_titular_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS pmig_responsavel_cpf_divergencia_titularidade, + + --column: ind_pmig_rf_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS id_pmig_responsavel_titulo_eleitor_invalido, + --column: ind_pmig_rf_eleitor_inv_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS pmig_responsavel_titulo_eleitor_invalido, + + --column: ind_pmig_rf_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS id_pmig_responsavel_titulo_eleitor_multiplicidade, + --column: ind_pmig_rf_eleitor_mult_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS pmig_responsavel_titulo_eleitor_multiplicidade, + + --column: ind_pmig_rf_idade_16_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS id_pmig_responsavel_idade_inferior_16_anos, + --column: ind_pmig_rf_idade_16_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS pmig_responsavel_idade_inferior_16_anos, + + --column: ind_pmig_sem_doc_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS id_pmig_sem_nunhuma_documentacao, + --column: ind_pmig_sem_doc_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS pmig_sem_nunhuma_documentacao, + + --column: ind_ptab_desat_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_ptab_desativacao_inep, + --column: ind_ptab_desat_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS ptab_desativacao_inep, + + --column: ind_ptrn_memb_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS id_ptrn_verficacao_dados_inep, + --column: ind_ptrn_memb_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS ptrn_verficacao_dados_inep, + + --column: ind_ptrn_memb_parente_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS id_ptrn_sem_relacao_parentesco, + --column: ind_ptrn_memb_parente_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS ptrn_sem_relacao_parentesco, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '14' + diff --git a/queries/models/protecao_social_cadunico/documento_pessoa.sql b/queries/models/protecao_social_cadunico/documento_pessoa.sql index f1a534c..3a971b6 100644 --- a/queries/models/protecao_social_cadunico/documento_pessoa.sql +++ b/queries/models/protecao_social_cadunico/documento_pessoa.sql @@ -1904,3 +1904,240 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '05' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_cartorio_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,183,15), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,183,15)) + END AS STRING + ) AS id_cartorio_certidao, + + --column: cod_certidao_civil_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_certidao_civil, + --column: cod_certidao_civil_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^1$') THEN 'Nascimento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^2$') THEN 'Casamento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^3$') THEN 'RANI' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^4$') THEN 'Óbito' + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS certidao_civil, + + --column: cod_complemento_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,225,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,225,5)) + END AS STRING + ) AS id_complemento_rg, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_folha_termo_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,119,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,119,4)) + END AS STRING + ) AS folha_certidao, + + --column: cod_ibge_munic_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,176,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,176,7)) + END AS STRING + ) AS id_municipio_certidao, + + --column: cod_livro_termo_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,111,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,111,8)) + END AS STRING + ) AS livro_certidao_obito_excluido, + + --column: cod_termo___matricula__certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,291,32), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,291,32)) + END AS STRING + ) AS id_termi_matricula_certidao, + + --column: dta_emissao_cart_trab_pessoa + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,260,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,260,8)) + END ) AS data_emissao_carteira_trabalho, + + --column: dta_emissao_certid_pessoa + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,131,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,131,8)) + END ) AS data_emissao_certidao, + + --column: dta_emissao_ident_pessoa + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,230,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,230,8)) + END ) AS data_emissao_rg, + + --column: nom_cartorio_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,70)) + END AS STRING + ) AS cartorio_certidao, + + --column: nom_munic_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,141,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,141,35)) + END AS STRING + ) AS municipio_certidao, + + --column: num_cart_trab_prev_soc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,248,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,248,7)) + END AS STRING + ) AS id_carteira_trabalho, + + --column: num_cpf_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,198,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,198,11)) + END AS STRING + ) AS cpf, + + --column: num_identidade_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,323,20), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,323,20)) + END AS STRING + ) AS rg, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: num_secao_tit_eleitor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,287,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,287,4)) + END AS STRING + ) AS id_secao_titulo_eleitor, + + --column: num_serie_trab_prev_soc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,255,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,255,5)) + END AS STRING + ) AS id_serie_carteira_trabalho, + + --column: num_titulo_eleitor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,270,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,270,13)) + END AS STRING + ) AS id_titulo_eleitor, + + --column: num_zona_tit_eleitor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,283,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,283,4)) + END AS STRING + ) AS id_zona_titulo_eleitor, + + --column: sig_orgao_emissor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,240,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,240,8)) + END AS STRING + ) AS orgao_emissor_rg, + + --column: sig_uf_cart_trab_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,268,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,268,2)) + END AS STRING + ) AS sigla_uf_carteira_trabalho, + + --column: sig_uf_certid_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,139,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,139,2)) + END AS STRING + ) AS sigla_uf_certidao, + + --column: sig_uf_ident_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,238,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,238,2)) + END AS STRING + ) AS sigla_uf_rg, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '05' + diff --git a/queries/models/protecao_social_cadunico/domicilio.sql b/queries/models/protecao_social_cadunico/domicilio.sql index 36f7a19..07d0a99 100644 --- a/queries/models/protecao_social_cadunico/domicilio.sql +++ b/queries/models/protecao_social_cadunico/domicilio.sql @@ -2120,3 +2120,267 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '02' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_abaste_agua_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS id_forma_abatecimento_agua_domicilio, + --column: cod_abaste_agua_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^1$') THEN 'Rede Geral De Distribuição' + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^2$') THEN 'Poço Ou Nascente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^3$') THEN 'Cisterna' + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^4$') THEN 'Outra Forma' + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS forma_abatecimento_agua_domicilio, + + --column: cod_agua_canalizada_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_possui_agua_encanada_domicilio, + --column: cod_agua_canalizada_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS possui_agua_encanada_domicilio, + + --column: cod_banheiro_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS id_possui_banheiro_domicilio, + --column: cod_banheiro_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS possui_banheiro_domicilio, + + --column: cod_calcamento_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS id_calcamento_domicilio, + --column: cod_calcamento_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^1$') THEN 'Total' + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^2$') THEN 'Parcial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^3$') THEN 'Não existe' + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS calcamento_domicilio, + + --column: cod_destino_lixo_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS id_destino_lixo_domicilio, + --column: cod_destino_lixo_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^1$') THEN 'É coletado diretamente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^2$') THEN 'É coletado indiretamente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^3$') THEN 'É queimado ou enterrado na propriedade' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^4$') THEN 'É jogado em terreno baldio ou logradouro (rua, avenida, etc.)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^5$') THEN 'É jogado em rio, lago ou mar' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^6$') THEN 'Tem outro destino' + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS destino_lixo_domicilio, + + --column: cod_escoa_sanitario_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS id_escoamento_sanitario_domicilio, + --column: cod_escoa_sanitario_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^1$') THEN 'Rede coletora de esgoto ou pluvial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^2$') THEN 'Fossa séptica' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^3$') THEN 'Fossa rudimentar' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^4$') THEN 'Vala a céu aberto' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^5$') THEN 'Direto para um rio, lago ou mar' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^6$') THEN 'Outra forma' + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS escoamento_sanitario_domicilio, + + --column: cod_especie_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS id_especie_domicilio, + --column: cod_especie_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^1$') THEN 'Particular Permanente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^2$') THEN 'Particular Improvisado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^3$') THEN 'Coletivo' + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS especie_domicilio, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_iluminacao_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS id_iluminacao_domicilio, + --column: cod_iluminacao_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^1$') THEN 'Elétrica Com Medidor Próprio' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^2$') THEN 'Elétrica Com Medidor Comunitário' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^3$') THEN 'Elétrica Sem Medidor' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^4$') THEN 'Óleo, Querosene Ou Gás' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^5$') THEN 'Vela' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^6$') THEN 'Outra Forma' + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS iluminacao_domicilio, + + --column: cod_local_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_local_domicilio, + --column: cod_local_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^1$') THEN 'Urbana' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^2$') THEN 'Rural' + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS local_domicilio, + + --column: cod_material_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS id_material_domicilio, + --column: cod_material_domic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^1$') THEN 'Alvenaria/tijolo com revestimento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^2$') THEN 'Alvenaria/tijolo sem revestimento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^3$') THEN 'Madeira aparelhada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^4$') THEN 'Taipa revestida' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^5$') THEN 'Taipa não-revestida' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^6$') THEN 'Madeira aproveitada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^7$') THEN 'Palha' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^8$') THEN 'Outro material' + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS material_domicilio, + + --column: cod_material_piso_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS id_material_piso_domicilio, + --column: cod_material_piso_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^1$') THEN 'Terra' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^2$') THEN 'Cimento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^3$') THEN 'Madeira aproveitada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^4$') THEN 'Madeira aparelhada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^5$') THEN 'Cerâmica, lajota ou pedra' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^6$') THEN 'Carpete' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^7$') THEN 'Outro material' + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS material_piso_domicilio, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_comodos_domic_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,2)) + END AS INT64 + ) AS quantidade_comodos_domicilio, + + --column: qtd_comodos_dormitorio_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,2)) + END AS INT64 + ) AS quantidade_comodos_dormitorio, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '02' + diff --git a/queries/models/protecao_social_cadunico/escolaridade.sql b/queries/models/protecao_social_cadunico/escolaridade.sql index 3858486..887c38b 100644 --- a/queries/models/protecao_social_cadunico/escolaridade.sql +++ b/queries/models/protecao_social_cadunico/escolaridade.sql @@ -1937,3 +1937,259 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '07' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_ano_serie_frequenta_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,168,2)) + END AS STRING + ) AS id_ano_serie_frequenta, + --column: cod_ano_serie_frequenta_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^01$') THEN 'Frequenta - Primeiro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^02$') THEN 'Frequenta - Segundo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^03$') THEN 'Frequenta - Terceiro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^04$') THEN 'Frequenta - Quarto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^05$') THEN 'Frequenta - Quinto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^06$') THEN 'Frequenta - Sexto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^07$') THEN 'Frequenta - Sétimo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^08$') THEN 'Frequenta - Oitavo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^09$') THEN 'Frequenta - Nono(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,168,2), r'^10$') THEN 'Frequenta - Curso não-seriado' + ELSE TRIM(SUBSTRING(text,168,2)) + END AS STRING + ) AS ano_serie_frequenta, + + --column: cod_ano_serie_frequentou_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,172,2)) + END AS STRING + ) AS id_ultimo_ano_serie_frequentou, + --column: cod_ano_serie_frequentou_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^01$') THEN 'Frequentou - Primeiro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^02$') THEN 'Frequentou - Segundo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^03$') THEN 'Frequentou - Terceiro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^04$') THEN 'Frequentou - Quarto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^05$') THEN 'Frequentou - Quinto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^06$') THEN 'Frequentou - Sexto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^07$') THEN 'Frequentou - Sétimo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^08$') THEN 'Frequentou - Oitavo(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^09$') THEN 'Frequentou - Nono(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,172,2), r'^10$') THEN 'Frequentou - Curso não-seriado' + ELSE TRIM(SUBSTRING(text,172,2)) + END AS STRING + ) AS ultimo_ano_serie_frequentou, + + --column: cod_censo_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,157,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,157,8)) + END AS STRING + ) AS id_inep_escola, + + --column: cod_concluiu_frequentou_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,174,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,174,1)) + END AS STRING + ) AS id_concluiu_curso_frequentado, + + --column: cod_curso_frequenta_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,166,2)) + END AS STRING + ) AS id_curso_frequenta, + --column: cod_curso_frequenta_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^01$') THEN 'Frequenta - Creche' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^02$') THEN 'Frequenta - Pré-escola (exceto CA)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^03$') THEN 'Frequenta - Classe de Alfabetização' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^04$') THEN 'Frequenta - Ensino Fundamental regular (duração 8 anos)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^05$') THEN 'Frequenta - Ensino Fundamental regular (duração 9 anos)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^06$') THEN 'Frequenta - Ensino Fundamental especial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^07$') THEN 'Frequenta - Ensino Médio regular' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^08$') THEN 'Frequenta - Ensino Médio especial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^09$') THEN 'Frequenta - Ensino Fundamental EJA - séries iniciais (Supletivo - 1 a a 4a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^10$') THEN 'Frequenta - Ensino Fundamental EJA - séries finais (Supletivo - 5 a a 8a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^11$') THEN 'Frequenta - Ensino Médio EJA (Supletivo)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^12$') THEN 'Frequenta - Alfabetização para adultos' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^13$') THEN 'Frequenta - Superior, Aperfeiçoamento, Especialização, Mestrado, Doutorado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,2), r'^14$') THEN 'Frequenta - Pré-vestibular' + ELSE TRIM(SUBSTRING(text,166,2)) + END AS STRING + ) AS curso_frequenta, + + --column: cod_curso_frequentou_pessoa_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,170,2)) + END AS STRING + ) AS id_curso_mais_elevado_frequentou, + --column: cod_curso_frequentou_pessoa_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^01$') THEN 'Frequentou - Creche' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^02$') THEN 'Frequentou - Pré-escola (exceto CA)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^03$') THEN 'Frequentou - Classe de Alfabetização - CA' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^04$') THEN 'Frequentou - Ensino Fundamental 1a a 4a séries, Elementar (Primário), Primeira fase do 1 o grau' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^05$') THEN 'Frequentou - Ensino Fundamental 5a a 8a séries, Médio 1o ciclo (Ginasial), Segunda fase do 1o grau' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^06$') THEN 'Frequentou - Ensino Fundamental (duração 9 anos)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^07$') THEN 'Frequentou - Ensino Fundamental Especial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^08$') THEN 'Frequentou - Ensino Médio, 2o grau, Médio 2o ciclo (Científico, Clássico, Técnico, Normal)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^09$') THEN 'Frequentou - Ensino Médio Especial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^10$') THEN 'Frequentou - Ensino Fundamental EJA - séries iniciais (Supletivo 1a a 4a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^11$') THEN 'Frequentou - Ensino Fundamental EJA - séries finais (Supletivo 5a a 8a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^12$') THEN 'Frequentou - Ensino Médio EJA (Supletivo)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^13$') THEN 'Frequentou - Superior, Aperfeiçoamento, Especialização, Mestrado, Doutorado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^14$') THEN 'Frequentou - Alfabetização para Adultos' + WHEN REGEXP_CONTAINS(SUBSTRING(text,170,2), r'^15$') THEN 'Frequentou - Nenhum' + ELSE TRIM(SUBSTRING(text,170,2)) + END AS STRING + ) AS curso_mais_elevado_frequentou, + + --column: cod_escola_local_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,112,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,112,1)) + END AS STRING + ) AS id_escola_localizada_municipio, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_ibge_munic_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,150,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,150,7)) + END AS STRING + ) AS id_municipio_escola, + + --column: cod_origem_dados_escolaridade + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,175,1)) + END AS STRING + ) AS id_origem_dados_escolaridade, + --column: cod_origem_dados_escolaridade + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^1$') THEN 'Origem Autodeclarado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^2$') THEN 'Origem Presença' + ELSE TRIM(SUBSTRING(text,175,1)) + END AS STRING + ) AS origem_dados_escolaridade, + + --column: cod_sabe_ler_escrever_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_sabe_ler_escrever, + + --column: dta_integracao_escolaridade_membro + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,176,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,176,8)) + END ) AS data_integracao_escolaridade_membro, + + --column: ind_censo_inep_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,165,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,165,1)) + END AS STRING + ) AS escola_nao_tem_inep, + + --column: ind_frequenta_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS frequenta_escola, + + --column: nom_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,70)) + END AS STRING + ) AS escola, + + --column: nom_munic_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,115,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,115,35)) + END AS STRING + ) AS municipio_escola, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: sig_uf_escola_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,113,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,113,2)) + END AS STRING + ) AS sigla_uf_escola, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '07' + diff --git a/queries/models/protecao_social_cadunico/exclusao_membro.sql b/queries/models/protecao_social_cadunico/exclusao_membro.sql index 6a89297..d8245e9 100644 --- a/queries/models/protecao_social_cadunico/exclusao_membro.sql +++ b/queries/models/protecao_social_cadunico/exclusao_membro.sql @@ -1696,3 +1696,214 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '19' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_exc_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura_membro_excluido, + + --column: cod_familiar_exc_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia_membro_excluido, + + --column: cod_folha_termo_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,247,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,247,4)) + END AS STRING + ) AS folha_ceritao_obito_excluido, + + --column: cod_ibge_munic_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,328,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,328,7)) + END AS STRING + ) AS id_municipio_certidao_obito_excluido, + + --column: cod_livro_termo_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,239,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,239,8)) + END AS STRING + ) AS livro_certidao_obito_excluido, + + --column: cod_termo_matricula_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,251,32), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,251,32)) + END AS STRING + ) AS numero_termo_matricula_certidao_excluido, + + --column: cpf_oper_exc_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,11)) + END AS STRING + ) AS cpf_operador_exclusao_membro, + + --column: cpf_servd_pbco_pgmcu_pgmcu_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,149,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,149,11)) + END AS STRING + ) AS cpf_servidor_parecer_gestao_municipal_cadunico_membro, + + --column: dat_emi_pgmcu_mbo + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,8)) + END ) AS data_emissao_parecer_gestao_municipal_cadunico_membro, + + --column: data_exc_mbo + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_exclusao_membro, + + --column: desc_mot_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,335,255), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,335,255)) + END AS STRING + ) AS descricao_cotivo_exclusao, + + --column: dta_emissao_certid_mbo_exc + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,283,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,283,8)) + END ) AS data_emissao_certidao_obito_excluido, + + --column: motivo_exc_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,2)) + END AS STRING + ) AS id_motivo_exclusao_membro, + --column: motivo_exc_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^01$') THEN 'Falecimento Da Pessoa' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^02$') THEN 'Desligamento Da Pessoa Daquela Família' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^03$') THEN 'Solicitação Da Pessoa' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^04$') THEN 'Decisão Judicial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^05$') THEN 'Decurso De Prazo No Estado Cadastral “Em Cadastramento”' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^06$') THEN 'Mudança De Endereço Ocorrido Anteriormente A V7' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^07$') THEN 'Cadastramento Incorreto Ocorrido Anteriormente A V7' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^08$') THEN 'Pessoa Transferida' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^09$') THEN 'Cadastro Desatualizado Há Mais De 48 Meses' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^10$') THEN 'Averiguação Cadastral' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^11$') THEN 'Multiplicidade' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^12$') THEN 'NIS Cancelado No Cadastro NIS' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^13$') THEN 'Averiguação - Suspeita De Fraude' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^14$') THEN 'Pessoa Excluída Por Decurso De Prazo Na Situação "Atribuindo NIS"' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^15$') THEN 'Averiguação - Suspeita De Fraude Identificada Pelo Município' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^16$') THEN 'Pessoa Excluída Por Possuir CPF Nulo' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^17$') THEN 'Membro Excluído Por Ter Sido Incluído Pelo Próprio Operador/Entrevistador Da Família' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^99$') THEN 'Exclusão Da Família (Para Casos Em Que A Pessoa Tenha Sido Excluída Pela Exclusão De Sua Família)' + ELSE TRIM(SUBSTRING(text,59,2)) + END AS STRING + ) AS motivo_exclusao_membro, + + --column: mun_pgmcu_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,162,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,162,7)) + END AS STRING + ) AS id_municipio_parecer_gestao_municipal_cadunico_membro, + + --column: nom_cartorio_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,169,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,169,70)) + END AS STRING + ) AS cartorio_certidao_obito_excluido, + + --column: nom_munic_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,293,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,293,35)) + END AS STRING + ) AS municipio_certidao_obito_excluido, + + --column: nom_servd_pbco_pgmcu_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,79,70)) + END AS STRING + ) AS servidor_parecer_gestao_municipal_cadunico_membro, + + --column: num_membro_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_excluido, + + --column: num_pgmcu_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,10)) + END AS STRING + ) AS numero_parecer_gestao_municipal_cadunico_membro, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: sig_uf_certid_mbo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,291,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,291,2)) + END AS STRING + ) AS sigla_uf_certidao_obito_excluido, + + --column: uf_pgmcu_mbo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,160,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,160,2)) + END AS STRING + ) AS sigla_uf_parecer_gestao_municipal_cadunico_membro, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '19' + diff --git a/queries/models/protecao_social_cadunico/exclusao_servidor.sql b/queries/models/protecao_social_cadunico/exclusao_servidor.sql index f0dda53..771eee7 100644 --- a/queries/models/protecao_social_cadunico/exclusao_servidor.sql +++ b/queries/models/protecao_social_cadunico/exclusao_servidor.sql @@ -1128,3 +1128,143 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '18' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura_exclusao, + + --column: cod_familiar_fam_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia_exclusao, + + --column: cpf_oper_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,11)) + END AS STRING + ) AS cpf_operador_exclusao, + + --column: cpf_servd_pbco_pgmcu_pgmcu + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,149,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,149,11)) + END AS STRING + ) AS cpf_servidor_parecer_gestao_municipal_cadunico, + + --column: dat_emi_pgmcu + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,8)) + END ) AS data_emissao_parecer_gestao_municipal_cadunico, + + --column: data_exc + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_exclusao, + + --column: desc_mot_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,169,255), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,169,255)) + END AS STRING + ) AS descricao_cotivo_exclusao, + + --column: motivo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,2)) + END AS STRING + ) AS id_motivo_exclusao, + --column: motivo_exc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^01$') THEN 'Falecimento De Toda A Família' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^02$') THEN 'Recusa Da Família Em Prestar Informações' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^03$') THEN 'Omissão Ou Prestação De Informações Inverídicas Pela Família, Por Comprovada Má Fé' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^04$') THEN 'Solicitação Do RUF' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^05$') THEN 'Decisão Judicial' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^06$') THEN 'Cadastros Desatualizados Cuja Inclusão Ou Última Atualização Ocorreu Há 48 (Quarenta E Oito) Meses Ou Mais' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^07$') THEN 'Decurso De Prazo No Estado Cadastral “Em Cadastramento”' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^08$') THEN 'Exclusão/Inativação Ocorrida Antes Da Versão 7' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^09$') THEN 'Família Transferida' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^10$') THEN 'Família Com Renda Per Capita Acima De ½ Salário Mínimo E Renda Familiar Acima De 3 Salários Mínimos E Que Não Esteja Vinculada A Nenhum Programa Social' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^11$') THEN 'Cadastro Desatualizado Há Mais De 48 Meses' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^12$') THEN 'Averiguação Cadastral' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^13$') THEN 'Exclusão De Todos Os Integrantes Da Família' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^14$') THEN 'Exclusão/Transferência De Todos Os Integrantes Da Família' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^15$') THEN 'Averiguação - Suspeita De Fraude' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^16$') THEN 'Averiguação - Suspeita De Fraude Identificada Pelo Município' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^17$') THEN 'Família Com Renda Per Capita Acima De Meio Salário Mínimo E Que Não Esteja Vinculada A Nenhum Programa Social' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^18$') THEN 'Identificação De Cadastros Incluídos Ou Alterados Indevidamente Por Agente Público Por Má Fé' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^19$') THEN 'Solicitação Do RUF Via APP' + ELSE TRIM(SUBSTRING(text,59,2)) + END AS STRING + ) AS motivo_exclusao, + + --column: mun_pgmcu + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,162,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,162,7)) + END AS STRING + ) AS id_municipio_parecer_gestao_municipal_cadunico, + + --column: nom_servd_pbco_pgmcu + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,79,70)) + END AS STRING + ) AS servidor_parecer_gestao_municipal_cadunico, + + --column: num_pgmcu + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,10)) + END AS STRING + ) AS numero_parecer_gestao_municipal_cadunico, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: uf_pgmcu + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,160,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,160,2)) + END AS STRING + ) AS sigla_uf_parecer_gestao_municipal_cadunico, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '18' + diff --git a/queries/models/protecao_social_cadunico/familia.sql b/queries/models/protecao_social_cadunico/familia.sql index 9ba1ff3..76aa827 100644 --- a/queries/models/protecao_social_cadunico/familia.sql +++ b/queries/models/protecao_social_cadunico/familia.sql @@ -95,6 +95,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -208,6 +214,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -452,6 +468,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -565,6 +587,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -809,6 +841,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -922,6 +960,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -1166,6 +1214,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -1279,6 +1333,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -1523,6 +1587,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -1636,6 +1706,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -1880,6 +1960,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -1993,6 +2079,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -2237,6 +2333,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -2350,6 +2452,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -2594,6 +2706,12 @@ SELECT END AS STRING ) AS id_reserva_indigena, + --column: dt_intgo_rsco_scl_inseg_alim + NULL AS data_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: dt_intgo_rsco_scl_vlco_drts_ + NULL AS data_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_comunidade_quilombola_fam CAST( CASE @@ -2707,6 +2825,16 @@ SELECT END AS STRING ) AS nao_sabe_reserva_indigena, + --column: ind_risco_scl_inseg_alim + NULL AS id_risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_inseg_alim + NULL AS risco_inseguranca_alimentar, --Essa coluna não esta na versao posterior + + --column: ind_risco_scl_vlco_drts + NULL AS id_risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: ind_risco_scl_vlco_drts + NULL AS risco_violacao_direitos, --Essa coluna não esta na versao posterior + --column: nom_centro_assist_fam CAST( CASE @@ -2864,3 +2992,410 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '03' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_centro_assist_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,526,12), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,526,12)) + END AS STRING + ) AS id_cras_creas, + + --column: cod_comunidade_quilombola_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,194,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,194,4)) + END AS STRING + ) AS id_comunidade_quilombola, + + --column: cod_familia_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_familia_indigena, + --column: cod_familia_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS familia_indigena, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_indigena_reside_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,115,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,115,1)) + END AS STRING + ) AS id_indigena_residente, + --column: cod_indigena_reside_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,115,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,115,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,115,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,115,1)) + END AS STRING + ) AS indigena_residente, + + --column: cod_povo_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,3), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,3)) + END AS STRING + ) AS id_povo_indigena, + + --column: cod_reserva_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,116,6), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,116,6)) + END AS STRING + ) AS id_reserva_indigena, + + --column: dt_intgo_rsco_scl_inseg_alim + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,548,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,548,8)) + END ) AS data_risco_inseguranca_alimentar, + + --column: dt_intgo_rsco_scl_vlco_drts_ + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,539,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,539,8)) + END ) AS data_risco_violacao_direitos, + + --column: ind_comunidade_quilombola_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,318,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,318,1)) + END AS STRING + ) AS nao_sabe_comunidade_quilombola, + + --column: ind_desp_agua_esgoto_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,343,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,343,1)) + END AS STRING + ) AS nao_tem_despesa_agua_esgoto, + + --column: ind_desp_alimentacao_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,355,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,355,1)) + END AS STRING + ) AS nao_tem_despesa_alimentacao, + + --column: ind_desp_aluguel_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,367,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,367,1)) + END AS STRING + ) AS nao_tem_despesa_aluguel, + + --column: ind_desp_energia_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,337,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,337,1)) + END AS STRING + ) AS nao_tem_despesa_energia, + + --column: ind_desp_gas_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,349,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,349,1)) + END AS STRING + ) AS nao_tem_despesa_gas, + + --column: ind_desp_medicamentos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,373,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,373,1)) + END AS STRING + ) AS nao_tem_despesa_medicamentos, + + --column: ind_desp_transpor_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,361,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,361,1)) + END AS STRING + ) AS nao_tem_despesa_transporte, + + --column: ind_familia_quilombola_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,193,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,193,1)) + END AS STRING + ) AS id_familia_quilombola, + --column: ind_familia_quilombola_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,193,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,193,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,193,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,193,1)) + END AS STRING + ) AS familia_quilombola, + + --column: ind_pessoa_inter_0_17_anos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,325,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,325,1)) + END AS STRING + ) AS nao_tem_pessoas_internadas_0_17_anos, + + --column: ind_pessoa_inter_18_59_anos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,328,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,328,1)) + END AS STRING + ) AS nao_tem_pessoas_internadas_18_59_anos, + + --column: ind_pessoa_inter_60_anos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,331,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,331,1)) + END AS STRING + ) AS nao_tem_pessoas_internadas_mais_60_anos, + + --column: ind_reserva_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,192,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,192,1)) + END AS STRING + ) AS nao_sabe_reserva_indigena, + + --column: ind_risco_scl_inseg_alim + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,547,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,547,1)) + END AS STRING + ) AS id_risco_inseguranca_alimentar, + --column: ind_risco_scl_inseg_alim + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,547,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,547,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,547,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,547,1)) + END AS STRING + ) AS risco_inseguranca_alimentar, + + --column: ind_risco_scl_vlco_drts + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,538,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,538,1)) + END AS STRING + ) AS id_risco_violacao_direitos, + --column: ind_risco_scl_vlco_drts + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,538,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,538,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,538,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,538,1)) + END AS STRING + ) AS risco_violacao_direitos, + + --column: nom_centro_assist_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,456,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,456,70)) + END AS STRING + ) AS cras_creas, + + --column: nom_comunidade_quilombola_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,198,120), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,198,120)) + END AS STRING + ) AS comunidade_quilombola, + + --column: nom_estab_assist_saude_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,374,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,374,70)) + END AS STRING + ) AS estabelecimento_saude, + + --column: nom_povo_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,70)) + END AS STRING + ) AS povo_indigena, + + --column: nom_reserva_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,122,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,122,70)) + END AS STRING + ) AS reserva_indigena, + + --column: nu_estbo_saude + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,444,12), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,444,12)) + END AS STRING + ) AS id_estabelecimento_saude, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_familias_domic_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,321,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,321,2)) + END AS INT64 + ) AS familias_domicilio, + + --column: qtd_pessoa_inter_0_17_anos_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,323,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,323,2)) + END AS INT64 + ) AS pessoas_internadas_0_17_anos, + + --column: qtd_pessoa_inter_18_59_anos_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,326,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,326,2)) + END AS INT64 + ) AS pessoas_internadas_18_59_anos, + + --column: qtd_pessoa_inter_60_anos_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,329,2)) + END AS INT64 + ) AS pessoas_internadas_mais_60_anos, + + --column: qtd_pessoas_domic_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,319,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,319,2)) + END AS INT64 + ) AS pessoas_domicilio, + + --column: val_desp_agua_esgoto_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,338,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,338,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_agua_esgoto, + + --column: val_desp_alimentacao_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,350,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,350,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_alimentacao, + + --column: val_desp_aluguel_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,362,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,362,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_aluguel, + + --column: val_desp_energia_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,332,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,332,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_energia, + + --column: val_desp_gas_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,344,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,344,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_gas, + + --column: val_desp_medicamentos_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,368,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,368,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_medicamentos, + + --column: val_desp_transpor_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,356,5), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,356,5)) AS INT64) / 100 + END AS FLOAT64 + ) AS despesa_transporte, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '03' + diff --git a/queries/models/protecao_social_cadunico/habitacao.sql b/queries/models/protecao_social_cadunico/habitacao.sql index 46ebcc8..a5c7c4f 100644 --- a/queries/models/protecao_social_cadunico/habitacao.sql +++ b/queries/models/protecao_social_cadunico/habitacao.sql @@ -536,3 +536,69 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '15' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_contrato_prohab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,111,20), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,111,20)) + END AS STRING + ) AS contrato_pro_habitacao, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_natureza_prohab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,70)) + END AS STRING + ) AS natureza_pro_habitacao, + + --column: cod_prog_prohab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS programa_pro_habitacao, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '15' + diff --git a/queries/models/protecao_social_cadunico/identificacao_controle.sql b/queries/models/protecao_social_cadunico/identificacao_controle.sql index 75caebc..3638306 100644 --- a/queries/models/protecao_social_cadunico/identificacao_controle.sql +++ b/queries/models/protecao_social_cadunico/identificacao_controle.sql @@ -3527,3 +3527,451 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '01' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_condicao_cadastro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS id_condicao_cadastro, + --column: cod_condicao_cadastro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^1$') THEN 'Atualizado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^2$') THEN 'Desatualizado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^3$') THEN 'Por Confirmação' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^4$') THEN 'Não Se Aplica' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^5$') THEN 'Por Confirmação Do Usuário' + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS condicao_cadastro, + + --column: cod_est_cadastral_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS id_estado_cadastro, + --column: cod_est_cadastral_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^1$') THEN 'Em Cadastramento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^2$') THEN 'Sem Registro Civil' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^3$') THEN 'Cadastrado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^4$') THEN 'Excluido' + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS estado_cadastro, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_forma_coleta_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS id_forma_coleta, + --column: cod_forma_coleta_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^0$') THEN 'Informação Migrada Como Inexistente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^1$') THEN 'Sem Visita Domiciliar' + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^2$') THEN 'Com Visita Domiciliar' + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS forma_coleta, + + --column: cod_ibge_distrito_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,76,2)) + END AS STRING + ) AS id_distrito, + + --column: cod_ibge_setor_censo_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,80,4)) + END AS STRING + ) AS id_setor_censitario, + + --column: cod_ibge_subdistr_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,78,2)) + END AS STRING + ) AS id_subdistrito, + + --column: cod_modalidade_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,84,1)) + END AS STRING + ) AS id_modalidade, + + --column: cod_munic_ibge_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,2)) + END AS STRING + ) AS id_uf, + + --column: cod_munic_ibge_5_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,5)) + END AS STRING + ) AS id_municipio, + + --column: cod_origem_familia_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1092,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1092,11)) + END AS STRING + ) AS id_familia_origem, + + --column: cod_origem_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1079,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1079,13)) + END AS STRING + ) AS id_prefeitura_origem, + + --column: cod_unidade_territorial_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1120,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1120,10)) + END AS STRING + ) AS id_unidade_territorial, + + --column: dat_alteracao_fam + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,8)) + END ) AS data_alteracao, + + --column: dat_atualizacao_familia + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1112,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1112,8)) + END ) AS data_atualizacao, + + --column: dat_cadastramento_fam + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_catrastro, + + --column: des_complemento_adic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,365,75), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,365,75)) + END AS STRING + ) AS complemento_adicional, + + --column: des_complemento_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,343,22), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,343,22)) + END AS STRING + ) AS complemento, + + --column: dt_cdstr_atual_fmla + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1103,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1103,8)) + END ) AS data_limite_catastro_atual, + + --column: dta_entrevista_fam + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,91,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,91,8)) + END ) AS data_entrevista, + + --column: dta_integracao_escolaridade_fam + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1241,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1241,8)) + END ) AS data_integracao_escolaridade, + + --column: dta_integracao_fam + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1233,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1233,8)) + END ) AS data_integracao_familia, + + --column: filler + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,448,38), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,448,38)) + END AS STRING + ) AS filler, + + --column: flag_fam_alterada_v7 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1111,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1111,1)) + END AS STRING + ) AS id_alterada_v7, + --column: flag_fam_alterada_v7 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1111,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,1111,1), r'^0$') THEN 'Família Não Atualizada Na V7' + WHEN REGEXP_CONTAINS(SUBSTRING(text,1111,1), r'^1$') THEN 'Família Atualizada Na V7' + WHEN REGEXP_CONTAINS(SUBSTRING(text,1111,1), r'^2$') THEN 'Família Oriunda Da V7' + ELSE TRIM(SUBSTRING(text,1111,1)) + END AS STRING + ) AS alterada_v7, + + --column: ind_cadastro_valido_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS id_cadastro_valido, + --column: ind_cadastro_valido_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^2$') THEN 'Não' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^3$') THEN 'Não Se Aplica' + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS cadastro_valido, + + --column: ind_formulario_0_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,86,1)) + END AS STRING + ) AS formulario_0, + + --column: ind_formulario_1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,87,1)) + END AS STRING + ) AS formulario_1, + + --column: ind_formulario_2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,88,1)) + END AS STRING + ) AS formulario_2, + + --column: ind_formulario_sup1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,89,1)) + END AS STRING + ) AS formulario_suplementar_1, + + --column: ind_formulario_sup2_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,90,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,90,1)) + END AS STRING + ) AS formulario_suplementar_2, + + --column: ind_formulario_sup3_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1230,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1230,1)) + END AS STRING + ) AS formulario_suplementar_3, + + --column: ind_trabalho_infantil_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS id_trabalho_infantil, + --column: ind_trabalho_infantil_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS trabalho_infantil, + + --column: nom_entrevistador_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,742,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,742,70)) + END AS STRING + ) AS entrevistador, + + --column: nom_localidade_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,76), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,99,76)) + END AS STRING + ) AS localidade, + + --column: nom_logradouro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,251,76), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,251,76)) + END AS STRING + ) AS logradouro, + + --column: nom_tip_logradouro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,38), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,175,38)) + END AS STRING + ) AS tipo_logradouro, + + --column: nom_titulo_logradouro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,213,38), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,213,38)) + END AS STRING + ) AS titulo_logradouro, + + --column: nom_unidade_territorial_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1130,100), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1130,100)) + END AS STRING + ) AS unidade_territorial, + + --column: nu_origem_cadastro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1231,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1231,2)) + END AS STRING + ) AS origem_cadastro, + + --column: num_cep_logradouro_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,440,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,440,8)) + END AS STRING + ) AS cep, + + --column: num_cpf_entrevistador_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,812,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,812,11)) + END AS STRING + ) AS cpf_entrevistador, + + --column: num_logradouro_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,327,16), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,327,16)) + END AS INT64 + ) AS numero_logradouro, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: txt_obs_entrevistador_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,823,256), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,823,256)) + END AS STRING + ) AS observacoes_entrevistador, + + --column: txt_referencia_local_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,486,256), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,486,256)) + END AS STRING + ) AS refencia_logradouro, + + --column: vlr_renda_media_fam + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,9), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,59,9)) AS INT64) / 100 + END AS FLOAT64 + ) AS valor_renda_media, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '01' + diff --git a/queries/models/protecao_social_cadunico/identificacao_membro.sql b/queries/models/protecao_social_cadunico/identificacao_membro.sql index cbbdd77..b8d9e29 100644 --- a/queries/models/protecao_social_cadunico/identificacao_membro.sql +++ b/queries/models/protecao_social_cadunico/identificacao_membro.sql @@ -2176,3 +2176,274 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '17' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura_origem, + + --column: cod_certidao_registrada_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,406,1)) + END AS STRING + ) AS id_certidao_registrada_cartorio, + --column: cod_certidao_registrada_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^1$') THEN 'Sim E Tem Certidão De Nascimento E/Ou De Casamento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^2$') THEN 'Sim, Mas Não Tem Certidão De Nascimento Nem De Casamento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^3$') THEN 'Não' + WHEN REGEXP_CONTAINS(SUBSTRING(text,406,1), r'^4$') THEN 'Não Sabe' + ELSE TRIM(SUBSTRING(text,406,1)) + END AS STRING + ) AS certidao_registrada_cartorio, + + --column: cod_destino_familia_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,420,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,420,11)) + END AS STRING + ) AS id_familia_destino_transferencia, + + --column: cod_destino_prefeitura_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,407,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,407,13)) + END AS STRING + ) AS id_prefeitura_destino_transferencia, + + --column: cod_est_cadastral_atual_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_estado_cadastro_transferencia_membro, + --column: cod_est_cadastral_atual_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^1$') THEN 'Em Cadastramento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^2$') THEN 'Sem Registro Civil' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^3$') THEN 'Cadastrado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^4$') THEN 'Excluido' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^5$') THEN 'Aguardando Atribuição Nis' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^6$') THEN 'Aguardando Alteração De Caracterização' + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS estado_cadastro_transferencia_membro, + + --column: cod_familiar_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia_origem, + + --column: cod_ibge_munic_nasc_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,355,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,355,7)) + END AS STRING + ) AS id_municipio_nascimento, + + --column: cod_pais_origem_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,431,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,431,4)) + END AS STRING + ) AS id_pais_nascimento, + + --column: cod_raca_cor_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,173,1)) + END AS STRING + ) AS id_raca_cor, + --column: cod_raca_cor_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^1$') THEN 'Branca' + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^2$') THEN 'Preta' + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^3$') THEN 'Amarela' + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^4$') THEN 'Parda' + WHEN REGEXP_CONTAINS(SUBSTRING(text,173,1), r'^5$') THEN 'Indígena' + ELSE TRIM(SUBSTRING(text,173,1)) + END AS STRING + ) AS raca_cor, + + --column: cod_sexo_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,164,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,164,1)) + END AS STRING + ) AS id_sexo, + --column: cod_sexo_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,164,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,164,1), r'^1$') THEN 'Masculino' + WHEN REGEXP_CONTAINS(SUBSTRING(text,164,1), r'^2$') THEN 'Feminino' + ELSE TRIM(SUBSTRING(text,164,1)) + END AS STRING + ) AS sexo, + + --column: dta_nasc_membt + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,165,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,165,8)) + END ) AS data_nascimento, + + --column: dta_transferencia_membt + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_transferencia_membro, + + --column: ind_ibge_munic_nasc_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,362,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,362,1)) + END AS STRING + ) AS sabe_municipio_nascimento, + + --column: ind_nom_completo_mae_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,244,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,244,1)) + END AS STRING + ) AS nao_sabe_nome_mae, + + --column: ind_nom_completo_pai_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,315,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,315,1)) + END AS STRING + ) AS nao_sabe_nome_pai, + + --column: ind_pais_origem_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,405,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,405,1)) + END AS STRING + ) AS nao_sabe_pais_nascimento, + + --column: ind_uf_munic_nasc_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,319,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,319,1)) + END AS STRING + ) AS sabe_sigla_uf_nascimento, + + --column: nom_apelido_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,130,34), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,130,34)) + END AS STRING + ) AS apelido, + + --column: nom_completo_mae_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,174,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,174,70)) + END AS STRING + ) AS nome_mae, + + --column: nom_completo_pai_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,245,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,245,70)) + END AS STRING + ) AS nome_pai, + + --column: nom_ibge_munic_nasc_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,320,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,320,35)) + END AS STRING + ) AS municipio_nascimento, + + --column: nom_memb_t + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,70)) + END AS STRING + ) AS nome, + + --column: nom_pais_origem_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,363,40), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,363,40)) + END AS STRING + ) AS pais_nascimento, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_nis_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,119,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,119,11)) + END AS STRING + ) AS nis, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: sig_uf_munic_nasc_membt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,317,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,317,2)) + END AS STRING + ) AS sigla_uf_nascimento, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '17' + diff --git a/queries/models/protecao_social_cadunico/identificacao_primeira_pessoa.sql b/queries/models/protecao_social_cadunico/identificacao_primeira_pessoa.sql index 1155f77..78fde25 100644 --- a/queries/models/protecao_social_cadunico/identificacao_primeira_pessoa.sql +++ b/queries/models/protecao_social_cadunico/identificacao_primeira_pessoa.sql @@ -3308,3 +3308,417 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '04' +UNION ALL + + +SELECT + + --column: chv_nat_pes_atual + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,505,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,505,13)) + END AS STRING + ) AS id_pessoa, + + --column: chv_nat_pes_original + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,518,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,518,13)) + END AS STRING + ) AS id_original_pessoa, + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_certidao_registrada_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,419,1)) + END AS STRING + ) AS id_certidao_registrada_cartorio, + --column: cod_certidao_registrada_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^1$') THEN 'Sim E Tem Certidão De Nascimento E/Ou De Casamento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^2$') THEN 'Sim, Mas Não Tem Certidão De Nascimento Nem De Casamento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^3$') THEN 'Não' + WHEN REGEXP_CONTAINS(SUBSTRING(text,419,1), r'^4$') THEN 'Não Sabe' + ELSE TRIM(SUBSTRING(text,419,1)) + END AS STRING + ) AS certidao_registrada_cartorio, + + --column: cod_est_cadastral_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS id_estado_cadastral, + --column: cod_est_cadastral_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^1$') THEN 'Em Cadastramento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^2$') THEN 'Sem Registro Civil' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^3$') THEN 'Cadastrado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^4$') THEN 'Excluido' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^5$') THEN 'Aguardando Atribuição Nis' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^6$') THEN 'Aguardando Alteração De Caracterização' + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS estado_cadastral, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_ibge_munic_nasc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,368,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,368,7)) + END AS STRING + ) AS id_municipio_nascimento, + + --column: cod_local_nascimento_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,329,1)) + END AS STRING + ) AS id_local_nascimento, + --column: cod_local_nascimento_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,1), r'^1$') THEN 'Neste Município' + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,1), r'^2$') THEN 'Em Outro Município' + WHEN REGEXP_CONTAINS(SUBSTRING(text,329,1), r'^3$') THEN 'Em Outro País' + ELSE TRIM(SUBSTRING(text,329,1)) + END AS STRING + ) AS local_nascimento, + + --column: cod_origem_familia_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,433,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,433,11)) + END AS STRING + ) AS id_familia_origem, + + --column: cod_origem_prefeitura_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,420,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,420,13)) + END AS STRING + ) AS id_prefeitura_origem, + + --column: cod_pais_origem_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,542,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,542,4)) + END AS STRING + ) AS id_pais_origem, + + --column: cod_parentesco_rf_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,184,2)) + END AS STRING + ) AS id_parentesco_responsavel_familia, + --column: cod_parentesco_rf_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^01$') THEN 'Pessoa Responsável pela Unidade Familiar - RF' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^02$') THEN 'Cônjuge ou companheiro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^03$') THEN 'Filho(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^04$') THEN 'Enteado(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^05$') THEN 'Neto(a) ou bisneto(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^06$') THEN 'Pai ou mãe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^07$') THEN 'Sogro(a)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^08$') THEN 'Irmão ou irmã' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^09$') THEN 'Genro ou nora' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^10$') THEN 'Outro parente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,2), r'^11$') THEN 'Não parente' + ELSE TRIM(SUBSTRING(text,184,2)) + END AS STRING + ) AS parentesco_responsavel_familia, + + --column: cod_raca_cor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,186,1)) + END AS STRING + ) AS id_raca_cor, + --column: cod_raca_cor_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^1$') THEN 'Branca' + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^2$') THEN 'Preta' + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^3$') THEN 'Amarela' + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^4$') THEN 'Parda' + WHEN REGEXP_CONTAINS(SUBSTRING(text,186,1), r'^5$') THEN 'Indígena' + ELSE TRIM(SUBSTRING(text,186,1)) + END AS STRING + ) AS raca_cor, + + --column: cod_sexo_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,175,1)) + END AS STRING + ) AS id_sexo, + --column: cod_sexo_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^1$') THEN 'Masculino' + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,1), r'^2$') THEN 'Feminino' + ELSE TRIM(SUBSTRING(text,175,1)) + END AS STRING + ) AS sexo, + + --column: dta_atual_memb + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,8)) + END ) AS data_ultima_atualizacao, + + --column: dta_cadastramento_memb + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_cadastro, + + --column: dta_nasc_pessoa + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,176,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,176,8)) + END ) AS data_nascimento, + + --column: ind_ibge_munic_nasc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,375,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,375,1)) + END AS STRING + ) AS sabe_id_municipio_nascimento, + + --column: ind_nom_completo_mae_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,257,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,257,1)) + END AS STRING + ) AS nao_sabe_nome_mae, + + --column: ind_nom_completo_pai_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,328,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,328,1)) + END AS STRING + ) AS nao_sabe_nome_pai, + + --column: ind_pais_origem_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,418,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,418,1)) + END AS STRING + ) AS id_sabe_pais_nascimento, + --column: ind_pais_origem_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,418,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,418,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,418,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,418,1)) + END AS STRING + ) AS sabe_pais_nascimento, + + --column: ind_trabalho_infantil_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS id_trabalho_infantil, + --column: ind_trabalho_infantil_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS trabalho_infantil, + + --column: ind_transferencia_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,444,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,444,1)) + END AS STRING + ) AS foi_transferido, + + --column: ind_uf_munic_nasc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,332,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,332,1)) + END AS STRING + ) AS sabe_uf_nascimento, + + --column: nom_apelido_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,141,34), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,141,34)) + END AS STRING + ) AS apelido, + + --column: nom_completo_mae_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,187,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,187,70)) + END AS STRING + ) AS nome_mae, + + --column: nom_completo_pai_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,258,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,258,70)) + END AS STRING + ) AS nome_pai, + + --column: nom_ibge_munic_nasc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,333,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,333,35)) + END AS STRING + ) AS municipio_nascimento, + + --column: nom_origem_alteracao_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,445,60), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,445,60)) + END AS STRING + ) AS origem_alteracao, + + --column: nom_pais_origem_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,376,40), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,376,40)) + END AS STRING + ) AS pais_nascimento, + + --column: nom_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,60,70)) + END AS STRING + ) AS nome, + + --column: nu_nis_original + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,531,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,531,11)) + END AS STRING + ) AS nis_original, + + --column: nu_origem_cadastro_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,546,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,546,2)) + END AS STRING + ) AS id_origem_cadastro_pessoa, + --column: nu_origem_cadastro_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,546,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,546,2), r'^01$') THEN 'Online' + WHEN REGEXP_CONTAINS(SUBSTRING(text,546,2), r'^02$') THEN 'APP' + ELSE TRIM(SUBSTRING(text,546,2)) + END AS STRING + ) AS origem_cadastro_pessoa, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_nis_pessoa_atual + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,130,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,130,11)) + END AS STRING + ) AS nis, + + --column: num_ordem_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,2)) + END AS STRING + ) AS id_numero_ordem, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: sig_uf_munic_nasc_pessoa + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,330,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,330,2)) + END AS STRING + ) AS sigla_uf_municipio_nascimento, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '04' + diff --git a/queries/models/protecao_social_cadunico/pessoa_deficiencia.sql b/queries/models/protecao_social_cadunico/pessoa_deficiencia.sql index 3dd9d5e..ddfd000 100644 --- a/queries/models/protecao_social_cadunico/pessoa_deficiencia.sql +++ b/queries/models/protecao_social_cadunico/pessoa_deficiencia.sql @@ -1376,3 +1376,174 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '06' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_deficiencia_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_tem_deficiencia, + --column: cod_deficiencia_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS tem_deficiencia, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: ind_ajuda_especializado_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS ajuda_especializada, + + --column: ind_ajuda_familia_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS ajuda_familia, + + --column: ind_ajuda_instituicao_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS ajuda_instituicao_social, + + --column: ind_ajuda_nao_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS nao_recebe_ajuda, + + --column: ind_ajuda_outra_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS ajuda_terceiros, + + --column: ind_ajuda_vizinho_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS ajuda_vizinhos, + + --column: ind_def_baixa_visao_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS deficiencia_baixa_visao, + + --column: ind_def_cegueira_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS deficiencia_cegueira, + + --column: ind_def_fisica_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS deficiencia_fisica, + + --column: ind_def_mental_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS deficiencia_mental, + + --column: ind_def_sindrome_down_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS deficiencia_sindrome_down, + + --column: ind_def_surdez_leve_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS deficiencia_surdez_leve, + + --column: ind_def_surdez_profunda_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS deficiencia_surdez_profunda, + + --column: ind_def_transtorno_mental_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS deficiencia_transtorno_mental, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '06' + diff --git a/queries/models/protecao_social_cadunico/prefeitura.sql b/queries/models/protecao_social_cadunico/prefeitura.sql index 5c90f47..d169065 100644 --- a/queries/models/protecao_social_cadunico/prefeitura.sql +++ b/queries/models/protecao_social_cadunico/prefeitura.sql @@ -544,3 +544,70 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '98' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_munic_ibge_2_pre + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,2)) + END AS STRING + ) AS sigla_uf, + + --column: cod_munic_ibge_5_pre + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,5)) + END AS STRING + ) AS if_municipio, + + --column: ind_migracao_pre + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS id_migracao, + --column: ind_migracao_pre + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^1$') THEN 'Sim' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^2$') THEN 'Não' + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS migracao, + + --column: nom_prefeitura_pre + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,70)) + END AS STRING + ) AS prefeitura, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '98' + diff --git a/queries/models/protecao_social_cadunico/registros.sql b/queries/models/protecao_social_cadunico/registros.sql index b382917..612b41c 100644 --- a/queries/models/protecao_social_cadunico/registros.sql +++ b/queries/models/protecao_social_cadunico/registros.sql @@ -1658,3 +1658,208 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '99' +UNION ALL + + +SELECT + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_reg_00_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,9)) + END AS INT64 + ) AS registros_tipo_00, + + --column: qtd_reg_01_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,9)) + END AS INT64 + ) AS registros_tipo_01, + + --column: qtd_reg_02_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,9)) + END AS INT64 + ) AS registros_tipo_02, + + --column: qtd_reg_03_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,9)) + END AS INT64 + ) AS registros_tipo_03, + + --column: qtd_reg_04_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,76,9)) + END AS INT64 + ) AS registros_tipo_04, + + --column: qtd_reg_05_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,85,9)) + END AS INT64 + ) AS registros_tipo_05, + + --column: qtd_reg_06_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,94,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,94,9)) + END AS INT64 + ) AS registros_tipo_06, + + --column: qtd_reg_07_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,103,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,103,9)) + END AS INT64 + ) AS registros_tipo_07, + + --column: qtd_reg_08_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,112,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,112,9)) + END AS INT64 + ) AS registros_tipo_08, + + --column: qtd_reg_09_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,121,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,121,9)) + END AS INT64 + ) AS registros_tipo_09, + + --column: qtd_reg_10_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,130,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,130,9)) + END AS INT64 + ) AS registros_tipo_10, + + --column: qtd_reg_11_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,139,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,139,9)) + END AS INT64 + ) AS registros_tipo_11, + + --column: qtd_reg_12_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,148,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,148,9)) + END AS INT64 + ) AS registros_tipo_12, + + --column: qtd_reg_13_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,157,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,157,9)) + END AS INT64 + ) AS registros_tipo_13, + + --column: qtd_reg_14_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,166,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,166,9)) + END AS INT64 + ) AS registros_tipo_14, + + --column: qtd_reg_15_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,175,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,175,9)) + END AS INT64 + ) AS registros_tipo_15, + + --column: qtd_reg_16_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,184,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,184,9)) + END AS INT64 + ) AS registros_tipo_16, + + --column: qtd_reg_17_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,193,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,193,9)) + END AS INT64 + ) AS registros_tipo_17, + + --column: qtd_reg_18_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,202,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,202,9)) + END AS INT64 + ) AS registros_tipo_18, + + --column: qtd_reg_19_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,211,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,211,9)) + END AS INT64 + ) AS registros_tipo_19, + + --column: qtd_reg_20_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,220,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,220,9)) + END AS INT64 + ) AS registros_tipo_20, + + --column: qtd_reg_21_tlr + NULL AS registros_tipo_21, --Essa coluna não esta na versao posterior + + --column: qtd_reg_98_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,229,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,229,9)) + END AS INT64 + ) AS registros_tipo_98, + + --column: qtd_reg_99_tlr + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,238,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,238,9)) + END AS INT64 + ) AS registros_tipo_99, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '99' + diff --git a/queries/models/protecao_social_cadunico/renda.sql b/queries/models/protecao_social_cadunico/renda.sql index b6999fd..631850b 100644 --- a/queries/models/protecao_social_cadunico/renda.sql +++ b/queries/models/protecao_social_cadunico/renda.sql @@ -977,3 +977,326 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '21' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_afastado_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS id_afastado_semana_passada, + + --column: cod_agricultura_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS id_atividade_extravista, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_orgm_vlr_outra_fonte_renda + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS id_origem_valor_outra_fonte, + --column: cod_orgm_vlr_outra_fonte_renda + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS origem_valor_outra_fonte, + + --column: cod_orgm_vlr_pensao_ali + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS id_origem_valor_pensao_alimenticia, + --column: cod_orgm_vlr_pensao_ali + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS origem_valor_pensao_alimenticia, + + --column: cod_orgm_vlr_rndmo_bruto_prdo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS id_origem_valor_rendimento_bruto, + --column: cod_orgm_vlr_rndmo_bruto_prdo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS origem_valor_rendimento_bruto, + + --column: cod_orgm_vlr_rndmo_mes_passado + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS id_origem_valor_rendimento_mes_passado, + --column: cod_orgm_vlr_rndmo_mes_passado + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS origem_valor_rendimento_mes_passado, + + --column: cod_orgm_vlr_seguro_desemprego + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS id_origem_valor_seguro_desemprego, + --column: cod_orgm_vlr_seguro_desemprego + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS origem_valor_seguro_desemprego, + + --column: cod_origem_valor_ajuda_doacao + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS id_origem_valor_ajuda_doacao, + --column: cod_origem_valor_ajuda_doacao + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS origem_valor_ajuda_doacao, + + --column: cod_origem_valor_aposentadoria + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS id_origem_valor_aposentadoria, + --column: cod_origem_valor_aposentadoria + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS origem_valor_aposentadoria, + + --column: cod_principal_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,2)) + END AS STRING + ) AS id_funcao_principal_trabalho, + --column: cod_principal_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^01$') THEN 'Trabalhador por conta própria (bico, autônomo)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^02$') THEN 'Trabalhador temporário em área rural' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^03$') THEN 'Empregado sem carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^04$') THEN 'Empregado com carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^05$') THEN 'Trabalhador doméstico sem carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^06$') THEN 'Trabalhador doméstico com carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^07$') THEN 'Trabalhador não-remunerado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^08$') THEN 'Militar ou servidor público' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^09$') THEN 'Empregador' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^10$') THEN 'Estagiário' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^11$') THEN 'Aprendiz' + ELSE TRIM(SUBSTRING(text,43,2)) + END AS STRING + ) AS funcao_principal_trabalho, + + --column: cod_trabalho_12_meses_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_trabalho_remunerado_ultimos_12_meses, + + --column: cod_trabalhou_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_trabalho_semana_passada, + + --column: dt_intgo_vlr_aposentadoria + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,86,8)) + END ) AS data_integracao_aposentadoria, + + --column: dt_intgo_vlr_outra_fonte_rnda + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,94,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,94,8)) + END ) AS data_integracao_outras_fonte, + + --column: dt_intgo_vlr_rndmo_bruto + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,78,8)) + END ) AS data_integracao_renda_bruta_12_meses, + + --column: dt_intgo_vlr_rndmo_mes_passado + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,70,8)) + END ) AS data_integracao_emprego_ultimo_mes, + + --column: fx_rnd_val_outras_rendas_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,61,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_outras_rendas, + + --column: fx_rnd_val_remuner_emprego_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,45,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_emprego_ultimo_mes, + + --column: fx_rnd_val_renda_aposent_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,55,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_aposentadoria, + + --column: fx_rnd_val_renda_bruta_12_meses_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,51,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_bruta_12_meses, + + --column: fx_rnd_val_renda_doacao_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,53,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_doacao, + + --column: fx_rnd_val_renda_pensao_alimen_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,59,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_pensao_alimenticia, + + --column: fx_rnd_val_renda_seguro_desemp_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,2), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,57,2)) AS INT64) / 100 + END AS FLOAT64 + ) AS renda_seguro_desemprego, + + --column: ind_val_remuner_emprego_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS nao_recebe_remuneracao, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_meses_12_meses_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,2)) + END AS INT64 + ) AS meses_trabalhados_nos_ultimos_12, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '21' + diff --git a/queries/models/protecao_social_cadunico/representante_legal.sql b/queries/models/protecao_social_cadunico/representante_legal.sql index eef87b6..0c71f40 100644 --- a/queries/models/protecao_social_cadunico/representante_legal.sql +++ b/queries/models/protecao_social_cadunico/representante_legal.sql @@ -2816,3 +2816,354 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '20' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura_representante_legal, + + --column: chv_natural_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,807,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,807,13)) + END AS STRING + ) AS id_representante_legal, + + --column: cod_familiar_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia_representante_legal, + + --column: cod_ibge_municipio_nascimento_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,280,7), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,280,7)) + END AS STRING + ) AS id_minicipio_nascimento_representante_legal, + + --column: cod_pais_nasicmento_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,324,4), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,324,4)) + END AS STRING + ) AS id_pais_nascimento_representante_legal, + + --column: cod_sexo_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,129,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,129,1)) + END AS STRING + ) AS id_sexo_representante_legal, + --column: cod_sexo_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,129,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,129,1), r'^1$') THEN 'Masculino' + WHEN REGEXP_CONTAINS(SUBSTRING(text,129,1), r'^2$') THEN 'Feminino' + ELSE TRIM(SUBSTRING(text,129,1)) + END AS STRING + ) AS sexo_representante_legal, + + --column: desc_complemento_lograd_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,923,53), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,923,53)) + END AS STRING + ) AS descricao_complemento_logradouro_representante_legal, + + --column: desc_representacao_legal + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,557,250), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,557,250)) + END AS STRING + ) AS descricao_representacao_legal, + + --column: dta_cadastramento_rl + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_cadastro_representante_legal, + + --column: dta_nasc_rl + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,130,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,130,8)) + END ) AS data_nascimento_representante_legal, + + --column: email_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,407,50), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,407,50)) + END AS STRING + ) AS email_representante_legal, + + --column: ic_obito_acatado_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,380,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,380,1)) + END AS STRING + ) AS id_obito_acatado_representante_legal, + --column: ic_obito_acatado_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,380,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,380,1), r'^S$') THEN 'Óbito Acatado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,380,1), r'^N$') THEN 'Óbito Não Acatado' + ELSE TRIM(SUBSTRING(text,380,1)) + END AS STRING + ) AS obito_acatado_representante_legal, + + --column: ic_obito_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,379,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,379,1)) + END AS STRING + ) AS id_obito_representante_legal, + --column: ic_obito_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,379,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,379,1), r'^S$') THEN 'Possui Óbito' + WHEN REGEXP_CONTAINS(SUBSTRING(text,379,1), r'^N$') THEN 'Não Possui' + ELSE TRIM(SUBSTRING(text,379,1)) + END AS STRING + ) AS obito_representante_legal, + + --column: ind_nom_completo_mae_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,208,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,208,1)) + END AS STRING + ) AS nao_sabe_nome_mae_representante_legal, + + --column: ind_nom_completo_pai_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,279,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,279,1)) + END AS STRING + ) AS nao_sabe_nome_pai_representante_legal, + + --column: nom_completo_mae_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,138,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,138,70)) + END AS STRING + ) AS mae_representante_legal, + + --column: nom_completo_pai_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,209,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,209,70)) + END AS STRING + ) AS pai_representante_legal, + + --column: nom_pessoa_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,70), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,70)) + END AS STRING + ) AS representante_legal, + + --column: nome_bairro_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,984,40), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,984,40)) + END AS STRING + ) AS bairro_representante_legal, + + --column: nome_logradouro_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,858,50), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,858,50)) + END AS STRING + ) AS logradouro_representante_legal, + + --column: nome_municipio_nascimento_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,287,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,287,35)) + END AS STRING + ) AS municipio_nascimento_representante_legal, + + --column: nome_municipio_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1033,35), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1033,35)) + END AS STRING + ) AS municipio_representante_legal, + + --column: nome_pais_nascimento_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,328,40), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,328,40)) + END AS STRING + ) AS pais_nascimento_representante_legal, + + --column: nome_tipo_logradouro_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,820,38), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,820,38)) + END AS STRING + ) AS tipo_logradouro_representante_legal, + + --column: num_cep_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,976,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,976,8)) + END AS STRING + ) AS cep_representante_legal, + + --column: num_cpf_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,368,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,368,11)) + END AS STRING + ) AS cpf_representante_legal, + + --column: num_ddd_contato_1_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,381,3), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,381,3)) + END AS STRING + ) AS contato_ddd_representante_legal, + + --column: num_ddd_contato_2_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,394,3), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,394,3)) + END AS STRING + ) AS contato_ddd_2_representante_legal, + + --column: num_logradouro_rl + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,908,15), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,908,15)) + END AS INT64 + ) AS numero_logradouro_representante_legal, + + --column: num_nis_pessoa_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,118,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,118,11)) + END AS STRING + ) AS nis_representante_legal, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: num_rl_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_interno_representante_legal, + + --column: num_tel_contato_1_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,384,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,384,10)) + END AS STRING + ) AS contato_telefone_representante_legal, + + --column: num_tel_contato_2_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,397,10), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,397,10)) + END AS STRING + ) AS contato_telefone_2_representante_legal, + + --column: numero_municipio_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1024,9), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1024,9)) + END AS STRING + ) AS id_municipio_representante_legal, + + --column: sigla_uf_nascimento_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,322,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,322,2)) + END AS STRING + ) AS sigla_uf_nascimento_representante_legal, + + --column: sigla_uf_rl + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1068,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1068,2)) + END AS STRING + ) AS sigla_uf_representante_legal, + + --column: tipo_representacao_legal + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,457,100), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,457,100)) + END AS STRING + ) AS id_tipo_representacao_legal, + --column: tipo_representacao_legal + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,457,100), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,457,100), r'^01$') THEN 'Curatela' + WHEN REGEXP_CONTAINS(SUBSTRING(text,457,100), r'^02$') THEN 'Tutela' + WHEN REGEXP_CONTAINS(SUBSTRING(text,457,100), r'^03$') THEN 'Guarda' + ELSE TRIM(SUBSTRING(text,457,100)) + END AS STRING + ) AS tipo_representacao_legal, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '20' + diff --git a/queries/models/protecao_social_cadunico/schema.yml b/queries/models/protecao_social_cadunico/schema.yml index a437a20..c09a9ba 100644 --- a/queries/models/protecao_social_cadunico/schema.yml +++ b/queries/models/protecao_social_cadunico/schema.yml @@ -4,747 +4,765 @@ models : description: Table controle from number 00 columns: - name: versao_layout_arquivo - description: "FORMATO '06.09' | version: 0619" + description: "FORMATO '06.09' | version: 0620" - name: data_extracao_dados - description: 'Data da extração no formato DDMMAAAA | version: 0619' + description: 'Data da extração no formato DDMMAAAA | version: 0620' - name: data_posicao_cadastro - description: 'Posição cadastral extraída no formato DDMMAAAA | version: 0619' + description: 'Posição cadastral extraída no formato DDMMAAAA | version: 0620' - name: nome_arquivo - description: 'ESPELHO CADUNICO 7 MUNICIPAL | version: 0619' + description: 'ESPELHO CADUNICO 7 MUNICIPAL | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: identificacao_controle description: Table identificacao_controle from number 01 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_condicao_cadastro description: 'Código de condição do cadastro da família: 1- ATUALIZADO 2- DESATUALIZADO 3- POR CONFIRMAÇÃO 4- NÃO SE APLICA 5 – POR CONFIRMAÇÃO DO - USUÁRIO | version: 0619' + USUÁRIO | version: 0620' - name: condicao_cadastro description: 'Código de condição do cadastro da família: 1- ATUALIZADO 2- DESATUALIZADO 3- POR CONFIRMAÇÃO 4- NÃO SE APLICA 5 – POR CONFIRMAÇÃO DO - USUÁRIO | version: 0619' + USUÁRIO | version: 0620' - name: id_estado_cadastro description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO - CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0619' + CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0620' - name: estado_cadastro description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO - CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0619' + CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_forma_coleta description: 'Forma de coleta: 0-Informação migrada como inexistente, 1-Sem - visita domiciliar 2-Com visita domiciliar | version: 0619' + visita domiciliar 2-Com visita domiciliar | version: 0620' - name: forma_coleta description: 'Forma de coleta: 0-Informação migrada como inexistente, 1-Sem - visita domiciliar 2-Com visita domiciliar | version: 0619' + visita domiciliar 2-Com visita domiciliar | version: 0620' - name: id_distrito - description: 'Distrito relacionado ao código IBGE | version: 0619' + description: 'Distrito relacionado ao código IBGE | version: 0620' - name: id_setor_censitario - description: 'Setor Censitário relacionado ao código IBGE | version: 0619' + description: 'Setor Censitário relacionado ao código IBGE | version: 0620' - name: id_subdistrito - description: 'Subdistrito relacionado ao código IBGE | version: 0619' + description: 'Subdistrito relacionado ao código IBGE | version: 0620' - name: id_modalidade - description: 'Modalidade da operação: 1-Inclusão, 2-Alteração | version: 0619' + description: 'Modalidade da operação: 1-Inclusão, 2-Alteração | version: 0620' - name: id_uf description: 'Primeira parte do código IBGE: numérico de dois algarismos descrevendo - sua UF | version: 0619' + sua UF | version: 0620' - name: id_municipio - description: 'Segunda parte do código IBGE | version: 0619' + description: 'Segunda parte do código IBGE | version: 0620' - name: id_familia_origem description: 'CÓDIGO DA FAMÍLIA DE ORIGEM ANTES DA TRANFERÊNCIA | version: - 0619' + 0620' - name: id_prefeitura_origem description: 'CÓDIGO DA PREFEITURA DE ORIGEM ANTES DA TRANFERÊNCIA | version: - 0619' + 0620' - name: id_unidade_territorial description: 'Código da Unidade Territorial Local, campo numérico formato - NNNNN | version: 0619' + NNNNN | version: 0620' - name: data_alteracao description: 'Data da última alteração da família no formato DDMMAAAA | version: - 0619' + 0620' - name: data_atualizacao description: 'Data da atualização da família no formato DDMMAAAA dos dados - considerados sensíveis a manutenção do cadastro | version: 0619' + considerados sensíveis a manutenção do cadastro | version: 0620' - name: data_catrastro description: 'Data do cadastramento da Família, formato DDMMAAAA | version: - 0619' + 0620' - name: complemento_adicional - description: 'Complemento adicional do endereço | version: 0619' + description: 'Complemento adicional do endereço | version: 0620' - name: complemento - description: 'Complemento do número do endereço | version: 0619' + description: 'Complemento do número do endereço | version: 0620' - name: data_limite_catastro_atual description: 'Data Limite para atualização do cadastro da família | version: - 0619' + 0620' - name: data_entrevista - description: 'Data da entrevista no formato DDMMAAAA | version: 0619' + description: 'Data da entrevista no formato DDMMAAAA | version: 0620' - name: data_integracao_escolaridade description: 'Data de integração referente a data de processamento de arquivo - de escolaridade no formato DDMMAAAA | version: 0619' + de escolaridade no formato DDMMAAAA | version: 0620' - name: data_integracao_familia description: 'Data de integração referente a data de processamento de arquivo - de renda origem CNIS no formato DDMMAAAA | version: 0619' + de renda origem CNIS no formato DDMMAAAA | version: 0620' - name: filler - description: 'Espaços em branco. | version: 0619' + description: 'Espaços em branco. | version: 0620' - name: id_alterada_v7 description: '0-Família não atualizada na V7 1-Família atualizada na V7 2-Família - oriunda da V7 | version: 0619' + oriunda da V7 | version: 0620' - name: alterada_v7 description: '0-Família não atualizada na V7 1-Família atualizada na V7 2-Família - oriunda da V7 | version: 0619' + oriunda da V7 | version: 0620' - name: id_cadastro_valido - description: 'Cadastro válido: 1- Sim 2- Não 3- Não se Aplica | version: 0619' + description: 'Cadastro válido: 1- Sim 2- Não 3- Não se Aplica | version: 0620' - name: cadastro_valido - description: 'Cadastro válido: 1- Sim 2- Não 3- Não se Aplica | version: 0619' + description: 'Cadastro válido: 1- Sim 2- Não 3- Não se Aplica | version: 0620' - name: formulario_0 description: "O conteúdo deste campo é 1 se a Opção '0-Principal' for marcada - no formulário, caso contrário o conteúdo é 0 | version: 0619" + no formulário, caso contrário o conteúdo é 0 | version: 0620" - name: formulario_1 description: "O conteúdo deste campo é 1 se a Opção '1-Avulso 1' for marcada - no formulário, caso contrário o conteúdo é 0 | version: 0619" + no formulário, caso contrário o conteúdo é 0 | version: 0620" - name: formulario_2 description: "O conteúdo deste campo é 1 se a Opção '2-Avulso 2' for marcada - no formulário, caso contrário o conteúdo é 0 | version: 0619" + no formulário, caso contrário o conteúdo é 0 | version: 0620" - name: formulario_suplementar_1 description: 'O conteúdo deste campo é 1 se a opção 3-Formulário Suplementar 1 for marcada no formulário e o código do form suplementar 1 estiver transcrito - no campo textual relacionado, caso contrário o conteúdo é 0 | version: 0619' + no campo textual relacionado, caso contrário o conteúdo é 0 | version: 0620' - name: formulario_suplementar_2 description: "O conteúdo deste campo é 1 se na Opção '3-Suplementar(es) nº(s)' for marcada no formulário e o código do form Suplementar 2 estiver transcrito - no campo textual relacionado, caso contrário o conteúdo é 0 | version: 0619" + no campo textual relacionado, caso contrário o conteúdo é 0 | version: 0620" - name: formulario_suplementar_3 description: "O conteúdo deste campo é 1 se na Opção '1.09 – Formulários Preenchidos’ for marcada a opção 5 – Formulário Suplementar 3, caso contrário o conteúdo - é 0 | version: 0619" + é 0 | version: 0620" - name: id_trabalho_infantil - description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0619' + description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0620' - name: trabalho_infantil - description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0619' + description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0620' - name: entrevistador - description: 'Nome do entrevistador | version: 0619' + description: 'Nome do entrevistador | version: 0620' - name: localidade - description: 'Nome da localidade | version: 0619' + description: 'Nome da localidade | version: 0620' - name: logradouro - description: 'Nome do logradouro | version: 0619' + description: 'Nome do logradouro | version: 0620' - name: tipo_logradouro - description: 'Típo de logradouro | version: 0619' + description: 'Típo de logradouro | version: 0620' - name: titulo_logradouro - description: 'Título do logradouro | version: 0619' + description: 'Título do logradouro | version: 0620' - name: unidade_territorial - description: 'Nome da Unidade Territorial Local | version: 0619' + description: 'Nome da Unidade Territorial Local | version: 0620' - name: origem_cadastro description: "Valor contendo o domínio da origem\nAtualmente temos as origens: - 01 – Online\n02 – APP | version: 0619" + 01 – Online\n02 – APP | version: 0620" - name: cep - description: 'CEP do endereço, formato 99999999 | version: 0619' + description: 'CEP do endereço, formato 99999999 | version: 0620' - name: cpf_entrevistador description: 'CPF do entrevistador, campo numérico no formato NNNNNNNNNNN - | version: 0619' + | version: 0620' - name: numero_logradouro - description: 'Número do endereço | version: 0619' + description: 'Número do endereço | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: observacoes_entrevistador - description: 'Observações apontadas pelo entrevistador | version: 0619' + description: 'Observações apontadas pelo entrevistador | version: 0620' - name: refencia_logradouro - description: 'Referência para localização do endereço | version: 0619' + description: 'Referência para localização do endereço | version: 0620' - name: valor_renda_media description: 'Valor da renda média (per capita) da família, formato NNNNNNNNN - | version: 0619' + | version: 0620' - name: domicilio description: Table domicilio from number 02 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_forma_abatecimento_agua_domicilio description: 'Forma de abastecimento de água: campo numérico de 1 posição variando de 1 a 4, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: forma_abatecimento_agua_domicilio description: 'Forma de abastecimento de água: campo numérico de 1 posição variando de 1 a 4, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: id_possui_agua_encanada_domicilio - description: 'Se o domicílio tem água encanada: 1-Sim, 2-Não | version: 0619' + description: 'Se o domicílio tem água encanada: 1-Sim, 2-Não | version: 0620' - name: possui_agua_encanada_domicilio - description: 'Se o domicílio tem água encanada: 1-Sim, 2-Não | version: 0619' + description: 'Se o domicílio tem água encanada: 1-Sim, 2-Não | version: 0620' - name: id_possui_banheiro_domicilio - description: 'Existência de banheiro: 1-Sim, 2-Não | version: 0619' + description: 'Existência de banheiro: 1-Sim, 2-Não | version: 0620' - name: possui_banheiro_domicilio - description: 'Existência de banheiro: 1-Sim, 2-Não | version: 0619' + description: 'Existência de banheiro: 1-Sim, 2-Não | version: 0620' - name: id_calcamento_domicilio - description: 'Calçamento: 1-Total, 2-Parcial, 3-Não Existe | version: 0619' + description: 'Calçamento: 1-Total, 2-Parcial, 3-Não Existe | version: 0620' - name: calcamento_domicilio - description: 'Calçamento: 1-Total, 2-Parcial, 3-Não Existe | version: 0619' + description: 'Calçamento: 1-Total, 2-Parcial, 3-Não Existe | version: 0620' - name: id_destino_lixo_domicilio description: 'Forma de coleta do lixo: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: destino_lixo_domicilio description: 'Forma de coleta do lixo: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: id_escoamento_sanitario_domicilio description: 'Forma de escoamento sanitário: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: escoamento_sanitario_domicilio description: 'Forma de escoamento sanitário: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: id_especie_domicilio description: 'Espécie do domicílio: 1-Particular Permanente, 2-Particular - improvisado, 3-Coletivo | version: 0619' + improvisado, 3-Coletivo | version: 0620' - name: especie_domicilio description: 'Espécie do domicílio: 1-Particular Permanente, 2-Particular - improvisado, 3-Coletivo | version: 0619' + improvisado, 3-Coletivo | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_iluminacao_domicilio description: 'Iluminação: campo numérico de 1 posição variando de 1 a 6, dependendo - da opção marcada no formulário | version: 0619' + da opção marcada no formulário | version: 0620' - name: iluminacao_domicilio description: 'Iluminação: campo numérico de 1 posição variando de 1 a 6, dependendo - da opção marcada no formulário | version: 0619' + da opção marcada no formulário | version: 0620' - name: id_local_domicilio description: 'Características do local onde está situado o domicílio: 1-Urbanas, - 2-Rurais | version: 0619' + 2-Rurais | version: 0620' - name: local_domicilio description: 'Características do local onde está situado o domicílio: 1-Urbanas, - 2-Rurais | version: 0619' + 2-Rurais | version: 0620' - name: id_material_domicilio description: 'Material predominante nas paredes externas do domicílio, campo numérico de 1 posição variando de 1 a 8 dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: material_domicilio description: 'Material predominante nas paredes externas do domicílio, campo numérico de 1 posição variando de 1 a 8 dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: id_material_piso_domicilio description: 'Material predominante no piso do domicílio, campo numérico de 1 posição variando de 1 a 7 dependendo da opção marcada no formulário | - version: 0619' + version: 0620' - name: material_piso_domicilio description: 'Material predominante no piso do domicílio, campo numérico de 1 posição variando de 1 a 7 dependendo da opção marcada no formulário | - version: 0619' + version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: quantidade_comodos_domicilio description: 'Qtd de comodos do domicilio, campo numérico de 2 posições | - version: 0619' + version: 0620' - name: quantidade_comodos_dormitorio description: 'Qtd de comodo servindo como dormitório do domicilio, campo numérico - de 2 posições | version: 0619' + de 2 posições | version: 0620' - name: familia description: Table familia from number 03 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_cras_creas - description: 'Código do CRAS/CREAS | version: 0619' + description: 'Código do CRAS/CREAS | version: 0620' - name: id_comunidade_quilombola description: 'Código da comunidade quilombola, campo numérico de 4 posições - no formato NNNN | version: 0619' + no formato NNNN | version: 0620' - name: id_familia_indigena - description: 'Família indígena: 1-Sim, 2-Não | version: 0619' + description: 'Família indígena: 1-Sim, 2-Não | version: 0620' - name: familia_indigena - description: 'Família indígena: 1-Sim, 2-Não | version: 0619' + description: 'Família indígena: 1-Sim, 2-Não | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_indigena_residente - description: '1-Sim 2-Não | version: 0619' + description: '1-Sim 2-Não | version: 0620' - name: indigena_residente - description: '1-Sim 2-Não | version: 0619' + description: '1-Sim 2-Não | version: 0620' - name: id_povo_indigena description: 'Código de povo indígena, campo numérico de 4 posições formato - NNNN | version: 0619' + NNNN | version: 0620' - name: id_reserva_indigena description: 'Código da reserva indígena, campo numérico de 4 posições no - formato NNNN | version: 0619' + formato NNNN | version: 0620' + - name: data_risco_inseguranca_alimentar + description: 'Data de integração referente ao campo IND-RISCO-SCL-INSEG-ALIM + conforme data de processamento de arquivo | version: 0620' + - name: data_risco_violacao_direitos + description: 'Data de integração referente ao campo IND-RISCO-SCL-VLCO-DRTS + conforme data de processamento de arquivo | version: 0620' - name: nao_sabe_comunidade_quilombola description: "Não sabe(comunidade quilombola da família)': 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619" + no formulário, 1-Opção marcada no formulário | version: 0620" - name: nao_tem_despesa_agua_esgoto description: 'Não tem despesa com água: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_alimentacao description: 'Não tem despesa com alimentação: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_aluguel description: 'Não tem despesa com aluguel: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_energia description: 'Não tem despesa com energia: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_gas description: 'Não tem despesa com gás: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_medicamentos description: 'Não tem despesa com medicamento: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_tem_despesa_transporte description: 'Não tem despesa com transporte: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: id_familia_quilombola - description: 'Família quilombola: 1-Sim, 2-Não | version: 0619' + description: 'Família quilombola: 1-Sim, 2-Não | version: 0620' - name: familia_quilombola - description: 'Família quilombola: 1-Sim, 2-Não | version: 0619' + description: 'Família quilombola: 1-Sim, 2-Não | version: 0620' - name: nao_tem_pessoas_internadas_0_17_anos description: 'Não tem pessoas internadas faixa 0-17 anos: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_tem_pessoas_internadas_18_59_anos description: 'Não tem pessoas internadas faixa 18-59 anos: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_tem_pessoas_internadas_mais_60_anos description: 'Não tem pessoas internadas faixa >= 60 anos: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_sabe_reserva_indigena description: "Não sabe(reserva indígena da família)': 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619" + no formulário, 1-Opção marcada no formulário | version: 0620" + - name: id_risco_inseguranca_alimentar + description: "Indicador de família associada à risco de insegurança alimentar\n + 1-SIM\n2-NÃO | version: 0620" + - name: risco_inseguranca_alimentar + description: "Indicador de família associada à risco de insegurança alimentar\n + 1-SIM\n2-NÃO | version: 0620" + - name: id_risco_violacao_direitos + description: "Indicador de família associada à risco de violação de direitos\n + 1-SIM\n2-NÃO | version: 0620" + - name: risco_violacao_direitos + description: "Indicador de família associada à risco de violação de direitos\n + 1-SIM\n2-NÃO | version: 0620" - name: cras_creas - description: 'Nome do CRAS/CREAS | version: 0619' + description: 'Nome do CRAS/CREAS | version: 0620' - name: comunidade_quilombola - description: 'Nome da comunidade quilombola | version: 0619' + description: 'Nome da comunidade quilombola | version: 0620' - name: estabelecimento_saude - description: 'Nome do estabelecimento EAS/MS | version: 0619' + description: 'Nome do estabelecimento EAS/MS | version: 0620' - name: povo_indigena - description: 'Nome do povo indígena | version: 0619' + description: 'Nome do povo indígena | version: 0620' - name: reserva_indigena - description: 'Nome da reserva indígena | version: 0619' + description: 'Nome da reserva indígena | version: 0620' - name: id_estabelecimento_saude - description: 'Código do estabelecimento EAS/MS | version: 0619' + description: 'Código do estabelecimento EAS/MS | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: familias_domicilio description: 'Quantidade de famílias no domicílio, campo numérico de 2 posições, - formato NN | version: 0619' + formato NN | version: 0620' - name: pessoas_internadas_0_17_anos description: 'Quantidade de pessoas internadas faixa 0-17 anos, campo numérico - de 2 posições, formato NN | version: 0619' + de 2 posições, formato NN | version: 0620' - name: pessoas_internadas_18_59_anos description: 'Quantidade de pessoas internadas faixa 18-59 anos, campo numérico - de 2 posições, formato NN | version: 0619' + de 2 posições, formato NN | version: 0620' - name: pessoas_internadas_mais_60_anos description: 'Quantidade de pessoas internadas faixa >= 60 anos, campo numérico - de 2 posições, formato NN | version: 0619' + de 2 posições, formato NN | version: 0620' - name: pessoas_domicilio description: 'Quantidade de pessoas no domicílio, campo numérico de 2 posições, - formato NN | version: 0619' + formato NN | version: 0620' - name: despesa_agua_esgoto description: "Valor de despesas com água\nCampo numérico de 5 posições formato - NNNNN (não existem casas decimais) | version: 0619" + NNNNN (não existem casas decimais) | version: 0620" - name: despesa_alimentacao description: "Valor de despesas com alimentação\nCampo numérico de 5 posições - formato NNNNN (não existem casas decimais) | version: 0619" + formato NNNNN (não existem casas decimais) | version: 0620" - name: despesa_aluguel description: "Valor de despesas com aluguel\nCampo numérico de 5 posições - formato NNNNN (não existem casas decimais) | version: 0619" + formato NNNNN (não existem casas decimais) | version: 0620" - name: despesa_energia description: "Valor de despesas com energia\nCampo numérico de 5 posições - formato NNNNN (não existem casas decimais) | version: 0619" + formato NNNNN (não existem casas decimais) | version: 0620" - name: despesa_gas description: "Valor de despesas com gás\nCampo numérico de 5 posições formato - NNNNN (não existem casas decimais) | version: 0619" + NNNNN (não existem casas decimais) | version: 0620" - name: despesa_medicamentos description: "Valor de despesas com medicamentos\nCampo numérico de 5 posições - formato NNNNN (não existem casas decimais) | version: 0619" + formato NNNNN (não existem casas decimais) | version: 0620" - name: despesa_transporte description: "Valor de despesas com transportes\nCampo numérico de 5 posições - formato NNNNN (não existem casas decimais) | version: 0619" + formato NNNNN (não existem casas decimais) | version: 0620" - name: identificacao_primeira_pessoa description: Table identificacao_primeira_pessoa from number 04 columns: - name: id_pessoa - description: 'Chave natural atual da Pessoa | version: 0619' + description: 'Chave natural atual da Pessoa | version: 0620' - name: id_original_pessoa - description: 'Chave natural original da Pessoa | version: 0619' + description: 'Chave natural original da Pessoa | version: 0620' - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_certidao_registrada_cartorio description: 'Pessoa registrada em cartório: campo numérico de 1 posição variando - de 1 a 4, dependendo da opção marcada no formulário | version: 0619' + de 1 a 4, dependendo da opção marcada no formulário | version: 0620' - name: certidao_registrada_cartorio description: 'Pessoa registrada em cartório: campo numérico de 1 posição variando - de 1 a 4, dependendo da opção marcada no formulário | version: 0619' + de 1 a 4, dependendo da opção marcada no formulário | version: 0620' - name: id_estado_cadastral description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO CIVIL 3- CADASTRADO 4- EXCLUIDO 5- AGUARDANDO ATRIBUIÇÃO NIS 6- AGUARDANDO - ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0619' + ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0620' - name: estado_cadastral description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO CIVIL 3- CADASTRADO 4- EXCLUIDO 5- AGUARDANDO ATRIBUIÇÃO NIS 6- AGUARDANDO - ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0619' + ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_municipio_nascimento description: 'Código IBGE do Município de nascimento da Pessoa | version: - 0619' + 0620' - name: id_local_nascimento description: 'Local de nascimento: 1-Neste município, 2-Em outro município, - 3-Em outro país | version: 0619' + 3-Em outro país | version: 0620' - name: local_nascimento description: 'Local de nascimento: 1-Neste município, 2-Em outro município, - 3-Em outro país | version: 0619' + 3-Em outro país | version: 0620' - name: id_familia_origem description: 'CÓDIGO DA FAMÍLIA DE ORIGEM ANTES DA TRANFERÊNCIA | version: - 0619' + 0620' - name: id_prefeitura_origem description: 'CÓDIGO DA PREFEITURA DE ORIGEM ANTES DA TRANFERÊNCIA | version: - 0619' + 0620' - name: id_pais_origem description: "Código do País de nascimento da Pessoa\nCampo numérico de 4 posições formato NNNN Número do NIS original\nNúmero de NIS localizado ou atribuído à pessoa no momento de sua inclusão no Cadastro Único\nO número - de NIS original do membro nunca será alterado. | version: 0619" + de NIS original do membro nunca será alterado. | version: 0620" - name: id_parentesco_responsavel_familia description: 'Relaçao de parentesco com o RF: campo numérico de 2 posições variando de 1 a 11, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: parentesco_responsavel_familia description: 'Relaçao de parentesco com o RF: campo numérico de 2 posições variando de 1 a 11, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: id_raca_cor description: "Cor ou raça: campo numérico de 1 posição variando de 1 a 5, 1-Branca\n2 – Preta\n3 – Amarela\n4 – Parda\n5 – Indígena\ndependendo da - opção marcada no formulário | version: 0619" + opção marcada no formulário | version: 0620" - name: raca_cor description: "Cor ou raça: campo numérico de 1 posição variando de 1 a 5, 1-Branca\n2 – Preta\n3 – Amarela\n4 – Parda\n5 – Indígena\ndependendo da - opção marcada no formulário | version: 0619" + opção marcada no formulário | version: 0620" - name: id_sexo - description: 'Sexo: 1-Masculino, 2-Feminino | version: 0619' + description: 'Sexo: 1-Masculino, 2-Feminino | version: 0620' - name: sexo - description: 'Sexo: 1-Masculino, 2-Feminino | version: 0619' + description: 'Sexo: 1-Masculino, 2-Feminino | version: 0620' - name: data_ultima_atualizacao description: 'Data de última atualização dos dados sociais da pessoa no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_cadastro description: 'Data de cadastramento da Pessoa no CadÚnico formato DDMMAAAA - | version: 0619' + | version: 0620' - name: data_nascimento description: 'Data de nascimento da pessoa no formato DDMMAAAA | version: - 0619' + 0620' - name: sabe_id_municipio_nascimento description: 'Sabe o município de nascimento da pessoa: 1-Opção não marcada - no formulário, 2-Opção marcada no formulário. | version: 0619' + no formulário, 2-Opção marcada no formulário. | version: 0620' - name: nao_sabe_nome_mae description: 'Não sabe nome da mãe: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: nao_sabe_nome_pai description: 'Não sabe nome do pai: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: id_sabe_pais_nascimento description: 'Sabe o País de nascimento da pessoa: 1-Opção não marcada no - formulário, 2-Opção marcada no formulário. | version: 0619' + formulário, 2-Opção marcada no formulário. | version: 0620' - name: sabe_pais_nascimento description: 'Sabe o País de nascimento da pessoa: 1-Opção não marcada no - formulário, 2-Opção marcada no formulário. | version: 0619' + formulário, 2-Opção marcada no formulário. | version: 0620' - name: id_trabalho_infantil - description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0619' + description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0620' - name: trabalho_infantil - description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0619' + description: 'Trabalho infantil na família: 1-Sim, 2-Não | version: 0620' - name: foi_transferido - description: 'INDICADOR DE TRANSFERÊNCIA: T – TRANSFERIDO | version: 0619' + description: 'INDICADOR DE TRANSFERÊNCIA: T – TRANSFERIDO | version: 0620' - name: sabe_uf_nascimento description: 'Sabe a UF de nascimento da pessoa: 1-Opção não marcada no formulário, - 2-Opção marcada no formulário. | version: 0619' + 2-Opção marcada no formulário. | version: 0620' - name: apelido - description: 'Apelido da pessoa | version: 0619' + description: 'Apelido da pessoa | version: 0620' - name: nome_mae - description: 'Nome da mãe | version: 0619' + description: 'Nome da mãe | version: 0620' - name: nome_pai - description: 'Nome do pai | version: 0619' + description: 'Nome do pai | version: 0620' - name: municipio_nascimento - description: 'Nome do Município de nascimento da Pessoa | version: 0619' + description: 'Nome do Município de nascimento da Pessoa | version: 0620' - name: origem_alteracao description: 'DESCREVE A ORIGEM DA ALTERAÇÃO (CADÚNICO, DATASUS, PIS ONLINE...) - * | version: 0619' + * | version: 0620' - name: pais_nascimento description: "Nome do país de nascimento da Pessoa\nQuando o campo 4.14-COD-PAIS-ORIGEM-PESSOA - for igual a 10 (Brasil) preencher com espaços. | version: 0619" + for igual a 10 (Brasil) preencher com espaços. | version: 0620" - name: nome - description: 'Nome da pessoa | version: 0619' + description: 'Nome da pessoa | version: 0620' - name: nis_original description: "Número de NIS localizado ou atribuído à pessoa no momento de sua inclusão no Cadastro Único\nO número de NIS original do membro nunca - será alterado. | version: 0619" + será alterado. | version: 0620" - name: id_origem_cadastro_pessoa description: "Valor contendo o domínio da origem.Atualmente temos as origens: 01 – Online\n02 – APP Número de NIS localizado ou atribuído à pessoa no momento de sua inclusão no Cadastro Único\nO número de NIS original do membro - nunca será alterado. | version: 0619" + nunca será alterado. | version: 0620" - name: origem_cadastro_pessoa description: "Valor contendo o domínio da origem.Atualmente temos as origens: 01 – Online\n02 – APP Número de NIS localizado ou atribuído à pessoa no momento de sua inclusão no Cadastro Único\nO número de NIS original do membro - nunca será alterado. | version: 0619" + nunca será alterado. | version: 0620" - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: nis description: 'NIS atual da pessoa, campo numérico de 11 posições formato NNNNNNNNNNN - | version: 0619' + | version: 0620' - name: id_numero_ordem description: 'Número de ordem, campo numérico de 2 posições no formato NN - | version: 0619' + | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: sigla_uf_municipio_nascimento - description: 'UF de nascimento da Pessoa | version: 0619' + description: 'UF de nascimento da Pessoa | version: 0620' - name: documento_pessoa description: Table documento_pessoa from number 05 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_cartorio_certidao - description: 'Código do cartório da certidão | version: 0619' + description: 'Código do cartório da certidão | version: 0620' - name: id_certidao_civil description: "Tipo de Certidão: 1-Nascimento, 2-Casamento, 3 – RANI, 4 – Óbito\n OBS: A regra de prevalência do tipo de certidão enviado neste arquivo é - a mesma da exibição do campo no On-Line\n | version: 0619" + a mesma da exibição do campo no On-Line\n | version: 0620" - name: certidao_civil description: "Tipo de Certidão: 1-Nascimento, 2-Casamento, 3 – RANI, 4 – Óbito\n OBS: A regra de prevalência do tipo de certidão enviado neste arquivo é - a mesma da exibição do campo no On-Line\n | version: 0619" + a mesma da exibição do campo no On-Line\n | version: 0620" - name: id_complemento_rg - description: 'Complemento do número da CI da Pessoa | version: 0619' + description: 'Complemento do número da CI da Pessoa | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: folha_certidao - description: 'Folha da certidão | version: 0619' + description: 'Folha da certidão | version: 0620' - name: id_municipio_certidao - description: 'Código IBGE do município da certidão | version: 0619' + description: 'Código IBGE do município da certidão | version: 0620' - name: livro_certidao_obito_excluido - description: 'Livro da certidão | version: 0619' + description: 'Livro da certidão | version: 0620' - name: id_termi_matricula_certidao - description: 'Número do Termo / Matrícula.da Certidão. | version: 0619' + description: 'Número do Termo / Matrícula.da Certidão. | version: 0620' - name: data_emissao_carteira_trabalho description: 'Data de emissão da CTPS da Pessoa, formato DDMMAAAA | version: - 0619' + 0620' - name: data_emissao_certidao - description: 'Data de emissão da da certidão formato DDMMAAAA | version: 0619' + description: 'Data de emissão da da certidão formato DDMMAAAA | version: 0620' - name: data_emissao_rg description: 'Data de emissão da CI da Pessoa, formato DDMMAAAA | version: - 0619' + 0620' - name: cartorio_certidao - description: 'Nome do cartório da certidão | version: 0619' + description: 'Nome do cartório da certidão | version: 0620' - name: municipio_certidao - description: 'Nome do município da certidão | version: 0619' + description: 'Nome do município da certidão | version: 0620' - name: id_carteira_trabalho - description: 'Número da CTPS da Pessoa | version: 0619' + description: 'Número da CTPS da Pessoa | version: 0620' - name: cpf - description: 'CPF da Pessoa, formato NNNNNNNNNNN | version: 0619' + description: 'CPF da Pessoa, formato NNNNNNNNNNN | version: 0620' - name: rg - description: 'Número da CI da Pessoa | version: 0619' + description: 'Número da CI da Pessoa | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: id_secao_titulo_eleitor - description: 'Seção do Título de Eleitor da Pessoa | version: 0619' + description: 'Seção do Título de Eleitor da Pessoa | version: 0620' - name: id_serie_carteira_trabalho - description: 'Série da CTPS da Pessoa | version: 0619' + description: 'Série da CTPS da Pessoa | version: 0620' - name: id_titulo_eleitor - description: 'Número do Título de Eleitor da Pessoa | version: 0619' + description: 'Número do Título de Eleitor da Pessoa | version: 0620' - name: id_zona_titulo_eleitor - description: 'Zona do Título de Eleitor da Pessoa | version: 0619' + description: 'Zona do Título de Eleitor da Pessoa | version: 0620' - name: orgao_emissor_rg - description: 'Órgão Emissor da CI da Pessoa | version: 0619' + description: 'Órgão Emissor da CI da Pessoa | version: 0620' - name: sigla_uf_carteira_trabalho - description: 'UF da CTPS da Pessoa | version: 0619' + description: 'UF da CTPS da Pessoa | version: 0620' - name: sigla_uf_certidao - description: 'UF da Certidão | version: 0619' + description: 'UF da Certidão | version: 0620' - name: sigla_uf_rg - description: 'UF da CI da Pessoa | version: 0619' + description: 'UF da CI da Pessoa | version: 0620' - name: pessoa_deficiencia description: Table pessoa_deficiencia from number 06 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_tem_deficiencia - description: 'Pessoa tem deficiência: 1-Sim, 2-Não | version: 0619' + description: 'Pessoa tem deficiência: 1-Sim, 2-Não | version: 0620' - name: tem_deficiencia - description: 'Pessoa tem deficiência: 1-Sim, 2-Não | version: 0619' + description: 'Pessoa tem deficiência: 1-Sim, 2-Não | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: ajuda_especializada description: 'Ajuda Terceiros Especializada: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ajuda_familia description: 'Ajuda Terceiros família: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ajuda_instituicao_social description: 'Ajuda Terceiros instituição rede social: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_recebe_ajuda description: 'Ajuda Terceiros não recebida: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ajuda_terceiros description: 'Ajuda Terceiros outra forma: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ajuda_vizinhos description: 'Ajuda Terceiros vizinhos: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: deficiencia_baixa_visao description: 'Deficiência Baixa Visão: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: deficiencia_cegueira description: 'Deficiência Cegueira: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: deficiencia_fisica description: 'Deficiência Física: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: deficiencia_mental description: 'Deficiência Mental: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: deficiencia_sindrome_down description: 'Deficiência Down: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: deficiencia_surdez_leve description: 'Deficiência Surdez leve: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: deficiencia_surdez_profunda description: 'Deficiência Surdez severa: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: deficiencia_transtorno_mental description: 'Deficiência Transtorno mental: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: escolaridade description: Table escolaridade from number 07 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_ano_serie_frequenta description: 'Ano e série que a pessoa frequenta: campo numérico de 2 posições variando de 1 a 10, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: ano_serie_frequenta description: 'Ano e série que a pessoa frequenta: campo numérico de 2 posições variando de 1 a 10, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: id_ultimo_ano_serie_frequentou description: 'Último ano e série frequentado pela pessoa: campo numérico de 2 posições variando de 1 a 10, dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: ultimo_ano_serie_frequentou description: 'Último ano e série frequentado pela pessoa: campo numérico de 2 posições variando de 1 a 10, dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: id_inep_escola description: 'Código INEP da escola da pessoa, campo numérico de 8 posições, - formato NNNNNNNN | version: 0619' + formato NNNNNNNN | version: 0620' - name: id_concluiu_curso_frequentado description: 'A pessoa concluiu o curso frequentado: 1-Sim, 2-Não | version: - 0619' + 0620' - name: id_curso_frequenta description: 'Curso que a pessoa frequenta: campo numérico de 2 posições variando - de 1 a 14, dependendo da opção marcada no formulário | version: 0619' + de 1 a 14, dependendo da opção marcada no formulário | version: 0620' - name: curso_frequenta description: 'Curso que a pessoa frequenta: campo numérico de 2 posições variando - de 1 a 14, dependendo da opção marcada no formulário | version: 0619' + de 1 a 14, dependendo da opção marcada no formulário | version: 0620' - name: id_curso_mais_elevado_frequentou description: 'Curso mais elevado que a pessoa frequentou: campo numérico de 2 posições variando de 1 a 15, dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: curso_mais_elevado_frequentou description: 'Curso mais elevado que a pessoa frequentou: campo numérico de 2 posições variando de 1 a 15, dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: id_escola_localizada_municipio - description: 'Escola localizada no município: 1-Sim, 2-Não | version: 0619' + description: 'Escola localizada no município: 1-Sim, 2-Não | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_municipio_escola - description: 'Código do IBGE do Município da escola da pessoa | version: 0619' + description: 'Código do IBGE do Município da escola da pessoa | version: 0620' - name: id_origem_dados_escolaridade - description: '1 – Origem Autodeclarado,2 – Origem Presença | version: 0619' + description: '1 – Origem Autodeclarado,2 – Origem Presença | version: 0620' - name: origem_dados_escolaridade - description: '1 – Origem Autodeclarado,2 – Origem Presença | version: 0619' + description: '1 – Origem Autodeclarado,2 – Origem Presença | version: 0620' - name: id_sabe_ler_escrever - description: 'Pessoa sabe ler e escrever: 1-Sim, 2-Não | version: 0619' + description: 'Pessoa sabe ler e escrever: 1-Sim, 2-Não | version: 0620' - name: data_integracao_escolaridade_membro - description: 'Data de integração com o sistema Presença | version: 0619' + description: 'Data de integração com o sistema Presença | version: 0620' - name: escola_nao_tem_inep description: 'A escola não tem INEP: 1-Opção não marcada no formulário, 2-Opção - marcada no formulário (Aceita Nulo = Sim) | version: 0619' + marcada no formulário (Aceita Nulo = Sim) | version: 0620' - name: frequenta_escola description: 'Pessoa frequenta escola: campo numérico de 1 posição variando - de 1 a 4, dependendo da opção marcada no formulário | version: 0619' + de 1 a 4, dependendo da opção marcada no formulário | version: 0620' - name: escola - description: 'Nome da escola da pessoa | version: 0619' + description: 'Nome da escola da pessoa | version: 0620' - name: municipio_escola - description: 'Nome do Município da Escola da Pessoa | version: 0619' + description: 'Nome do Município da Escola da Pessoa | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: sigla_uf_escola - description: 'UF da Escola da Pessoa | version: 0619' + description: 'UF da Escola da Pessoa | version: 0620' - name: trabalho_remuneracao description: Table trabalho_remuneracao from number 08 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_afastado_semana_passada - description: 'Pessoa afastada na semana passada: 1-Sim, 2-Não | version: 0619' + description: 'Pessoa afastada na semana passada: 1-Sim, 2-Não | version: 0620' - name: id_atividade_extravista - description: 'É atividade extrativista: 1-Sim, 2-Não | version: 0619' + description: 'É atividade extrativista: 1-Sim, 2-Não | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_origem_valor_outra_fonte description: "Flag indicadora da origem do valor do campo VAL-OUTRAS-RENDAS-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_outra_fonte description: "Flag indicadora da origem do valor do campo VAL-OUTRAS-RENDAS-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_pensao_alimenticia description: "Flag indicadora da origem do valor do campo VAL-RENDA-PENSAO-ALIMEN-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_pensao_alimenticia description: "Flag indicadora da origem do valor do campo VAL-RENDA-PENSAO-ALIMEN-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_rendimento_bruto description: "Flag indicadora da origem do valor do campo VAL-RENDA-BRUTA-12-MESES-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_rendimento_bruto description: "Flag indicadora da origem do valor do campo VAL-RENDA-BRUTA-12-MESES-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_rendimento_mes_passado description: "Flag indicadora da origem do valor do campo VAL-REMUNER-EMPREGO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_rendimento_mes_passado description: "Flag indicadora da origem do valor do campo VAL-REMUNER-EMPREGO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_seguro_desemprego description: "Flag indicadora da origem do valor do campo VAL-RENDA-SEGURO-DESEMP-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_seguro_desemprego description: "Flag indicadora da origem do valor do campo VAL-RENDA-SEGURO-DESEMP-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_ajuda_doacao description: "Flag indicadora da origem do valor do campo VAL-RENDA-DOACAO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_ajuda_doacao description: "Flag indicadora da origem do valor do campo VAL-RENDA-DOACAO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_aposentadoria description: "Flag indicadora da origem do valor do campo VAL-RENDA-APOSENT-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_aposentadoria description: "Flag indicadora da origem do valor do campo VAL-RENDA-APOSENT-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_funcao_principal_trabalho description: "Função principal: campo numérico de 2 posições variando de 1 a 11\n1-TRABALHADOR POR CONTA PROPRIA (BICO, AUTONOMO) 2-TRABALHADOR TEMPORARIO @@ -752,7 +770,7 @@ models : COM CARTEIRA DE TRABALHO ASSINADA 5-TRABALHADOR DOMESTICO SEM CARTEIRA DE TRABALHO ASSINADA 6-TRABALHADOR DOMESTICO COM CARTEIRA DE TRABALHO ASSINADA 7-TRABALHADOR NAO-REMUNERADO 8-MILITAR OU SERVIDOR PUBLICO 9-EMPREGADOR - 10-ESTAGIARIO 11-APRENDIZ | version: 0619" + 10-ESTAGIARIO 11-APRENDIZ | version: 0620" - name: funcao_principal_trabalho description: "Função principal: campo numérico de 2 posições variando de 1 a 11\n1-TRABALHADOR POR CONTA PROPRIA (BICO, AUTONOMO) 2-TRABALHADOR TEMPORARIO @@ -760,179 +778,179 @@ models : COM CARTEIRA DE TRABALHO ASSINADA 5-TRABALHADOR DOMESTICO SEM CARTEIRA DE TRABALHO ASSINADA 6-TRABALHADOR DOMESTICO COM CARTEIRA DE TRABALHO ASSINADA 7-TRABALHADOR NAO-REMUNERADO 8-MILITAR OU SERVIDOR PUBLICO 9-EMPREGADOR - 10-ESTAGIARIO 11-APRENDIZ | version: 0619" + 10-ESTAGIARIO 11-APRENDIZ | version: 0620" - name: id_trabalho_remunerado_ultimos_12_meses description: 'Pessoa com trabalho remunerado 12 meses: 1-Sim, 2-Não | version: - 0619' + 0620' - name: id_trabalho_semana_passada description: 'Pessoa trabalhou na semana passada: 1-Sim, 2-Não | version: - 0619' + 0620' - name: data_integracao_aposentadoria description: 'Data de integração referente ao campo VAL-RENDA-APOSENT-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_outras_fonte description: 'Data de integração referente ao campo VAL-OUTRAS-RENDAS-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_renda_bruta_12_meses description: 'Data de integração referente ao campo VAL-RENDA-BRUTA-12-MESES-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_emprego_ultimo_mes description: 'Data de integração referente ao campo VAL-REMUNER-EMPREGO-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: nao_recebe_outras_fontes description: 'Não recebe de outras fontes: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_recebe_remuneracao description: 'Não recebeu remuneração de trabalho: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_recebe_aposentadoria description: 'Não recebe aposentadoria: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_recebe_doacao description: 'Não recebe doação: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: nao_recebe_pensao_alimenticia description: 'Não recebe pensão alimentícia: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: nao_recebe_seguro_desemprego description: 'Não recebe seguro desemprego: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: meses_trabalhados_nos_ultimos_12 description: 'Quantidade de meses trabalhados nos últimos 12, campo numérico - de 2 posições, formato NN | version: 0619' + de 2 posições, formato NN | version: 0620' - name: outras_fontes description: "Valor recebido de outras fontes\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: remuneracao description: "Valor de remuneração\nCampo numérico de 6 posições formato NNNNNN - (sem casas decimais) | version: 0619" + (sem casas decimais) | version: 0620" - name: aposentadoria description: "Valor recebido de aposentadoria\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: remuneracao_bruta description: "Valor de remuneração bruta\nCampo numérico de 6 posições formato - NNNNNN (sem casas decimais) | version: 0619" + NNNNNN (sem casas decimais) | version: 0620" - name: doacoes description: "Valor recebido de doação\nCampo numérico de 6 posições formato - NNNNNN (sem casas decimais) | version: 0619" + NNNNNN (sem casas decimais) | version: 0620" - name: pensao_alimenticia description: "Valor recebido de pensão alimentícia\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: seguro_desemprego description: "Valor recebido de seguro desemprego\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: contato description: Table contato from number 09 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: cpf_operador_responsavel - description: 'CPF do operador que carregou os arquivos | version: 0619' + description: 'CPF do operador que carregou os arquivos | version: 0620' - name: data_arquivos_carregados description: 'Data de carregamento do arquivo no formato DDMMAAAA | version: - 0619' + 0620' - name: email description: "E-mail de contato da família\nCaso o campo “IC-TIPO-EMAIL” seja preenchido com os valores “N-NÃO TEM” ou “D-NÃO DECLARADO”deverá ser preenchido - com: 0@0.aa | version: 0619" + com: 0@0.aa | version: 0620" - name: arquivos_carregados description: '1 quando houver arquivos carregados para a família e 2 quando - não houver | version: 0619' + não houver | version: 0620' - name: autoriza_envio_email description: "Indicador de autorização de envio de e-mail\nS-Sim\nN-Não\n Caso este campo esteja nulo deverá ficar em branco\nCaso o campo “IC-TIPO-EMAIL” esteja marcado com os valores “N-Não Tem” ou “D-Não Declarado” este campo - deve ser preenchido com “0” (Zero) | version: 0619" + deve ser preenchido com “0” (Zero) | version: 0620" - name: contato_envio_sms - description: '1º envio SMS do telefone de contato da família | version: 0619' + description: '1º envio SMS do telefone de contato da família | version: 0620' - name: contato_2_envio_sms - description: '2º envio SMS do telefone de contato da família | version: 0619' + description: '2º envio SMS do telefone de contato da família | version: 0620' - name: id_contato_tipo description: "1º tipo de telefone de contato da família L– Celular\nC– Trabalho\n R– Residencial\nO-Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a obrigatoriedade do campo “Telefone”)\n - | version: 0619" + | version: 0620" - name: contato_tipo description: "1º tipo de telefone de contato da família L– Celular\nC– Trabalho\n R– Residencial\nO-Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a obrigatoriedade do campo “Telefone”)\n - | version: 0619" + | version: 0620" - name: id_contato_2_tipo description: "2º tipo de telefone de contato da família L– Celular\nC– Trabalho\n R– Residencial\nO-Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a obrigatoriedade do campo “Telefone”)\n - | version: 0619" + | version: 0620" - name: contato_2_tipo description: "2º tipo de telefone de contato da família L– Celular\nC– Trabalho\n R– Residencial\nO-Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a obrigatoriedade do campo “Telefone”)\n - | version: 0619" + | version: 0620" - name: id_email_tipo description: "Indicador do tipo de e-mail da família, sendo: P-E-mail Pessoal\n R- E-Mail de Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a criação do campo “E-mail”)\n | version: - 0619" + 0620" - name: email_tipo description: "Indicador do tipo de e-mail da família, sendo: P-E-mail Pessoal\n R- E-Mail de Recado\nN- Não tem\nD- Não declarado\nS – Sem coleta de dados (família não alterada/atualizada após a criação do campo “E-mail”)\n | version: - 0619" + 0620" - name: contato_ddd - description: '1º DDD do telefone de contato da família | version: 0619' + description: '1º DDD do telefone de contato da família | version: 0620' - name: contato_2_ddd - description: '2º DDD do telefone de contato da família | version: 0619' + description: '2º DDD do telefone de contato da família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: contato_telefone - description: '1º telefone de contato da família | version: 0619' + description: '1º telefone de contato da família | version: 0620' - name: contato_2_telefone - description: '2º telefone de contato da família | version: 0619' + description: '2º telefone de contato da família | version: 0620' - name: seguranca_alimentar description: Table seguranca_alimentar from number 11 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_conta_energia_numero_ordem description: "Número de ordem do membro da família associado a conta de energia elétrica do domicílio\nQuando não houver membro da família associado, o valor extraído na base municipal será \"99\"\nCampo numérico de 2 posições - no formato NN. | version: 0619" + no formato NN. | version: 0620" - name: id_conta_energia_unidade_consumidora description: 'Código da unidade consumidora associado a conta de energia eletrica - do domicílio. | version: 0619' + do domicílio. | version: 0620' - name: id_trabalho_escravo description: 'Algum membro da família é ou foi beneficiário do seguro desemprego especial para pessoas resgatadas do trabalho análogo ao de escravo. | version: - 0619' + 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: enegia_doacao description: 'Recebeu de sua distribuidora de energia elétrica doação de lâmpadas ou outros equipamentos para reduzir o consumo de energia: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: nao_pagou_instalacao_energia description: 'Não pagou pela instalação de energia na entrada de sua residência: 0-Opção não marcada no formulário, 1-Opção marcada no formulário | version: - 0619' + 0620' - name: energia_nenhum description: 'Família não é beneficiada progs Minist Energia: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: energia_tarifa_social description: 'Recebe sua conta de energia elétrica faturada como Tarifa Social: 0-Opção não marcada no formulário, 1-Opção marcada no formulário | version: - 0619' + 0620' - name: id_ind_parc_mds_fam description: '101 Família Cigana 201 Família Extrativista 202 Família de Pescadores Artesanais 203 Família pertencente a Comunidade de Terreiro 204 Família @@ -940,7 +958,7 @@ models : da Reforma Agrária 302 Família beneficiária do Programa Nacional de Crédito Fundiário 303 Família Acampada 304 Família Atingida por Empreendimentos de Infraestrutura 305 Família de Preso do Sistema Carcerário 306 Família - de Catadores de Material Reciclável 000 Nenhuma | version: 0619' + de Catadores de Material Reciclável 000 Nenhuma | version: 0620' - name: ind_parc_mds_fam description: '101 Família Cigana 201 Família Extrativista 202 Família de Pescadores Artesanais 203 Família pertencente a Comunidade de Terreiro 204 Família @@ -948,1095 +966,1095 @@ models : da Reforma Agrária 302 Família beneficiária do Programa Nacional de Crédito Fundiário 303 Família Acampada 304 Família Atingida por Empreendimentos de Infraestrutura 305 Família de Preso do Sistema Carcerário 306 Família - de Catadores de Material Reciclável 000 Nenhuma | version: 0619' + de Catadores de Material Reciclável 000 Nenhuma | version: 0620' - name: nao_beneficiaria_programa_ministerio_cidades description: 'Família não é beneficiária de programas do Ministério das Cidade: 0 – Opção não marcada no formulário, 1 – Opção marcada no formulário | version: - 0619' + 0620' - name: sesan_capitacao_agua_chuva_producao_alimentos description: 'Recebeu infra estrutura de captação de água da chuva para produzir alimentos: 0-Opção não marcada no formulário, 1-Opção marcada no formulário - | version: 0619' + | version: 0620' - name: sesan_cisterna description: 'Recebeu cisterna para armazenamento de água da chuva: 0-Opção - não marcada no formulário, 1-Opção marcada no formulário | version: 0619' + não marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_vende_feira_popular_mds description: 'Vende alimentos em feira livre popular financiada pelo MDS: 0-Opção não marcada no formulário, 1-Opção marcada no formulário | version: - 0619' + 0620' - name: sesan_horta_comunitaria description: 'Participa de projetos de produção de alimentos (horta comunitária, criação de pequenos animais, viveiro e pomares): 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_nenhum description: 'A família não é beneficiada por programas SESAN: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_participou_curso_alimentacao_nutricao description: 'Participou de curso em alimentação e nutrição: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_projeto_carteira_indigena description: 'Participa de projeto da carteira indígena (Parceria MMA/MDS): 0-Opção não marcada no formulário, 1-Opção marcada no formulário | version: - 0619' + 0620' - name: sesan_recebe_alimento_paa description: 'Recebe alimentos PAA: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: sesan_recebe_cesta_basica description: 'Recebe cesta básica: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: sesan_recebe_leite description: 'Recebe leite programa do leite: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: sesan_refeicao_cozinha_comunitaria description: 'Faz refeição em cozinha comunitária: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_refeicao_restaurante_popular description: 'Faz refeição em restaurante popular: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: sesan_vende_alimento_paa description: 'Vende alimentos PAA: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: sesan_vende_leite description: 'Vende leite programa do leite: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: snas_abrigo_adultos description: 'Abrigo/albergue para adultos e famílias: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_abrigo_crianca_adolescente description: 'Abrigo para crianças e adolescentes: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_abrigo_idoso description: 'Abrigo para pessoas idosas: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: snas_abrigo_mulher_vitima_violencia description: 'Abrigo para mulheres vítimas de violência: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_abrigo_populacao_adulta description: 'Abrigo/albergue para população adulta em situação de rua: 0-Opção - não marcada no formulário, 1-Opção marcada no formulário | version: 0619' + não marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_adolescente_liberdade_servico_comunitario description: 'Serviço de acompanhamento social a adolescentes em medida socio educativa de prestação de serviços à comunidade: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_adolescente_liberdade_assistida description: 'Serviço de acompanhamento social a adolescentes em medida socio educativa de liberdade assistida: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: snas_atendimento_domiciliar_idoso_deficiente description: 'Serviço de atendimento no domicílio de pessoas idosas e pessoas com deficiência: 0-Opção não marcada no formulário, 1-Opção marcada no formulário - | version: 0619' + | version: 0620' - name: snas_bpc_deficiente description: 'Família beneficiária do BPC deficiente: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_bpc_idoso description: 'Família beneficiária do BPC idoso: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: snas_centro_dia_idoso description: 'Serviço de Centro-Dia (atendimento à pessoa idosa com deficiência): 0-Opção não marcada no formulário, 1-Opção marcada no formulário | version: - 0619' + 0620' - name: snas_crianca_0_6_anos description: 'Família com crianças 0-6 ações sócio educativas: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_enfrenta_violencia_crianca description: 'Serviço de enfrentamento à violência, abuso e exploração sexual contra crianças, adolescentes e suas famílias: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: snas_gtupos_idosos description: 'Família beneficiária do grupo conv para idosos: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_habilitacao_reabilitacao_deficiencia description: 'Serviço de referência e apoio à habilitação e reabilitação de pessoas com deficiência: 0-Opção não marcada no formulário, 1-Opção marcada - no formulário | version: 0619' + no formulário | version: 0620' - name: snas_inclusao_produtiva description: 'Projetos de inclusão produtiva: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: snas_nunhum description: 'Família não é beneficiária de programa do SNAS: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_orientacao_especial_crianca_adolescente description: 'Serviço de orientação e apoio especializado a crianças, adolescentes e famílias: 0-Opção não marcada no formulário, 1-Opção marcada no formulário - | version: 0619' + | version: 0620' - name: snas_programa_atencao_integram_familia description: 'Programa de Atenção Integral à Família-PAIF: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_programa_erradicacao_trabalho_infantil description: 'Programa de Erradicação do Trabalho Infantil: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: snas_projovem_adolescente description: 'ProJovem Adolescente: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: snas_projovem_campo description: 'ProJovem Campo: 0-Opção não marcada no formulário, 1-Opção marcada - no formulário | version: 0619' + no formulário | version: 0620' - name: snas_projovem_trabalhador description: 'ProJovem Trabalhador: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: snas_projovem_urbano description: 'ProJovem Urbano: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: condicao_rua description: Table condicao_rua from number 12 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_carteira_assinada description: 'Teve emprego com carteira assinada: 1-Sim, 2-Não, 3-Não sabe - | version: 0619' + | version: 0620' - name: condicao_rua_contato_parente description: 'Tem contato com parente fora da condição de rua: campo numérico de 1 posição variando de 1 a 6, dependendo da opção marcada no formulário - | version: 0619' + | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_tempo_municipio description: 'Tempo em que mora na cidade: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: id_tempo_rua description: 'Tempo em que vive na rua: campo numérico de 1 posição variando - de 1 a 6, dependendo da opção marcada no formulário | version: 0619' + de 1 a 6, dependendo da opção marcada no formulário | version: 0620' - name: condicao_rua_vive_familia - description: 'Vive com sua família na rua: 1-Sim, 2-Não | version: 0619' + description: 'Vive com sua família na rua: 1-Sim, 2-Não | version: 0620' - name: atendido_crentro_referencia_populacao_rua description: 'Atendido por Centro Ref Pop Rua: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: atendido_cras description: 'Atendido por CRAS: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: atendido_creas description: 'Atendido por CREAS: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: atendido_hospital_geral description: 'Atendido por Hospital Geral: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: atendido_instituicao_governamental description: 'Atendido por Instituição Governamental: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: atendido_instituicao_nao_governamental description: 'Atendido por Instituição não Governamental: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: atendido_nenhum description: 'Não foi atendido por nenhum local: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: atividade_comunitaria_associacao description: 'Atividade comunitária em ASSOCIAÇÃO: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: atividade_comunitaria_cooperativa description: 'Atividade comunitária em COOPERATIVA: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: atividade_comunitaria_escola description: 'Atividade comunitária em ESCOLA: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: atibidade_comunitaria_movimento_social description: 'Atividade comunitária em Movimento social: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: atividade_comunitaria_nao_respondeu description: 'Não respondeu se frequentou atividade comunitária: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: atividade_comunitaria_nao_sabe description: 'Não sabe se frequentou atividade comunitária: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_carregador description: 'Ganha dinheiro como carregador: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_catador description: 'Ganha dinheiro como catador: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_construcao_civil description: 'Ganha dinheiro com construção civil: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_flanelinha description: 'Ganha dinheiro como guardador de carro: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_nao_respondeu description: 'Não respondeu como ganha dinheiro: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_outro description: 'Ganha dinheiro de outra forma: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_pedinte description: 'Ganha dinheiro como pedinte: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_sevicos_gerais description: 'Ganha dinheiro com serviços gerais: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: ganha_dinheiro_vendas description: 'Ganha dinheiro com vendas: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: dorme_albergue description: 'Dorme em albergue: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: dorme_domicilio_particular description: 'Dorme em domicílio particular: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: dorme_rua description: 'Dorme na rua: 0-Opção não marcada no formulário, 1-Opção marcada - no formulário | version: 0619' + no formulário | version: 0620' - name: condicao_rua_alcool description: 'Motivo da condição de rua por alcoolismo: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_ameaca description: 'Motivo da condição de rua por ameaça: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_desemprego description: 'Motivo da condição de rua por desemprego: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_nao_respondeu description: 'Não respondeu o motivo da condição de rua: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_nao_sabe description: 'Não o motivo da condição de rua: 0-Opção não marcada no formulário, - 1-Opção marcada no formulário | version: 0619' + 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_outro description: 'Motivo da condição de rua por outro motivo: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_perda_moradia description: 'Motivo da condição de rua por perda de moradia: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_preferencia description: 'Motivo da condição de rua por preferência: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_problemas_familiares description: 'Motivo da condição de rua por problemas familiares: 0-Opção - não marcada no formulário, 1-Opção marcada no formulário | version: 0619' + não marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_saude description: 'Motivo da condição de rua por tratamento de saúde: 0-Opção não - marcada no formulário, 1-Opção marcada no formulário | version: 0619' + marcada no formulário, 1-Opção marcada no formulário | version: 0620' - name: condicao_rua_trabalho description: 'Motivo da condição de rua por trabalho: 0-Opção não marcada - no formulário, 1-Opção marcada no formulário | version: 0619' + no formulário, 1-Opção marcada no formulário | version: 0620' - name: dorme_outro description: 'Dorme de outra forma: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: dorme_albergue_vezes_semana description: 'Quantidade de vezes por semana que dorme em albergue | version: - 0619' + 0620' - name: dorme_domicilio_particular_vezes_semana description: 'Quantidade de vezes por semana que dorme em domicílio particular - | version: 0619' + | version: 0620' - name: dorme_rua_vezes_semana - description: 'Quantidade de vezes por semana que dorme na rua | version: 0619' + description: 'Quantidade de vezes por semana que dorme na rua | version: 0620' - name: dorme_outro_vezes_semana description: 'Quantidade de vezes por semana que dorme de outra forma | version: - 0619' + 0620' - name: status_familia description: Table status_familia from number 13 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_exclusao_pessoa_cpf_nulo description: 'Existência da ocorrência “Exclusão de pessoa com CPF nulo na - base da Receita Federal” 0- Não Existe 1- Existe NULO | version: 0619' + base da Receita Federal” 0- Não Existe 1- Existe NULO | version: 0620' - name: exclusao_pessoa_cpf_nulo description: 'Existência da ocorrência “Exclusão de pessoa com CPF nulo na - base da Receita Federal” 0- Não Existe 1- Existe NULO | version: 0619' + base da Receita Federal” 0- Não Existe 1- Existe NULO | version: 0620' - name: id_oaud_sem_upload_arquivo description: "Existência de ocorrência \"FAMÍLIA UNIPESSOAL SEM UPLOAD DE DOCUMENTOS\" para Famílias Unipessoais sem Upload de Documentos\n0- Não - Existe\n1- Existe\nNULO | version: 0619" + Existe\n1- Existe\nNULO | version: 0620" - name: oaud_sem_upload_arquivo description: "Existência de ocorrência \"FAMÍLIA UNIPESSOAL SEM UPLOAD DE DOCUMENTOS\" para Famílias Unipessoais sem Upload de Documentos\n0- Não - Existe\n1- Existe\nNULO | version: 0619" + Existe\n1- Existe\nNULO | version: 0620" - name: id_sem_unidade_territorial description: "Existência de Ocorrência \"Família sem unidade territorial local (pendência somente para prefeituras que optarem por utilizar esse campo)\n\ - \" para a família 0- Não Existe 1- Existe NULO | version: 0619" + \" para a família 0- Não Existe 1- Existe NULO | version: 0620" - name: sem_unidade_territorial description: "Existência de Ocorrência \"Família sem unidade territorial local (pendência somente para prefeituras que optarem por utilizar esse campo)\n\ - \" para a família 0- Não Existe 1- Existe NULO | version: 0619" + \" para a família 0- Não Existe 1- Existe NULO | version: 0620" - name: id_transferida_este_municipio_familia_existente description: 'Existência de Ocorrência "• Família transferida para este município em família existente" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: transferida_este_municipio_familia_existente description: 'Existência de Ocorrência "• Família transferida para este município em família existente" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_transferida_este_municipio_nova_familia description: 'Existência de Ocorrência " Família transferida para este município em uma nova família" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: transferida_este_municipio_nova_familia description: 'Existência de Ocorrência " Família transferida para este município em uma nova família" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_transferida_outra_familia_mesmo_municipio description: 'Existência de Ocorrência "Família transferida para outra família no mesmo município" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: transferida_outra_familia_mesmo_municipio description: 'Existência de Ocorrência "Família transferida para outra família no mesmo município" para a família 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_transferida_outro_municipio description: 'Existência de Ocorrência " Família transferida para outro município" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: transferida_outro_municipio description: 'Existência de Ocorrência " Família transferida para outro município" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: id_patl_dados_desatualizados description: 'Existência de pendência "Famílias com dados desatualizados há mais de 24 meses (Família que não sofreu nenhuma atualização nos campos sensíveis há mais de 24 meses.)" para a família 0- Não Existe 1- Existe - NULO | version: 0619' + NULO | version: 0620' - name: patl_dados_desatualizados description: 'Existência de pendência "Famílias com dados desatualizados há mais de 24 meses (Família que não sofreu nenhuma atualização nos campos sensíveis há mais de 24 meses.)" para a família 0- Não Existe 1- Existe - NULO | version: 0619' + NULO | version: 0620' - name: id_paud_campo_obrigatorio_nao_preenchido_formulario_principal description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário principal" para a família 0- - Não Existe 1- Existe NULO | version: 0619' + Não Existe 1- Existe NULO | version: 0620' - name: paud_campo_obrigatorio_nao_preenchido_formulario_principal description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário principal" para a família 0- - Não Existe 1- Existe NULO | version: 0619' + Não Existe 1- Existe NULO | version: 0620' - name: id_paud_campo_obrigatorio_nao_preenchido_formulario_suplementar_1 description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário suplementar 1" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_campo_obrigatorio_nao_preenchido_formulario_suplementar_1 description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário suplementar 1" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_sem_upload_arquivo description: "Existência de pendência \"FAMÍLIA UNIPESSOAL SEM UPLOAD DE DOCUMENTOS\"\ \ para Famílias Unipessoais sem Upload de Documentos\n0- Não Existe\n1- - Existe\nNULO | version: 0619" + Existe\nNULO | version: 0620" - name: paud_sem_upload_arquivo description: "Existência de pendência \"FAMÍLIA UNIPESSOAL SEM UPLOAD DE DOCUMENTOS\"\ \ para Famílias Unipessoais sem Upload de Documentos\n0- Não Existe\n1- - Existe\nNULO | version: 0619" + Existe\nNULO | version: 0620" - name: id_paud_sem_responsavel_cadastrado description: "Existência de pendência • \"Família sem Responsável Familiar cadastrado\" para a famílias atualizadas na V7\n0- Não Existe 1- Existe - NULO | version: 0619" + NULO | version: 0620" - name: paud_sem_responsavel_cadastrado description: "Existência de pendência • \"Família sem Responsável Familiar cadastrado\" para a famílias atualizadas na V7\n0- Não Existe 1- Existe - NULO | version: 0619" + NULO | version: 0620" - name: id_pmds_pendencia_01 description: "Existência da pendência batch parametrizável 01\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_01 description: "Existência da pendência batch parametrizável 01\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_02 description: "Existência da pendência batch parametrizável 02\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_02 description: "Existência da pendência batch parametrizável 02\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_03 description: "Existência da pendência batch parametrizável 03\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_03 description: "Existência da pendência batch parametrizável 03\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_04 description: "Existência da pendência batch parametrizável 04\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_04 description: "Existência da pendência batch parametrizável 04\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_05 description: "Existência da pendência batch parametrizável 05\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_05 description: "Existência da pendência batch parametrizável 05\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_06 description: "Existência da pendência batch parametrizável 06\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_06 description: "Existência da pendência batch parametrizável 06\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_07 description: "Existência da pendência batch parametrizável 07\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_07 description: "Existência da pendência batch parametrizável 07\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_08 description: "Existência da pendência batch parametrizável 08\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_08 description: "Existência da pendência batch parametrizável 08\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_09 description: "Existência da pendência batch parametrizável 09\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_09 description: "Existência da pendência batch parametrizável 09\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_10 description: "Existência da pendência batch parametrizável 10\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_10 description: "Existência da pendência batch parametrizável 10\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_11 description: "Existência da pendência batch parametrizável 11\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_11 description: "Existência da pendência batch parametrizável 11\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_12 description: "Existência da pendência batch parametrizável 12\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_12 description: "Existência da pendência batch parametrizável 12\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_13 description: "Existência da pendência batch parametrizável 13\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_13 description: "Existência da pendência batch parametrizável 13\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_14 description: "Existência da pendência batch parametrizável 14\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_14 description: "Existência da pendência batch parametrizável 14\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_15 description: "Existência da pendência batch parametrizável 15\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_15 description: "Existência da pendência batch parametrizável 15\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_16 description: "Existência da pendência batch parametrizável 16\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_16 description: "Existência da pendência batch parametrizável 16\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_17 description: "Existência da pendência batch parametrizável 17\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_17 description: "Existência da pendência batch parametrizável 17\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_18 description: "Existência da pendência batch parametrizável 18\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_18 description: "Existência da pendência batch parametrizável 18\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_19 description: "Existência da pendência batch parametrizável 19\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_19 description: "Existência da pendência batch parametrizável 19\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_20 description: "Existência da pendência batch parametrizável 20\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_20 description: "Existência da pendência batch parametrizável 20\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_21 description: "Existência da pendência batch parametrizável 21\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_21 description: "Existência da pendência batch parametrizável 21\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_22 description: "Existência da pendência batch parametrizável 22\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_22 description: "Existência da pendência batch parametrizável 22\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_23 description: "Existência da pendência batch parametrizável 23\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_23 description: "Existência da pendência batch parametrizável 23\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_24 description: "Existência da pendência batch parametrizável 24\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_24 description: "Existência da pendência batch parametrizável 24\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_25 description: "Existência da pendência batch parametrizável 25\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_25 description: "Existência da pendência batch parametrizável 25\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_26 description: "Existência da pendência batch parametrizável 26\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_26 description: "Existência da pendência batch parametrizável 26\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_27 description: "Existência da pendência batch parametrizável 27\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_27 description: "Existência da pendência batch parametrizável 27\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_28 description: "Existência da pendência batch parametrizável 28\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_28 description: "Existência da pendência batch parametrizável 28\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_29 description: "Existência da pendência batch parametrizável 29\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_29 description: "Existência da pendência batch parametrizável 29\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmds_pendencia_30 description: "Existência da pendência batch parametrizável 30\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: pmds_pendencia_30 description: "Existência da pendência batch parametrizável 30\n0- Sem Pendência - 1- Pendente 2- Atualizada NULO | version: 0619" + 1- Pendente 2- Atualizada NULO | version: 0620" - name: id_pmig_campos_obrigatorios_nao_preenchidos description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário principal" para a família 0- - Não Existe 1- Existe NULO | version: 0619' + Não Existe 1- Existe NULO | version: 0620' - name: pmig_campos_obrigatorios_nao_preenchidos description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário principal" para a família 0- - Não Existe 1- Existe NULO | version: 0619' + Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_campos_obrigatorios_nao_preenchidos_sumeplentar_1 description: 'Existência de pendência • "• Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário suplementar 1" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_campos_obrigatorios_nao_preenchidos_sumeplentar_1 description: 'Existência de pendência • "• Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos do formulário suplementar 1" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_sem_responsavel_familiar_cadastrado description: 'Existência de pendência • "Família sem Responsável Familiar - cadastrado" para a família 0- Não Existe 1- Existe NULO | version: 0619' + cadastrado" para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_sem_responsavel_familiar_cadastrado description: 'Existência de pendência • "Família sem Responsável Familiar - cadastrado" para a família 0- Não Existe 1- Existe NULO | version: 0619' + cadastrado" para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptab_desativacao_cras_creas description: 'Existência de pendência • "Desativação de CRAS E CREAS" para - a família 0- Não Existe 1- Existe NULO | version: 0619' + a família 0- Não Existe 1- Existe NULO | version: 0620' - name: ptab_desativacao_cras_creas description: 'Existência de pendência • "Desativação de CRAS E CREAS" para - a família 0- Não Existe 1- Existe NULO | version: 0619' + a família 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptab_desativacao_eas description: 'Existência de pendência • "Desativação de EAS" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: ptab_desativacao_eas description: 'Existência de pendência • "Desativação de EAS" para a família - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: ptab_desativacao_comunidades_quilombolas description: 'Existência de pendência • "Desativação de Comunidades Quilombolas" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptab_desativacao_terras_indigenas description: 'Existência de pendência • "Desativação de Terras Indígenas" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: ptab_desativacao_terras_indigenas description: 'Existência de pendência • "Desativação de Terras Indígenas" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptrn_sem_responsavel_familiar_cadastrado description: 'Existência de pendência "Família sem Responsável Familiar Cadastrado" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: ptrn_sem_responsavel_familiar_cadastrado description: 'Existência de pendência "Família sem Responsável Familiar Cadastrado" - para a família 0- Não Existe 1- Existe NULO | version: 0619' + para a família 0- Não Existe 1- Existe NULO | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: documento_membro description: Table documento_membro from number 14 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_oaud_indicativo_obito description: 'Existência de ocorrência "Membro da Família com Indicativo de - Óbito Negado" 0- Não Existe 1- Existe | version: 0619' + Óbito Negado" 0- Não Existe 1- Existe | version: 0620' - name: oaud_indicativo_obito description: 'Existência de ocorrência "Membro da Família com Indicativo de - Óbito Negado" 0- Não Existe 1- Existe | version: 0619' + Óbito Negado" 0- Não Existe 1- Existe | version: 0620' - name: id_oaud_carteira_trabalho_multiplicidade description: 'Existência de ocorrência “Multiplicidade de Carteira de Trabalho” - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: oaud_carteira_trabalho_multiplicidade description: 'Existência de ocorrência “Multiplicidade de Carteira de Trabalho” - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_oaud_certidao_nascimento_multiplicidade description: 'Existência de ocorrência “Multiplicidade de Certidão de Nascimento” - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: oaud_certidao_nascimento_multiplicidade description: 'Existência de ocorrência “Multiplicidade de Certidão de Nascimento” - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_oaud_rg_multiplicidade description: 'Existência de ocorrência “Multiplicidade de RG” 0- Não Existe - 1- Existe NULO | version: 0619' + 1- Existe NULO | version: 0620' - name: oaud_rg_multiplicidade description: 'Existência de ocorrência “Multiplicidade de RG” 0- Não Existe - 1- Existe NULO | version: 0619' + 1- Existe NULO | version: 0620' - name: id_osrg_nao_sabe_registrada_cartorio description: 'Existência de Ocorrência "Não sabe se foi registrada em Cartório (conforme RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: osrg_nao_sabe_registrada_cartorio description: 'Existência de Ocorrência "Não sabe se foi registrada em Cartório (conforme RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_osrg_registrada_sem_cetidao_civil description: 'Existência de Ocorrência "Registrada e sem Certidão Civil (conforme - RN019)" para a Pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + RN019)" para a Pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: osrg_registrada_sem_cetidao_civil description: 'Existência de Ocorrência "Registrada e sem Certidão Civil (conforme - RN019)" para a Pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + RN019)" para a Pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_osrg_nao_registrada_cartorio description: 'Existência de Ocorrência "Não registrada em cartório (conforme - RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: osrg_nao_registrada_cartorio description: 'Existência de Ocorrência "Não registrada em cartório (conforme - RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + RN019)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_otrn_transferida_este_municipio_familia_existente description: 'Existência de Ocorrência "• Pessoa de outro município (origem) transferida para este município (destino )em família existente" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: otrn_transferida_este_municipio_familia_existente description: 'Existência de Ocorrência "• Pessoa de outro município (origem) transferida para este município (destino )em família existente" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_otrn_transferida_este_municipio_nova_familia description: "Existência de Ocorrência \" • Pessoa de outro município (origem) transferida para este município (destino ) em uma nova família\n(destino)\"\ - \ para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + \ para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: otrn_transferida_este_municipio_nova_familia description: "Existência de Ocorrência \" • Pessoa de outro município (origem) transferida para este município (destino ) em uma nova família\n(destino)\"\ - \ para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + \ para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: id_otrn_transferida_outra_familia description: 'Existência de Ocorrência "Pessoa transferida para outra família no mesmo município" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: otrn_transferida_outra_familia description: 'Existência de Ocorrência "Pessoa transferida para outra família no mesmo município" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_otrn_transferida_outro_municipio description: 'Existência de Ocorrência " Pessoa transferida para outro município" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: otrn_transferida_outro_municipio description: 'Existência de Ocorrência " Pessoa transferida para outro município" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_cpf_cancelado_base_receita_federal description: 'Existência de pendência “CPF suspenso na base da Receita Federal” - 0 – Não Existe 1 – Existe NULO | version: 0619' + 0 – Não Existe 1 – Existe NULO | version: 0620' - name: paud_cpf_cancelado_base_receita_federal description: 'Existência de pendência “CPF suspenso na base da Receita Federal” - 0 – Não Existe 1 – Existe NULO | version: 0619' + 0 – Não Existe 1 – Existe NULO | version: 0620' - name: id_paud_cpf_suspenso_base_receita_federal description: 'Existência de pendência “CPF suspenso na base da Receita Federal” - 0 – Não Existe 1 – Existe NULO | version: 0619' + 0 – Não Existe 1 – Existe NULO | version: 0620' - name: paud_cpf_suspenso_base_receita_federal description: 'Existência de pendência “CPF suspenso na base da Receita Federal” - 0 – Não Existe 1 – Existe NULO | version: 0619' + 0 – Não Existe 1 – Existe NULO | version: 0620' - name: id_paud_campo_obrigatorio_nao_preenchido description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: paud_campo_obrigatorio_nao_preenchido description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: id_paud_cadatrado_com_certidao_obito description: 'Existência de pendência "Membro da Família Cadastrado e com Certidão de Óbito" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: paud_cadatrado_com_certidao_obito description: 'Existência de pendência "Membro da Família Cadastrado e com Certidão de Óbito" para a pessoa: 0- Não Existe 1- Existe NULO | version: - 0619' + 0620' - name: id_paud_cpf_invalido description: 'Existência de pendência "Membro com CPF inválido (DV inválido)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_cpf_invalido description: 'Existência de pendência "Membro com CPF inválido (DV inválido)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_cpf_multiplicidade description: 'Existência de pendência "Membro com CPF em multiplicidade" para - a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_cpf_multiplicidade description: 'Existência de pendência "Membro com CPF em multiplicidade" para - a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_cpf_divergencia_titularidade description: 'Existência de pendência "• Membro com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_cpf_divergencia_titularidade description: 'Existência de pendência "• Membro com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_titulo_eleitor_invalido description: 'Existência de pendência "Membro com Título de Eleitor inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_titulo_eleitor_invalido description: 'Existência de pendência "Membro com Título de Eleitor inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_titulo_eleitor_multiplicidade description: 'Existência de pendência "Membro com Título de Eleitor em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_titulo_eleitor_multiplicidade description: 'Existência de pendência "Membro com Título de Eleitor em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_rejeicao_inclusao_atualizacao_dados_cadastrais description: 'Existência de pendência "Rejeição de inclusão/atualização dos dados cadastrais da pessoa" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: paud_rejeicao_inclusao_atualizacao_dados_cadastrais description: 'Existência de pendência "Rejeição de inclusão/atualização dos dados cadastrais da pessoa" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: id_paud_responsavel_sem_cpf_tiluto_eleitor description: "Existência de pendência \"Responsável Familiar sem CPF ou Título - de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: paud_responsavel_sem_cpf_tiluto_eleitor description: "Existência de pendência \"Responsável Familiar sem CPF ou Título - de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: id_paud_responsavel_cpf_invalido description: 'Existência de pendência "• Responsável Familiar com CPF inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_responsavel_cpf_invalido description: 'Existência de pendência "• Responsável Familiar com CPF inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_responsavel_cpf_multiplicidade description: 'Existência de pendência "Responsável Familiar com CPF em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_responsavel_cpf_multiplicidade description: 'Existência de pendência "Responsável Familiar com CPF em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_responsavel_cpf_divergencia_titularidade description: 'Existência de pendência "• Responsável Familiar com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_responsavel_cpf_divergencia_titularidade description: 'Existência de pendência "• Responsável Familiar com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_paud_responsavel_titulo_eleitor_invalido description: 'Existência de pendência "Responsável Familiar com Título de Eleitor inválido (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: paud_responsavel_titulo_eleitor_invalido description: 'Existência de pendência "Responsável Familiar com Título de Eleitor inválido (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: id_paud_responsavel_titulo_eleitor_multiplicidade description: 'Existência de pendência "Responsável Familiar com Título de Eleitor em multiplicidade" para a pessoa: 0- Não Existe 1- Existe NULO | - version: 0619' + version: 0620' - name: paud_responsavel_titulo_eleitor_multiplicidade description: 'Existência de pendência "Responsável Familiar com Título de Eleitor em multiplicidade" para a pessoa: 0- Não Existe 1- Existe NULO | - version: 0619' + version: 0620' - name: id_paud_responsavel_idade_inferior_16_anos description: 'Existência de pendência "Responsável Familiar com idade inferior - a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: paud_responsavel_idade_inferior_16_anos description: 'Existência de pendência "Responsável Familiar com idade inferior - a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_campo_obrigatorio_nao_preenchido description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: pmig_campo_obrigatorio_nao_preenchido description: 'Existência de pendência " Campos Obrigatórios ou Obrigatórios Condicionados Não Preenchidos" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: id_pmig_cpf_invalido description: 'Existência de pendência "Membro com CPF inválido (DV inválido)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_cpf_invalido description: 'Existência de pendência "Membro com CPF inválido (DV inválido)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_cpf_multiplicidade description: 'Existência de pendência "Membro com CPF em multiplicidade" para - a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_cpf_multiplicidade description: 'Existência de pendência "Membro com CPF em multiplicidade" para - a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_cpf_divergencia_titularidade description: 'Existência de pendência "• Membro com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_cpf_divergencia_titularidade description: 'Existência de pendência "• Membro com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_titulo_eleitor_multiplicidade description: 'Existência de pendência "Membro com Título de Eleitor em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_titulo_eleitor_multiplicidade description: 'Existência de pendência "Membro com Título de Eleitor em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_responsavel_sem_cpf_titulo_eleitor description: "Existência de pendência \"Responsável Familiar sem CPF ou Título - de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: pmig_responsavel_sem_cpf_titulo_eleitor description: "Existência de pendência \"Responsável Familiar sem CPF ou Título - de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619" + de Eleitor\n\" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620" - name: id_pmig_responsavel_cpf_invalido description: 'Existência de pendência "• Responsável Familiar com CPF inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_responsavel_cpf_invalido description: 'Existência de pendência "• Responsável Familiar com CPF inválido - (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_reponsavel_cpf_multiplicidade description: 'Existência de pendência "Responsável Familiar com CPF em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_reponsavel_cpf_multiplicidade description: 'Existência de pendência "Responsável Familiar com CPF em multiplicidade" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_responsavel_cpf_divergencia_titularidade description: 'Existência de pendência "• Responsável Familiar com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_responsavel_cpf_divergencia_titularidade description: 'Existência de pendência "• Responsável Familiar com divergência de titularidade de CPF (validação de titularidade com base na receita federal)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_responsavel_titulo_eleitor_invalido description: 'Existência de pendência "Responsável Familiar com Título de Eleitor inválido (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: pmig_responsavel_titulo_eleitor_invalido description: 'Existência de pendência "Responsável Familiar com Título de Eleitor inválido (DV inválido)" para a pessoa: 0- Não Existe 1- Existe NULO - | version: 0619' + | version: 0620' - name: id_pmig_responsavel_titulo_eleitor_multiplicidade description: 'Existência de pendência "• Responsável Familiar com Titulo de Eleitor em multiplicidade" para a pessoa: 0- Não Existe 1- Existe NULO | - version: 0619' + version: 0620' - name: pmig_responsavel_titulo_eleitor_multiplicidade description: 'Existência de pendência "• Responsável Familiar com Titulo de Eleitor em multiplicidade" para a pessoa: 0- Não Existe 1- Existe NULO | - version: 0619' + version: 0620' - name: id_pmig_responsavel_idade_inferior_16_anos description: 'Existência de pendência "Responsável Familiar com idade inferior - a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_responsavel_idade_inferior_16_anos description: 'Existência de pendência "Responsável Familiar com idade inferior - a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + a 16 anos" para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_pmig_sem_nunhuma_documentacao description: 'Existência de pendência "Membro da família sem NENHUMA documentação (exceto o caso da pessoa SEM registro civil conforme RN019)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: pmig_sem_nunhuma_documentacao description: 'Existência de pendência "Membro da família sem NENHUMA documentação (exceto o caso da pessoa SEM registro civil conforme RN019)" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptab_desativacao_inep description: 'Existência de pendência "Desativação de INEP" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: ptab_desativacao_inep description: 'Existência de pendência "Desativação de INEP" para a pessoa: - 0- Não Existe 1- Existe NULO | version: 0619' + 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptrn_verficacao_dados_inep description: 'Existência de pendência "Verificação dos dados da escola (INEP)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: ptrn_verficacao_dados_inep description: 'Existência de pendência "Verificação dos dados da escola (INEP)" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_ptrn_sem_relacao_parentesco description: 'Existência de pendência "• Pessoa sem relação de parentesco" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: ptrn_sem_relacao_parentesco description: 'Existência de pendência "• Pessoa sem relação de parentesco" - para a pessoa: 0- Não Existe 1- Existe NULO | version: 0619' + para a pessoa: 0- Não Existe 1- Existe NULO | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: habitacao description: Table habitacao from number 15 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: contrato_pro_habitacao - description: 'Número do contrato do programa | version: 0619' + description: 'Número do contrato do programa | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: natureza_pro_habitacao - description: 'Natureza do benefício do programa | version: 0619' + description: 'Natureza do benefício do programa | version: 0620' - name: programa_pro_habitacao description: 'Programa Ministério das Cidades: campo numérico de 1 posição variando de 1 a 8, dependendo da opção marcada no formulário | version: - 0619' + 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: transferencia_familia description: Table transferencia_familia from number 16 columns: - name: id_prefeitura_antes_transferencia description: 'Chave única de identificação da Prefeitura de origem antes da - transferência | version: 0619' + transferência | version: 0620' - name: id_familia_destino - description: 'CÓDIGO DA FAMÍLIA DE DESTINO APÓS TRANFERÊNCIA | version: 0619' + description: 'CÓDIGO DA FAMÍLIA DE DESTINO APÓS TRANFERÊNCIA | version: 0620' - name: id_prefeitura_destino description: 'CÓDIGO DA PREFEITURA DE DESTINO APÓS TRANFERÊNCIA | version: - 0619' + 0620' - name: id_estado_cadastro_transferencia description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO - CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0619' + CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0620' - name: estado_cadastro_transferencia description: 'Estado cadastral da família: 1- EM CADASTRAMENTO 2- SEM REGISTRO - CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0619' + CIVIL 3- CADASTRADO 4- EXCLUIDO | version: 0620' - name: id_familia_antes_transferencia description: 'Código Familiar único de identificação da Família de origem - antes da transferência | version: 0619' + antes da transferência | version: 0620' - name: id_uf_transferencia description: 'Primeira parte do código IBGE DE ORIGEM: numérico de dois algarismos - descrevendo sua UF | version: 0619' + descrevendo sua UF | version: 0620' - name: id_municipio_transferencia - description: 'Segunda parte do código IBGE DE ORIGEM | version: 0619' + description: 'Segunda parte do código IBGE DE ORIGEM | version: 0620' - name: data_transferencia description: 'Data Da transferência da Família, formato DDMMAAAA | version: - 0619' + 0620' - name: numero_registro_transferencia - description: '16 | version: 0619' + description: '16 | version: 0620' - name: identificacao_membro description: Table identificacao_membro from number 17 columns: - name: id_prefeitura_origem description: 'Chave única de identificação da Prefeitura de origem antes da - transferência | version: 0619' + transferência | version: 0620' - name: id_certidao_registrada_cartorio description: 'Pessoa registrada em cartório: campo numérico de 1 posição variando - de 1 a 4, dependendo da opção marcada no formulário | version: 0619' + de 1 a 4, dependendo da opção marcada no formulário | version: 0620' - name: certidao_registrada_cartorio description: 'Pessoa registrada em cartório: campo numérico de 1 posição variando - de 1 a 4, dependendo da opção marcada no formulário | version: 0619' + de 1 a 4, dependendo da opção marcada no formulário | version: 0620' - name: id_familia_destino_transferencia - description: 'CÓDIGO DA FAMÍLIA DE DESTINO | version: 0619' + description: 'CÓDIGO DA FAMÍLIA DE DESTINO | version: 0620' - name: id_prefeitura_destino_transferencia - description: 'CÓDIGO DA PREFEITURA DE DESTINO | version: 0619' + description: 'CÓDIGO DA PREFEITURA DE DESTINO | version: 0620' - name: id_estado_cadastro_transferencia_membro description: 'Estado cadastral da pessoa: 1- EM CADASTRAMENTO 2- SEM REGISTRO CIVIL 3- CADASTRADO 4- EXCLUIDO 5- AGUARDANDO ATRIBUIÇÃO NIS 6- AGUARDANDO - ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0619' + ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0620' - name: estado_cadastro_transferencia_membro description: 'Estado cadastral da pessoa: 1- EM CADASTRAMENTO 2- SEM REGISTRO CIVIL 3- CADASTRADO 4- EXCLUIDO 5- AGUARDANDO ATRIBUIÇÃO NIS 6- AGUARDANDO - ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0619' + ALTERAÇÃO DE CARACTERIZAÇÃO | version: 0620' - name: id_familia_origem description: 'Código Familiar único de identificação da Família de origem - antes da transferência | version: 0619' + antes da transferência | version: 0620' - name: id_municipio_nascimento description: 'Código IBGE do Município de nascimento da Pessoa | version: - 0619' + 0620' - name: id_pais_nascimento description: "Código do País de nascimento da Pessoa\nCampo numérico de 4 - posições formato NNNN | version: 0619" + posições formato NNNN | version: 0620" - name: id_raca_cor description: "Cor ou raça: campo numérico de 1 posição variando de 1 a 5, 1-Branca\n2 – Preta\n3 – Amarela\n4 – Parda\n5 – Indígena\ndependendo da - opção marcada no formulário | version: 0619" + opção marcada no formulário | version: 0620" - name: raca_cor description: "Cor ou raça: campo numérico de 1 posição variando de 1 a 5, 1-Branca\n2 – Preta\n3 – Amarela\n4 – Parda\n5 – Indígena\ndependendo da - opção marcada no formulário | version: 0619" + opção marcada no formulário | version: 0620" - name: id_sexo - description: 'Sexo: 1 – Masculino, 2 – Feminino | version: 0619' + description: 'Sexo: 1 – Masculino, 2 – Feminino | version: 0620' - name: sexo - description: 'Sexo: 1 – Masculino, 2 – Feminino | version: 0619' + description: 'Sexo: 1 – Masculino, 2 – Feminino | version: 0620' - name: data_nascimento description: 'Data de nascimento da pessoa no formato DDMMAAAA | version: - 0619' + 0620' - name: data_transferencia_membro description: 'Data de TRANSFERÊNCIA da Pessoa no CadÚnico formato DDMMAAAA - | version: 0619' + | version: 0620' - name: sabe_municipio_nascimento description: 'Sabe o município de nascimento da pessoa: 1-Opção não marcada no formulário, 2-Opção marcada no formulário (Aceita Nulo = Sim). | version: - 0619' + 0620' - name: nao_sabe_nome_mae description: 'Não sabe nome da mãe: 0 – Opção não marcada no formulário, 1 - – Opção marcada no formulário | version: 0619' + – Opção marcada no formulário | version: 0620' - name: nao_sabe_nome_pai description: 'Não sabe nome do pai: 0 – Opção não marcada no formulário, 1 - – Opção marcada no formulário | version: 0619' + – Opção marcada no formulário | version: 0620' - name: nao_sabe_pais_nascimento description: 'Não sabe o País de nascimento da pessoa: 0 – Opção não marcada - no formulário, 1 – Opção marcada no formulário | version: 0619' + no formulário, 1 – Opção marcada no formulário | version: 0620' - name: sabe_sigla_uf_nascimento description: 'Sabe a UF de nascimento da pessoa: 1-Opção não marcada no formulário, - 2-Opção marcada no formulário (Aceita Nulo = Sim) | version: 0619' + 2-Opção marcada no formulário (Aceita Nulo = Sim) | version: 0620' - name: apelido - description: 'Apelido da pessoa | version: 0619' + description: 'Apelido da pessoa | version: 0620' - name: nome_mae - description: 'Nome da mãe | version: 0619' + description: 'Nome da mãe | version: 0620' - name: nome_pai - description: 'Nome do pai | version: 0619' + description: 'Nome do pai | version: 0620' - name: municipio_nascimento - description: 'Nome do Município de nascimento da Pessoa | version: 0619' + description: 'Nome do Município de nascimento da Pessoa | version: 0620' - name: nome - description: 'Nome da pessoa | version: 0619' + description: 'Nome da pessoa | version: 0620' - name: pais_nascimento - description: 'Nome do país de nascimento da Pessoa | version: 0619' + description: 'Nome do país de nascimento da Pessoa | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: nis description: 'NIS da pessoa, campo numérico de 11 posições formato NNNNNNNNNNN - | version: 0619' + | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: sigla_uf_nascimento - description: 'UF de nascimento da Pessoa | version: 0619' + description: 'UF de nascimento da Pessoa | version: 0620' - name: exclusao_servidor description: Table exclusao_servidor from number 18 columns: - name: id_prefeitura_exclusao description: 'Chave única de identificação da Prefeitura da família excluída - | version: 0619' + | version: 0620' - name: id_familia_exclusao description: 'Código Familiar único de identificação da Família excluída | - version: 0619' + version: 0620' - name: cpf_operador_exclusao description: "CPF do Operador que realizou a exclusão da família\nCaso a exclusão tenha sido efetuada pelo sistema este campo apresentará o conteúdo “99999999999” - | version: 0619" + | version: 0620" - name: cpf_servidor_parecer_gestao_municipal_cadunico description: 'CPF do Servidor Público do Parecer da Gestão Municipal do Cadastro - Único | version: 0619' + Único | version: 0620' - name: data_emissao_parecer_gestao_municipal_cadunico description: 'Data da Emissão do Parecer da Gestão Municipal do Cadastro Único - | version: 0619' + | version: 0620' - name: data_exclusao description: 'Data da exclusão da família, no formato dd/mm/aaaa | version: - 0619' + 0620' - name: descricao_cotivo_exclusao description: 'Descrição do complemento do Motivo de Exclusão da pessoa | version: - 0619' + 0620' - name: id_motivo_exclusao description: "Código identificador do motivo de exclusão da família\nPodendo ser: 01-Falecimento de toda a família\n02-Recusa da família em prestar informações\n @@ -2069,56 +2087,56 @@ models : com renda per capita acima de meio salário mínimo e que não este" - name: id_municipio_parecer_gestao_municipal_cadunico description: 'Código IBGE do Município do Parecer da Gestão Municipal do Cadastro - Único | version: 0619' + Único | version: 0620' - name: servidor_parecer_gestao_municipal_cadunico description: 'Nome do Servidor Público do Parecer da Gestão Municipal do Cadastro - Único | version: 0619' + Único | version: 0620' - name: numero_parecer_gestao_municipal_cadunico description: 'Número do Parecer da Gestão Municipal do Cadastro Único | version: - 0619' + 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: sigla_uf_parecer_gestao_municipal_cadunico description: 'UF do Parecer da Gestão Municipal do Cadastro Único | version: - 0619' + 0620' - name: exclusao_membro description: Table exclusao_membro from number 19 columns: - name: id_prefeitura_membro_excluido description: 'Chave única de identificação da Prefeitura da família a qual - o membro excluído pertence | version: 0619' + o membro excluído pertence | version: 0620' - name: id_familia_membro_excluido description: 'Código Familiar único de identificação da Família na qual o - membro excluído pertence | version: 0619' + membro excluído pertence | version: 0620' - name: folha_ceritao_obito_excluido - description: 'Folha da certidão de óbito da pessoa excluída | version: 0619' + description: 'Folha da certidão de óbito da pessoa excluída | version: 0620' - name: id_municipio_certidao_obito_excluido description: 'Código IBGE do município da certidão de óbito da pessoa excluída - | version: 0619' + | version: 0620' - name: livro_certidao_obito_excluido - description: 'Livro da certidão de óbito da pessoa excluída | version: 0619' + description: 'Livro da certidão de óbito da pessoa excluída | version: 0620' - name: numero_termo_matricula_certidao_excluido - description: 'Número do Termo / Matrícula da Certidão. | version: 0619' + description: 'Número do Termo / Matrícula da Certidão. | version: 0620' - name: cpf_operador_exclusao_membro description: "CPF do Operador que realizou a exclusão da pessoa\nCaso a exclusão tenha sido efetuada pelo sistema este campo apresentará o conteúdo “99999999999”. - | version: 0619" + | version: 0620" - name: cpf_servidor_parecer_gestao_municipal_cadunico_membro description: 'CPF do Servidor Público do Parecer da Gestão Municipal do Cadastro - Único do Membro Excluído | version: 0619' + Único do Membro Excluído | version: 0620' - name: data_emissao_parecer_gestao_municipal_cadunico_membro description: 'Data da Emissão do Parecer da Gestão Municipal do Cadastro Único - do Membro Excluído | version: 0619' + do Membro Excluído | version: 0620' - name: data_exclusao_membro description: 'Data da exclusão da família, no formato dd/mm/aaaa | version: - 0619' + 0620' - name: descricao_cotivo_exclusao description: 'Descrição do complemento do Motivo de Exclusão da pessoa | version: - 0619' + 0620' - name: data_emissao_certidao_obito_excluido description: 'Data de emissão da da certidão de óbito da pessoa excluída, - formato DDMMAAAA | version: 0619' + formato DDMMAAAA | version: 0620' - name: id_motivo_exclusao_membro description: "Código identificador do motivo de exclusão da pessoa\nPodendo ser: 01-Falecimento da pessoa\n02-Desligamento da pessoa daquela família\n @@ -2132,7 +2150,7 @@ models : – Pessoa excluída por possuir CPF nulo\n17-Membro excluído por ter sido incluído pelo próprio operador/Entrevistador da família\n99 – Exclusão da família (para casos em que a pessoa tenha sido excluída pela exclusão de - sua família). | version: 0619" + sua família). | version: 0620" - name: motivo_exclusao_membro description: "Código identificador do motivo de exclusão da pessoa\nPodendo ser: 01-Falecimento da pessoa\n02-Desligamento da pessoa daquela família\n @@ -2146,188 +2164,188 @@ models : – Pessoa excluída por possuir CPF nulo\n17-Membro excluído por ter sido incluído pelo próprio operador/Entrevistador da família\n99 – Exclusão da família (para casos em que a pessoa tenha sido excluída pela exclusão de - sua família). | version: 0619" + sua família). | version: 0620" - name: id_municipio_parecer_gestao_municipal_cadunico_membro description: 'Código IBGE do Município do Parecer da Gestão Municipal do Cadastro - Único do Membro Excluído | version: 0619' + Único do Membro Excluído | version: 0620' - name: cartorio_certidao_obito_excluido description: 'Nome do cartório da certidão de óbito da pessoa excluída | version: - 0619' + 0620' - name: municipio_certidao_obito_excluido description: 'Nome do município da certidão de óbito da pessoa excluída | - version: 0619' + version: 0620' - name: servidor_parecer_gestao_municipal_cadunico_membro description: 'Nome do Servidor Público do Parecer da Gestão Municipal do Cadastro - Único do Membro Excluído | version: 0619' + Único do Membro Excluído | version: 0620' - name: id_membro_excluido - description: 'Número do membro da Família excluído | version: 0619' + description: 'Número do membro da Família excluído | version: 0620' - name: numero_parecer_gestao_municipal_cadunico_membro description: 'Número do Parecer da Gestão Municipal do Cadastro Único do Membro - Excluído | version: 0619' + Excluído | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: sigla_uf_certidao_obito_excluido - description: 'UF da Certidão de óbito da pessoa excluída | version: 0619' + description: 'UF da Certidão de óbito da pessoa excluída | version: 0620' - name: sigla_uf_parecer_gestao_municipal_cadunico_membro description: 'UF do Parecer da Gestão Municipal do Cadastro Único do Membro - Excluído | version: 0619' + Excluído | version: 0620' - name: representante_legal description: Table representante_legal from number 20 columns: - name: id_prefeitura_representante_legal description: 'Chave única de identificação da Prefeitura da família a qual - o membro excluído pertence | version: 0619' + o membro excluído pertence | version: 0620' - name: id_representante_legal description: "Chave natural atual do RL\nCódigo com tamanho de 13 posição - que identifica a pessoa no SIISO | version: 0619" + que identifica a pessoa no SIISO | version: 0620" - name: id_familia_representante_legal - description: 'Número da família no Cadastro Única | version: 0619' + description: 'Número da família no Cadastro Única | version: 0620' - name: id_minicipio_nascimento_representante_legal - description: 'Código IBGE do município de nascimento do RL | version: 0619' + description: 'Código IBGE do município de nascimento do RL | version: 0620' - name: id_pais_nascimento_representante_legal - description: 'Código do país de nascimento do RL | version: 0619' + description: 'Código do país de nascimento do RL | version: 0620' - name: id_sexo_representante_legal - description: "Sexo: 1 – Masculino\n2-Feminino | version: 0619" + description: "Sexo: 1 – Masculino\n2-Feminino | version: 0620" - name: sexo_representante_legal - description: "Sexo: 1 – Masculino\n2-Feminino | version: 0619" + description: "Sexo: 1 – Masculino\n2-Feminino | version: 0620" - name: descricao_complemento_logradouro_representante_legal - description: 'Descrição do complemento do logradouro | version: 0619' + description: 'Descrição do complemento do logradouro | version: 0620' - name: descricao_representacao_legal description: 'Informações digitadas pelo operador municipal com dados do documento - de representação legal | version: 0619' + de representação legal | version: 0620' - name: data_cadastro_representante_legal description: "Data de cadastramento do Representante Legal no sistema\nFormato - DDMMAAAA | version: 0619" + DDMMAAAA | version: 0620" - name: data_nascimento_representante_legal - description: "Data de nascimento do RL\nFormato: DDMMAAAA | version: 0619" + description: "Data de nascimento do RL\nFormato: DDMMAAAA | version: 0620" - name: email_representante_legal - description: 'Endereço de E-mail para contato | version: 0619' + description: 'Endereço de E-mail para contato | version: 0620' - name: id_obito_acatado_representante_legal description: 'Indicativo de óbito acatado: S – Óbito Acatado N – Óbito não acatado Vazio para casos onde não há tratamento do óbito do RL ainda ou - não há indicação de óbito | version: 0619' + não há indicação de óbito | version: 0620' - name: obito_acatado_representante_legal description: 'Indicativo de óbito acatado: S – Óbito Acatado N – Óbito não acatado Vazio para casos onde não há tratamento do óbito do RL ainda ou - não há indicação de óbito | version: 0619' + não há indicação de óbito | version: 0620' - name: id_obito_representante_legal description: 'Indicativo de óbito do RL: S – Possui óbito N – Não possui | - version: 0619' + version: 0620' - name: obito_representante_legal description: 'Indicativo de óbito do RL: S – Possui óbito N – Não possui | - version: 0619' + version: 0620' - name: nao_sabe_nome_mae_representante_legal description: 'Não sabe Nome da Mãe: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: nao_sabe_nome_pai_representante_legal description: 'Não sabe Nome do Pai: 0-Opção não marcada no formulário, 1-Opção - marcada no formulário | version: 0619' + marcada no formulário | version: 0620' - name: mae_representante_legal - description: 'Nome da mãe do RL | version: 0619' + description: 'Nome da mãe do RL | version: 0620' - name: pai_representante_legal - description: 'Nome do Pai do RL | version: 0619' + description: 'Nome do Pai do RL | version: 0620' - name: representante_legal - description: 'Nome do Representante Legal | version: 0619' + description: 'Nome do Representante Legal | version: 0620' - name: bairro_representante_legal - description: 'Nome Bairro | version: 0619' + description: 'Nome Bairro | version: 0620' - name: logradouro_representante_legal - description: 'Dados do logradouro do RL | version: 0619' + description: 'Dados do logradouro do RL | version: 0620' - name: municipio_nascimento_representante_legal - description: 'Nome do município de nascimento do RL | version: 0619' + description: 'Nome do município de nascimento do RL | version: 0620' - name: municipio_representante_legal - description: 'Nome do município | version: 0619' + description: 'Nome do município | version: 0620' - name: pais_nascimento_representante_legal - description: 'Nome do País de nascimento do RL | version: 0619' + description: 'Nome do País de nascimento do RL | version: 0620' - name: tipo_logradouro_representante_legal - description: 'NOME do tipo de Logradouro do RL | version: 0619' + description: 'NOME do tipo de Logradouro do RL | version: 0620' - name: cep_representante_legal - description: 'CEP do endereço | version: 0619' + description: 'CEP do endereço | version: 0620' - name: cpf_representante_legal - description: 'CPF no RL | version: 0619' + description: 'CPF no RL | version: 0620' - name: contato_ddd_representante_legal - description: 'DDD do telefone de contato 1 | version: 0619' + description: 'DDD do telefone de contato 1 | version: 0620' - name: contato_ddd_2_representante_legal - description: 'DDD do telefone de contato 2 | version: 0619' + description: 'DDD do telefone de contato 2 | version: 0620' - name: numero_logradouro_representante_legal - description: "Número do logradouro\nPode conter SN ou S/N | version: 0619" + description: "Número do logradouro\nPode conter SN ou S/N | version: 0620" - name: nis_representante_legal - description: 'NIS do Representante Legal | version: 0619' + description: 'NIS do Representante Legal | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: id_interno_representante_legal description: 'Número interno que identifica o RL na base de dados | version: - 0619' + 0620' - name: contato_telefone_representante_legal - description: 'Número do telefone de contato 1 | version: 0619' + description: 'Número do telefone de contato 1 | version: 0620' - name: contato_telefone_2_representante_legal - description: 'Número do telefone de contato 2 | version: 0619' + description: 'Número do telefone de contato 2 | version: 0620' - name: id_municipio_representante_legal - description: 'Código do município do RL | version: 0619' + description: 'Código do município do RL | version: 0620' - name: sigla_uf_nascimento_representante_legal - description: 'UF do Estado de nascimento do RL | version: 0619' + description: 'UF do Estado de nascimento do RL | version: 0620' - name: sigla_uf_representante_legal - description: 'UF do Estado do logradouro | version: 0619' + description: 'UF do Estado do logradouro | version: 0620' - name: id_tipo_representacao_legal description: "Tipo de Representação Legal para aquela família\nEx.: 01-Curatela, - 02-Tutela, 03-Guarda | version: 0619" + 02-Tutela, 03-Guarda | version: 0620" - name: tipo_representacao_legal description: "Tipo de Representação Legal para aquela família\nEx.: 01-Curatela, - 02-Tutela, 03-Guarda | version: 0619" + 02-Tutela, 03-Guarda | version: 0620" - name: renda description: Table renda from number 21 columns: - name: id_prefeitura - description: 'Chave única de identificação da Prefeitura | version: 0619' + description: 'Chave única de identificação da Prefeitura | version: 0620' - name: id_afastado_semana_passada - description: 'Pessoa afastada na semana passada: 1-Sim, 2-Não | version: 0619' + description: 'Pessoa afastada na semana passada: 1-Sim, 2-Não | version: 0620' - name: id_atividade_extravista - description: 'É atividade extrativista: 1-Sim, 2-Não | version: 0619' + description: 'É atividade extrativista: 1-Sim, 2-Não | version: 0620' - name: id_familia - description: 'Código Familiar | version: 0619' + description: 'Código Familiar | version: 0620' - name: id_origem_valor_outra_fonte description: "Flag indicadora da origem do valor do campo VAL-OUTRAS-RENDAS-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_outra_fonte description: "Flag indicadora da origem do valor do campo VAL-OUTRAS-RENDAS-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_pensao_alimenticia description: "Flag indicadora da origem do valor do campo VAL-RENDA-PENSAO-ALIMEN-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_pensao_alimenticia description: "Flag indicadora da origem do valor do campo VAL-RENDA-PENSAO-ALIMEN-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_rendimento_bruto description: "Flag indicadora da origem do valor do campo VAL-RENDA-BRUTA-12-MESES-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_rendimento_bruto description: "Flag indicadora da origem do valor do campo VAL-RENDA-BRUTA-12-MESES-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_rendimento_mes_passado description: "Flag indicadora da origem do valor do campo VAL-REMUNER-EMPREGO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_rendimento_mes_passado description: "Flag indicadora da origem do valor do campo VAL-REMUNER-EMPREGO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_seguro_desemprego description: "Flag indicadora da origem do valor do campo VAL-RENDA-SEGURO-DESEMP-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_seguro_desemprego description: "Flag indicadora da origem do valor do campo VAL-RENDA-SEGURO-DESEMP-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_ajuda_doacao description: "Flag indicadora da origem do valor do campo VAL-RENDA-DOACAO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_ajuda_doacao description: "Flag indicadora da origem do valor do campo VAL-RENDA-DOACAO-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_origem_valor_aposentadoria description: "Flag indicadora da origem do valor do campo VAL-RENDA-APOSENT-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: origem_valor_aposentadoria description: "Flag indicadora da origem do valor do campo VAL-RENDA-APOSENT-MEMB\n - Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0619" + Origem da renda:1 – Auto declarada\n2 – CNIS\n | version: 0620" - name: id_funcao_principal_trabalho description: "Função principal: campo numérico de 2 posições variando de 1 a 11\n1-TRABALHADOR POR CONTA PROPRIA (BICO, AUTONOMO) 2-TRABALHADOR TEMPORARIO @@ -2335,7 +2353,7 @@ models : COM CARTEIRA DE TRABALHO ASSINADA 5-TRABALHADOR DOMESTICO SEM CARTEIRA DE TRABALHO ASSINADA 6-TRABALHADOR DOMESTICO COM CARTEIRA DE TRABALHO ASSINADA 7-TRABALHADOR NAO-REMUNERADO 8-MILITAR OU SERVIDOR PUBLICO 9-EMPREGADOR - 10-ESTAGIARIO 11-APRENDIZ | version: 0619" + 10-ESTAGIARIO 11-APRENDIZ | version: 0620" - name: funcao_principal_trabalho description: "Função principal: campo numérico de 2 posições variando de 1 a 11\n1-TRABALHADOR POR CONTA PROPRIA (BICO, AUTONOMO) 2-TRABALHADOR TEMPORARIO @@ -2343,155 +2361,155 @@ models : COM CARTEIRA DE TRABALHO ASSINADA 5-TRABALHADOR DOMESTICO SEM CARTEIRA DE TRABALHO ASSINADA 6-TRABALHADOR DOMESTICO COM CARTEIRA DE TRABALHO ASSINADA 7-TRABALHADOR NAO-REMUNERADO 8-MILITAR OU SERVIDOR PUBLICO 9-EMPREGADOR - 10-ESTAGIARIO 11-APRENDIZ | version: 0619" + 10-ESTAGIARIO 11-APRENDIZ | version: 0620" - name: id_trabalho_remunerado_ultimos_12_meses description: 'Pessoa com trabalho remunerado 12 meses: 1-Sim, 2-Não | version: - 0619' + 0620' - name: id_trabalho_semana_passada description: 'Pessoa trabalhou na semana passada: 1-Sim, 2-Não | version: - 0619' + 0620' - name: data_integracao_aposentadoria description: 'Data de integração referente ao campo VAL-RENDA-APOSENT-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_outras_fonte description: 'Data de integração referente ao campo VAL-OUTRAS-RENDAS-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_renda_bruta_12_meses description: 'Data de integração referente ao campo VAL-RENDA-BRUTA-12-MESES-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: data_integracao_emprego_ultimo_mes description: 'Data de integração referente ao campo VAL-REMUNER-EMPREGO-MEMB conforme data de processamento de arquivo de renda origem CNIS no formato - DDMMAAAA | version: 0619' + DDMMAAAA | version: 0620' - name: renda_outras_rendas description: "Valor recebido de outras fontes\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: renda_emprego_ultimo_mes description: "Valor de remuneração\nCampo numérico de 6 posições formato NNNNNN - (sem casas decimais) | version: 0619" + (sem casas decimais) | version: 0620" - name: renda_aposentadoria description: "Valor recebido de aposentadoria\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: renda_bruta_12_meses description: "Valor de remuneração bruta\nCampo numérico de 6 posições formato - NNNNNN (sem casas decimais) | version: 0619" + NNNNNN (sem casas decimais) | version: 0620" - name: renda_doacao description: "Valor recebido de doação\nCampo numérico de 6 posições formato - NNNNNN (sem casas decimais) | version: 0619" + NNNNNN (sem casas decimais) | version: 0620" - name: renda_pensao_alimenticia description: "Valor recebido de pensão alimentícia\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: renda_seguro_desemprego description: "Valor recebido de seguro desemprego\nCampo numérico de 6 posições - formato NNNNNN (sem casas decimais) | version: 0619" + formato NNNNNN (sem casas decimais) | version: 0620" - name: nao_recebe_remuneracao description: 'Não recebeu remuneração de trabalho: 0-Opção não marcada no - formulário, 1-Opção marcada no formulário | version: 0619' + formulário, 1-Opção marcada no formulário | version: 0620' - name: id_membro_familia - description: 'Número do membro da Família | version: 0619' + description: 'Número do membro da Família | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: meses_trabalhados_nos_ultimos_12 description: 'Quantidade de meses trabalhados nos últimos 12, campo numérico - de 2 posições, formato NN | version: 0619' + de 2 posições, formato NN | version: 0620' - name: prefeitura description: Table prefeitura from number 98 columns: - name: id_prefeitura - description: 'Chave de identificação da Prefeitura | version: 0619' + description: 'Chave de identificação da Prefeitura | version: 0620' - name: sigla_uf description: 'Primeira parte do código IBGE: numérico de dois algarismos descrevendo - sua UF | version: 0619' + sua UF | version: 0620' - name: if_municipio - description: 'Segunda parte do código IBGE | version: 0619' + description: 'Segunda parte do código IBGE | version: 0620' - name: id_migracao - description: '1 se a Prefeitura migrou, senão 0 | version: 0619' + description: '1 se a Prefeitura migrou, senão 0 | version: 0620' - name: migracao - description: '1 se a Prefeitura migrou, senão 0 | version: 0619' + description: '1 se a Prefeitura migrou, senão 0 | version: 0620' - name: prefeitura - description: 'Nome da Prefeitura | version: 0619' + description: 'Nome da Prefeitura | version: 0620' - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: registros description: Table registros from number 99 columns: - name: numero_registro_arquivo description: "Número do tipo de registro\nPara o FS3 será sempre 20 | version: - 0619" + 0620" - name: registros_tipo_00 description: 'Quantidade de registros do tipo 00, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_01 description: 'Quantidade de registros do tipo 01, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_02 description: 'Quantidade de registros do tipo 02, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_03 description: 'Quantidade de registros do tipo 03, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_04 description: 'Quantidade de registros do tipo 04, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_05 description: 'Quantidade de registros do tipo 05, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_06 description: 'Quantidade de registros do tipo 06, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_07 description: 'Quantidade de registros do tipo 07, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_08 description: 'Quantidade de registros do tipo 08, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_09 description: 'Quantidade de registros do tipo 09, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_10 description: 'Quantidade de registros do tipo 10, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_11 description: 'Quantidade de registros do tipo 11, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_12 description: 'Quantidade de registros do tipo 12, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_13 description: 'Quantidade de registros do tipo 13, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_14 description: 'Quantidade de registros do tipo 14, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_15 description: 'Quantidade de registros do tipo 15, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_16 description: 'Quantidade de registros do tipo 16, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_17 description: 'Quantidade de registros do tipo 17, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_18 description: 'Quantidade de registros do tipo 18, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_19 description: 'Quantidade de registros do tipo 19, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_20 description: 'Quantidade de registros do tipo 20, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_21 description: 'Quantidade de registros do tipo 21, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_98 description: 'Quantidade de registros do tipo 98, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' - name: registros_tipo_99 description: 'Quantidade de registros do tipo 99, campo numérico de 9 posições, - formato 999999999 | version: 0619' + formato 999999999 | version: 0620' diff --git a/queries/models/protecao_social_cadunico/seguranca_alimentar.sql b/queries/models/protecao_social_cadunico/seguranca_alimentar.sql index 26a77f6..2cb2164 100644 --- a/queries/models/protecao_social_cadunico/seguranca_alimentar.sql +++ b/queries/models/protecao_social_cadunico/seguranca_alimentar.sql @@ -3448,3 +3448,433 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '11' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_cta_energ_ordem_pessoa_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,2)) + END AS STRING + ) AS id_conta_energia_numero_ordem, + + --column: cod_cta_energ_unid_consum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,20), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,20)) + END AS STRING + ) AS id_conta_energia_unidade_consumidora, + + --column: cod_errad_trab_escravo_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS id_trabalho_escravo, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: ind_min_energ_elet_doacao_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS enegia_doacao, + + --column: ind_min_energ_luz_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS nao_pagou_instalacao_energia, + + --column: ind_min_energ_nenhum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS energia_nenhum, + + --column: ind_min_energ_tarifa_soc_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS energia_tarifa_social, + + --column: ind_parc_mds_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,106,3)) + END AS STRING + ) AS id_ind_parc_mds_fam, + --column: ind_parc_mds_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^101$') THEN 'Família Cigana' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^201$') THEN 'Família Extrativista' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^202$') THEN 'Família De Pescadores Artesanais' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^203$') THEN 'Família Pertencente A Comunidade De Terreiro' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^204$') THEN 'Família Ribeirinha' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^205$') THEN 'Família De Agricultores Familiares' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^301$') THEN 'Família Assentada Da Reforma Agrária' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^302$') THEN 'Família Beneficiária Do Programa Nacional De Crédito Fundiário' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^303$') THEN 'Família Acampada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^304$') THEN 'Família Atingida Por Empreendimentos De Infraestrutura' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^305$') THEN 'Família De Preso Do Sistema Carcerário' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^306$') THEN 'Família De Catadores De Material Reciclável' + WHEN REGEXP_CONTAINS(SUBSTRING(text,106,3), r'^000$') THEN 'Nenhuma' + ELSE TRIM(SUBSTRING(text,106,3)) + END AS STRING + ) AS ind_parc_mds_fam, + + --column: ind_prog_prohab_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,105,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,105,1)) + END AS STRING + ) AS nao_beneficiaria_programa_ministerio_cidades, + + --column: ind_sesan_capit_agua_chuva_prod_alim_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS sesan_capitacao_agua_chuva_producao_alimentos, + + --column: ind_sesan_cisterna_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS sesan_cisterna, + + --column: ind_sesan_feira_pop_mds_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS sesan_vende_feira_popular_mds, + + --column: ind_sesan_horta_comum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS sesan_horta_comunitaria, + + --column: ind_sesan_nenhum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS sesan_nenhum, + + --column: ind_sesan_partic_alim_nutricao_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS sesan_participou_curso_alimentacao_nutricao, + + --column: ind_sesan_proj_cart_indigena_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS sesan_projeto_carteira_indigena, + + --column: ind_sesan_receb_alim_paa_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS sesan_recebe_alimento_paa, + + --column: ind_sesan_receb_cesta_basica_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS sesan_recebe_cesta_basica, + + --column: ind_sesan_receb_leite_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS sesan_recebe_leite, + + --column: ind_sesan_refei_cozinha_comum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS sesan_refeicao_cozinha_comunitaria, + + --column: ind_sesan_refei_restau_popular_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS sesan_refeicao_restaurante_popular, + + --column: ind_sesan_vende_alim_paa_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS sesan_vende_alimento_paa, + + --column: ind_sesan_vende_leite_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS sesan_vende_leite, + + --column: ind_snas_abrigo_adultos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,89,1)) + END AS STRING + ) AS snas_abrigo_adultos, + + --column: ind_snas_abrigo_crianca_adoles_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,87,1)) + END AS STRING + ) AS snas_abrigo_crianca_adolescente, + + --column: ind_snas_abrigo_idosos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,88,1)) + END AS STRING + ) AS snas_abrigo_idoso, + + --column: ind_snas_abrigo_mulher_vitima_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,86,1)) + END AS STRING + ) AS snas_abrigo_mulher_vitima_violencia, + + --column: ind_snas_abrigo_popul_adulta_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,90,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,90,1)) + END AS STRING + ) AS snas_abrigo_populacao_adulta, + + --column: ind_snas_acomp_social_liberdade_comunidade_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,98,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,98,1)) + END AS STRING + ) AS snas_adolescente_liberdade_servico_comunitario, + + --column: ind_snas_acomp_social_liberdade_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,97,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,97,1)) + END AS STRING + ) AS snas_adolescente_liberdade_assistida, + + --column: ind_snas_atend_domic_idosos_defic_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,101,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,101,1)) + END AS STRING + ) AS snas_atendimento_domiciliar_idoso_deficiente, + + --column: ind_snas_bpc_deficiente_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS snas_bpc_deficiente, + + --column: ind_snas_bpc_idoso_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS snas_bpc_idoso, + + --column: ind_snas_centro_dia_idoso_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,100,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,100,1)) + END AS STRING + ) AS snas_centro_dia_idoso, + + --column: ind_snas_crianca_0_6_anos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,84,1)) + END AS STRING + ) AS snas_crianca_0_6_anos, + + --column: ind_snas_enfrenta_violencia_crianca_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,96,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,96,1)) + END AS STRING + ) AS snas_enfrenta_violencia_crianca, + + --column: ind_snas_grupos_idosos_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS snas_gtupos_idosos, + + --column: ind_snas_habilit_reabilit_deficiencia_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,95,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,95,1)) + END AS STRING + ) AS snas_habilitacao_reabilitacao_deficiencia, + + --column: ind_snas_inclusao_produtiva_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,102,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,102,1)) + END AS STRING + ) AS snas_inclusao_produtiva, + + --column: ind_snas_nenhum_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,104,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,104,1)) + END AS STRING + ) AS snas_nunhum, + + --column: ind_snas_orientacao_especial_criancas_adol_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,99,1)) + END AS STRING + ) AS snas_orientacao_especial_crianca_adolescente, + + --column: ind_snas_paif_fam__ + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS snas_programa_atencao_integram_familia, + + --column: ind_snas_peti_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,103,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,103,1)) + END AS STRING + ) AS snas_programa_erradicacao_trabalho_infantil, + + --column: ind_snas_projovem_adolescente_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,91,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,91,1)) + END AS STRING + ) AS snas_projovem_adolescente, + + --column: ind_snas_projovem_campo_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,93,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,93,1)) + END AS STRING + ) AS snas_projovem_campo, + + --column: ind_snas_projovem_trabalhador_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,94,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,94,1)) + END AS STRING + ) AS snas_projovem_trabalhador, + + --column: ind_snas_projovem_urbano_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,92,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,92,1)) + END AS STRING + ) AS snas_projovem_urbano, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '11' + diff --git a/queries/models/protecao_social_cadunico/status_familia.sql b/queries/models/protecao_social_cadunico/status_familia.sql index bf7d155..a984905 100644 --- a/queries/models/protecao_social_cadunico/status_familia.sql +++ b/queries/models/protecao_social_cadunico/status_familia.sql @@ -7104,3 +7104,908 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '13' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: ind_oaud_excl_pess_cpf_nulo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,86,1)) + END AS STRING + ) AS id_exclusao_pessoa_cpf_nulo, + --column: ind_oaud_excl_pess_cpf_nulo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,86,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,86,1)) + END AS STRING + ) AS exclusao_pessoa_cpf_nulo, + + --column: ind_oaud_fam_sem_upload_doc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,89,1)) + END AS STRING + ) AS id_oaud_sem_upload_arquivo, + --column: ind_oaud_fam_sem_upload_doc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,89,1)) + END AS STRING + ) AS oaud_sem_upload_arquivo, + + --column: ind_oend_uterrit_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS id_sem_unidade_territorial, + --column: ind_oend_uterrit_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,55,1)) + END AS STRING + ) AS sem_unidade_territorial, + + --column: ind_otrn_exist_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS id_transferida_este_municipio_familia_existente, + --column: ind_otrn_exist_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,53,1)) + END AS STRING + ) AS transferida_este_municipio_familia_existente, + + --column: ind_otrn_nova_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS id_transferida_este_municipio_nova_familia, + --column: ind_otrn_nova_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS transferida_este_municipio_nova_familia, + + --column: ind_otrn_outra_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS id_transferida_outra_familia_mesmo_municipio, + --column: ind_otrn_outra_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,54,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,54,1)) + END AS STRING + ) AS transferida_outra_familia_mesmo_municipio, + + --column: ind_otrn_outro_mun_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS id_transferida_outro_municipio, + --column: ind_otrn_outro_mun_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS transferida_outro_municipio, + + --column: ind_patl_fam_desatual_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS id_patl_dados_desatualizados, + --column: ind_patl_fam_desatual_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,50,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,50,1)) + END AS STRING + ) AS patl_dados_desatualizados, + + --column: ind_paud_cpo_obr_prin_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_paud_campo_obrigatorio_nao_preenchido_formulario_principal, + --column: ind_paud_cpo_obr_prin_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS paud_campo_obrigatorio_nao_preenchido_formulario_principal, + + --column: ind_paud_cpo_obr_sup1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS id_paud_campo_obrigatorio_nao_preenchido_formulario_suplementar_1, + --column: ind_paud_cpo_obr_sup1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,49,1)) + END AS STRING + ) AS paud_campo_obrigatorio_nao_preenchido_formulario_suplementar_1, + + --column: ind_paud_fam_sem_upload_doc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,88,1)) + END AS STRING + ) AS id_paud_sem_upload_arquivo, + --column: ind_paud_fam_sem_upload_doc + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,88,1)) + END AS STRING + ) AS paud_sem_upload_arquivo, + + --column: ind_paud_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,87,1)) + END AS STRING + ) AS id_paud_sem_responsavel_cadastrado, + --column: ind_paud_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,87,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,87,1)) + END AS STRING + ) AS paud_sem_responsavel_cadastrado, + + --column: ind_pmds_pend_01 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS id_pmds_pendencia_01, + --column: ind_pmds_pend_01 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,56,1)) + END AS STRING + ) AS pmds_pendencia_01, + + --column: ind_pmds_pend_02 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS id_pmds_pendencia_02, + --column: ind_pmds_pend_02 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,57,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,57,1)) + END AS STRING + ) AS pmds_pendencia_02, + + --column: ind_pmds_pend_03 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS id_pmds_pendencia_03, + --column: ind_pmds_pend_03 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,58,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,58,1)) + END AS STRING + ) AS pmds_pendencia_03, + + --column: ind_pmds_pend_04 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,59,1)) + END AS STRING + ) AS id_pmds_pendencia_04, + --column: ind_pmds_pend_04 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,59,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,59,1)) + END AS STRING + ) AS pmds_pendencia_04, + + --column: ind_pmds_pend_05 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,60,1)) + END AS STRING + ) AS id_pmds_pendencia_05, + --column: ind_pmds_pend_05 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,60,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,60,1)) + END AS STRING + ) AS pmds_pendencia_05, + + --column: ind_pmds_pend_06 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,61,1)) + END AS STRING + ) AS id_pmds_pendencia_06, + --column: ind_pmds_pend_06 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,61,1)) + END AS STRING + ) AS pmds_pendencia_06, + + --column: ind_pmds_pend_07 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,62,1)) + END AS STRING + ) AS id_pmds_pendencia_07, + --column: ind_pmds_pend_07 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,62,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,62,1)) + END AS STRING + ) AS pmds_pendencia_07, + + --column: ind_pmds_pend_08 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS id_pmds_pendencia_08, + --column: ind_pmds_pend_08 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,63,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,63,1)) + END AS STRING + ) AS pmds_pendencia_08, + + --column: ind_pmds_pend_09 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS id_pmds_pendencia_09, + --column: ind_pmds_pend_09 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,64,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,64,1)) + END AS STRING + ) AS pmds_pendencia_09, + + --column: ind_pmds_pend_10 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS id_pmds_pendencia_10, + --column: ind_pmds_pend_10 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,65,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,65,1)) + END AS STRING + ) AS pmds_pendencia_10, + + --column: ind_pmds_pend_11 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS id_pmds_pendencia_11, + --column: ind_pmds_pend_11 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,66,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,66,1)) + END AS STRING + ) AS pmds_pendencia_11, + + --column: ind_pmds_pend_12 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS id_pmds_pendencia_12, + --column: ind_pmds_pend_12 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS pmds_pendencia_12, + + --column: ind_pmds_pend_13 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS id_pmds_pendencia_13, + --column: ind_pmds_pend_13 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,68,1)) + END AS STRING + ) AS pmds_pendencia_13, + + --column: ind_pmds_pend_14 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS id_pmds_pendencia_14, + --column: ind_pmds_pend_14 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,69,1)) + END AS STRING + ) AS pmds_pendencia_14, + + --column: ind_pmds_pend_15 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,70,1)) + END AS STRING + ) AS id_pmds_pendencia_15, + --column: ind_pmds_pend_15 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,70,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,70,1)) + END AS STRING + ) AS pmds_pendencia_15, + + --column: ind_pmds_pend_16 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,71,1)) + END AS STRING + ) AS id_pmds_pendencia_16, + --column: ind_pmds_pend_16 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,71,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,71,1)) + END AS STRING + ) AS pmds_pendencia_16, + + --column: ind_pmds_pend_17 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,72,1)) + END AS STRING + ) AS id_pmds_pendencia_17, + --column: ind_pmds_pend_17 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,72,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,72,1)) + END AS STRING + ) AS pmds_pendencia_17, + + --column: ind_pmds_pend_18 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,73,1)) + END AS STRING + ) AS id_pmds_pendencia_18, + --column: ind_pmds_pend_18 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,73,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,73,1)) + END AS STRING + ) AS pmds_pendencia_18, + + --column: ind_pmds_pend_19 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS id_pmds_pendencia_19, + --column: ind_pmds_pend_19 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS pmds_pendencia_19, + + --column: ind_pmds_pend_20 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,75,1)) + END AS STRING + ) AS id_pmds_pendencia_20, + --column: ind_pmds_pend_20 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,75,1)) + END AS STRING + ) AS pmds_pendencia_20, + + --column: ind_pmds_pend_21 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,76,1)) + END AS STRING + ) AS id_pmds_pendencia_21, + --column: ind_pmds_pend_21 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,76,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,76,1)) + END AS STRING + ) AS pmds_pendencia_21, + + --column: ind_pmds_pend_22 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,77,1)) + END AS STRING + ) AS id_pmds_pendencia_22, + --column: ind_pmds_pend_22 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,77,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,77,1)) + END AS STRING + ) AS pmds_pendencia_22, + + --column: ind_pmds_pend_23 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,78,1)) + END AS STRING + ) AS id_pmds_pendencia_23, + --column: ind_pmds_pend_23 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,78,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,78,1)) + END AS STRING + ) AS pmds_pendencia_23, + + --column: ind_pmds_pend_24 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,79,1)) + END AS STRING + ) AS id_pmds_pendencia_24, + --column: ind_pmds_pend_24 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,79,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,79,1)) + END AS STRING + ) AS pmds_pendencia_24, + + --column: ind_pmds_pend_25 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,80,1)) + END AS STRING + ) AS id_pmds_pendencia_25, + --column: ind_pmds_pend_25 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,80,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,80,1)) + END AS STRING + ) AS pmds_pendencia_25, + + --column: ind_pmds_pend_26 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS id_pmds_pendencia_26, + --column: ind_pmds_pend_26 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS pmds_pendencia_26, + + --column: ind_pmds_pend_27 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS id_pmds_pendencia_27, + --column: ind_pmds_pend_27 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,82,1)) + END AS STRING + ) AS pmds_pendencia_27, + + --column: ind_pmds_pend_28 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS id_pmds_pendencia_28, + --column: ind_pmds_pend_28 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,83,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,83,1)) + END AS STRING + ) AS pmds_pendencia_28, + + --column: ind_pmds_pend_29 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,84,1)) + END AS STRING + ) AS id_pmds_pendencia_29, + --column: ind_pmds_pend_29 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,84,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,84,1)) + END AS STRING + ) AS pmds_pendencia_29, + + --column: ind_pmds_pend_30 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS id_pmds_pendencia_30, + --column: ind_pmds_pend_30 + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^0$') THEN 'Sem Pendência' + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^1$') THEN 'Pendente' + WHEN REGEXP_CONTAINS(SUBSTRING(text,85,1), r'^2$') THEN 'Atualizada' + ELSE TRIM(SUBSTRING(text,85,1)) + END AS STRING + ) AS pmds_pendencia_30, + + --column: ind_pmig_cpo_obr_prin_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS id_pmig_campos_obrigatorios_nao_preenchidos, + --column: ind_pmig_cpo_obr_prin_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,44,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,44,1)) + END AS STRING + ) AS pmig_campos_obrigatorios_nao_preenchidos, + + --column: ind_pmig_cpo_obr_sup1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS id_pmig_campos_obrigatorios_nao_preenchidos_sumeplentar_1, + --column: ind_pmig_cpo_obr_sup1_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,45,1)) + END AS STRING + ) AS pmig_campos_obrigatorios_nao_preenchidos_sumeplentar_1, + + --column: ind_pmig_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS id_pmig_sem_responsavel_familiar_cadastrado, + --column: ind_pmig_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,46,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,46,1)) + END AS STRING + ) AS pmig_sem_responsavel_familiar_cadastrado, + + --column: ind_ptab_desat_cras_creas_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS id_ptab_desativacao_cras_creas, + --column: ind_ptab_desat_cras_creas_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS ptab_desativacao_cras_creas, + + --column: ind_ptab_desat_eas_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS id_ptab_desativacao_eas, + --column: ind_ptab_desat_eas_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,43,1)) + END AS STRING + ) AS ptab_desativacao_eas, + + --column: ind_ptab_desat_quilomb_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS ptab_desativacao_comunidades_quilombolas, + + --column: ind_ptab_desat_terras_indig_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS id_ptab_desativacao_terras_indigenas, + --column: ind_ptab_desat_terras_indig_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS ptab_desativacao_terras_indigenas, + + --column: ind_ptrn_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS id_ptrn_sem_responsavel_familiar_cadastrado, + --column: ind_ptrn_sem_rf_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^0$') THEN 'Não Existe' + WHEN REGEXP_CONTAINS(SUBSTRING(text,47,1), r'^1$') THEN 'Existe' + ELSE TRIM(SUBSTRING(text,47,1)) + END AS STRING + ) AS ptrn_sem_responsavel_familiar_cadastrado, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '13' + diff --git a/queries/models/protecao_social_cadunico/trabalho_remuneracao.sql b/queries/models/protecao_social_cadunico/trabalho_remuneracao.sql index e20d46f..07cda44 100644 --- a/queries/models/protecao_social_cadunico/trabalho_remuneracao.sql +++ b/queries/models/protecao_social_cadunico/trabalho_remuneracao.sql @@ -2560,3 +2560,366 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '08' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura, + + --column: cod_afastado_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,41,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,41,1)) + END AS STRING + ) AS id_afastado_semana_passada, + + --column: cod_agricultura_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,42,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,42,1)) + END AS STRING + ) AS id_atividade_extravista, + + --column: cod_familiar_fam + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia, + + --column: cod_orgm_vlr_outra_fonte_renda + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,102,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,102,1)) + END AS STRING + ) AS id_origem_valor_outra_fonte, + --column: cod_orgm_vlr_outra_fonte_renda + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,102,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,102,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,102,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,102,1)) + END AS STRING + ) AS origem_valor_outra_fonte, + + --column: cod_orgm_vlr_pensao_ali + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,101,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,101,1)) + END AS STRING + ) AS id_origem_valor_pensao_alimenticia, + --column: cod_orgm_vlr_pensao_ali + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,101,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,101,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,101,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,101,1)) + END AS STRING + ) AS origem_valor_pensao_alimenticia, + + --column: cod_orgm_vlr_rndmo_bruto_prdo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,97,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,97,1)) + END AS STRING + ) AS id_origem_valor_rendimento_bruto, + --column: cod_orgm_vlr_rndmo_bruto_prdo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,97,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,97,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,97,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,97,1)) + END AS STRING + ) AS origem_valor_rendimento_bruto, + + --column: cod_orgm_vlr_rndmo_mes_passado + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,96,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,96,1)) + END AS STRING + ) AS id_origem_valor_rendimento_mes_passado, + --column: cod_orgm_vlr_rndmo_mes_passado + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,96,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,96,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,96,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,96,1)) + END AS STRING + ) AS origem_valor_rendimento_mes_passado, + + --column: cod_orgm_vlr_seguro_desemprego + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,100,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,100,1)) + END AS STRING + ) AS id_origem_valor_seguro_desemprego, + --column: cod_orgm_vlr_seguro_desemprego + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,100,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,100,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,100,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,100,1)) + END AS STRING + ) AS origem_valor_seguro_desemprego, + + --column: cod_origem_valor_ajuda_doacao + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,98,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,98,1)) + END AS STRING + ) AS id_origem_valor_ajuda_doacao, + --column: cod_origem_valor_ajuda_doacao + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,98,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,98,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,98,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,98,1)) + END AS STRING + ) AS origem_valor_ajuda_doacao, + + --column: cod_origem_valor_aposentadoria + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,99,1)) + END AS STRING + ) AS id_origem_valor_aposentadoria, + --column: cod_origem_valor_aposentadoria + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,1), r'^1$') THEN 'Auto Declarada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,99,1), r'^2$') THEN 'CNIS' + ELSE TRIM(SUBSTRING(text,99,1)) + END AS STRING + ) AS origem_valor_aposentadoria, + + --column: cod_principal_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,43,2)) + END AS STRING + ) AS id_funcao_principal_trabalho, + --column: cod_principal_trab_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^01$') THEN 'Trabalhador por conta própria (bico, autônomo)' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^02$') THEN 'Trabalhador temporário em área rural' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^03$') THEN 'Empregado sem carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^04$') THEN 'Empregado com carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^05$') THEN 'Trabalhador doméstico sem carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^06$') THEN 'Trabalhador doméstico com carteira de trabalho assinada' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^07$') THEN 'Trabalhador não-remunerado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^08$') THEN 'Militar ou servidor público' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^09$') THEN 'Empregador' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^10$') THEN 'Estagiário' + WHEN REGEXP_CONTAINS(SUBSTRING(text,43,2), r'^11$') THEN 'Aprendiz' + ELSE TRIM(SUBSTRING(text,43,2)) + END AS STRING + ) AS funcao_principal_trabalho, + + --column: cod_trabalho_12_meses_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,52,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,52,1)) + END AS STRING + ) AS id_trabalho_remunerado_ultimos_12_meses, + + --column: cod_trabalhou_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,1)) + END AS STRING + ) AS id_trabalho_semana_passada, + + --column: dt_intgo_vlr_aposentadoria + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,119,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,119,8)) + END ) AS data_integracao_aposentadoria, + + --column: dt_intgo_vlr_outra_fonte_rnda + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,127,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,127,8)) + END ) AS data_integracao_outras_fonte, + + --column: dt_intgo_vlr_rndmo_bruto + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,111,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,111,8)) + END ) AS data_integracao_renda_bruta_12_meses, + + --column: dt_intgo_vlr_rndmo_mes_passado + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,103,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,103,8)) + END ) AS data_integracao_emprego_ultimo_mes, + + --column: ind_val_outras_rendas_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,95,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,95,1)) + END AS STRING + ) AS nao_recebe_outras_fontes, + + --column: ind_val_remuner_emprego_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,1)) + END AS STRING + ) AS nao_recebe_remuneracao, + + --column: ind_val_renda_aposent_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,74,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,74,1)) + END AS STRING + ) AS nao_recebe_aposentadoria, + + --column: ind_val_renda_doacao_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,67,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,67,1)) + END AS STRING + ) AS nao_recebe_doacao, + + --column: ind_val_renda_pensao_alimen_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,88,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,88,1)) + END AS STRING + ) AS nao_recebe_pensao_alimenticia, + + --column: ind_val_renda_seguro_desemp_memb + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,81,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,81,1)) + END AS STRING + ) AS nao_recebe_seguro_desemprego, + + --column: num_membro_fmla + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,25,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,25,11)) + END AS STRING + ) AS id_membro_familia, + + --column: num_reg_arquivo + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_arquivo, + + --column: qtd_meses_12_meses_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,53,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,53,2)) + END AS INT64 + ) AS meses_trabalhados_nos_ultimos_12, + + --column: val_outras_rendas_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,89,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,89,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS outras_fontes, + + --column: val_remuner_emprego_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,45,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,45,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS remuneracao, + + --column: val_renda_aposent_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,68,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,68,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS aposentadoria, + + --column: val_renda_bruta_12_meses_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,55,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,55,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS remuneracao_bruta, + + --column: val_renda_doacao_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,61,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,61,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS doacoes, + + --column: val_renda_pensao_alimen_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,82,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,82,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS pensao_alimenticia, + + --column: val_renda_seguro_desemp_memb + SAFE_CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,75,6), r'^\s*$') THEN NULL + ELSE SAFE_CAST( TRIM(SUBSTRING(text,75,6)) AS INT64) / 100 + END AS FLOAT64 + ) AS seguro_desemprego, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '08' + diff --git a/queries/models/protecao_social_cadunico/transferencia_familia.sql b/queries/models/protecao_social_cadunico/transferencia_familia.sql index a57ceee..c4addc3 100644 --- a/queries/models/protecao_social_cadunico/transferencia_familia.sql +++ b/queries/models/protecao_social_cadunico/transferencia_familia.sql @@ -752,3 +752,96 @@ FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` WHERE versao_layout_particao = '0619' AND SUBSTRING(text,38,2) = '16' +UNION ALL + + +SELECT + + --column: chv_natural_prefeitura_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,1,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,1,13)) + END AS STRING + ) AS id_prefeitura_antes_transferencia, + + --column: cod_destino_familia_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,69,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,69,11)) + END AS STRING + ) AS id_familia_destino, + + --column: cod_destino_prefeitura_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,56,13), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,56,13)) + END AS STRING + ) AS id_prefeitura_destino, + + --column: cod_est_cadastral_atual_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS id_estado_cadastro_transferencia, + --column: cod_est_cadastral_atual_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^\s*$') THEN NULL + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^1$') THEN 'Em Cadastramento' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^2$') THEN 'Sem Registro Civil' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^3$') THEN 'Cadastrado' + WHEN REGEXP_CONTAINS(SUBSTRING(text,48,1), r'^4$') THEN 'Excluido' + ELSE TRIM(SUBSTRING(text,48,1)) + END AS STRING + ) AS estado_cadastro_transferencia, + + --column: cod_familiar_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,14,11), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,14,11)) + END AS STRING + ) AS id_familia_antes_transferencia, + + --column: cod_munic_ibge_origem_2_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,49,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,49,2)) + END AS STRING + ) AS id_uf_transferencia, + + --column: cod_munic_ibge_origem_5_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,51,5), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,51,5)) + END AS STRING + ) AS id_municipio_transferencia, + + --column: dat_transferencia_famt + SAFE.PARSE_DATE( + '%d%m%Y', + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,40,8), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,40,8)) + END ) AS data_transferencia, + + --column: num_reg_arquivo_famt + CAST( + CASE + WHEN REGEXP_CONTAINS(SUBSTRING(text,38,2), r'^\s*$') THEN NULL + ELSE TRIM(SUBSTRING(text,38,2)) + END AS STRING + ) AS numero_registro_transferencia, + SAFE_CAST(versao_layout_particao AS STRING) AS versao_layout, + SAFE_CAST(data_particao AS DATE) AS data_particao +FROM `rj-smas.protecao_social_cadunico_staging.registro_familia` +WHERE versao_layout_particao = '0620' + AND SUBSTRING(text,38,2) = '16' + diff --git a/queries/models/utils/check_columns_not_in_cadunico_sheets.sql b/queries/models/utils/check_columns_not_in_cadunico_sheets.sql new file mode 100644 index 0000000..95d7056 --- /dev/null +++ b/queries/models/utils/check_columns_not_in_cadunico_sheets.sql @@ -0,0 +1,27 @@ +# if this query return some column, them need to put this columns in google sheets +# https://docs.google.com/spreadsheets/d/1VgtSVom_s4QsJoOws6caPZxGfwYrpjpoSjbOrqhRbM8/edit?gid=542906575#gid=542906575 + +WITH layout_unique_columns AS ( +SELECT + column as coluna_layout, + max(descricao) as descricao +FROM `rj-smas.protecao_social_cadunico_staging.layout` +GROUP BY 1 +), + +sheets_unique_columns AS ( +SELECT + column as coluna_sheets +FROM `rj-smas.protecao_social_cadunico_staging.layout_dicionario_colunas` + +) + +SELECT + t2.coluna_sheets, + t1.coluna_layout, + t1.descricao +FROM layout_unique_columns t1 +FULL OUTER JOIN sheets_unique_columns t2 +ON t1.coluna_layout = t2.coluna_sheets +WHERE coluna_sheets IS NULL +ORDER BY coluna_layout \ No newline at end of file