# HL7 v2 a FHIR pro klinické dashboardy

> Z laboratorní zprávy HL7 v2 ORU^R01 na dlaždici dashboardu: FHIR Observations s rozsahy a příznaky, podepsané webhooky, žádné duplicity — a proč to není monitorování u lůžka.

Source: https://developers.anpheros.com/cs/guides/clinical-dashboard-hl7-fhir

**Klinický dashboard potřebuje výsledky jako strukturovaná, kódovaná data v okamžiku jejich nahlášení — test, hodnota, jednotka, referenční rozsah a příznak — nikoli PDF, která musí číst.** Laboratoře stále posílají většinu výsledků jako zprávy HL7 v2 ORU^R01, zatímco dashboardy se nejsnadněji vytvářejí na základě FHIR R4 Observations. Anpheros sedí mezi těmito dvěma: laboratorní systém odešle zprávu HL7 v2 (nebo zprávu CSV nebo JSON) přes HTTPS, každý výsledek se stane FHIR Observation s kódem (LOINC, pokud jej laboratoř pošle), hodnotou a referenčním rozsahem a podepsaný webhook informuje váš dashboard o příchozích nových výsledcích.

<!-- visual:dashboard-pipeline -->

## Co přijímá dashboard

Každý segment OBX zprávy se stává jedním laboratorním pozorováním (Observation):

| Pole HL7 v2 OBX | FHIR R4 Observation | Na dashboardu |
|---|---|---|
| OBX-3 test code | `code` (LOINC, pokud jej laboratoř odešle; lokální kód je zachován jako kód laboratoře) | Název testu; LOINC jej činí srovnatelným napříč laboratořemi |
| OBX-5 value, OBX-6 unit | `valueQuantity` (jednotka UCUM) | Číslo a jeho jednotka |
| OBX-7 reference range | `referenceRange` | Normální rozmezí |
| OBX-8 abnormal flag | `interpretation` (H, L, …) | Červená nebo modrá značka |
| OBX-14 time | `effectiveDateTime` | Kdy byl vzorek odebrán |

<!-- visual:dashboard-mock -->

## Import zprávy a reagujte na ni

Odešlete zprávu pro pacienta, kterého jste vytvořili (nebo pro kterého máte oprávnění):

```ts
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
```

Poté nechte platformu volat váš backend dashboardu místo jeho dotazování:

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

Každé doručení je podepsáno (ověřte jej pomocí `verifyWebhookSignature` ze SDK) a opakuje se, pokud váš server neodpoví. Událost nese typ zdroje, ID a pacienta; přečtěte nové Observations a obnovte dlaždici. Opakovaně odeslané zprávy jsou přeskočeny, takže laboratoř, která znovu odešle při vypršení časového limitu, nevytváří duplicitní řádky na obrazovce.

## Volba HL7 v2 nebo FHIR pro každý odkaz

| Odkaz | Použití | Důvod |
|---|---|---|
| Laboratoř → datová vrstva | HL7 v2 ORU^R01 (nebo CSV/JSON) | Co již laboratorní systémy emitují; žádná změna na jejich straně |
| Datová vrstva → dashboard | FHIR R4 Observation + webhooks | Kódovaný, verzovaný JSON, který váš frontend může číst přímo |
| Dashboard → jiné aplikace | FHIR R4, pod souhlasem pacienta | Jeden standard pro každého spotřebitele |

## Čemu toto není

- **Není to přenos dat z monitoru u lůžka pacienta.** Anpheros přijímá laboratorní zprávy přes HTTPS. Nepřijímá kontinuální průběhy vln nebo datové proudy z monitorů na jednotkách intenzivní péče a není to poplašný systém: upozornění, která ovlivňují péči, vyžadují certifikovaný klinický systém.
- **Není to MLLP rozhraní.** Zprávy přicházejí přes HTTPS; pokud vaše laboratoř komunikuje pouze přes MLLP nad TCP, před ní umístěný rozhraní engine je přeposílá.
- **Jeden typ zprávy HL7 v2.** Jsou přijímány laboratorní výsledky ORU^R01; objednávky (ORM/OML) a zprávy ADT nejsou akceptovány.

## Často kladené dotazy

### Může dashboard číst výsledky z laboratoře přímo ve formátu HL7 v2?
Ano, ale každý dashboard pak potřebuje vlastní parser HL7 v2, mapování kódů a deduplikaci. Jednorázový převod na FHIR R4 Observations s kódy LOINC poskytne všem obrazovkám stejná čistá data.

### Jak rychle se importované výsledky dostanou na dashboard?
Požadavek na import se vrátí, když jsou Observations uloženy, a zároveň je zařazena do fronty `resource.created` webhook pro každou z nich. Doručení se opakuje, pokud je váš koncový bod nedostupný.

### Jak jsou označeny abnormální výsledky?
OBX-8 se stane `interpretation` Observation (například H nebo L) a OBX-7 se stane jeho `referenceRange`, takže dashboard může zobrazit jak příznak, tak normální rozsah.

### Podporuje Anpheros monitorování na JIP?
Ne. Anpheros ukládá laboratorní a klinické výsledky a upozorňuje vaše systémy na nová data; kontinuální monitorování u lůžka a klinické alarmy zůstávají certifikovaným lékařským zařízením.

<!-- visual:cta-dashboard -->

## Související

- [API pro laboratorní výsledky: HL7 v2, FHIR a LOINC](https://developers.anpheros.com/cs/guides/lab-results-api)
- [Jak importovat laboratorní výsledky do záznamu FHIR](https://developers.anpheros.com/cs/guides/import-lab-results-fhir)
- [Konektor pro laboratoř](https://developers.anpheros.com/cs/guides/lab-connector): odkaz na koncový bod
- [FHIR vs HL7 v2: praktické rozdíly](https://developers.anpheros.com/cs/guides/fhir-vs-hl7-v2)
- [Vzdálené monitorování pacientů s FHIR](https://developers.anpheros.com/cs/guides/remote-patient-monitoring-fhir)
- [Webhooks](https://developers.anpheros.com/cs/guides/webhooks)
