def tub_sr(): tubsr = TUB_Cursor.execute(''' SELECT requisicao AS "Requisição", paciente AS "Paciente", ibge AS "IBGE", municipio AS "Município", regional AS "Regional", amostra AS "Amostra", material AS "Material", data_coleta AS "Data de Coleta", data_recebimento AS "Data de Recebimento", data_liberacao AS "Data de Liberação", CASE WHEN exame='Tuberculose, Baciloscopia' THEN REPLACE(exame, 'Tuberculose, Baciloscopia', 'Baciloscopia') WHEN exame='Tuberculose, Cultura' THEN REPLACE(exame, 'Tuberculose, Cultura', 'Cultura') WHEN exame='Tuberculose, Teste Rápido Molecular' THEN REPLACE(exame, 'Tuberculose, Teste Rápido Molecular', 'Teste Rápido Molecular') END AS "Exame", resultado AS "Resultado" FROM tuberculose WHERE (amostra = '0' OR amostra = '1') AND (resultado = 'Positiva para B.A.A.R.' OR resultado = 'Positiva para B.A.A.R. +' OR resultado = 'Positiva para B.A.A.R. +++' OR resultado = 'Positiva para B.A.A.R. +++' OR resultado = 'Encontrado 1 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 2 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 3 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 4 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 5 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 6 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 7 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 8 B.A.A.R. em 100 campos examinados.' OR resultado = 'Encontrados 9 B.A.A.R. em 100 campos examinados.' OR resultado = 'Positiva' OR resultado = 'Positiva (+)' OR resultado = 'Positiva (++)' OR resultado = 'Positiva (+++)' OR resultado = 'Positiva (1 a 20 UFC)' OR resultado = 'Detectável') ''').fetchall() TUB_Cursor.execute(''' INSERT OR REPLACE INTO sintomatico (requisicao, paciente, ibge, municipio, regional, amostra, material, data_coleta, data_recebimento, data_liberacao, exame, resultado) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', tubsr)
def tub_ts2(): # Teste de Sensibilidade II tubts2 = GAL_Cursor.execute(''' SELECT p.co_requisicao AS "Requisição", date (req.dt_cadastro) AS "Data Cadastro", p.no_paciente AS "Paciente", p.nu_idade AS "Idade", CASE WHEN p.tp_idade = '1' THEN REPLACE(p.tp_idade, '1', 'Horas') WHEN p.tp_idade = '2' THEN REPLACE(p.tp_idade, '2', 'Dias') WHEN p.tp_idade = '3' THEN REPLACE(p.tp_idade, '3', 'Meses') WHEN p.tp_idade = '4' THEN REPLACE(p.tp_idade, '4', 'Anos') END AS "Tipo", p.co_sexo AS "Sexo", m.co_municipio AS "Cod. Mun. Res.", m.no_municipio AS "Mun. Residência", l.nu_regional AS "Regional", l.no_unidade AS "Laboratório Executor", a.nu_amostra AS "Amostra", b.no_matbio AS "Material", date (a.dt_coleta) AS "Data de Coleta", date (e.dt_recebimento) AS "Data Recebimento", fn_bmh_inf_clinica_descricao(p.co_requisicao,'dt_inicio_sint') AS "Data Inicio Sintomas", CASE WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat') = '1' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat'), '1', 'Diagnóstico') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat') = '2' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat'), '2', 'Controle') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat') = '9' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_fin_trat'), '9', 'Ignorado') END AS "Finalidade", CASE WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_compl_trat') = '1' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_compl_trat'), '1', 'Nunca Tratou TB') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_compl_trat') = '2' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_compl_trat'), '2', 'Tratou TB') END AS "Tratamento", fn_bmh_inf_clinica_descricao(p.co_requisicao,'nu_peri_trat') AS "Tempo de Tratamento", CASE WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat') = '1' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat'), '1', 'Dias') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat') = '2' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat'), '2', 'Semana') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat') = '3' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat'), '3', 'Mês') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat') = '4' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat'), '1', 'Anos') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat') = '9' THEN REPLACE (fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_peri_trat'), '9', 'Ignorado') END AS "Período de Tratamento", CASE WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '1' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '1', 'População Prisional') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '2' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '2', 'População em Situação de Rua') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '3' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '3', 'Internado/Institucionalizado') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '4' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '4', 'Profissional de Saúde/Sistema Penitenciário') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '5' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '5', 'HIV ou outra Imunodepressão') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '6' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '6', 'Indígena') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '7' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '7', 'Imigrante') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '8' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '8', 'Usuário de Drogas') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '9' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '9', 'Diabético') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '10' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '10', 'Tabagista') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao') = '99' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_populacao'), '99', 'Ignorado') END AS "População de Risco", CASE WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr') = '1' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr'), '1', 'Sim') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr') = '2' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr'), '2', 'Não') WHEN fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr') = '9' THEN REPLACE(fn_bmh_inf_clinica_descricao(p.co_requisicao,'st_tbdr'), '9', 'Ignorado') END AS "TB Droga Resistência", te.no_exame AS "Exame", tm.no_metodo AS "Metodo", date (e.dt_resultado) AS "Data Resultado", date (e.dt_liberacao) AS "Data Liberação", DATE_PART('day', e.dt_recebimento::timestamp - req.dt_cadastro::timestamp) AS "Tempo Transporte", DATE_PART('day', e.dt_resultado::timestamp - e.dt_recebimento::timestamp) AS "Tempo Processamento", DATE_PART('day', e.dt_liberacao::timestamp - e.dt_recebimento::timestamp) AS "Tempo Liberacao", pl.ds_lpre AS "Resultado" FROM tb_bmh_exame_requisicao e JOIN tb_bmh_tipo_exame te ON e.co_exame = te.co_exame JOIN tb_bmh_tipo_metodologia tm ON e.co_metodo = tm.co_metodo JOIN tb_bmh_resultado r ON e.co_seq_examereq = r.co_examereq AND e.co_exame = r.co_exame AND e.co_metodo = r.co_metodo JOIN tb_bmh_amostra a ON e.co_amostra = a.co_seq_amostra JOIN tb_bmh_material_biologico b ON a.co_matbio = b.co_matbio JOIN tb_bmh_requisicao req ON req.co_requisicao = a.co_requisicao JOIN tb_lab_laboratorio l ON l.co_labor = req.co_labor_responsavel JOIN tb_bmh_paciente p ON req.co_requisicao = p.co_requisicao JOIN tb_bmh_pretabelado_linha pl on pl.co_lpre = r.co_lpre AND pl.co_pretab = r.co_pretab LEFT JOIN tb_sus_municipio m ON m.co_municipio = p.co_municipio JOIN tb_sus_cnes cn ON req.co_cnes_requisitante = cn.co_cnes AND m.co_municipio = cn.co_municipio WHERE e.co_exame = 'TUBT' AND e.co_status = 5 AND r.co_campo = 'agente' AND --a.nu_amostra = 1 AND EXISTS (SELECT 1 FROM tb_bmh_inf_clinica ic WHERE ic.co_requisicao = p.co_requisicao AND ic.co_agravo = 4) AND e.dt_recebimento BETWEEN '2016-01-01 00:00:00' AND '2016-12-31 23:59:59' ORDER BY p.co_requisicao ASC; ''').fetchall() ts2 = tubts2 # Agrupando e gravando no BD local TUB_Cursor.execute('''INSERT OR REPLACE INTO tuberculose (requisicao, data_cadastro, paciente, idade, tipo_idade, sexo, ibge, municipio, regional, laboratorio, amostra, material, data_coleta, data_recebimento, data_sintomas, finalidade, tratamento, tempo_tratamento, periodo_tratamento, tipo_populacao, droga_resistente, exame, metodo, data_resultado, data_liberacao, tempo_transporte, tempo_processamento, tempo_liberacao, resultado) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)''', ts2)