AnpherosAnpheros PlatformDevelopers

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

API pro laboratorní výsledky: HL7 v2, FHIR a LOINC

Jak cestují laboratorní výsledky jako data HL7 v2 a FHIR R4, co musí jeden výsledek nést a jak přijímat laboratorní zprávy do FHIR záznamu, s reálným příkladem.

API pro laboratorní výsledky dodává laboratorní výsledky jako strukturovaná data — kód testu, hodnota, jednotka, referenční rozsah, stav a čas — namísto PDF, aby je software mohl ukládat, porovnávat, zobrazovat v grafech a sdílet. Dnes tato data cestují ve třech formách: zprávy HL7 v2 ORU^R01 (stále páteř mezi laboratořemi a nemocnicemi), zdroje HL7 FHIR R4 Observation a DiagnosticReport (formát moderních API) a exporty CSV, JSON nebo PDF specifické pro laboratoř. Tato stránka vysvětluje, jak do sebe jednotlivé části zapadají, co musí dobré API pro laboratorní výsledky obsahovat a jak přijímat laboratorní data do záznamu pacienta ve formátu FHIR pomocí Anpheros.

Kdo si vyměňuje laboratorní výsledky a v jakém formátu

Od → do Běžný formát dnes Poznámky
Laboratoř → nemocniční nebo klinický systém HL7 v2 ORU^R01 (v USA často dle průvodce HL7 v2.5.1 Laboratory Results Interface) Požadavky jdou opačným směrem jako zprávy ORM/OML
Laboratoř → agentura veřejného zdraví Elektronické hlášení laboratorních výsledků HL7 v2, stále častěji FHIR Pouze hlášené stavy
Klinický systém → klientská aplikace FHIR R4 prostřednictvím API pro přístup pacienta V USA certifikované EHR zpřístupňují laboratorní výsledky jako FHIR (US Core); v EU European Health Data Space uvádí laboratorní výsledky mezi svými prioritními datovými kategoriemi
Laboratoř → pacient PDF zpráva, portál, někdy CSV Formát, který většina pacientů skutečně obdrží
Aplikace → AI model Strukturovaný kontext vytvořený z Observations Pro spolehlivost potřebuje kódy a jednotky

Směr je důležitý: laboratorní informační systém (LIS) je zdro pravdy pro výsledek a každý navazující systém si uchovává jeho kopii. Důvěryhodnost kopií zajišťuje, že si každý z nich uchovává kód, jednotku, rozsah a původ hodnoty.

Co potřebuje jeden laboratorní výsledek

Výsledek, který říká pouze „Glukóza 126“, nelze bezpečně interpretovat. Kompletní výsledek obsahuje:

Ve FHIR R4 je každý výsledek jeden Observation s category = laboratory a zpráva, která je seskupuje, je DiagnosticReport, která uvádí Observations v result. Platné příklady obou, s chybami, které validátory hlásí nejčastěji, jsou ve FHIR R4 JSON příkladech — viz také příklad DiagnosticReport.

HL7 v2 a FHIR vedle sebe

Stejný výsledek lipidového panelu, jak jej dnes většina laboratoří posílá a jak by jej API mělo ukládat:

OBX|1|NM|2093-3^Cholesterol^LN||212|mg/dL|<200|H|||F|||20261002074500
Pole HL7 v2 Význam Prvek FHIR R4 Observation
OBX-3 2093-3^Cholesterol^LN Test, kódovaný v LOINC code.coding (systém http://loinc.org)
OBX-5 212, OBX-2 NM Číselná hodnota valueQuantity.value
OBX-6 mg/dL Jednotka valueQuantity.unit
OBX-7 <200 Referenční rozsah referenceRange.high
OBX-8 H Příznak abnormality interpretation
OBX-11 F Konečný výsledek status = final
OBX-14 Čas pozorování effectiveDateTime

Převod mezi těmito dvěma formáty je převážně mapování polí. Obtížné části jsou jinde: laboratoře, které posílají vlastní kódy místo LOINC, čísla zapsaná jako text ("6,4", "<5"), rozsahy v několika notacích a zprávy, které jsou po uplynutí časového limitu poslány znovu. Jak normalizovat lékařská data se těmito tématy podrobně zabývá.

Příjem laboratorních výsledků do záznamu FHIR s Anpheros

Anpheros ukládá záznam každého pacienta jako HL7 FHIR R4 a má konektor pro laboratoř: jeden požadavek přijme celou zprávu jako HL7 v2, CSV nebo JSON a vrátí laboratorní Observation s kódy LOINC, referenčními rozsahy, interpretací a původem dat.

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

Pro třířádkový lipidový panel (cholesterol, HDL, triglyceridy) je odpověď z lokálního běhu platformy:

{
  "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"}
  ]
}

Každý uložený výsledek je standardní FHIR R4 Observation, čitelný jakýmkoli FHIR klientem:

{
  "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"}}]
}

Opětovné odeslání stejné zprávy nevytvoří nic nového ("created": 0, "skipped": 3): každý řádek získá stabilní identifikátor z ID zprávy, kódu, data a hodnoty. Značky, které platforma nemůže namapovat na LOINC, si ponechají kód laboratoře a vrátí se v unmapped, takže můžete mapování opravit u zdroje.

Čtení výsledků zpět je standardní vyhledávání FHIR:

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

Další způsoby vstupu a výstupu stejných dat:

Kompletní návod s CSV zprávou, HL7 v2 zprávou, nenamapovanými značkami a opakovaně odeslanými zprávami u syntetického pacienta je v tutoriálu Jak importovat laboratorní výsledky do záznamu FHIR.

Zkontrolujte výsledky před odesláním

Bezplatný FHIR R4 validátor kontroluje strukturu Observation a požadované hodnotové sady. S profilem eu-lab také kontroluje, co by laboratorní výsledek měl obsahovat: kategorii laboratory, kód LOINC, subjekt, stav final-type, čas, hodnotu, jednotku UCUM a referenční rozsah. Stejné kontroly probíhají na platformě prostřednictvím POST /fhir/R4/Observation/$validate?profile=eu-lab.

Výběr API pro laboratorní výsledky: kontrolní seznam

Co Anpheros nedělá

Anpheros není laboratorní informační systém a není připojen k komerčním laboratorním sítím: zprávu zasílá laboratoř, klinika nebo aplikace pacienta. Nerozesílá laboratorní objednávky, nečte PDF zprávy prostřednictvím tohoto API (aplikace Anpheros Daily extrahuje výsledky z fotografií a PDF na straně pacienta) a neinterpretuje výsledky klinicky. Jednotky jsou ukládány tak, jak je laboratoř pošle; jejich převod na kódy UCUM je na straně odesílatele, jak je popsáno v Jak normalizovat lékařská data.

Často kladené dotazy

Co je API pro laboratorní výsledky?

Rozhraní, které umožňuje softwaru odesílat nebo přijímat laboratorní výsledky ve strukturovaných datech — kódovaný test, hodnota s jednotkou, referenční rozsah, stav a čas — namísto dokumentu. Moderní API pro laboratorní výsledky používají zdroje HL7 FHIR R4 Observation a DiagnosticReport; většina laboratoří stále vydává zprávy HL7 v2 ORU^R01.

Který kódovací systém identifikuje laboratorní testy?

LOINC. Každý kód LOINC pojmenovává analyt, vzorek a často metodu, takže 2345-7 (glukóza v séru nebo plazmě) a 2339-0 (glukóza v celé krvi) jsou různé výsledky. Jednotky jsou nejlépe vyjádřeny v UCUM.

Jaký je rozdíl mezi Observation a DiagnosticReport?

Observation je jeden výsledek, například cholesterol 212 mg/dL. DiagnosticReport je zpráva jako celek — panel, který byl objednán, kdo jej vydal a kdy — a uvádí své Observation v result.

Mohu importovat HL7 v2 laboratorní zprávy na FHIR server?

Ano. Každý segment OBX se mapuje na jedno Observation (OBX-3 na code, OBX-5 a OBX-6 na valueQuantity, OBX-7 na referenceRange, OBX-8 na interpretation). Anpheros lab connector to provádí jedním požadavkem a uchovává ID laboratorní zprávy v Provenance.

Jak se vyhnout duplicitním laboratorním výsledkům, když je zpráva znovu odeslána?

Každému výsledku přiřaďte stabilní identifikátor odvozený ze zprávy, testu, času a hodnoty a přeskočte řádky, jejichž identifikátor již existuje. Anpheros lab connector to provádí automaticky a hlásí počet jako skipped.

Související

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