Na prahu 32 bitové mentality.

20. srpna 2015 v 5:22 | Petr |  Počítače etc...
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

Kdyby vás zajímalo co to je - tak to je parodie na "zdravotnický komunikační jazyk" HL7 verze 2 z dílny firmy, která vytvořila náš špitální počítačový systém.
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.
 

Buď první, kdo ohodnotí tento článek.

Komentáře

1 Bystroushaak Bystroushaak | 20. srpna 2015 v 13:20

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.

2 TNT TNT | 20. srpna 2015 v 17:00

Spojí li své úsilí dnešní lékař a dnešní programátor, přijme se pacient s edémem plic, léčí se na infarkt, nakonec se dva dny mučí na Áru různými experimenty s měřením jeho mírně zvýšek ného tlaku, a nakonec se mu nabídne operace mírně vyhřezlé kýly, kterou má již třicet let. Když nakonec pacient zněrvozní, a požádá o reverz, je mu vyhověno, je vybaven v podstatě lékárnou sestávající se z asi dvaceti léků, z nichž upoutává jeden s názvem:

HALOPERIDOL RICHTER, 5x5 kapek denně.....

3 petr-kubac petr-kubac | 20. srpna 2015 v 17:09

[2]: Ten vás zaujal, neb má v molekule fluor že ?

4 TNT TNT | 20. srpna 2015 v 17:33

Ten fluor  zaseknutej v  tom  benzenovým jádře je dobrej. Bohužel teď po použití asi dohromady sto kapiček, které mi vždycky s jistou radostí podávala stará sestra s přívětivými výkřiky:

Kapičky na chrapot, pane inžinýre...

nemohu zaostřit na dálku. Možná že je to trest za porušení výzvy, která je napsána v podchodu u té slavné nemocnice, jejíž věž s hodinami připomínající věž elektrárny z Ping-Fanu tluče vždy už skoro dvacet let čtyři údery na tři čtvrtě...:

Odhoď důstojnost, a vytáhni šrajtofli !!!

5 Karel Karel | 21. srpna 2015 v 6:08

Inženýrům krev nevaří, poněvadž dobře vědí, že oni doktoři jsou stejní amatéři jako inženýři a tak radši vůbec k nim nechodijou. Takže jaký systém mají ve špitále je jim zcela lhostejno.

6 TNT TNT | 21. srpna 2015 v 9:16

Možná že nejlepší zárukou dlouhodobě fungujícího přílivu financí do úřadu pro sociální a důchodové zabezpečení je pilná a nekompromisní manželka, která svého hospitalizovaného a pak propuštěného manžela systematicky přinutí, všechny předepsané jedy zkonzumovat, denně mu počítá prášky, a kontroluje ho aby je všechny správně sežral, exl, a nemusel mu pak již následně jako bývalému lidskému zdroji být zbytečně vyplácen  důchod.

7 petr-kubac petr-kubac | 21. srpna 2015 v 12:04

[5]: To jsi uhodil hřebík na hlavičku - inženýři nechodí do špitálu neb tam to smrdí prací, ale o to více chodí na ministerstvo a další zdrav-ouřady, neb tam to smrdí penězi.

Výsedek je že máme tři prdele komisí a jim lukrativně proplacených "komunikačních standardů" a žádný software, který by s nimi rozumně pracoval.

8 TNT TNT | 21. srpna 2015 v 15:59

Z hlediska výpočetní techniky mne v tom Ping-fanu fascinovala nejvíce maličká starší zmalovaná a navoněná ukrajinka v žlutých holínkách, která celé dny seděla s kýblem a smetákem na lavičce před dveřma, a každému docela zdařilou češtinou stále dokola vyprávěla, jak byla v Národním divadle, a jak jí Juro koupil na zimu už druhej kožich. Juro byl asi osumnáctiletý blonďatý mladík s modrýma očima a sluchátkama na hlavě, ze kterých se neustále chraptivě a dokola ozývala melodie z televizního seriálu: Nu, podoždi zájac, a roznášel a stavěl všude kde to šlo černá nová písíčka, a spojoval to kabelem. Dál se mi strašně líbilo jak suvereně vyplňoval faktury, a podával je lidem v bílých pláštích, a ti na ně nevěřícně čuměli, a vykřikovali: Vosumset dvacet? Dyť to mělo stát pětset šedesát,  a Jurko jim suvereně česky odpovídal: Nojo, ale to bylo bez DPH...Přes okno tam na mně čuměla z deseti metrů zvenku na zdi několikanásobná anténa GSM převáděče, a na stojanech bylo na mnoha elektronických jednotkách na pumpování infuzí a monitorech tlaku napsáno: Nefunguje, hlášeno. Značné množství mladých ukrajinských a ruských chirurgů se zde jistě naučí praktickou řezničinu , a pak až přejdou do německa, tak už to budou zkušení odborníci. Něco ovšem za sebou tady samozřejmě nechají v lednicích...

9 Petr G. Petr G. | 24. srpna 2015 v 19:47

Kdo viděl  na ose A u CNC stroje -16945° a při běžném provozu od -675° do +435°

Uvěří i tomu, že oranžová krabice má IQ 151.

10 TNT TNT | 24. srpna 2015 v 21:21

Obávám se, že tento nekorektní blog není dostatečně nekorektní, protože zde mizejí  nekorektní příspěvky. Kdysi za prvého protektorátu Bohmen und Mahren když něco nekorektního cenzurovali v novinách, tak to začernili, a nebo tam nechali aspoň bílé místo...

11 Dalík Dalík | 24. srpna 2015 v 21:26

Mohl byste prosím nějak jednoduše vysvětlit, co to je to XML? To zelené jsou jako příkazy. Díval jsem se na wikipedii (českou)  anepoochopil jsem z toho zbla. Je tam jakýsi recept na buchty a vypadá to o dost jinak,než to co máte tady. Jako chápu assembler, dejmetomu C, Pascal, ale tady mi vůbec není jasné vo co gou. To je jako program, nebo co vlastně?

12 gilhad gilhad | 25. srpna 2015 v 7:52

[11]: XML je popis dat promichany s vlastnimi daty. V ostrych zavorkach je tag, ktery rika nazev promenne, mezi otviracim a zaviracim tagem je hodnota te prommenne. V pascalu by tomu priblizne odpovidal record.
HMTL stranka je v podstate i XML (az na par detailu, jako ze by se melo psat {br/}), ktera popisuje slozitou strukturu dat jmenem HTML, ktera ma dve casti HEAD a BODY. HEAD ma spoustu podcasti jmenem META, kazda z nich je slozena z nekolika mensich casti napriklad name a content, nebo hhtp-equip a content a tak.
BODY je opet tvoreno jednak vlastnim obsahem (to jsou ty kecy) jednak dalsimi castmi jmenem B (to jsou tluste kecy) I (sikme kecy) A (kecy ktere nekam vedou)

V Pascalu je record definovany v hlavicce programu a data jsou pak v pameti ulozena ve tvaru danem definici (ale uz bez popisu)

V XML reknes jaky data pujdou a hned je zacnes hrnout, pokud maji jakoukoli strukturu, tak tak na ni narazis, zase reknes, jaka to je a zacnes hrnout, jakmile data v podstrukrure konci, reknes to uzaviracim tagem.

type clovek=record
  jmeno,prijmeni=string;
  vek=integer;
  zivy=boolean;
end;
data: ("pepa","Novak",42,True)

XML:
{clovek}
  {jmeno}Pepa{/jmeno}
  {prijmeni}Novak{/prijmeni}
  {vek}42{/vek}
  {zivy}True{/zivy}
{/clovek}

pripadne
{clovek vek=37 zivy=False}
  {jmeno}Marie{/jmeno}
  {jmeno}Antonie{/jmeno}
  {jmeno}Josefa{/jmeno}
  {jmeno}Johana{/jmeno}
  {prijmeni}Habsbursko-Lotrinská{/prijmeni}
  {titul}Rakouská arcivévodkyně{/titul}
{/clovek}

13 Dalík Dalík | 25. srpna 2015 v 13:27

Díky moc, že jsi se mě ujal. Ale kde je v tom XML definovaný, že zrovna "Pepa" je typu string a "True" je typu boolean? Co kdyby se někdo jmenoval "True"?

Ale možná bych se měl zeptat jinak: Ta zelená slova v příkladu geeka jsou typy proměnných a okrová jsou vlastní proměnné a červená jsou hodnoty těch proměnných?

14 Bystroushaak Bystroushaak | 25. srpna 2015 v 14:06

Definované je to v DTD, nebo XSD.

https://cs.wikipedia.org/wiki/XML_Schema
https://cs.wikipedia.org/wiki/Document_Type_Definition

Pokud stále tápete, tak zkuste knihu XML pro každého, od Koska. Je to docela tenká knížka, která se dá koupit v antikvairátu za 20kč, nebo najít oscannovaná na webu.

15 gilhad gilhad | 25. srpna 2015 v 16:29

[13]:
v 16-bitech není v datech nic, než čárky, někde v programu ale máš aspoň proměnná:typ:pořadí_v_záznamu

v 64-bitech nemáš proměnná:typ:hodnota v datech vůbec

v 32-bitech se v datech aspoň dá rozeznat, co je proměnná a jakou má hodnotu (je-li True string, nebo boolean holt musíš bez dalšího hádat dle kontextu).

-----

Není to v něm definované. Může být (a měl by týt, ale často také není) připojen odkaz na další soubor, ve kterém je definováno, že (v rámci {clovek}) je jméno sting a může tam být víckrát, věk je int a může tam být jednou a živý je boolean a musí tam být právě jednou.

Nebo se to může zdát z kontextu jasné a program pro zpracování to "přece ví" (má zakódováno). A ostatní programy to "nějak uhodnou", nebo zignorují. Velmi často při si zpracování XML vybereš jen to, co potřebuješ a zbytek ignoruješ. (Jako při zpracování 64-bit dat z nich já vyčtu, že to není dobrý, i když se to přechodně zlepšilo, ale snad to ještě není kritické a třeba se s tím dá něco dělat, tak radši půjdu koupit tetičce bomboniéru a tranzistorák a sestrám kafe, než abych rovnou scháněl černý oblek)

v 64-bitech nemáš proměnná:typ:hodnota vůbec, tady mít můžeš a nemusíš.

XML je zapsaný strom, kde každý uzel (to zelené) může mít atributy (oranžové), které mohou mít hodnotu (to červené) a může obsahovat libovolný počet dětí (pod-uzlů) a/nebo text (zde není až na mezery a řadky žádný)
a nebo jejich libovolnou kombinaci

prostě taková celkem divoká stromová datová struktura, u které se celkem snadno dají mechanicky oddělit jednotlivé prvky, ale jejich interpretace už nemusí být tak jednoduchá a může velice záležet na interpretujícím.

Ale při troše štěstí a snahy se to dá i tak nějak trochu lidsky číst, třeba že jde o testovaci (19) data americké HL7 (
http://www.alvestrand.no/objectid/2.16.840.1.113883.html ) vytvořená 15.února 2002 v půl desáté ráno

Nebo že Marii Antoanetě již není nutno posílat reklamu na krém proti vráskám.

Výhoda XML je, že se s ním dá zacházet jako s textem (přenášet, komprimovat, vyhledávat v něm), že pokud aspoň tušíš co hledáš, tak máš aspoň šanci to tam najít a že většina nástrojů se vůbec nezblázní, když tam přidáš dobře sformátovaný další blok dat na nějaké to vhodné místo, alébrž ho buď zcela zignoruje, nebo celkem správně pochopí, takže se to dá velice snadno rozšiřovat až bude kromě pohlaví nutno uvádět i gender a adresní blok se rozšíří o planetu, hvězdnou soustavu a galaxii, s tím, že i starší SW z novějších dat bude schopen vybrat to své a je šance, že celkem správně.

16 gilhad gilhad | 25. srpna 2015 v 16:33

[15]: ale to už jsme se asi moc zakecali, dál raději tady: https://cs.wikipedia.org/wiki/Extensible_Markup_Language

17 Dalík Dalík | 8. září 2015 v 23:11

Sorry za pozdní reakci, úplně jsem zapomněl, že tu mám rozdebatováno....

Jestli jsem to dobře pochopil, tak ten XML je něco jako by byl soubor v excelu, kdyby se ovšem dal soubor .xls lidsky přečíst... Tedy, může tam být naprosto cokoli, ale má to definovanou strukturu...

Z té wiki mi to právě není jasné vůbec, protože to určitě psal nějaký ajťák, kterému je jasné, co si pod XML představit. Což mě jasné nebylo. Krom toho tam jsou použité výrazy jako "hodnoty atributů, elementy" apod. který prostě nechápu, což je sice moje chyba, ale proto se dívám na wikipedii, jinak bych se tam nedíval.

Takže ještě jednou díky za obšírné upřesnění! Zdravím z K. Varů!

18 klaun2 klaun2 | 16. srpna 2016 v 8:30

"datová věta je textová - potřebuje jako první slovo heslo "text"
To, že přenášená data budou obsahovat jen alfanumerické znaky neznamená, že jde o čitelný text...

19 klaun2 klaun2 | 30. srpna 2016 v 15:03

No, v závislosti na očekávaném obsahu by to s pomocí frekvenční analýzy možná šlo...

Komentáře jsou uzavřeny.


Aktuální články

Reklama