AnpherosAnpheros PlatformDevelopers

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

Платформа согласия пациента для медицинских приложений

Согласие, встроенное в уровень данных: OAuth 2.1 и области действия SMART, цель и срок действия, выбранные пользователем, журнал доступа, который он может просмотреть, отзыв при следующем запросе и что остается в собственности вашего приложения.

Платформа согласия пациента позволяет человеку решать, каким приложениям разрешено читать или изменять его медицинскую карту, для каких целей и на какой срок, а также позволяет ему просматривать и отзывать этот доступ в любое время. Anpheros встраивает согласие в слой данных: приложение получает доступ к записи FHIR R4 пациента только через разрешение, одобренное человеком на странице согласия Anpheros, каждое чтение и запись в рамках этого разрешения регистрируются там, где человек может их увидеть, а отзыв вступает в силу при следующем запросе. На этой странице показано, как это работает, что должно сделать ваше приложение и что ему не нужно создавать.

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

Почему согласие должно находиться на уровне данных

Большинство медицинских приложений записывают согласие в виде флажка в собственной базе данных, а затем применяют его в коде приложения. Это работает до тех пор, пока второе приложение, интеграция с клиникой или функция искусственного интеллекта не потребуют те же данные: каждое из них должно переimplementровать правила, а у человека нет единого места, где можно было бы увидеть, кто имеет доступ. Когда платформа, хранящая запись, также обеспечивает соблюдение согласия, каждый клиент получает одинаковые правила, а у человека появляется один список приложений для проверки.

Согласие как флаг в вашем приложении Согласие на уровне данных (Anpheros)
Где применяется В коде каждого приложения При каждом запросе к API, платформой
Область доступа Все, что приложение решает прочитать Только предоставленные типы ресурсов и категории
Срок действия Редко реализуется Выбирается человеком: 30, 90, 180 или 365 дней
Что видит человек Зависит от приложения Каждое приложение, его области действия и срок действия, а также журнал доступа
Отзыв Должен распространяться вручную Следующий запрос завершается ошибкой; токен обновления перестает работать

Что контролирует пациент

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

Как ваше приложение запрашивает согласие

Anpheros использует OAuth 2.1 с PKCE и области действия SMART on FHIR v2. Ваше приложение направляет пользователя на страницу согласия с необходимыми областями действия и необязательной целью; после одобрения оно получает токен доступа (30 минут) и ротируемый токен обновления (30 дней) для одного конкретного пациента.

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)

Область действия, такая как patient/Observation.rs?category=laboratory, ограничивает чтение результатами лабораторных исследований; фильтр категорий применяется сервером. Тип ресурса вне предоставленного доступа возвращает 403; пациент вне предоставленного доступа возвращает 404, поэтому идентификаторы не могут быть исследованы.

Реакция на отзыв

Когда пользователь прекращает действие разрешения, следующий запрос с этим токеном завершается ошибкой, и токен обновления не может восстановить доступ. Чтобы немедленно выполнить очистку, подпишитесь на вебхук consent.revoked, который передает grant_id, идентификатор пациента, который вы видите, области действия и revoked_at.

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

Что Anpheros не делает

Часто задаваемые вопросы

Что такое платформа согласия пациента?

Программное обеспечение, которое записывает, каким приложениям человек разрешает доступ к своим медицинским данным, обеспечивает соблюдение этих решений при каждом запросе, показывает человеку, кто и что получил доступ, и позволяет ему отозвать доступ. В Anpheros согласие является частью самой записи FHIR R4, а не отдельной службой.

Какие стандарты Anpheros использует для согласия пациента?

OAuth 2.1 с PKCE для потока авторизации и пациентские области действия SMART on FHIR v2 (patient/<Type>.<cruds> с необязательным фильтром ?category=) для того, что приложение может читать или записывать. OpenID Connect добавляет токен идентификации при запросе openid fhirUser.

Может ли пациент ограничить доступ только к части своих данных?

Да. Доступ ограничен типами ресурсов и категориями в предоставленных областях действия, например, только лабораторными наблюдениями (Observations). Все остальное возвращает ошибку.

Как долго действует согласие?

Человек выбирает 30, 90, 180 или 365 дней на странице согласия. После этого разрешение истекает, и приложение должно запросить его снова.

Может ли пациент видеть, что приложение сделало с полученным доступом?

Да. Человек видит каждое приложение с доступом, его области действия и срок действия, а также журнал доступа, перечисляющий, что каждое приложение прочитало или записало.

Что происходит при отзыве согласия?

Следующий запрос с этим токеном доступа завершается ошибкой, токен обновления не может быть использован для получения нового, и ваш сервер получает вебхук consent.revoked, если он подписан.

Связанные материалы

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