AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Plataforma de consentimento do paciente para apps de saúde

Consentimento integrado na camada de dados: âmbitos OAuth 2.1 e SMART, finalidade e expiração escolhidas pela pessoa, um registo de acesso que podem ver, revogação no pedido seguinte e o que a sua app ainda possui.

Uma plataforma de consentimento do paciente permite que uma pessoa decida quais aplicações podem ler ou alterar o seu registo de saúde, para que propósito e por quanto tempo, e permite-lhes ver e revogar esse acesso a qualquer momento. A Anpheros integra o consentimento na camada de dados: uma aplicação acede ao registo FHIR R4 de um paciente apenas através de uma autorização que a pessoa aprovou na página de consentimento da Anpheros, cada leitura e escrita sob essa autorização é registada onde a pessoa pode vê-la, e a revogação entra em vigor no próximo pedido. Esta página mostra como isso funciona, o que a sua aplicação tem de fazer e o que não precisa de construir.

How one consent works, end to end
  1. 1 · Your app asksOAuth 2.1 with PKCE: SMART scopes, a purpose and the patient's language
  2. 2 · The person decidesOn the Anpheros consent page: what, for whom and for how long — 30, 90, 180 or 365 days
  3. 3 · Your app readsOne patient's record, only the granted resource types and categories
  4. 4 · Every access is loggedThe person sees each read and write by your application
  5. 5 · The person revokesThe next request fails; a refresh token cannot bring access back

Porquê o consentimento pertence à camada de dados

A maioria das aplicações de saúde regista o consentimento como uma caixa de seleção na sua própria base de dados e, em seguida, impõe-no no código da aplicação. Isto funciona até que uma segunda aplicação, uma integração clínica ou uma funcionalidade de IA necessite dos mesmos dados: cada uma tem de reimplementar as regras, e a pessoa não tem um único local para ver quem tem acesso. Quando a plataforma que armazena o registo também impõe o consentimento, cada cliente obtém as mesmas regras e a pessoa obtém uma lista de aplicações para rever.

Consentimento como um indicador na sua aplicação Consentimento na camada de dados (Anpheros)
Onde é imposto No código de cada aplicação Em cada pedido de API, pela plataforma
Âmbito de acesso Tudo o que a aplicação decide ler Apenas os tipos de recursos e categorias concedidos
Expiração Raramente implementado Escolhido pela pessoa: 30, 90, 180 ou 365 dias
O que a pessoa vê Depende da aplicação Cada aplicação, os seus âmbitos e expiração, e um registo de acesso
Revogação Tem de ser propagada manualmente O próximo pedido falha; o token de atualização deixa de funcionar

O que o paciente controla

What the patient controls
WhoEach application is listed by name with its own grant
WhatResource types and categories, e.g. only laboratory Observations
WhyThe purpose your app declares is shown on the consent page
How long30, 90, 180 or 365 days; access ends by itself
What happenedAn access log of every read and write under the grant
StopRevocation takes effect on the next request

Como a sua aplicação pede consentimento

Anpheros utiliza OAuth 2.1 com PKCE e âmbitos SMART on FHIR v2. A sua aplicação envia a pessoa para a página de consentimento com os âmbitos de que necessita e um propósito opcional; após aprovação, recebe um token de acesso (30 minutos) e um token de atualização rotativo (30 dias) para um paciente específico.

import { OAuthFlow, generatePkce } from '@anpheros/sdk';

const flow = new OAuthFlow({
  baseUrl: 'https://platform.anpheros.com',
  clientId: process.env.ANPHEROS_CLIENT_ID!,
  redirectUri: 'https://your.app/callback',
});
const pkce = await generatePkce();
const url = flow.authorizeUrl({
  scopes: ['patient/Observation.rs?category=laboratory', 'patient/Condition.rs', 'offline_access'],
  purpose: 'treatment',
  state: crypto.randomUUID(),
  pkce,
  lang: 'en',
});
// redirect the person to `url`; on the callback exchange the code (see the authentication guide)

Um âmbito como patient/Observation.rs?category=laboratory limita a leitura a resultados de laboratório; o filtro de categoria é aplicado pelo servidor. Um tipo de recurso fora da concessão retorna 403; um paciente fora da concessão retorna 404, pelo que os IDs não podem ser sondados.

Reagir à revogação

Quando a pessoa termina uma autorização, o próximo pedido com esse token falha e o token de atualização não consegue restabelecer o acesso. Para limpar imediatamente, subscreva o webhook consent.revoked, que transporta o grant_id, o ID do paciente que vê, os escopos e o revoked_at.

await anpheros.webhooks.create('https://your.app/anpheros/hook', { events: ['consent.granted', 'consent.revoked'] });

O que o Anpheros não faz

Perguntas Frequentes

O que é uma plataforma de consentimento do paciente?

Software que regista quais as aplicações que uma pessoa permite aceder aos seus dados de saúde, impõe essas escolhas em cada pedido, mostra à pessoa quem acedeu ao quê e permite-lhe retirar o acesso. No Anpheros, o consentimento faz parte do registo FHIR R4 em si, em vez de ser um serviço separado.

Quais os padrões que o Anpheros utiliza para o consentimento do paciente?

OAuth 2.1 com PKCE para o fluxo de autorização e os âmbitos de paciente SMART on FHIR v2 (patient/<Type>.<cruds> com um filtro ?category= opcional) para o que uma aplicação pode ler ou escrever. OpenID Connect adiciona um ID token quando solicita openid fhirUser.

Pode um paciente limitar o acesso a apenas alguns dos seus dados?

Sim. O acesso é limitado aos tipos de recursos e categorias nos âmbitos concedidos, por exemplo, apenas Observações de laboratório. Todo o resto devolve um erro.

Quanto tempo dura o consentimento?

A pessoa escolhe 30, 90, 180 ou 365 dias na página de consentimento. Após esse período, a concessão expira e a aplicação tem de pedir novamente.

Pode o paciente ver o que uma aplicação fez com o acesso?

Sim. A pessoa vê cada aplicação com acesso, os seus âmbitos e data de expiração, e um registo de acesso listando o que cada aplicação leu ou escreveu.

O que acontece quando o consentimento é revogado?

O próximo pedido com esse token de acesso falha, o token de atualização não pode ser utilizado para obter um novo, e o seu servidor recebe um webhook consent.revoked se estiver subscrito.

Relacionado

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy