20. srpna 2015 v 5:22 | Petr
|
Nedávno se na mně obrátila jistá vysoce postavená kolegyně z
Laboratoří Agel s dotazy stran počítačových systémů ve zdravotnictví - a při té příležitosti jsem byl nucen hluboce se zamyslet a zjistil jsem, že dnešní gigabajtové a gigahertzové počítače nekladou programátorovi prakticky žádná technická omezení. Přesto ( proto ? ) jsou často výsledky běhu programů žalostné. Velice jsem přemýšlel a zjistil jsem že patrně existují něco jako různé stupně "
progamátorské mentality"
Příkladem budiž - to, na co jsem byl kolegyní tázán - tedy předávání zdravotnické dokumentace mezi počítačovými systémy špitálů. Zde tedy příklady:
"8 bitová mentalita" - předávaná data :
ů)VŔo'";.ŤFĐbÍ`iüF\ˇ ‡Ż˘"ľ5NńĚÔÁG"cÁcWK'LX[R ç~†&Ë
ĘČuERQŤłÎHđžR«Ę¨CßÔhžĆO‰u‰Á󎼵ĺpPúż©ŇŚ(˛qćóÂú…ţ´ÎN-§Ë®sFu:r%
}ô҇^WKpT×˙oS‡4áq_Ž1(-wP´iRŹä> ÔŻą3ÖsÚŠ‹› ő(P!-Ś‡t#|r< Ň Ś°¨Gr_úݱ 7˝8ý_O¸A}¤ăĽy^n˘Á JftbYÂIĐ&¶°|űßŕFrj"
Tedy - to, "co jedna procedura vyplodí" uloží se na disk a pošle se napříč internetetem - zcela proprietární nedefinovaná struktura s jakoukoliv změnou softwaru - automaticky se mění formát zprávy, který je komukoliv krom "přijímací procedury" přesně stejné verze jako "vysílací" - zcela nesrozumitelný - odolnost proti chybám přenosu : může být docela vysoká kvůli kontrolním součtům atd. ale odolnost proti "chybám protokolu" - tedy proti tomu, když programátor nepochopí rozdíl mezi znakem "smějící se obličej" s koutky nahorů a dolů - naprosto nulová. Použitelnost takových dat pro jiný software - taky naprosto nulová - pokud to není zrovna software firem NSA, KGB, CIA a další "z branže".
"16 bitová mentalita" - předávaná data :
AE\\\\\\\\01\01\281326\455853\32\45585332\20150710_0383\1\STATIM\201507110600\I2LH\IN2L\PBOX
03\Diagnoza\I21.4,I70.20,I25.9,I50.9,I34.0,I48.1,Z95.0,I10,I69.3,Z87.8,N18.3,N08.3,E11.2,M25.59,J84.9,J42,I70.90,Z98.8,Z88.8\Plocha tela\\Vyska\\Hmotnost
04\Moc_ml\\Moc_hod
11\10001\25\1\\\\\\\\\OKBI
11\10002\25\1\\\\\\\\\OKBI
11\10003\25\1\\\\\\\\\OKBI
11\10010\25\1\\\\\\\\\OKBI
11\10011\25\1\\\\\\\\\OKBI
11\10100\25\1\\\\\\\\\OKBI
25\OKB\526
26\\Miroslav\\20.04.1938\2\380420/989\1248/12\700 30\Ostrava-Hrab…vka\I2LH\1H7\CZ\\303003 27\1\111\P\380420416\DV111 28\Heczko\Marcel\MUDr.\91001720\070
Vlastnosti tohoto levelu - sejde se "international executive board", který vymyslí "human readable code" - ovšem jak vidíte s tou "human readability" to hoši moc nepřehánějí, a hlavně - každá tečka je podstatná - ale význam žádné tečky není nikde detailně popsaný - ergo odolnost proti programátorským "chybám protokolu" je mizivá a tím je mizivá i přenositelnost dat mezi počítačovými programy různých výrobců. Dokonce i když samotní autoři "mateřského softwaru" v rámci "neustálého vylepšování" - vynechají omylem jedno lomítko - tak program sice neskončí hláškou "unhandled exception at line XXXXX" - jako u 8 bitového levelu, ale přeto prostě "data nedojdou" a vy budete marně pátrat proč.
"32 bitová mentalita" - předávaná data :
Toto je
HL7 - verze 3 alias XML využité pro medicínská data - amatérům sice toto nepřipadá o moc čitelnější než předchozí případy - ale je to XML - standard jasně definovaný s miliony progamů, které s ním umí pracovat, navíc má jasnou strukturu syntaktickou i logickou ergo - pokud při programování "
datového rozhrani" vynecháte někde čárečku - tak místo týdenního zasedání "
krizové skupiny expertů" - je nalezení takové chyby otázkou 5 minut práce mladíka, co právě rozchodil své první Raspberry PI. Navíc díky neustálému a úmornému opakovaní tagů je zotavení se z "
nepatrné změny" datového formátu pro software relativně snadné, a díky tomu je přenositelnost dat mezi softwary různých výrobců relativně vysoká.
"64 bitová mentalita" - předávaná data :
Vstupní Vyšetření : 59letá žena s CHOPN 3/C hospitalizovaná na plicním oddělení pro zhoršení dušnosti a kardiální dekompenzaci s otoky dolních končetin a břicha. Vstupní středně těžká obstrukce a hypoxémie, sérové parametry v normě, zavedena medikace bronchodilatační, diuretická, oxygenační. Stav přechodně zlepšen, ale za 14 dní dochází ke zhoršení klinickému i laboratornímu (S-urea 15 mmol/l, S-kreatinin 138 µmol/l, S-CRP 114 mg/l), byl odebrán vzorek moče a proveden rtg snímek hrudníku (nález bez plicní infiltrace).
Výsledky provedených testů (moč): pH 6,0, hustota 1016, bílkovina 3 arb.j., krev 3 arb.j., leukocyty 4 arb.j. , ostatní políčka negativní
Tedy je to "
prostý text" nebo maximálně do úrovně "
RTF" formátovaný text - plně "
human readable" a velmi často taky "
human generated". Dovolím si poznamenat, že aby se takový formát řadil do "
64 bitové mentality" musí software jevit známky schopnosti porozumět takovému textu - tedy najít v něm jméno, rodné číslo, datumy, laboratorní hodnoty. Softwary, které se chubí tím, že s takovými daty umí pracovat a přítom mu nerozumí ani zbla - řadím někam do 8 bitové mentality, protože ani tam "
binárnímu bordelu" de facto software nerozumi.
Jistě jste pochopili, že počítačoví neumětelové v oblecích, kteří, ve snaze prodat svůj sotware, pořádají prezentace "smart technologií" pro managementy špitálů - zatím nikdy "64 bitové mentality" nedosáhli, ale řekněte sami - jaké technické prostředky chybí k tomu aby se tak stalo ? Nevejde se slovník medicínské češtiny zvíci 50 000 průměrně 7 písmen dlouhých slov do paměti ? Není dostatečný výkon procesoru pro "překlad" textu, dle výše uvedeného slovníku do nějakého ( uživatele nezajímajícího ) vnitřního formátu ? Nemáme - dokonce "open source" - syntaktické a lexikální analyzátory a parsery z projektů velkých kompilátorů programovacích jazyků, které by se daly použít jako základ ?
Inženýrům mezi čtenářstvem teď vaří krev, neboť mají 1001 námitek, proč to nejde, ale problém není v tom proč to nejde - problém je v tom, že 50 let zkušeností s počítači ve špitálech ukazují, že krom nestrukturovaného lidského jazyka je jakýkoliv umělý "standard by comitee" vždy brzy zastaralý a omezující - tedy firma, která poprvé předvede jak její software pozře a povrchně porozumí zdravotnickým textům - bude mít obrovskou výhodu a bude mít v ruce "konečné řešení" otázky komunikace mezi počítači ve zdravotnictvní. Nemluvě o tom, že tato úloha je mnohem snazší než se zdá, protože lékařské zprávy prošly od dob Hippokrata dlouhým vývojem a jsou vnitřně strukturované více než si dovedete představit.
Samozřejmě narážíme na
Moravcův paradox a taky na "
česká specifika" - tedy za software, který produkuje "
binární bordel" na úrovni 8 bitové mentality, a proto má každý týden poruchu, která vyžaduje - 2 dny dlouhé - "
krizové zasedání expertní skupiny" - lze od státních špitálů žádat nestoudné prachy, ale za software, který hladce "
čte i píše" - lidem srozumitelné zprávy - toto žádat nelze neboť - proč platit peníze za něco, co "
umí i zdravotní sestra" - žejo ?
Jen jako výhled do budoucnosti : "
SkyNet / Matrix mentalita" - předávaná data :
Ale to už si naprogramují samy stroje - a to si můžete být 100% jisti, že ty zdaleka nebudou tak líné ani zkorumpované, jako frikulíní v oblecích, kteří berou těžkou hlínu zato, že komplikují skutečná řešení počítačových problémů, tvrdíc, že "se zabývají problematikou datových komunikací v elektronických systémech ( EU ) projektů pro e-zdravotnictví" !
Poznámka při druhém čtení - dva dny poté, co jsem dopsal tento článek jsem řešil problém jistého počítačového systému, který, aby poznal, že datová věta je textová - potřebuje jako první slovo heslo "
text". Dovolím si to nazvat "
matláckou mentalitou" a považovat to za příznak toho, jak hluboké je neumětelství počítačových expertů ve zdravotictví, když v roce 2015 jim dělá problém věc, která v "
Basicu 6" na
IQ-151 v roce 1986 byla zcela snadná, i bez trapného pomocného nápisu.
Tak ono by to asi šlo, ale vidím tam problém v nejednoznačnosti a možnostech překlepů. Pokud by k tomu byl nějaký set podmínek, který by se kontroloval a zobrazoval v nějaké tabulce a dokud nejsou všechny splněny, tak nedovolí text odeslat, tak by to asi šlo.