Projeto

Geral

Perfil

Banco de Dados #442 » AtualizarDados_dataset1.dsv.sql

 
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,
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.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.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;
(3-3/6)