JLABS

Mikrobiologie.Systém.Koncepce

Koncepce systému


Bullet Úvod


Bullet 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.
Bullet 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:
Bullet Souborový server - sdílený síťový disk protokolem SMB
Bullet Print server
Bullet Abstraktní systém styku s ostatními nemocničnímy systémy
Bullet Automatické zálohování
Bullet Databázový server
Bullet Systém zotavení z chybových stavů
Bullet Administrátorský vzdálený přístup

Bullet 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.
Bullet 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.
Bullet 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.
Bullet 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.


Bullet Nedatabázový charakter systému


Bullet 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.
Bullet Vlastní evidence vzorků, vyúčtování apod. jsou složitostí marginální. Zcela dominuje kniha jako taková a nutnost flexibilní práce s ní.
Bullet 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".
Bullet 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é.
Bullet 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.
Bullet Jedná se o cenově přístupný systém, jinak by podobná úroveň bezpečnosti dat vyžadovala řádově dražší operační prostředí.


Bullet Interpretační charakter systému


Bullet 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.
Bullet 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.
Bullet 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.
Bullet 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ů.
Bullet Konfigurační soubory jsou mnoha typů, za zmínku stojí především:
Bullet Číselníky - prosté sekvenční seznamy. Obvykle definují náležitosti jako je seznam laboratoří, uživatelů systému, povolených hodnot apod.
Bullet 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ů.
Bullet 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 ...)
Bullet 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í.
Bullet 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".
Bullet 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.
Bullet 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í.
Bullet 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í.
Bullet 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.


Bullet Grafický subsystém


Bullet 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ů.
Bullet 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.
Bullet 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á.
Bullet 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í.
Bullet 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ě.
Bullet 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.


Bullet Rejstřík kapitoly
Bullet Nadřízená kapitola dokumentace


JLABS Aktualizováno dne 20000623. Komentář: info@jlabs.cz