AnpherosAnpheros PlatformDevelopers

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

Egészségügyi adatok normalizálása

Oktatóanyag: alakítsa át a különböző forrásokból származó orvosi adatokat egyetlen összehasonlítható formává – LOINC lekérdezés, UCUM egységek, ISO dátumok, referencia tartományok, nincs ismétlődés újrapróbáláskor, és validálás az európai laborprofil ellen.

Az orvosi adatok normalizálása azt jelenti, hogy a sokféle formában érkező értékeket egyetlen összehasonlítható formává alakítjuk: ugyanaz a kód ugyanahhoz a teszthez, ugyanaz az egységrendszer, a dátumok egy formátumban, minden érték a referenciatartományával és forrásával, és nincsenek ismétlődések. Ez az oktatóanyag bemutatja, hogyan lehet ezt megtenni, mielőtt az adatok egy HL7 FHIR R4 rekordba kerülnének: LOINC és ATC kódok keresése, UCUM egységek használata, kétértelmű dátumok elutasítása, tartományok megtartása, ismétlődések elkerülése újbóli megkísérléskor, és az eredmény ellenőrzése az európai laboratóriumi profil ellen. Minden bemutatott válasz az Anpheros API-ból származik.

Miért fontos ez

Ugyanaz az HbA1c eredmény érkezhet hozzád "HbA1c 6,4 %", "Hemoglobina glicozilata: 6.4", "Glycated haemoglobin 46 mmol/mol" vagy csak egyetlen laboratórium által értett laboratóriumi kód formájában. Amíg ezek nem lesznek egy egységes kód egy egységes mértékegységgel:

A normalizálásnak ott kell történnie, ahol az adatok belépnek a rekordba, egyszer, nem pedig minden olyan alkalmazásban, amely később olvassa azokat.

Mi tartozik egy normalizált értékhez

Rész Normalizált forma Példa
Mi lett mérve egy kód egy standard rendszerből LOINC 4548-4 (HbA1c), RxNorm 6809 (metformin), ICD-10 E11 (2-es típusú cukorbetegség)
Az érték egy szám, vagy csak szöveg, ha az eredmény nem numerikus 6.4
Az egység UCUM %, mg/dL, mm[Hg], kg
Mikor egy ISO 8601 dátum-idő, időzónával, ha az idő számít 2026-10-01T07:30:00Z
Normál tartomány alsó és felső határ, ugyanabban az egységben 4.0–5.6
Forrás ki állította elő és melyik rendszerből import innen: labx
Azonosító valami, ami felismerhetővé tesz egy ismétlést egy idempotencia kulcs vagy egy forrás azonosító

Melyik kódrendszer melyik erőforrás típushoz tartozik a FHIR kódrendszerek listában található.

1. lépés: Kód keresése

Keresse meg a platform terminológiáját angol vagy román név, vagy rövidítés alapján:

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"

Mindkettő ugyanazt a koncepciót adja vissza:

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

Gyógyszerek esetében az Anpheros Search név vagy márkanév alapján keresi az anyagot, és megadja annak RxNorm összetevő kódját és az EMA termékszámokat:

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

A unit mező az a mértékegység, amit a LOINC vár az adott teszthez. Használja ezt annak ellenőrzésére, hogy mit kapott. Építse meg a leképezést minden forrás saját neveiről kódokra egyszer, forrásonként, és tartsa meg az integrációjában. Ne találgasson írási időben: ha egy név kétértelmű, és semmi a forrásban nem tisztázza, hagyja leképezetlenül, és kérdezze meg a forrást. Hogyan importálhatók laboratóriumi eredmények FHIR rekordba című cikk bemutatja, hogyan kezelhetők és jelenthetők a leképezetlen laboratóriumi markerek.

2. lépés: Kódokkal, egységekkel és tartományokkal írás

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

Amikor csak a kódot küldi el, a platform kitölti a standard LOINC nevet, mind a REST API-n, mind a FHIR API-n (/fhir/R4), így minden alkalmazás ugyanazt a display olvassa. Az Ön által küldött display változatlan marad.

Tartsa meg az eredeti megfogalmazást is. Egy laboratóriumi jelentés esetében a FHIR Observation code.text mezője tartalmazza a laboratórium nevét ("Hemoglobina glicozilata (HbA1c)") a LOINC kódolás mellett. A páciens továbbra is felismeri a papír alapú jelentését, és semmi sem vész el, ha a megfeleltetés valaha is megkérdőjeleződik.

3. lépés: mértékegységek

Használjon UCUM kódokat: mg/dL, mmol/L, %, mm[Hg], kg, cm, /min, Cel. Két szabály megakadályozza a legtöbb hibát:

Az Anpheros nem konvertálja az egységeket Ön helyett; azt az egységet tárolja, amit Ön küld.

4. lépés: dátumok

A dátumokat az ISO 8601 formátumra kell konvertálni az írás előtt, a forrás ismert formátumát használva. A 01.10.2026 dátum Romániában és sok európai országban október 1-jét jelent, de a 10/01/2026 dátum csak az Egyesült Államokban október 1-jét jelent. Az API nem fogad el semmit, ami nem ISO formátumú, ahelyett, hogy találgatna:

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

A labor csatlakozó kivétel: elfogadja a DD.MM.YYYY és a DD/MM/YYYY formátumokat, mert tudja, hogy európai jelentést olvas.

Azoknál a méréseknél, ahol a napszak is számít (vérnyomás, glükóz, gyógyszeradagok), az időt az időzónával együtt kell elküldeni. Egy bukaresti 23:30-kor vett lelet az UTC-ben az előző napra esik, és a beteg arra a napra várja, amikor azt vette.

5. lépés: Nincs duplikátum

A duplikátumok a próbálkozásokból, az ugyanazon jelentés kétszeri elküldéséből és két útvonalon érkező azonos értékekből származhatnak.

6. lépés: Profil ellenőrzése

Laboratóriumi eredmények esetén kérdezze meg a platformot, hogy egy erőforrás hogyan felel meg az HL7 Europe laboratóriumi jelentés profilnak, mielőtt megbízna benne:

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": "%"}
}'

Ez a nem normalizált eredmény egy pontos listát kap:

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

Minden probléma a fenti lépések egyikéhez kapcsolódik. Futtassa a $validate-et az integrációs tesztekben, minden forrásból származó valós mintákkal.

7. lépés: A forrás megőrzése

A normalizálás megváltoztatja az érték írásmódját, de soha nem azt, honnan származik. Minden írással küldje el a(z) author_type (device, import, practitioner, patient) és a(z) X-Anpheros-Source-System értékeket. Ez teszi lehetővé az orvos, az auditor vagy egy AI modell számára, hogy megkülönböztesse a laboratóriumi eredményt az otthonról beírt értéktől. Lásd: Az orvosi adatok eredetének magyarázata.

Checklist

Gyakran ismételt kérdések

Mi az orvosi adatok normalizálása?

Az egészségügyi adatok átalakítása különböző forrásokból egy szabványos formátummá: megosztott kódok (LOINC tesztekhez és mérésekhez, ICD-10 diagnózisokhoz, ATC gyógyszerekhez), UCUM egységek, ISO dátumok, referenciatartományok és egy rögzített forrás, hogy a különböző rendszerekből származó értékek összehasonlíthatók, kombinálhatók és cserélhetők legyenek.

Minden értéket át kell alakítanom egyetlen egységre?

Tárolja az egységet, amelyben a forrás mérte, amíg az egy érvényes UCUM egység, amely megfelel a kódnak, és konvertálja megjelenítés vagy elemzés során. Ez minden tárolt értéket nyomon követhetővé tesz az eredeti jelentéshez.

Lehet-e a normalizálás teljesen automatikus?

Többnyire. A forrásban lévő kódok, ismert nevek és jól formázott egységek automatikusan hozzárendelhetők. Az egyértelmű nevek és az ismeretlen helyi kódok emberi döntést igényelnek forrásonként egyszer, ezt követően a hozzárendelés automatikus.

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