diff --git a/code/utils/langgraph_agent.py b/code/utils/langgraph_agent.py index ba45ff2..23ba536 100644 --- a/code/utils/langgraph_agent.py +++ b/code/utils/langgraph_agent.py @@ -5,9 +5,9 @@ This agent demonstrates a basic ReAct-style agent with tool calling capabilities """ import boto3 -import csv import json import asyncio +import yaml from pathlib import Path from typing import Annotated, TypedDict, Literal from langgraph.graph import StateGraph, END @@ -15,27 +15,25 @@ from langgraph.graph.message import add_messages from langchain_aws import ChatBedrock from langchain_core.messages import HumanMessage, AIMessage, ToolMessage, SystemMessage from langchain_core.tools import tool -import os from langfuse import Langfuse from langfuse.langchain import CallbackHandler from utils.secrets_manager import SECRETS from utils.config import AWS_REGION, BEDROCK_MODEL_ARN, LANGFUSE_HOST -CODE="" - langfuse = Langfuse( secret_key=SECRETS["LANGFUSE-SECRET-KEY"], public_key=SECRETS["LANGFUSE-PUBLIC-KEY"], host=LANGFUSE_HOST, ) +_RULES_PATH = Path(__file__).parent / "rules.yaml" +with open(_RULES_PATH, encoding="utf-8") as _f: + _data = yaml.safe_load(_f) +RULES: dict[str, str] = _data["rules"] +MIN_DOC: dict[str, str] = _data["min_doc"] -# Base paths -SCRIPTS_DIR = Path(__file__).parent -JSON_OUTPUT_DIR = SCRIPTS_DIR / "json_output" -TEXTRACT_OUTPUT_DIR = SCRIPTS_DIR / "textract_output" -RULES={ +_DELETED_MARKER={ "40808130":"""- Mulheres acima de 45 anos ou menopausada - Homens com mais de 70 anos; - Osteogênese imperfeita (para esta patologia, poderá haver a liberação de (02) dois diff --git a/code/utils/rules.yaml b/code/utils/rules.yaml new file mode 100644 index 0000000..b7d09f7 --- /dev/null +++ b/code/utils/rules.yaml @@ -0,0 +1,403 @@ +rules: + "40808130": | + - Mulheres acima de 45 anos ou menopausada + - Homens com mais de 70 anos; + - Osteogênese imperfeita (para esta patologia, poderá haver a liberação de (02) dois + exames ao ano - cada 180 dias); + - RX com osteopenia ou fratura patológica; + - Antecedente pessoal de fratura após os 40 anos: punho, ombros, vértebras, quadril; + - Parente de primeiro grau com osteoporose. + - Mulheres com massa corporal <20kg/m2 ou peso < 57,8kg; + - Menopausa antes dos 45 anos ou hipogonasismo crônico (falência ovariana precoce); + - Uso de glicocorticóides (>=7,5 prednizona/ dia equivalente por mais três meses, ou + presença de síndrome de cushing; + - Hiperparatireoidismo primário; + - Uso prolongado de anticonvulsivantes (< 10 anos); + - Síndrome de má absorção crônica ou desnutrição doenças inflamatória intestinal + (independente da causa: bariatrica, celiacos, intolerancia a lactose). + - Quimioterapia, se sobrevida esperada for longa (< 5 anos); + - Diminuição documentada de altura; + - Presença de cifose após menopausa. + - Imobilização prolongada + + "40808122": | + - Mulheres acima de 45 anos ou menopausada + - Homens com mais de 70 anos; + - Osteogênese imperfeita (para esta patologia, poderá haver a liberação de (02) dois + exames ao ano - cada 180 dias); + - RX com osteopenia ou fratura patológica; + - Antecedente pessoal de fratura após os 40 anos: punho, ombros, vértebras, quadril; + - Parente de primeiro grau com osteoporose. + - Mulheres com massa corporal <20kg/m2 ou peso < 57,8kg; + - Menopausa antes dos 45 anos ou hipogonasismo crônico (falência ovariana precoce); + - Uso de glicocorticóides (>=7,5 prednizona/ dia equivalente por mais três meses, ou + presença de síndrome de cushing; + - Hiperparatireoidismo primário; + - Uso prolongado de anticonvulsivantes (< 10 anos); + - Síndrome de má absorção crônica ou desnutrição doenças inflamatória intestinal + (independente da causa: bariatrica, celiacos, intolerancia a lactose). + - Quimioterapia, se sobrevida esperada for longa (< 5 anos); + - Diminuição documentada de altura; + - Presença de cifose após menopausa. + - Imobilização prolongada + + "31303293": | + Mirena e Kyleena possuem critérios diferentes para autorização. + Autorizar sem o parecer da Auditoria Médica, somente quando for beneficiária com + idade entre 18 e 45 anos e se o formulário estiver preenchido conforme as quatro + validações abaixo: + · Identificação completa do paciente e médico assistente; + · Campo 1.1: selecionado: Mirena ou Kyleena; + · Campo 1.2: selecionado: + · Mirena: Menorragia idiopática (sangramento) ou Anticoncepção; ou Kyleena: Anticoncepção; + · Se os itens 2 e 3 estiverem descritos como "NÃO", "NÃO SE APLICA", "- "ou EM BRANCO. + Encaminhar para a auditoria médica (Mirena ou Kyleena) somente quando: + - Solicitações que incluam outros eventos além do implante de DIU; + - Constar pedido de liberação de anestesia; + - No caso de prazo intervalar - Incluir na perícia, a negação gerada e qual a finalidade + da análise do auditor, informar também a data da última liberação do DIU e a + necessidade de avaliação por conta do prazo de repetição. + - Campo 1.1 selecionado: "Outros"; + - Campo 1.2 selecionado: Mirena: "Outros" ou nenhuma opção selecionada; + Kyleena: Menorragia idiopática (Sangramento) ou "Outros"; + - Se qualquer campo dos itens 2 e 3 descreverem alguma contraindicação. + - Beneficiária menor de 18 anos ou acima de 45 anos. + + "31005470": | + Autorizar sem o parecer da Auditoria Médica se constar no pedido médico ou + laudos, uma das justificativas abaixo: + · Cálculo biliar; + · Colelitíase; + · Litíase; + · Pólipos acima de 01 cm. + Caso a indicação seja outra ou pólipo menor que 01 cm, encaminhar para auditoria. + + "41501012": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Autorizar sem o parecer da Auditoria Médica solicitações de beneficiários acima de + 60 anos. Autorizar independentemente da idade solicitações em que a justificativa indique + pelo menos uma das patologias abaixo: + · Catarata senil (CID'S H25-1, H25-2, H25-8, H25-9, H26-1, H26-2, H26-3, H26-) + · Outros transtornos do cristalino. + BANDEJA + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + - Bandeja 143 - AML - OFTALMOLOGIA - obrigatoriamente com a documentação mínima. + - Bandeja 51 - AML - SEM INFORMAÇÃO MÍNIMA PARA ANÁLISE: Quando for + solicitação eletiva e não houver indicação clínica. + Botão Prioridade: Em caso de beneficiário Intercâmbio, PAC, GLP ou SAC Empresa, é + obrigatório selecionar a bandeja de retorno no botão prioridade, para correta + devolução ao responsável. + ATENDIMENTO INTERCÂMBIO + IMPORTADO (Beneficiários de Outras Unimed's sendo atendidos em Curitiba e região). + 1° Passo: Necessário documentação conforme planilha de racionalização. + 2° Passo: Gerar a solicitação em sistema com documentação em anexo. + - Se tiver a documentação, anexar no sistema (ATF não necessita anexar). + - Se não tiver documentação, solicitar que beneficiário providencie para dar entrada. + 3° Passo: Verificar no monitor de intercâmbio, se o processo está pendente de perícia. + - Se tiver, abrir sala CHAT e anexar as documentações (ATF não necessita anexar). + - Se não tiver, abrir GPU (ATF não necessita abertura). + 4° Passo: Deixar processo pendente na bandeja para monitoramento. + - Se trafegou, bandeja 921. + - Se não trafegou, bandeja 11. + 5° Passo: Registrar em anotações administrativas as informações pertinentes ao processo. + + "40901254": | + Autorizar no ato do atendimento a 1ª solicitação entre o período (DE 11- 14 SEMANAS + DE GESTAÇÃO). + ou + Se o evento foi gerado decorrente da consulta obstétrica 1.01.01987 - CONSULTA + OBSTÉTRICA - 2ª AVALIAÇÃO (ATÉ 10 SEMANAS DE GESTAÇÃO). + + "40901262": | + Autorizar no ato do atendimento a 1ª solicitação entre o período de 18 a 24 semanas + de gestação ou se o evento foi gerado decorrente da consulta obstétrica 1.01.01989 + - CONSULTA OBSTÉTRICA - 4ª AVALIAÇÃO (ATÉ 18 SEMANAS DE GESTAÇÃO). + A repetição poderá ser autorizada desde que se enquadre em um dos critérios abaixo: + · Anomalia fetal diagnosticada em exame de rotina. + · Antecedentes de doenças hereditárias. + · Consanguinidade. + · Exposição a drogas. + · Idade materna avançada. + · Infecções pré-natais. + + "4091262": | + Autorizar no ato do atendimento a 1ª solicitação entre o período de 18 a 24 semanas + de gestação ou se o evento foi gerado decorrente da consulta obstétrica 1.01.01989 + - CONSULTA OBSTÉTRICA - 4ª AVALIAÇÃO (ATÉ 18 SEMANAS DE GESTAÇÃO). + A repetição poderá ser autorizada desde que se enquadre em um dos critérios abaixo: + · Anomalia fetal diagnosticada em exame de rotina. + · Antecedentes de doenças hereditárias. + · Consanguinidade. + · Exposição a drogas. + · Idade materna avançada. + · Infecções pré-natais. + + "40304906": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Poderá ser liberada de imediato as solicitações eletivas que contenha a indicação + abaixo, conforme DUT: + · Avaliação de pacientes adultos com sinais e sintomas de trombose venosa profunda dos membros inferiores; + URGÊNCIA/EMERGÊNCIA (INTERNAMENTO e AMBULATORIAL) + Poderá ser liberada de imediato as solicitações de Urgência e Emergência em regime + Internamento ou em situação de Observação em Unidades de Urgência que contenha a indicação: + · Pacientes adultos com sinais e sintomas de embolia pulmonar. + · Pneumonia ou síndrome respiratória aguda grave, com quadro suspeito ou confirmado de infecção pelo SARS-CoV-2 (COVID 19). + PLANOS NÃO REGULAMENTADOS E PLANOS ADAPTADOS + Os planos não regulamentados (UNIPLAN, UNIPLAN 2000 E NOVO UNIPLAN) e adaptados, + asseguram cobertura ilimitada para exames laboratoriais, pois não seguem o Rol e as + diretrizes de utilização. Desta forma podem ser autorizados segundo regras contratuais. + + "4034906": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Poderá ser liberada de imediato as solicitações eletivas que contenha a indicação + abaixo, conforme DUT: + · Avaliação de pacientes adultos com sinais e sintomas de trombose venosa profunda dos membros inferiores; + URGÊNCIA/EMERGÊNCIA (INTERNAMENTO e AMBULATORIAL) + Poderá ser liberada de imediato as solicitações de Urgência e Emergência em regime + Internamento ou em situação de Observação em Unidades de Urgência que contenha a indicação: + · Pacientes adultos com sinais e sintomas de embolia pulmonar. + · Pneumonia ou síndrome respiratória aguda grave, com quadro suspeito ou confirmado de infecção pelo SARS-CoV-2 (COVID 19). + PLANOS NÃO REGULAMENTADOS E PLANOS ADAPTADOS + Os planos não regulamentados (UNIPLAN, UNIPLAN 2000 E NOVO UNIPLAN) e adaptados, + asseguram cobertura ilimitada para exames laboratoriais, pois não seguem o Rol e as + diretrizes de utilização. Desta forma podem ser autorizados segundo regras contratuais. + + "20203020": | + Autorizar sem o parecer da Auditoria Médica desde que a justificativa indique pelo menos + uma das patologias abaixo ou CID's relacionados: + · Incontinência urinária (CID R32); + · Disfunção miccional (CID N39); + · Incontinência de tensão ("stress") (CID N39.3); + · Síndrome da bexiga hiperativa; + · Distúrbios do assoalho pélvico; + · Incontinência fecal (CID R15); + · Outros transtornos funcionais do intestino (CID K59); + · Fortalecimento do Assoalho Pélvico pré e/ou pós-parto. + + "41001230": | + PROTOCOLO DE LIBERAÇÃO + Para beneficiário de outras Unimed's (importado) + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Todas as solicitações devem ser direcionadas para análise da Auditoria Médica, com a Documentação. + + "4101230": | + PROTOCOLO DE LIBERAÇÃO + Para beneficiário de outras Unimed's (importado) + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Todas as solicitações devem ser direcionadas para análise da Auditoria Médica, com a Documentação. + + "20103190": | + Autorizar sem o parecer da Auditoria Médica desde que a justificativa indique pelo + menos uma das patologias abaixo ou CID's relacionados: + · Incontinência urinária (CID R32); + · Disfunção miccional (CID N39); + · Incontinência de tensão ("stress") (CID N39.3); + · Síndrome da bexiga hiperativa; + · Distúrbios do assoalho pélvico; + · Incontinência fecal (CID R15); + · Outros transtornos funcionais do intestino (CID K59); + · Fortalecimento do Assoalho Pélvico pré e/ou pós-parto. + BENEFICIARIOS ADULTOS (ACIMA DE 18 ANOS): + Se a solicitação estiver enquadrada nas indicações acima poderá ser autorizado sem + encaminhar para o AML até 10 quantidades ao mês; + Ponto de atenção - pertinente 10 sessões total ao mês: considerar códigos + associados ou individuais (eletroestimulação do assoalho pélvico, disfunção vesico + uretral, biofeedback, reabilitação perineal) + BENEFICIARIOS CRIANÇAS (ATÉ 17 ANOS E 11 MESES): + Se a solicitação estiver enquadrada nas indicações acima poderá ser autorizado sem + encaminhar para o AML até 04 quantidades ao mês; + Ponto de atenção - pertinente 04 sessões ao mês: para cada modalidade + (eletroestimulação do assoalho pélvico, disfunção vesico uretral, biofeedback, reabilitação perineal) + Acima desta quantidade encaminhar para a análise da Auditoria Médica com justificativa médica. + ATENDIMENTO INTERCÂMBIO + Encaminhar para deliberação da Unimed origem. + + "40202542": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Esse código não requer análise da Auditoria Médica, analisar baseado na cobertura e + limite contratual do beneficiário. + Caso seja necessário análise da auditoria médica devido alguma mensagem de negação, + consultar o item "Documentação". + Para beneficiário Unimed 0032 (atendimento em outra singular/Exportado): + A liberação do procedimento não está condicionada a solicitação dos materiais, pois + o mesmo poderá ser realizado sem a utilização da "Alça de Polipectomia" e da + "Agulha de Esclerose ou Injetor". + Quando houver solicitação dos materiais posteriormente à autorização do evento, + não há a necessidade de análise da AML para os materiais. Deverá ser cadastrado + conforme informações acima e, liberar. (Circular n.º 056/2008 de 01/08/2008). + + "40202550": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Esse código não requer análise da Auditoria Médica, analisar baseado na cobertura e + limite contratual do beneficiário. + Caso seja necessário análise da auditoria médica devido alguma mensagem de negação, + consultar o item "Documentação". + Para beneficiário Unimed 0032 (atendimento em outra singular/Exportado): + A liberação do procedimento não está condicionada a solicitação dos materiais, pois + o mesmo poderá ser realizado sem a utilização da "Alça de Polipectomia" e da + "Agulha de Esclerose ou Injetor". + Quando houver solicitação dos materiais posteriormente à autorização do evento, + não há a necessidade de análise da AML para os materiais. Deverá ser cadastrado + conforme informações acima e, liberar. (Circular n.º 056/2008 de 01/08/2008). + + "40323676": | + Este evento está parametrizado para autorizar automaticamente para beneficiários + carteirinha 0032. + · Para beneficiários PAC, início do cartão 09759032, as solicitações destes exames + devem ser liberadas de imediato, revertendo a guia no motivo: 9 - AUTORIZADO + CONFORME PROTOCOLO DE LIBERAÇÃO. + · Para beneficiários 0032 no intercâmbio exportado, as solicitações destes exames + devem ser liberadas de imediato, revertendo a guia no motivo: 9 - AUTORIZADO + CONFORME PROTOCOLO DE LIBERAÇÃO. + NÃO NEGAR ATENDIMENTO. + ATENÇÃO: Exame contratualizado para realização na Unimed Laboratório, exclusivamente na Megaunidade. + Telefone de contato para mais informações: (41) 3021-5252. + ATENDIMENTO INTERCÂMBIO + Encaminhar para deliberação da Unimed origem. + +min_doc: + "20103190": | + Documentação + Justificativa Médica e/ou indicação clínica. + + "20203020": | + Documentação: + · Justificativa Médica e/ou indicação clínica. + + "31303293": | + Documentação + Beneficiário 0032 (atendidos em Curitiba e em Outras cidades): + · Justificativa médica e/ou indicação clínica; + · Formulário de Solicitação - DIU Hormonal (ver anexo do script). + Beneficiário Intercâmbio/Outras Unimeds: + · Relatório Médico Detalhado (conforme racionalização). + + "40202542": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa Médica e/ou indicação clínica. + + "40202550": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa Médica e/ou indicação clínica. + + "40304906": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa e/ou indicação clínica. + + "4034906": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa e/ou indicação clínica. + + "40314626": | + Documentação + Não há. + + "40314618": | + Documentação + Não há. + + "40323676": | + Documentação + Não há. + + "40901254": | + Justificativa Médica e/ou indicação clínica informando a idade gestacional e Laudo + do 1º exame sonográfico gestacional realizado. + + "40901262": | + Documentação + Relatório médico informando a idade gestacional + laudo do 1o exame sonográfico + gestacional realizado. + + "4091262": | + Documentação + Relatório médico informando a idade gestacional + laudo do 1o exame sonográfico + gestacional realizado. + + "4101230": | + Documentação + Para beneficiário de outras Unimed's (importado) + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + · Relatório Médico detalhado com histórico indicando a necessidade de + realização do exame, além de sinais e sintomas, se possui limitação para teste de esforço físico; + · Índice de pré-teste segundo os critérios de Diamons e Forrester revisados e/ou TIMI risk; + · Laudos de exames cardiológicos recentes. + + "41501144": | + Documentação + PARA BENEFICIÁRIOS 0032 SENDO ATENDIDO EM CURITIBA, FORA (EXPORTADO), E PAC: + · Relatório Médico descrevendo a necessidade de realização do exame. + · Se o pedido for para avaliação de glaucoma, é necessário incluir laudo e imagem da retinografia. + Atenção: Para as demais situações, NÃO é necessário enviar o laudo da retinografia. + PARA BENEFICIÁRIOS INTERCÂMBIO ESTADUAL, CONFORME DETERMINAÇÃO DO CERS: + · Relatório médico descrevendo a necessidade da realização do exame; + · Laudo e imagem de retinografia. + Atenção: NÃO É OBRIGATÓRIO o envio do laudo e imagem de retinografia para: + > Pacientes com diagnóstico da doença já confirmado e que estejam em tratamento + com aplicação de antiangiogênicos, para as patologias abaixo: + · Doença Macular Relacionada à Idade (DMRI); + · Oclusões Vasculares Retinianas; + · Edema Macular secundário a Diabetes Mellitus. + Caso a informação referente ao tratamento não conste no relatório médico, consultar + eventos recentes para identificar se o beneficiário está em tratamento. + Esclarecemos que o envio de retinografia, poderá eventualmente ser solicitado pela + auditoria para fins de elucidação diagnóstica. + PARA BENEFICIÁRIOS INTERCÂMBIO NACIONAL: + SEGUIR DOCUMENTAÇÃO CONFORME RACIONALIZAÇÃO. + + "31005101": | + Documentação: + · Relatório médico detalhado; + · Laudo RX e/ou tomografia e/ou ressonância e/ou ultrassonografia. + + "31005470": | + Documentação: + · Relatório médico detalhado; + · Laudo RX e/ou tomografia e/ou ressonância e/ou ultrassonografia. + + "40808122": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa e/ou indicação clínica. + + "40808130": | + Documentação + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa e/ou indicação clínica. + + "41501012": | + Para beneficiário de outras Unimed's (importado): + Ver item ATENDIMENTO INTERCÂMBIO. + Para beneficiário Unimed 0032 (atendimento local): + Justificativa médica e/ou indicação clínica.