Deskripční logika pro radiology

Sémantická interoperabilita

2 300 let úsilí lidstva

Aristotelés
4. stol. př. n. l. · rod + rozlišující znak
Porfyrios
3. stol. · strom pojmů
Frege
1879 · pojem jako funkce
Deskripční logika
1985–2005 · rozhodnutelně
SNOMED CT
2002 · 428 000 definic

František Hrdina, M.Sc. · CogniTrust

Zdravotnická data si mezi sebou předávají systémy, které je samy nečtou – jen je přeposílají a zobrazují. Aby jim rozuměly, musí mít každý pojem definici, kterou lze strojově ověřit. Tento text vede od problému (stát má pro tentýž údaj nesourodé kódy) přes historii definic (Aristotelés, Frege) k deskripční logice a SNOMED CT a končí tím, jak význam přenést standardem FHIR bez ztráty.

Průvodní příklad je radiologický: nález spondylodiscitidy z veřejného mezinárodního datasetu PARROT a nález pneumotoraxu s projektilem, který máme zapsaný v deskripční logice.

Problém

Pediatr, nebo maxilofaciální chirurg?

kódregistr poskytovatelů – obor péčeregistr zdravotnických pracovníků – specializace
L47pediatriemaxilofaciální chirurgie
L48–pediatrie
N30maxilofaciální chirurgie–

Oba jsou kmenové registry ministerstva zdravotnictví, oba používají řadu L##. Sdílejí 55 kódů, 143 zná jen registr poskytovatelů, 185 jen registr pracovníků.

Systém, který obor z registru poskytovatelů dohledá v číselníku registru pracovníků, zobrazí pediatrovi „maxilofaciální chirurgie“.

Žádná chyba, žádné varování. Kód je platný, formát sedí, validace projde.

Pro odbornost lékaře existuje v ČR 6 nekompatibilních číselníků (ÚZIS, SÚKL, 4× ministerstvo zdravotnictví), žádný publikovaný převodník.

Měřeno nad produkčními číselníky vydavatelů 20. 8. 2026 (analýza rozhraní MZd, §9.6c).

Kmenový registr poskytovatelů a kmenový registr zdravotnických pracovníků spravuje totéž ministerstvo. Oba kódují odbornost řadou L##, a přesto kód L47 znamená v prvním pediatrii a ve druhém maxilofaciální chirurgii. Pediatrie je ve druhém registru L48, maxilofaciální chirurgie v prvním N30.

Registry sdílejí 55 kódů, 143 zná jen registr poskytovatelů a 185 jen registr pracovníků. Z 55 společných nese 8 rozdílný název. Systém, který kód z jednoho registru dohledá v číselníku druhého, zobrazí nesmysl – a žádná kontrola neselže, protože kód je formálně platný.

Pro odbornost lékaře existuje v ČR šest nekompatibilních číselníků (ÚZIS, SÚKL, čtyři na ministerstvu) a žádný zveřejněný převodník. Měřeno nad produkčními číselníky 20. 8. 2026.

Problém

Falešní přátelé: stejný tvar, jiný pojem

oborSÚKL (preskripční omezení)registr zdravotnických pracovníků (základní kmen)
anesteziologieANSANE
praktické lékařstvíPRLVPL
oftalmologieOPHOFT
ORLORLOTO
urologieURNURO

Devět kódů je bajtově shodných (DER, GYN, CHI, INT…), 32 ze 41 kódů SÚKL druhý číselník nezná.

Nejde o dva zápisy téhož. Jeden kód říká, kdo smí lék předepsat, druhý, jakou vzdělávací dráhu lékař prošel. Shoda tvaru svádí k převodu, který nikde hlasitě neselže.

Analýza rozhraní MZd, §9.6c.

SÚKL (číselník preskripčních omezení) a registr zdravotnických pracovníků (základní kmen) používají trojpísmenné zkratky oborů. Devět zkratek je shodných, 32 ze 41 kódů SÚKL druhý číselník nezná a u pěti oborů se zkratky těsně míjejí: anesteziologie ANS × ANE, praktické lékařství PRL × VPL.

Podstatnější je, že nejde o dva zápisy téhož pojmu. Preskripční omezení říká, kdo smí lék předepsat; základní kmen popisuje vzdělávací dráhu. Převodní tabulka postavená na shodě zkratek bude u devíti kódů „fungovat“ a u ostatních tiše lhát. Skoro-shoda je nebezpečnější než zjevný rozdíl.

Opak sémantické interoperability

Vesmír státních rozhraní: každé je ostrov

● rozhraní   ● operace   ● datový typ

39

tvarů adresy

Adresa = ulice, město, PSČ. Kolik definic je potřeba? Jedna.

Až vznikne další služba, bude jich 40.

27
služeb
858
metod
2 509
typů
18
nepropojených ostrovů
≈ 0
typů sdílených mezi službami
43
popisů pacienta

Cena převodníků: Kraj Vysočina platí za můstek pro 5 nemocnic 89,9 mil. Kč na 15 let, změny rozhraní o 29 % dražší než provoz. Přepočet na 200 nemocnic ČR: ≈ 3,6 mld. Kč.

Graf zobrazuje všechna státní zdravotnická rozhraní, pro která máme vygenerované klienty: každé rozhraní (oranžově) s operacemi (zeleně) a datovými typy (modře); velikost typu odpovídá tomu, kolikrát se používá. Graf obsahuje 27 služeb, 858 metod a 2 509 datových typů, které tvoří 18 nepropojených ostrovů – Sdílený zdravotní záznam (169 operací), eReg ÚZIS, vakcinační modul, TermX, EZCA2, rozhraní SÚKL a další. Typy se znovu používají jen uvnitř jedné služby (nejsdílenější typ 81×, sdílených typů celkem 737); napříč službami je sdílení prakticky nulové, i když rozhraní popisují tytéž věci. 51 metod navíc nemá typovaný výstup vůbec.

Nejnázornější důsledek je adresa: ve státních rozhraních existuje 39 samostatných tvarů adresy a 43 různých popisů pacienta. Každá nová služba si adresu nadefinuje znovu – až vznikne další, bude jich 40. To je opak sémantické interoperability: stejný pojem se definuje znovu, pokaždé jinak a bez vazby na ostatní. Interaktivní graf je veřejně na dasta4.cz/doc/models/universe.

Jen kmenový registr pacientů má 12 různých popisů osoby se jménem a příjmením a 3 popisy adresy; tentýž popis adresy existuje nezávisle ve třech kmenových registrech a může se kdykoli rozejít. FHIR má pro adresu jediný datový typ Address, DASTA 4 jediný adresní typ. Měřeno 7. 9. 2026 nad 31 státními rozhraními; počty jsou spodní hranice.

Každý další tvar znamená převodník a každý převodník něco stojí. Kraj Vysočina platí za překladový můstek pro 5 nemocnic 89,9 mil. Kč bez DPH na 15 let (zakázka Z2025-043536); údržba změn rozhraní stojí o 29 % víc než samotný provoz. Lineární přepočet na 200 nemocnic dává přibližně 3,6 mld. Kč za 15 let, z toho asi 87 mil. Kč ročně jen za dorovnávání změn. Odhad nezahrnuje ambulance.

Odkazy: Interaktivní graf státních rozhraní · FHIR datový typ Address

Registr smluv – zakázka Z2025-043536 (profil zadavatele): Nemocnice Jihlava dílo, servis · Havlíčkův Brod dílo, servis · Nové Město na Moravě dílo, servis · Pelhřimov dílo, servis · Třebíč dílo, servis

Pro srovnání

Stejný pohled na FHIR: jedno sdílené jádro

EU Health Data API (FHIR R4)

1

tvar adresy – Address,
používaný po celém světě

Až vznikne nová služba, použije tu samou definici adresy.

72
metod
482
typů
248×
Element
  • Místo rozptýlených hvězdic pár velkých uzlů, na které ukazují všichni: Patient, Practitioner, Organization, Encounter, Observation.
  • Pacient, pozorování, adresa jsou definované jednou a všechny operace na ně ukazují.

dasta4.cz/doc/models/universe

Stejný pohled na evropské FHIR rozhraní (EU Health Data API, FHIR R4) ukazuje opačný obraz: 72 metod a 482 typů tvoří jedno jádro, na které se napojují všechny operace. Dole jsou společné datové typy (Element je použit 248×), nad nimi několik resources, na které odkazují všechny ostatní: Patient, Practitioner, Organization, Encounter, Observation. Místo rozptýlených hvězdic vzniká pár velkých uzlů, které sdílí všichni.

Adresa má ve FHIRu jediný datový typ Address, používaný po celém světě; až vznikne nová služba, použije tu samou definici adresy. Totéž platí pro pacienta a pozorování: pojem je definovaný jednou a všechny operace na něj ukazují. To je strukturní základ, na kterém se sémantická interoperabilita dá stavět.

Odkazy: Interaktivní graf FHIR · FHIR R4 – přehled resources · FHIR datový typ Address

Pojem

Sémantická interoperabilita

Připomenutí: L47 = pediatrie v registru poskytovatelů, maxilofaciální chirurgie v registru zdravotnických pracovníků.

úroveň (HIMSS)otázkaL47
základníDorazí data z A do B?✔ kód L47 dorazí
strukturníPřečte B formát – pole, typy, kódy?✔ L47 je platný kód, validace projde
sémantickáRozumí B datům stejně jako A?✘ z pediatra je maxilofaciální chirurg
organizačníJsou pravidla, odpovědnost a procesy sladěné?–

Bez sémantické úrovně je strukturní úspěch nebezpečnější než selhání: data projdou validací, uloží se, zobrazí se – a znamenají něco jiného.

HIMSS rozlišuje čtyři úrovně interoperability. Základní: data dorazí. Strukturní: příjemce přečte formát – pole, datové typy, kódy. Sémantická: příjemce datům rozumí stejně jako odesílatel. Organizační: sladěná pravidla, odpovědnost a procesy.

Případ L47 ze slajdu 2: tentýž kód znamená v registru poskytovatelů pediatrii a v registru zdravotnických pracovníků maxilofaciální chirurgii. Splňuje první dvě úrovně a selhává na třetí. Proto je nebezpečný: validátor kontroluje tvar, ne význam, takže data projdou, uloží se a zobrazí – a znamenají něco jiného. Sémantickou úroveň nelze ověřit, dokud pojem nemá definici, kterou umí vyhodnotit stroj.

Odkazy: Semantic interoperability (Wikipedia)

Co to znamená v ordinaci

Desítky zpráv denně – a systém žádné nerozumí

„Když praktikovi začne chodit dvacet nebo třicet zpráv denně, není reálné, aby je všechny důkladně četl. A právě mezi nimi může být několik skutečně důležitých. Navíc neexistuje jednotná forma předávání informací.“

MUDr. Pavel Lindovský, MBA, praktický lékař, člen představenstva ČLK

eTempus Medicorum: „Lékaři dlouho nepřemýšleli o tom, že jsou součástí trhu“

Zprávy dnes dorazí elektronicky a rychle. Pro systém lékaře jsou to ale jen texty – nepozná, která z nich je důležitá.

kdyby systém zprávě rozuměl, mohl by sám

vytáhnout nahoru zprávu s novou diagnózou nebo patologickým výsledkem

porovnat výsledek s předchozím a upozornit na změnu

zapsat diagnózu, lék či alergii do karty pacienta bez přepisování

rutinní zprávy bez nového nálezu jen založit

Doručení zprávy je vyřešené. Nevyřešené je, aby jí rozuměl i počítač – to je sémantická interoperabilita.

MUDr. Pavel Lindovský, praktický lékař a člen představenstva České lékařské komory, popisuje v rozhovoru pro eTempus Medicorum, co digitalizace dnes znamená v ambulanci: „Elektronizace není budována primárně proto, aby šetřila čas lékařům. Některé nemocnice dnes sice umějí posílat zprávy elektronicky téměř okamžitě, ale když praktikovi začne chodit dvacet nebo třicet zpráv denně, není reálné, aby je všechny důkladně četl. A právě mezi nimi může být několik skutečně důležitých. Navíc neexistuje jednotná forma předávání informací. Některé nemocnice budují své informační systémy desítky let a systémy mezi sebou často nejsou kompatibilní.“

To je přesně hranice mezi strukturní a sémantickou interoperabilitou z předchozího slajdu. Zpráva dorazí a systém ji zobrazí – ale protože nerozumí jejímu obsahu, nedokáže lékaři pomoci s tím, co je na ní podstatné. Třídit, porovnávat a přenášet údaje do karty může jen systém, pro který má „nová diagnóza“, „patologický výsledek“ nebo „alergie“ strojově vyhodnotitelný význam.

Odkazy: Lékaři dlouho nepřemýšleli o tom, že jsou součástí trhu (eTempus Medicorum, ČLK)

384–322 př. n. l.
Aristotelés

Aristotelés: rod a rozlišující znak

definice = genus proximum + differentia specifica

klasický příklad

člověk = živočich, který je rozumný

radiologický příklad

spondylodiscitida = zánět, jehož místem je meziobratlová ploténka a přilehlá obratlová těla

Rod říká, kam věc patří. Rozlišující znak říká, čím se liší od sourozenců. Každý z nás takhle definuje denně – jen to nepovažujeme za logiku.

Aristotelova definice má dvě části: nejbližší rod (genus proximum) říká, kam věc patří, druhový rozdíl (differentia specifica) ji odliší od ostatních členů rodu. Člověk je živočich (rod), který je rozumný (rozdíl).

Radiologicky: spondylodiscitida je zánět (rod), jehož místem je meziobratlová ploténka a přilehlá obratlová těla (rozdíl). Bez rodu nevíme, co věc je; bez rozdílu ji nelze odlišit od ostatních zánětů. Stejnou dvojici používá SNOMED CT o 2 300 let později.

Odkazy: Genus–differentia definition

Obrázek: Aristotelés – busta, Palazzo Altemps, podle Lýsippa, volné dílo, Wikimedia Commons.

Aristotelés, Analytika první

Logická inference: z toho, co víme, plyne nové

Všichni lidé jsou smrtelní.

Sókratés je člověk.

Tedy Sókratés je smrtelný.

Modus ponens: platí-li A → B a platí A, platí B.

A → B,  A  ⊢  B

totéž řečí pojmů, jak to odvodí stroj

pojem člověk je podřazen pojmu smrtelný
Sókratés patří pod pojem člověk
⇒ Sókratés patří pod pojem smrtelný

Člověk ⊑ Smrtelný
Sókratés : Člověk
⊢ Sókratés : Smrtelný

a radiologicky

každá spondylodiscitida je infekce páteře
nález #625 je spondylodiscitida
⇒ nález #625 je infekce páteře

Spondylodiscitida ⊑ InfekcePáteře
nález₆₂₅ : Spondylodiscitida
⊢ nález₆₂₅ : InfekcePáteře

dedukcez obecného na konkrétní; pravdivé premisy zaručují pravdivý závěrtohle dělá reasoner – program, který z definic odvozuje
indukcez mnoha případů na pravidlo; závěr jen pravděpodobnýstatistika, strojové učení
abdukcez nálezu na nejlepší vysvětlenídiferenciální diagnóza

Sylogismus z Aristotelových Analytik: všichni lidé jsou smrtelní, Sókratés je člověk, tedy Sókratés je smrtelný. Obecné pravidlo modus ponens: platí-li „A implikuje B“ a platí A, platí B.

V deskripční logice se totéž zapíše jako podřazenost pojmů: pojem člověk je podřazen pojmu smrtelný a Sókratés patří pod pojem člověk, z čehož plyne, že patří i pod pojem smrtelný. Totéž s nálezem: spondylodiscitida je infekce páteře, nález #625 je spondylodiscitida, tedy nález #625 je infekce páteře – i když slovo „infekce“ v něm není.

Tři druhy usuzování: dedukce vede z pravdivých premis vždy k pravdivému závěru (tak pracuje reasoner – program, který z definic odvozuje); indukce zobecňuje z případů a závěr je jen pravděpodobný (statistika, strojové učení); abdukce hledá nejlepší vysvětlení pozorování (diferenciální diagnóza). Jazykové modely usuzují induktivně, proto se jejich výstup ověřuje dedukcí.

Formální zápis

A → B,  A  ⊢  B   (modus ponens)

Člověk ⊑ Smrtelný,  Sókratés : Člověk  ⊢  Sókratés : Smrtelný

Spondylodiscitida ⊑ InfekcePáteře,  nález₆₂₅ : Spondylodiscitida  ⊢  nález₆₂₅ : InfekcePáteře

C ⊑ D = pojem C je podřazen pojmu D (TBox); a : C = jedinec a je instancí C (ABox); ⊢ = je odvoditelné.

Odkazy: Syllogism · Modus ponens · Abductive reasoning

Porfyrios, 3. stol.

Strom pojmů – a kde přestává stačit

Porfyriův strom v podání Ramona Llulla, tisk kolem 1500
Ramon Llull, tisk kolem 1500
substance těleso živé těleso živočich člověk nehmotná neživé rostlina nerozumný

Každý pojem má jednoho rodiče. V medicíně to neplatí:

tuberkulózní spondylodiscitida je zároveň

  • tuberkulóza (podle původce)
  • infekce páteře (podle místa)
  • zánět (podle morfologie)

Strom nutí vybrat jednu osu. MKN-10 volí původce (A18), jiný systém místo – a každý pak hledá jinde.

Porfyrios (3. stol.) uspořádal Aristotelovy pojmy do stromu: substance → těleso → živé těleso → živočich → člověk; na každé úrovni se dělí podle jednoho rozdílu.

Strom předpokládá jednoho rodiče. V medicíně pojem běžně patří pod několik os naráz: tuberkulózní spondylodiscitida je tuberkulóza (podle původce), infekce páteře (podle místa) i zánět (podle morfologie). Klasifikace založená na stromu musí jednu osu upřednostnit – MKN-10 řadí podle původce – a kdo hledá podle jiné osy, pojem nenajde. Řešením je hierarchie, která vznikne výpočtem z definic a dovolí více rodičů.

Odkazy: Porphyrian tree · Ilustrace: Ramon Llull, Wikimedia Commons (volné dílo)

Současnost

Porfyriův strom dnes: horní ontologie

Horní ontologie rozhoduje o nejvyšších rozlišeních – věc, vlastnost, nebo děj? – a doménové ontologie pod ni věší své pojmy.

Aristotelés (kategorie)BFODOLCEv nálezu #625
podstatanezávislý kontinuant (materiální entita)endurantobratlové tělo, absces
kvalita, kvantita, polohazávislý kontinuant (kvalita)kvalitavelikost 3 × 3 cm, strana vlevo
konání a trpěníokurent (proces)perdurantregrese, drenáž

BFO – Basic Formal Ontology (B. Smith), ISO/IEC 21838-2:2021. Základ biomedicínských ontologií OBO Foundry.

DOLCE (N. Guarino a kol., 2002), ISO/IEC 21838-3:2023. Vychází z jazyka a vnímání.

SNOMED CT má vlastní horní úroveň: 19 hierarchií (klinický nález, tělesná struktura, výkon…), na BFO formálně nenavazuje.

Horní ontologie určuje nejobecnější rozlišení, pod která se věší pojmy všech oborů. Nejrozšířenější jsou BFO (Basic Formal Ontology, B. Smith; ISO/IEC 21838-2:2021), na které staví biomedicínské ontologie OBO Foundry, a DOLCE (N. Guarino a kol., 2002; ISO/IEC 21838-3:2023).

Obě rozlišují věci (BFO: nezávislý kontinuant, DOLCE: endurant), jejich vlastnosti (kvalita) a děje (BFO: okurent, DOLCE: perdurant). V nálezu #625 je absces věc, rozměr 3 × 3 cm a strana vlevo vlastnosti a regrese i drenáž děje. Kdo tyto kategorie smíchá – například zapíše regresi jako vlastnost abscesu bez vztahu k času – nemůže pak porovnat dvě vyšetření. SNOMED CT má vlastní horní úroveň (19 hierarchií) a na BFO formálně nenavazuje.

Odkazy: Upper ontology (BFO, DOLCE) · Basic Formal Ontology

1879
Gottlob Frege

Frege: pojem je funkce

Begriffsschrift – první úplný formální jazyk logiky.

Pojem je funkce, která objektu přiřadí pravdu, nebo nepravdu:

Spondylodiscitida(x) → pravda / nepravda

Přibývají kvantifikátory:

existuje y: y je místem x a y je ploténka

∃y (místo(x, y) ∧ Ploténka(y))

„existuje něco, co je místem nálezu a je to ploténka“

Poprvé jde definici vyhodnotit: pro konkrétní nález rozhodnout, zda pod pojem spadá. Aristotelova definice se stává výpočtem.

Gottlob Frege v díle Begriffsschrift (1879) vytvořil první úplný formální jazyk logiky – predikátovou logiku. Pojem v ní je funkce, která každému objektu přiřadí pravdu, nebo nepravdu: Spondylodiscitida(x) je pravdivé právě pro ty x, které spondylodiscitidou jsou.

Kvantifikátory ∀ (pro všechna) a ∃ (existuje) umožňují přesně říct, co šipka v obrázku znamená: „existuje y takové, že y je místem nálezu x a y je ploténka“. Definice se tím stává vyhodnotitelnou. Predikátová logika je ale příliš silná: obecně v ní nelze rozhodnout, zda závěr z premis plyne (viz slide o nerozhodnutelnosti).

Formální zápis

Spondylodiscitida(x)  ↦  pravda / nepravda

∃y (místo(x, y) ∧ Ploténka(y))   ≙   v DL: ∃místo.Ploténka

DL zápis je zkratka predikátové formule s jednou proměnnou – proměnné se v něm nepíšou.

Odkazy: Begriffsschrift

Obrázek: Gottlob Frege – fotografie, autor neznámý, volné dílo, Wikimedia Commons.

1968–1975
Marvin Minsky

Sémantické sítě a rámce: co znamená šipka?

absces ploténka místo

Quillian (1968), Minsky (1974): intuitivní grafy a rámce se sloty.

Šipka může znamenat:

  • každý absces je v ploténce?
  • některý absces je v ploténce?
  • absces je typicky v ploténce?
  • absces je jen v ploténce?

Dva systémy nakreslí stejný graf a myslí jiné věci. Totéž jako kód L47: jednou pediatrie, podruhé maxilofaciální chirurgie.

V 60. a 70. letech vznikly první reprezentace znalostí pro počítače: sémantické sítě (Quillian 1968) a rámce se sloty (Minsky 1974). Byly názorné, ale bez formálního významu. W. A. Woods v roce 1975 upozornil (What’s in a link), že šipka „absces —místo→ ploténka“ může znamenat, že každý absces je v ploténce, že některý je, že je tam typicky, nebo že je jen tam.

Dva systémy mohou nakreslit stejný graf a myslet jím různé věci – stejný problém jako kód L47. Deskripční logika vznikla jako odpověď: každá šipka dostala přesně definovaný význam.

Odkazy: Semantic network · Frames (Minsky)

Obrázek: Marvin Minsky – fotografie, Sethwoodworth, CC BY 3.0, Wikimedia Commons.

1985 → dnes

Deskripční logika: pojem, role, konstruktory

1985
KL-ONE
1991
𝒜ℒ𝒞
2004
OWL (W3C)
2005
ℰℒ⁺⁺
stavební kámenpříklad
pojemAbsces, Ploténka
rolemísto, lateralita, vývoj
a zároveň ⊓absces a zároveň tuberkulózní
má ∃má místo: ploténka
jen ∀strana jen vlevo
ne ¬nemá propagaci epidurálně
A ⊓ B (a zároveň)Absces ⊓ Tuberkulózní
∃ r.C (existuje)∃ místo.Ploténka
∀ r.C (jen)∀ strana.Vlevo
¬ C (ne)¬ ∃ propagace.Epidurální

Deskripční logika je zkrocená predikátová logika: vyjádří méně, ale všechno, co vyjádří, jde rozhodnout v konečném čase. SNOMED CT používá ℰℒ – bez negace a „jen“, zato náš CogniTrust.Reasoner (2026) klasifikuje celý SNOMED CT na notebooku za 1,5 s.

Deskripční logika (DL) pracuje se třemi stavebními kameny: pojmy (Absces, Ploténka), rolemi (místo, lateralita, vývoj) a konstruktory, kterými se pojmy skládají: ⊓ (a zároveň), ∃ (existuje), ∀ (jen), ¬ (ne). Zápis Absces ⊓ ∃ místo.Ploténka znamená „absces, jehož místem je nějaká ploténka“.

Vývoj: KL-ONE (Brachman, 1985), logika 𝒜ℒ𝒞 (Schmidt-Schauß a Smolka, 1991), standard OWL (W3C, 2004) a logika ℰℒ⁺⁺ (Baader, Brandt, Lutz, 2005). DL je podmnožina predikátové logiky, vybraná tak, aby každá otázka měla odpověď v konečném čase. SNOMED CT používá ℰℒ: nemá negaci ani „jen“, zato náš CogniTrust.Reasoner (2026) klasifikuje celý SNOMED CT (428 571 pojmů, přes 22 milionů odvozených podřazeností) na notebooku za 1,5 s.

Odkazy: Description logic · OWL 2 profily (EL, QL, RL)

Kompromis

Expresivita vs. náročnost

jazykco navíc vyjádří (radiologicky)dá se spočítat?
ℰℒ – SNOMED CT„absces v okolí L1/2 a zároveň vlevo“ (∃, ⊓)polynomiálně
𝒜ℒ𝒞„bez epidurálního abscesu“, „jen vlevo“, „absces nebo flegmóna“ (¬, ∀, ⊔)exponenciálně
OWL 2 DL„právě dvě ložiska“, „část části je část“dvojitě exponenciálně
predikátová logika (Frege)„každé ložisko je větší než to samé ložisko minule“nerozhodnutelná
TIL – Pavel Tichý„radiolog se domnívá, že jde o spondylodiscitidu“, „klinik očekával absces“ – postoje, možnosti, časnerozhodnutelná
přirozený jazykvšechno výše + „nelze vyloučit“, „spíše“, ironie – a víceznačnostbez formálního významu

Transparentní intenzionální logika (Pavel Tichý, od 70. let; dnes Marie Duží, VŠB‑TU Ostrava) – česká logika, která se přirozenému jazyku blíží nejvíc: rozliší, co kdo tvrdí, od toho, že to tvrdí.

SNOMED CT volí ℰℒ: nevyjádří „ne“ ani „jen“, zato celý SNOMED CT klasifikuje za 1,5 s. Co je nad hranicí – nejistota, postoje –, nese strukturovaný status a text.

Čím víc logika dokáže vyjádřit, tím dražší je v ní odvozovat. ℰℒ (SNOMED CT) umí „a zároveň“ a „existuje“ a klasifikace je polynomiální. 𝒜ℒ𝒞 přidává negaci, „jen“ a „nebo“ a odvozování je exponenciální. OWL 2 DL přidává počty („právě dvě ložiska“) a skládání rolí a je v nejhorším případě dvojitě exponenciální (Kazakov, 2008). Plná predikátová logika je nerozhodnutelná (Church, Turing, 1936).

Ještě dál jde transparentní intenzionální logika Pavla Tichého (od 70. let; dnes ji rozvíjí Marie Duží na VŠB – TU Ostrava). Je to typovaný λ-kalkul vyšších řádů, který rozliší, co kdo tvrdí, od toho, že to tvrdí: „radiolog se domnívá, že jde o spondylodiscitidu“. Přirozenému jazyku se blíží nejvíc, ale mechanicky rozhodnout ji nelze. Přirozený jazyk sám nemá formální význam vůbec.

Praktický důsledek: co lze spočítat, patří do struktury; nejistota a postoje autora zůstávají ve strukturovaném statusu a v textu.

Formální zápis

ℰℒ:  ⊤,  C ⊓ D,  ∃r.C

𝒜ℒ𝒞:  navíc ¬C,  C ⊔ D,  ∀r.C

OWL 2 DL (𝒮ℛ𝒪ℐ𝒬):  navíc ≤n r.C,  ≥n r.C,  r ∘ s ⊑ t,  inverzní role,  nominály

Odkazy: Description logic – expresivita · OWL 2 profily · Transparent intensional logic

Náročnost bez vzorců

Podání rukou, nebo kombinační zámek?

polynomiální – podání rukou

V sále si každý podá ruku s každým. Dvakrát víc lidí = čtyřikrát víc podání. Roste to, ale zvládnutelně.

exponenciální – kombinační zámek

Každé kolečko navíc = desetkrát víc kombinací. 4 kolečka: 10 000 pokusů, 8 koleček: 100 milionů. Každý prvek navíc práci znásobí.

počet prvkůpolynomiálně (n²)exponenciálně (2ⁿ)
200,0000004 s0,001 s
500,0000025 s13 dní
1000,00001 s40 bilionů let – 2 900× stáří vesmíru
celý SNOMED CT – naměřeno
CogniTrust.Reasoner (2026), 428 571 pojmů
1,5 s—

Dvojitě exponenciální (OWL 2 v nejhorším případě): 5 prvků = 4 s, 6 prvků = 585 let.

Teoretické řádky: miliarda kroků za sekundu, tvar růstu v nejhorším případě. Naměřený řádek: notebook Intel Core i7-1355U (10 jader / 12 vláken), 16 GB RAM.

Polynomiální růst si lze představit jako podání rukou v sále: každý s každým, dvakrát víc lidí znamená čtyřikrát víc podání. Exponenciální růst je kombinační zámek: každé kolečko navíc znásobí počet kombinací deseti.

Na počítači s miliardou kroků za sekundu trvá 2ⁿ kroků pro 50 prvků 13 dní a pro 100 prvků 40 bilionů let – 2 900× déle, než existuje vesmír. Skutečná klasifikace celého SNOMED CT (428 571 pojmů, přes 22 milionů odvozených podřazeností) trvá v našem CogniTrust.Reasoneru (2026) 1,5 s na notebooku Intel Core i7-1355U (10 jader / 12 vláken, 16 GB RAM). První naivní verze potřebovala 464 s; zrychlení asi 300× přinesly algoritmus (chytřejší párování podmínek) a uspořádání paměti, ne rychlejší jazyk. Dno určuje paměť: asi 100 milionů náhodných čtení z RAM. Dvojitě exponenciální růst 2^(2ⁿ) dá pro 6 prvků 585 let.

Rychlejší počítač exponenciální problém nezachrání: dvakrát rychlejší stroj zvládne u 2ⁿ jen o jeden prvek víc. Čísla popisují tvar růstu v nejhorším případě; skutečné programy bývají chytřejší, tvar křivky ale zůstává.

Odkazy: Time complexity · ELK – reasoner pro EL

Nerozhodnutelnost

Nerozhodnutelné ≠ pomalé: odpověď nemusí přijít nikdy

  • Exponenciální problém odpoví vždy – jen může trvat dlouho.
  • Nerozhodnutelný problém: neexistuje program, který by na každou otázku v konečném čase odpověděl ano / ne. Ne dnes, ne nikdy – je to dokázané.
  • Predikátová logika (Church, Turing 1936): když závěr platí, důkaz se najde. Když neplatí, hledání může běžet věčně – a nikdy nevíme, jestli počkat ještě chvíli.

Kontrola nálezu, která může „přemýšlet“ navždy, je pro provoz k ničemu. Proto SNOMED CT zvolil ℰℒ: odpověď vždy a rychle.

Georg CantorCantor (1891): úplný seznam neexistuje

1.2.3.4.…
řada 10110…
řada 21101…
řada 30001…
řada 41011…
nová1010…

Nová řada vznikne otočením diagonály. Od každé řady v seznamu se liší aspoň na jednom místě – v seznamu tedy není, ať je seznam jakýkoli.

Alan TuringTuring (1936), týž trik: řádky = programy, sloupce = vstupy, políčko = „skončí?“. Kdyby existoval vševědoucí program, který to umí předpovědět, dá se postavit program, který na diagonále udělá opak – tedy opak předpovědi o sobě samém. Spor, takže vševědoucí program neexistuje.

Exponenciální problém je těžký, ale odpověď přijde. Nerozhodnutelný problém je jiná kategorie: prokazatelně neexistuje program, který by na každou otázku daného typu v konečném čase odpověděl ano, nebo ne. Pro predikátovou logiku to dokázali Church a Turing (1936): když závěr z premis plyne, důkaz se najde; když neplyne, hledání může běžet donekonečna a nikdy nevíme, zda počkat déle.

Důkaz stojí na Cantorově diagonálním argumentu (1891). Mějme libovolný seznam nekonečných řad nul a jedniček. Vezmeme n-tou číslici n-té řady (diagonálu) a každou otočíme. Vzniklá řada se od každé řady v seznamu liší aspoň na jednom místě, takže v seznamu není – úplný seznam neexistuje.

Turing použil týž trik na programy: řádky jsou programy, sloupce vstupy, políčko říká, zda program skončí. Kdyby existoval program, který to umí vždy předpovědět, šel by postavit program, který na diagonále udělá opak – tedy opak předpovědi o sobě samém. To je spor. Laická obdoba: „Tato věta je nepravdivá.“ Pro zdravotnictví: kontrola, která může přemýšlet navždy, je v provozu nepoužitelná, proto SNOMED CT používá rozhodnutelnou ℰℒ.

Odkazy: Undecidable problem · Halting problem · Cantor's diagonal argument

Obrázky: Georg Cantor – fotografie, autor neznámý, volné dílo, Wikimedia Commons; Alan Turing – fotografie, Elliott & Fry, volné dílo, Wikimedia Commons.

Cantor lidově

„To nekonečno je málo nekonečný!“

  • Přirozených čísel 1, 2, 3… je nekonečně mnoho – ale dají se očíslovat.
  • Nekonečných řad 0/1 je víc: diagonála ukázala, že je očíslovat nejde.
  • Každý program je konečný text, takže programů je „jen“ tolik, kolik jde očíslovat.
  • Otázka ano / ne o číslech = řada 0/1 = množina čísel s odpovědí ano. Otázek je tolik jako podmnožin přirozených čísel – víc než čísel.
je n sudé?012345…
odpověď101010…
množina: {0, 2, 4, …}

Programů je málo nekonečně na to, aby na každou otázku existoval jeden, který ji rozhodne.

Cantor ukázal, že nekonečna nejsou stejně velká. Přirozených čísel je nekonečně mnoho, ale lze je očíslovat (spočetné nekonečno). Nekonečných řad nul a jedniček je víc – diagonála dokazuje, že je očíslovat nejde (nespočetné nekonečno).

Každý program je konečný text, a proto lze všechny programy očíslovat. Otázka typu ano/ne o přirozených číslech je jednoznačně určena množinou čísel, pro která je odpověď ano. Příklad: „je n sudé?“ dává pro n = 0, 1, 2, 3, 4, 5… odpovědi ano, ne, ano, ne, ano, ne…, tedy řadu 1 0 1 0 1 0… a množinu {0, 2, 4, …}. „Je n prvočíslo?“ dává řadu 0 0 1 1 0 1 0 1… a množinu {2, 3, 5, 7, …}. Platí to i obráceně: každá řada 0/1 je otázka „patří n do této množiny?“, i když ji nejde nijak stručně popsat. Otázek je tedy tolik jako podmnožin přirozených čísel, tj. prvků potenční množiny, a těch je podle Cantora víc než přirozených čísel. Programů je tedy „málo nekonečně“ na to, aby na každou otázku existoval jeden, který ji rozhodne. Nerozhodnutelnost není nedostatek dnešních počítačů, ale důsledek velikosti nekonečen.

Proč lze programy očíslovat. Klíčový krok: všechny konečné řetězce znaků lze efektivně vyjmenovat, tedy přiřadit jim čísla s₀, s₁, s₂, … Pro abecedu {0, 1} stačí řetězce seřadit podle délky a v rámci délky podle binární hodnoty: ε, 0, 1, 00, 01, 10, 11, 000, … (ε je prázdný řetězec). Takové řazení je explicitní bijekce mezi řetězci a přirozenými čísly.

Řetězců délky n je nad abecedou {0, 1} přesně 2n, nad abecedou o k znacích kn. Řetězců délky nejvýše n je 1 + k + k2 + ⋯ + kn. Každý konkrétní řetězec proto má konečné pořadové číslo – nejvýš tento součet pro svou délku.

Bijekce přitom není potřeba. Pro spočetnost stačí zobrazení ℕ → {konečné řetězce}, které pokryje všechny řetězce (surjekce). Program je konečný řetězec, který splňuje syntaktická pravidla jazyka: stačí procházet s₀, s₁, s₂, … a řetězce, které nejsou platným programem, přeskočit. Vznikne posloupnost P₀, P₁, P₂, … obsahující všechny programy.

Celý argument „všechny programy lze očíslovat“ tedy stojí na vyjmenovatelnosti konečných řetězců. Otázky ano/ne tak očíslovat nejde: odpovídají nekonečným řadám 0/1 a pro ty Cantorova diagonála ukázala, že žádný seznam nestačí.

Odkazy: Countable set · Cantor's diagonal argument

Co z toho máme

Tři otázky, na které DL odpoví sama

úlohaotázkaradiologicky
podřazenostJe každé A zároveň B?Hledám „infekce páteře“ – najde se i nález zapsaný jako tuberkulózní spondylodiscitida, i když slovo „infekce“ v něm není.
splnitelnostMůže A vůbec existovat?Popis říká „absces vlevo“, závěr „absces vpravo“ → rozpor, dřív než se nález odešle (další slide).
zařazeníPod které pojmy konkrétní nález spadá?Zánět s místem „ploténka a obratlová těla“ se sám zařadí jako spondylodiscitida, i když ho tak nikdo nenazval.

Z definic odvodí reasoner tři druhy odpovědí. Podřazenost (subsumpce): je každé A zároveň B? Dotaz na infekce páteře najde i nález zapsaný jako tuberkulózní spondylodiscitida. Splnitelnost: může A vůbec existovat? Nález, který si protiřečí, odhalí dřív, než se odešle. Zařazení (realizace): pod které pojmy konkrétní nález spadá? Zánět s místem ploténka a obratlová těla se sám zařadí jako spondylodiscitida.

Nic z toho nejsou ručně psaná pravidla. Všechno plyne z definic; přidáním pojmu s definicí se hierarchie přepočítá sama.

Formální zápis

podřazenost:  𝒦 ⊨ C ⊑ D

splnitelnost:  𝒦 ⊭ C ⊑ ⊥

zařazení (realizace):  𝒦 ⊨ a : C

𝒦 = znalostní báze (definice + fakta), ⊨ = logicky vyplývá.

Odkazy: Description logic – reasoning

Splnitelnost

Vlevo, nebo vpravo? Detekce rozporu

nález před podpisem

Popis: … okolní absces vlevo, reziduum cca 3 × 3 cm.

Závěr: … regredující absces vpravo při drenáži.

Člověk to přehlédne – popis a závěr píše jindy, závěr často kopíruje z minula.

Nález = prázdný pojemNález ⊑ ⊥

Pod prázdný pojem nespadá nic na světě. Reasoner tím říká: takový absces nemůže existovat – popis si protiřečí.

jak k tomu reasoner došel – tři kroky, žádné ručně psané pravidlo

#co reasoner ví
1vlevo a vpravo se vylučují – nic nemůže být zároveň vlevo i vpravo
2strana je jen jedna – jedna věc má nejvýš jednu stranu
3absces z popisu = absces ze závěru – mluví o témže abscesu
⇒strana abscesu by musela být vlevo i vpravo = prázdný pojem = rozpor
#co reasoner ví
1Vlevo ⊓ Vpravo ⊑ ⊥ – strany jsou disjunktní
2⊤ ⊑ ≤1 strana – strana je funkční role
3absces₁ : ∃ strana.Vlevo
absces₁ : ∃ strana.Vpravo
⊢absces₁ : ⊥ – nesplnitelné, rozpor

Žádný falešný poplach: dva abscesy (vlevo a vpravo) jsou dvě věci, každá s jednou stranou – rozpor nevzniká. „Oboustranně“ je vlastní hodnota, ne „vlevo a zároveň vpravo“ (Vlevo ⊓ Vpravo).

Záměna strany je klasická chyba nálezu: v popisu „absces vlevo“, v závěru převzatém z minula „absces vpravo“. Reasoner ji odhalí ze tří obecných znalostí: strany se vylučují (nic nemůže být zároveň vlevo i vpravo), jedna věc má nejvýš jednu stranu (lateralita je funkční role) a popis i závěr mluví o témže abscesu. Strana abscesu by tedy musela být zároveň vlevo i vpravo, a to je prázdný pojem.

Prázdný pojem (v logice se značí ⊥) je pojem, pod který nic nespadá. Když reasoner odvodí, že nález je prázdný pojem, říká, že takový nález nemůže existovat. Falešný poplach nevznikne u dvou abscesů – vlevo a vpravo jsou dva objekty, každý s jednou stranou – a „oboustranně“ je vlastní hodnota. Rozhodující je identita objektů: systém musí vědět, že popis i závěr mluví o témže abscesu. Stejným mechanismem se chytí „vyloučeno“ v popisu proti „potvrzeno“ v závěru.

Formální zápis

Vlevo ⊓ Vpravo ⊑ ⊥

⊤ ⊑ ≤1 strana

absces₁ : ∃strana.Vlevo,  absces₁ : ∃strana.Vpravo

⊢  absces₁ : ⊥  (báze je nekonzistentní)

Disjunktnost pojmů umí i ℰℒ⁺⁺ (OWL 2 EL); funkční role (≤1) je nad jeho rámec – v OWL 2 DL jako FunctionalObjectProperty.

Past

Otevřený svět: nepopsáno ≠ není

DL předpokládá, že co není zapsáno, není známo – ne že to neplatí.

v nálezuco z toho plyne
epidurální prostor nezmíněnnevíme
„bez epidurálního abscesu“epidurální absces není

Databáze obvykle předpokládá opak (uzavřený svět): chybí-li řádek, věc neexistuje. Pro klinická data je to nebezpečná zkratka – chybějící záznam o alergii neznamená „bez alergie“, nepopsaný epidurální prostor neznamená „bez propagace“.

Deskripční logika předpokládá otevřený svět: co není zapsáno, není známo – neznamená to, že to neplatí. Databáze obvykle předpokládají opak (uzavřený svět): chybí-li záznam, věc neexistuje.

Pro klinická data je uzavřený svět nebezpečná zkratka. Chybějící záznam o alergii neznamená „bez alergie“; nepopsaný epidurální prostor neznamená „bez epidurálního abscesu“. Negativní nález musí být zapsán výslovně („bez epidurálního abscesu“), jinak z mlčení nic neplyne.

Odkazy: Open-world assumption

SNOMED CT

Aristotelés ve stroji

1965
SNOP – patologie
1975
SNOMED
2002
SNOMED CT (+ Read Codes)
2007
IHTSDO, dnes SNOMED International

SNOMED CT vznikl z patologické nomenklatury SNOP (1965) přes SNOMED (1975) sloučením SNOMED RT s britskými Read Codes v roce 2002; od roku 2007 ho spravuje mezinárodní organizace IHTSDO, dnes SNOMED International. V naší kopii má 428 571 pojmů (celý strom od kořene), každý s definicí v deskripční logice ℰℒ.

Hierarchii nekreslí člověk, ale počítá ji klasifikátor z definic, a proto pojem může mít víc rodičů. Identifikátor a definice pojmu nezávisí na jazyce; jazykové verze se liší jen popisy (termíny).

Odkazy: SNOMED International · SNOMED CT (Wikipedia)

SNOMED CT

Definice apendicitidy = rod + rozlišující znak

74400008 |Appendicitis|  je přesně:≡
    18526009 |Disorder of appendix|  +  128139000 |Inflammatory disorder|  :
    {  363698007 |Finding site|          =  66754008 |Appendix structure| ,
       116676008 |Associated morphology| =  23583003 |Inflammation|  }

rod – dva rodiče najednou: onemocnění apendixu a zánětlivé onemocnění

rozlišující znak – místo nálezu a morfologie, každý jako samostatná role

Kruh se uzavřel: přesně Aristotelova definice, jen zapsaná tak, že ji spočítá stroj a mohou ji mít dva rodiče.

Zápis SNOMED CT compositional grammar, zjednodušeno.

Definice apendicitidy v SNOMED CT (zjednodušeně): dva rodiče – onemocnění apendixu a zánětlivé onemocnění – a dvě role: místo nálezu (finding site) = struktura apendixu, přidružená morfologie (associated morphology) = zánět. Rodiče jsou Aristotelův rod, role jsou jeho druhový rozdíl rozdělený do samostatných os.

Zápis na slidu je v SNOMED CT compositional grammar: číslo je identifikátor pojmu, text mezi svislicemi jeho anglický název.

Formální zápis

Appendicitis ≡ DisorderOfAppendix ⊓ InflammatoryDisorder ⊓ ∃roleGroup.(∃findingSite.AppendixStructure ⊓ ∃associatedMorphology.Inflammation)

V SNOMED CT compositional grammar se plná definice uvozuje „===“, primitivní „<<<“.

Odkazy: SNOMED CT (Wikipedia)

SNOMED CT

Primitivní a plně definovaný pojem

primitivní: „je“⊑

„Každá X je Y, ale ne každé Y s těmito znaky je X.“ Definice je jen nutná podmínka. Klasifikátor do pojmu nic nezařadí sám.

plně definovaný: „je přesně“≡

„X je přesně Y s těmito znaky.“ Definice je nutná i postačující. Všechno, co ji splní, klasifikátor pod pojem zařadí.

Radiologický dopad: nález zapsaný jako zánět s místem ploténkaZánět ⊓ ∃ místo.Ploténka se stane spondylodiscitidou jen tehdy, je-li spondylodiscitida plně definovaná.

Primitivní pojem („je“) má jen nutné podmínky: každá spondylodiscitida je zánět ploténky, ale ne každý zánět ploténky musí být spondylodiscitida. Klasifikátor pod primitivní pojem nic sám nezařadí.

Plně definovaný pojem („je přesně“) má podmínky nutné i postačující: co je zánětem ploténky a obratlových těl, je spondylodiscitida. Klasifikátor pod něj zařadí vše, co definici splní – i nález, který slovo „spondylodiscitida“ nepoužil. Podíl plně definovaných pojmů je proto měřítkem, jak dobře terminologie podporuje vyhledávání podle významu.

Formální zápis

primitivní:  Spondylodiscitida ⊑ Zánět ⊓ ∃místo.Ploténka

plně definovaný:  Spondylodiscitida ≡ Zánět ⊓ ∃místo.Ploténka ⊓ ∃místo.ObratlováTěla

≡ znamená ⊑ oběma směry: každá spondylodiscitida je takový zánět a každý takový zánět je spondylodiscitida.

SNOMED CT

Jak vzniká pojem: expert píše definici, stroj staví strom

1 · expert na terminologii píše stated definici: rodič + atributy 2 · klasifikátor spočítá všechny rodiče, duplicity a rozpory 3 · revize druhý expert schválí změnu 4 · vydání definice + hotová inferred hierarchie

Klasifikace = z definic všech pojmů spočítat, kdo je čí rodič. Výsledkem je celá hierarchie – u SNOMED CT přes 22 milionů vztahů „je podtypem“ (včetně nepřímých).

  • Expert na terminologii nekreslí strom. Uvede jen nejbližšího primitivního rodiče a atributy (metoda, místo, morfologie…).
  • Které atributy smí který druh pojmu mít, hlídá concept model (výkon má metodu, nález místo a morfologii).

Klasifikátor při každé změně odhalí:

  • nové rodiče, které nikdo nezapsal,
  • duplicity – dva pojmy se stejnou definicí jsou ekvivalentní,
  • rozpory – definice, pod kterou nic nespadá.

Nemocniční systém pak dostane hotový strom – pro pojmenované kódy reasoner nepotřebuje.

Klasifikace znamená spočítat z definic všech pojmů úplnou hierarchii: pro každý pojem všechny jeho rodiče, přímé i nepřímé. U SNOMED CT jde přes 22 milionů vztahů „je podtypem“. Klasifikátor přitom zjistí také dvojice pojmů se stejnou definicí (ekvivalence – v praxi duplicity) a definice, pod které nemůže nic spadat (rozpor).

Autorský proces ve SNOMED CT: expert na terminologii zapisuje stated (uvedenou) definici – nejbližšího primitivního rodiče a atributy s hodnotami. Které atributy smí který druh pojmu mít a jakých hodnot mohou nabývat, určuje concept model (například výkon má metodu a místo výkonu, klinický nález místo nálezu a morfologii). Expert hierarchii nekreslí; spustí klasifikátor, který spočítá inferred (odvozený) pohled – skutečné rodiče pojmu – a ohlásí duplicity a rozpory. Změnu pak zreviduje druhý expert a pojem vyjde ve vydání.

Vydání obsahuje obojí: definice (axiomy) i hotovou odvozenou hierarchii. Nemocniční systém, který pracuje jen s pojmenovanými kódy, proto žádný reasoner nepotřebuje – odpověď „co je pod čím“ už dostal. Reasoner je nutný až u výrazů, které v číselníku nejsou (postkoordinace), a u vlastních definic nad SNOMED CT.

SNOMED CT · skutečný příklad

MR levého kolene: co napíše expert a co spočítá stroj

1 · stated – napíše expert na terminologii

MR vyšetření levého kolene ≡ Výkon
  ⊓ ∃ skupina.( ∃ metoda.MagnetickáRezonance
      ⊓ ∃ místo.LeváOblastKolene )

LeváOblastKolene ≡ OblastKolene ⊓ ∃ strana.Vlevo

MR vyšetření kolene ≡ Výkon
  ⊓ ∃ skupina.( ∃ metoda.MagnetickáRezonance
      ⊓ ∃ místo.OblastKolene )

MR vyšetření levého kolene je přesně výkon, který má:
metoda: magnetická rezonance · místo: levá oblast kolene
levá oblast kolene je přesně oblast kolene, která má:
strana: vlevo
MR vyšetření kolene je přesně výkon, který má:
metoda: magnetická rezonance · místo: oblast kolene

Jediný rodič, kterého expert zapsal, je výkon. Všech 17 předků spočítal klasifikátor.

2 · inferred – spočítá klasifikátor

výkon magnetická rezonance výkon na dolní končetině MR vyšetření dolní končetiny výkon na koleni MR levé dolní končetiny MR vyšetření kolene MR vyšetření levého kolene
  • „MR levého kolene je MR kolene“ nikdo nezapsal – plyne z toho, že levá oblast kolene je oblast kolene.
  • Neznámý výraz „výkon, metoda MR, místo levé koleno“ se zařadí sem; CT levého kolene ne.
SNOMED CT, česká edice v naší kopii: 2471000087103, 241641004, 82169009. Plná čára = přímý rodič, přerušovaná = přes další úrovně.

Příklad je skutečný pojem SNOMED CT 2471000087103 MR vyšetření levého kolene. Expert na terminologii zapsal (stated) jen tolik: je to výkon, jehož metodou je magnetická rezonance a místem výkonu levá oblast kolene; metoda a místo jsou ve společné skupině rolí, aby se u výkonů s více částmi nemíchaly. Levá oblast kolene (82169009) je definována jako oblast kolene s lateralitou vlevo a MR vyšetření kolene (241641004) jako výkon s metodou MR a místem v oblasti kolene. Všechny tři definice jsou plné (nutné i postačující).

Jediný rodič, kterého expert uvedl, je obecný výkon. Klasifikátor z definic spočítal 17 předků. Přímými rodiči jsou MR vyšetření kolene a MR levé dolní končetiny; nad nimi MR vyšetření dolní končetiny a výkon na koleni, dál výkon na dolní končetině, magnetická rezonance, zobrazení a nakonec výkon. Žádný z těchto vztahů nikdo ručně nezapsal.

Stejně se zařadí výraz, který v číselníku není: „výkon s metodou MR a místem levé koleno“ spadne pod MR vyšetření levého kolene, „výkon s metodou CT a místem levé koleno“ ne – oba případy ověřuje test našeho klasifikátoru. Graf na slidu ukazuje hlavní větve; přerušovaná čára znamená cestu přes další úrovně (například magnetická rezonance → zobrazení → hodnocení → výkon podle metody → výkon).

Formální zápis

82169009 ≡ 72696002 ⊓ ∃272741003.7771000

2471000087103 ≡ 71388002 ⊓ ∃roleGroup.(∃260686004.312250003 ⊓ ∃405813007.82169009)

241641004 ≡ 71388002 ⊓ ∃roleGroup.(∃260686004.312250003 ⊓ ∃405813007.72696002)

82169009 ⊑ 72696002  ⊢  2471000087103 ⊑ 241641004

71388002 výkon · 72696002 oblast kolene · 82169009 levá oblast kolene · 272741003 lateralita · 7771000 vlevo · 260686004 metoda · 312250003 magnetická rezonance · 405813007 místo výkonu – přímé. Závěr plyne z monotonie ∃: užší hodnota role dává užší pojem.

SNOMED CT

Postkoordinace: nález, který v číselníku není

Číselník nemůže mít kód pro „okolní absces vlevo u segmentu L1/2, regredující při drenáži“. Poskládá se z pojmů, které v něm jsou:

Absces  :
    {  místo nálezu  =  okolí segmentu L1/2 ,
       lateralita    =  vlevo ,
       průběh        =  regrese  }

předkoordinace – jeden kód pro celou větu. Kombinací je nekonečně mnoho, kódů nikdy dost.

postkoordinace – výraz z pojmů a rolí. Klasifikátor ho zařadí stejně jako hotový kód: je to absces, je to nález v bederní páteři.

Ilustrační zápis česky, bez identifikátorů.

Předkoordinace znamená jeden kód pro celý výraz. Kombinací lokalizace, strany, průběhu a rozměru je nekonečně mnoho, takže kódů nikdy nebude dost.

Postkoordinace skládá výraz z existujících pojmů a rolí: absces s místem „okolí segmentu L1/2“, lateralitou „vlevo“ a průběhem „regrese“. Klasifikátor s takovým výrazem pracuje stejně jako s hotovým kódem: ví, že jde o absces a o nález v bederní páteři. Je to strojově čitelná obdoba věty, kterou radiolog píše.

Formální zápis

Absces ⊓ ∃roleGroup.(∃místo.OkolíSegmentuL1/2 ⊓ ∃strana.Vlevo ⊓ ∃průběh.Regrese)

V SNOMED CT compositional grammar: Absces : { místo = okolí segmentu L1/2, strana = vlevo, průběh = regrese }.

Odkazy: SNOMED CT – postkoordinace (Wikipedia)

Radiologie · dataset PARROT

Nález → DL → nález: zůstal význam stejný?

A · vstupní nález · česky

Známá, stacionární tuberkulózní spondylodiscitida v segmentu L1/2 s destrukcí obratlových těl. Okolní absces vlevo regreduje při zavedené perkutánní drenáži z dorzálního přístupu, reziduum cca 3 × 3 cm.

→
B · DL zápis

Spondylodiscitida ⊓ ∃ původce.M. tbc
⊓ ∃ místo.L1/2 ⊓ ∃ průběh.Stacionární
⊓ ∃ morfologie.(Destrukce ⊓ ∃ místo.Těla)
⊓ ∃ komplikace.(Absces ⊓ ∃ strana.Vlevo
  ⊓ ∃ velikost.3×3cm ⊓ ∃ průběh.(Regrese
  ⊓ ∃ při.PerkutánníDrenáž))

spondylodiscitida
původce: M. tuberculosis
místo: L1/2 · průběh: stacionární
morfologie: destrukce obratlových těl
komplikace: absces
strana: vlevo · velikost: 3 × 3 cm
průběh: regrese při drenáži
→
C · nález napsaný jen z DL · česky

Známá, stacionární tuberkulózní spondylodiscitida L1/2 s destrukcí obratlových těl. Absces vlevo, v regresi při perkutánní drenáži, reziduum cca 3 × 3 cm.

D · porovnání A ↔ C

nálezy ✔   místo ✔   strana ✔   polarita ✔   rozměr ✔
Posuzuje se obsah, ne styl. Chybí-li nález nebo se prohodí strana, zápis B se opraví.

PARROT: 2 738 fiktivních nálezů z 21 zemí ve 14 jazycích, každý s anglickým překladem. Nález #625 (CT, Německo) je v datasetu německy; české znění A i B, C, D jsou ilustrace.

Dataset PARROT obsahuje 2 738 fiktivních radiologických nálezů od radiologů z 21 zemí ve 14 jazycích, každý s anglickým překladem. Nález #625 (CT, Německo) popisuje tuberkulózní spondylodiscitidu L1/2 s regredujícím abscesem při drenáži. Na slidu je v českém znění.

Zda strukturovaný zápis zachytil celý význam, se dá změřit: vstupní nález (A) se převede do deskripční logiky (B), z B se bez pohledu na originál napíše nový nález (C) a A se porovná s C. Porovnává se obsah – přítomnost nálezů, místo, strana, polarita (patologický × normální), rozměry – ne styl. Chybí-li v C něco, co je v A, zápis B byl neúplný.

Zápis B, nález C a porovnání na slidu jsou ilustrace metody, ne výstup konkrétního běhu.

Formální zápis

Spondylodiscitida ⊓ ∃původce.MycobacteriumTuberculosis ⊓ ∃místo.SegmentL1/2 ⊓ ∃průběh.Stacionární ⊓ ∃morfologie.(Destrukce ⊓ ∃místo.ObratlováTěla) ⊓ ∃komplikace.(Absces ⊓ ∃strana.Vlevo ⊓ ∃velikost.(3×3 cm) ⊓ ∃průběh.(Regrese ⊓ ∃při.PerkutánníDrenáž))

⊓ = a zároveň; ∃ r.C = má roli r s hodnotou, která je C.

Jedna reprezentace, mnoho jazyků

Význam nezávisí na jazyku, text ano

DL reprezentace nálezu PARROT #625

Spondylodiscitida ⊓ ∃ původce.M. tuberculosis
⊓ ∃ místo.SegmentL1/2 ⊓ ∃ průběh.Stacionární
⊓ ∃ morfologie.(Destrukce ⊓ ∃ místo.ObratlováTěla)
⊓ ∃ komplikace.(Absces
    ⊓ ∃ místo.(Okolí ⊓ ∃ čeho.SegmentL1/2)
    ⊓ ∃ strana.Vlevo ⊓ ∃ velikost.(3 × 3 cm)
    ⊓ ∃ průběh.(Regrese ⊓ ∃ při.(PerkutánníDrenáž
        ⊓ ∃ přístup.Dorzální)))

spondylodiscitida
původce: M. tuberculosis
místo: segment L1/2
průběh: stacionární
morfologie: destrukce · místo: obratlová těla
komplikace: absces
místo: okolí segmentu L1/2
strana: vlevo · velikost: 3 × 3 cm
průběh: regrese
při: perkutánní drenáži · přístup: dorzální
DEBekannte, konstante tuberkulöse Spondylodiszitis im Segment LWK 1/2 mit Destruktion der Wirbelkörper. Umgebende Abszedierung links regredient bei einliegender perkutaner Drainage von dorsal, ca. 3 x 3 cm Restverhalt.
ENKnown, persistent tuberculous spondylodiscitis at the L1/2 segment with destruction of the vertebral bodies. Surrounding abscess on the left is regressing with a percutaneous drainage in place from the dorsal side, approximately 3 x 3 cm residual.
CSZnámá, stacionární tuberkulózní spondylodiscitida v segmentu L1/2 s destrukcí obratlových těl. Okolní absces vlevo regreduje při zavedené perkutánní drenáži z dorzálního přístupu, reziduum cca 3 × 3 cm.
FRSpondylodiscite tuberculeuse connue, stable, au niveau L1/L2, avec destruction des corps vertébraux. Abcès gauche adjacent en régression sous drainage percutané par voie postérieure, résidu d’environ 3 × 3 cm.
DE = originál z datasetu PARROT, EN = překlad z datasetu. DL zápis a verbalizace CS/FR jsou ilustrace.

Nález #625 existuje v datasetu PARROT německy (originál) a anglicky (překlad). Z jedné DL reprezentace lze nález verbalizovat v libovolném jazyce – na slidu česky a francouzsky jako ilustraci. Nepřekládá se text do textu, ale jednou se text převede do DL a z DL se generuje v cílovém jazyce.

Podmínkou je, aby pojmy měly popisy v cílových jazycích. U SNOMED CT tomu tak je: identifikátor a definice jsou společné, jazykové verze přidávají termíny.

Formální zápis

Spondylodiscitida ⊓ ∃původce.MycobacteriumTuberculosis ⊓ ∃místo.SegmentL1/2 ⊓ ∃průběh.Stacionární ⊓ ∃morfologie.(Destrukce ⊓ ∃místo.ObratlováTěla) ⊓ ∃komplikace.(Absces ⊓ ∃místo.(Okolí ⊓ ∃čeho.SegmentL1/2) ⊓ ∃strana.Vlevo ⊓ ∃velikost.(3×3 cm) ⊓ ∃průběh.(Regrese ⊓ ∃při.(PerkutánníDrenáž ⊓ ∃přístup.Dorzální)))

Odkazy: SNOMED International

Jedna reprezentace, mnoho jazyků

Totéž napříč jazyky: švédsky → DL → česky

A · vstupní nález · švédsky

Känd, oförändrad tuberkulös spondylodiskit i segment L1/2 med destruktion av kotkropparna. Omgivande abscessbildning på vänster sida i regress med inliggande perkutant dränage dorsalt, kvarvarande förändring ca 3 x 3 cm.

→
B · DL zápis

Spondylodiscitida ⊓ ∃ původce.M. tbc
⊓ ∃ místo.L1/2 ⊓ ∃ průběh.Stacionární
⊓ ∃ morfologie.(Destrukce ⊓ ∃ místo.Těla)
⊓ ∃ komplikace.(Absces ⊓ ∃ strana.Vlevo
  ⊓ ∃ velikost.3×3cm ⊓ ∃ průběh.(Regrese
  ⊓ ∃ při.PerkutánníDrenáž))

spondylodiscitida
původce: M. tuberculosis
místo: L1/2 · průběh: stacionární
morfologie: destrukce obratlových těl
komplikace: absces
strana: vlevo · velikost: 3 × 3 cm
průběh: regrese při drenáži
→
C · nález napsaný jen z DL · česky

Známá, stacionární tuberkulózní spondylodiscitida L1/2 s destrukcí obratlových těl. Absces vlevo, v regresi při perkutánní drenáži, reziduum cca 3 × 3 cm.

D · porovnání A ↔ C

nálezy ✔   místo ✔   strana ✔   polarita ✔   rozměr ✔
Posuzuje se obsah, ne styl – i napříč jazyky. Chybí-li nález nebo se prohodí strana, zápis B se opraví.

Nález PARROT #625 je v datasetu německy; švédské znění A i B, C, D jsou ilustrace.

Stejná kontrola jako u českého nálezu, jen vstup je ve švédském znění – jazyce, kterým lékař příjemce nemluví – a výstup česky.

Vstupní nález (A, švédsky) se převede do deskripční logiky (B), z B se bez pohledu na originál napíše nový nález (C, česky) a A se porovná s C. Porovnává se obsah – přítomnost nálezů, místo, strana, polarita (patologický × normální), rozměry – ne styl ani jazyk. Chybí-li v C něco, co je v A, zápis B byl neúplný. DL zápis nepatří žádnému jazyku, proto vstup a výstup nemusí být ve stejném.

Zápis B, nález C a porovnání na slidu jsou ilustrace metody, ne výstup konkrétního běhu.

Formální zápis

Spondylodiscitida ⊓ ∃původce.MycobacteriumTuberculosis ⊓ ∃místo.SegmentL1/2 ⊓ ∃průběh.Stacionární ⊓ ∃morfologie.(Destrukce ⊓ ∃místo.ObratlováTěla) ⊓ ∃komplikace.(Absces ⊓ ∃strana.Vlevo ⊓ ∃velikost.(3×3 cm) ⊓ ∃průběh.(Regrese ⊓ ∃při.PerkutánníDrenáž))

⊓ = a zároveň; ∃ r.C = má roli r s hodnotou, která je C.

Výzkum PARROT

Jak se měří, že DL zápis nic neztratil

📄 🧩 📄 ⚖️ 1 · nález lékaře 2 · stroj ho zapíše 3 · jiný stroj z toho 4 · porovnání jakýkoli jazyk do DL – reasoner hlídá chyby napíše nález znovu – originál nevidí chybí něco? prohozená strana? 0–10 bodů méně než 10 bodů → zkusit znovu, s popisem chyby ✔ 10 bodů → DL zápis zachytil celý nález

Postup ze slidu „Nález → DL → nález“ lze automatizovat nad celým datasetem PARROT. Jazykový model přečte nález a zapíše ho v DL; reasoner zápis ověří a chyby vrátí k opravě. Druhý model vidí jen DL zápis a napíše z něj nález znovu. Třetí model porovná originál s novým nálezem na škále 0–10: body ubírá vypuštěný nález, vymyšlený nález, prohozená strana nebo polarita; styl se nehodnotí. Cokoli pod plných 10 bodů znamená nový pokus s popisem chyby – každý bodový odpočet je věcná chyba, kterou nelze tolerovat.

Klíčové je, že zpětný zápis nevidí originál. Výsledkem je korpus dvojic text ↔ DL, podklad pro strukturované psaní a našeptávání. Procento úspěšnosti na celém datasetu zde neuvádíme.

V jednom obrázku

SNOMED CT dodá slova, DL skládá význam, FHIR ho doveze

📖 SNOMED CT slovník pojmů s definicemi absces vlevo segment L1/2 regrese drenáž 🧩 DL význam nálezu: pojmy + vztahy absces vlevo L1/2 regrese drenáž strana místo průběh při 📦 FHIR formulář na přepravu kolonky formuláře kód: absces · místo: L1/2 strana: vlevo · průběh: regrese rozšíření regrese „při“ drenáži text celý nález slovy slova naplní slovník · věta · obálka

Tři technologie, tři role. SNOMED CT je slovník: dodává pojmy (absces, vlevo, segment L1/2, regrese, drenáž) s definicemi, takže každý systém ví, co znamenají. Deskripční logika z nich skládá význam konkrétního nálezu – pojmy a vztahy mezi nimi (absces má stranu vlevo, místo L1/2, průběh regrese při drenáži). FHIR je formulář na přepravu: co má kolonku, vyplní do kolonky, zbytek (vztahy, pro které kolonka není) přidá jako rozšíření a celý nález přiloží i jako text.

Zjednodušeně: slovník, věta, obálka. Ani jedno nenahrazuje druhé – slovník bez věty nic netvrdí, věta bez obálky nikam nedojde a obálka bez věty přenáší jen kolonky.

Odkazy: SNOMED International · FHIR R4

FHIR

FHIR je pevný rámec, DL je význam

FHIR přenáší data v resources – standardizovaných formulářích s pevnou sadou polí (kolonek).

příklad: formulář Patient (vymyšlená data)

kolonkapole ve FHIRhodnota
jménonameJana Nováková
pohlavígenderfemale
datum narozeníbirthDate1968-04-12
bydlištěaddressBrno
pojištěníidentifierpojištěnec č. 123456789

Pole = kolonka formuláře. Co kolonku nemá (třeba „bojí se uzavřených prostor“), jde jen do rozšíření – extension.

formuláře pro radiologii

ImagingStudyvyšetření, série, snímky (DICOM)
DiagnosticReportnález jako celek, text, závěr
Observationjednotlivé pozorování, měření
Conditiondiagnóza
Procedurevýkon (drenáž)

FHIR ⊂ DL. Každé pole FHIR se dá vyjádřit jako role v DL. Naopak to neplatí: DL popíše libovolný vztah mezi nálezy, FHIR jen ty, pro které má pole. Kódy uvnitř polí (code, bodySite) jsou pojmy SNOMED CT.

FHIR (HL7 Fast Healthcare Interoperability Resources) přenáší data v resources – standardizovaných formulářích s pevnou sadou polí. Pole je kolonka formuláře: resource Patient má kolonky name (jméno), gender (pohlaví), birthDate (datum narození), address (bydliště), identifier (identifikátory, například číslo pojištěnce) a další. Údaj, pro který kolonka není – třeba „bojí se uzavřených prostor“ –, lze předat jen jako rozšíření (extension). Pro radiologii jsou podstatné ImagingStudy (vyšetření, série, snímky DICOM), DiagnosticReport (nález jako celek), Observation (jednotlivé pozorování a měření), Condition (diagnóza) a Procedure (výkon).

Každé pole FHIR lze vyjádřit jako roli v DL; naopak to neplatí – DL popíše libovolný vztah mezi nálezy, FHIR jen ty, pro které má pole. Kódy uvnitř FHIR (například code, bodySite) bývají pojmy SNOMED CT, tedy DL. FHIR proto není konkurent DL, ale přepravní formát.

Odkazy: FHIR Patient · FHIR Observation · FHIR R4 – přehled resources

Metafora

Konverzační příručka, slovník a gramatika

FHIR · konverzační příručka

Hotové věty s prázdnými místy:

„Pacient X má adresu Y.“

„Na místě B byla provedena procedura A.“

Na běžné situace skvělá. Co se do ní nevejde, jde do soukromého dodatku (extension) — napsat se to dá, přečíst ne.

SNOMED CT · slovník

Pojmy, které se do prázdných míst dosazují: drenáž, absces, segment L1/2…

Má vlastní malou gramatiku (ℰℒ): umí skládat, ale neumí zapřít ani říct „buď – anebo“. Neřekne tedy ani „žádný konkrement znatelné velikosti“.

DL · gramatika s korektorem

Ze slov a vztahů skládá nové věty, které v příručce nejsou.

A pozná, že dvě věty říkají totéž, že jedna plyne z druhé, nebo že si odporují — absces vlevo × absces vpravo na stejném místě.

V příručce je: „Na místě L1/2 byla provedena drenáž.“

V příručce není: „Absces vlevo v okolí segmentu L1/2, který se při drenáži zmenšuje.“ Pro v okolí a při hotová věta neexistuje — musí se složit gramatikou.

FHIR se dá přirovnat ke konverzační příručce: sbírka hotových vět s prázdnými místy – „Pacient X má adresu Y“, „Na místě B byla provedena procedura A“. Na běžné situace funguje výborně, to je jeho pravidlo 80 %. Jakmile je potřeba říct něco neobvyklého, zbývá jen soukromý dodatek – rozšíření (extension). Napsat se tam dá cokoli, ale příjemce, který ho nezná, ho nepřečte. Problém tedy není, že by nález nešel zapsat, ale že mu druhá strana nerozumí.

SNOMED CT je slovník pojmů, které se do prázdných míst dosazují. Není to ale jen slovník: jeho pojmy jsou samy definované v malé gramatice ℰℒ a postkoordinace umožňuje skládat v jejích mezích. ℰℒ ovšem neumí negaci ani disjunkci, takže nevyjádří třeba „žádný konkrement znatelné velikosti“.

Deskripční logika je gramatika: ze slov a rolí skládá věty, které v příručce nejsou – na příkladu nálezu #625 „absces vlevo v okolí segmentu L1/2, který se při drenáži zmenšuje“. Radiolog tyto vztahy vyjadřuje předložkami „v okolí“, „při“, „s“, a právě pro ně FHIR hotovou větu nemá. Navíc je to gramatika s korektorem: dovede rozhodnout, zda dvě věty říkají totéž, zda jedna plyne z druhé, nebo zda si odporují.

Pro koho je co navržené

FHIR, DL a SNOMED CT řeší tři různé problémy

FHIRdeskripční logikaSNOMED CT
optimalizováno proběžného webového programátora – zprovoznit za dnystroj, který z definic odvozujejednotné kódování klinických pojmů
vzniklo jakozjednodušení HL7 v3 / CDA (2011); pravidlo 80 %: jádro jen pro běžné případy, zbytek do rozšíření (extension)zkrocení predikátové logiky, aby byla rozhodnutelnásloučení SNOMED RT a Read Codes (2002)
jednotkaresource = formulář s pevnými polipojem + role, libovolně skládanépojem s definicí v ℰℒ
význam polepopsán v dokumentaci slovyformální, strojově ověřitelnýformální (definice)
odvozováníne – kontroluje tvarpodřazenost, rozpor, zařazeníklasifikace hierarchie
vztah dvou nálezůjen kde je na něj pole; jinak extensionlibovolná role mezi konkrétními nálezyne – popisuje pojmy, ne pacienta
negace, nejistotastatusové pole (verificationStatus)negace ano (od 𝒜ℒ𝒞), nejistota nev ℰℒ ne, řeší se kontextem záznamu

FHIR nezapíše vztah mezi dvěma nálezy, pokud pro něj předem nemá pole. Struktura musí existovat dřív, než na ni text ukáže.

Dělba práce: význam drží DL, pojmy dodává SNOMED CT, přepravu obstará FHIR. Nikdo z nich nedělá práci druhých.

FHIR je optimalizovaný pro běžného webového programátora: zprovoznit rozhraní za dny. Vznikl v roce 2011 jako zjednodušení HL7 v3 a CDA a řídí se pravidlem 80 %: jádro pokrývá běžné případy, zbytek jde do rozšíření (extension). Význam polí je popsaný slovy v dokumentaci, FHIR sám nic neodvozuje a kontroluje jen tvar.

Deskripční logika je optimalizovaná pro stroj, který z definic odvozuje: skládá pojmy a role libovolně a dovede odvodit podřazenost, rozpor i zařazení. SNOMED CT dodává pojmy s definicemi a klasifikovanou hierarchií, ale popisuje pojmy obecně, ne konkrétního pacienta.

Hlavní mez FHIR: vztah mezi dvěma nálezy zapíše jen tam, kde pro něj předem existuje pole. Dělba práce: význam drží DL, pojmy dodává SNOMED CT, přepravu obstará FHIR.

Odkazy: FHIR R4 · FHIR – rozšíření (extensibility)

Problém

Nález je text. Význam musí stát vedle něj.

TEXT NÁLEZU „… ventrolaterálně vlevo je kolekce tekutiny v mírné velikostní regresi …“ VÝZNAM V ONTOMARKU .kolekce_th9_10:fluidCollection laterality leftSide course sizeRegression degree mild pojmy ze SNOMED CT · aparát: deskripční logika

Nález je vždy text. Jak k němu přiřadit význam? Musí existovat struktura vedle.

Existují mezinárodní (FHIR) i české standardy (DASTA). Ty ale nestačí, nedokážou vyjádřit „kolekce tekutiny v mírné velikostní regresi“.

Dokáže to vyjádřit deskripční logika, což je matematický aparát, na kterém je postavena terminologie SNOMED CT.

Takže vedle textu máme výraz v DL, jehož koncepty pak napojíme na konkrétní segmenty v textu. Obojí pak zabalíme do běžného standardu (FHIR/DASTA).

Značky v textu

Označit slovo nestačí: chybí role

běžná představa „sémantiky v textu“: obalit slova značkami s kódem

ProjasněníProjasnění v PleurálníProstorpravém pleurálním prostoru, v souladu s Pneumotoraxpneumotoraxem šíře Šířenejvýše 4 cm. Laterálně v MedioklavikulárníČáramedioklavikulární čáře ve Mezižebří4.–5. mezižebří CizíTělesocizí těleso tvaru Projektilprojektilu.

Značka řekne jen „tohle slovo je X“. Vnořená značka přidá „obsahuje“ – geometrii textu, ne anatomii. Značky se nesmí překrývat (text je strom).

  • Šíře čeho – pneumotoraxu, nebo projasnění?
  • Kam se zapíše „nejvýše“?
  • Projektil = tvar tělesa, ne nález projektilu.
  • „4.–5.“ = dvě mezižebří v jednom slově.
  • „v souladu s“ = vztah mezi dvěma nálezy.

Častá představa „sémantiky v textu“: obalit slova značkami s kódem SNOMED, případně odkazem na výřez snímku. Pro vyhledávání to stačí – víme, že v textu je zmíněn pneumotorax. Značka ale vyjádří jen „tento úsek textu je X“; vnoření značek přidá „tento úsek obsahuje tamten“, což je geometrie textu, ne vztah v těle. Značky se navíc nesmějí překrývat, protože značkovaný text je strom.

Nález nejsou slova, ale vztahy mezi nimi: čí je šíře (pneumotoraxu, ne projasnění), že „nejvýše 4 cm“ je horní mez, že projektil je tvar cizího tělesa, že „4.–5. mezižebří“ jsou dvě struktury v jednom slově, že projasnění je v souladu s pneumotoraxem. Role je hrana mezi dvěma věcmi, ne vlastnost jednoho slova, a značka pro ni nemá místo.

Naše řešení

Graf nad textem: text ukazuje, graf nese význam

DL zápis nálezu – náš ověřovací příklad

.nález:imagingFindingSituation
	hasFinding hyperlucency
		hasBodySite rightPleuralSpace
		consistentWith rightPneumothorax
	hasObservation observation
		hasFocus rightPneumothorax
		hasWidth 4:cm
		hasComparator atMost
	hasFinding foreignBodyFinding
		hasBodySite thoracicWallRegion
			hasLaterality rightSide
			hasAnatomicalLine midclavicularLine
			hasIntercostalSpace fourthIntercostalSpace
			hasIntercostalSpace fifthIntercostalSpace
		hasShapeConsistentWith bullet
  • Text nese jen ukotvení: tenhle úsek znamená tenhle pojem.
  • Vztahy jsou hrany mezi řádky mapy vedle textu; role (šíře, lateralita, tvar…) je anotace hrany.
  • Uzel nemusí mít slovo: celý nález, pozorování nebo 4. a 5. mezižebří zvlášť – v textu jsou jen jako „4.–5.“.
  • Pořadí slov je prezentace, ne nosič: stejný graf dá jiný slovosled i jiný jazyk.

Ověřeno 20. 8. 2026: DL → text s mapou → zpráva DASTA → zpět do DL. Rekonstrukce je shodná s originálem, i když se přeházejí věty v textu i řádky mapy.

Náš přístup obrací poměr textu a struktury. Význam nese DL graf; text zůstává, jak ho lékař napsal, a vedle něj leží mapa: úsek textu → pojem, a hrany mezi řádky mapy s rolí (šíře, lateralita, tvar). Uzel nemusí mít v textu slovo – celý nález, pozorování nebo každé ze dvou mezižebří zvlášť. Slovosled je prezentace, ne nosič; tentýž graf lze vyjádřit jiným slovosledem i jiným jazykem.

Ověřeno 20. 8. 2026 na příkladu z obrázku: DL zápis → text s mapou → zpráva DASTA → zpět do DL. Rekonstrukce je shodná s originálem, i když se přeházejí věty v textu i řádky mapy. Test ověřuje mechanismus se zástupnými kódy, ne klinický obsah. Vztahy dnes zapisuje do DL program (agent); lékař vybírá pojmy a návrh potvrzuje.

Uložení do DASTA a FHIR

Ve zprávě: text, kotvy a model

text závěru ve zprávě DS4 – beze změny, jak ho lékař napsal

Projasnění① v pravém pleurálním prostoru, v souladu s pneumotoraxem② šíře nejvýše 4 cm.

kotvy (blok semanticExtension)

①…/text_zaver/ptext@0+10
→ kb:projasneni1
②…/text_zaver/ptext@53+13
→ …/dg_vys/dgz[1]

kotva = kde v textu (od znaku, kolik znaků) → na co ukazuje

② element zprávy DS4

diagnóza (dg_vys/dgz)
J93.9 Pneumotorax

slovo v textu je propojené s údajem, který DS4 už má

① model nálezu (přibalený ke zprávě)

projasnění
místo: pravý pleurální prostor
v souladu s: pravostranný pneumotorax
.projasneni1:hyperlucency
	hasBodySite rightPleuralSpace
	consistentWith rightPneumothorax

Dosud: značka v textu = „tohle slovo je pojem X“. Vztahy nikde.

Nově: kotva vede na element zprávy i na uzel modelu – a model nese vztahy.

FHIR totéž: text = Narrative, kotvy = textLink, model = DL extension.

Zpráva DS4 si ponechá text, jak ho lékař napsal. Vedle něj nese blok semanticExtension se dvěma věcmi: kotvami a modelem. Kotva je dvojice „kde v textu → na co ukazuje“: úsek textu se zapíše adresou prvku a pozicí (ptext@0+10 = od znaku 0, deset znaků, tedy slovo „Projasnění“).

Kotva může vést dvěma směry. Kotva ① ukazuje na uzel přibaleného modelu (kb:projasneni1) – instanci pojmu projasnění, která v modelu nese vztahy: místo je pravý pleurální prostor a nález je v souladu s pravostranným pneumotoraxem. Kotva ② ukazuje na element, který DS4 už zná – diagnózu v bloku dg_vys. Slovo „pneumotoraxem“ je tak propojené s diagnózou J93.9, kterou zpráva nese ve strukturované podobě.

Rozdíl proti známé představě „značka v textu“: značka říká jen, že slovo je určitý pojem. Kotva vede buď na údaj zprávy, nebo na uzel modelu, a model nese vztahy mezi pojmy. Ve FHIRu je rozdělení stejné: text je Narrative, kotvy nese textLink a model jede jako DL rozšíření (extension). Mechanismus je ověřený testem, který zapíše všechny čtyři druhy vazeb (prvek → prvek, prvek → model, text → prvek, text → model) a načte je zpět.

Formální zápis

semanticExtension = edge* kbModule?;  edge = (Src, Dest);  kbModule = (head, kb)

Src/Dest: #is[1]/ip/ku/ku_z[1]/text_zaver/ptext@0+10 (úsek textu), #…/dg_vys/dgz[1] (element), kb:projasneni1 (uzel modelu zprávy), sct:… (cizí prostor).

Odkazy: FHIR Narrative · FHIR – rozšíření (extensibility)

Odkud se model vezme

Dvě cesty k DL: zpětně z textu, nebo rovnou při psaní

1 · zpětně z hotového nálezu

Hotový text přečte jazykový model a zapíše ho v DL. Reasoner zápis ověří.

Co v textu není, nevznikne:

  • u měření chybí, na kterém snímku a kde bylo změřeno;
  • u nálezu chybí, čím je doložen;
  • „ložisko vlevo“ se nedá spojit s týmž ložiskem z minula;
  • co lékař viděl, ale nenapsal, je pryč.

Použitelné na archiv: statistika, vyhledávání, kontrola. Ne na navázání na snímky.

2 · vzniká při psaní nálezu

Lékař píše text jako dosud. Do textu se vkládají pojmy a vztahy – z prohlížeče snímků, z číselníku, z minulé zprávy.

Model je hotový hned a ví víc:

  • měření nese odkaz na snímek a oblast, kde vzniklo;
  • ložisko má totožnost – stejné jako minule, proto lze počítat změnu;
  • strana, jistota a vztah k předchozímu vyšetření jsou zapsané, ne odhadnuté.

Jazykový model tu pomáhá nad bohatším vstupem: doplní, přeformuluje, navrhne – a reasoner to kontroluje proti definicím.

Obě cesty dávají tentýž tvar zápisu. Liší se tím, co do něj lze vůbec dostat: zpětně jen to, co je ve větách, při psaní i to, na co lékař ukázal.

Zpětná cesta. Nad archivem hotových nálezů nic jiného nezbývá: jazykový model text přečte a zapíše v DL, reasoner zápis zkontroluje proti definicím a rozporný zápis vrátí k opravě. Tak vznikl i výsledek z datasetu PARROT o dva slajdy dřív. Strop téhle cesty je ale daný textem – vznikne jen to, co v něm je. Měření nemá vazbu na snímek a oblast, kde vzniklo; nález nemá doklad; a dvě zprávy o témže ložisku se nedají spolehlivě spojit, protože ložisko v textu nemá totožnost, jen popis.

Cesta při psaní. V editoru strukturovaného nálezu píše lékař text jako dosud, ale vkládá do něj pojmy a vztahy: měření převzaté z prohlížeče snímků (a s ním odkaz na sérii, snímek a oblast), diagnózu z číselníku, ložisko navázané na totéž ložisko z minulé zprávy. Model tím vzniká zároveň s textem a nese i to, co ve větách není.

Role jazykového modelu se tím nemění, jen dostane lepší vstup. Místo aby význam hádal z vět, pracuje nad textem, který už má označené pojmy a vazby – a co navrhne, ověří reasoner proti definicím. Výsledný tvar zápisu je v obou případech stejný, takže archiv i nově psané nálezy se dají dotazovat společně.

Editor strukturovaného nálezu: rdg.cognitrust.cz

Editor pod pokličkou

Radiolog píše text – editor pod ním drží význam

1 · text nálezu, jak ho radiolog napsal nebo nadiktoval

Kolekce① dorzálně epidurálně v úrovni Th10/11② vlevo③, velikosti cca 5–6 mm④, minule 7 mm.

2 · kotvy: slovo → pojem
①kolekce tekutiny (SNOMED CT)
②segment Th10/11
③strana: vlevo
④měření na snímku (série, řez)

text zůstane, jak je; kotva jen řekne, co který úsek znamená

3 · model nálezu (DL)
kolekce
místo: epidurálně, Th10/11 · strana: vlevo
velikost: 5–6 mm · změřeno na: snímek
tatáž jako: kolekce z minulého vyšetření
průběh: zmenšení (7 → 5–6 mm)
4 · ven standardem

DL pokračuje tam, kde FHIR končí

FHIR / DASTA jádro: nález, místo, strana, velikost, snímek – vše, pro co standard má pole

DL rozšíření: jen to, na co pole není – „tatáž kolekce jako minule“, „zmenšila se“

Text: beze změny

Co z toho má radiolog: klik na číslo otevře snímek s měřením · porovnání s minulým vyšetřením v mm a % · upozornění, když se popis a závěr rozcházejí ve straně · věta s rozměry vznikne z měření sama

Výzkum, který standardy rozšiřuje, neruší je: FHIR, DASTA i SNOMED CT zůstávají beze změny. Systém, který DL nezná, přečte jádro a text a rozšíření přeskočí.

Editor vypadá jako obyčejný textový editor: radiolog píše nebo diktuje nález. Pod textem ale editor drží tři vrstvy. Kotvy spojují úseky textu s pojmy: slovo „kolekce“ s pojmem ze SNOMED CT, „Th10/11“ se segmentem, „vlevo“ se stranou a číslo „cca 5–6 mm“ s měřením na konkrétním snímku. Text se kotvami nemění. Model nálezu v deskripční logice (DL) z těchto pojmů skládá význam včetně vztahů: kolekce leží v epidurálním prostoru Th10/11 vlevo, má změřenou velikost a je to tatáž kolekce jako na minulém vyšetření, která se zmenšila.

Ven jde nález standardem. Všechno, pro co FHIR nebo DASTA mají pole – nález, místo, strana, velikost, odkaz na snímek –, jde do jejich jádra a přečte to každý systém. DL pokračuje tam, kde FHIR končí: vztahy mezi nálezy („tatáž kolekce jako minule“, „zmenšila se“) FHIR pole nemá, proto jdou do standardního rozšíření. Systém, který DL nezná, rozšíření přeskočí a má stále jádro i text. Je to výzkum, který standardy doplňuje, ne nahrazuje; se standardem není v rozporu.

Pro radiologa je podstatné, co editor díky tomu udělá sám: z čísla se proklikne na snímek, porovná měření s minulým vyšetřením, upozorní na rozpor stran mezi popisem a závěrem a větu s rozměry vytvoří z měření. V ukázce na ehr.ezprava.net to běží nad skutečnými snímky MR. Kontroly v ukázce zatím počítají pravidla nad textem; vyhodnocení nad DL modelem je předmětem výzkumu.

Odkazy: FHIR – rozšíření (extensibility) · FHIR Narrative

Laicky

Převod do logiky dělá LLM. Přesnost mu dodá editor.

LLM DOSTANE JEN TEXT „… ventrolaterálně vlevo je kolekce tekutiny v mírné velikostní regresi …“ LLM musí pojem uhodnout absces? seróm? hematom? výraz v OntoMarku pojem zvolil stroj za pisatele LLM DOSTANE TEXT, POJMY I MĚŘENÍ „… kolekce tekutiny …“ pojem vybrán z číselníku 18 × 7 × 25 mm · série 5, řez 12 LLM pojmy dostane, nehádá je kolekce tekutiny rozměr ze snímku výraz v OntoMarku pojem zvolil radiolog Známe správnou odpověď, takže výstup jde s ní porovnat: kvalitu převodu měříme, neodhadujeme.

RDG nález převádíme do formální logiky. Neděláme to my, ale používáme na to LLM.

Formální logika musí pracovat s přesnými pojmy. Pokud má LLM k dispozici jen text, musí pojmy uhodnout – najít v terminologii, co pisatel měl na mysli.

Náš editor umožňuje vybrat z číselníku během psaní reportu a zároveň vložit přesná měření s vazbou na konkrétní snímky a série.

Tím se přesnost výrazně zvyšuje a kvalitu převodu jsme schopni objektivně měřit.

Návrh

FHIR jako projekce DL

pojem v DL úplný význam nálezu 1 jádro FHIR všechno, pro co FHIR má pole: code, bodySite, value, interpretation… 2 DL extension zbytek: vztahy mezi nálezy, okolnosti průběhu – jako DL výraz 3 text (Narrative) celý význam slovy – status „extensions“: vygenerováno z jádra i extenzí

Pravidla projekce jsou deklarovaná jednou v modelu (pojem → resource, role → pole), ne ručně psaná pro každé rozhraní.

Pojem v DL se do FHIR promítá do tří vrstev. Jádro FHIR: vše, pro co FHIR má pole (code, bodySite, value, interpretation…) – tomu rozumí každý FHIR systém. DL extension: zbytek, typicky vztahy mezi nálezy a okolnosti průběhu, zapsaný jako DL výraz. Text (Narrative): celý význam slovy; FHIR má pro text vygenerovaný z jádra i rozšíření hodnotu stavu extensions.

Pravidla projekce (pojem → resource, role → pole) jsou deklarovaná jednou v modelu, ne ručně psaná pro každé rozhraní.

Odkazy: FHIR Narrative (stav „extensions“) · FHIR – rozšíření (extensibility)

Případ PARROT #625

Co se vejde a co ne

fakt z DLFHIRkam
tuberkulózní spondylodiscitida, segment L1/2Condition.code, Condition.bodySitejádro
známá, stacionárníCondition.clinicalStatus = activejádro
destrukce obratlových tělObservation.code + bodySitejádro
absces vlevo, 3 × 3 cm, regreseObservation.bodySite, component, interpretationjádro
perkutánní drenáž z dorzálního přístupuProcedurejádro
absces leží v okolí segmentu L1/2relativní poloha vůči jinému nálezu – pole neníextension
regrese při drenáživazba průběhu na výkon – pole neníextension
vše výšetext, status = extensionstext

Z nálezu #625 má ve FHIR místo většina faktů: diagnóza a segment (Condition.code, Condition.bodySite), aktivní stav (clinicalStatus), destrukce obratlových těl (Observation), absces s lokalizací, rozměry a regresí (bodySite, component, interpretation), drenáž (Procedure).

Do DL extension jdou vztahy: absces leží v okolí segmentu (relativní poloha vůči jinému nálezu) a regrese probíhá při drenáži (vazba průběhu na výkon). Radiolog je vyjadřuje předložkami „v okolí“, „při“, „s“ – a právě na ně FHIR pole nemá. Vše navíc nese text.

Odkazy: FHIR Condition · FHIR Observation

Při přenosu mezi systémy

Jeden resource, tři vrstvy

📦 formulář FHIR „pozorování“ (Observation)

text – „Okolní absces vlevo u L1/2 regreduje při zavedené perkutánní drenáži, reziduum cca 3 × 3 cm.“

rozšíření – absces v okolí L1/2, regrese při drenáži

coabsces
kdebederní páteř L1/2, vlevo
vývojregrese
rozměry3 cm × 3 cm

kolonky přečte každý FHIR systém

rozšíření přečte systém, který zná DL; ostatní ho přeskočí

text přečte vždy člověk

{
  "resourceType": "Observation",
  "text": {
    "status": "extensions",
    "div": "<div>Okolní absces vlevo u L1/2 regreduje při zavedené perkutánní drenáži, reziduum cca 3 × 3 cm.</div>"
  },
  "extension": [{
    "url": "https://ezprava.net/fhir/StructureDefinition/dl-expression",
    "valueString": "absces; místo: okolí L1/2; strana: vlevo; průběh: regrese (při: drenáž)Absces ⊓ ∃místo.(Okolí ⊓ ∃čeho.L1/2) ⊓ ∃strana.Vlevo ⊓ ∃průběh.(Regrese ⊓ ∃při.Drenáž)"
  }],
  "status": "final",
  "code": { "text": "absces" },
  "bodySite": { "text": "bederní páteř L1/2, vlevo" },
  "interpretation": [{ "text": "regrese" }],
  "component": [
    { "code": { "text": "rozměr 1" }, "valueQuantity": { "value": 3, "unit": "cm" } },
    { "code": { "text": "rozměr 2" }, "valueQuantity": { "value": 3, "unit": "cm" } }
  ]
}
Kódy SNOMED CT nahrazeny textem kvůli místu. URL extension je návrh.

Ukázka jednoho Observation pro absces. Oranžově text (text.div, stav extensions) – člověk vidí vždy celý význam. Modře DL extension – systém, který DL nezná, ji smí přeskočit a nic nepravdivého nepřečte. Zeleně jádro – kód, místo, interpretace a dva rozměry, kterým rozumí každý FHIR systém.

Kódy SNOMED CT jsou v ukázce nahrazeny textem kvůli čitelnosti; adresa (URL) extension je návrh.

Formální zápis

Absces ⊓ ∃místo.(Okolí ⊓ ∃čeho.SegmentL1/2) ⊓ ∃strana.Vlevo ⊓ ∃průběh.(Regrese ⊓ ∃při.PerkutánníDrenáž)

Obsah DL extension; jádro FHIR nese promítnuté části (code, bodySite, interpretation, component).

Odkazy: FHIR Observation · FHIR Narrative

🔴 Mantinel

Negace a nejistota nikdy do extension

PARROT, Francie:

„Pas de signe de spondylodiscite.“

Systém, který extension nezná, ji smí ignorovat. Kdyby „ne“ bylo jen v extension, přečte:

spondylodiscitida

Co mění význam, musí do jádra:

významkam
vyloučenoCondition.verificationStatus = refuted
podezřeníverificationStatus = provisional
nepřítomnoObservation.value = nepřítomen
jiné, co mění význammodifierExtension – příjemce ji nesmí ignorovat

Systém, který extension nezná, ji podle pravidel FHIR smí ignorovat. Kdyby negace („Pas de signe de spondylodiscite“ – bez známek spondylodiscitidy) byla jen v extension, přečetl by příjemce opak: spondylodiscitidu.

Co mění význam, patří do jádra: vyloučení do Condition.verificationStatus = refuted, podezření do provisional, nepřítomnost do hodnoty pozorování. Pro jiné významotvorné údaje má FHIR modifierExtension, kterou příjemce nesmí ignorovat – musí ji pochopit, nebo resource odmítnout. Běžná extension je doplněk: bez ní zbytek zůstává pravdivý.

Odkazy: FHIR modifierExtension · FHIR Condition (verificationStatus)

Výsledek

Kdo co dostane

příjemcedostane
FHIR systém bez znalosti DLmaximum strukturovaně podle standardu FHIR + celý význam v textu
systém se znalostí DLplnou sémantiku zpět beze ztráty – jádro + DL výraz
lékařcelý nález slovy, v každém případě

Nic se neztratí. FHIR se vytěží na maximum, zbytek jede jako DL výraz a zároveň jako text. Strojově čitelná část mimo FHIR je ale čitelná jen pro systémy, které DL znají – ostatním zůstává text.

FHIR systém bez znalosti DL dostane maximum dat strukturovaně podle standardu a celý význam v textu. Systém se znalostí DL dostane plnou sémantiku beze ztráty: jádro plus DL výraz. Lékař dostane celý nález slovy v každém případě.

Poctivá formulace je „nic se neztratí“, ne „plně interoperabilní pro všechny“: strojově čitelná část mimo jádro FHIR je čitelná jen pro systémy, které DL znají; ostatním zůstává text.

Kontrola

Tam a zpět: FHIR → DL

Projekce má inverzi: z jádra FHIR + DL extension se složí zpět původní DL výraz.

DL → FHIR → DL′    ověřit: DL a DL′ znamenají totéžDL ≡ DL′

Ekvivalenci rozhodne reasoner, ne porovnání textů. Stejný princip jako text → DL → text u PARROT, jen přesně.

Tím se ze sémantické interoperability stává testovatelná vlastnost: zpráva, která po cestě ztratila význam, test nesplní – dřív, než se odešle.

Projekce má inverzi: z jádra FHIR a DL extension se složí zpět původní DL výraz. Zda je výsledek shodný s originálem, rozhodne reasoner (ekvivalence pojmů), ne porovnání textů – jde o přesnou obdobu kontroly nález → DL → nález.

Sémantická interoperabilita se tím stává testovatelnou vlastností: zpráva, která po cestě ztratila význam, test nesplní dřív, než se odešle. Kdyby obory v obou registrech ministerstva byly definované pojmy, převod L47 → L47 by tímto testem neprošel.

Formální zápis

DL ≡ DL′  ⇔  DL ⊑ DL′  a  DL′ ⊑ DL

Ekvivalenci rozhoduje reasoner dvěma dotazy na podřazenost.

Shrnutí

Pojem s definicí se nedá tiše zaměnit

Aristotelés
rod + rozlišující znak
Frege 1879
definice jde vyhodnotit
DL 1985–2005
rozhodnutelně a rychle
SNOMED CT
428 000 definic

FHIR – jiná osa: přeprava. Nese mezi systémy to, co definice řeknou.

Editor strukturovaného nálezu: rdg.cognitrust.cz

Shrnutí oblouku: Aristotelés definoval rodem a rozlišujícím znakem, Frege ukázal, že definice lze vyhodnotit, deskripční logika (1985–2005) to udělala rozhodnutelně a rychle, SNOMED CT tak definuje přes 428 000 pojmů. FHIR na této linii není další stupeň, ale jiná osa: přepravní formát, který definované pojmy nese mezi systémy.

Kód L47 znamená v jednom registru pediatrii a v druhém maxilofaciální chirurgii, protože kód má jen tvar, ne definici; dva pojmy s definicí by se lišily. Jedna DL reprezentace nálezu dá libovolný jazyk i formát. Do FHIR se vytěží maximum, zbytek jede jako DL extension a text – a negace nikdy jen v extension.

Sémantická interoperabilita = definice pojmu, ne formát

Problém

L47  = pediatrie v registru poskytovatelů, maxilofaciální chirurgie v registru zdravotnických pracovníků – oba registry ministerstva. Validace projde, význam ne.

 

39  tvarů adresy · 43 popisů pacienta · 6 číselníků odbornosti v 31 státních rozhraních. FHIR: 1 Address.

 

≈ 3,6  mld. Kč – převodníky pro 200 nemocnic na 15 let (přepočet z 89,9 mil. za 5 nemocnic Vysočiny).

Řešení: definice, kterou spočítá stroj
Aristotelés
rod + rozlišující znak
Frege 1879
pojem = funkce
DL 1985–2005
rozhodnutelná logika
SNOMED CT
428 000 definic

Spondylodiscitida je přesně zánět, jehož místem je ploténka a obratlová těla

Spondylodiscitida ≡ Zánět ⊓ ∃ místo.Ploténka ⊓ ∃ místo.ObratlováTěla

Hierarchii počítá klasifikátor · víc rodičů · nepopsáno ≠ není (otevřený svět)

Jedna reprezentace, mnoho jazyků

DE tuberkulöse Spondylodiszitis LWK 1/2, Abszedierung links regredient…

EN tuberculous spondylodiscitis L1/2, abscess on the left regressing…

CS tuberkulózní spondylodiscitida L1/2, absces vlevo regreduje…

PARROT: 2 738 nálezů, 14 jazyků · text → DL → text, přijato jen při 10/10

1 · jádro FHIR

vše, pro co FHIR má pole: code, bodySite, value, interpretation, verificationStatus

2 · DL extension

zbytek jako DL výraz: absces v okolí L1/2, regrese při drenáži

3 · text

celý význam slovy, Narrative.status = extensions

🔴 mantinel

negace a podezření nikdy do extension – do verificationStatus / modifierExtension

Nic se neztratí: FHIR systém dostane maximum strukturovaně, DL systém plný význam, lékař celý text. Tam a zpět DL → FHIR → DL ověří reasoner.