# HL7 v2 a FHIR pre klinické dashboardy

> Od laboratórnej správy HL7 v2 ORU^R01 k dlaždici dashboardu: FHIR Observations s rozsahmi a príznakmi, podpísané webové háčiky, žiadne duplikáty — a prečo to nie je monitorovanie pri lôžku.

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

**Klinický dashboard potrebuje výsledky ako štruktúrované, kódované dáta v momente ich nahlásenia — test, hodnota, jednotka, referenčný rozsah a príznak — nie PDF-ka, ktoré musí čítať.** Laboratóriá stále posielajú väčšinu výsledkov ako správy HL7 v2 ORU^R01, zatiaľ čo dashboardy sa najľahšie stavajú na FHIR R4 Observations. Anpheros sedí medzi týmito dvoma: laboratórny systém zverejní správu HL7 v2 (alebo CSV alebo JSON report) cez HTTPS, každý výsledok sa stane FHIR Observation s jeho kódom (LOINC, ak ho laboratórium pošle), hodnotou a referenčným rozsahom, a podpísaný webový háčik oznámi vášmu dashboardu, že dorazili nové výsledky.

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

## Čo prijíma dashboard

Každý OBX segment správy sa stane jedným laboratórnym Observation:

| HL7 v2 OBX pole | FHIR R4 Observation | Na dashboarde |
|---|---|---|
| OBX-3 test code | `code` (LOINC, ak ho laboratórium pošle; lokálny kód sa zachová ako kód laboratória) | Názov testu; LOINC umožňuje porovnávanie medzi laboratóriami |
| OBX-5 value, OBX-6 unit | `valueQuantity` (UCUM unit) | Číslo a jeho jednotka |
| OBX-7 reference range | `referenceRange` | Normálne rozpätie |
| OBX-8 abnormal flag | `interpretation` (H, L, …) | Červená alebo modrá vlajka |
| OBX-14 time | `effectiveDateTime` | Kedy bol odobratý vzor |

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

## Import správy a reagujte na ňu

Odošlite správu pre pacienta, ktorého ste vytvorili (alebo pre pacienta, na ktorého máte povolenie):

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

Potom nechajte platformu zavolať váš backend dashboardu namiesto jeho priebežného sledovania (polling):

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

Každé doručenie je podpísané (overte ho pomocou `verifyWebhookSignature` zo SDK) a v prípade, že váš server neodpovie, bude zopakované. Udalość (event) nesie typ zdroja (resource type), ID a pacienta; prečítajte nové pozorovania (Observations) a obnovte dlaždicu (tile). Opätovne odoslané správy (reports) sú preskočené, takže laboratórium, ktoré opätovne prenáša pri časovom limite (timeout), nevytvára duplicitné riadky na obrazovke.

## Výber HL7 v2 alebo FHIR pre každý prepojenie

| Prepojenie | Použitie | Prečo |
|---|---|---|
| Laboratórium → dátová vrstva | HL7 v2 ORU^R01 (alebo CSV/JSON) | Čo laboratórne systémy už emitujú; žiadna zmena na ich strane |
| Dátová vrstva → dashboard | FHIR R4 Observation + webhooks | Kódovaný, verzovaný JSON, ktorý váš frontend dokáže priamo čítať |
| Dashboard → iné aplikácie | FHIR R4, pod súhlasom pacienta | Jeden štandard pre každého spotrebiteľa |

## Čo toto nie je

- **Nie je to výstup z monitora pri lôžku pacienta.** Anpheros prijíma laboratórne správy cez HTTPS. Neprijíma kontinuálne priebehy vĺn ani dátové toky zo zariadení monitorujúcich intenzívnu starostlivosť a nie je to poplachový systém: upozornenia, ktoré ovplyvňujú starostlivosť, vyžadujú certifikovaný klinický systém.
- **Nie je to MLLP rozhranie.** Správy prichádzajú cez HTTPS; ak vaše laboratórium komunikuje iba cez MLLP cez TCP, vpredu umiestnený rozhranie ich presmeruje.
- **Jeden typ správy HL7 v2.** Prijímajú sa laboratórne výsledky ORU^R01; objednávky (ORM/OML) a správy ADT sa neprijímajú.

## Často kladené otázky

### Môže dashboard čítať výsledky laboratórnych testov HL7 v2 priamo?
Môže, ale každý dashboard potom potrebuje vlastný HL7 v2 parser, mapovanie kódov a deduplikáciu. Konverzia raz do FHIR R4 Observations s LOINC kódmi poskytuje každej obrazovke rovnaké čisté dáta.

### Ako rýchlo sa importované výsledky dostanú na dashboard?
Požiadavka na import sa vráti, keď sú Observations uložené, a v rovnakom čase je pre každé z nich naplánovaný `resource.created` webhook. Doručenie sa opakuje, ak váš endpoint nie je dostupný.

### Ako sú označené abnormálne výsledky?
OBX-8 sa stáva `interpretation` Observation (napríklad H alebo L) a OBX-7 jeho `referenceRange`, takže dashboard môže zobraziť vlajku aj normálne pásmo.

### Podporuje Anpheros monitorovanie na JIS?
Nie. Ukladá laboratórne a klinické výsledky a informuje vaše systémy o nových dátach; kontinuálne monitorovanie pri lôžku a klinické alarmy zostávajú s certifikovanými lekárskymi zariadeniami.

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

## Súvisiace

- [API pre laboratórne výsledky: HL7 v2, FHIR a LOINC](https://developers.anpheros.com/sk/guides/lab-results-api)
- [Ako importovať laboratórne výsledky do FHIR záznamu](https://developers.anpheros.com/sk/guides/import-lab-results-fhir)
- [Konektor pre laboratórne výsledky](https://developers.anpheros.com/sk/guides/lab-connector): referenčný bod koncového bodu
- [FHIR vs HL7 v2: praktické rozdiely](https://developers.anpheros.com/sk/guides/fhir-vs-hl7-v2)
- [Monitorovanie pacientov na diaľku s FHIR](https://developers.anpheros.com/sk/guides/remote-patient-monitoring-fhir)
- [Webhooks](https://developers.anpheros.com/sk/guides/webhooks)
