Сервер FHIR хранит и предоставляет ресурсы FHIR. Платформа FHIR — это то, что вам действительно нужно для выпуска медицинского продукта: сервер, плюс идентификация, согласие, происхождение данных, изоляция между клиентами, веб-хуки, документы, терминология и кто-то, кто обеспечивает его работу в соответствии с GDPR. Это руководство объясняет разницу и описывает, как Anpheros Platform заполняет каждый пробел, чтобы вы могли решить, стоит ли строить на ней или запускать собственное решение.
Техническая версия для разработчиков: Платформа медицинских API · Сравнение серверов FHIR на developers.anpheros.com с запросами, ответами и ограничениями. Эта страница — версия для широкой аудитории.
Сервер против платформы
FHIR-серверы с открытым исходным кодом (например, HAPI) отлично справляются с частью FHIR: ресурсы, поиск, проверка, история. Все остальное вам придется делать самим:
| Потребность | FHIR-сервер | FHIR-платформа |
|---|---|---|
| Хранение ресурсов, поиск, история | да | да |
| Кто может читать данные пациента | ваш код | встроенное согласие |
| Кто записал каждое значение | ваш код | Происхождение данных при каждой записи |
| Несколько клиентов в одной системе | ваш код | изоляция проектов, парные идентификаторы |
| Экран согласия для пациента | ваш код | OAuth 2.1 + SMART on FHIR |
| Уведомления для вашего приложения | опрос | подписанные веб-хуки |
| Реалистичные тестовые данные | ваши фикстуры | 30 синтетических пациентов на песочницу |
| Хостинг, резервное копирование, GDPR, DPA | ваша команда эксплуатации | включено |
Если у вас есть команда эксплуатации, специалист по соответствию нормативным требованиям и шесть месяцев времени, запуск собственного сервера — отличный выбор. Если у вас есть продукт, который нужно выпустить, платформа позволит сделать это быстрее.
Как устроена Anpheros Platform
Одна запись FHIR R4 на пациента. 26 типов ресурсов, кодированных с использованием LOINC, ICD-10 и ATC, с проверкой при записи. Строгий FHIR API находится по адресу /fhir/R4, с CapabilityStatement по адресу /fhir/R4/metadata, а простой REST API по адресу /v1 предоставляет те же данные с теми же идентификаторами.
Изоляция проектов и парные идентификаторы. Проект (API-ключ) видит только созданных им пациентов. Каждый проект получает свой собственный идентификатор для одного и того же человека; внутренние идентификаторы никогда не покидают платформу. Ссылки на пациентов за пределами вашей области видимости маскируются непрозрачным токеном для каждого проекта.
Согласие определяет чтение, владение определяет запись. С согласия пациента организация видит всю запись, включая то, что написали другие клиники, но может изменять или удалять только то, что написала сама. Каждая версия каждого ресурса записывает проект, который ее создал; запись другим проектом отклоняется с объяснением.
Происхождение данных и аудит при каждой записи. Provenance.agent.onBehalfOf указывает клинику или организацию на момент записи; строка аудита записывает, кто, что, когда, по какому разрешению, из какого приложения. Пациент может прочитать свой журнал доступа, также в виде ресурсов FHIR AuditEvent.
Легкие, подписанные веб-хуки. События содержат идентификаторы и версии, но никогда клиническое содержимое; вы читаете ресурс через API. Доставки подписываются с помощью HMAC-SHA256 и повторяются с экспоненциальной задержкой до 24 часов.
Песочница и производственная среда — это отдельные базы данных. Ключ sk_test_ не может получить доступ к реальному пациенту. Песочница бесплатна и доступна в режиме самообслуживания.
Резидентство в ЕС. Cloud Run в europe-west4, с соглашением об обработке данных для производственных организаций.
Что намеренно отсутствует
- Нет поддержки принятия клинических решений. Платформа хранит, кодирует и обменивается данными; она не ставит диагнозы и не рекомендует лечение.
- Нет полноценной базы данных лекарств с информацией о взаимодействиях. Лекарства кодируются с использованием ATC, и для поиска доступен набор ATC и LOINC, но проверка взаимодействий — это ваша задача или лицензированная услуга.
- Нет шины сообщений HL7 v2 уровня больницы. Есть импорт HL7 v2 ORU^R01 для лабораторных отчетов; нет управления ADT или заказами.
Знание этих ограничений заранее сэкономит неделю исследований.
Когда вместо этого стоит запустить собственный сервер
- Вам необходимо разместить данные в собственной сети больницы без внешних обработчиков.
- Вам нужен FHIR R5 или профили, которые платформа не реализует.
- Ваш продукт — это сам FHIR-сервер.
Во всех остальных случаях начните с песочницы, проведите измерения и примите решение на основе данных. Первый час описан на developers.anpheros.com/guides/first-hour; полный справочник по API находится на platform.anpheros.com/docs.
Частые вопросы
Является ли Anpheros FHIR-сервером?
Он содержит его: FHIR R4 API с 26 типами ресурсов, поиском, историей, операциями $everything, $summary, $validate и операциями с терминологией. Вокруг него находятся функции согласия, происхождения данных, изоляции, веб-хуков и хостинга, что и делает его платформой.
Какая версия FHIR?
FHIR R4 (4.0.1), версия, требуемая законодательством ЕС и США и реализованная большинством систем. Соответствие было проверено с помощью Inferno; см. заметки о соответствии IPS.
Могут ли несколько клиник совместно использовать запись одного пациента?
Да, в этом и заключается суть. С согласия пациента каждая клиника читает всю запись и записывает свои собственные ресурсы, каждый из которых помечен своим происхождением данных. Ни одна клиника не может изменить то, что написала другая.
Есть ли бесплатный FHIR-бэкенд для разработки?
Да. Песочница бесплатна, доступна в режиме самообслуживания и поставляется с 30 синтетическими пациентами на проект. См. Бесплатный FHIR-сервер: песочница.
Как мне мигрировать, если мне это понадобится?
Все выполнено в формате FHIR R4 и подлежит экспорту: Patient/{id}/$everything возвращает всю запись пациента в виде Bundle. Нет никакого проприетарного формата, который нужно было бы разбирать.
Держите медицинскую карту при себе
Anpheros Daily хранит симптомы, анализы, лекарства и документы в одном месте, в стандартном формате и под вашим контролем. Тариф Basic бесплатный.