# Mapovanie HL7 v2 na FHIR

> Mapovanie segmentov na zdroje a polí OBX po poliach z HL7 v2 ORU^R01 na FHIR R4, pasce, ktoré narúšajú integrácie, a konvertor, ktorý môžete volať cez HTTPS.

Source: https://developers.anpheros.com/sk/guides/hl7-v2-to-fhir-mapping

**Mapovanie HL7 v2 na FHIR znamená transformáciu každého segmentu v2 správy oddelenej znakom pipe na FHIR R4 zdroje: PID na Patient, OBR na DiagnosticReport (alebo ServiceRequest), každý OBX na Observation, s kódmi, jednotkami, rozsahy a časmi prenesenými pole po poli.** HL7 publikuje oficiálny [V2-to-FHIR implementation guide](https://hl7.org/fhir/uv/v2mappings/) s mapami konceptov pre bežné segmenty. Táto stránka poskytuje praktické mapovanie pre laboratórne výsledky (ORU^R01), pasce, ktoré narúšajú reálne integrácie, a konvertor, ktorý môžete volať cez HTTPS: Anpheros lab connector.

<!-- visual:v2map-flow -->

## Segment do zdroja

| HL7 v2 segment | Čo obsahuje | FHIR R4 zdroj | V konektore Anpheros lab |
|---|---|---|---|
| MSH | Separátory, odosielajúci systém, typ správy, ID správy | `MessageHeader` (alebo provenance) | Separátory čítané z MSH; typ skontrolovaný pre ORU^R01; ID správy uchované pre sledovateľnosť |
| PID | Identifikátory pacienta, meno, dátum narodenia, pohlavie | `Patient` | Nepoužité: pacient je ten v URL požiadavky, takže správa nemôže zapísať do nesprávneho záznamu |
| PV1 | Návšteva | `Encounter` | Nepoužité |
| ORC / OBR | Objednávka a správa: filler/placer id, dátum | `ServiceRequest`, `DiagnosticReport` | OBR-3 (alebo OBR-2) je ID správy, OBR-7 je predvolený dátum |
| OBX | Jeden výsledok | `Observation` | Jedna laboratórna Observation na OBX |
| NTE | Poznámka voľného textu | `Observation.note` | Nepoužité |

## Pole OBX po poli

| Pole OBX | Element FHIR Observation | Poznámky |
|---|---|---|
| Typ hodnoty poľa OBX-2 (NM, SN, ST, CWE) | voľba z `value[x]` | NM a SN sa stanú `valueQuantity`; text zostáva text |
| Identifikátor poľa OBX-3 `code^text^system` | `code.coding` | `LN` v OBX-3.3 znamená LOINC; iné systémy sú lokálne kódy laboratória |
| Hodnota poľa OBX-5, jednotka poľa OBX-6 | `valueQuantity.value`, `.unit` / `.code` (UCUM) | `<5` a `6,4` musia byť analyzované cielene |
| Referenčný rozsah poľa OBX-7 | `referenceRange.low` / `.high` | `3.5-5.1`, `<200`, `>40` |
| Abnormálna vlajka poľa OBX-8 | `interpretation` | H, L, HH, LL, A, N |
| Stav výsledku poľa OBX-11 | `status` | F → finálny, C → upravený, P → predbežný, I → zaregistrovaný |
| Čas pozorovania poľa OBX-14 | `effectiveDateTime` | časy v2 často nemajú časové pásmo; FHIR ho vyžaduje |

## Konverzia správy s jednou požiadavkou

```bash
curl -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: x-application/hl7-v2+er7" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @oru_r01.hl7
```

Odpoveď uvádza, koľko Observations bolo vytvorených, koľko ich bolo preskočených ako už importovaných, ktoré markery sa nepodarilo namapovať a nové Observations s ich kódmi. Každý z nich dostane stabilný identifikátor odvodený zo správy, testu, času a hodnoty, takže laboratórium, ktoré pošle rovnakú správu opakovane, nevytvorí žiadne duplikáty.

## Nástrahy, ktoré narúšajú reálne integrácie

1. **Časové zóny.** `20261002074500` nemá žiadny offset; explicitne rozhodnite o zóne odosielateľa.
2. **Lokálne kódy.** Ponechajte vlastný kód laboratória, ak neexistuje LOINC; nikdy ho nevypúšťajte.
3. **Opätovné odoslania.** Bez stabilného identifikátora na výsledok sa opakované pokusy stávajú duplicitami.
4. **Opravy.** OBX-11 `C` je oprava; rozhodnite, či nahrádza alebo pridáva, a označte starý výsledok.
5. **Nenumerické hodnoty.** `positive`, `<5`, `6,4` vyžadujú explicitné pravidlá, nie odhad.

## Čo konektor nerobí

Prijíma laboratórne výsledky ORU^R01 cez HTTPS. Neprijíma správy ADT ani objednávky, nekomunikuje cez MLLP cez TCP (vpredu umiestnený interface engine to môže presmerovať), nevytvára DiagnosticReport a nespáruje pacientov z PID.

## Často kladené otázky

### Ako mapujete HL7 v2 na FHIR?
Segment po segmente: PID na Patient, PV1 na Encounter, ORC/OBR na ServiceRequest a DiagnosticReport, OBX na Observation, NTE na notes. Sprievodca implementáciou HL7 V2-to-FHIR definuje mapovanie konceptov na úrovni polí.

### Existuje konvertor HL7 v2 na FHIR?
Áno. Interface enginy a open-source knižnice konvertujú správy; pre laboratórne výsledky, Anpheros lab connector konvertuje správu ORU^R01 na FHIR R4 Observations v jednom HTTPS požiadavke a ukladá ich do záznamu pacienta.

### Ktoré typy správ HL7 v2 Anpheros akceptuje?
ORU^R01 laboratórne výsledky. Správa iného typu dostane varovanie a čítajú sa iba jej OBX segmenty; ADT, objednávky a iné správy nie sú podporované.

### Ako sú HL7 v2 abnormálne príznaky reprezentované vo FHIR?
OBX-8 sa stáva `Observation.interpretation` pomocou kódov HL7 ObservationInterpretation (H, L, HH, LL, A, N).

<!-- visual:cta-v2map -->

## Súvisiace

- [API pre laboratórne výsledky: HL7 v2, FHIR a LOINC](https://developers.anpheros.com/sk/guides/lab-results-api)
- [FHIR vs HL7 v2: praktické rozdiely](https://developers.anpheros.com/sk/guides/fhir-vs-hl7-v2)
- [Ako importovať laboratórne výsledky do záznamu FHIR](https://developers.anpheros.com/sk/guides/import-lab-results-fhir)
- [HL7 v2 a FHIR pre klinické dashboardy](https://developers.anpheros.com/sk/guides/clinical-dashboard-hl7-fhir)
- [Konektor pre laboratórne výsledky](https://developers.anpheros.com/sk/guides/lab-connector)
