Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
API для здравоохранения с согласием пациента
Как пациент предоставляет доступ к своей карте через области действия OAuth 2.1 и сроки, как это регистрируется и может быть отозвано, что это меняет в дизайне приложения и как парные идентификаторы разделяют приложения.
API для здравоохранения с согласия пациента — это API, в котором доступ к записи предоставляется пациентом для определенной цели и на определенное время, и пациент может видеть этот доступ и отозвать его, а не организация, владеющая данными, принимает решение один раз. В Anpheros согласие — это не поле, которое вы устанавливаете; это механизм, с помощью которого приложение вообще получает доступ к записи. Это руководство объясняет, как это работает для разработчика и что это меняет в дизайне приложения.
Два способа доступа к записи
| Доступ организации | Доступ, предоставленный пациентом | |
|---|---|---|
| Кто авторизует | ваша организация, через API-ключ | пациент, через экран согласия OAuth 2.1 |
| Типичное использование | клиника или лаборатория, записывающая результаты; ваше собственное приложение, записывающее данные от имени своих пользователей | стороннее приложение, ИИ-ассистент, инструмент врача, член семьи |
| Область действия | пациенты, созданные вашей организацией или предоставленные ей | области действия, принятые пациентом (patient/Observation.read, …) |
| Продолжительность | пока ключ действителен | продолжительность, выбранная пациентом; возобновляемая, отзываемая |
| Видимость для пациента | да, в журнале доступа | да, с возможностью отзыва |
Оба пути проходят через один и тот же API и одну и ту же запись FHIR. Разница в том, кто держит ключ от двери.
Поток согласия, шаг за шагом
- Ваше приложение направляет пациента на конечную точку авторизации Anpheros с необходимыми областями действия (scopes) и причиной в свободной форме.
- Пациент видит, что вы запрашиваете, выбирает срок действия и принимает или отклоняет запрос. Экран отображается на языке пациента.
- Вы получаете токен доступа, ограниченный указанными областями действия и данным пациентом. Токены имеют короткий срок действия; токены обновления действуют столько же, сколько и согласие.
- Каждое чтение и запись с использованием этого токена регистрируется с указанием имени вашего приложения. Пациент видит журнал в своем приложении.
- Если пациент отзывает согласие, следующий запрос завершается ошибкой с четким сообщением. Вы получаете вебхук, чтобы иметь возможность выполнить очистку.
Этот поток является стандартным OAuth 2.1 с PKCE и областями действия SMART on FHIR, поэтому существующие библиотеки будут работать. В руководстве Аутентификация и OAuth приведены точные параметры, а в руководстве Модель согласия и доступа — правила, лежащие в его основе.
Что это меняет в вашем приложении
- Вы запрашиваете меньше. Области действия (scopes) определяются для каждого типа ресурса и направления. Приложение, которое отображает вес, запрашивает
Observation.read, а не всю запись. - Вы проектируете с учетом отзыва доступа. Доступ может быть прекращен в любое время. Кэшируйте мало, перечитывайте по мере необходимости и обрабатывайте ошибку отзыва доступа как нормальное состояние.
- Вы получаете доверие бесплатно. Пациенты видят название вашего приложения, к каким данным оно имеет доступ и когда оно последний раз их считывало. Приложения, ведущие себя корректно, легче принимаются.
- Вы пишете с указанием происхождения данных. Все, что вы записываете, несет информацию о вашем приложении как авторе и, когда это применимо, о человеке, от имени которого была произведена запись. Пациент и другие приложения могут отличить ваши данные от своих.
Идентификаторы, не раскрывающие информацию
Каждое приложение видит пациента под уникальным парным идентификатором: один и тот же человек будет иметь разные ID в вашем приложении и в другом. Два приложения не могут объединить свои данные о человеке без согласия пациента, даже если оба построены на Anpheros. Для вашего кода это невидимо; для пациента это разница между согласием и формальностью.
Семьи и опекуны
Согласие распространяется на лиц, управляющих записями других лиц: родитель для ребенка, взрослый ребенок для пожилого родителя. Запись остается с учетной записью, которая ее создала; другие учетные записи получают доступ, который может быть отозван. Ваше приложение видит тот же механизм согласия, где опекун является лицом, принимающим согласие.
Связанные материалы
- Модель согласия и доступа
- Аутентификация и OAuth
- Бэкенд SMART on FHIR
- Healthcare API
- Безопасность, конфиденциальность и размещение данных
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card