JLABS Kontrola infekcí - exportní a importní formáty

Agenda kontroly infekcí používá standardní exportní a importní formáty v podobě pojmenovaných rovnic. Tato metoda neanticipuje ani rozsah a ani datový typ a rovněž nevyžaduje předávání položek, u kterých hodnota není definována, známe nebo které partnerský systém vůbec nijak neeviduje.

Forma výměny informací je textový soubor s řádky ukončenými znaky CRLF a v kódování českých znaků ve stránce Cp1250. Soubory jsou ukládány na //server/ki/data/wayin pro případ importu do naší agendy a na //server/ki/data/wayout pro případ exportu.

Jednotlivé záznamy jsou v souborech reprezentovány sekvencí rovnic tvaru Jmeno=Hodnota. Jmeno je jméno položky podle našeho datového modelu (viz samostatná stránka o něm). Jméno je case insensitive a nesmí obsahovat znaky s diakritikou, rovněž ne mezery nebo jiné nevhodné znaky. Je to vlastně jméno databázové položky a musí splňovat podmínky na jména kladená. Hodnota je jakákoli sekvence znaků. Konce řádků jsou zakódovány sekvencí "\n", podobně tabulátory pomocí "\t" apod. Délka dat na pravé straně není omezena, jsou-li data delší než systém povoluje, jsou odříznuta na maximální délku.

Oddělovačem záznamů je řádek obsahující s výjimkou CRLF jenom znak ".".

Systém si všímá pouze souborů s příponou .equ - toho je potřeba využít tehdy, kdy importní soubor vzniká nějakou netriviální dobu. Tu je potřeba jej vytvořit pod provizorním jménem a teprve následně přejmenovat, až když je hotov. Tím se zabrání nechtěnnému zpracování souboru, který ještě není dogenerován.

Systém je schopen importovat de-facto jakékoli údaje v uvedeném formátu, exportovat pak všechny bez výjimky. Pro potřeby automatického importu je vždy potřeba zvážit, jaká data je a jaká není možno importovat. Primárně se jedná například o import pozitivních hemokultur.

Záznamy o datech nemusí být kompletní - z velmi širokého výčtu položek v tabulce RutinniPrehled je možno využít alespoň jakési povinné minimum podle povahy partnerského systému.

Dynamické rozhraní. Systém je schopen dynamicky vyvolávat partnerské informační systémy. To se může například hodit k zobrazení výsledků z nějaké cizorodé databáze apod. Předpokládá se následující způsob volání: Volající, tedy náš systém, vytvoří v pomocném adresáři (C:/tmp nebo podobném) soubor obsahující ve výše popsaném formátu dump aktuálně zobrazeného záznamu dat. Typicky tedy zápis o pacientovi nebo vyšetření apod. Následně zavolá smluvený dávkový soubor (s příonou .bat). Uvnitř tohoto souboru pak může uživatel již nezásvisle provést analýzu předaných dat i volání vhodné aplikace.

Příklad importního souboru:


    Prijmeni=Novák
    Jmeno=Aleš
    CentralId=121134
    RC=510103124
    Material=krev
    Vysetreni=AER
    .
    Prijmeni=Nováková
    Jmeno=Alice
    CentralId=121136
    RC=520103124
    Material=krev
    Vysetreni=ANAER
    .

Pro případ importu údajů z různých informačních systémů je dobře vědět, že formát pouze technicky umožní akceptování dat. U různorodých systémů ale nemusí být srovnatelný datový obsah a ani jeho formalizace. Ne nutně tedy musí dávat pro oba systémy smysl hovořit o tom, že zpracovaný materiál je roven "krev". Pojem materiál nemusí mít stejný význam, zkratka "krev" také nemusí nutně označovat biologický materiál krev.


Bullet Index
JLABS Aktualizováno dne 20041019. Komentář: info@jlabs.cz