Koncepce systému Úvod
Software je určen pro práci v laboratorním prostředí, některé jeho komponenty jsou určeny spíše pro výzkumnou
práci a jiné opět pro komunikaci s nemocnicí jako celkem nebo dokonce v širším rámci s lékaři mimo nemocnici.
Proto je systém tvořen řadou aplikací, část z nich je určena k provozu na lokálních PC, část pro změnu
pouze pro provoz v prostředí serveru.
Jádrem systému je server, který je provozován pod operačním systémem Linux a poskytuje satelitním
počítačům mimo jiné tyto služby:
Souborový server - sdílený síťový disk protokolem SMB
Print server
Abstraktní systém styku s ostatními nemocničnímy systémy
Automatické zálohování
Databázový server
Systém zotavení z chybových stavů
Administrátorský vzdálený přístup
Pokročilejší komponenty systému komunikují se serverem resp. s jeho databází v modu klient-server
nebo pomocí specializovaných protokolů a rovněž HTTP.
Vlastní laboratorní aplikace jsou z mnoha důvodů koncipovány pro nativní DOSové prostředí a explicitně
využívají de-facto jenom sdílený disk pro komunikaci s daty i mezi stanicemi.
Pro DOSové úlohy je styk s externími databázemi (registr pacientů,...) zabezpečen speciálním systémem
"Datobotů", což jsou permanentně běžící serverové úlohy, které dokáží komunikovat na jedné straně
s libovolnými systémy (ORACLE,Interbase,Informix,...) a na druhé straně s laboratorními aplikacemi.
Tak je styk kupříkladu s centrálním ORACLEm zabezpečen aniž je nutno na koncové stanice instalovat
ovladače k databázi apod.
Laboratorní systém je možno provozovat i v prostředí Novellské sítě a z důvodů úspornosti a
stability je orientován na co nejmenší nároky na HW i systémový software.
Nedatabázový charakter systému
Vlastní práce s laboratorní knihou je aplikace, která se vymyká z běžného rámce. Nejedná se vůbec
o databázovou aplikaci, ale mnohem spíše o práci se složitým hypertextem. Vznikající data nemají předem
predikovatelný charakter a ani velikost a ani strukturu. To plyne z povahy práce v mikrobiologii, která
se tímto velmi zásadně liší od kupříkladu biochemie.
Vlastní evidence vzorků, vyúčtování apod. jsou složitostí marginální. Zcela dominuje kniha jako taková
a nutnost flexibilní práce s ní.
Teprve až statistické funkce systému připomínají databázové aplikace, ale ty se dostávají k datům až
teprve "učesaným".
Jiným zásadním rysem je to, že pokud má systém ambice nahradit papírovou dokumentaci, musí umožnit
velmi rychlý způsob práce. To samozřejmě vyžaduje velmi efektivní ovládání pomocí kláves - používání
myši je téměř nemožné.
Data zpracovávaná v laboratoři mají svůj horizont existence, během něj se dostanou po ukončení práce
(může být den, ale i mnoho dnů) do definitivní podoby a teprve poté se dostávají do databáze. Do té doby
rezidují (a i poté z důvodů dokumentačních a úplnostních) ve zvláštním fragmentovaném systému dat. Tento
způsob ukládání je vynucen tím, že i malá havárie datového serveru může mít závažné důsledky. Jakmile je miska
s půdou zničena, není jak se k materiálu vrátit. Úplně fragmentární způsob ukládání dat umožňuje zrekonstruovat
velmi detailně data i v případě těžké havárie nebo zničení disku na serveru.
Jedná se o cenově přístupný systém, jinak by podobná úroveň bezpečnosti dat vyžadovala řádově
dražší operační prostředí.
Interpretační charakter systému
Systém obsahuje řadu komponent, které jsou svým způsobem standardní a dobře definované. Například spooler
výsledků. Valná většina komponent systému ale není předem definována, ale jejich chování je důsledkem rozsáhlé
uživatelské konfigurace.
Systém pro registraci vzorků, navigaci v laboratoři a vyúčtování je konfigurován řadou číselníků i odvozovacích
pravidel a jedná se o systém z části interpretační. Jeho chování je de-facto determinováno, tedy stále stejně se
ovládá, produkuje stále stejné obrazovky, ale některé jeho funkce se konfigurují velmi detailně externími soubory.
Vlastní laboratorní mikrobiologická kniha je realizována důsledně interpretačním programem, u kterého jak
vzhled, tak i ovládání a vlastní funkcionalita jsou výsledkem mnoha set konfiguračních souborů. Software tedy
neobsahuje v sobě žádně "zadrátované" mikrobiologické znalosti, ale funguje důsledně jako vykonavatel externě definovaných
pravidel a souborů. Tento přístup umožňuje na uživatelské úrovni provádět konfigurace a změny bez nutnosti
zásahu prográmatorů. Chování každého razítka, nabídky položek, automatické formule pro ohodnocení citlivosti, ale
i formální vzhled generovaných výsledků jsou zcela definovány na uživatelské úrovni.
Zprovoznění systému pro konkrétní instalaci spočívá tedy v editaci řady obyčejných textových souborů,
kterými se detailně popisuje chování systému. Systém je dodáván předkonfigurovaný pro obvyklý stav, součástí
dodávky jsou i specializované programy sloužící ke snadnějšímu návrhu různých konfiguračních souborů.
Konfigurační soubory jsou mnoha typů, za zmínku stojí především:
Číselníky - prosté sekvenční seznamy. Obvykle definují náležitosti jako je seznam laboratoří,
uživatelů systému, povolených hodnot apod.
Mustry - to jsou vzorníky textových souborů a jejich kapitol. Kupříkladu výsledky se důsledně
generují substitucí hodnot do uživatelských mustrů. Vzhled výsledků je pak zcela v rukou uživatelů.
Aliasy - zvláštní seznamy rovnic, kterými se konkrétně interpretuje význam každé hodnoty.
Umožňují používání synonym v různých laboratořích, kde pak je možno stále stejně pojmenovávat
nějakou metodu, ač se jedná o dvě metody subtilně se lišící. Rovněž tak je možno i význam některých
pojmů pomocí aliasů měnit - typicky se to děje na bázi per laboratoř. Takto je možno dosáhnout třebas
rozdílů ve formátu výsledků podle laboratoří, ale i jiného chování knihy v každé laboratoři - s
přizpůsobením laboratoři. (Všude přepokládáme, že mikrobiologické pracoviště je členěno na laboratoře,
které obvykle se zabývají určitou předem definovanou množibou vzorků - ambulancí, ARO, externí klientelou ...)
Vzory úseků - předem definované standardizované zápisy do knihy reprezentující standardní laboratorní
postup, který se odvozuje podle přijatého materiálu a konkrétního požadovaného vyšetření.
Mustry úseků - vzorníky typických a standardních konfigurací knihy ex-ante. Používají se v okamžiku
generování "prázdné / inicální knihy".
Razítka - uživatelsky definované formuláře s velmi sofistikovaným chováním. Reprezentují element
práce na laboratoři a jsou mnoha druhů. Zejména významná jsou razítka na citlivosti. Razítka mají typicky
velmi složitou definici, mají vlastní neprocedurální jazyk, kterým se ovládají nabídky všech položek, jejich
vzájemné vazby, vzhled, barevnost, automatické přepočítávání hodnot a mnoho dalších vlastností. Flexibilita
razítek je hlavní technologickou předností implementace knihy.
Ordinální typy / seznamy. Sáhodlouhé definiční soubory, například sekvence jmen antibiotik. Ta univerzálně
slouží k řazení antibiogramů do jednotného uspořádání.
Orakula - soubory určené k deskriptivnímu přepočítávání hodnot. Umožňují snadnou definici takových
triků, jako je automatické ohodnocení C/I/R podle zadané číselné hodnoty s využitím vlastností antibiotika.
Orakula mohou ovládat také běh kurzoru po razítcích, tedy logiku vyplňování.
Esence - definičních souborů je velmi mnoho a v určité fázi běhu potřebuje kniha mít velmi rychle
informaci o o téměř všech parametrech - třebas zjednodušenou. Esence jsou zjednodušené podoby konfigurace
nebo celé množiny souborů, které kniha používá až do doby, kdy potřebuje skutečně detailní informaci.
Takže dokud kniha kreslí razítka v základní neexpandované podobě, vystačí si s esenciální podobou, teprve
když se razítko vyplňuje, načítá kniha just-in-time detailní konfiguraci. Tento přístup umožňuje dosáhnout
velké rychlosti odezvy s minimálním zdržením při startu. Kniha se konfiguruje za běhu sama tak, jak některé
konfigurační soubory potřebuje. Využívá toho, že z mnoha set konfiguračních souborů potřebuje každý konkrétní
zápis jenom pár procent.
Grafický subsystém
Vlastní kniha využívá velmi sofistikovaných postupů k tomu, aby stíhala v reálném čase zobrazovat
interpretované údaje. Každý znak ze základního rastru 80x25 nebo 80x43 je definován dosti složitým způsobem
na základě aktuálního stavu zápisu a práce s ním. Navíc musí být schopna řešit netriviální vazby mezi
zobrazovanými objekty, které mohou být některé nepohyblivé a jiné naopak mohou být relativní a tudíž pohyblivé.
Enumerace na obrazovce je také výsledkem dynamických výpočtů.
Z těchto důvodů také dostal přednost systém orientovaný semigraficky, protože s výjimkou špičkového HW
by pixelové zobrazení běžná PC nedokázala zvládnout.
Organizace datových struktur, distribuce dat mezi RAM a pevný disk a také složitost interpretací jsou
velmi pečlivě definovány tak, aby každá elementární operace (vyvolání nabídky, otisk razítka, posun) byla
zvládnutelná za dobu, která se operátorovi jeví vždy jako nevnímatelná.
Z těchto důvodů systém používá předkompilaci datových struktur do binární podoby všude, kde to jde.
Uživatele se to netýká - pouze například při definici razítek se skrytě provádí vždy jejich kompilace.
malé zdržení v design-time se projeví dramatickým zrychlením aplikací.
Referenčním počítačem pro laboratoř je CPU i486/33, RAM 4MB a 1MB grafická karta S3. Stanice může být
diskless a pracovní i datové soubory mohou být na 10Mbit síti LAN. Novější a modernější HW se samozřejmě chová
patřičně rychleji. Nicméně je software koncipován tak, aby byl plně funkční i v této sestavě.
V prostředí laboratoře navíc často slabší HW je spíše výhrou - není pak používán k jiným nevhodným účelům.
Rejstřík kapitoly Nadřízená kapitola dokumentace