Skip to content

Commit

Permalink
ETL dos profissinais de saúde com INE
Browse files Browse the repository at this point in the history
  • Loading branch information
maaottoni authored and fernandesbrun committed Aug 3, 2023
1 parent e8ed01f commit 6392fc8
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 154 deletions.
136 changes: 0 additions & 136 deletions src/impulsoetl/scnes/estabelecimentos_profissionais/extracao.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from impulsoetl.loggers import habilitar_suporte_loguru, logger

@flow(
name="Obter dados da Ficha dos Profissionais de Saúde por Estabelecimento",
name="Obter dados dos profissionais com INE por estabelecimento",
description=(
"Extrai, transforma e carrega os dados dos profissionais de saúde "
+ "a partir da página do CNES"
Expand All @@ -39,7 +39,7 @@
version=__VERSION__,
validate_parameters=False,
)
def obter_profissionais_cnes(
def obter_profissionais_cnes_com_ine(
sessao: Session,
tabela_destino: str,
codigo_municipio: str,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
import pandas as pd
import math
from frozendict import frozendict
#from prefect import task
from prefect import task

from impulsoetl.loggers import habilitar_suporte_loguru, logger
<<<<<<<< HEAD:src/impulsoetl/scnes/estabelecimentos_profissionais_totais/tratamento.py
from impulsoetl.scnes.estabelecimentos_equipes.extracao import extrair_equipes
from impulsoetl.scnes.extracao_lista_cnes import extrair_lista_cnes

Expand All @@ -20,20 +21,36 @@
"artigo3",
"artigo5",
"cnsMaster",
========
from impulsoetl.scnes.extracao_lista_cnes import extrair_lista_cnes

COLUNAS_EXCLUIR = [
"coArea",
"stEquipeMinima",
"diferenciada",
"complementar"
>>>>>>>> 8fb7452 (ETL dos profissinais de saúde com INE):src/impulsoetl/scnes/estabelecimentos_profissionais_com_ine/tratamento.py
]


COLUNAS_RENOMEAR: Final[dict[str, str]] = {
<<<<<<<< HEAD:src/impulsoetl/scnes/estabelecimentos_profissionais_totais/tratamento.py
"nome": "profissional_nome",
========
"INE": "equipe_id_ine",
"noProfissional": "profissional_nome",
>>>>>>>> 8fb7452 (ETL dos profissinais de saúde com INE):src/impulsoetl/scnes/estabelecimentos_profissionais_com_ine/tratamento.py
"cns": "profissional_cns",
"cbo": "profissional_cbo",
"dsCbo": "profissional_ocupacao",
"vinculacao": "profissional_vinculacao",
"vinculo": "profissional_vinculo_tipo",
"subVinculo": "profissional_vinculo_subptipo",
"chHosp": "carga_horaria_hospitalar",
"chAmb": "carga_horaria_ambulatorial",
"chOutros": "carga_horaria_outras",
"dtEntrada": "periodo_data_entrada",
<<<<<<<< HEAD:src/impulsoetl/scnes/estabelecimentos_profissionais_totais/tratamento.py
========
"dtDesligamento": "periodo_data_desligamento",
>>>>>>>> 8fb7452 (ETL dos profissinais de saúde com INE):src/impulsoetl/scnes/estabelecimentos_profissionais_com_ine/tratamento.py
}

COLUNAS_TIPOS: Final[frozendict] = frozendict(
Expand All @@ -44,9 +61,6 @@
"profissional_cns": "str",
"profissional_cbo": "str",
"profissional_ocupacao": "str",
"profissional_vinculacao": "str",
"profissional_vinculo_tipo": "str",
"profissional_vinculo_subptipo": "str",
"carga_horaria_hospitalar": "Int64",
"carga_horaria_ambulatorial": "Int64",
"carga_horaria_outras": "Int64",
Expand All @@ -73,9 +87,6 @@ def tratar_tipos(df_extraido: pd.DataFrame) -> pd.DataFrame:
df_extraido[coluna] = pd.to_datetime(
df_extraido[coluna], infer_datetime_format=True, errors="coerce"
)

for coluna in COLUNAS_CARGA_HORARIA:
df_extraido[coluna] = df_extraido[coluna].round(0)

for coluna in COLUNAS_CARGA_HORARIA:
df_extraido[coluna] = df_extraido[coluna].astype(float).round(0)
Expand All @@ -93,16 +104,15 @@ def ordenar_colunas(df_extraido: pd.DataFrame, COLUNAS_TIPOS: dict):

return df_extraido


@task(
name="Tratar Informações dos Profissionais de Saúde",
name="Trata os dados dos profissionais de saúde com INE por estabelecimento",
description=(
"Trata os dados dos profisisonais de saúde dos estabelecimentos de cada município"
+ "a partir da página do CNES."
"Realiza o tratamento dos dados dos profissionais vinculados à alguma equipe de saúde"
+ "a partir da página do CNES"
),
tags=["cnes", "profissionais", "tratamento"],
retries=2,
retry_delay_seconds=120,
retries=0,
retry_delay_seconds=None,
)
def tratamento_dados(
df_extraido: pd.DataFrame, periodo_id: str, unidade_geografica_id: str
Expand Down

0 comments on commit 6392fc8

Please sign in to comment.