diff --git a/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__smsrio.sql b/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__smsrio.sql index 0e00f45c..5976827c 100644 --- a/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__smsrio.sql +++ b/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__smsrio.sql @@ -415,7 +415,7 @@ with then false when obito_indicador = "1" then true - else null + else false end as obito_indicador, obito_data, case when mae_nome in ("NONE") then null else mae_nome end as mae_nome, diff --git a/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__vitai.sql b/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__vitai.sql index 7d871ccf..358fb82e 100644 --- a/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__vitai.sql +++ b/models/intermediate/dit/historico_clinico/paciente/int_historico_clinico__paciente__vitai.sql @@ -387,7 +387,7 @@ with then initcap("PRETA") else initcap(raca) end as raca, - case when obito_data is not null then true else null end as obito_indicador, + case when obito_data is not null then true else false end as obito_indicador, obito_data, case when mae_nome in ("NONE") then null else mae_nome end as mae_nome, pai_nome, diff --git a/models/marts/dit/historico_clinico_app/_mart_historico_clinico_app_schema.yml b/models/marts/dit/historico_clinico_app/_mart_historico_clinico_app_schema.yml index 2b785c12..02d403d6 100644 --- a/models/marts/dit/historico_clinico_app/_mart_historico_clinico_app_schema.yml +++ b/models/marts/dit/historico_clinico_app/_mart_historico_clinico_app_schema.yml @@ -57,6 +57,8 @@ models: - name: procedures description: | Procedimentos realizados durante o episodio. + policy_tags: + - '{{ var ("TAG_DADO_CLINICO") }}' - name: measures description: > Medidas aferidas durante o episódio. @@ -159,6 +161,8 @@ models: - name: responsible.name description: | Nome do proficional de saude responsavel pelo atendimento. + policy_tags: + - '{{ var ("TAG_NOME") }}' - name: responsible.role description: | Especialidade do proficional de saude responsavel pelo atendimento. @@ -175,6 +179,8 @@ models: - name: deceased description: | Indicador de obito. + policy_tags: + - '{{ var ("TAG_DADO_CLINICO") }}' - name: filter_tags description: | Lista de tipos de estabelecimentos. @@ -208,6 +214,8 @@ models: - name: cpf_particao description: | Coluna de particionamento de CPF + policy_tags: + - '{{ var ("TAG_CPF") }}' - name: mart_historico_clinico_app__paciente description: > Tabela com uma visão consolidada dos pacientes atendidos em @@ -215,22 +223,36 @@ models: columns: - name: registration_name description: Nome de registro. + policy_tags: + - '{{ var ("TAG_NOME") }}' - name: social_name description: Nome social. + policy_tags: + - '{{ var ("TAG_NOME") }}' - name: cpf description: CPF do paciente. + policy_tags: + - '{{ var ("TAG_CPF") }}' - name: cns description: CNS do paciente. + policy_tags: + - '{{ var ("TAG_CNS") }}' - name: birth_date description: Data de nascimento. + policy_tags: + - '{{ var ("TAG_DATA_NASCIMENTO") }}' - name: gender description: "Gênero do paciente. Os valores possíveis são 'Masculino', 'Feminino' e nulo (não informado)." - name: race description: "Raça do paciente. Os valores possíveis são 'Amarela','Branca', 'Indigena', 'Parda', 'Preta' e nulo (não informado)." - name: deceased - description: Indica se o paciente foi a óbito no atendimento. + description: Indica se o paciente foi a óbito no atendimento. + policy_tags: + - '{{ var ("TAG_DADO_CLINICO") }}' - name: phone description: Telefone do paciente. + policy_tags: + - '{{ var ("TAG_TELEFONE") }}' - name: family_clinic description: Informaçõe sobre a clínica da família. - name: family_clinic.cnes @@ -251,18 +273,28 @@ models: description: Relação de médicos da equipe de saúde da família. - name: medical_responsible.registry description: Identificador do profissional de saúde no CNES. + policy_tags: + - '{{ var ("TAG_IDENTIFICADOR_SISTEMA") }}' - name: medical_responsible.name description: Nome do profissional de saúde. + policy_tags: + - '{{ var ("TAG_NOME") }}' - name: nursing_responsible description: Relação de enfermeiros da equipe de saúde da família. - name: nursing_responsible.registry description: Identificador do profissional de saúde no CNES. + policy_tags: + - '{{ var ("TAG_IDENTIFICADOR_SISTEMA") }}' - name: nursing_responsible.name description: Nome do profissional de saúde. + policy_tags: + - '{{ var ("TAG_NOME") }}' - name: validated description: Indica se a identidade do paciente foi validada em alguma base federal. - name: cpf_particao description: Coluna de particionamento de CPF + policy_tags: + - '{{ var ("TAG_CPF") }}' - name: exibicao description: Flags de exibicao. - name: exibicao.indicador @@ -279,17 +311,50 @@ models: em estabelecimentos de saúde. columns: - name: cpf - description: CPF do paciente. + description: CPF do paciente. + policy_tags: + - '{{ var ("TAG_CPF") }}' - name: allergies description: Lista de alergias do paciente. - name: continuous_use_medications description: Lista de medicamentos de uso continuo. - name: cpf_particao - description: CNS do paciente. + description: CPF do paciente. + policy_tags: + - '{{ var ("TAG_CPF") }}' - name: mart_historico_clinico_app__sistema description: > Tabela com uma visão consolidada do comportamendo dos usuários do HCI em termos de utilização do sistema. + columns: + - name: usuario_nome + description: Nome do usuário da consulta. + policy_tags: + - '{{ var ("TAG_NOME") }}' + - name: usuario_cpf + description: CPF do usuário da consulta. + policy_tags: + - '{{ var ("TAG_CPF") }}' + - name: iniciou_2fa + description: Indica se o usuário iniciou o processo de dupla verificação. + - name: ativou_2fa + description: Indica se o usuário ativou o login com processo de dupla verificação. + - name: bloqueado_no_2fa + description: Indica se o usuário foi bloqueado no processo de dupla verificação. + - name: usuario_cnes + description: Descreve o cnes associado ao usuário + - name: created_at + description: Data de criação do registro. + - name: updated_at + description: Data de ultima atualização. + - name: consultas + description: Agrupa as consultas feitas pelo usuário a pacientes dentro do HCI. + - name: consultas.cpf_alvo + description: CPF acessado pelo usuário. + policy_tags: + - '{{ var ("TAG_CPF") }}' + - name: consultas.momento_consulta + description: Data e hora do acesso. - name: mart_historico_clinico_app__indice description: > Tabela utilizada para busca por CNS e Nome no histórico clínico. @@ -301,3 +366,57 @@ models: name: mart_historico_clinico_app__indice__cns_particao__not_null - unique: name: mart_historico_clinico_app__indice__cns_particao__unique + policy_tags: + - '{{ var ("TAG_CNS") }}' + - name: nome + description: Nome do paciente + policy_tags: + - '{{ var ("TAG_NOME") }}' + - name: cpf + description: CPF do paciente + policy_tags: + - '{{ var ("TAG_CPF") }}' + - name: mart_historico_clinico_app__busca + description: > + Tabela utilizada para dar informações prévias na pagina de busca + columns: + - name: cpf_particao + description: CPF utilizado para particionamento da tabela. + policy_tags: + - '{{ var ("TAG_CPF") }}' + - name: cpf + description: CPF do paciente encontrado pela busca. + policy_tags: + - '{{ var ("TAG_CPF") }}' + - name: cns_lista + description: Lista de CNS relacionados ao paciente. + policy_tags: + - '{{ var ("TAG_CNS") }}' + - name: nome + description: Nome do paciente. + policy_tags: + - '{{ var ("TAG_NOME") }}' + - name: data_nascimento + description: Data de nascimento. + policy_tags: + - '{{ var ("TAG_DATA_NASCIMENTO") }}' + - name: idade + description: Idade do paciente, calculada a partir da data de nascimento. + - name: genero + description: Genero do paciente. Preenchido como "masculino", "feminino" ou "outro". + - name: nome_mae + description: Nome da mãe do paciente. + policy_tags: + - '{{ var ("TAG_NOME_MAE") }}' + - name: quantidade_episodios + description: Quantidade de episódios que o paciente possui. + - name: exibicao + description: Reune informações de exibição do paciente. + - name: exibicao.indicador + description: Indica se o paciente pode ser exibido para o usuário que esta o buscando. + - name: exibicao.motivos + description: Descreve o motivo pelo qual o usuário não pode ter acesso ao paciente em questão. + - name: exibicao.ap_cadastro + description: Descreve a área programatica do paciente em questão. + - name: exibicao.unidades_cadastro + description: Descreve quais unidades o paciente em questão tem cadastro. diff --git a/models/raw/cnes_web/raw_cnes_web__equipe_profissionais.sql b/models/raw/cnes_web/raw_cnes_web__equipe_profissionais.sql index b94844cf..a34a0744 100644 --- a/models/raw/cnes_web/raw_cnes_web__equipe_profissionais.sql +++ b/models/raw/cnes_web/raw_cnes_web__equipe_profissionais.sql @@ -15,12 +15,12 @@ select safe_cast(seq_equipe as string) as equipe_sequencial, safe_cast(co_unidade as string) as id_unidade, safe_cast(co_municipio as string) as id_municipio, - safe_cast(co_microarea as string) as id_microarea, + safe_cast({{process_null('co_microarea')}} as string) as id_microarea, safe_cast(co_area as string) as id_area, safe_cast(tp_sus_nao_sus as string) as tipo_sus_nao_sus, safe_cast(ind_vinculacao as string) as id_vinculo_profissional, - safe_cast(dt_entrada as string) as data_entrada_profissional, - safe_cast(dt_desligamento as string) as data_desligamento_profissional, + safe_cast({{process_null('dt_entrada')}} as date format 'DD/MM/YYYY') as data_entrada_profissional, + safe_cast({{process_null('dt_desligamento')}} as date format 'DD/MM/YYYY') as data_desligamento_profissional, safe_cast(co_cnes_outraequipe as string) as id_cnes_outra_equipe, safe_cast(co_municipio_outraequipe as string) as id_municipio_outra_equipe, safe_cast(co_area_outraequipe as string) as id_area_outra_equipe, diff --git a/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_historico.sql b/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_historico.sql index 094e33fb..d9fb864c 100644 --- a/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_historico.sql +++ b/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_historico.sql @@ -24,7 +24,8 @@ with select safe_cast(nullif(cpf, '') as string) as cpf, ut_id as id_paciente, - + npront as numero_prontuario, + cnes as unidade_cadastro, nullif(ap,'') as ap_cadastro, diff --git a/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_rotineiro.sql b/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_rotineiro.sql index d53730fa..240ab3ef 100644 --- a/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_rotineiro.sql +++ b/models/raw/prontuario_vitacare/base/base_prontuario_vitacare__ficha_a_rotineiro.sql @@ -30,7 +30,8 @@ with select safe_cast(nullif(patient_cpf, '') as string) as cpf, id as id_paciente, - + data__nPront as numero_prontuario, + payload_cnes as unidade_cadastro, nullif(data__ap,'') as ap_cadastro, diff --git a/models/raw/prontuario_vitacare/raw_prontuario_vitacare__ficha_a.sql b/models/raw/prontuario_vitacare/raw_prontuario_vitacare__ficha_a.sql index 06f8cef2..12a97ad2 100644 --- a/models/raw/prontuario_vitacare/raw_prontuario_vitacare__ficha_a.sql +++ b/models/raw/prontuario_vitacare/raw_prontuario_vitacare__ficha_a.sql @@ -20,7 +20,8 @@ with ficha_a_padronizada as ( select safe_cast(cpf as string) as cpf, - safe_cast(id_paciente as string) as id_paciente, + REGEXP_REPLACE(CAST(id_paciente AS STRING), '\x00', '') AS id_paciente, + numero_prontuario, safe_cast(unidade_cadastro as string) as unidade_cadastro, regexp_replace(ap_cadastro,r'\.0','') as ap_cadastro, {{ proper_br('nome') }} as nome,