Telecare - Integração com Componente de Vídeo Chamada

1. Objetivo

Este documento tem como objetivo detalhar e especificar todo o necessário para possibilitar a integração do Telecare (Telemedicina do Mosia), e seu funcionamento por meio de uma “Janela flutuante“. Esta janela, que neste documento nos referimos como “Vídeo Flutuante”, poderá ser utilizada (Embed) em qualquer Página Web. Abordaremos cadastros necessários, exemplos de scripts para embed e fluxos de funcionamento.

2. Agendamento Online

Neste tópico vamos descrever os ajustes necessários na integração do Agendamento Online para alguns métodos. Segue também o link do documento oficial de Agendamento Online: https://mobilesaudejira.atlassian.net/l/cp/Zui1fr1u.

Ao realizar um agendamento, o paciente deverá informar o tipo de consulta, Presencial ou Teleconsulta.

Nos próximos subitens deste tópico, iremos destacar apenas “alterações“ na API.

2.1 Método: paciente_disponivel

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15", "tipo_agendamento": 2 // NOVO CAMPO }

Retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

Exemplo do retorno completo com os ajustes necessários

{ "status": true, "motivo_critica": null, "beneficiarios_autorizados": [ { "identificador_beneficiario": "0010467001428000" }, { "identificador_beneficiario": "0010467001428013" } ], "tipo_agendamento": 2 // NOVO CAMPO }

2.2 Método: especialidade_disponivel

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15", "tipo_agendamento": 2 // NOVO CAMPO }

Retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

Exemplo do retorno completo com os ajustes necessários

2.3 Método: servico_disponivel

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Retorno do nó "servico"

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.4 Método: profissional_disponivel

Retorno: Definição da estrutura do nó "profissional"

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

C

local_id

String

Código do local de atendimento.

5

C

local_descricao

String

Nome do local de atendimento.

6

C

local_endereco

String

Endereço do local de atendimento.

10

C

local_estado

String

Siga da UF que corresponde ao estado do local de atendimento.

Atenção

Código do cadastro do IBGE

12

C

local_cidade

String

Texto descritivo do nome da cidade do local de atendimento.

17

M

registro_numero

Integer

Número de registro do médico.

Exemplo: 30455

18

M

registro_estado

String

Estado do registro.

Exemplo: “ES“

19

M

registro_sigla

String

Exemplo: “CRM”

 

Retorno API Sucesso

2.5 Método: agenda_do_profissional

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Estrutura de retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.6 Método: grade_horarios_agenda

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Retorno do nó “horarios“

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.7 Método: valida_autorizacao_previa

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Estrutura de retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.8 Método: grava_agendamento

 

Novos parâmetros de entrada e parâmetros que tiveram alterações

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

C

data_hora

Data

Se o sistema não possui um "agenda_id" para realizar o agendamento, será necessário enviar este parâmetro, contendo a data e hora selecionada pelo paciente.

Atenção

Este parâmetro torna-se obrigatório caso não possua um "agenda_id".

Atenção

Formato: yyyy-mm-dd HH:mm:ss 

Ex: 2020-08-05T11:40:00

6

C

local_id

String

Neste caso será necessário informar o código do local.

Atenção

Este parâmetro torna-se obrigatório caso não possua um "agenda_id".

7

C

especialidade_id

String

Neste caso será necessário informar o código da especialidade.

Atenção

Este parâmetro torna-se obrigatório caso não possua um "agenda_id".

8

C

profissional_id

String

Neste caso será necessário informar o código do profissional.

Atenção

Este parâmetro torna-se obrigatório caso não possua um "agenda_id".

10

OP

email_paciente

String

Durante o processo de agendamento, pedimos para o beneficiário confirmar o seu email. Neste momento enviaremos o numero informado por ele para que seja tratado/atualizado na base de dados da Operadora.

12

C

meeting_id

String

13

M

convenio_ans

String

Código da operadora na ANS

14

M

convenio_nome

String

Nome da operadora

Body Request

Estrutura de retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

C

agenda_id

String

Retorna o código da agenda caso ela tenha sido gerada no ato da gravação. Este retorno será usado por outros métodos, quando for necessário referenciar este agendamento.

Retorno API Sucesso

2.9 Método: cancela_agendamento

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

M

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Estrutura de retorno

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.10 Método: agendas_paciente

Novos parâmetros de entrada

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

4

OP

tipo_agendamento

Integer

O campo tipo_agendamento define se é uma consulta “Presencial“ ou “Teleconsulta“.

Sendo:

  • Valor 1 para Consulta Presencial

  • Valor 2 para Teleconsulta

Body request

Estrutura de retorno do nó “agendamentos“

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

11

C

local_id

String

Código do local de atendimento.

12

C

local_descricao

String

Nome do local de atendimento.

5

M

tipo_agendamento

Integer

Código que define o tipo de agendamento, Presencial ou Teleconsulta.

Retorno API Sucesso

2.11 Método: agenda_detalhes

Estrutura de retorno

Definição da estrutura "detalhes"

seq

critério

campo

tipo

descrição

seq

critério

campo

tipo

descrição

6

C

atendimento_data_hora

Data

Se a agenda foi realizada, informar a hora e hora do atendimento do atendimento.

Atenção

Formato: yyyy-mm-dd HH:mm:ss 

Ex: 2020-08-05T11:40:00

11

C

beneficiario_email

String

Email do beneficiário

12

C

beneficiario_telefone

String

Telefone do beneficiário.

15

C

local_id

String

Código do Local de atendimento.

17

M

local_descricao

String

Nome do Local de atendimento.

18

M

local_endereco

String

Endereço do local de atendimento.

22

M

local_estado

String

Sigla da UF correspondente ao estado do local
de atendimento

24

M

local_cidade

String

Texto descritivo do nome da cidade do local de atendimento

25

M

local_cep

String

Cep do local de atendimento

Retorno API Sucesso

3. Lembretes de agenda e notificações para o paciente

As Teleconsultas são integradas com uma Central de Notificações, que permite disparos de lembretes automatizados por meio de Push, Email e Whatsapp (depende da contratação do cliente). O link “único“ da consulta estará disponível nestes envios.

Observação: O Script de Embed não precisa do link da consulta.

4. Exemplo de lista de agendas do médico

Segue na imagem abaixo um exemplo de lista de agendamentos que destacamos 3 itens importantes, que são:

  1. Nome da Operadora sendo exibido;

  2. Tipo de agendamento sendo exibido;

  3. Exibindo o botão “Atender“ apenas para consultas do tipo “Teleconsulta“, e que tenha o meeting_id registrado (Item fundamental para a execução do recurso).

5. Script de integração

Segue é um exemplo do Script de Integração que estará disponível no painel administrativo do Mosia, https://admin.mosia.chat/.

6. Métodos disponíveis

Métodos (JavaScript)

Parâmetros

Responsabilidade

Métodos (JavaScript)

Parâmetros

Responsabilidade

mosiaFloatingVideoInit

{ meetingId: "1013" }

Método responsável por instanciar um novo modal de vídeo.

7. Como executar os métodos disponíveis?

7.1 Exemplo de excução do método para iniciar uma nova chamada

ou

7.2 Exemplo de execução por meio da Tag HTML “button“, no evento “onclick“

8. Utilizando o recurso já embedado

8.1 Lista de agendas no ambiente externo

Neste cenário, a imagem abaixo representa uma página web qualquer com agendamentos que já tem o script embedado e adicionamos no evento do clique do botão a chamada do método mosiaFloatingVideoInit.

8.2 Ação do botão “Atender“

Médico:

Na visão do médico temos dois possíveis cenários após o clique no botão Atender.

1- Cenário em que o paciente não está na Sala de Espera:

2- Cenário em que o paciente está na Sala de Espera:

Paciente:

Na visão do paciente, já temos as execuções sendo realizadas no App da sua respectiva operadora indicada em cada agenda.

1- Cenário em que o paciente não está na Sala de Espera:

2- Cenário em que o paciente está na Sala de Espera:

 

Mobile Saúde - 2019