AnpherosAnpheros PlatformDevelopers

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

HL7 v2 и FHIR для клинических панелей мониторинга

От лабораторного сообщения HL7 v2 ORU^R01 до плитки на панели мониторинга: FHIR Observations с диапазонами и флагами, подписанные веб-хуки, отсутствие дубликатов — и почему это не мониторинг у постели больного.

Клиническому дашборду нужны результаты в виде структурированных, кодированных данных в момент их получения — тест, значение, единица измерения, референсный диапазон и флаг — а не PDF-файлы, которые ему приходится читать. Лаборатории по-прежнему отправляют большинство результатов в виде сообщений HL7 v2 ORU^R01, в то время как дашборды проще всего создавать на основе FHIR R4 Observations. Anpheros находится между ними: лабораторная система отправляет сообщение HL7 v2 (или отчет в формате CSV или JSON) через HTTPS, каждый результат становится FHIR Observation с его кодом (LOINC, если его отправила лаборатория), значением и референсным диапазоном, а подписанный вебхук уведомляет ваш дашборд о поступлении новых результатов.

From the laboratory to a dashboard tile
  1. Laboratory systemSends an HL7 v2 ORU^R01 message or a CSV report
  2. Lab connectorPOST /v1/patients/{id}/labs/import over HTTPS
  3. FHIR ObservationsLOINC code, value, unit, reference range, H/L flag
  4. Signed webhookresource.created reaches your server, retried on failure
  5. Your dashboardReads the new results and updates the tile

Что получает дашборд

Каждый сегмент OBX сообщения становится одним лабораторным наблюдением (Observation):

Поле HL7 v2 OBX FHIR R4 Observation На дашборде
OBX-3 test code code (LOINC, если лаборатория его отправляет; локальный код сохраняется как код лаборатории) Название теста; LOINC делает его сопоставимым между лабораториями
OBX-5 value, OBX-6 unit valueQuantity (единица UCUM) Число и его единица измерения
OBX-7 reference range referenceRange Нормальный диапазон
OBX-8 abnormal flag interpretation (H, L, …) Красный или синий флажок
OBX-14 time effectiveDateTime Время взятия образца
What a dashboard can build from imported results (illustrative data)
Bed 4 · latest laboratory resultsreceived 08:42 · HL7 v2 ORU^R01
TestValueReferenceFlag
Potassium5.9 mmol/L3.5–5.1H
Creatinine1.1 mg/dL0.7–1.3—
Haemoglobin10.8 g/dL13.0–17.0L
Glucose104 mg/dL70–99H

Импорт сообщения и реакция на него

Отправьте сообщение для созданного вами пациента (или того, на кого у вас есть разрешение):

import { readFile } from 'node:fs/promises';
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // a sandbox key, sk_test_…
const message = await readFile('oru_r01.hl7', 'utf8');
const result = await anpheros.labs.importHl7(patientId, message, { sourceSystem: 'lab-lis' });
console.log(result);   // created, skipped and unmapped counts

Затем позвольте платформе вызвать ваш бэкенд панели управления вместо опроса:

await anpheros.webhooks.create('https://dashboard.example.org/anpheros/hook', { events: ['resource.created'] });

Каждая доставка подписана (проверьте ее с помощью verifyWebhookSignature из SDK) и повторяется, если ваш сервер не отвечает. Событие содержит тип ресурса, идентификатор и пациента; прочитайте новые Observations и обновите плитку. Повторно отправленные отчеты пропускаются, поэтому лаборатория, которая повторно передает данные при тайм-ауте, не создает дублирующихся строк на экране.

Выбор HL7 v2 или FHIR для каждого канала связи

Канал связи Использование Причина
Лаборатория → слой данных HL7 v2 ORU^R01 (или CSV/JSON) То, что уже генерируют лабораторные системы; никаких изменений с их стороны
Слой данных → панель управления FHIR R4 Observation + webhooks Кодированный, версионированный JSON, который ваш фронтенд может читать напрямую
Панель управления → другие приложения FHIR R4, с согласия пациента Единый стандарт для всех потребителей

Чем это не является

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

Может ли дашборд напрямую читать лабораторные результаты HL7 v2?

Может, но тогда каждому дашборду потребуется собственный парсер HL7 v2, сопоставление кодов и дедупликация. Однократное преобразование в FHIR R4 Observations с кодами LOINC предоставляет каждому экрану одни и те же чистые данные.

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

Запрос на импорт возвращается, когда Observations сохранены, и одновременно ставится в очередь resource.created вебхуков для каждого из них. Повторные попытки доставки выполняются, если ваш конечный пункт недоступен.

Как помечаются аномальные результаты?

OBX-8 становится interpretation Observation (например, H или L), а OBX-7 — его referenceRange, чтобы дашборд мог отображать как флаг, так и нормальный диапазон.

Поддерживает ли Anpheros мониторинг в реанимации?

Нет. Он хранит лабораторные и клинические результаты и уведомляет ваши системы о новых данных; непрерывный мониторинг у постели больного и клинические сигналы остаются за сертифицированными медицинскими устройствами.

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

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