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

Чому згода належить до рівня даних

Більшість медичних додатків записують згоду як прапорець у власній базі даних, а потім застосовують її в коді програми. Це працює доти, доки другий додаток, клінічна інтеграція або функція ШІ не потребуватимуть тих самих даних: кожен з них повинен буде переробити правила, а людина не матиме єдиного місця, щоб побачити, хто має доступ. Коли платформа, яка зберігає запис, також застосовує згоду, кожен клієнт отримує однакові правила, а людина отримує один список додатків для перегляду.

Згода як прапорець у вашому додатку Згода на рівні даних (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 scopes. Ваш додаток надсилає особу на сторінку згоди з необхідними scopes та необов'язковою метою; після схвалення він отримує токен доступу (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)

Scope, такий як patient/Observation.rs?category=laboratory, обмежує читання лабораторними результатами; фільтр категорії застосовується сервером. Тип ресурсу поза межами дозволу повертає 403; пацієнт поза межами дозволу повертає 404, тому ідентифікатори не можуть бути досліджені.

Реакція на відкликання

Коли особа завершує надання доступу, наступний запит із цим токеном зазнає невдачі, а токен оновлення не зможе відновити доступ. Щоб негайно очистити дані, підпишіться на consent.revoked webhook, який передає grant_id, ідентифікатор пацієнта, який ви бачите, області дії (scopes) та 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 додає ID токен, коли ви запитуєте 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