Agendamento On-line
- Ranniêr Reis
- Jean Schulz
Tópicos:
Observação:
O desenvolvimento destes webservices devem ser no padrão REST.
Layout de integração
Objetivo
Este documento tem o objetivo de apresentar os webservices necessários para integrar o Módulo de Agendamento Online da Mobile Saúde com o software de gestão da Operadora.
Necessidade
Disponibilizar para os beneficiários acesso a uma rotina de autoatendimento para marcação de consultas e procedimentos via aplicativo (Android e iOS) ou web.
O beneficiário poderá realizar a qualquer momento nas plataformas citadas anteriormente:
- Pesquisar;
- Agendar;
- Consultar;
- Cancelar;
Solução Proposta
A Mobile Saúde fornecerá por meio deste documento os layouts necessários para construção de webservices de integração com o sistema de gestão da operadora a fim de viabilizar os benefícios que oferecem aos seus beneficiários por meio do Agendamento Online da Mobile Saúde.
Os webservices expostos nesta documentação visam atender um fluxo de autoatendimento já consolidado do ponto de vista da sua usabilidade junto ao usuário final, o seu beneficiário. É essencial reproduzi-los com fidelidade.
Atenção:
A criação dos webservices fora do padrão descritos neste documento, ocasionarão total mudança de projeto, tempo de entrega e valores.
Obrigatoriedade
Além dos webservices descritos nesta documentação, a integração desta funcionalidade depende primáriamente da implementação de webservices de login, descritos no link desta documentação (clique aqui).
Listagem de métodos
- Busca de agendas
- especialidade_disponivel
- servico_disponivel
- local_atendimento_disponivel
- profissional_disponivel
- agenda_do_profissional
- grade_horarios_agenda
- Agendamento
- valida_autorizacao_previa
- grava_agendamento
- confirma_presenca
- cancela_agendamento
- Consulta agendas gravadas
- status_agenda_paciente
- agenda_paciente
- agenda_detalhes
Critérios de preenchimento
Abreviação | Nome | Descrição |
---|---|---|
M | Mandatório | O preenchimento do atributo é obrigatório. Caso o atributo esteja nulo ou em branco, seu arquivo será rejeitado. |
C | Condicional | O atributo pode tornar-se obrigatório quando um ou mais atributos auxiliares for preenchido / atualizado. Quando não obrigatório o conteúdo pode ser informado em branco. |
OP | Opcional | Seu preenchimento não é obrigatório. Podendo o conteúdo estar em branco. |
Objetos e atributos de retorno
Atenção:
Os atributos devem seguir exatamente os mesmos nomes indicados nesta documentação, caso contrário, serão rejeitados pelo validador de integração.
Exemplo do atributo "chave_beneficiario":
chaveBeneficiarioch_beneficiariochave-beneficiario- chave_beneficiário
Método de requisição:
Por padrão, todas as requisições dessa integração utilizam o método POST.
Endpoint | Método | Header Content-Type |
---|---|---|
exemplo.com/nomeDoMetodoRequisitado Atenção O endpoint obrigatoriamente deve terminar com o nome padronizado pelo método. | POST | application/json |
Método: paciente_disponivel
Descrição do método
Este método é chamado quando o beneficiário toca no campo "Paciente", caso implementado o método, todos os beneficiários da família serão exibidos.
Observação:
- Este método é OPCIONAL ou seja não é obrigatório sua implementação para funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração.
Regras de negócio
Atenção:
- O método deverá receber como parâmetro a data inicial informada nos parâmetros, assim como a chave única do beneficiário;
- O método deverá considerar as regras de negócio da operadora e só retornar os identificadores únicos de beneficiários que possam ser listados para agendamento;
- O método só pode devolver códigos únicos do beneficiários que tenham sido retornados no método de login. Caso o identificador não seja encontrado no retorno da família do beneficiário logado, este não será exibido.
Parâmetros de entrada
seq | critério | campos | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiário | String | Chave única do beneficiário no seu sistema de gestão Atenção NÃO DUPLICAR OS CÓDIGOS. |
2 | M | data_referencia | Data | Data que será levada em consideração para listar os beneficiários com direito ao agendamento Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15" }
Estrutura de retorno
seq | critério | campos | tipo | descrição |
---|---|---|---|---|
1 | M | status | Booleano | true == indica que a requisição foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | C | beneficiarios_autorizados | array de objetos "beneficiários_ | Retorna um array de estruturas "beneficiarios_autorizados" (definição de estrutura abaixo), contendo os identificadores únicos dos beneficiários autorizados a terem agendas marcadas pelo agendamento online. Atenção Quando o campo "status" for igual a "true" este campo torna-se obrigatório. |
Definição da estrutura "beneficiarios_autorizados"
seq | critério | campos | tipo | descrição |
---|---|---|---|---|
1 | M | identificador_beneficiario | String | Código único que identifica o beneficiário. Atenção Este código deve estar relacionado como campo "matricula" - objeto beneficiario - método login - ws_login_service. Clique aqui para ir para a documentação de login |
{ "status": true, "motivo_critica": null, "beneficiarios_autorizados": [ { "identificador_beneficiario": "0010467001428000" }, { "identificador_beneficiario": "0010467001428013" } ] }
Método: especialidade_disponivel
Descrição do método
Este método deverá considerar o paciente e a data de referência informadas pelo beneficiário e o método deve retornar as especialidades disponíveis para agendamento.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração.
Regras de negócio
Atenção:
- O método deverá receber como parâmetro a data inicial, assim como a chave de identificação (matricula) do beneficiário;
- O método deverá considerar as regras de negócio da operadora e só retornar as especialidades que atendam estas regras, tais como:
- Plano do paciente selecionado tem cobertura para a especialidade;
- O sexo do paciente selecionado for compatível com a especialidade;
- A idade do paciente selecionado for compatível com a idade;
- Demais regras internas que a Operadora pode implementar/validar já na apresentação da especialidade;
- O método deve retornar apenas as especialidades que possuem pelo menos uma agenda livre marcação, a partir da data inicial;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no seu sistema de gestão |
2 | M | data_referencia | Data | O webservice deverá considerar especialidades com pelo menos uma agenda livre a partir desta data. Exemplo: Um beneficiário que viaja muito e só estará na sua cidade natal a partir do dia 05/08 deste ano. ao parametrizar uma busca, ele irá informar esta data, pois para ele são pertinentes agendas a partir desta data. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
{ "chave_beneficiario":"0010467001428000", "data_referencia":"2021-10-15" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | C | especialidades | Array de objetos "especialidades" | Retorna um array de estruturas "especialidades" (definição de estrutura abaixo), contendo os identificadores únicos dos beneficiários autorizados a terem agendas marcadas pelo agendamento online. Atenção Quando o campo "status" for igual a "true" este campo torna-se obrigatório. |
4 | OP | alerta | String | Caso queria enviar algum alerta para ser apresentado ao beneficiário quando ele acessar a funcionalidade de "especialidades", basta preencher esta propriedade. |
Definição da estrutura "especialidades"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | especialidade_id | String | Código da especialidade no sistema da Operadora. |
2 | M | especialidade_descricao | String | Descrição da especialidade no sistema da Operadora. |
3 | OP | cbos | String | Código CBOS da especialidade. |
4 | OP | alerta | String | Caso queria enviar algum alerta para ser apresentado ao beneficiário quando ele seleciona determinada especialidade, basta preencher esta propriedade. Exemplo: Ao selecionar a especialidade será exibida a mensagem: "Para agendamento com o nutricionista, é necessário apresentar encaminhamento do endocrinologista". |
5 | OP | exige_autorizacao | Boleano | Quando este campo for "true" o aplicativo irá abrir um popup para o usuário informar o numero da autorização prévia, logo após selecionar a especialidade. Ao confirmar o popup o sistema irá chamar o método "../valida_autorizacao_previa" para confirmar se o código informado é válido e só irá permitir continuar o processo se o retorno do método "../valida_autorizacao_previa" for igual a "true". |
{ "status": true, "motivo_critica": null, "especialidades": [ { "especialidade_id": "10", "especialidade_descricao": "MASTOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "408", "especialidade_descricao": "ENDOCRINOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "6", "especialidade_descricao": "NEUROCIRURGIA/CRANIO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "145", "especialidade_descricao": "DERMATOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "2", "especialidade_descricao": "GASTROENTEROLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "335", "especialidade_descricao": "CABECA E PESCOCO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "336", "especialidade_descricao": "CIRURGIA VASCULAR", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "7", "especialidade_descricao": "NEUROCIRURGIA/COLUNA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "128", "especialidade_descricao": "CARDIOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "409", "especialidade_descricao": "PSICOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "333", "especialidade_descricao": "REUMATOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "401", "especialidade_descricao": "VASCULAR", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "422", "especialidade_descricao": "ALERGOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "407", "especialidade_descricao": "NUTRICAO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "129", "especialidade_descricao": "CIRURGIA GERAL", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "178", "especialidade_descricao": "CIRURGIA OBESIDADE", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "30", "especialidade_descricao": "ORTOPEDIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "3", "especialidade_descricao": "CIRURGIA TORÁCICA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "148", "especialidade_descricao": "NEUROLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "339", "especialidade_descricao": "ORTOPEDIA MÃO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "247", "especialidade_descricao": "OTORRINOLARINGOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "1", "especialidade_descricao": "BUCO MAXILO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "424", "especialidade_descricao": "PSIQUIATRIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "20", "especialidade_descricao": "PROCTOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "19", "especialidade_descricao": "UROLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "29", "especialidade_descricao": "ONCOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "332", "especialidade_descricao": "PNEUMOLOGIA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "110", "especialidade_descricao": "CLÍNICA MÉDICA", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "403", "especialidade_descricao": "ORTOPEDIA JOELHO", "cbos": null, "alerta": null, "exige_autorizacao": false }, { "especialidade_id": "16", "especialidade_descricao": "PEDIATRIA", "cbos": null, "alerta": null, "exige_autorizacao": false } ], "alerta": null }
Método: servico_disponivel
Descrição do método
Este método deverá considerar o paciente, a data inicial e a especialidade selecionados pelo usuário do agendador e retornar a lista dos exames/serviços disponíveis.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- O "serviço" pode ser uma consulta, uma lista de exames ou demais serviços prestados pelo estabelecimento de saúde na especialidade selecionada.
Regras do negócio
Atenção:
- O método deverá receber como parâmetro a data inicial, assim como a chave de identificação (matricula) do beneficiário;
- O método deverá considerar as regras de negócio da operadora e só retornar as especialidades que atendam estas regras, tais como:
- Plano do paciente selecionado tem cobertura para a especialidade;
- O sexo do paciente selecionado for compatível com a especialidade;
- A idade do paciente selecionado for compatível com a idade;
- Demais regras internas que a Operadora pode implementar/validar já na apresentação da especialidade;
- O método deve retornar apenas as especialidades que possuem pelo menos uma agenda livre marcação, a partir da data inicial;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | chave única do beneficiário no sistema de gestão da Operadora. |
2 | M | data_referencia | Data | O webservice deverá considerar os locais de atendimento disponíveis a partir desta data. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
3 | M | especialidade_id | String | Código da especialidade retornado do atributo "especialidade_id" no método de "especialidade_disponível". |
{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15", "especialidade_id": "128" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | M | servicos | array de objetos "servico" | Retorna um array de estruturas "servico" (definição de estrutura abaixo), contendo os serviços disponíveis para agendamento a partir da data e especialidade informada pelo cliente. Atenção Quando o campo "status" for igual a "true" este campo torna-se obrigatório. |
4 | OP | alerta | String | Caso queria enviar algum alerta para ser apresentado ao beneficiário quando ele acessar a view de seleção de serviços, basta preencher esta propriedade. |
Definição da estrutura "servico"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | servico_id | String | Código do serviço. |
2 | M | procedimento | String | Código do procedimento. |
3 | M | servico_descricao | String | Descrição do procedimento |
4 | OP | exige_autorizacao | Boleano | Quando este campo for "true" o aplicativo irá abrir um popup para o usuário informar o numero da autorização prévia, logo após selecionar a especialidade. Ao confirmar o popup o sistema irá chamar o método "../valida_autorizacao_previa" para confirmar se o código informado é válido e só irá permitir continuar o processo se o retorno do método "../valida_autorizacao_previa" for igual a "true". Caso a autorização já tenha sido informada ao selecionar a especialidade, o popup de serviço será ignorado. |
{ "status": true, "motivo_critica": null, "servicos": [ { "servico_id": "1", "procedimento": "0", "servico_descricao": "CONSULTA", "exige_autorizacao": false } ], "alerta": null }
Método: local_atendimento_disponivel
Descrição do método
Este método deverá considerar o paciente, a data inicial, a especialidade e o exame/serviço selecionados pelo usuário que esta agendando e retornar a lista de locais de atendimentos disponíveis para o agendamento.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deverá receber como parâmetro a data inicial, a chave unica do beneficiário (matricula), a especialidade e o código do serviço selecionados nos parâmetros;
- O método deverá considerar as regras de negócio da operadora e só retornar os locais de atendimento que atendam estas regras, tais como:
- Plano do paciente selecionado precisa ter cobertura para o local de atendimento selecionado;
- O local de atendimento deve prestar atendimento para a especialidade/serviço selecionado;
- O local de atendimento deve ter agendas disponíveis;
- O método deverá retornar apenas locais de atendimento que possuem ao menos 1 (uma) agenda livre para marcação, a partir da data start;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no sistema de gestão da Operadora. |
2 | M | data_referencia | Data | O webservice deverá considerar no seu sistema da Operadora a partir desta data. Exemplo: Um beneficiário que viaja muito e só estará na sua cidade natal a partir do dia 05/08 deste ano. ao parametrizar uma busca, ele irá informar esta data, pois para ele são pertinentes agendas a partir desta data. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
3 | M | especialidade_id | String | Código da especialidade. |
4 | M | servico_id | String | Código do serviço |
{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15", "especialidade_id": "128", "servico_id": "1" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | M | locais | Array de Objetos local_atendimento | Retorna um array de estruturas "local_atendimento" (estrutura abaixo), contendo os locais disponíveis para agendamento a partir da data de referência, especialidade e serviço informado pelo beneficiário. |
Definição da estrutura "local_atendimento"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | local_id | String | Código do local de atendimento do sistema da Operadora. |
2 | M | local_descricao | String | Descrição do local de atendimento. |
3 | M | local_endereco | String | Endereço do local de atendimento. |
4 | OP | local_numero | String | Número do endereço do local de atendimento. |
5 | OP | local_complemento | String | Complemento do endereço do local de atendimento. |
6 | OP | local_bairro | String | Bairro do endereço do local de atendimento. |
7 | M | local_cidade | String | Texto descritivo do nome da cidade do local de atendimento. |
8 | M | local_cidade_id | String | Código da cidade. Atenção Código do cadastro do IBGE |
9 | M | local_estado | String | Siga da UF que corresponde ao estado do local de atendimento. Atenção Código do cadastro do IBGE |
10 | OP | local_cep | String | CEP do local de atendimento. Atenção Informar o código com a mascará: |
11 | OP | local_telefone | String | Telefone do local de atendimento. Atenção Informar o telefone com a mascará: |
12 | OP | local_prioridade | String | Indica se este local de atendimento deverá aparecer em destaque, em uma área separada dos demais locais. Atenção S == Sim, prioriza o local; |
13 | C | local_prioridade_ordem | Inteiro | Indica em qual posição o local deve aparecer dentro da sessão de destaques / prioridades. Atenção
|
14 | OP | alerta | String | Caso queria enviar algum alerta para ser apresentado ao beneficiário quando ele selecionar o local de atendimento, basta preencher este atributo. |
{ "status": true, "motivo_critica": null, "locais": [ { "local_id": "13", "local_descricao": "CLIN VIDA NOVA SAUDE ZONA SUL", "local_endereco": "RUA PROMOTOR GABRIEL NETTUZZI PEREZ", "local_numero": "422", "local_complemento": null, "local_bairro": "SANTO AMARO", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04743-020", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CLÍNICA MÉDICA POPULAR Z/S", "local_endereco": "AVENIDA ATLANTICA - DE 2003 A 3001 - LADO IMPAR", "local_numero": "2719", "local_complemento": null, "local_bairro": "JARDIM TRES MARIAS", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04772-003", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "MED CLÍNICA SERVIÇOS MÉDICOS GUARULHOS", "local_endereco": "R. DOUTOR ANGELO VITA", "local_numero": "43", "local_complemento": null, "local_bairro": "JARDIM SAO PAULO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07110-120", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "PULSAR SAÚDE - SANTO AMARO", "local_endereco": "RUA CARLOS GOMES", "local_numero": "991", "local_complemento": null, "local_bairro": "SANTO AMARO", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04743-050", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CENTRO MÉDICO SÃO JOSÉ - ZONA SUL", "local_endereco": "AVENIDA DO JANGADEIRO - LADO IMPAR", "local_numero": "677", "local_complemento": null, "local_bairro": "INTERLAGOS", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04815-020", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_endereco": "AVENIDA MARIANA UBALDINA DO ESPIRITO SANTO", "local_numero": "623", "local_complemento": null, "local_bairro": "MACEDO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07197-000", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CLÍNICA MÉDICA MAUACLINIC MAUÁ", "local_endereco": "AVENIDA DOM JOSE GASPAR", "local_numero": "241", "local_complemento": null, "local_bairro": "MATRIZ", "local_cidade": "MAUÁ", "local_cidade_id": "3529401", "local_estado": "SP", "local_cep": "09370-670", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "1", "local_descricao": "AMB SANTO AMARO", "local_endereco": "R. PROF MARIA DE LOURDES S. NOGUEIRA 81 - ZONA SUL", "local_numero": null, "local_complemento": null, "local_bairro": null, "local_cidade": null, "local_cidade_id": null, "local_estado": null, "local_cep": null, "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - MATRIZ", "local_endereco": "RUA LAGOA DE DENTRO", "local_numero": "69", "local_complemento": null, "local_bairro": "JARDIM SAO JOAO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07151-051", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "9", "local_descricao": "CARE", "local_endereco": "R. Henrique Sam Midlin,196 Capão Redondo São Paulo", "local_numero": null, "local_complemento": null, "local_bairro": null, "local_cidade": null, "local_cidade_id": null, "local_estado": null, "local_cep": null, "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null }, { "local_id": "13", "local_descricao": "CLIN MEDICA VILA ALPINA ZONA LESTE", "local_endereco": "RUA COSTA BARROS - ATE 1103/1104", "local_numero": "505", "local_complemento": null, "local_bairro": "VILA ALPINA", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "03210-000", "local_telefone": " ", "local_prioridade": null, "local_prioridade_ordem": 0, "alerta": null } ] }
Método: profissional_disponivel
Atenção:
A renderização/exibição em tela (app ou web) dos profissionais, agendas disponíveis e grades de horários disponíveis é IMPRESCINDÍVEL que os métodos: "profissional_disponivel", "agenda_do_profissional", "grade_horarios_agenda", retornem ao menos 1 (um) profissional, 1 (um) dia e 1 (um) horário disponível, caso nenhum destes métodos retorne valores válidos o profissional não será renderizado em tela.
Descrição do método
Este webservice é consumido para retornar os profissionais disponíveis para agendamento, o mesmo precisa estar preparado para responder a pesquisa pelo nome do profissional caso o nome seja informado nos parâmetros de busca.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deverá receber como parâmetro a data inicial, a chave unica do beneficiário (matricula), a especialidade, o serviço e opcionalmente, o local e o nome do prestador selecionados nos parâmetros;
- O método deverá considerar as regras de negócio da operadora e só retornar profissionais que atendam estas regras, tais como:
- Retornar apenas profissionais que tenham pelo menos 1 (um) horário livre para agendamento;
- Ordenar a lista de médicos com base na data da primeira agenda disponível, priorizando assim o profissional que tem a agenda mais próxima;
- Caso seja informado o nome do profissional, o método deverá desconsiderar o parâmetro de local de atendimento, aplicar o filtro tipo "like %nome%" e retornar apenas registros correspondentes;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no sistema da Operadora. |
2 | M | data_referencia | Data | O webservice deverá considerar médicos com agendas disponíveis a partir desta data. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
3 | M | especialidade_id | String | Código da especialidade. |
4 | OP | servico_id | String | Código do serviço. |
5 | OP | local_id | String | Código do local de atendimento. |
6 | OP | nome | String | Nome do profissional. Atenção Quando informado, desconsiderar o local de atendimento e aplicar filtro tipo "like %nome%" e retornar apenas profissionais que correspondem ao termo informado. |
{ "chave_beneficiario": "0010467001428000", "data_referencia": "2021-10-15", "especialidade_id": "128", "servico_id": "1", "local_id": "13", "nome": "" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | M | profissionais | array de ojetos "profissional" | Retorna um array de estrutura "profisional" (ver estrutura abaixo), contendo os profissionais disponíveis para agendamento, conforme parâmetros de busca. |
4 | OP | alerta | String | Caso queria enviar algum alerta para ser apresentado ao beneficiário quando ele acessar a view de seleção do profissional disponivel, basta preencher esta propriedade. |
Definição da estrutura "profissional"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | profissional_id | String | Código do profissional do sistema da operadora. |
2 | M | profissional_nome | String | Nome do profissional. |
3 | OP | local_telefone | String | Telefone de contato do local de atendimento do profissional. |
4 | M | local_id | String | Código do local de atendimento. |
5 | M | local_descricao | String | Nome do local de atendimento. |
6 | M | local_endereco | String | Endereço do local de atendimento. |
7 | OP | local_numero | String | Número do endereço do local de atendimento. |
8 | OP | local_complemento | String | Complemento do endereço do local de atendimento. |
9 | OP | local_bairro | String | Bairro do local de atendimento. |
10 | M | local_estado | String | Siga da UF que corresponde ao estado do local de atendimento. Atenção Código do cadastro do IBGE |
11 | OP | local_cidade_id | String | Código da cidade. Atenção Código do cadastro do IBGE |
12 | M | local_cidade | String | Texto descritivo do nome da cidade do local de atendimento. |
13 | OP | local_cep | String | Cep do local - informado com a mascara de CEP. Atenção Ex: 20760-641 |
14 | M | primeira_agenda | Date Time | Data e hora da primeira agenda disponível para o profissional. Atenção Formato: yyyy-mm-dd HH:mm:ss Ex: 2020-08-05T11:40:00 |
15 | OP | quantidade_agendas_disponiveis | Inteiro | Na lista de médicos é possível apresentar a quantidade de agendas disponíveis, basta enviar a quantidade neste campo. Atenção O sistema apresentará a primeira agenda em destaque e informará um termo de "+ XX agendas disponíveis". |
16 | OP | alerta | String | Caso queria apresentar uma mensagem para o usuário quando o mesmo seleciona o profissional, envie o texto neste campo. |
{ "status": true, "motivo_critica": null, "alerta": null, "profissionais": [ { "profissional_id": "834928", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_endereco": "AVENIDA MARIANA UBALDINA DO ESPIRITO SANTO", "local_numero": "623", "local_complemento": null, "local_bairro": "MACEDO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07197-000", "local_telefone": " ", "primeira_agenda": "2021-12-13 15:46:00", "quantidade_agendas_disponiveis": 11, "alerta": null }, { "profissional_id": "834603", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - MATRIZ", "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - MATRIZ", "local_endereco": "RUA LAGOA DE DENTRO", "local_numero": "69", "local_complemento": null, "local_bairro": "JARDIM SAO JOAO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07151-051", "local_telefone": " ", "primeira_agenda": "2021-12-08 09:30:00", "quantidade_agendas_disponiveis": 27, "alerta": null }, { "profissional_id": "859176", "profissional_nome": "CENTRO MÉDICO SÃO JOSÉ - ZONA SUL", "local_id": "13", "local_descricao": "CENTRO MÉDICO SÃO JOSÉ - ZONA SUL", "local_endereco": "AVENIDA DO JANGADEIRO - LADO IMPAR", "local_numero": "677", "local_complemento": null, "local_bairro": "INTERLAGOS", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04815-020", "local_telefone": " ", "primeira_agenda": "2021-11-26 09:25:00", "quantidade_agendas_disponiveis": 94, "alerta": null }, { "profissional_id": "832520", "profissional_nome": "CLIN VIDA NOVA SAUDE ZONA SUL", "local_id": "13", "local_descricao": "CLIN VIDA NOVA SAUDE ZONA SUL", "local_endereco": "RUA PROMOTOR GABRIEL NETTUZZI PEREZ", "local_numero": "422", "local_complemento": null, "local_bairro": "SANTO AMARO", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04743-020", "local_telefone": " ", "primeira_agenda": "2021-12-17 10:20:00", "quantidade_agendas_disponiveis": 28, "alerta": null }, { "profissional_id": "836784", "profissional_nome": "PULSAR SAÚDE - SANTO AMARO", "local_id": "13", "local_descricao": "PULSAR SAÚDE - SANTO AMARO", "local_endereco": "RUA CARLOS GOMES", "local_numero": "991", "local_complemento": null, "local_bairro": "SANTO AMARO", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04743-050", "local_telefone": " ", "primeira_agenda": "2021-12-03 11:40:00", "quantidade_agendas_disponiveis": 88, "alerta": null }, { "profissional_id": "833187", "profissional_nome": "CLÍNICA MÉDICA MAUACLINIC MAUÁ", "local_id": "13", "local_descricao": "CLÍNICA MÉDICA MAUACLINIC MAUÁ", "local_endereco": "AVENIDA DOM JOSE GASPAR", "local_numero": "241", "local_complemento": null, "local_bairro": "MATRIZ", "local_cidade": "MAUÁ", "local_cidade_id": "3529401", "local_estado": "SP", "local_cep": "09370-670", "local_telefone": " ", "primeira_agenda": "2021-12-09 08:40:00", "quantidade_agendas_disponiveis": 3, "alerta": null }, { "profissional_id": "849924", "profissional_nome": "CLÍNICA MÉDICA POPULAR Z/S", "local_id": "13", "local_descricao": "CLÍNICA MÉDICA POPULAR Z/S", "local_endereco": "AVENIDA ATLANTICA - DE 2003 A 3001 - LADO IMPAR", "local_numero": "2719", "local_complemento": null, "local_bairro": "JARDIM TRES MARIAS", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "04772-003", "local_telefone": " ", "primeira_agenda": "2021-12-07 14:34:00", "quantidade_agendas_disponiveis": 128, "alerta": null }, { "profissional_id": "854981", "profissional_nome": "MED CLÍNICA SERVIÇOS MÉDICOS GUARULHOS", "local_id": "13", "local_descricao": "MED CLÍNICA SERVIÇOS MÉDICOS GUARULHOS", "local_endereco": "R. DOUTOR ANGELO VITA", "local_numero": "43", "local_complemento": null, "local_bairro": "JARDIM SAO PAULO", "local_cidade": "GUARULHOS", "local_cidade_id": "3518800", "local_estado": "SP", "local_cep": "07110-120", "local_telefone": " ", "primeira_agenda": "2021-12-10 14:30:00", "quantidade_agendas_disponiveis": 1, "alerta": null }, { "profissional_id": "835643", "profissional_nome": "CLIN MEDICA VILA ALPINA ZONA LESTE", "local_id": "13", "local_descricao": "CLIN MEDICA VILA ALPINA ZONA LESTE", "local_endereco": "RUA COSTA BARROS - ATE 1103/1104", "local_numero": "505", "local_complemento": null, "local_bairro": "VILA ALPINA", "local_cidade": "SÃO PAULO", "local_cidade_id": "3550308", "local_estado": "SP", "local_cep": "03210-000", "local_telefone": " ", "primeira_agenda": "2021-11-24 14:20:00", "quantidade_agendas_disponiveis": 552, "alerta": null } ] }
Método: agenda_do_profissional
Atenção:
A renderização/exibição em tela (app ou web) dos profissionais, agendas disponíveis e grades de horários disponíveis é IMPRESCINDÍVEL que os métodos: "profissional_disponivel", "agenda_do_profissional", "grade_horarios_agenda", retornem ao menos 1 (um) profissional, 1 (um) dia e 1 (um) horário disponível, caso nenhum destes métodos retorne valores válidos o profissional não será renderizado/exibido em tela.
Descrição do método
Este método é utilizado para retornar os dias da agenda do profissional ou equipamento com base nos parâmetros informados pelo usuário.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deverá processar a agenda do profissional e retornar apenas os dias que possuem pelo menos um horário livre (método: grade_horarios_agenda) com base nos parâmetros informados pelo usuário;
- Para maximizar a performance de transferência de dados em dispositivos com internet móvel, é interessante retornar no máximo 5 dias por vez, a partir da data de referência informada por parâmetro e deixar que o aplicativo se encarregue pela paginação das requisições;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no seu sistema de gestão. |
2 | M | profissional_id | String | Código do profissional do sistema da operadora. |
3 | M | data_referencia | Data | O webservice deverá retornar a agenda do médico/equipamento a partir desta data. |
4 | M | especialidade_id | String | Código da especialidade. |
5 | OP | servico_id | String | Código do serviço. |
6 | OP | local_id | String | Código do local de atendimento. |
{ "chave_beneficiario": "0010467001428000", "profissional_id": "834928", "data_referencia": "2021-10-15", "especialidade_id": "128", "servico_id": "1", "local_id": "13" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Quando o campo "status" for igual a "false" este campo torna-se obrigatório. |
3 | M | primeira_agenda | Data | Data e hora da primeira agenda disponível para o profissional. Atenção Formato: yyyy-mm-dd HH:mm:ss Ex: 2020-08-05T11:40:00 |
4 | M | disponibilidades | Array de Objetos disponibilidade | Retorna um array de estruturas "disponibilidade" (ver estrutura abaixo), contendo as datas em que o profissional ou equipamento possui pelo menos 1(um) horário disponível. |
5 | OP | alerta | String | Caso seja necessário apresentar uma mensagem para o beneficiário no momento em que a agenda do profissional for apresentada, informe o texto aqui. |
Definição de estrutura "disponibilidade"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | data | data | Data da agenda Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
{ "status": true, "motivo_critica": null, "primeira_agenda": "2021-12-13 15:46", "disponibilidades": [ { "data": "2021-12-13" } ], "alerta": null }
Método: grade_horarios_agenda
Atenção:
A renderização/exibição em tela (app ou web) dos profissionais, agendas disponíveis e grades de horários disponíveis é IMPRESCINDÍVEL que os métodos: "profissional_disponivel", "agenda_do_profissional", "grade_horarios_agenda", retornem ao menos 1 (um) profissional, 1 (um) dia e 1 (um) horário disponível, caso nenhum destes métodos retorne valores válidos o profissional não será renderizado/exibido em tela.
Descrição do método
Este método é utilizado para retornar os horários da agenda do profissional ou equipamento com base em uma data informada por parâmetro.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regra de negócio
Atenção:
- O método deverá receber por parâmetro a chave única do beneficiário, a especialidade, o serviço, o local, o código do profissional e uma data;
- O método deverá retornar a grade de horários livres do profissional da referida data;
- O método deverá retornar os horários já marcados para os beneficiários do mesmo grupo familiar, isto evitará marcações indevidas e no-show.
- Para que o aplicativo mostre os horários marcados para os beneficiários do mesmo grupo familiar, basta enviar a matricula nesta propriedade;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no sistema de gestão da Operadora |
2 | M | especialidade_id | String | Código da especialidade. |
3 | M | servico_id | String | Código do serviço. |
4 | M | local_id | String | Código do local de atendimento do profissional que foi selecionado pelo usuário. |
5 | M | profissional_id | String | Código do profissional. |
6 | OP | data | Data | Data da agenda solicitada. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
{ "chave_beneficiario": "0010467001428000", "especialidade_id": "128", "servico_id": "1", "local_id": "13", "profissional_id": "834928", "data": "2021-12-13" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo se torna obrigatório quando "status" for igual a false. |
3 | M | horarios | Array de Objetos horario | Retorna um array de estruturas "horario" (ver estrutura abaixo), contendo datas em que o profissional possui pelo menos 1(um) horário disponível. |
4 | OP | alerta | String | Caso seja necessário apresentar uma mensagem para o beneficiário no momento em que a agenda do profissional for apresentada, informe o texto aqui. |
Definição de estrutura "horario"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | data | Data | Data da agenda. Atenção Formato: yyyy-mm-dd Ex: 2020-08-05 |
2 | M | hora | String | Hora inicial da agenda. Atenção Formato: HH:mm:ss Ex: 16:40:00 |
3 | OP | agenda_id | Inteiro | Caso o sistema da Operadora tenha um registro no banco de dados para cada horário da matriz de disponibilidade, o código do registro corresponde a este horário deverá ser enviado nesta propriedade. |
4 | C | chave_beneficiario | String | Para evitar marcações indevidas ou no-show é interessante apresentar na agenda os horarios já marcados para beneficiários do mesmo grupo familiar. Para que o aplicativo mostre os horários já marcados para o beneficiário do mesmo grupo familiar, basta enviar a matricula dele nesta propriedade. |
5 | OP | nome_beneficiario | String | É interessante apresentar na agenda os horários já marcados para os beneficiários do mesmo grupo familiar. Isso facilita a identificação de horários já marcados, evita marcações indevidas e desperdício de agendas. Para que o aplicativo mostre os horários já marcados para os beneficiários do mesmo grupo familiar, basta enviar o nome dele nesta propriedade. |
{ "status": true, "motivo_critica": null, "horarios": [ { "data": "2021-12-13", "hora": "15:46:00", "agenda_id": 3277159, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "15:49:00", "agenda_id": 3277160, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "15:53:00", "agenda_id": 3277161, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "15:56:00", "agenda_id": 3277162, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:03:00", "agenda_id": 3277163, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:06:00", "agenda_id": 3277164, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:09:00", "agenda_id": 3277165, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:13:00", "agenda_id": 3277166, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:16:00", "agenda_id": 3277167, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:19:00", "agenda_id": 3277168, "chave_beneficiario": null, "nome_beneficiario": null }, { "data": "2021-12-13", "hora": "16:23:00", "agenda_id": 3277169, "chave_beneficiario": null, "nome_beneficiario": null } ], "alerta": null }
Método: valida_autorizacao_previa
Descrição do método
Este método é utilizado para confirmar a validade do código da autorização prévia, digitada pelo usuário quando o atendimento exigir autorização prévia.
Observação:
- Este método é Opcional;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deverá receber por parâmetro a chave única do beneficiário e o código da autorização prévia;
- O método deverá retornar se o código da autorização prévia é válido ou não;
- O método não deve marcar como utilizado, ele deve apenas retornar se é valido ou não;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | chave única do beneficiário no sistema de gestão da Operadora |
2 | OP | numero_autorizacao | String | Número da autorização prévia, caso tenha sido informada pelo usuário após selecionar a especialidade |
{ "chave_beneficiario": "string", "numero_autorizacao": "string" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o status for igual a false. |
3 | OP | recomendacoes | Array de objetos recomendacao | Retorna um array de estruturas "recomendacao" (ver estrutura abaixo), contendo as recomendações sobre a autorização prévia. Caso de uso: |
Definição da estrutura "recomendacao"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | ordem | Inteiro | A ordem em que deverá ser apresentada na tela de recomendações ao final do agendamento. |
2 | M | recomendacao | String | Texto descritivo da recomendação ao Beneficiário. |
{ "status": true, "motivo_critica": null, "recomendacoes": [ { "ordem": 123312, "recomendacao": "Horário de funcionamento de 8h as 17h", } ] }
Método: grava_agendamento
Descrição do método
Este método é utilizado para gravar a agenda selecionada pelo beneficiário.
Observação:
- Este método é Obrigatório ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- Este método deve analisar as regras de negócio do plano e contrato do beneficiário;
- O método deve verificar se a agenda ainda está disponível;
- Realizar controle de semáforo;
- Dar baixa na autorização prévia, caso tenha sido informada pelo usuário após selecionar a especialidade;
- Sinalizar a autorização como utilizada para que não possa ser utilizada novamente;
- Durante o processo de agendamento, pedimos para o beneficiário confirmar telefone e email. Este método pode atualizar estes dados no cadastro do beneficiário. Sugerimos que seja implementada essa lógica para facilitar a comunicação com o beneficiário em caso de mudança de agenda ou qualquer comunicação com o cliente.
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no sistema de gestão da Operadora. |
2 | OP | numero_autorizacao | String | Numero da autorização prévia, caso tenha sido informada pelo usuário após selecionar a especialidade. |
3 | C | agenda_id | String | Caso o sistema da operadora tenha um registro no banco de dados para cada horário da matriz de disponibilidade, o código do registro corresponde a este horário deverá ser enviado nesta propriedade. Atenção Se não for o caso, este campo deve ser enviado como vazio. |
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 |
5 | M | agenda_confirmada | Boleano | Se o seu processo de agendamento requer a confirmação da agenda pelo beneficiário, ligue este flag True == indica que a agenda está confirmada e não será necessário que o paciente confirme agenda Atenção Se o seu processo de agendamento não exigir a confirmação de agendas do beneficiário, informe sempre como TRUE. |
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". |
9 | OP | telefone_paciente | String | Durante o processo de agendamento, pedimos para o beneficiário confirmar o seu telefone. Neste momento enviaremos o numero informado por ele para que seja tratado/atualizado na base de dados da Operadora. |
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. |
11 | M | origem | Inteiro | Indica a origem do agendamento para permitir geração de estatísticas de atendimento. Atenção 0 == iOS |
{ "chave_beneficiario": "0010467001428000", "numero_autorizacao": "", "agenda_id": "3277159", "data_hora": "2021-12-13T15:46:00", "agenda_confirmada": true, "especialidade_id": "128", "local_id": "13", "profissional_id": "834928", "telefone_paciente": "", "email_paciente": "", "origem": 2 }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o status for igual a false. |
3 | OP | recomendacoes | Array de Objetos recomendacao | Retorna um array de estruturas "recomendacao" (ver estrutura abaixo), contendo as recomendações sobre a sua consulta ou procedimento. Caso de uso: "1 - Comparecer 30 minutos de antecedência." "2 - Trazer tênis e bermuda para o teste ergométrico." "3 - Comparecer acompanhado." |
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. |
Definição da estrutura "recomendacao"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | ordem | Inteiro | A ordem em que deverá ser apresentada na tela de recomendações ao final do agendamento. |
2 | M | recomendacao | String | Texto descritivo da recomendação ao beneficiário. |
{ "status": true, "motivo_critica": null, "agenda_id": "3277159", "recomendacoes": [] }
Método: confirma_presenca
Descrição do método
Este método é utilizado para gravar a confirmação de presença da agenda.
A confirmação da agenda pode ser feita pelo usuário por meio do aplicativo mobile.
Observação:
- Este método é Opcional ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deve receber o id da agenda;
- O método deve analisar a regra de negócio:
- Se ainda é possível confirmar a data e hora requisitada;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | agenda_id | String | Código da agenda a ser confirmada. |
{ "agenda_id": "3277159" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o campo status for igual a false. |
3 | OP | recomendacoes | Array de Objetos recomendacao | Retorna um array de estruturas "recomendacao" (ver estrutura abaixo), contendo as recomendações sobre a sua consulta ou procedimento. Caso de uso: 1 - "Em caso de falta, será cobrado 70% do valor da consulta" 2- "Em caso de falta, haverá um bloqueio de 30 dias para novos agendamentos" |
Definição da estrutura "recomendacao"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | ordem | Inteiro | A ordem em que deverá ser apresentada na tela de recomendações ao final do agendamento. |
2 | M | recomendacao | String | Texto descritivo da recomendação ao beneficiário. |
{ "status": true, "motivo_critica": null, "agenda_id": "3277159", "recomendacoes": [] }
Método: cancela_agendamento
Descrição de método
Este método é utilizado para cancelar uma agenda.
Observação:
- Este método é Obrigatório, ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Regras de negócio
Atenção:
- O método deverá receber o código da agenda;
- Analisa as regras de negócio, tais como:
- Esta dentro do período permitido para cancelamentos?
- Deverá gerar coparticipação para o beneficiário?
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | agenda_id | String | Código da agenda a ser confirmada. |
{ "agenda_id": "3277159" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o campo status for igual a false. |
3 | OP | alerta | String | Caso queria apresentar um alerta para o beneficiário após o cancelamento, envio o texto neste campo. |
{ "status": true, "motivo_critica": null, "alerta": null }
Método: status_agendas_paciente
Descrição do método
Este método deve retornar os status da agenda, utilizado pelo método "agendas_pacientes" descritos a seguir.
Observação:
- Este método é Obrigatório, ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Sugestões de status:
- Em aberto;
- Realizadas;
- Canceladas;
- Faltas;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | Não se aplica | - | - | Não se aplica. |
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o campo status for igual a false. |
3 | M | status_agenda | Array de Objetos status_agenda | Retorna um array de estruturas "status_agenda" (ver estrutura abaixo). |
Definição da estrutura "status_agenda"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status_id | String | Código identificador do status. |
2 | M | status_descricao | String | Descrição do status. |
{ "status": true, "motivo_critica": null, "status_agenda": [ { "status_id": "33", "status_descricao": "Agendado" }, { "status_id": "35", "status_descricao": "Atendido" }, { "status_id": "39", "status_descricao": "Cancelado" } ] }
Método: agendas_paciente
Descrição do método
Este serviço é utilizado para retornar os agendamentos do paciente de acordo com o período que sua empresa desejar.
Observação:
- Este método é Obrigatório, ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Para maior transparência com o beneficiário, enviar os registros de agendas "Em aberto", "Agendas executadas", "Agendas canceladas" (pelo paciente / instituição) e agendas faltosas.
Regras de negócio
Atenção:
- O método deverá receber por parâmetro a chave única do beneficiário e o status desejado;
- O método deve ser preparado para retornar agendas de todos os status ou de um status especificado por parâmetro;
- retorna o histórico de agendas dos últimos 12 meses;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | chave_beneficiario | String | Chave única do beneficiário no seu sistema de gestão |
2 | OP | status_id | String | Código identificador do status. Regras: Identificador de status será informado quando necessário demonstrar apenas um status específico. Se for deixado sem conteúdo, devem ser exibidos todos os status existentes. |
{ "chave_beneficiario": "0010467001428000", "status_id": "" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o campo status for igual a false. |
3 | M | agendamentos | Array de Objetos agendamento | Retorna um array de estruturas "agendamento" (ver estrutura abaixo), contendo todas as agendas em aberto mais o histórico do período configurado em seus serviços. Importante: A existência desta propriedade é obrigatória, mas ela poderá ser enviada vazia, quando nenhum agendamento for encontrado. |
Definição da estrutura "agendamento"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | agenda_id | String | Código do agendamento. |
2 | OP | data_hora | Data | Data e hora. Atenção Formato: yyyy-mm-dd HH:mm:ss Ex: 2020-08-05T11:40:00 |
3 | M | status_id | String | Código do status. Sugestão:
|
4 | M | agenda_confirmada | Boleano | Indica se a agenda está confirmada. Esta flag irá controlar o botão de confirmação na lista de agendas. true == Agenda confirmada. O app não apresenta o botão para o usuário confirmar a agenda. Se o seu processo de agendamento não exigir a confirmação de agendas pelo beneficiário, informe sempre TRUE neste campo. |
5 | M | especialidade_id | String | Código da especialidade. |
6 | M | especialidade_descricao | String | Descrição da especialidade. |
7 | M | chave_beneficiario | String | Código do beneficiário marcado no agendamento. |
8 | M | nome_beneficiario | String | Nome do beneficiário. |
9 | M | profissional_id | String | Código profissional. |
10 | M | profissional_nome | String | Nome do profissional. |
11 | M | local_id | String | Código do local de atendimento. |
12 | M | local_descricao | String | Nome do local de atendimento. |
{ "status": true, "motivo_critica": null, "agendamentos": [ { "agenda_id": "3277159", "data_hora": "2021-12-13 15:46:00", "status_id": "33", "agenda_confirmada": true, "especialidade_id": "128", "especialidade_descricao": "CARDIOLOGIA", "chave_beneficiario": "0010467001428000", "nome_beneficiario": "VALDEMAR DE ASSIS SANTOS", "profissional_id": "834928", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_id": "13", "local_descricao": "CLINICA PREFERENCIAL" }, { "agenda_id": "3277159", "data_hora": "2021-12-13 15:46:00", "status_id": "39", "agenda_confirmada": false, "especialidade_id": "128", "especialidade_descricao": "CARDIOLOGIA", "chave_beneficiario": "0010467001428000", "nome_beneficiario": "VALDEMAR DE ASSIS SANTOS", "profissional_id": "834928", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_id": "13", "local_descricao": "CLINICA PREFERENCIAL" } ], "alerta": null }
Método: agenda_detalhes
Descrição do método
Este serviço é utilizado para retornar os detalhes de um agendamento.
Observação:
- Este método é Obrigatório, ou seja sua implementação é de vital importância para o funcionamento do Agendamento Online da Mobile Saúde;
- Este método segue os "critérios de preenchimento" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
- Este método segue os "objetos de atributo de retorno" descritos nesta documentação, não segui-lo significará rejeição por parte do validador de integração;
Parâmetros de entrada
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | agenda_id | String | Código do agendamento a ser detalhada |
{ "agenda_id": "3277159" }
Estrutura de retorno
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | status | Boleano | true == indica que a requisição foi bem sucedida. false == indica que a requisição não foi bem sucedida. |
2 | C | motivo_critica | String | Quando o status for igual a false, envie nesta propriedade o motivo pelo qual não foi possível realizar a requisição. Atenção Este campo é obrigatório quando o campo status for igual a false. |
3 | M | detalhes | Array de Objetos detalhe | Retorna um objeto único contendo a estrutura “detalhes“ (ver estrutura abaixo). |
Definição da estrutura "detalhe"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | agenda_id | String | Código do agendamento. |
2 | M | data_hora | Data | Data e hora do agendamento. Atenção Formato: yyyy-mm-dd HH:mm:ss Ex: 2020-08-05T11:40:00 |
3 | M | status_id | String | Código do status. |
4 | OP | cancelamento_data_hora | Data | Se a agenda estiver cancelada, informar a data e a hora do cancelamento |
5 | OP | cancelamento_motivo | String | Se o agendamento estiver cancelado, informar o motivo do cancelamento, se existir. |
6 | OP | 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 |
7 | OP | atendimento_nota | Inteiro | Nota de avaliação dada pelo paciente ao atendimento. |
8 | M | especialidade_id | String | Código da especialidade. |
9 | M | especialidade_descricao | String | Descrição da especialidade. |
10 | M | chave_beneficiario | String | Código do beneficiário marcado no agendamento. |
11 | OP | beneficiario_email | String | Email do beneficiário |
12 | OP | beneficiario_telefone | String | Telefone do beneficiário. |
13 | M | profissional_id | String | Código do profissional. |
14 | M | profissional_nome | String | Nome do profissional. |
15 | M | local_id | String | Código do Local de atendimento. |
16 | OP | local_telefone | String | Telefone de contato 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. |
19 | OP | local_numero | String | Numero do endereço do local de atendimento. |
20 | OP | local_complemento | String | Complemento do endereço do local de atendimento. |
21 | OP | local_bairro | String | Bairro do local de atendimento. |
22 | M | local_estado | String | Sigla da UF correspondente ao estado do local de atendimento |
23 | OP | local_cidade_id | String | Código da cidade |
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 |
26 | M | beneficiario_nome | String | Devolver o nome do beneficiário que está atribuído para o atendimento já agendado. |
27 | OP | recomendacoes | Array de objetos recomendacao | Retorna um array de estruturas “recomendacao“ (ver estrutura abaixo), contendo as recomendações sobre a sua consulta ou procedimento.
|
Definição da estrutura "recomendacao"
seq | critério | campo | tipo | descrição |
---|---|---|---|---|
1 | M | ordem | Inteiro | A ordem em que deverá ser apresentada na tela de recomendações ao final do agendamento. |
2 | M | recomendacao | String | Texto descritivo da recomendação ao beneficiário. |
{ "status": true, "motivo_critica": null, "detalhes": [ { "agenda_id": "3277159", "data_hora": "2021-12-13 15:46:00", "status_id": "39", "cancelamento_data_hora": "2021-11-24 22:05:15", "cancelamento_motivo": "SOLICITACAO DO PACIENTE", "atendimento_data_hora": null, "atendimento_nota": null, "especialidade_id": "128", "especialidade_descricao": "CARDIOLOGIA", "chave_beneficiario": "0010467001428000", "beneficiario_email": "KATIANE.MORAES760@HOTMAIL.COM", "beneficiario_telefone": "112133-5652", "profissional_id": "834928", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_telefone": " ", "local_endereco": "AVENIDA MARIANA UBALDINA DO ESPIRITO SANTO", "local_numero": "623", "local_complemento": null, "local_bairro": "MACEDO", "local_estado": "SP", "local_cidade_id": "3518800", "local_cidade": "GUARULHOS", "local_cep": "07197-000", "beneficiario_nome": "VALDEMAR DE ASSIS SANTOS", "recomendacoes": null }, { "agenda_id": "3277159", "data_hora": "2021-12-13 15:46:00", "status_id": "33", "cancelamento_data_hora": null, "cancelamento_motivo": null, "atendimento_data_hora": null, "atendimento_nota": null, "especialidade_id": "128", "especialidade_descricao": "CARDIOLOGIA", "chave_beneficiario": "0010467001428000", "beneficiario_email": "KATIANE.MORAES760@HOTMAIL.COM", "beneficiario_telefone": "112133-5652", "profissional_id": "834928", "profissional_nome": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_id": "13", "local_descricao": "CLÍNICA JARDIM SÃO JOÃO - BOM CLIMA", "local_telefone": " ", "local_endereco": "AVENIDA MARIANA UBALDINA DO ESPIRITO SANTO", "local_numero": "623", "local_complemento": null, "local_bairro": "MACEDO", "local_estado": "SP", "local_cidade_id": "3518800", "local_cidade": "GUARULHOS", "local_cep": "07197-000", "beneficiario_nome": "VALDEMAR DE ASSIS SANTOS", "recomendacoes": null } ] }
Mobile Saúde - 2019