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 会通知您的仪表盘新结果已到达。
- Laboratory systemSends an HL7 v2 ORU^R01 message or a CSV report
- Lab connectorPOST /v1/patients/{id}/labs/import over HTTPS
- FHIR ObservationsLOINC code, value, unit, reference range, H/L flag
- Signed webhookresource.created reaches your server, retried on failure
- 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 |
采样时间 |
导入消息并响应
发送您创建的患者的消息(或您拥有权限的患者的消息):
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,在患者同意下 | 每个消费者的一个标准 |
这不是什么
- 不是床边监护仪数据源。 Anpheros 通过 HTTPS 接收实验室报告。它不接收来自重症监护监护仪的连续波形或设备流,也不是警报系统:影响护理的警报需要经过认证的临床系统。
- 不是 MLLP 接口引擎。 消息通过 HTTPS 到达;如果您的实验室只支持 TCP 上的 MLLP,则需要一个前端接口引擎进行转发。
- 一种 HL7 v2 消息类型。 接受 ORU^R01 实验室结果;不接受订单(ORM/OML)和 ADT 消息。
常见问题解答
仪表板可以直接读取 HL7 v2 实验室结果吗?
可以,但每个仪表板都需要自己的 HL7 v2 解析器、代码映射和去重逻辑。一次性转换为 FHIR R4 Observations 并使用 LOINC 代码,可以为每个屏幕提供相同干净的数据。
导入的结果多久能到达仪表板?
导入请求在 Observations 存储后返回,同时为每个 Observation 排队一个 resource.created 类型的 webhook。如果您的端点不可用,将重试投递。
异常结果如何标记?
OBX-8 成为 Observation 的 interpretation (例如 H 或 L),OBX-7 成为其 referenceRange,这样仪表板就可以同时显示标记和正常范围。
Anpheros 支持 ICU 监控吗?
不支持。它存储实验室和临床结果,并通知您的系统有关新数据的信息;连续的床边监控和临床警报仍由经过认证的医疗设备处理。
相关资源
- 实验室结果 API:HL7 v2、FHIR 和 LOINC
- 如何将实验室结果导入 FHIR 记录
- 实验室连接器:端点参考
- FHIR 与 HL7 v2:实际区别
- 使用 FHIR 进行远程患者监控
- Webhooks
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card