Projeto

Geral

Perfil

Banco de Dados #442 » AtualizarDados_dataset2_v2.sql

 
-- Dataset 2 - Atualização 2 - 1597 registros

SELECT
'05/2025' AS dt_atualizacao,
tp_analise,
dt_cmpt,
co_cnes,
no_razao_social,
no_fantasia,
nu_mun_hosp,
co_proc_realizado,
co_paciente_sexo,
co_complexidade,
co_financiamento,
co_gestao,
nu_idade,
frequencia,
nu_val_tot,
st_idade_regular,
st_sexo_regular,
CASE
WHEN st_idade_regular || st_sexo_regular = 'NS' THEN
'Idade'
WHEN st_idade_regular || st_sexo_regular = 'SN' THEN
'Sexo'
WHEN st_idade_regular || st_sexo_regular = 'NN' THEN
'Ambos'
ELSE
'Verificar'
END AS irregularidade,
nu_aih,
no_paciente_nome,
dt_paciente_nascimento,
nu_paciente_numero_cns,
nu_paciente_numero_cpf
FROM
(
SELECT
tp_analise,
r.dt_cmpt,
r.co_cnes,
r.no_razao_social,
r.no_fantasia,
r.nu_mun_hosp,
r.co_proc_realizado,
r.co_paciente_sexo,
r.co_complexidade,
r.co_financiamento,
r.co_gestao,
r.nu_idade,
r.no_paciente_nome,
r.dt_paciente_nascimento,
r.nu_paciente_numero_cns,
r.nu_paciente_numero_cpf,
r.nu_aih,
COUNT(r.nu_aih) AS frequencia,
SUM(r.nu_val_tot) AS nu_val_tot,
-- Coluna st_idade_regular
CASE
WHEN tp_analise = 'Parto'
AND ( r.nu_idade < 9
OR r.nu_idade > 60 ) THEN
'N'
WHEN tp_analise = 'Laqueadura'
AND ( r.nu_idade < 21
OR r.nu_idade > 60 ) THEN
'N'
ELSE
'S'
END AS st_idade_regular,
-- Coluna st_sexo_regular
CASE
WHEN r.co_paciente_sexo = 3 THEN
'S'
WHEN r.co_paciente_sexo = 1 THEN
'N'
ELSE
NULL
END AS st_sexo_regular
FROM
(
SELECT
'Parto' AS tp_analise,
r.dt_cmpt,
r.co_cnes,
e.no_razao_social,
e.no_fantasia,
r.nu_mun_hosp,
r.co_proc_realizado,
r.co_paciente_sexo,
r.co_complexidade,
r.co_financiamento,
r.co_gestao,
r.nu_idade,
r.no_paciente_nome,
r.dt_paciente_nascimento,
r.nu_paciente_numero_cns,
r.nu_paciente_numero_cpf,
r.nu_aih,
r.nu_val_tot
FROM
aih.tb_reduz r
LEFT JOIN cnes.tb_estabelecimento e ON e.co_cnes = r.co_cnes
WHERE
r.co_proc_realizado IN ( 0303100028, 0303100036, 0303100044, 0303100052, 0310010012, 0310010039, 0310010047, 0409060011,
0409060070, 0411010018, 0411010026, 0411010034, 0411010050, 0411010077, 0411010085, 0411020013, 0411020021, 0411020030,
0411020048 )
UNION ALL
SELECT
'Laqueadura' AS tp_analise,
r.dt_cmpt,
r.co_cnes,
e.no_razao_social,
e.no_fantasia,
r.nu_mun_hosp,
r.co_proc_realizado,
r.co_paciente_sexo,
r.co_complexidade,
r.co_financiamento,
r.co_gestao,
r.nu_idade,
r.no_paciente_nome,
r.dt_paciente_nascimento,
r.nu_paciente_numero_cns,
r.nu_paciente_numero_cpf,
r.nu_aih,
r.nu_val_tot
FROM
aih.tb_reduz r
LEFT JOIN cnes.tb_estabelecimento e ON e.co_cnes = r.co_cnes
WHERE
r.co_proc_realizado IN ( 0409060186, 0409060313, 0411010042 )
) r
GROUP BY
tp_analise,
r.dt_cmpt,
r.co_cnes,
r.no_razao_social,
r.no_fantasia,
r.nu_mun_hosp,
r.co_proc_realizado,
r.co_paciente_sexo,
r.co_complexidade,
r.co_financiamento,
r.co_gestao,
r.nu_idade,
r.no_paciente_nome,
r.dt_paciente_nascimento,
r.nu_paciente_numero_cns,
r.nu_paciente_numero_cpf,
r.nu_aih
)
WHERE
--dt_cmpt >= 202501
dt_cmpt between 202501 and 202503
AND ( st_idade_regular = 'N'
OR st_sexo_regular = 'N' )
(6-6/6)