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,签名 Webhooks,无重复——以及为什么这不属于床边监护。

临床仪表盘需要结构化、编码后的数据作为结果,并在报告时立即可用 — 测试项目、值、单位、参考范围和标志 — 而不是需要读取的 PDF。 实验室仍然以 HL7 v2 ORU^R01 消息的形式发送大多数结果,而仪表盘最容易基于 FHIR R4 Observations 构建。Anpheros 位于两者之间:实验室系统通过 HTTPS 发布 HL7 v2 消息(或 CSV 或 JSON 报告),每个结果都成为一个 FHIR Observation,包含其代码(如果实验室发送了,则为 LOINC)、值和参考范围,并且一个签名的 Webhook 会通知您的仪表盘新结果已到达。

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 unit) 数字及其单位
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'] });

每次传递都会签名(使用 SDK 中的 verifyWebhookSignature 进行验证),如果您的服务器没有响应,则会重试。事件包含资源类型、ID 和患者;读取新的 Observations 并刷新图块。重复发送的报告将被跳过,因此在超时时重新传输的实验室不会在屏幕上创建重复的行。

为每个链接选择 HL7 v2 或 FHIR

链接 用途 原因
Laboratory → data layer HL7 v2 ORU^R01 (或 CSV/JSON) 实验室系统已发出;无需更改其端
Data layer → dashboard FHIR R4 Observation + webhooks 您的前端可以直接读取的编码、版本化的 JSON
Dashboard → other apps FHIR R4,在患者同意下 每个消费者的一个标准

这不是什么

常见问题解答

仪表板可以直接读取 HL7 v2 实验室结果吗?

可以,但每个仪表板都需要自己的 HL7 v2 解析器、代码映射和去重逻辑。一次性转换为 FHIR R4 Observations 并使用 LOINC 代码,可以为每个屏幕提供相同干净的数据。

导入的结果多久能到达仪表板?

导入请求在 Observations 存储后返回,同时为每个 Observation 排队一个 resource.created 类型的 webhook。如果您的端点不可用,将重试投递。

异常结果如何标记?

OBX-8 成为 Observation 的 interpretation (例如 H 或 L),OBX-7 成为其 referenceRange,这样仪表板就可以同时显示标记和正常范围。

Anpheros 支持 ICU 监控吗?

不支持。它存储实验室和临床结果,并通知您的系统有关新数据的信息;连续的床边监控和临床警报仍由经过认证的医疗设备处理。

相关资源

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