AnpherosAnpheros PlatformDevelopers

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

Jak normalizovat zdravotnická data

Návod: přeměňte zdravotnická data z mnoha zdrojů do jedné srovnatelné formy — vyhledávání LOINC, jednotky UCUM, ISO data, referenční rozsahy, žádné duplikáty při opakování a validace proti evropskému laboratornímu profilu.

Normalizace lékařských dat znamená přeměnu hodnot, které přicházejí v mnoha podobách, do jedné srovnatelné formy: stejný kód pro stejný test, stejný systém jednotek, data v jednom formátu, každá hodnota s jejím referenčním rozsahem a jejím zdrojem a žádné duplicity. Tento návod ukazuje, jak to provést předtím, než data dosáhnou záznamu HL7 FHIR R4: vyhledávání kódů LOINC a ATC, používání jednotek UCUM, odmítání nejednoznačných dat, uchovávání rozsahů, vyhýbání se duplicitám při opakování a kontrola výsledku proti evropskému laboratornímu profilu. Každá zobrazená odpověď pochází z Anpheros API.

Proč na tom záleží

Stejný výsledek HbA1c k vám může dorazit jako „HbA1c 6,4 %“, „Hemoglobina glicozilata: 6.4“, „Glycated haemoglobin 46 mmol/mol“ nebo pouze laboratorní kód, kterému rozumí jen jedna laboratoř. Dokud se toto nestane jedním kódem s jednou jednotkou:

Normalizace patří do bodu, kde data vstupují do záznamu, jednou, nikoli do každé aplikace, která je později čte.

Co obsahuje normalizovaná hodnota

Část Normalizovaná forma Příklad
Co bylo měřeno kód ze standardního systému LOINC 4548-4 (HbA1c), RxNorm 6809 (metformin), ICD-10 E11 (diabetes mellitus 2. typu)
Hodnota číslo, nebo text pouze v případě, že výsledek není numerický 6.4
Jednotka UCUM %, mg/dL, mm[Hg], kg
Kdy datum a čas ve formátu ISO 8601, s časovým pásmem, pokud je čas důležitý 2026-10-01T07:30:00Z
Normální rozsah dolní a horní mez, ve stejné jednotce 4.0–5.6
Zdroj kdo ji vyprodukoval a z jakého systému import z labx
Identita něco, co činí opakování rozpoznatelným klíč pro idempotenci nebo identifikátor zdroje

Který kódovací systém patří ke kterému typu zdroje je uvedeno v FHIR kódovacích systémech.

Krok 1: Najděte kód

Vyhledejte terminologii platformy podle anglického nebo rumunského názvu, případně podle zkratky:

curl "https://platform.anpheros.com/v1/terminology/loinc?q=hba1c" -H "Authorization: Bearer $KEY"
curl "https://platform.anpheros.com/v1/terminology/loinc?q=hemoglobina%20glicozilata" -H "Authorization: Bearer $KEY"

Obě možnosti vrátí stejný koncept:

{"data": [{"system": "http://loinc.org", "code": "4548-4", "display": "Hemoglobin A1c/Hemoglobin.total in Blood",
           "display_ro": "Hemoglobină glicozilată (HbA1c)", "category": "laboratory", "unit": "%"}], "total": 1}

Pro léčivé přípravky vyhledá Anpheros Search látku podle názvu nebo značky a poskytne její RxNorm kód složky a čísla produktů EMA:

curl "https://platform.anpheros.com/v1/search?q=metformin&type=treatment" -H "Authorization: Bearer $KEY"

Pole unit je jednotka, kterou LOINC pro daný test očekává. Použijte jej ke kontrole toho, co jste obdrželi. Sestavte mapování z vlastních názvů každého zdroje na kódy jednou pro každý zdroj a uchovávejte jej ve své integraci. Nehádejte v době zápisu: pokud je název nejednoznačný a nic ve zdroji jej neupřesňuje, ponechte jej nemapovaný a zeptejte se zdroje. Jak importovat laboratorní výsledky do záznamu FHIR ukazuje, jak jsou nemapované laboratorní markery uchovávány a hlášeny.

Krok 2: Zápis pomocí kódů, jednotek a rozsahů

curl -X POST "https://platform.anpheros.com/v1/patients/$PID/observations" -H "Authorization: Bearer $KEY" \
     -H "Content-Type: application/json" -H "Idempotency-Key: lab-77-hba1c" -d '{
  "code": "4548-4", "category": "laboratory",
  "value": 6.4, "unit": "%", "effective_at": "2026-10-01T07:30:00Z",
  "reference_range": {"low": 4.0, "high": 5.6},
  "author_type": "import"
}'
{"id": "3296315c-…", "code": "4548-4", "system": "http://loinc.org", "display": "Hemoglobin A1c/Hemoglobin.total in Blood",
 "category": "laboratory", "effective_at": "2026-10-01T07:30:00Z", "value": 6.4, "unit": "%",
 "reference_range": {"low": 4.0, "high": 5.6}, "status": "final", "fhir": "Observation/3296315c-…"}

Když odešlete pouze kód, platforma doplní standardní název LOINC, a to jak na REST API, tak na FHIR API (/fhir/R4), takže každá aplikace čte stejný display. display, který odešlete sami, zůstane tak, jak je.

Zachovejte také původní znění. Pro laboratorní zprávu drží code.text na FHIR Observation název laboratoře ("Hemoglobina glicozilata (HbA1c)") vedle kódování LOINC. Pacient stále rozpozná svou papírovou zprávu a nic se neztratí, pokud by se mapování někdy zpochybnilo.

Krok 3: Jednotky

Používejte kódy UCUM: mg/dL, mmol/L, %, mm[Hg], kg, cm, /min, Cel. Většině chyb zabrání dvě pravidla:

Anpheros jednotky za vás nepřevádí; ukládá jednotku, kterou odešlete.

Krok 4: Datumy

Před zápisem převedete datumy do formátu ISO 8601 s použitím známého formátu zdroje. 01.10.2026 je 1. říjen v Rumunsku a mnoha evropských zemích, ale 10/01/2026 je 1. říjen pouze ve Spojených státech. API odmítá cokoliv, co není ve formátu ISO, místo aby se pokoušelo hádat:

{"error": {"type": "invalid", "message": "Input should be a valid datetime or date, invalid character in year (at effective_at)", "field": "effective_at"}}

Výjimkou je konektor pro laboratoře: přijímá DD.MM.YYYY a DD/MM/YYYY, protože ví, že čte evropskou zprávu.

U měření, kde záleží na denní době (krevní tlak, glukóza, dávky léků), odešlete čas s jeho časovým pásmem. Hodnota naměřená ve 23:30 v Bukurešti je v UTC předchozího dne a pacient očekává, že bude zaznamenána ve den, kdy byla provedena.

Krok 5: žádné duplicity

Duplicity vznikají při opakovaných pokusech, při odeslání stejné zprávy dvakrát a při příchodu stejné hodnoty dvěma cestami.

Krok 6: Kontrola proti profilu

Pro laboratorní výsledky se před jejich použitím zeptejte platformy, jak se daný zdroj shoduje s profilem pro laboratorní zprávy HL7 Europe:

curl -X POST "https://platform.anpheros.com/fhir/R4/Observation/\$validate?profile=eu-lab" -H "Authorization: Bearer $KEY" \
     -H "Content-Type: application/fhir+json" -d '{
  "resourceType": "Observation", "status": "final",
  "category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}]}],
  "code": {"text": "HbA1c"}, "subject": {"reference": "Patient/'$PID'"},
  "valueQuantity": {"value": 6.4, "unit": "%"}
}'

Tento nenormalizovaný výsledek získá přesný seznam:

{"resourceType": "OperationOutcome", "issue": [
  {"severity": "error", "code": "invalid", "diagnostics": "Observation.code must carry a LOINC coding.", "expression": ["Observation.code"]},
  {"severity": "error", "code": "required", "diagnostics": "Observation.effective[x] is required.", "expression": ["Observation.effective"]},
  {"severity": "warning", "code": "business-rule", "diagnostics": "valueQuantity should carry a UCUM system and code.", "expression": ["Observation.valueQuantity"]},
  {"severity": "warning", "code": "informational", "diagnostics": "No referenceRange: interpretation will need the laboratory's ranges.", "expression": ["Observation.referenceRange"]},
  {"severity": "information", "code": "informational", "diagnostics": "No performer (laboratory) recorded.", "expression": ["Observation.performer"]},
  {"severity": "information", "code": "informational", "diagnostics": "No issued time (when the laboratory released the result).", "expression": ["Observation.issued"]}]}

Každý problém odpovídá jednomu z výše uvedených kroků. Spusťte $validate ve vašich integračních testech s reálnými vzorky z každého zdroje.

Krok 7: uchování zdroje

Normalizace mění způsob, jakým je hodnota zapsána, nikoli odkud pochází. Při každém zápisu odešlete author_type (device, import, practitioner, patient) a X-Anpheros-Source-System. To umožňuje lékaři, auditorovi nebo modelu AI odlišit laboratorní výsledek od hodnoty zadané doma. Viz Vysvětlení původu lékařských dat.

Kontrolní seznam

Často kladené dotazy

Co je normalizace lékařských dat?

Převod zdravotnických dat z různých zdrojů do jedné standardní formy: sdílené kódy (LOINC pro testy a měření, ICD-10 pro diagnózy, ATC pro léky), jednotky UCUM, data ISO, referenční rozsahy a zaznamenaný zdroj, aby bylo možné porovnávat, kombinovat a vyměňovat hodnoty z různých systémů.

Mám převést všechny hodnoty na jednu jednotku?

Uchovávejte jednotku, ve které zdroj měřil, pokud je to platná jednotka UCUM odpovídající kódu, a konvertujte ji při zobrazování nebo analýze. Tím zůstává každá uložená hodnota dohledatelná ke svému původnímu hlášení.

Může být normalizace plně automatická?

Většinou ano. Kódy ve zdroji, známé názvy a dobře formátované jednotky lze mapovat automaticky. Nejednoznačné názvy a neznámé lokální kódy vyžadují lidské rozhodnutí jednou pro každý zdroj, poté je mapování automatické.

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