Skip to content

Commit

Permalink
add policy tag to raw layer
Browse files Browse the repository at this point in the history
  • Loading branch information
ThiagoTrabach committed Dec 2, 2023
1 parent 61413cf commit 5aa5c02
Show file tree
Hide file tree
Showing 9 changed files with 113 additions and 48 deletions.
14 changes: 13 additions & 1 deletion dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@ clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_modules"

# Defining variables
vars:
TAG_CPF: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/2725924647574340150'
TAG_CNS: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/8466642122276519749'
TAG_NOME: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/6653540523349836867'
TAG_TELEFONE: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/4821430283459568091'
TAG_EMAIL: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/7952571888021215204'
TAG_ENDERECO: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/4420561030199075247'
TAG_CRM: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/3383058637162172795'
TAG_MATERIAL: 'projects/rj-sms/locations/us/taxonomies/1484589960313336167/policyTags/2594193206394513245'

# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models

Expand All @@ -40,13 +51,14 @@ models:
+required_tests: {"unique.*|not_null": 2}
+required_docs: true
raw:
+materialized: view
+materialized: table
cnes:
+schema: brutos_cnes
estoque_central_tpc:
+schema: brutos_estoque_central_tpc
prontuario_vitacare:
+schema: brutos_prontuario_vitacare
materialized: table
prontuario_vitai:
+schema: brutos_prontuario_vitai
sheets:
Expand Down
18 changes: 13 additions & 5 deletions models/raw/cnes/_cnes_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ models:
description: |
CPF do Estabelecimento
Esse campo só é preenchido no caso do campo tipo_pfpj = 1
policy_tags:
- '{{ var ("TAG_CPF") }}'
- name: cnpj
description: |-
CNPJ do Estabelecimento
Expand Down Expand Up @@ -124,7 +126,11 @@ models:
2 - Parcial/Restrições
- name: diretor_clinico_cpf
description: CPF do Diretor Clínico ou Gerente / Administrador
policy_tags:
- '{{ var ("TAG_CPF") }}'
- name: diretor_clinico_conselho
policy_tags:
- '{{ var ("TAG_NOME") }}'
description: Registro no Conselho de Classe do Diretor Clinico
- name: adesao_hospital_filantropico
description: Indica se o hospital fez adesão ao Programa de Reestruturação de
Expand All @@ -143,10 +149,12 @@ models:
description: Nome do Usuário que atualizou as Coordenadas
- name: data_atualizacao_geolocalizacao
description: Data de atualização das Coordenadas
- name: mes_particao
description: Data de referência da partição formato (YYYY-MM)
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_cnes__tipo_unidade
description: |-
Tabela contendo os tipo de unidades de saúde
Expand All @@ -161,7 +169,7 @@ models:
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_cnes__tipo_nivel_atencao
description: |-
Tabela contendo os níveis de atenção / atividade.
Expand All @@ -182,7 +190,7 @@ models:
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_cnes__gestao_nivel_atencao
description: |-
Tabela contendo a relação do nível de atenção correspondente à
Expand All @@ -209,7 +217,7 @@ models:
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_cnes__turno_atendimento
description: |-
Tabelas contendo os tipo de turno de atendimento das unidades de saúde
Expand All @@ -224,4 +232,4 @@ models:
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ models:
columns:
- name: id_lote
description: Identificador do lote do medicamento/insumo
- name: id_produto
- name: id_material
description: Identificador do medicamento/insumo
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: estoque_secao
description: Local dentro da unidade de saúde onde está armazenado o
medicamento/insumo
- name: material_descricao
description: Descrição do medicamento/insumo
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_unidade
description: Unidade de estocagem do medicamento/insumo
- name: lote_data_vencimento
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
config(
alias="estoque_posicao",
schema="brutos_estoque_central_tpc",
labels={"contains_pii": "no"},
materialized="view",
materialized="table",
partition_by={
"field": "data_particao",
"data_type": "date",
"granularity": "month",
"granularity": "day",
},
)
}}
Expand Down
96 changes: 63 additions & 33 deletions models/raw/prontuario_vitacare/_prontuario_vitacare_schema.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
models:
- name: raw_prontuario_vitacare__estoque_posicao
description: ""
description: >
Posição diária dos estoques de medicamentos e insumos das unidades de
saúde que utilizam o prontuário VitaCare para gestão de estoque de
farmácia e almoxarifado
columns:
- name: id_estoque_posicao
description: ""
description: Identificador único do registro
- name: area_programatica
description: ""
description: Área programática da unidade de saúde onde o item está localizado
- name: id_cnes
description: ""
description: Número do CNES (Cadastro Nacional de Estabelecimentos de Saúde) da
unidade de saúde onde o item está localizado
tests:
- not_null
- relationships:
Expand All @@ -21,34 +25,45 @@ models:
severity: warn
error_if: ">10"
- name: id_lote
description: ""
description: Identificador do lote do medicamento/insumo
- name: id_material
description: ""
description: Código de identificação do material cadastrado no prontuário
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
tests:
- not_null
- name: id_atc
description: ""
description: Código de identificação do material cadastrado no prontuário no padrão ATC
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: estabelecimento_nome
description: ""
description: Nome da unidade de saúde onde o item está localizado
- name: lote_data_cadastro
description: ""
description: Data de cadastro do lote
- name: lote_data_vencimento
description: ""
description: Data de vecimento do lote
- name: material_descricao
description: ""
description: Descrição do medicamento/insumo
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_quantidade
description: ""
description: Quantidade disponível do medicamento/insumo
- name: data_particao
description: ""
description: Data de referencia da posição do estoque
- name: data_carga
description: ""
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_prontuario_vitacare__estoque_movimento
description: ""
description: Movimentação diária dos estoques de medicamentos e insumos das
unidades de saúde que utilizam o prontuário Vitacare para gestão de
estoque de farmácia e almoxarifado
columns:
- name: id_estoque_movimento
description: ""
description: Identificador único do registro
- name: area_programatica
description: ""
description: Área programática da unidade de saúde onde o item está localizado
- name: id_cnes
description: ""
description: Número do CNES (Cadastro Nacional de Estabelecimentos de Saúde) da
unidade de saúde onde o item está localizado
tests:
- not_null
- relationships:
Expand All @@ -63,32 +78,47 @@ models:
severity: warn
error_if: ">10"
- name: id_lote
description: ""
description: Identificador do lote do medicamento/insumo
- name: id_material
description: ""
description: Código de identificação do material cadastrado no prontuário
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: id_atc
description: ""
description: Código de identificação do material cadastrado no prontuário no padrão ATC
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: estabelecimento_nome
description: ""
description: Nome da unidade de saúde onde o item está localizado
- name: material_descricao
description: ""
description: Descrição do medicamento/insumo
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: estoque_movimento_data_hora
description: ""
description: Data e hora da movimentação do estoque
- name: estoque_movimento_tipo
description: ""
description: Tipo de movimentação do estoque
- name: estoque_movimento_correcao_tipo
description: ""
description: Tipo de correção da movimentação do estoque
- name: estoque_movimento_justificativa
description: ""
description: Justificativa da movimentação do estoque
- name: dispensacao_prescritor_cns
description: ""
policy_tags:
- '{{ var ("TAG_CNS") }}'
description: CNS do prescritor no caso de dispensação para usuário
- name: dispensacao_paciente_cpf
description: ""
description: CPF do paciente no caso de dispensação para usuário
policy_tags:
- '{{ var ("TAG_CPF") }}'
- name: dispensacao_paciente_cns
description: ""
description: CNS do paciente no caso de dispensação para usuário
policy_tags:
- '{{ var ("TAG_CNS") }}'
- name: material_quantidade
description: ""
description: Quantidade movimentada do medicamento/insumo
tests:
- dbt_expectations.expect_column_values_to_be_between:
min_value: 0
- name: data_particao
description: ""
description: Data de referencia da posição do estoque
- name: data_carga
description: ""
description: Data e hora (GMT-3) no qual foi feito o download do dataset
14 changes: 11 additions & 3 deletions models/raw/prontuario_vitai/_prontuario_vitai__schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,18 @@ models:
- name: id_lote
description: Identificador do lote do medicamento/insumo
- name: id_material
description: Código de identificação do material cadastrado no prontuário
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
tests:
- not_null
description: Código de identificação do material cadastrado no prontuário
- name: estoque_secao
description: Local dentro da unidade de saúde onde está armazenado o
medicamento/insumo
- name: material_descricao
description: Descrição do medicamento/insumo
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_unidade
description: Unidade de estocagem do medicamento/insumo
- name: lote_data_vencimento
Expand All @@ -48,7 +52,7 @@ models:
- name: data_snapshot
description: Momento no qual foi feito o snapshot do registro
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
- name: raw_prontuario_vitai__estoque_movimento
description: Movimentação diária dos estoques de medicamentos e insumos das
unidades de saúde que utilizam o prontuário Timed (Vitai) para gestão de
Expand Down Expand Up @@ -85,10 +89,14 @@ models:
error_if: ">2"
- name: id_material
description: Código de identificação do material cadastrado no prontuário
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
tests:
- not_null
- name: material_descricao
description: Descrição do materil (medicamento/insumo)
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_unidade
description: Unidade de estocagem do material(medicamento/insumo)
- name: estoque_secao_origem
Expand All @@ -114,4 +122,4 @@ models:
- name: data_particao
description: Data de referencia da posição do estoque
- name: data_carga
description: Momento (GMT-3) no qual foi feito o download do dataset
description: Data e hora (GMT-3) no qual foi feito o download do dataset
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
alias="estoque_movimento",
schema="brutos_prontuario_vitai",
labels={"contains_pii": "no"},
materialized="view",
partition_by={
"field": "data_particao",
"data_type": "date",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
alias="estoque_posicao",
schema="brutos_prontuario_vitai",
labels={"contains_pii": "no"},
materialized="view",
partition_by={
"field": "data_particao",
"data_type": "date",
Expand Down
6 changes: 6 additions & 0 deletions models/raw/sheets/_sheets_schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ models:
columns:
- name: id_material
description: Código de identificação do material cadastrado no prontuário
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
tests:
- relationships:
to: ref('dim_material')
Expand All @@ -57,10 +59,14 @@ models:
description: Agrupor de materias
- name: material_descricao_generica
description: Descrição genérica do material
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_concetracao
description: Concentração do medicamento
- name: material_forma_farmaceutica
description: Forma farmacêutica do medicamento
policy_tags:
- '{{ var ("TAG_MATERIAL") }}'
- name: material_apresentacao
description: Apresentação comercial do material
- name: estabelecimento_disponibilidade
Expand Down

0 comments on commit 5aa5c02

Please sign in to comment.