AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Бэкенд и база данных медицинского приложения

Что должен обрабатывать бэкенд и база данных медицинского приложения, какие части предоставляет Anpheros как управляемую базу данных медицинских данных, что остается в вашем бэкенде, три способа подключения и как оставаться в синхронизации с помощью вебхуков.

Серверная часть медицинского приложения — это серверная сторона приложения для здравоохранения: она хранит данные пациентов, контролирует доступ к ним, ведет историю изменений и взаимодействует с лабораториями, клиниками и другими службами. С Anpheros медицинская часть этой серверной части — база данных для здравоохранения, которая хранит записи каждого пациента с его историей, согласиями, источниками данных, аудитом, импортом лабораторных данных и событиями — предоставляется платформой через API, а ваша собственная серверная часть хранит только то, что специфично для вашего продукта.

Что должен обрабатывать медицинский бэкенд

Ответственность Почему это сложно в здравоохранении С Anpheros
Медицинская модель данных десятки видов данных, каждый со стандартными кодами HL7 FHIR R4, 26 типов ресурсов, LOINC / ICD-10 / ATC / UCUM
Версионирование медицинские данные корректируются, никогда не перезаписываются молча каждое обновление — новая версия; If-Match для условных обновлений
Документы оригиналы должны оставаться неизменными и отслеживаемыми неизменяемые оригиналы с SHA-256, хранилище ЕС, зашифрованное ключом, управляемым клиентом
Контроль доступа на пациента, на приложение, на тип данных изоляция проектов, парные идентификаторы, OAuth-области с фильтрами категорий
Согласие пациент решает и может передумать разрешения на 30–365 дней, отзывные, зеркалируются как FHIR Consent
Аудит пациенты и регуляторы спрашивают, кто что видел каждое чтение и запись регистрируются и видны пациенту
Происхождение значение из лаборатории — это не значение, введенное пациентом тип автора, организация, практикующий врач и исходная система при каждой записи
Интеграции лаборатории отправляют CSV, HL7 v2, JSON; приложениям нужны события импорт из лаборатории, транзакции FHIR, подписанные веб-хуки
Безопасные повторные попытки дублирование лекарства или результата — клиническая ошибка Idempotency-Key при каждом создании
Тестовые данные реальные пациенты никогда не должны быть в разработке база данных песочницы с синтетическими пациентами

Что хранится в вашем бэкенде

Три способа подключения

1. Ваш бэкенд хранит API-ключ (наиболее распространенный вариант). Ваше приложение вызывает ваш бэкенд; ваш бэкенд вызывает Anpheros с ключом sk_live_ и видит пациентов, созданных вашим проектом.

import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });

// GET /api/me/vitals in your backend, after your own authentication
export async function myVitals(user: { anpherosPatientId: string }) {
  const page = await anpheros.observations.list(user.anpherosPatientId, { category: 'vital-signs', limit: 50 });
  return page.data;
}

2. Приложение действует от имени пациента с помощью OAuth. Для людей, у которых уже есть запись в Anpheros, мобильное или веб-приложение является публичным OAuth-клиентом с PKCE: человек дает согласие на размещенной странице, и приложение получает 30-минутный токен доступа и вращающийся токен обновления для этой одной записи. SDK реализуют этот поток (OAuthFlow).

3. Партнеры "сервер-сервер". Конфиденциальный клиент (с секретом, хранящимся на сервере) может использовать поток авторизационного кода или client_credentials, который ведет себя как API-ключ для данного проекта.

Поддержание синхронизации вашего бэкенда

Подписывайтесь на веб-хуки вместо опроса. Доставки подписаны (Anpheros-Signature, HMAC-SHA256 по временной метке и телу сообщения), доставляются как минимум один раз и, возможно, не по порядку; дедуплицируйте по идентификатору события и игнорируйте устаревшие версии.

import { verifyWebhookSignature } from '@anpheros/sdk';

app.post('/anpheros/hook', express.raw({ type: 'application/json' }), async (req, res) => {
  const ok = await verifyWebhookSignature({ secret: process.env.ANPHEROS_WEBHOOK_SECRET!, header: req.header('anpheros-signature'), body: req.body });
  if (!ok) return res.status(400).end();
  const event = JSON.parse(req.body.toString());   // ids and versions only — read the resource if you need it
  res.status(204).end();
});

Обработка ошибок и ограничений

Ошибки · Ограничения и лимиты запросов

Часто задаваемые вопросы

Какую базу данных следует использовать медицинскому приложению?

Базу данных, которая хранит медицинские данные в стандартной, версионированной форме и контролирует доступ для каждого пациента. Anpheros — это управляемая база данных для здравоохранения, построенная на основе HL7 FHIR R4: запись каждого пациента версионируется и доступна для поиска, каждая запись содержит информацию о происхождении, и приложение видит пациента только в том случае, если оно создало запись или пациент дал согласие. Ваша собственная база данных будет хранить остальные данные вашего продукта — учетные записи, биллинг, контент. О компромиссах при проектировании собственных таблиц см. FHIR против пользовательской медицинской базы данных.

Существует ли бесплатная база данных для медицинских приложений?

Да. Песочница Anpheros бесплатна: войдите через Google, получите ключ в один клик, и ваш проект получит 30 синтетических пациентов и до 10 000 записей в день. Производство начинается с 49 евро в месяц за 2500 пациентов, первый месяц бесплатно; доступ к производству предоставляется проверенным организациям с подписанным соглашением об обработке данных. См. Цены.

Могу ли я хранить реальные данные пациентов в бесплатной песочнице?

Нет. Песочница предназначена только для синтетических данных: каждый проект песочницы получает своих синтетических пациентов, а ключи песочницы не могут получить доступ к производству. Записи реальных пациентов должны храниться в производственном проекте.

Связанные материалы

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