-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #231 from prefeitura-rio/subgeral_minhasaude_mongodb
[MINHA SAUDE] Mongo DB - Acessos
- Loading branch information
Showing
4 changed files
with
180 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
112 changes: 112 additions & 0 deletions
112
models/raw/minhasaude_mongodb/_minhasaude_mongodb__schema.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
models: | ||
- name: raw_minhasaude_mongodb__perfil_acessos | ||
description: Representa a coleção 'perfil_acessos' do MongoDB, responsável por armazenar o perfil dos usuários do Minha Saúde Rio. Esta tabela exibe apenas os registros mais recentes, definidos com base na data de extração. | ||
columns: | ||
- name: _id | ||
description: Identificador único de cada registro na tabela. | ||
data_type: string | ||
quote: true | ||
- name: idmodulo | ||
description: Identificador do módulo associado ao perfil de acesso do usuário. | ||
data_type: string | ||
quote: true | ||
- name: idusuario | ||
description: Identificador único do usuário associado ao perfil de acesso. | ||
data_type: string | ||
quote: true | ||
- name: nome | ||
description: Representa o nome do usuário. | ||
data_type: string | ||
quote: true | ||
- name: cpf | ||
description: O campo 'cpf' representa o CPF (Cadastro de Pessoas Físicas) do usuário. | ||
data_type: string | ||
quote: true | ||
- name: cns | ||
description: O campo 'cns' representa o Cartão Nacional de Saúde (CNS) do usuário. | ||
data_type: string | ||
quote: true | ||
- name: logingovbr | ||
description: Indica se o usuário efetuou login utilizando o portal oficial do governo (gov.br). | ||
data_type: boolean | ||
quote: true | ||
- name: origem | ||
description: Indica a fonte de onde o usuário acessou o serviço. Pode ser, por exemplo, 'web', 'android', 'ios'. | ||
data_type: string | ||
quote: true | ||
- name: createdat | ||
description: Indica a data e hora em que o registro de acesso do usuário foi criado. | ||
data_type: datetime | ||
quote: true | ||
- name: updatedat | ||
description: Indica a data e hora em que o registro foi atualizado pela última vez. | ||
data_type: datetime | ||
quote: true | ||
- name: __v | ||
description: Campo de versão do documento no MongoDB, usado internamente para evitar conflitos em operações simultâneas. | ||
data_type: string | ||
quote: true | ||
- name: data_extracao | ||
description: A data e hora em que os dados foram extraídos. | ||
data_type: datetime | ||
quote: true | ||
- name: ano_particao | ||
description: Esta coluna representa o ano da partição. | ||
data_type: int64 | ||
quote: true | ||
- name: mes_particao | ||
description: Esta coluna representa o mês da partição. | ||
data_type: int64 | ||
quote: true | ||
- name: data_particao | ||
description: Esta coluna representa a data da partição. É baseada na data_extração, e é utilizada para fins de organização dos dados e consultas mais rápidas. | ||
data_type: date | ||
quote: true | ||
|
||
- name: raw_minhasaude_mongodb__modulos_perfil_acessos | ||
description: Representa a coleção 'modulos_perfil_acessos' do MongoDB, responsável por armazenar os acessos dos usuários do Minha Saúde Rio. Esta tabela exibe apenas os registros mais recentes, definidos com base na data de extração. | ||
columns: | ||
- name: _id | ||
description: Identificador único de cada registro na tabela. | ||
data_type: string | ||
quote: true | ||
- name: rota | ||
description: Indica a rota associada ao módulo. | ||
data_type: string | ||
quote: true | ||
- name: nome | ||
description: Representa o nome do módulo. | ||
data_type: string | ||
quote: true | ||
- name: descricao | ||
description: Descrição do módulo de perfil de acesso. | ||
data_type: string | ||
quote: true | ||
- name: createdat | ||
description: Indica a data e hora em que o registro do módulo foi criado. | ||
data_type: datetime | ||
quote: true | ||
- name: updatedat | ||
description: Indica a data e hora em que o registro foi atualizado pela última vez. | ||
data_type: datetime | ||
quote: true | ||
- name: __v | ||
description: Campo de versão do documento no MongoDB, usado internamente para evitar conflitos em operações simultâneas. | ||
data_type: string | ||
quote: true | ||
- name: data_extracao | ||
description: A data e hora em que os dados foram extraídos. | ||
data_type: datetime | ||
quote: true | ||
- name: ano_particao | ||
description: Esta coluna representa o ano da partição. | ||
data_type: int64 | ||
quote: true | ||
- name: mes_particao | ||
description: Esta coluna representa o mês da partição. | ||
data_type: int64 | ||
quote: true | ||
- name: data_particao | ||
description: Esta coluna representa a data da partição. É baseada em 'data_extracao' e utilizada para organização dos dados e consultas mais rápidas. | ||
data_type: date | ||
quote: true |
41 changes: 31 additions & 10 deletions
41
models/raw/minhasaude_mongodb/raw_minhasaude_mongodb__modulos_perfil_acessos.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,36 @@ | ||
{{ config(alias="modulos_perfil_acessos") }} | ||
|
||
{{ | ||
config( | ||
schema="brutos_minhasaude_mongodb", | ||
alias="modulos_perfil_acessos", | ||
partition_by={ | ||
"field": "data_particao", | ||
"data_type": "date", | ||
"granularity": "month", | ||
}, | ||
) | ||
}} | ||
|
||
with | ||
source as ( | ||
select * | ||
from | ||
{{ | ||
source( | ||
"brutos_minhasaude_mongodb_staging", "modulos_perfil_acessos" | ||
) | ||
}} | ||
select | ||
_id, | ||
|
||
rota, | ||
nome, | ||
descricao, | ||
|
||
safe_cast(createdat as datetime) as createdat, | ||
safe_cast(updatedat as datetime) as updatedat, | ||
|
||
__v, | ||
|
||
safe_cast(data_extracao as datetime) as data_extracao, | ||
safe_cast(ano_particao as int64) as ano_particao, | ||
safe_cast(mes_particao as int64) as mes_particao, | ||
safe_cast(data_particao as date) as data_particao | ||
from {{ source("brutos_minhasaude_mongodb_staging", "modulos_perfil_acessos") }} | ||
) | ||
|
||
select * | ||
from source | ||
from source | ||
where data_extracao = (select max(data_extracao) from source) |
46 changes: 36 additions & 10 deletions
46
models/raw/minhasaude_mongodb/raw_minhasaude_mongodb__perfil_acessos.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,41 @@ | ||
{{ config(alias="perfil_acessos") }} | ||
|
||
{{ | ||
config( | ||
schema="brutos_minhasaude_mongodb", | ||
alias="perfil_acessos", | ||
partition_by={ | ||
"field": "data_particao", | ||
"data_type": "date", | ||
"granularity": "month", | ||
}, | ||
) | ||
}} | ||
|
||
with | ||
source as ( | ||
select * | ||
from | ||
{{ | ||
source( | ||
"brutos_minhasaude_mongodb_staging", "perfil_acessos" | ||
) | ||
}} | ||
select | ||
_id, | ||
idmodulo, | ||
idusuario, | ||
|
||
nome, | ||
lpad(cpf, 11, '0') as cpf, | ||
lpad(cns, 15, '0') as cns, | ||
|
||
safe_cast(logingovbr as bool) as logingovbr, | ||
origem, | ||
|
||
safe_cast(createdat as datetime) as createdat, | ||
safe_cast(updatedat as datetime) as updatedat, | ||
|
||
__v, | ||
|
||
safe_cast(data_extracao as datetime) as data_extracao, | ||
safe_cast(ano_particao as int64) as ano_particao, | ||
safe_cast(mes_particao as int64) as mes_particao, | ||
safe_cast(data_particao as date) as data_particao | ||
from {{ source("brutos_minhasaude_mongodb_staging", "perfil_acessos") }} | ||
) | ||
|
||
select * | ||
from source | ||
from source | ||
where data_extracao = (select max(data_extracao) from source) |