Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Архитектура медицинского приложения
Диаграммы и потоки данных: пациент -> приложение -> Anpheros API -> запись FHIR и внешние сервисы, а также ИИ-агент -> API контекста -> авторизованные данные.
Anpheros — это слой медицинских данных между вашим приложением (или AI-агентом) и записью пациента. Ваше приложение сохраняет свой пользовательский интерфейс и бизнес-логику; медицинская запись, согласие, происхождение и аудит хранятся в Anpheros и доступны через один API.
Your application, backend or AI agent
(mobile app, web app, clinic system, lab system, LLM-based assistant)
│ HTTPS · API key (sk_test_ / sk_live_) or OAuth token (at_…)
▼
Anpheros Platform API
├─ /v1 simplified REST: patients, observations, conditions, medications,
│ documents, timeline, provenance, context, labs, webhooks
├─ /fhir/R4 strict FHIR R4: 26 resource types, search, history, transactions,
│ $everything, $summary (IPS), $validate
└─ /oauth OAuth 2.1 + PKCE, SMART on FHIR, OpenID Connect
│ every request: project isolation · scopes · rate limits
▼
One FHIR R4 record per patient
├─ versions of every resource (history) ├─ Provenance for every write
├─ Consent resources for every grant └─ access log visible to the patient
│
▼
Events out: signed webhooks to your server (ids only, never clinical content)
Представление пациента: от человека к внешним сервисам
Patient
↓ uses an app, chooses what to share, sees every access
Healthcare application Anpheros Daily, or your own app
↓ REST v1 / FHIR R4 over HTTPS, API key or OAuth token
Anpheros API
↓ isolation, scopes, idempotency, provenance
FHIR medical data the patient's record: 26 resource types, every version kept
↓ only what the patient allowed, only for as long as allowed
External healthcare services laboratories (lab import), clinics (directory, acting-as),
other apps (OAuth / SMART), your backend (webhooks)
ИИ-представление: от агента к авторизованным данным
AI agent or LLM application runs the model you choose — hosted or local
↓ POST /v1/context {patient, task, question, budget_tokens}
Medical context API plans which parts of the record matter, fits them into the budget,
↓ labels every item with author type and source, records a manifest
Authorised medical data only records the project created or the patient granted;
the read appears in the patient's access log
Модель никогда не получает учетные данные и никогда не вызывает Anpheros самостоятельно; ваше приложение запрашивает контекст и решает, что отправить модели. Два полных примера с вызовами API: приложение для ИИ в здравоохранении в разделе Приложения ИИ в здравоохранении и уполномоченный агент в разделе ИИ-агенты и медицинские данные. Подробности: ИИ-агенты и медицинские данные, Приложения LLM и данные здравоохранения.
Запись
Каждый пациент имеет одну запись, состоящую из ресурсов FHIR R4: Observation для жизненно важных показателей, результатов лабораторных исследований, симптомов и сводок ежедневной активности, Condition и EpisodeOfCare, MedicationStatement и MedicationAdministration, DocumentReference, Immunization, AllergyIntolerance и других — всего 26 типов, перечисленных в реальном времени в CapabilityStatement (GET /fhir/R4/metadata). Нет необходимости изучать проприетарную схему: REST API представляет собой упрощенное представление тех же ресурсов с теми же идентификаторами.
Ничто не перезаписывается молча. Каждое обновление создает новую версию (/fhir/R4/{type}/{id}/_history), и каждая версия записывает проект, который ее создал, и организацию, от имени которой она была создана.
Два способа доступа
| API-ключ | Токен доступа OAuth | |
|---|---|---|
| Внешний вид | sk_test_… / sk_live_… |
at_… |
| Используется | вашим сервером | приложением, действующим от имени одного пациента |
| Видит | пациентов, созданных вашим проектом | ровно одного пациента, в пределах областей действия, предоставленных пациентом |
| Типичное использование | бэкенд вашего собственного приложения, лабораторная система, интеграция с клиникой | стороннее приложение или ИИ-ассистент, получающий доступ к записи, которая уже есть у пациента |
Проект никогда не видит пациентов другого проекта, если пациент не предоставит доступ. Каждый проект получает свой собственный идентификатор для одного и того же человека (парные идентификаторы), поэтому идентификаторы не могут быть сопоставлены между приложениями, а запись вне вашего доступа возвращает 404, а не 403.
Две среды
Песочница и продуктивная среда представляют собой отдельные базы данных. Ключ песочницы (sk_test_) физически не может получить доступ к реальным пациентам; каждый проект в песочнице получает свою копию из 30 синтетических пациентов, которую он может свободно изменять и сбрасывать. Ключи продуктивной среды (sk_live_) выдаются проверенным организациям.
Потоки данных
Ваше приложение записывает. POST /v1/patients/{id}/observations с Idempotency-Key. Платформа сохраняет FHIR Observation, записывает Provenance (тип автора: patient, practitioner, device, import или ai), регистрирует доступ и отправляет resource.created webhook на подписанные конечные точки.
Другое приложение читает с согласия. Пациент одобряет это на странице согласия (/oauth/authorize), выбирая запись и срок действия (30–365 дней). Приложение обменивает код на токены и читает только то, что разрешено областями действия (scopes). Пациент видит приложение, его области действия и каждое чтение в своем журнале доступа, и может отозвать его в любое время.
Лаборатория доставляет результаты. POST /v1/patients/{id}/labs/import с отчетом в формате CSV, HL7 v2 ORU^R01 или JSON; каждый результат становится лабораторным Observation с кодами LOINC, где это известно, и повторная отправка того же отчета безопасна.
Модели ИИ нужен контекст. POST /v1/context возвращает части записи, относящиеся к задаче, в пределах бюджетного лимита токенов, каждый элемент помечен источником; вызов записывается с идентификатором манифеста. Сама модель работает там, где вы выберете.
Место Anpheros по сравнению с самостоятельной разработкой
| Аспект | Самостоятельная разработка | С Anpheros |
|---|---|---|
| Модель медицинских данных | проектирование таблиц для каждого типа записей | ресурсы FHIR R4, 26 типов |
| Интероперабельность | пользовательские форматы экспорта | FHIR R4, International Patient Summary, SMART on FHIR |
| Согласие | создание логики предоставления, области действия, срока действия и отзыва | гранты OAuth 2.1, отраженные как FHIR Consent |
| Аудит | создание журналов и способа их отображения пациентам | каждое чтение и запись регистрируются и видны пациенту |
| Интеграция с лабораториями | парсинг формата каждой лаборатории | импорт CSV, HL7 v2 ORU и JSON |
| Контекст ИИ | написание кода для извлечения и суммирования | API контекста с бюджетными токенами и метками происхождения |
Связанные материалы
- Что такое Anpheros?
- Разработка медицинского программного обеспечения
- Бэкенд и база данных медицинских приложений
- Создание медицинского приложения
- Модель согласия и доступа
- Безопасность, конфиденциальность и местоположение данных
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card