Skip to content

HealthDB API

Fábio Nogueira de Lucena edited this page Aug 16, 2019 · 54 revisions

O HealthDB oferece seus serviços por meio de uma API (Application Programming Interface). Essa API é o único meio de conexão com o HealthDB. Ou seja, a interação entre Cliente (software) e HealthDB está definida na HealthDB API. Em geral, um cliente, em execução em dado processo, usa essa API para requisitar a realização de operações pelo HealthDB, executado em processo distinto, possivelmente em outro computador de uma rede.

A HealthDB API, essencialmente, permite que um Cliente se identifique, estabeleça uma conexão com o HealthDB caso devidamente autorizado e, uma vez criada a conexão, possa submeter requisições em AQL e receber, como resposta, os dados requisitados.

Ilustração

Conforme o diagrama abaixo, um Cliente faz uso da interface HealthDB API, independente da implementação HealthDB Driver que, de fato, juntamente com o HealthDB API Server, implementa o protocolo de comunicação com o HealthDB.

hdb-client-api-general

Design da HealthDB API

A HealthDB API pode se beneficiar, para sua definição, de APIs como JDBC, por exemplo, assim como se inspirar nos recursos oferecidos pela EHR API.

O uso de JDBC pode ser relevante para reutilizar a base de desenvolvedores Java que já fazem uso de JDBC para acesso a dados relacionais. Existem várias implementações de JDBC que interagem com ferramentas que não são bancos relacionais, por exemplo Datadotworld. Neste caso, contudo, é necessário oferecer uma visão dos dados baseados em arquétipos por meio de tabelas.

Componentes

Os componentes relevantes para a interação com o HealthDB são exibidos no diagrama abaixo, no qual vários clientes distintos, por meio da HealthDB API, tem acesso ao driver que, por sua vez, transfere a intenção do cliente para o HealthDB, recebida no outro extremo pelo HealthDB API Server.

hdb-client-api-components

Requisitos

  • Considerar terminologia e recursos de integração possivelmente relevantes nesse contexto.
  • Desempenho.
  • Segurança.
  • Múltiplas conexões simultaneamente.
  • Cada cliente pode criar uma única conexão por vez com o HealthDB.
  • Cada conexão pode ser reutilizada de forma concorrente pelo Cliente.
  • Cliente pode fechar uma conexão e abrir uma outra.
  • Definir de forma exaustiva e detalhada as mensagens trocadas entre cliente e HealthDB.
  • Interação deve ser ilustrada por meio de vários exemplos.
  • Implementações devem ser disponibilizadas em: Java; JavaScript; C; C# e Swift.

Entregáveis

  • Definição da HealthDB API
  • Implementação da HealthDB API: hdbapi-client e hdbapi-server, respectivamente o componente empregado pelo cliente e pelo servidor.

image

Links relevantes para JavaScript

Clone this wiki locally