🌉Integração via Memed Bridge

Uma ponte que liga o seu sistema e o Módulo Front-End

O Memed Bridge é indicado para parceiros que possuam API que não pode ser acessada externamente. Ex.: Hospitais que utilizam Tasy/MV.

É uma versão simplificada da Memed e que demanda pouco desenvolvimento.

Dado esse contexto, as requisições internas feitas pelo Memed Bridge não utilizam autenticação.

Durante a criação e testes da integração iremos utilizar o ambiente de integrations. Para mais informações sobre as urls e chaves de acesso, clicar aqui.

Login

Antes de iniciar a integração com o front-end do Memed Bridge, é preciso criar/recuperar o acesso do médico. Para isso, devemos utilizar a rota de login abaixo, que serve para criar/atualizar os dados do usuário na Memed.

No retorno da requisição acima existe o campo token (data.attributes.token), que será usado no Memed Bridge para identificar qual médico que está gerando a prescrição.

Observações:

  • Verificar "status" (data.attributes.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.

  • O token não é estático. Por isso, não salve o token recuperado em um base de dados para uma reutilização posterior.

Integrando

Adicione o seguinte código HTML onde você deseja que a aplicação da Memed apareça.

<iframe
  src="https://integrations.bridge.memed.com.br?token=TOKEN&url=URL&attendance=ATTENDANCE&type=TYPE&color=COLOR"
>

A url https://integrations.memed.com.br deve ser utilizada apenas durante o processo de homologação da integração.

Requisitos

  • Sua aplicação deve estar sendo servida sob o protocolo https;

  • Sua aplicação deve possuir um endpoint chamado patients, preparado para o método HTTP GET. Onde esse endpoint será usado para recuperar o paciente referente à consulta em andamento;

  • Sua aplicação deve possuir um endpoint chamado prescription, preparado para o método HTTP POST. Onde esse será usado para gravar uma prescrição no seu sistema, quando a mesma for gerada pela memed.

  • Sua aplicação deve possuir um endpoint chamado prescription/${prescriptionId}, preparado para o método HTTP DELETE. Onde esse será usado para apagar uma prescrição salva no seu sistema, quando a mesma for apagada na memed.

Parâmetros

URL

Deve ser a url base da sua aplicação. Você não precisa adicionar o protocolo ao valor desse parâmetro. Ex.: parceiro-memed.com.br.

TOKEN

Deve ser o token do médico recuperado do médico na requisição de login. Veja Login.

ATTENDANCE

Deve ser o id que referencia o atendimento proveniente para a geração da receita. Por exemplo, id da consulta.

TYPE [Opcional]

Tipo de prescrição;

  • Serve para apresentar opções específicas de filtros para o respectivo tipo de prescrição;

  • Os valores válidos são exams, para exames, ou drugs, para medicamentos;

  • Se o valor não estiver presente, será apresentado opções de pesquisa para ambos os tipos.

COLOR [Opcional]

Cor base para ser apresentado nos componentes da Memed.

Rotas obrigatórios

As rotas abaixo devem ser desenvolvidas pelo parceiro para que o Memed Bridge consiga recuperar os dados do paciente, retornar os dados da prescrição e excluir uma prescrição da Memed no sistema do parceiro.

Todos irão utilizar o parâmetro url passado ao Bride como url base das requisições.

GET - {url}/patients/{attendance}

Essa rota deve retornar os dados do paciente a partir do código passado no parâmetro attendance na query string da url do Bridge.

Será utilizada para configurar os dados do paciente no front da Memed. O usuário já abrirá o módulo de prescrição com o paciente selecionado.

O retorno da requisição deve possuir esse formato:

{
        'external_id': 'patient_memed_bridge_mock',
        'name': 'Paciente Teste',
        'social_name': 'Nome Social Paciente',
        'address': 'Rua Memed Bridge, 99',
        'city': 'São Paulo',
        'cpf': '85819715047',
        'phone': '11999999999',
        'weight': '100',
        'height': '1,90',
        'mothers_name': 'Nome da Mãe',
        'reduced_mobility': false
}

POST - {url}/prescription

Deve receber um JSON com os dados da prescrição e armazena-los em banco de dados próprio.

Esta rota será chamada após a finalização de uma prescrição pelo usuário.

Segue abaixo um exemplo de como os dados serão enviados nesta requisição:

{
    'link': 'integrations.memed.com.br/v1/prescricoes/XeFoKG/pdf?document=51a5a220-bd35-45e3-aaff-7de34a2434a0',
    'attendance': '1',
    'signed': '1',
    'prescription': {
    'screening': '{\'total\':\'0\',\'status\':\'success\',\'problems\':\'0\'}',
    'medicamentos': [
        {
            'id': 'a1046503030027115565',
            'nome': 'Dipirona 500mg, Comprimido (20un)',
            'descricao': 'Dipirona 500mg',
            'posologia': '<p>Tomar 1 comprimido via oral até de 6 em 6 horas, se
            necessário.</p>',
            'quantidade': 1,
            'unit': 'embalagem',
            'formas_fisicas_unidades_id': null,
            'composicao': '',
            'fabricante': 'Prati Donaduzzi',
            'titularidade': 'Genérico',
            'controle_especial': false,
            'alto_custo': false,
            'quantidade_mes_1': null,
            'quantidade_mes_2': null,
            'quantidade_mes_3': null,
            'quantidade_mes_4': null,
            'quantidade_mes_5': null,
            'quantidade_mes_6': null,
            'anamnese': '',
            'tratamento_previo': false,
            'descricao_tratamento': '',
            'data_solicitacao': null,
            'cid_id': 0,
            'receituario': 'Simples',
            'exames_sus_codigo': '',
            'exames_tuss_codigo': '',
            'tipo_exame_selecionado': 'sus',
            'catmat_codigo_br': '',
            'catmat_descricao': '',
            'cid_descricao': '',
            'cid_numero': '',
            'preco': 14.17,
            'real_id': 82719421,
            'tarja': 'Livre',
            'tipo': 'alopático',
            'exames': [],
            'fabricante_id': 'f218',
            'sanitized_posology': 'Tomar 1 comprimido via oral até de 6 em 6horas, se necessário.',
            'form_units': [
                {
                    'id': 27,
                    'singular': 'Comprimido',
                    'plural': 'Comprimidos',
                    'type': 'formas-fisicas-unidades'
                }
            ],
            'psp': {
                'active': false,
                'tagline': null,
                'link': null
            },
            'via': '21',
            'receituario_id': 12,
            'descontinuado': false,
            'status': '',
            'origem': 'Prescrição',
            'cid': 'c394',
            'mostrarDescricao': false,
            'subtitulo': ', Comprimido (20un)',
            'titulo': 'Dipirona 500mg'
        },
    ],
    'id': 34806827,
}

DELETE - {url}/prescription/{id}

Como o médico pode excluir uma prescrição criada na Memed, é necessário que o parceiro também apague/inative o registro da prescrição salvo anteriormente. Essa rota irá comunicar ao parceiro que a prescrição id foi excluída pelo médico no módulo da Memed.

O id é o mesmo retornado na requisição de POST {url}/prescription/{id} anterior.

Last updated