# Mapování HL7 v2 na FHIR

> Mapování segmentů na zdroje a polí OBX po polích z HL7 v2 ORU^R01 na FHIR R4, úskalí, která narušují integrace, a převodník, který můžete volat přes HTTPS.

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

**Mapování HL7 v2 na FHIR znamená převod každého segmentu zprávy v2 oddělené svislou čarou na zdroje FHIR R4: PID na Patient, OBR na DiagnosticReport (nebo ServiceRequest), každý OBX na Observation, s kódy, jednotkami, rozsahy a časy přenesenými pole po poli.** HL7 publikuje oficiální [V2-to-FHIR implementation guide](https://hl7.org/fhir/uv/v2mappings/) s mapami konceptů pro běžné segmenty. Tato stránka poskytuje praktické mapování pro laboratorní výsledky (ORU^R01), úskalí, která narušují reálné integrace, a převodník, který můžete volat přes HTTPS: Anpheros lab connector.

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

## Segment do zdroje

| HL7 v2 segment | Co nese | FHIR R4 resource | V konektoru Anpheros lab |
|---|---|---|---|
| MSH | Separátory, odesílající systém, typ zprávy, ID zprávy | `MessageHeader` (nebo provenance) | Separátory čteny z MSH; typ kontrolován pro ORU^R01; ID zprávy uchováno pro sledovatelnost |
| PID | Identifikátory pacienta, jméno, datum narození, pohlaví | `Patient` | Nepoužito: pacient je ten v URL požadavku, takže zpráva nemůže zapsat do nesprávného záznamu |
| PV1 | Návštěva | `Encounter` | Nepoužito |
| ORC / OBR | Objednávka a zpráva: filler/placer id, datum | `ServiceRequest`, `DiagnosticReport` | OBR-3 (nebo OBR-2) je ID zprávy, OBR-7 výchozí datum |
| OBX | Jeden výsledek | `Observation` | Jedna laboratorní Observation na OBX |
| NTE | Textová poznámka | `Observation.note` | Nepoužito |

## Pole OBX po poli

| Pole OBX | Prvek FHIR Observation | Poznámky |
|---|---|---|
| OBX-2 typ hodnoty (NM, SN, ST, CWE) | volba z `value[x]` | NM a SN se stanou `valueQuantity`; text zůstává text |
| OBX-3 identifikátor `code^text^system` | `code.coding` | `LN` v OBX-3.3 znamená LOINC; jiné systémy jsou lokální kódy laboratoře |
| OBX-5 hodnota, OBX-6 jednotka | `valueQuantity.value`, `.unit` / `.code` (UCUM) | `<5` a `6,4` musí být analyzovány záměrně |
| OBX-7 referenční rozsah | `referenceRange.low` / `.high` | `3.5-5.1`, `<200`, `>40` |
| OBX-8 příznak abnormality | `interpretation` | H, L, HH, LL, A, N |
| OBX-11 stav výsledku | `status` | F → finální, C → opravený, P → předběžný, I → zaregistrovaný |
| OBX-14 čas pozorování | `effectiveDateTime` | časy v2 často postrádají časové pásmo; FHIR vyžaduje jedno |

## Převod zprávy s jedním požadavkem

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

Odpověď uvádí, kolik bylo vytvořeno Observation, kolik jich bylo přeskočeno jako již importovaných, které markery nebylo možné namapovat a nové Observation s jejich kódy. Každé z nich získá stabilní identifikátor odvozený ze zprávy, testu, času a hodnoty, takže laboratoř, která znovu odešle stejnou zprávu, nevytvoří žádné duplikáty.

## Úskalí, která narušují reálné integrace

1. **Časová pásma.** `20261002074500` nemá žádný offset; explicitně určete zónu odesílatele.
2. **Lokální kódy.** Ponechte vlastní kód laboratoře, pokud neexistuje LOINC; nikdy jej nevypouštějte.
3. **Opakované odesílání.** Bez stabilního identifikátoru na výsledek se opakované pokusy stávají duplicitami.
4. **Opravy.** OBX-11 `C` je oprava; rozhodněte, zda nahrazuje nebo přidává, a označte starý výsledek.
5. **Nenumerické hodnoty.** `positive`, `<5`, `6,4` vyžadují explicitní pravidla, nikoli odhad.

## Co konektor nedělá

Přijímá laboratorní výsledky ve formátu ORU^R01 přes HTTPS. Nepřijímá zprávy ADT ani objednávky, nemluví MLLP přes TCP (přední interface engine může předávat), nevytváří DiagnosticReport a nespáruje pacienty z PID.

## Často kladené otázky

### Jak namapovat HL7 v2 na FHIR?
Segment po segmentu: PID na Patient, PV1 na Encounter, ORC/OBR na ServiceRequest a DiagnosticReport, OBX na Observation, NTE na notes. Implementační průvodce HL7 V2-to-FHIR definuje mapování konceptů na úrovni polí.

### Existuje konvertor HL7 v2 na FHIR?
Ano. Interface engines a open-source knihovny konvertují zprávy; pro laboratorní výsledky, Anpheros lab connector konvertuje zprávu ORU^R01 na FHIR R4 Observations v jednom HTTPS požadavku a ukládá je do záznamu pacienta.

### Které typy zpráv HL7 v2 Anpheros přijímá?
ORU^R01 laboratorní výsledky. Zpráva jiného typu obdrží varování a čtou se pouze její OBX segmenty; ADT, objednávky a jiné zprávy nejsou podporovány.

### Jak jsou v FHIR reprezentovány příznaky abnormality HL7 v2?
OBX-8 se stává `Observation.interpretation` pomocí kódů HL7 ObservationInterpretation (H, L, HH, LL, A, N).

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

## Související

- [API pro laboratorní výsledky: HL7 v2, FHIR a LOINC](https://developers.anpheros.com/cs/guides/lab-results-api)
- [FHIR vs HL7 v2: praktické rozdíly](https://developers.anpheros.com/cs/guides/fhir-vs-hl7-v2)
- [Jak importovat laboratorní výsledky do záznamu FHIR](https://developers.anpheros.com/cs/guides/import-lab-results-fhir)
- [HL7 v2 a FHIR pro klinické dashboardy](https://developers.anpheros.com/cs/guides/clinical-dashboard-hl7-fhir)
- [Konektor pro laboratoř](https://developers.anpheros.com/cs/guides/lab-connector)
