# HL7 v2 FHIR megfeleltetése

> Szegmens-erőforrás és OBX mező-mező megfeleltetés HL7 v2 ORU^R01-től FHIR R4-ig, az integrációkat megtörő csapdák, és egy konverter, amit HTTPS-en keresztül hívhat meg.

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

**Az HL7 v2 FHIR-re való megfeleltetése azt jelenti, hogy minden szegmensét egy pipe-delimitált v2 üzenetnek FHIR R4 erőforrásokká alakítjuk át: PID-et Patient-té, OBR-t DiagnosticReport-tá (vagy ServiceRequest-té), minden OBX-et Observation-né, kódokkal, egységekkel, tartományokkal és időkkel, mezőnként átvíve.** Az HL7 kiad egy hivatalos [V2-to-FHIR implementációs útmutatót](https://hl7.org/fhir/uv/v2mappings/) a gyakori szegmensek koncepciótérképeivel. Ez az oldal a laboratóriumi eredmények (ORU^R01) gyakorlati megfeleltetését, a valós integrációkat megtörő csapdákat, és egy konvertert kínál, amit HTTPS-en keresztül hívhat meg: az Anpheros lab csatlakozót.

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

## Szegmens erőforrássá alakítása

| HL7 v2 szegmens | Mit tartalmaz | FHIR R4 erőforrás | Az Anpheros lab connectorban |
|---|---|---|---|
| MSH | Elválasztók, küldő rendszer, üzenet típusa, üzenet azonosítója | `MessageHeader` (vagy provenance) | Az MSH-ból olvasott elválasztók; az ORU^R01 típus ellenőrzése; az üzenet azonosítója megőrzése a nyomon követhetőség érdekében |
| PID | Beteg azonosítók, név, születési dátum, nem | `Patient` | Nem használatos: a beteg a kérés URL-ben szereplő beteg, így az üzenet nem írhat rossz rekordba |
| PV1 | Látogatás | `Encounter` | Nem használatos |
| ORC / OBR | Megrendelés és jelentés: filler/placer id, dátum | `ServiceRequest`, `DiagnosticReport` | Az OBR-3 (vagy OBR-2) a jelentés azonosítója, az OBR-7 az alapértelmezett dátum |
| OBX | Egy eredmény | `Observation` | Egy laboratóriumi megfigyelés OBX-enként |
| NTE | Szabad szöveges megjegyzés | `Observation.note` | Nem használatos |

## OBX mező mező szerint

| OBX mező | FHIR Observation elem | Megjegyzések |
|---|---|---|
| OBX-2 értéktípus (NM, SN, ST, CWE) | választása `value[x]` | NM és SN lesz `valueQuantity`; a szöveg szöveg marad |
| OBX-3 azonosító `code^text^system` | `code.coding` | az OBX-3.3-ban a `LN` LOINC-ot jelent; más rendszerek a labor helyi kódjai |
| OBX-5 érték, OBX-6 egység | `valueQuantity.value`, `.unit` / `.code` (UCUM) | a `<5` és `6,4`-at tudatosan kell elemezni |
| OBX-7 referenciatartomány | `referenceRange.low` / `.high` | `3.5-5.1`, `<200`, `>40` |
| OBX-8 abnormalitási jelző | `interpretation` | H, L, HH, LL, A, N |
| OBX-11 eredmény státusz | `status` | F → végleges, C → módosított, P → előzetes, I → regisztrált |
| OBX-14 megfigyelési idő | `effectiveDateTime` | a v2 idők gyakran hiányolnak időzónát; a FHIR megkövetel egyet |

## Üzenet konvertálása egy kéréssel

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

A válasz felsorolja, hogy hány megfigyelést (Observation) hoztunk létre, hányat hagytunk ki már importáltként, mely jelölőket (markers) nem sikerült hozzárendelni, és az új megfigyeléseket a kódjaikkal együtt. Mindegyikhez egy stabil azonosító tartozik, amely a jelentésből, a tesztből, az időből és az értékből származik, így egy laboratórium, amely ugyanazt az üzenetet újra elküldi, nem hoz létre másolatokat.

## Valós integrációkat megakasztó buktatók

1.  **Időzónák.** A(z) `20261002074500` nem tartalmaz eltolódást; explicit módon döntse el a küldő zónáját.
2.  **Helyi kódok.** Ha nincs LOINC kód, tartsa meg a labor saját kódját; soha ne hagyja el.
3.  **Újraküldések.** Eredményenként stabil azonosító nélkül az újraküldések duplikátumokká válnak.
4.  **Javítások.** Az OBX-11 `C` egy javítás; döntse el, hogy lecseréli-e vagy hozzáadja-e a régit, és jelölje meg a régi eredményt.
5.  **Nem numerikus értékek.** A(z) `positive`, `<5`, `6,4` explicit szabályokat igényelnek, nem találgatást.

## Amit a csatlakozó nem csinál

HTTPS-en keresztül fogad ORU^R01 laboreredményeket. Nem fogad ADT vagy rendelési üzeneteket, nem beszél MLLP-t TCP-n keresztül (egy elől lévő interfész-motor továbbíthatja), nem hoz létre DiagnosticReport-ot, és nem egyezetteti a betegeket a PID alapján.

## Gyakran ismételt kérdések

### Hogyan képezhetők le az HL7 v2 FHIR-re?
Szegmensről szegmensre: PID a Patient-hez, PV1 az Encounter-hez, ORC/OBR a ServiceRequest és DiagnosticReport-hoz, OBX az Observation-höz, NTE a notes-hoz. Az HL7 V2-to-FHIR implementációs útmutató definiálja a mezőszintű koncepcióleképezéseket.

### Létezik HL7 v2-FHIR konverter?
Igen. Az interfész-motorok és nyílt forráskódú könyvtárak konvertálják az üzeneteket; laboratóriumi eredmények esetén az Anpheros lab connector egy ORU^R01 üzenetet FHIR R4 Observations-re konvertál egyetlen HTTPS kérésben, és eltárolja azokat a beteg rekordjában.

### Milyen HL7 v2 üzenettípusokat fogad el az Anpheros?
ORU^R01 laboratóriumi eredményeket. Más típusú üzenet esetén figyelmeztetés jelenik meg, és csak az OBX szegmensei kerülnek feldolgozásra; ADT, rendelési és egyéb üzenetek nem támogatottak.

### Hogyan jelennek meg az HL7 v2 rendellenes jelzői a FHIR-ben?
Az OBX-8 a `Observation.interpretation` lesz az HL7 ObservationInterpretation kódok (H, L, HH, LL, A, N) használatával.

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

## Kapcsolódó

- [Lab eredmények API: HL7 v2, FHIR és LOINC](https://developers.anpheros.com/hu/guides/lab-results-api)
- [FHIR vs HL7 v2: gyakorlati különbségek](https://developers.anpheros.com/hu/guides/fhir-vs-hl7-v2)
- [Laboreredmények importálása FHIR rekordba](https://developers.anpheros.com/hu/guides/import-lab-results-fhir)
- [HL7 v2 és FHIR klinikai irányítópultokhoz](https://developers.anpheros.com/hu/guides/clinical-dashboard-hl7-fhir)
- [Lab összekötő](https://developers.anpheros.com/hu/guides/lab-connector)
