RN 585 - Comunicação de substituição de rede hospitalar

RN 585 - Comunicação de substituição de rede hospitalar

 

Atendimento à RN 585 com Mosia Omnichannel

Esta documentação descreve como configurar o Mosia Omnichannel para atender às exigências da RN nº 585/2023 da ANS, que dispõe sobre a comunicação obrigatória de descredenciamento de prestadores de serviços de saúde aos beneficiários dos planos.

Para entender um pouco mais como a plataforma Mosia Omnichannel atende ao requisito, assista ao vídeo explicativo abaixo.

video-reduzido-rn-585.mp4

O vídeo de explicação exemplifica uma jornada com interação pelo app, porém vale lembrar que quando o beneficiário utiliza a área web, o chat web ou whatsapp ele também pode receber as informações de tarefas pendentes. A jornada será atendida em múltiplos canais, tornando a solução ainda mais completa.


1. Objetivo

Atender aos requisitos da RN 585 por meio do envio de tarefas automatizadas (via chatbot, push, e-mail ou WhatsApp) que informem os beneficiários sobre descredenciamentos de prestadores, garantindo:

  • Comunicação clara, rastreável e comprovada.

  • Registro de protocolo de atendimento.

  • Relatório de ocorrências e comprovação de notificação.


2. Fluxo de Implementação

2.1 Login e Acesso

  1. Acesse o Mosia Omnichannel.

  2. Vá em Atendimento → Fluxos de Conversa.

  3. Clique em Novo e importe o fluxo modelo da documentação técnica.


2.2 Configuração do Fluxo de Chat

  • O fluxo será a base para disparo de tarefas.

  • Configure variáveis de ambiente:

    • Sandbox → para testes.

    • Produção → para operação real.

  • Configure o nó de elegibilidade integrado à API, validando se o beneficiário pode receber notificações.

image-20250908-195356.png
Como obter tokens de Sandbox e Produção - clique aqui (Obs: API de mensageria)

2.3 Criação de Ocorrências

A RN 585 exige registro formal da comunicação. Para isso:

  1. Criar tipo de ocorrência:

    • Nome: Descredenciamento de Prestadores.

    • Tipo: Solicitação.

    • Protocolo: obrigatório.

    • Status:

      • Criado (padrão).

      • Visualizado (encerramento).

  2. Configurar motivo de encerramento:

    • Exemplo: Encerramento via API.

  3. Criar assunto:

    • Nome do prestador descredenciado (ex.: Hospital XPTO).

    • Usado para relatórios e rastreabilidade.


2.4 Encerramento Automático de Ocorrências

  • Via API, atualizar o status da ocorrência de Criado para Visualizado.

  • Parâmetros necessários:

    • ID novo status (ex.: 3871).

    • Texto de desfecho (ex.: Tarefa visualizada).

    • ID motivo de encerramento (ex.: 2915).

    • ID atendente responsável (perfil com permissão de manipulação).


2.5 Criação da Tarefa de Chat

  1. Vá em Atendimento → Tarefas de Chat → Nova Tarefa.

  2. Configurações:

    • Nome/descrição: Tarefa de Descredenciamento.

    • Tipo de ocorrência: Chatbot.

    • Funcionalidade vinculada: Chatbot.

    • Fluxo: selecione o fluxo de descredenciamento criado.

      • IMPORTANTE: Não utilize um fluxo de chat já existente, isso pode causar problemas. Utilize o fluxo que você acabou de criar!

    • Template de comunicação (opcional): Push, WhatsApp ou E-mail.

    • Ambiente: Sandbox ou Produção.


2.6 Criação de funcionalidade customizada e ativação no app e ative slot

Crie uma funcionalidade customizada do tipo Chat 2.0:

  1. Vá em Funcionalidades → Funcionalidades customizadas → + Novo

    1. Informar:

      • Descrição: indique a descrição (por exemplo “Notificação de mudança de rede”)

      • Canais de atendimento: marque App e Portal do beneficiário

      • Tipo: Escolha Datasource Chat 2.0

  2. Vá em Funcionalidades → Configurador de funcionalidades → Editar Sandbox

    1. Na aba meus serviços:

      1. Localize a funcionalidade que acabou de criar, e movimente-a para Funcionalidade Ativas

      2. Edite a funcionalidade, e localize na aba Parâmetros, o parâmetro “funcionalidade_interna”. Modifique-o para TRUE. Isso vai fazer com que a nova funcionalidade fique oculta para os usuários do app, sendo exibida apenas quando a tarefa for executada.

    2. Na aba Home:

      1. Localize o “Slot Tarefas” e movimente-o para a coluna de Slots Ativos

 


2.7 Disparo da Tarefa

Via API de Tarefas:

  • Informar:

    • Chave única do beneficiário.

    • Contato (nome, e-mail, telefone).

    • Status Elegível = true.

    • Macros (ex.: nome do prestador, nome do beneficiário).

    • Variáveis adicionais (se necessário).

  • Resultado:

    • Beneficiário recebe a tarefa no aplicativo, push, e-mail ou WhatsApp.

    • A ocorrência é criada e encerrada automaticamente após confirmação.


2.8 Relatórios

  • Vá em Relatórios → Ocorrência.

  • Filtros recomendados:

    • Tipo de ocorrência: Descredenciamento de Prestadores.

    • Assunto: hospital/clinica descredenciada.

    • Período: intervalo da comunicação.

  • Exporte em CSV para comprovação junto à ANS.

  • Registro contém:

    • Protocolo.

    • Nome do beneficiário.

    • Status inicial (Criado) e final (Visualizado).

    • Motivo de encerramento (Tarefa visualizada).

    • Data e hora da comunicação.

Utilize o LibreOffice para abrir os relatórios CSV e evitar problemas de notação científica


3. Requisitos Atendidos da RN 585

Comunicação obrigatória: Beneficiário é informado via múltiplos canais (App, Push, WhatsApp, E-mail).
Prazo legal: Fluxo permite agendamento de envio (ex.: 30 dias antes do descredenciamento).
Registro formal: Ocorrência é criada com protocolo único.
Comprovação: Relatório exportável (CSV) com histórico de status e desfecho.
Transparência: Mensagens personalizadas por prestador (assunto da ocorrência).
Encerramento automático: Evita pendências abertas no painel do atendente.


4. Boas Práticas

  • Sempre realizar testes em Sandbox antes da virada para Produção.

  • Configurar usuários/atendentes com as permissões adequadas para manipular ocorrências.

  • Manter nomenclaturas padronizadas para facilitar relatórios.

  • Validar APIs de elegibilidade e de encerramento antes da implantação.

  • Arquivar relatórios como comprovação em auditorias da ANS.


5. Conclusão

Com o fluxo e tarefas configurados no Mosia Omnichannel, é possível automatizar e comprovar a comunicação de descredenciamento de prestadores de saúde, atendendo integralmente à RN 585/2023 da ANS.

 

6. Vídeo explicativo

RN_585 (1).mp4
O foco é a criação de um fluxo de chat que dispara tarefas para notificar beneficiários sobre o descredenciamento de prestadores

 

7. Anexo A: Fluxo de Chat (Exemplo)

{ "af90f264-ed9d-4fbf-83af-ef86c1c9834d": { "id": "af90f264-ed9d-4fbf-83af-ef86c1c9834d", "name": "entry", "data": { "type": "entry", "name": "Entrada", "description": "Início do fluxo (usuário envia uma mensagem)" }, "class": "entry", "html": "entry", "typenode": "vue", "inputs": {}, "outputs": { "output_1": { "connections": [ { "node": "3e32554e-9ef5-4f79-9b7e-d5c8c84b5f4a", "output": "input_1" } ] } }, "pos_x": 1057, "pos_y": -210 }, "a1251a12-da70-4297-9462-ffdf45005517": { "id": "a1251a12-da70-4297-9462-ffdf45005517", "name": "node_c85300ee-d870-4722-b49e-50a1a8e696a1", "data": { "type": "identity", "inputs": 1, "outputs": [ { "title": "Identificado" }, { "title": "Não identificado" } ], "variables": [ { "name": "elegibilidade", "description": "Objeto contendo as informações do contato" } ], "checkTasks": true, "message": "Informe seu CPF", "name": "Elegibilidade" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "3e32554e-9ef5-4f79-9b7e-d5c8c84b5f4a", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "5bd7dc11-152d-4c0c-921c-933349616923", "output": "input_1" } ] }, "output_2": { "connections": [] } }, "pos_x": 1008, "pos_y": 331 }, "5d51a0f0-0b6b-4e64-885b-4d15dde8c603": { "id": "5d51a0f0-0b6b-4e64-885b-4d15dde8c603", "name": "node_4063de00-22de-4913-8fd7-d700a094db63", "data": { "type": "message", "inputs": 1, "outputs": [ { "title": "Default" } ], "message": "Assunto: Informação sobre alteração na rede de atendimento do seu plano de saúde\n\nOlá, *{{ usuarioElegivelNome }}*.\n\nA *Mobile Saúde* informa que houve uma alteração na rede de atendimento do seu plano de saúde, no município de sua residência.\n\nPara garantir total transparência, você pode acessar todos os detalhes dessa alteração (como substituição ou exclusão de prestadores de urgência/emergência) de forma rápida e segura através do nosso atendimento digital.\n\nProtocolo: *{{ocorrenciaCriada.protocolo }}*", "name": "Mensagem" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "9e1bc67c-1ea0-4413-a459-ef88ef0635e6", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "45c0ac18-71c4-4e77-84fe-a2f4f59aff2e", "output": "input_1" } ] } }, "pos_x": 964, "pos_y": 2164 }, "5bd7dc11-152d-4c0c-921c-933349616923": { "id": "5bd7dc11-152d-4c0c-921c-933349616923", "name": "node_e4b6486f-31ac-42b3-b2e9-f8f3eab2b5b9", "data": { "type": "set_variable", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "varBeneficiarioLogado", "description": "Variável que será criada" } ], "variableValue": "{% set beneficiarioEncontrado = null %}\n{% set chaveUnica = elegibilidade.usuarioLogado.chaveUnica %}\n{% for beneficiario in elegibilidade.beneficiarios %}\n {% if beneficiario.chaveUnica == chaveUnica %}\n {% set beneficiarioEncontrado = beneficiario %}\n {% endif %}\n{% endfor %}{{ beneficiarioEncontrado | dump | safe }}", "name": "Beneficiario Logado" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "a1251a12-da70-4297-9462-ffdf45005517", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "455bec95-c750-4ccf-881d-81fb03267226", "output": "input_1" } ] } }, "pos_x": 630, "pos_y": 634 }, "455bec95-c750-4ccf-881d-81fb03267226": { "id": "455bec95-c750-4ccf-881d-81fb03267226", "name": "node_683f02a2-7ae6-4db6-a0bd-2ba9e69b855c", "data": { "type": "set_variable", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "usuarioElegivelChaveUnica", "description": "Variável que será criada" } ], "variableValue": "{{ varBeneficiarioLogado.chaveUnica }}", "name": "usuarioElegivelChaveUnica" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "5bd7dc11-152d-4c0c-921c-933349616923", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "b1f8cfed-98f3-4273-914e-8e759d9cf146", "output": "input_1" } ] } }, "pos_x": 958, "pos_y": 634 }, "b1f8cfed-98f3-4273-914e-8e759d9cf146": { "id": "b1f8cfed-98f3-4273-914e-8e759d9cf146", "name": "node_13ec2caf-73ae-447b-aa93-96bc1fa2c712", "data": { "type": "set_variable", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "usuarioElegivelNome", "description": "Variável que será criada" } ], "variableValue": "{{ varBeneficiarioLogado.dadosPessoais.nome }}", "name": "usuarioElegivelNome" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "455bec95-c750-4ccf-881d-81fb03267226", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "1b8f63f8-6697-4eff-86ba-64cf267b6e8c", "output": "input_1" } ] } }, "pos_x": 1307, "pos_y": 637 }, "1b8f63f8-6697-4eff-86ba-64cf267b6e8c": { "id": "1b8f63f8-6697-4eff-86ba-64cf267b6e8c", "name": "node_273f93e6-ec5d-496a-a1c4-cd4e47f04bdf", "data": { "type": "occurrence", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "ocorrenciaCriada", "description": "Objeto com os dados da ocorrência" } ], "anotacao": "Assunto: Informação sobre alteração na rede de atendimento do seu plano de saúde\n\nOlá, {{ usuarioElegivelNome }}.\n\nA Mobile Saúde informa que houve uma alteração na rede de atendimento do seu plano de saúde, no município de sua residência.\n\nPara garantir total transparência, você pode acessar todos os detalhes dessa alteração (como substituição ou exclusão de prestadores de urgência/emergência) de forma rápida e segura através do nosso atendimento digital.", "assuntoId": 1264, "tipoOcorrenciaId": 1412, "attachmentUrl": "", "name": "Criar Ocorrência" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "b1f8cfed-98f3-4273-914e-8e759d9cf146", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "e7d45bef-f7bc-4902-9f32-de8bb221551c", "output": "input_1" } ] } }, "pos_x": 989, "pos_y": 985 }, "9e1bc67c-1ea0-4413-a459-ef88ef0635e6": { "id": "9e1bc67c-1ea0-4413-a459-ef88ef0635e6", "name": "node_021a467d-9c7c-4252-8769-2a05997d69b2", "data": { "body": "{\n \"idNovoStatus\":,\n \"textoDesfecho\": \"\",\n \"idMotivoEncerramento\": \"\",\n \"idAtendente\":,\n \"chaveUnicaSolicitante\": \"{{usuarioElegivelChaveUnica}}\"\n}", "description": "", "headers": [ { "name": "Authorization", "value": "{{authorization}}" } ], "inputs": 1, "method": "PUT", "name": "Atualiza Status - Tarefa Visualizada", "type": "api", "url": "https://api.mosiaomnichannel.com.br/clientes/ocorrencias/{{ocorrenciaCriada.protocolo}}/status", "outputs": [ { "title": "Default" }, { "title": "Erro" } ], "variables": [ { "name": "apiAtualizaStatus", "description": "Objeto com a resposta da JSON da API." } ] }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "e7d45bef-f7bc-4902-9f32-de8bb221551c", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "5d51a0f0-0b6b-4e64-885b-4d15dde8c603", "output": "input_1" } ] }, "output_2": { "connections": [ { "node": "b0075514-1763-45eb-8bd3-8b41fa4466ed", "output": "input_1" } ] } }, "pos_x": 982, "pos_y": 1753 }, "db1394b3-7c9e-4084-8d4e-e7dc671eac42": { "id": "db1394b3-7c9e-4084-8d4e-e7dc671eac42", "name": "node_8129cd9c-9f26-48ea-9f89-89dc7fb4fccf", "data": { "type": "set_variable", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "authorization", "description": "Variável que será criada" } ], "name": "Produção - authorization", "variableValue": " " }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [] } }, "outputs": { "output_1": { "connections": [] } }, "pos_x": 814, "pos_y": 70 }, "3e32554e-9ef5-4f79-9b7e-d5c8c84b5f4a": { "id": "3e32554e-9ef5-4f79-9b7e-d5c8c84b5f4a", "name": "node_a6f07b10-d6e9-43e6-bf3a-5a935a4bce6c", "data": { "type": "set_variable", "inputs": 1, "outputs": [ { "title": "Default" } ], "variables": [ { "name": "authorization", "description": "Variável que será criada" } ], "variableValue": " ", "name": "Sandbox - authorization" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "af90f264-ed9d-4fbf-83af-ef86c1c9834d", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "a1251a12-da70-4297-9462-ffdf45005517", "output": "input_1" } ] } }, "pos_x": 1212, "pos_y": 68 }, "e7d45bef-f7bc-4902-9f32-de8bb221551c": { "id": "e7d45bef-f7bc-4902-9f32-de8bb221551c", "name": "node_a141c450-8caa-4843-a0db-ae3c5d1de98d", "data": { "type": "message", "inputs": 1, "outputs": [ { "title": "Default" } ], "message": "Só um instante, por favor! ⏳ Estou verificando isso para você.", "name": "Só um instante, por favor! ⏳ Estou verificando isso para você." }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "1b8f63f8-6697-4eff-86ba-64cf267b6e8c", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [ { "node": "9e1bc67c-1ea0-4413-a459-ef88ef0635e6", "output": "input_1" } ] } }, "pos_x": 985, "pos_y": 1365 }, "b0075514-1763-45eb-8bd3-8b41fa4466ed": { "id": "b0075514-1763-45eb-8bd3-8b41fa4466ed", "name": "node_d67a6c26-5de3-4d7a-82fe-aaef0b3016a8", "data": { "type": "message", "inputs": 1, "outputs": [ { "title": "Default" } ], "message": "Ocorreu um erro:\n\n{{ apiAtualizaStatus | dump | safe }}", "name": "Erro: apiAtualizaStatus" }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "9e1bc67c-1ea0-4413-a459-ef88ef0635e6", "input": "output_2" } ] } }, "outputs": { "output_1": { "connections": [] } }, "pos_x": 1309, "pos_y": 2021 }, "45c0ac18-71c4-4e77-84fe-a2f4f59aff2e": { "id": "45c0ac18-71c4-4e77-84fe-a2f4f59aff2e", "name": "node_439319ac-3c2c-44f8-9364-f9ccde968aab", "data": { "type": "message", "inputs": 1, "outputs": [ { "title": "Default" } ], "message": "Foi um prazer ajudar você! 😊 Até a próxima!", "name": "Foi um prazer ajudar você! 😊 " }, "class": "", "html": "node_default", "typenode": "vue", "inputs": { "input_1": { "connections": [ { "node": "5d51a0f0-0b6b-4e64-885b-4d15dde8c603", "input": "output_1" } ] } }, "outputs": { "output_1": { "connections": [] } }, "pos_x": 964, "pos_y": 2483 } }

Mobile Saúde - Mosia Omnichannel