Ecossistema FHIR
FHIR
FHIR é um padrão para a troca de informação em saúde, o acrônimo vem de Fast Healthcare Interoperability Resources.
Destacado no próprio nome, resource, ou recurso, é o elemento básico empregado para a interoperabilidade de sistemas de informação em saúde usando FHIR.
Um recurso representa algum tipo de entidade do cuidado em saúde. Por exemplo, o recurso Patient é empregado para dados demográficos ou outra informação administrativa acerca do indivíduo. Por outro lado, se o que se deseja trocar são medidas como pressão ou temperatura, por exemplo, então fará uso do recurso Observation.
No momento em que esta página é escrita estão definidos 145 tipos distintos de recursos. Todos eles devidamente documentados.
Está além do escopo apresentar o FHIR em abrangência e profundidade. Os primeiros passos podem ser orientados por aqui.
Forge (editor de perfis)
O FHIR visa contemplar um conjunto razoável de cenários, mas não é possível abarcar os usos específicos de todo o planeta. Felizmente, o FHIR permite "personalizações" por meio de perfis (profiles).
A definição de perfis é um esforço de modelagem de informação em saúde. Desenvolvedores terão que ter acesso aos perfis que personalizam os recursos a serem trocados. Afinal, toda a troca de dados deverá estar em conformidade com os perfis definidos. Consulte os perfis definidos pela RNDS para detalhes.
A edição de um perfil é melhor realizada com o apoio de um editor específico para esta finalidade. Forge, disponível para Windows, é uma opção.
Convém ressaltar que para a integração com a RNDS não será necessário definir perfis (profiles). Esta é uma atribuição da RNDS e os perfis já estão definidos. O acesso a eles, contudo, é necessário para verificar se as personalizações definidas são atendidas.
Simplifier.NET
Simplifier.NET é um serviço que permite publicar e consultar perfis (profiles). Convém ressaltar que perfis precisam ser conhecidos entre as partes que irão interagir e que ferramenta a Forge, por exemplo, apresentada na seção anterior, permite apenas criá-los.
As facilidades oferecidas pelo Simplifier.NET incluem a navegação entre recursos e definições pertinentes, o que é desejável para quem deseja consultar perfis.
Os perfis definidos pela RNDS podem ser consultados via este serviço.
JSON (há ainda XML e RDF)
Quando se usa o FHIR para troca de dados, o que ocorre é a troca de recursos. Tais recursos podem trafegar representados em vários formatos, dentre eles, JSON. Este guia de integração faz uso de JSON.
O portal oficial define JSON (JavaScript Object Notation) como um formato leve para troca de dados. Ainda acrescenta que este formato é fácil para seres humanos escreverem e lerem.
XML, à semelhança de JSON, é comumente empregado em web services (serviços oferecidos por meio da internet). Por outro lado, RDF está associado, em geral, a questões semânticas, por exemplo, quando se deseja realizar inferência sobre os dados.
Implementação do FHIR
FHIR é uma especificação, um padrão. Computador, por outro lado, precisa de um software que implementa este padrão para ser executado. Há várias implementações do padrão FHIR e algumas são open source, como a implementação de referência do FHIR, a Hapi FHIR.
A integração com a RNDS significa que há uma implementação do FHIR oferecida pela RNDS, observando os perfis definidas pela RNDS, por meio da qual laboratórios e outros estabelecimentos de súde consultam e enviam informações de saúde.
Quem disponibiliza uma implementação do FHIR é a RNDS. Laboratórios são clientes desta implementação. Laboratórios não precisam disponibilizar uma implementação do FHIR.
A implementação do FHIR oferecida pela RNDS está disponível em dois ambientes, um de homologação e outro de produção.
Implementações para testes
Há vários servidores disponíveis para experimentação com o FHIR. Ou seja, são computadores que estão executando alguma implementação do FHIR e não cobram nada por isso. Estes servidores são empregados apenas para testes, o que é suficiente para desenvolvedores que queiram conhecer mais sobre o padrão.
Cada um destes servidores funciona como um estabelecimento apto a interagir com outros por meio do FHIR. Desta forma, sem exigências que são necessárias em um cenário real, até porque os dados disponibilizados não são dados reais, você pode submeter requisições e observar os recursos retornados no formato da sua escolha, em geral XML ou JSON, conforme visto anteriormente.
Desenvolvedores podem empregar estes servidores para se ambientar com o padrão FHIR. De fato, o acesso ao ambiente de homologação da RNDS pode ser precedido pelo contato com um destes servidores.
Antes que o responsável pelo laboratório obtenha um certificado digital, peça o credenciamento e aguarde pela homologação, desenvolvedores podem empregar um destes servidores para experimentação. Convém observar, contudo, que nestes casos tais servidores não estarão aderentes aos perfis estabelecidos pela RNDS. Ou seja, seguem o padrão FHIR, mas sem "obdecer" as especificidades impostas pelos perfis nacionais.
Em tempo, a implementação de referência do FHIR, Hapi FHIR, citada anteriormente, também possui um servidor para testes disponível em http://hapi.fhir.org/.
RESTful API FHIR
Há uma API (Application Programming Interface) bem-definida para o acesso a um servidor FHIR. Trata-se de uma RESTFul API, a RESTful API FHIR.
Consulte What is REST para saber o que é uma RESTful API, e portais pertinentes. RESTful API é um estilo amplamente empregado para integração entre sistemas, e não é específico para a saúde. Há um conjunto significativo de servições disponíveis por meio de uma RESTful API (veja uma lista deles aqui).
FHIRPath
FHIRPath é um mecanismo para manusear documentos JSON contendo recursos FHIR. Trata-se de proposta similar à JsonPath e XML Path, por exemplo. Contudo, possui funções específicas para documentos contendo recursos FHIR.