Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Mapowanie HL7 v2 na FHIR
Mapowanie segmentów na zasoby i pól OBX na pola od HL7 v2 ORU^R01 do FHIR R4, pułapki psujące integracje i konwerter, który można wywołać przez HTTPS.
Mapowanie HL7 v2 na FHIR oznacza przekształcenie każdego segmentu wiadomości v2 rozdzielanej pionową kreską w zasoby FHIR R4: PID na Patient, OBR na DiagnosticReport (lub ServiceRequest), każde OBX na Observation, z kodami, jednostkami, zakresami i czasami przenoszonymi pole po polu. HL7 publikuje oficjalny V2-to-FHIR implementation guide z mapowaniami koncepcji dla wspólnych segmentów. Ta strona zawiera praktyczne mapowanie wyników laboratoryjnych (ORU^R01), pułapki, które psują rzeczywiste integracje, oraz konwerter, który można wywołać przez HTTPS: konektor laboratoryjny Anpheros.
- MSHSeparators, message type, message id → MessageHeader or provenance
- PIDPatient identity → Patient (or, in Anpheros, the patient in the URL)
- OBRThe order and report → DiagnosticReport, report id and date
- OBXOne result each → Observation with LOINC, value, range, flag
- FHIR recordCoded, versioned resources your apps can read
Segment do zasobu
| Segment HL7 v2 | Co zawiera | Zasób FHIR R4 | W konektorze laboratoryjnym Anpheros |
|---|---|---|---|
| MSH | Separatory, system wysyłający, typ wiadomości, identyfikator wiadomości | MessageHeader (lub provenance) |
Separatory odczytywane z MSH; typ sprawdzany dla ORU^R01; identyfikator wiadomości zachowany dla identyfikowalności |
| PID | Identyfikatory pacjenta, imię, nazwisko, data urodzenia, płeć | Patient |
Nie używany: pacjent to ten z adresu URL żądania, więc wiadomość nie może zapisać się do nieprawidłowego rekordu |
| PV1 | Wizyta | Encounter |
Nie używany |
| ORC / OBR | Zamówienie i raport: identyfikator wypełniającego/zleceniodawcy, data | ServiceRequest, DiagnosticReport |
OBR-3 (lub OBR-2) to identyfikator raportu, OBR-7 domyślna data |
| OBX | Jeden wynik | Observation |
Jedna obserwacja laboratoryjna na OBX |
| NTE | Notatka tekstowa | Observation.note |
Nie używany |
Pole OBX po polu
| Pole OBX | Element FHIR Observation | Uwagi |
|---|---|---|
| OBX-2 typ wartości (NM, SN, ST, CWE) | wybór value[x] |
NM i SN stają się valueQuantity; tekst pozostaje tekstem |
OBX-3 identyfikator code^text^system |
code.coding |
LN w OBX-3.3 oznacza LOINC; inne systemy to lokalne kody laboratorium |
| OBX-5 wartość, OBX-6 jednostka | valueQuantity.value, .unit / .code (UCUM) |
<5 i 6,4 muszą być parsowane celowo |
| OBX-7 zakres referencyjny | referenceRange.low / .high |
3.5-5.1, <200, >40 |
| OBX-8 flaga nieprawidłowości | interpretation |
H, L, HH, LL, A, N |
| OBX-11 status wyniku | status |
F → ostateczny, C → poprawiony, P → wstępny, I → zarejestrowany |
| OBX-14 czas obserwacji | effectiveDateTime |
czasy v2 często nie mają strefy czasowej; FHIR wymaga jednej |
Konwersja wiadomości z jednym żądaniem
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
Odpowiedź zawiera listę liczby utworzonych Obserwacji, liczby pominiętych jako już zaimportowane, które znaczniki nie mogły zostać zmapowane, oraz nowe Obserwacje wraz z ich kodami. Każda z nich otrzymuje stabilny identyfikator pochodzący z raportu, testu, czasu i wartości, dzięki czemu laboratorium, które ponownie wysyła tę samą wiadomość, nie tworzy duplikatów.
Pułapki utrudniające rzeczywiste integracje
- Strefy czasowe.
20261002074500nie zawiera przesunięcia; jasno określ strefę czasową nadawcy. - Kody lokalne. Zachowaj własny kod laboratorium, gdy nie ma LOINC; nigdy go nie usuwaj.
- Ponowne wysyłanie. Bez stabilnego identyfikatora dla każdego wyniku, ponawiane próby stają się duplikatami.
- Korekty. OBX-11
Cjest korektą; zdecyduj, czy zastępuje, czy dodaje, i oznacz stary wynik. - Wartości nienumeryczne.
positive,<5,6,4wymagają jasnych reguł, a nie domysłów.
Czego konektor nie robi
Akceptuje wyniki badań laboratoryjnych w formacie ORU^R01 przez HTTPS. Nie odbiera wiadomości ADT ani zleceń, nie komunikuje się przez MLLP w protokole TCP (silnik interfejsu z przodu może przekierować), nie tworzy obiektu DiagnosticReport i nie dopasowuje pacjentów z PID.
Często zadawane pytania
Jak mapować HL7 v2 do FHIR?
Segment po segmencie: PID do Patient, PV1 do Encounter, ORC/OBR do ServiceRequest i DiagnosticReport, OBX do Observation, NTE do notes. Przewodnik implementacyjny HL7 V2-to-FHIR definiuje mapowania koncepcji na poziomie pól.
Czy istnieje konwerter HL7 v2 do FHIR?
Tak. Silniki interfejsów i biblioteki open-source konwertują wiadomości; w przypadku wyników laboratoryjnych, konektor laboratoryjny Anpheros konwertuje wiadomość ORU^R01 na FHIR R4 Observations w jednym żądaniu HTTPS i przechowuje je w rekordzie pacjenta.
Jakie typy wiadomości HL7 v2 akceptuje Anpheros?
ORU^R01 wyniki laboratoryjne. Wiadomość innego typu otrzymuje ostrzeżenie, a odczytywane są tylko jej segmenty OBX; ADT, wiadomości dotyczące zleceń i inne nie są obsługiwane.
Jak są reprezentowane flagi nieprawidłowości HL7 v2 w FHIR?
OBX-8 staje się Observation.interpretation przy użyciu kodów HL7 ObservationInterpretation (H, L, HH, LL, A, N).
Powiązane
- API wyników laboratoryjnych: HL7 v2, FHIR i LOINC
- FHIR vs HL7 v2: praktyczne różnice
- Jak zaimportować wyniki laboratoryjne do rekordu FHIR
- HL7 v2 i FHIR dla pulpitów nawigacyjnych klinicznych
- Konektor laboratoryjny
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card