🩺Prescritor

Cadastrando o usuário (médico)

tags: cadastrar médico, inserir médico, cadastrar usuário, inserir usuário, adicionar médico, adicionar usuário

IMPORTANTE! Este cadastro do usuário(médico) só pode ser feito de uma requisição partindo do backend (ou seja de API -> API ) . Nossa API bloqueia requisições vindas do front-end na rota de cadastro do médico.

Exemplos

Importante: esse exemplo já está cadastrado

corpo da requisição
{
  "data": {
    "type": "usuarios",
    "attributes": {
      "external_id": "test123",
      "nome": "José",
      "sobrenome": "da Silva",
      "data_nascimento": "01/01/1985",
      "cpf": "87671504203",
      "uf": "SP",
      "sexo": "M",
      "crm": "1111",
      "email": "example@example.com",
      "avatar": "https://scontent.ffor11-1.fna.fbcdn.net/v/t1.18169-9/28168058_1972231239486187_1159165608633783762_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=tSJ07m50HGsAX_e1Uun&_nc_ht=scontent.ffor11-1.fna&oh=00_AT9IvOuWh3o8x3K_IpietvcETB6xfoTyNejUA_NdJIYpMQ&oe=622EE40E"
    },
    "relationships": {
      "especialidade": {
        "data": {
          "id": 59
        }
      },
      "cidade": {
        "data": {
          "id": 5213
        }
      }
    }
  }
}
resposta da requisição
{
  "data": {
    "type": "usuarios",
    "attributes": {
      "nome": "José",
      "sobrenome": "da Silva",
      "data_nascimento": "01/01/1985",
      "cpf": "87671504203",
      "sexo": "M",
      "email": "example@example.com",
      "avatar": "https://scontent.ffor11-1.fna.fbcdn.net/v/t1.18169-9/28168058_1972231239486187_1159165608633783762_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=tSJ07m50HGsAX_e1Uun&_nc_ht=scontent.ffor11-1.fna&oh=00_AT9IvOuWh3o8x3K_IpietvcETB6xfoTyNejUA_NdJIYpMQ&oe=622EE40E",
      "terms_accepted": false,
      "status": "Em análise",
      "cidade": "São Paulo",
      "cidade_obj": {
        "id": 5213,
        "nome": "São Paulo",
        "uf": "SP"
      },
      "clinica_ativa": "",
      "cns": null,
      "cnes": "",
      "configuracoes": [],
      "crm": "1111",
      "endereco": "",
      "especialidade": "Generalista",
      "estudante": false,
      "farmacia_artesanal": false,
      "iamspe": false,
      "is_partner": true,
      "nome_completo": "José da Silva",
      "perola_byington": false,
      "sociedades": "",
      "telefone": null,
      "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.WzM4OTM2LCIyMTg2MWM4MjcwNzA1NDQ2ZTM3YjJjNmI5YzJkMmRiOSIsIjIwMjItMDItMTQiLCJzaW5hcHNlLnByZXNjcmljYW8iLCJwYXJ0bmVyLjMuMzQyNTQiXQ.moO3k_YPdGlKAsrQAMM-rtAmXEzWK0vVhhg4xrPJIcw",
      "uf": "SP",
      "universidade": "",
      "fabricante": "",
      "user_type": "Medicos",
      "total_of_prescriptions": 0,
      "total_of_prescripted_drugs": 0,
      "total_of_sms_prescriptions": 0,
      "ambiente": "any",
      "is_editor": false,
      "user_name": false,
      "biografia": "",
      "imagem_capa": "",
      "synchronized": false,
      "percentage_of_completed_profile": 66.66,
      "parceiros_id": 3,
      "filter_web_pki_certificates_by_cpf": false,
      "external_id": "test123"
    },
    "links": {
      "self": "https://integrations.api.memed.com.br/v1/usuarios/38936"
    },
    "relationships": {
      "cidade": {
        "data": {
          "id": 5213,
          "type": "cidades"
        },
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/cidade"
        }
      },
      "sociedades": {
        "data": [],
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/sociedades"
        }
      },
      "especialidade": {
        "data": {
          "id": 59,
          "type": "especialidades"
        },
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/especialidade"
        }
      },
      "universidade": null
    },
    "id": 38936
  },
  "links": {
    "self": "https://integrations.api.memed.com.br/usuarios/38936"
  }
}

Por mais que apareça um atributo chamado "endereco" no retorno do cadastro do médico, esse não é um atributo válido para ser passado no cadastro. Veja como editar o endereço do médico em Configurações de Impressão.

Recomendações:

  • O token não é estático. Por isso, caso o salve em sua base de dados, é preciso verificar sua validade (comparando token atual com token retornado pela API da Memed).

A imagem abaixo irá aparecer quando for tentado carregar os módulos da Memed com um usuário inativo:

Na resposta do cadastro você recebe um token que é será utilizado em todas as ações do médico. A nossa API/Integração é toda baseada na estrutura do usuário médico. Sendo assim daqui pra frente todas as requisições/comandos serão feitos baseados nesse token.

Observações

  • Caso relationships.especialidade.data.id não esteja presente, no corpo da requisição POST, ou não seja encontrada no banco de dados, o médico será cadastrado com a especialidade padrão, no caso é a Generalista.

  • O endereço do médico é gerenciado nas Configurações de Impressão, o mesmo médico pode atender em mais de uma clínica. Sendo assim, o login diferente em cada clínica deve ativar sua respectiva configuração de impressão.

  • A UF no cadastro do médico não está relacionada ao endereço do mesmo, mas sim ao seu CRM.

Atualizar o cadastro do médico via API

tags: atualizar dados, atualizar médico, alterar dados, alterar usuário, alterar médico

Só insira o external_id dentro de attributes, no corpo da requisição, se for mudar o valor deste atributo. Caso o valor do atributo external_id seja o mesmo do atual será recebida a seguinte resposta da API:

"Médico já cadastrado para o parceiro com esse id externo".

Exemplos
corpo da requisição
{
  "data": {
    "type": "usuarios",
    "attributes": {
      "external_id": "test123",
      "nome": "José",
      "sobrenome": "da Silva",
      "data_nascimento": "01/01/1985",
      "cpf": "87671504203",
      "uf": "SP",
      "sexo": "M",
      "crm": "1111",
      "email": "example@example.com",
      "avatar": "https://scontent.ffor11-1.fna.fbcdn.net/v/t1.18169-9/28168058_1972231239486187_1159165608633783762_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=tSJ07m50HGsAX_e1Uun&_nc_ht=scontent.ffor11-1.fna&oh=00_AT9IvOuWh3o8x3K_IpietvcETB6xfoTyNejUA_NdJIYpMQ&oe=622EE40E"
    },
    "relationships": {
      "especialidade": {
        "data": {
          "id": 59
        }
      }
    }
  }
}
Corpo da resposta
{
  "data": {
    "type": "usuarios",
    "attributes": {
      "nome": "José",
      "sobrenome": "da Silva",
      "data_nascimento": "01/01/1985",
      "cpf": "87671504203",
      "sexo": "M",
      "email": "example@example.com",
      "avatar": "https://scontent.ffor11-1.fna.fbcdn.net/v/t1.18169-9/28168058_1972231239486187_1159165608633783762_n.jpg?_nc_cat=100&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=tSJ07m50HGsAX_e1Uun&_nc_ht=scontent.ffor11-1.fna&oh=00_AT9IvOuWh3o8x3K_IpietvcETB6xfoTyNejUA_NdJIYpMQ&oe=622EE40E",
      "terms_accepted": false,
      "status": "Em análise",
      "cidade": "São Paulo",
      "cidade_obj": {
        "id": 5213,
        "nome": "São Paulo",
        "uf": "SP"
      },
      "clinica_ativa": "",
      "cns": null,
      "cnes": "",
      "configuracoes": [],
      "crm": "1111",
      "endereco": "",
      "especialidade": "Generalista",
      "estudante": false,
      "farmacia_artesanal": false,
      "iamspe": false,
      "is_partner": true,
      "nome_completo": "José da Silva",
      "perola_byington": false,
      "sociedades": "",
      "telefone": null,
      "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.WzM4OTM2LCIyMTg2MWM4MjcwNzA1NDQ2ZTM3YjJjNmI5YzJkMmRiOSIsIjIwMjItMDItMTQiLCJzaW5hcHNlLnByZXNjcmljYW8iLCJwYXJ0bmVyLjMuMzQyNTQiXQ.moO3k_YPdGlKAsrQAMM-rtAmXEzWK0vVhhg4xrPJIcw",
      "uf": "SP",
      "universidade": "",
      "fabricante": "",
      "user_type": "Medicos",
      "total_of_prescriptions": 0,
      "total_of_prescripted_drugs": 0,
      "total_of_sms_prescriptions": 0,
      "ambiente": "any",
      "is_editor": false,
      "user_name": false,
      "biografia": "",
      "imagem_capa": "",
      "synchronized": false,
      "percentage_of_completed_profile": 66.66,
      "parceiros_id": 3,
      "filter_web_pki_certificates_by_cpf": false,
      "external_id": "test123"
    },
    "links": {
      "self": "https://integrations.api.memed.com.br/v1/usuarios/38936"
    },
    "relationships": {
      "cidade": {
        "data": {
          "id": 5213,
          "type": "cidades"
        },
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/cidade"
        }
      },
      "sociedades": {
        "data": [],
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/sociedades"
        }
      },
      "especialidade": {
        "data": {
          "id": 59,
          "type": "especialidades"
        },
        "links": {
          "self": "https://integrations.api.memed.com.br/v1/sinapse-prescricao/usuarios/relationships/especialidade"
        }
      },
      "universidade": null
    },
    "id": 38936
  },
  "links": {
    "self": "https://integrations.api.memed.com.br/usuarios/38936"
  }
}

Por mais que apareço um atributo chamado "endereco" no retorno da requisição de atualização do cadastro do médico, esse não é um atributo válido para ser passado no cadastro. Veja como editar o endereço do médico em Configurações de Impressão.

Excluir cadastro do usuário

tags: remover usuário, remover médico, excluir médico, excluir usuário

Recuperar dados do usuário

Para recuperar os dados de um usuário, inclusive o token, faça a seguinte requisição.

Exemplo de resposta da requisição
{
  "data": {
    "type": "usuarios",
    "attributes": {
      "nome": "Riva",
      "sobrenome": "Junior",
      "cpf": "87671504203",
      "email": "usuario@exemplo.com.br",
      "data_nascimento": "00/00/0000",
      "sexo": "M",
      "avatar": null,
      "status": "Em análise",
      "ambiente": "producao",
      "is_editor": 0,
      "user_name": "0",
      "biografia": null,
      "imagem_capa": null,
      "terms_accepted": 0,
      "cidade": "Abel Figueiredo",
      "cidade_obj": {
        "id": 2395,
        "nome": "Abel Figueiredo",
        "uf": "PA"
      },
      "clinica_ativa": "",
      "cns": null,
      "cnes": "",
      "configuracoes": [],
      "crm": "0000",
      "endereco": "",
      "especialidade": "Cardiologia",
      "estudante": false,
      "farmacia_artesanal": false,
      "iamspe": false,
      "is_partner": true,
      "nome_completo": "Riva Junior",
      "perola_byington": false,
      "sociedades": "",
      "telefone": "(99) 99999-9999",
      "token": "{{ TOKEN_DO_MEDICO }}",
      "uf": "SP",
      "universidade": "",
      "fabricante": "",
      "user_type": "Medicos",
      "total_of_prescriptions": 1,
      "total_of_prescripted_drugs": 1,
      "total_of_sms_prescriptions": 0,
      "synchronized": false,
      "percentage_of_completed_profile": 66.66,
      "parceiros_id": 3,
      "filter_web_pki_certificates_by_cpf": false,
      "external_id": "362547"
    },
    "links": {
      "self": "http://local.api.memed.com.br/v1/usuarios/31577"
    },
    "relationships": {
      "cidade": {
        "data": {
          "id": 2395,
          "type": "cidades"
        },
        "links": {
          "self": "http://local.api.memed.com.br/v1/sinapse-prescricao/usuarios/0000SP/relationships/cidade"
        }
      },
      "sociedades": {
        "data": [],
        "links": {
          "self": "http://local.api.memed.com.br/v1/sinapse-prescricao/usuarios/0000SP/relationships/sociedades"
        }
      },
      "especialidade": {
        "data": {
          "id": 5,
          "type": "especialidades"
        },
        "links": {
          "self": "http://local.api.memed.com.br/v1/sinapse-prescricao/usuarios/0000SP/relationships/especialidade"
        }
      },
      "universidade": null
    },
    "id": 31577
  }
}

Recomendações:

  • Verificar "status" do usuário ao recuperar o token. Em produção, é feita a validação dos dados do médico no CFM e, caso o retorno seja negativo, ele se torna "Inativo" e não poderá utilizar a Memed. Possíveis "status":

    • Em análise - Ainda não foi validado pelo CFM ou cadastro está incompleto;

    • Ativo - Foi confirmado pelo CFM;

    • Inativo - CFM retornou que não existe médico com os dados enviados.

  • Utilizar a recuperação de token para validar se o usuário está cadastrado. Caso não esteja, realizar o cadastro do médico.

Ordenação das abas de busca da prescrição

Exemplo de resposta da requisição
{
  "data": {
    "type": "medicos-configuracoes",
    "attributes": {
      "chave": "tab_orders",
      "valor": [
        "composicoes",
        "industrializados",
        "manipulados",
        "perifericos",
        "exames"
      ],
      "metadata": null
    },
    "links": {
      "self": "https://integrations.api.memed.com.br/v1/medicos-configuracoes/201"
    },
    "id": 201
  },
  "links": {
    "self": "https://integrations.api.memed.com.br/medicos-configuracoes/201"
  }
}

Listas Disponíveis

  • composicoes

  • industrializados

  • manipulados

  • perifericos

  • exames

A ordem das abas na busca de itens para prescrição será exibida conforme a ordem encaminhada no parâmetro data.attributes.valor

Consultar cidades cadastradas na Memed

tags: buscar cidades, listar cidades

É possível consultar as cidades (ID, nome e UF) através do seguinte request

Fique atento! Atualmente temos uma base limitada de cidades no ambiente de homologação, a lista completa de cidades está em produção. Sugerimos usar as seguintes cidades para testes(São Paulo, Campinas, Belo Horizonte)

Exemplo de resposta da requisição
{
  "data": [
    {
      "type": "cidades",
      "attributes": {
        "nome": "Campinas",
        "uf": "SP"
      },
      "links": {
        "self": "https://integrations.api.memed.com.br/v1/cidades/4757"
      },
      "id": 4757
    }
  ],
  "links": {
    "self": "https://integrations.api.memed.com.br/cidades"
  },
  "meta": {
    "total": 1,
    "limit": 100
  }
}

Por padrão, o resultado é limitado a 100 registros. Portanto, caso necessite de uma quantidade maior, basta passar o parâmetro page[limit] com a quantidade de itens desejada, na query

Caso precise fazer a consulta paginada, combine as query strings page[limit] e page[offset] (a partir de).

Consultar especialidades

tags: buscar especialidades, listar especialidades

Exemplo de resposta da requisição
{
  "data": [
    {
      "type": "especialidades",
      "attributes": {
        "nome": "Acupuntura",
        "grupo": "Clínica geral"
      },
      "links": {
        "self": "https://integrations.api.memed.com.br/v1/especialidades/1"
      },
      "id": 1
    },
    {
      "type": "especialidades",
      "attributes": {
        "nome": "Alergia e imunopatologia",
        "grupo": "Clínica geral"
      },
      "links": {
        "self": "https://integrations.api.memed.com.br/v1/especialidades/2"
      },
      "id": 2
    },
    {
      "type": "especialidades",
      "attributes": {
        "nome": "Anestesia",
        "grupo": "Anestesiologia"
      },
      "links": {
        "self": "https://integrations.api.memed.com.br/v1/especialidades/64"
      },
      "id": 64
    },
    {
      "type": "especialidades",
      "attributes": {
        "nome": "Atendimento domiciliar",
        "grupo": "Clínica geral"
      },
      "links": {
        "self": "https://integrations.api.memed.com.br/v1/especialidades/65"
      },
      "id": 65
    }
  ],
  "links": {
    "self": "https://integrations.api.memed.com.br/v1/especialidades"
  },
  "meta": {
    "total": 65
  }
}

Last updated