Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Menu Docs
Página inicial do Docs
/

Camada Híbrida de Dados Operacionais FHIR

Casos de uso: Pesquisainteligente

Setores: Saúde

Produtos: MongoDB Atlas, MongoDB Community Server Edition, MongoDB Enterprise Advanced

Parceiros: Tapdata

Este projeto desenvolve um padrão FHIR híbrido ODL para cuidados de saúde. O objetivo primário é criar um armazenamento único e operacional de alto desempenho que potencialize os serviços web para o cliente. Além disso, o projeto expõe compatibilidade com FHIR pontos de extremidade para os recursos em escopo, para que recursos futuros possam ser criados usando a REST API do FHIR em vez de novos serviços personalizados.

No seu núcleo, a ODL usa o MongoDB Atlas como um banco de dados flexível e dimensionável que armazena recursos, como Patient ou Encounter, em um formato estruturado de três blocos. Isso inclui:

  • A representação canônica do FHIR quando existe um mapeamento.

  • Campos adicionais específicos do aplicativo.

  • Campos de pesquisa com índices prévios otimizados para o desempenho da query.

Como os mapeamentos são definidos primeiro por FHIR, os campos alinhados com FHIR são armazenados usando a estrutura padrão, enquanto os atributos restantes são mantidos em blocos de aplicativo separados. Essa estrutura híbrida preserva a interoperabilidade sem forçar a solução a se comportar como um servidor FHIR completo.

O backend usa FastAPI e expõe duas famílias de APIs:

  • Aplicativo API: implementa os pontos de extremidade operacionais do cliente, por exemplo, pesquisa de pacientes, pesquisa de casos ou serviços de identificador local, usando o ODL como um backend compartilhado.

  • API FHIR: fornece pesquisa compatível com FHIR para um subconjunto definido de recursos, como Patient e Encounter, reutilizando o mesmo modelo de envelope e índices. Ele foi projetado como uma fachada FHIR pragmática, não como um servidor FHIR completo e orientado por perfis.

O frontend utiliza Next.js e inclui um demonstrador de API interativo, para que as equipes possam testar pontos de extremidade de aplicativos e queries no estilo FHIR em conjunto.

Para demonstrações e desenvolvimento, o ODL pode gerar conjuntos de dados clínicos sintéticos, permitindo testes realistas sem expor dados reais de pacientes.

A arquitetura se concentra no FHIR Hybrid ODL, uma abordagem de modelo de dados de referência que oferece suporte a padrões de acesso operacional personalizados e acesso compatível com FHIR sobre o mesmo conjunto de dados. Em vez de duplicar dados, essa abordagem indexa informações valiosas para queries operacionais e mantém o recurso FHIR completo.

O caso de uso tem origem em um desafio real de um cliente envolvendo uma grande instituição de saúde que opera várias plataformas EHR. Cada sistema oferecia serviços de acesso ao paciente de forma independente, levando a acesso fragmentado aos dados, lógica duplicada e ausência de interoperabilidade semântica.

Para simplificar isso, essa instituição introduziu um ODL para centralizar o acesso aos dados clínicos e fornecer serviços MDM compartilhados, sem interromper os aplicativos existentes.

Essa situação criou uma oportunidade de mudar para as práticas recomendadas do setor, adotando a FHIR como linguagem comum, em vez de redefinir estruturas de dados e semântica a partir do nada. Ao projetar o modelo de dados ODL com abordagem FHIR-first, a organização evitou "reinventar a roda" para conceitos essenciais, como pacientes e atendimentos. Além disso, alinhou-se às definições padronizadas de recursos, tornando-se um modelo potencial para outras organizações do setor.

A arquitetura de referência mostra como as empresas de saúde podem unificar diferentes fontes de dados, dar suporte a processos personalizados e fornecer APIs de alto desempenho usando o MongoDB Atlas. A interface é dividida em abas, e cada aba exibe uma funcionalidade específica da arquitetura.

Arquitetura de referência mostrando a integração do Atlas com um FHIR ODL

Figura 1. Arquitetura de referência FHIR Hybrid ODL

Inicialmente, a seção de mapeamentos mostra como os campos de dados legados da área de saúde são mapeados no modelo de dados ODL, que é projetado em torno de um esquema centrado no FHIR. Cada documento armazena:

  • Um recurso FHIR canônico (quando existe um mapeamento FHIR)

  • Campos específicos do aplicativo exigidos pelos fluxos de trabalho atuais

  • Campos otimizados para pesquisa usados pelas APIs

Os usuários podem navegar por um conjunto completo de mapeamentos de campo em entidades como Patient e Encounter em uma tabela interativa. Isso os ajuda a entender quais campos vêm da especificação FHIR e quais são modelados como campos de aplicativo ou pesquisa. Essa estratégia de mapeamento facilita o rastreamento da linhagem de dados e a avaliação do alinhamento com os padrões.

Arquitetura de referência mostrando a integração do Atlas com um FHIR ODL

Figura 2. Aba Mapeamentos na demonstração do Hybrid FHIR ODL

A plataforma inclui um gerador integrado que cria dados clínicos sintéticos para testes de armazenamento e recuperação, permitindo que as equipes testem a funcionalidade. Os usuários podem personalizar o conteúdo sintético, incluindo o número de pacientes, consultas por paciente, profissionais e equipes de atendimento.

Arquitetura de referência mostrando a integração do Atlas com um FHIR ODL

Figura 3. Gerador de dados clínicos sintéticos

Depois que os dados são preenchidos, a seção de visualização de dados permite que os usuários explorem os recursos FHIR armazenados no MongoDB. Ele mostra o conteúdo canônico do FHIR e os campos ODL adicionais em um só lugar, esclarecendo como os dados padrão e operacionais coexistem.

A seção API do cliente integra sistemas legados de saúde à plataforma. Um testador de API permite que os usuários chamem pontos de extremidade operacionais e de MDM específicos do cliente. Ao selecionar um ponto de extremidade e inserir os parâmetros necessários, os usuários podem executar a query e ver a resposta de formato, conforme os sistemas personalizados esperam.

Por fim, a seção FHIR API Tester permite que os usuários realizem pesquisas padrão FHIR no conjunto de dados subjacente. Os resultados exibem o pipeline de query do MongoDB e a resposta do FHIR. Essa visualização destaca como a plataforma mantém a saída em conformidade com o padrão FHIR, fornece perspicácias de desempenho e detalhes de depuração.

A camada de API dupla é fundamental para a arquitetura. A plataforma expõe dois tipos de pontos de extremidade do modelo de dados centrado em FHIR:

  • APIs de aplicativo: pontos de extremidade personalizados que correspondem a serviços de integração existentes.

  • API FHIR: queries no estilo FHIR sobre o mesmo conjunto de dados para acesso baseado em padrões.

Ambas as APIs incluem um conjunto de queries de exemplo predefinidas, para que os usuários possam acionar queries típicas com um único clique.

Ao utilizar esses cenários prontos, as equipes percebem rapidamente como um esquema ODL pode atender simultaneamente APIs compatíveis com legado e com FHIR, sem pipelines ETL adicionais ou bancos de dados separados. Descubra como a TapData, parceiro do MongoDB, utiliza o padrão de camada de API dupla em sua plataforma. Aprenda mais sobre essa integração aqui.

A arquitetura é criada em torno de um esquema ODL centrado em FHIR armazenado no MongoDB. Em vez de distribuir os dados de pacientes e queries por muitas tabelas, cada registro é mantido como um único documento com três seções. Cada seção serve a um propósito específico dentro do ODL:

  • resource para o conteúdo FHIR canônico: contém um objeto R4 FHIR válido, como Patient ou Encounter. Esse bloco pode ser retornado diretamente por pontos de extremidade no estilo FHIR sem transformação adicional.

  • app para os metadados do aplicativo: contém campos que são necessários pelos fluxos de trabalho, mas fazem parte do recurso FHIR base. Ele inclui campos como códigos internos, sinalizadores de classificação ou outros atributos específicos do cliente.

  • search para a superfície de query desnormalizada: achata os atributos usados com mais frequência em queries, incluindo identificadores como nomes, datas importantes, organização ou referências de localização. Também transforma as chaves de relacionamento em campos de fácil indexação e uso para a camada de API.

Abaixo, você pode encontrar um exemplo comentado de JSON para o recurso Encounter:

{
"_id": "ObjectId",
"tenant": "tenant-1",
"resourceType": "Encounter",
// 1 Canonical FHIR block
"resource": {
"resourceType": "Encounter",
"id": "036fcfcd-797c-4ae2-a30f-49226357deb2",
...,
"status": "onhold",
"class": {
"code": "EMER"
},
"serviceType": {
...
},
"period": {
"start": "2025-10-31T17:43:00",
"end": "2025-11-02T17:43:00"
},
"serviceProvider": {},
"hospitalization": {},
"participant": [],
"location": [],
"type": [
{ ... }
]
},
// 2 Application block
"app": {
"caseNum": "QH-1761928980-83",
"doctorCode": "DR100",
"specialistCode": "DR100",
...,
"sourceIndicator": "SELF",
"patientGroup": "G2"
},
// 3 Search block
"search": {
"start": "2025-10-31T17:43:00",
"end": "2025-11-02T17:43:00",
"local_id": "A108548(0)",
...,
"caseNum": "QH-1761928980-83",
"statusCode": "onhold",
"caseType": "E"
}
}

Para obter instruções detalhadas de configuração, siga os passos descritos no README deste repositório do GitHub. Esse repositório hospeda o backend e o frontend desta demonstração.

Para reproduzir esta demonstração em seu próprio ambiente, siga estas etapas:

1

Conecte-se ao seu portal MongoDB Atlas e crie um banco de dados chamado fhir_demo e uma coleção chamada fhir para este projeto.

Salve a string de conexão para as próximas etapas e adicione seu endereço IP à lista de acesso.

2

Clone o repositório na localização de sua preferência usando os seguintes comandos em seu terminal:

git clone https://github.com/mongodb-industry-solutions/hybrid-fhir-odl.git
cd hybrid-odl
3

Vá para o diretório /backend e crie um arquivo .env com os detalhes de conexão abaixo. Use sua string de conexão MONGODB_URI salva na Etapa 1.

MONGODB_URI=mongodb+srv://<user>:<password>@<cluster-url>/?retryWrites=true&w=majority
MONGODB_DB=fhir_demo
MONGODB_COLLECTION=fhir
MONGODB_TENANT=tenant-1

Em seguida, navegue até o diretório /frontend e crie um arquivo .env com as seguintes informações:

NEXT_PUBLIC_ENABLE_FHIR = true
BACKEND_URL=http://localhost:3100
4

Vá para o diretório hybrid-odl e instale as dependências para os dois serviços usando o seguinte comando:

make install
5

Abra dois terminais separados e inicie cada serviço independentemente com os seguintes comandos:

Terminal 1: Backend

make backend

Terminal 2: Frontend

make frontend

Depois de concluir essas etapas, você terá uma demonstração funcional do FHIR ODL híbrido. Você pode acessar os recursos nos seguintes URLs:

  • Modernizar sistemas de saúde legados: esta solução mostra como os hospitais podem atualizar sua infraestrutura de dados clínicos sem ter que interromper fluxos de trabalho operacionais. Em vez de exigir que as instituições mantenham os serviços totalmente personalizados ou mudem totalmente para o FHIR, essa abordagem permite integrar esses sistemas de forma gradual. Os dados permanecem disponíveis como recursos FHIR, e os pontos de extremidade do aplicativo personalizado e os padrões de query existentes continuam a funcionar por meio da camada de API do aplicativo. Os hospitais que utilizam esta solução podem modernizar sua infraestrutura aos poucos, movendo equipes clínicas e sistemas parceiros no seu próprio ritmo.

  • Otimize o desempenho de dados clínicos: esta abordagem permite que os dados FHIR permaneçam inalterados no bloco de recurso para compliance com os padrões, enquanto as informações do aplicativo residem em atributos de alto uso, indexados para desempenho de pesquisa mais rápido. O sistema é apropriado para dashboards clínicos em tempo real, análise operacional e pesquisas rápidas durante o registro, triagem e gerenciamento de leitos.

  • Acelere a interoperabilidade e a produtividade dos desenvolvedores: a arquitetura de API dupla, a geração de dados sintéticos integrada e as ferramentas interativas de teste de API ajudam as equipes a prototipar, validar e implantar rapidamente soluções compatíveis com FHIR sem interromper os processos hospitalares existentes.

  • Patricia Renart Carnicero, MongoDB

  • Francesc Mateu Amengual, MongoDB

  • Assistência médica viabilizada por AI com a MongoDB e a Microsoft

  • Varejo impulsionado por IA: personalização e precisão

  • RAG sensível ao contexto para documentos técnicos

Voltar

Gerador de relatórios médicas

Nesta página