AnpherosAnpheros PlatformDevelopers

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

Ako normalizovať zdravotnícke údaje

Návod: premeňte zdravotnícke údaje z mnohých zdrojov do jednej porovnateľnej formy — vyhľadávanie LOINC, jednotky UCUM, ISO dátumy, referenčné rozsahy, žiadne duplikáty pri opakovanom pokuse a validácia podľa európskeho laboratórneho profilu.

Normalizácia lekárskych dát znamená premenu hodnôt, ktoré prichádzajú v mnohých podobách, do jednej porovnateľnej formy: rovnaký kód pre rovnaký test, rovnaký systém jednotiek, dátumy v jednom formáte, každá hodnota s jej referenčným rozsahom a jej zdrojom, a žiadne duplikáty. Tento tutoriál ukazuje, ako to urobiť pred tým, ako dáta dosiahnu záznam HL7 FHIR R4: vyhľadávanie kódov LOINC a ATC, používanie jednotiek UCUM, odmietanie nejednoznačných dátumov, uchovávanie rozsahov, vyhýbanie sa duplikátom pri opakovanom pokuse a kontrola výsledku voči európskemu laboratórnemu profilu. Každá zobrazená odpoveď pochádza z Anpheros API.

Prečo je to dôležité

Rovnaký výsledok HbA1c k vám môže prísť ako „HbA1c 6,4 %“, „Hemoglobina glicozilata: 6.4“, „Glycated haemoglobin 46 mmol/mol“ alebo len ako laboratórny kód, ktorému rozumie iba jedno laboratórium. Kým sa tieto hodnoty nestanú jedným kódom s jednou jednotkou:

Normalizácia patrí do bodu, kde dáta vstupujú do záznamu, raz, nie do každej aplikácie, ktorá ich neskôr číta.

Čo obsahuje normalizovaná hodnota

Časť Normalizovaná forma Príklad
Čo bolo merané kód zo štandardného systému LOINC 4548-4 (HbA1c), RxNorm 6809 (metformín), ICD-10 E11 (diabetes mellitus 2. typu)
Hodnota číslo, alebo text iba vtedy, keď výsledok nie je numerický 6.4
Jednotka UCUM %, mg/dL, mm[Hg], kg
Kedy dátum a čas v ISO 8601, s časovou zónou, keď je čas dôležitý 2026-10-01T07:30:00Z
Normálny rozsah dolná a horná hranica, v rovnakej jednotke 4.0–5.6
Zdroj kto ju vyprodukoval a z akého systému import z labx
Identita niečo, čo robí opakovanie rozpoznateľným kľúč na idempotenciu alebo identifikátor zdroja

Ktorý kódový systém zodpovedá ktorému typu zdroja je uvedený v FHIR kódových systémoch.

Krok 1: Nájdite kód

Vyhľadajte terminológiu platformy podľa anglického alebo rumunského názvu, alebo podľa skratky:

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"

Obe vracajú rovnaký 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}

Pre lieky, Anpheros Search nájde látku podľa názvu alebo značky a poskytne jej RxNorm kód zložky a čísla produktov EMA:

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

Pole unit je jednotka, ktorú LOINC očakáva pre daný test. Použite ho na kontrolu toho, čo ste prijali. Vytvorte mapovanie z vlastných názvov každého zdroja na kódy raz, pre každý zdroj, a uchovávajte ho vo vašej integrácii. Nehádajte pri zápise: keď je názov nejednoznačný a nič v zdroji to nevyrieši, nechajte ho nemapovaný a požiadajte zdroj. Ako importovať laboratórne výsledky do FHIR záznamu ukazuje, ako sa nemapované laboratórne markery uchovávajú a hlásia.

Krok 2: Zápis s kódmi, jednotkami a rozsahy

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-…"}

Keď odošlete iba kód, platforma doplní štandardný názov LOINC, rovnako na REST API ako aj na FHIR API (/fhir/R4), takže každá aplikácia číta to isté display. display, ktorý odošlete sami, sa zachová tak, ako je.

Zachovajte aj pôvodné znenie. Pre laboratórnu správu, code.text na FHIR Observation drží názov laboratória ("Hemoglobina glicozilata (HbA1c)") vedľa kódovania LOINC. Pacient stále spoznáva svoju papierovú správu a nič sa nestratí, ak by sa mapovanie niekedy spochybnilo.

Krok 3: jednotky

Použite kódy UCUM: mg/dL, mmol/L, %, mm[Hg], kg, cm, /min, Cel. Dve pravidlá zabránia väčšine chýb:

Anpheros nekonvertuje jednotky za vás; ukladá jednotku, ktorú odošlete.

Krok 4: dátumy

Pred zápisom konvertujte dátumy do formátu ISO 8601 pomocou známeho formátu zdroja. 01.10.2026 je 1. október v Rumunsku a mnohých európskych krajinách, ale 10/01/2026 je 1. október iba v Spojených štátoch. API odmieta čokoľvek, čo nie je v ISO formáte, namiesto toho, aby sa pokúšalo hádať:

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

Výnimkou je laboratórny konektor: akceptuje DD.MM.YYYY a DD/MM/YYYY, pretože vie, že číta európsku správu.

Pre merania, kde záleží na dennom čase (krvný tlak, glukóza, dávky liekov), posielajte čas s jeho časovým pásmom. Odčítanie o 23:30 v Bukurešti je v UTC predchádzajúci deň a pacient očakáva, že bude zaznamenané v deň, kedy ho vykonal.

Krok 5: žiadne duplikáty

Duplikáty vznikajú z opakovaných pokusov, z dvoch rovnakých odoslaných správ a z rovnakých hodnôt prichádzajúcich dvoma cestami.

Krok 6: Kontrola voči profilu

Pre laboratórne výsledky sa pred tým, ako sa na ne budete spoliehať, opýtajte platformy, ako sa zdroj zhoduje s profilom laboratórnej sprá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ýsledok získa presný zoznam:

{"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 zodpovedá jednému z vyššie uvedených krokov. Spustite $validate vo svojich integračných testoch s reálnymi vzorkami z každého zdroja.

Krok 7: Zachovanie zdroja

Normalizácia mení spôsob zápisu hodnoty, nikdy nie jej pôvod. Pri každom zápise posielajte author_type (device, import, practitioner, patient) a X-Anpheros-Source-System. To lekárovi, audítorovi alebo modelu AI umožní rozlíšiť laboratórny výsledok od hodnoty zadanej doma. Pozrite si Vysvetlenie pôvodu lekárskych údajov.

Kontrolný zoznam

Často kladené otázky

Čo je normalizácia lekárskych údajov?

Konverzia zdravotných údajov z rôznych zdrojov do jednej štandardnej formy: zdieľané kódy (LOINC pre testy a merania, ICD-10 pre diagnózy, ATC pre lieky), jednotky UCUM, dátumy ISO, referenčné rozsahy a zaznamenaný zdroj, aby bolo možné porovnávať, kombinovať a vymieňať hodnoty z rôznych systémov.

Mám konvertovať všetky hodnoty na jednu jednotku?

Ukladajte jednotku, v ktorej zdroj meral, pokiaľ je to platná jednotka UCUM zodpovedajúca kódu, a konvertujte pri zobrazovaní alebo analýze. Týmto spôsobom zostáva každá uložená hodnota sledovateľná k pôvodnej správe.

Môže byť normalizácia plne automatická?

Vo väčšine prípadov. Kódy vo zdroji, známe názvy a dobre formované jednotky je možné mapovať automaticky. Nejednoznačné názvy a neznáme lokálne kódy si vyžadujú ľudské rozhodnutie raz na zdroj, po ktorom je mapovanie automatické.

Súvisiace

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