Telecare - Agenda do médico
- 1 Objetivo
- 2 Necessidade
- 3 Informações
- 3.1 Avisos
- 3.2 Critérios de preenchimento
- 4 Método "listarAgenda"
- 4.1 Regras de negócio
- 4.2 Endpoint
- 4.3 Parâmetros de entrada
- 4.4 Request
- 4.4.1 Exemplo:
- 4.5 Objetos e atributos de retorno
- 4.5.1 Atenção
- 4.6 Descrição dos objetos e atributos de retorno - Sucesso
- 4.6.1 Objeto principal
- 4.6.2 Objeto profissional
- 4.6.3 Objeto integração - Profissional
- 4.6.4 Objeto agenda
- 4.6.5 Objeto horarios
- 4.6.6 Objeto integração - horarios
- 4.6.7 Objeto paciente - horarios
- 4.7 Retorno da API - Sucesso
- 4.8 Descrição dos objetos e atributos de retorno - Falha
- 4.8.1 Objeto principal
- 4.9 Retorno da API - Falha
Objetivo
Este documento tem como objetivo orientar a construção dos webservices para que o sistema Mosia Telecare consiga exibir a agenda do profissional de saúde que está logado na plataforma.
Necessidade
Integrar seu sistema de agendamento do profissional de saúde com o sistema de teleatendimento em saúde da Mobile Saúde (Mosia Telecare).
Informações
Avisos
Só são suportadas integrações no padrão REST.
O campo "Regra de preenchimento" esclarece quais regras / validações serão aplicadas ou quais os conteúdos serão permitidos ou rejeitados. As ações descritas aqui devem ser implementadas por seus WS, evitando que os conteúdos inválidos sejam criticados pelo nosso sistema de integrações.
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 "response" será rejeitado. |
C | Condicional | O atributo pode tornar-se obrigatório quando um ou mais atributos auxiliares for preenchido / atualizado. |
OP | Opcional | Seu preenchimento não é obrigatório. Pode-se enviar NULL para objetos, ou arrays vazios para tipos Array |
Método "listarAgenda"
Este método irá retornar a lista de agendas do profissional de saúde que está logado na plataforma de atendimentos. As agendas retornadas pelo método serão exibidos ao profissional de saúde.
Regras de negócio
Este método deverá receber a identificação do profissional de saúde (idPrestador) e a data referência (dataReferencia - formato AAAA-MM-DD);
Deverá avaliar se o profissional tem agendas para realização de teleatendimento, na data repassada
Deverá retornar uma lista de agendas do profissional em teleatendimento naquela data, para habilitar o atendimento em teleatendimento.
Endpoint
Endpoint | Método | Header Content-Type | Descrição |
---|---|---|---|
exemplo.com/listarAgenda | GET | application/json | Este método irá retornar a lista de agendas do profissional de saúde. |
Parâmetros de entrada
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
idPrestador | M | String | Passado por parâmetro pela informação do cadastro do atendente no campo integração CRM | Alfanumérico |
dataReferencia | M | Date | Passado por parâmetro pela data de referencia informada | yyyy-mm-dd |
Request
Exemplo:
https://telecareservicos.mobilesaude.com.br/mssuite/plataforma_beneficiario/telemedicina/listarAgenda.php?id_prestador=208153047&dataReferencia=2020-12-04
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 "localizadorMensageria":
localizador mensageria
localizador_mensageria
localmsg
localizadorMensageria
Descrição dos objetos e atributos de retorno - Sucesso
Está indicado abaixo a estrutura de retorno do seu método de listarAgenda Esse método deve obedecer as regras indicadas no objeto principal e em seus desdobramentos.
Objeto principal
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
status | M | Boolean | Indica que a requisição foi bem sucedida | True |
data | M | Array de objetos | Retornar um array de objetos | Caso nenhum profissional seja encontrado, ou os horários estejam vazios, este array deve estar vazio. |
Objeto profissional
O objeto profissional é obrigatório e deve ser único.
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
nome | M | String | Nome que identifica o profissional. | Texto livre |
integracao | M | Array de objetos "integracao" | Retorna um array de objetos do tipo "integracao" com o atributo "idSistema" do profissional no sistema da Operadora | Caso nenhum profissional seja encontrado, este array deve estar vazio |
Objeto integração - Profissional
Este objeto é obrigatório e destina-se a estabelecer uma correlação entre o profissional listado e suas agendas.
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
idSistema | M | String | ID do profissional no sistema do cliente. | Alfanumérico |
Objeto agenda
Quando o profissional possuir agenda para a data requisitada, este objeto é obrigatório. O objeto agenda, quando preenchido, necessita obrigatoriamente de objeto "horarios".
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
horarios | M | Array de objetos "horarios" | Retorna um array de objetos do tipo "horarios" | Caso nenhum profissional seja encontrado, este array deve estar vazio |
Objeto horarios
Destina-se a estratificar cada horário agendado para o profissional. Para prestadores com horários agendados em teleatendimentos, deve existir no mínimo um objeto horário válido.
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
integração | M | Array de objetos "integracao" | Retorna um array de objetos do tipo "integracao". | Caso nenhum profissional seja encontrado, este array deve estar vazio |
paciente | M | Array de objetos "paciente" | Retorna um array de objetos do tipo "paciente" com informações referentes ao paciente/beneficiário. | Caso nenhum profissional seja encontrado, este array deve estar vazio |
data | M | Date | Data do profissional | Formato: yyyy-mm-dd |
hora | M | Time | Horário do profissional. | Formato: hh:mm |
especialidade | M | String | Especialidade do profissional | Alfanumérico |
status | M | String | Informa o status do agendamento | Status: "Agendado";"Preparado";"Recepcionado";"Atendido";"Falta";"Finalizando";"Livre";Não utilizado";"Cancelado";"Bloqueio". |
Objeto integração - horarios
Este item serve como elo entre o horário agendado e o profissional que solicitou a relação de agendas do dia.
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
idAgenda | M | String | ID da agenda no sistema do cliente. É utilizado internamente para distinguir agendas diferentes, e caso o cliente deseje, integrar o Mosia Telecare com seu sistema de agendamento, mudando status dos atendimentos - utiliza-se callback para essa integração. | Alfanumérico |
Objeto paciente - horarios
Dados do paciente que agendou o teleatendimento.
Atributo | Critério | Tipo | Descrição | Regras de preenchimento |
---|---|---|---|---|
localizadorMensageria | M | String | É o identificador principal do beneficiário. Informe neste atributo o identificador único, que permite localizar o paciente e notifica-lo sobre sua consulta, através de mensagens diretas para o aplicativo. | Obrigatório. Alfanumérico |
nome | M | String | Nome do paciente. | Alfanumérico |
OP | String | Email do paciente. | Alfanumérico | |
telefone | M | Int | Telefone celular do paciente. Este número de telefone será utilizado para realizar envio de mensagens para lembrar o paciente de sua consulta, portanto deve ser informado um TELEFONE CELULAR. | Não informe o telefone FIXO. Não utilizar mascaras. (48)984137055 |
matricula | C | Int | Matricula do paciente | Obrigatório o envio da MATRICULA caso o CPF não exista no cadastro. Não utilizar pontos ou traços 0001.0001.50 |
cpf | C | Int | CPF do paciente | Obrigatório o envio do CPF caso a matrícula não exista no cadastro. Não utilizar mascaras
|
Retorno da API - Sucesso
{
"status": true,
"data": {
"profissional": {
"nome": "Dr. Francisco Humberto Moura",
"integracao": {
"idSistema": 1234
}
},
"agenda": {
"horarios": [
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "geraldu@mobisaude.com.br",
"nome": "Geraldu Júnior",
"email": "geraldu@mobisaude.com.br",
"telefone": "279988888888",
"matricula": "000002",
"cpf": "8384447733"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "geraldo_teste@mobilesaude.com.br",
"nome": "Geraldo SMS",
"email": "geraldo_teste@mobilesaude.com.br",
"telefone": "279988888888",
"matricula": "000002",
"cpf": "8384447733"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "geraldo@mobilesaude.com.br",
"nome": "Geraldo SMS",
"email": "geraldo@mobilesaude.com.br",
"telefone": "",
"matricula": "000002",
"cpf": "8384447733"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "geraldo@mobilesaude.com.br",
"nome": "Geraldo FIXO",
"email": "geraldo@mobilesaude.com.br",
"telefone": "2725443374",
"matricula": "000002",
"cpf": "8384447733"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 1001010
},
"paciente": {
"localizadorMensageria": "rafael@mobilesaude.com.br",
"nome": "Rafael Simão AG: 1001010",
"email": "rafael@mobilesaude.com.br",
"telefone": "27984443710",
"matricula": "000022",
"cpf": "23222288836"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 1001015
},
"paciente": {
"localizadorMensageria": "",
"nome": "Rafael Simão (Falta de dados)",
"email": "rafael@mobilesaude.com.br",
"telefone": "27984443710",
"matricula": "",
"cpf": ""
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "rafael_teste@mobilesaude.com.br",
"nome": "Rafael Simão (Teste)",
"email": "rafael_teste@mobilesaude.com.br",
"telefone": "27984443710",
"matricula": "000022",
"cpf": "23222288836"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 52869
},
"paciente": {
"localizadorMensageria": "ewersonv@mobilesaude.com.br",
"nome": "Ewerson Vieira Nascimento",
"email": "ewersonv@mobilesaude.com.br",
"telefone": "27998842737",
"matricula": "0003002",
"cpf": "63644455523"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "haryell@mobilesaude.com.br",
"nome": "Haryell da Silva Daleprane",
"email": "haryell@mobilesaude.com.br",
"telefone": "27945553201",
"matricula": "000021",
"cpf": "98922266645"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "leonardo@mobilesaude.com.br",
"nome": "Leonardo Xavier",
"email": "leonardo@mobilesaude.com.br",
"telefone": "2799664724",
"matricula": "000025",
"cpf": "22263644450"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "leonardo_teste@mobilesaude.com.br",
"nome": "Leonardo SMS",
"email": "leonardo_teste@mobilesaude.com.br",
"telefone": "2799664724",
"matricula": "000025",
"cpf": "22263644450"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 3000
},
"paciente": {
"localizadorMensageria": "lucas.cordeiro@mobilesaude.com.br",
"nome": "Lucas Cordeiro Pereira",
"email": "lucas.cordeiro@mobilesaude.com.br",
"telefone": "2799664724",
"matricula": "000036",
"cpf": "22263644450"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 3000
},
"paciente": {
"localizadorMensageria": "yago@mobilesaude.com.br",
"nome": "Yago Bravim",
"email": "yago@mobilesaude.com.br",
"telefone": "2799664724",
"matricula": "000037",
"cpf": "22263644450"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "auriemma@mobilesaude.com.br",
"nome": "Paulo Auriemma",
"email": "auriemma@mobilesaude.com.br",
"telefone": "27466663524",
"matricula": "000090",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "jean@mobilesaude.com.br",
"nome": "Jean Schulz",
"email": "jean@mobilesaude.com.br",
"telefone": "48974231628",
"matricula": "000091",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "victor.hugo@mobilesaude.com.br",
"nome": "Torugo",
"email": "victor.hugo@mobilesaude.com.br",
"telefone": "27953421122",
"matricula": "000091",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "derlandy@mobilesaude.com.br",
"nome": "Derlandy Belchior",
"email": "derlandy@mobilesaude.com.br",
"telefone": "27953421122",
"matricula": "000002",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 321432
},
"paciente": {
"localizadorMensageria": "bruno@mobilesaude.com.br",
"nome": "Bruno Soares da Silva Vieira",
"email": "bruno@mobilesaude.com.br",
"telefone": "27953421122",
"matricula": "000020",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 300010
},
"paciente": {
"localizadorMensageria": "geovane@mobilesaude.com.br",
"nome": "Geovane Henrique Pinto da Costa",
"email": "geovane@mobilesaude.com.br",
"telefone": "278872361523",
"matricula": "000100",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"status": "Agendado",
"especialidade": "Cardiologia"
},
{
"integracao": {
"idAgenda": 52869
},
"paciente": {
"localizadorMensageria": "31468430",
"nome": "Yago (Widget 1)",
"email": "31468430@mobilesaude.com.br",
"telefone": "2723123784",
"matricula": "0003005",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 52869
},
"paciente": {
"localizadorMensageria": "31500752",
"nome": "Yago (Widget 2)",
"email": "31468430@mobilesaude.com.br",
"telefone": "271234562",
"matricula": "0003005",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "08:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 52870
},
"paciente": {
"localizadorMensageria": "phelipe@mobilesaude.com.br",
"nome": "Phelipe Momesso",
"email": "phelipe@mobilesaude.com.br",
"telefone": "3487123458",
"matricula": "0005005",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "09:00",
"especialidade": "Cardiologia",
"status": "Agendado"
},
{
"integracao": {
"idAgenda": 52885
},
"paciente": {
"localizadorMensageria": "vd_santana@live.com",
"nome": "Vinícius Dias",
"email": "vd_santana@live.com",
"telefone": "31982361239",
"matricula": "3020200924205636",
"cpf": "99999999999"
},
"data": "2020-12-04",
"hora": "09:00",
"especialidade": "Cardiologia",
"status": "Agendado"
}
]
}
}
}
Descrição dos objetos e atributos de retorno - Falha
Está indicado abaixo a estrutura de retorno do seu método de listarAgenda. Esse método deve obedecer as regras indicadas no objeto principal e em seus desdobramentos.
Objeto principal
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
status | M | Boolean | Indica que a requisição foi mal sucedida. | false |
motivoCritica | M | String | Motivo pelo qual não foi possível realizar a requisição. | Este campo é obrigatório quando o status igual a false. Formato: Texto Livre |
Retorno da API - Falha
{
"status": false,
"motivoCritica": ""
}
Mobile Saúde - 2019