AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Laboreredmények API: HL7 v2, FHIR és LOINC

Hogyan utaznak a laboreredmények HL7 v2 és FHIR R4 adatként, mit kell tartalmaznia egy eredménynek, és hogyan fogadjunk laborjelentéseket egy FHIR rekordba, valós példával.

A laboreredmény API strukturált adatként – tesztkód, érték, mértékegység, referenciatartomány, státusz és időpont – szolgáltatja a laboreredményeket PDF helyett, így a szoftverek tárolhatják, összehasonlíthatják, ábrázolhatják és megoszthatják azokat. Ma ez az adat három formában utazik: HL7 v2 ORU^R01 üzenetek (még mindig a laborok és kórházak közötti gerinc), HL7 FHIR R4 Observation és DiagnosticReport erőforrások (a modern API-k formátuma), valamint labor-specifikus CSV, JSON vagy PDF exportok. Ez az oldal elmagyarázza, hogyan illeszkednek össze az elemek, mit kell tartalmaznia egy jó laboreredmény API-nak, és hogyan fogadhatunk laboradatokat egy páciens FHIR rekordjába az Anpheros segítségével.

Kik cserélnek laboreredményeket, és milyen formátumban

Feladó → Címzett Jelenlegi szokásos formátum Megjegyzések
Laboratórium → kórházi vagy klinikai rendszer HL7 v2 ORU^R01 (az USA-ban gyakran az HL7 v2.5.1 Laboratory Results Interface guide szerint) A rendelések a másik irányba mennek ORM/OML üzenetekként
Laboratórium → közegészségügyi ügynökség HL7 v2 elektronikus laborjelentés, egyre inkább FHIR Csak jelentendő állapotok
Klinikai rendszer → betegalkalmazás FHIR R4 beteg-hozzáférésű API-n keresztül Az USA-ban a tanúsított EHR-ek laboreredményeket FHIR (US Core) formátumban tesznek elérhetővé; az EU-ban az European Health Data Space a laboreredményeket prioritási adatkategóriák közé sorolja
Laboratórium → beteg PDF jelentés, portál, néha CSV A formátum, amit a legtöbb beteg ténylegesen kap
Alkalmazás → AI modell Megfigyelésekből (Observations) felépített strukturált kontextus Megbízhatósághoz kódokra és mértékegységekre van szükség

Az irány számít: a laboratóriumi információs rendszer (LIS) az eredmények igazságforrása, és minden utána következő rendszer egy másolatot tart fenn. A másolatok megbízhatóságát az biztosítja, hogy mindegyik megőrzi az érték kódját, mértékegységét, tartományát és eredetét.

Mit kell tartalmaznia egy laboreredménynek

Egy olyan eredmény, amely csak annyit mond, hogy "Glükóz 126", nem értelmezhető biztonságosan. Egy teljes eredmény tartalmazza:

A FHIR R4-ben minden eredmény egy Observation, category = laboratory-tal, és a csoportosító jelentés egy DiagnosticReport, amely felsorolja az result-ban lévő megfigyeléseket. Mindkettő érvényes példája, a leggyakrabban előforduló hibákkal, amelyeket a validátorok jelentenek, a FHIR R4 JSON példákban található — lásd még a DiagnosticReport példát.

HL7 v2 és FHIR egymás mellett

Ugyanaz a lipid panel eredmény, ahogyan a legtöbb labor ma küldi, és ahogyan egy API-nak tárolnia kellene:

OBX|1|NM|2093-3^Cholesterol^LN||212|mg/dL|<200|H|||F|||20261002074500
HL7 v2 mező Jelentés FHIR R4 Observation elem
OBX-3 2093-3^Cholesterol^LN Teszt, LOINC kódolással code.coding (rendszer http://loinc.org)
OBX-5 212, OBX-2 NM Numerikus érték valueQuantity.value
OBX-6 mg/dL Egység valueQuantity.unit
OBX-7 <200 Referenciatartomány referenceRange.high
OBX-8 H Eltérés jelző interpretation
OBX-11 F Végeredmény status = final
OBX-14 Megfigyelés ideje effectiveDateTime

A kettő közötti konverzió többnyire mező-hozzárendelés. A nehéz részek máshol vannak: olyan laborok, amelyek a LOINC helyett saját kódokat küldenek, számok szövegként írva ("6,4", "<5"), többféle jelölésű tartományok, és olyan jelentések, amelyeket időtúllépés után újra elküldenek. Az orvosi adatok normalizálása részletesen tárgyalja ezeket.

Laboreredmény fogadása FHIR rekordba az Anpheros segítségével

Az Anpheros minden páciens rekordját HL7 FHIR R4 formátumban tárolja, és rendelkezik egy laborkapcsolattal: egyetlen kérés képes fogadni egy teljes jelentést HL7 v2, CSV vagy JSON formátumban, és laboratóriumi megfigyeléseket (Observations) ad vissza LOINC kódokkal, referenciatartományokkal, értelmezéssel és származással.

curl -s -X POST "https://platform.anpheros.com/v1/patients/$PID/labs/import" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: x-application/hl7-v2+er7" \
  -H "X-Anpheros-Source-System: springfield-lis" \
  --data-binary @lipid-panel.hl7

Egy háromsoros lipidpanel (koleszterin, HDL, triglicerid) esetében a válasz, a platform helyi futtatásából:

{
  "created": 3, "skipped": 0, "unmapped": [], "warnings": [],
  "observations": [
    {"id": "26ed9219-…", "marker": "Cholesterol", "code": "2093-3", "system": "http://loinc.org",
     "value": 212.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"},
    {"id": "2633d1d4-…", "marker": "HDL cholesterol", "code": "2085-9", "system": "http://loinc.org",
     "value": 48.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"},
    {"id": "a02520bb-…", "marker": "Triglyceride", "code": "2571-8", "system": "http://loinc.org",
     "value": 165.0, "unit": "mg/dL", "date": "2026-10-02T07:45:00Z"}
  ]
}

Minden tárolt eredmény egy standard FHIR R4 Observation, amely bármely FHIR kliens által olvasható:

{
  "resourceType": "Observation",
  "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"coding": [{"system": "http://loinc.org", "code": "2093-3",
                        "display": "Cholesterol [Mass/volume] in Serum or Plasma"}], "text": "Cholesterol"},
  "subject": {"reference": "Patient/4c3062d9-…"},
  "effectiveDateTime": "2026-10-02T07:45:00Z",
  "valueQuantity": {"value": 212.0, "unit": "mg/dL"},
  "interpretation": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", "code": "H"}]}],
  "referenceRange": [{"high": {"value": 200.0, "unit": "mg/dL"}}]
}

Ugyanazon üzenet ismételt elküldése nem hoz létre újat ("created": 0, "skipped": 3): minden sorhoz egy stabil azonosító tartozik a jelentés azonosítójából, a kódjából, a dátumból és az értékből. Azok a jelölők, amelyeket a platform nem tud a LOINC-hoz hozzárendelni, megtartják a labor kódját, és a unmapped-ben térnek vissza, így Ön kijavíthatja a hozzárendelést a forrásnál.

Az eredmények visszaolvasása egy standard FHIR keresés:

curl -s "https://platform.anpheros.com/fhir/R4/Observation?patient=$PID&category=laboratory&code=http://loinc.org|2093-3" \
  -H "Authorization: Bearer $KEY"

Más módszerek az adatok be- és kivitelére:

A teljes bemutató, egy CSV jelentéssel, egy HL7 v2 üzenettel, nem hozzárendelt jelölőkkel és ismételten elküldött jelentésekkel egy szintetikus páciensen, a Hogyan importáljunk laboreredményeket FHIR rekordba című oktatóanyagban található.

Eredmények ellenőrzése küldés előtt

Az ingyenes FHIR R4 validator ellenőrzi egy Observation szerkezetét és a kötelező értékkészleteket, a eu-lab profillal pedig azt is ellenőrzi, hogy egy laboratóriumi eredménynek mit kell tartalmaznia: a laboratory kategóriát, egy LOINC kódot, egy alanyt, egy végső típusú státuszt, egy időpontot, egy értéket, egy UCUM egységet és egy referenciatartományt. Ugyanezek az ellenőrzések futnak a platformon keresztül a POST /fhir/R4/Observation/$validate?profile=eu-lab segítségével.

Laboratóriumi eredmények API kiválasztása: ellenőrzőlista

Amit az Anpheros nem csinál

Az Anpheros nem egy laboratóriumi információs rendszer, és nem kapcsolódik kereskedelmi laboratóriumi hálózatokhoz: a jelentést a laboratórium, a klinika vagy a páciens alkalmazása küldi el. Nem továbbítja a laboratóriumi rendeléseket, nem olvas PDF jelentéseket ezen az API-n keresztül (az Anpheros Daily alkalmazás a páciens oldalán fényképekből és PDF-ekből vonja ki az eredményeket), és nem értelmezi klinikailag az eredményeket. Az egységek úgy vannak tárolva, ahogy a laboratórium küldi őket; az UCUM kódokra való átalakítás a küldő feladata, ahogy az a Hogyan normalizáljuk az orvosi adatokat részben le van írva.

Gyakran ismételt kérdések

Mi az a laboreredmény API?

Egy interfész, amely lehetővé teszi a szoftverek számára laboreredmények küldését vagy fogadását strukturált adatként – kódolt teszt, érték egységgel, referencia tartomány, státusz és idő –, nem pedig dokumentumként. A modern laboreredmény API-k HL7 FHIR R4 Observation és DiagnosticReport erőforrásokat használnak; a legtöbb laboratórium még mindig HL7 v2 ORU^R01 üzeneteket generál.

Melyik kódrendszer azonosítja a laboratóriumi teszteket?

LOINC. Minden LOINC kód megnevezi az analitot, a mintát és gyakran a módszert, így a 2345-7 (glükóz szérumban vagy plazmában) és a 2339-0 (glükóz teljes vérben) különböző eredmények. Az egységeket UCUM-ban érdemes kifejezni.

Mi a különbség az Observation és a DiagnosticReport között?

Az Observation egyetlen eredmény, például koleszterin 212 mg/dL. A DiagnosticReport maga a jelentés egésze – a megrendelt panel, ki állította ki és mikor –, és felsorolja az Observation-jeit a result-ban.

Importálhatok HL7 v2 laborüzeneteket FHIR szerverre?

Igen. Minden OBX szegmens egy Observation-höz rendelődik (OBX-3 a code-hez, OBX-5 és OBX-6 a valueQuantity-hez, OBX-7 a referenceRange-hez, OBX-8 a interpretation-hez). Az Anpheros labor csatlakozó ezt egyetlen kérésre elvégzi, és a jelentés azonosítóját a Provenance-ben tárolja.

Hogyan kerülhetem el az ismétlődő laboreredményeket, ha egy jelentést újra elküldenek?

Minden eredményhez adjon egy stabil azonosítót, amely a jelentésből, a tesztből, az időből és az értékből származik, és hagyja ki azokat a sorokat, amelyek azonosítója már létezik. Az Anpheros labor csatlakozó ezt automatikusan megteszi, és az eredmények számát skipped-ként jelenti.

Kapcsolódó

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy