Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Згода та модель доступу
Хто що бачить: ізоляція проектів, парні ідентифікатори, гранти, право власності на запис, походження та те, що пацієнт бачить про кожен додаток з доступом.
Правило: за згодою пацієнта організація бачить повний запис — включно з тим, що написали інші клініки — але може змінювати або видаляти лише те, що написала сама. Кожна версія кожного ресурсу записує проєкт, який його написав, та організацію, від імені якої він був написаний.
Хто що бачить
- Проєкт (API ключ) бачить пацієнтів, яких він створив. У межах гранта (OAuth токен) застосунок бачить рівно одного пацієнта, незалежно від усіх авторів, обмеженого наданими областями дії (scopes) та фільтрами категорій. Все інше повертає 404, ніколи 403, тому ідентифікатори неможливо перевірити.
- Парні ідентифікатори: кожен проєкт отримує власний ідентифікатор для однієї й тієї ж особи; внутрішні ідентифікатори ніколи не залишають платформу. Посилання на пацієнтів поза вашою областю дії маскуються непрозорим токеном для кожного проєкту.
- Довідник (Organization, Practitioner, PractitionerRole): читається за ідентифікатором по всій площині, щоб посилання розв'язувалися; пошук можливий лише в межах вашого проєкту; використовується як
X-Anpheros-Acting-As/X-Anpheros-On-Behalf-Ofлише коли він ваш. - Пісочниця (Sandbox) та продакшн — це різні бази даних. Ключ пісочниці фізично не може отримати доступ до реальних пацієнтів.
Записи та власність
project_idна кожній версії ресурсу = автор запису. Оновлення/видалення іншим проєктом → 403 з поясненням; напишіть власний ресурс натомість.Provenance.agent.onBehalfOf= клініка/організація на момент запису:X-Anpheros-On-Behalf-Of, інакше організація діючої ролі PractitionerRole, інакше організація проєкту.- Кожен запис створює ресурс Provenance та рядок аудиту (хто, що, коли, під яким грантом, яка програма, з якого відбитка джерела).
Що бачить пацієнт
/me/patients/{id}/grants перелічує кожну програму з доступом, її області дії та термін дії; …/access-log перелічує, що кожна програма читала або записувала — під згодою та з власним ключем проєкту. Відкликання набуває чинності з наступним запитом; програма не може поновити доступ.
За допомогою format=fhir журнал доступу повертається як Bundle ресурсів FHIR R4 AuditEvent, сформованих за шаблонами IHE Basic Audit Log Patterns (тип rest, взаємодія як підтип, програма та особа, що діє через неї, як агенти, пацієнт і ресурс як сутності, без клінічних даних), тому інша система може об'єднати його в уявлення особи про те, хто мав доступ до її запису.
Що записує кожен ресурс Provenance та як його налаштувати: Пояснення походження медичних даних.
SMART Health Links (обмін за допомогою QR-коду або посилання)
Людина може поділитися своїм записом без проміжного застосунку: POST /me/patients/{id}/shl створює
SMART Health Link для екстреного набору даних (алергії,
ліки, проблеми, щеплення — без результатів чи історії) або повного Міжнародного резюме пацієнта (International Patient Summary), з
необов'язковим паролем та терміном дії. Відповідь містить URI shlink:/… (для QR-коду) та адресу перегляду на /shl/view, яка відкривається в будь-якому браузері. Той, хто сканує, надсилає запит на URL маніфесту та отримує резюме у вигляді JWE (dir + A256GCM), зашифрованого ключем, що міститься в посиланні; працює будь-який зчитувач SMART Health Link.
- Вміст генерується при кожному відкритті (прапорець
L, статусcan-change), тому картка, збережена в телефоні, залишається актуальною. - Пароль (прапорець
P) перевіряється на сервері; після 10 невдалих спроб посилання перестає працювати. GET /me/patients/{id}/shlперелічує посилання із зазначенням частоти та часу кожного відкриття;…/shl/{link}/revokeвимикає одне посилання одночасно. Кожне відкриття записується в журнал доступу.- Внутрішній ідентифікатор особи ніколи не залишає платформу: документ називає його псевдонімом посилання.
ШІ-агенти пропонують, людина вирішує
За згодою людини, запис від ШІ-агента (додаток, зареєстрований як агент, наприклад, помічник, підключений через MCP) або будь-який запис з author_type ai не застосовується одразу. Платформа валідує його та відповідає 202 Accepted з ідентифікатором пропозиції (заголовок Anpheros-Proposal); жодних змін у записі не відбувається. Людина бачить це в GET /me/patients/{id}/proposals — що це, який додаток надіслав його — і приймає або відхиляє його (…/proposals/{proposal}/accept або …/reject). Прийнята пропозиція записується точно так, як була надіслана, позначена як написана ШІ (HL7 AI Transparency). Проєкти, які можуть бачити запис, отримують тонкий proposal.created webhook. Записи, зроблені за допомогою власного ключа проєкту, у записах, створених проєктом, не утримуються.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card