Databázové a informační systémy Blood Data Bank Informační systém krevních bank (semestrální projekt)



Podobné dokumenty
Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

Informační systém pro nemocnici

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

Nemocnice. Prvotní analýza a plán projektu

IS Autopůjčovna VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

OrtoProtet program pro evidenci zakázek, fakturace, evidenci pacientů, evidenci pracovníků a dalších níže uvedených operací pro ortopedické protetiky

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

Informační systém webhostingu

INFORMAČNÍ SYSTÉM PRODEJ LÍSTKŮ DO DIVADLA

Analýza IS autoservisu:

Registr IKTA. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Personální evidence zaměstnanců

Zahájit skenování ze skla tiskárny nebo z automatického podavače dokumentů (ADF). Přistupovat k souborům se skeny uloženým v poštovní schránce.

Questionnaire příručka uživatele

Elektronická zdravotní karta

Univerzální rezervační systém. Uživatelská příručka

Sběr informačních povinností regulovaných subjektů. Návod na instalaci certifikátů a nastavení prohlížeče. Verze: 2.1

Stručná instalační příručka SUSE Linux Enterprise Server 11

Návod pro užívání systému CRemko

České vysoké učení technické, Fakulta elektrotechnická Úvodní studie semestrálního projektu z X36SIN

Systém pro online rozhovory

Motorola Phone Tools. Začínáme

Analýza Redakční systém blogu (ADA274, BYS037, RAB020, SIV021)

Zápis o utkání z pohledu rozhodčího - krok za krokem

Jednoduchý návod k použití programu Vinotéka 2006, v 2.0

Portál Značení tabáku Uživatelská příručka pro registrované uživatele

P D S - 5 P. Psychologický diagnostický systém. Instalační manuál. Popis instalace a odinstalace programu Popis instalace USB driverů

Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1

Zahájit skenování ze skla tiskárny nebo z automatického podavače dokumentů (ADF). Přistupovat k souborům se skeny uloženým v poštovní schránce.

BRICSCAD V15. Licencování

Výtisk č.: Počet listů 19. Přílohy: 0 ÚZIS ČR. Role žadatel - postup

Jazz pro Účetní (export) Příručka uživatele

SEMESTRÁLNÍ PRÁCE. z předmětu KIV/DB1

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Sísyfos Systém evidence činností

FUNKČNÍ KONCEPT WEBOVÉHO ROZHRANÍ PRO ZPRACOVÁNÍ ENTIT

DATABÁZE MS ACCESS 2010

Školící dokumentace administrátorů IS KRIZKOM (úroveň ÚSÚ) role ( administrátor )

OBJEDNÁVÁNÍ DÁRCŮ KRVE PŘES INTERNET Naděžda Kalužová, Zdeněk Slanina

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

IS Veřejná databáze filmů

Semestrální práce 2 znakový strom

Konfigurace pracovní stanice pro ISOP-Centrum verze

Úvod do databázových systémů 2012/2013 IS MHD. Jiří Znoj zno

Návod k nastavení uvolnění tisku

INZERTNÍ SERVER VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY. (semestrální projekt) ZS

INSTALAČNÍ POSTUP PRO APLIKACI ELIŠKA 4

Gluco Diary Elektronický diář měření krevní glukózy

Nápověda. Hlavní strana Menu aplikace. Informace o hřbitově Menu na stránce Hřbitov

Prohlížení a editace externích předmětů

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Informační Systém pro Psychiatrii HIPPO

Administrátorská příručka

Uživatelský manuál. Verze Tel: , sales@ictb.cz, WWW:

Elektronické pacientské dotazníky v ezprávě

Sázková kancelář Z pekla štěstí

Návod pro tisk dokumentů na VŠPJ. Vysoká škola polytechnická Jihlava

Zapnutí a vypnutí počítače

Návod pro uživatele DS150E. Dangerfield May 2009 V3.0 Delphi PSS

Už ivatelska dokumentace

INFORMAČNÍ SYSTÉM AUTOBAZARU S INZERČNÍM SYSTÉMEM A RECENZEMI AUTOMOBILŮ

1. ESO9 MAJETEK ZÁKLADNÍ VLASTNOSTI DOPORUČENÝ HW... 3

BALISTICKÝ MĚŘICÍ SYSTÉM

Aktivace poskytování naměřených dat v Distribučním portále pro další osobu

PŘÍSTUP DO PORTÁLU NAMĚŘENÝCH DAT DALŠÍM OSOBÁM

Uživatelský manuál. Verze Tel: , sales@ictb.cz, WWW:

WebLIMS. Kuk do laboratoře

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

Pravidla a plánování

Obslužný software. PAP ISO 9001

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Instalace programu ProGEO

Athena Uživatelská dokumentace v

EQAS Online. DNY kontroly kvality a speciálních metod HPLC, Lednice

Opravy a prodej. Uživatelská příručka. Milan Hradecký.

Evidence žádostí o finanční příspěvek

Uživatelská příručka

Tabletová aplikace. Uživatelský manuál

Manuál. Omluvenky online

Standardní operační postup (SOP) ČNRDD/M01/verze03. Práce s databází RDKD

Dentist+ nové generace. Začínáme s programem

Příručka pro editaci kontaktů na eagri

Patrol Management System 2.0

INSTALAČNÍ MANUÁL. TME gadget

Novinky. Autodesk Vault helpdesk.graitec.cz,

Část 1 - Začínáme. Instalace

Revize majetku. Dovývoj je vytvořen jako součást DELPHI Pluginu a může být přidán do jakékoliv existující knihovny. (pokud existují zdrojové kódy)

Access. Tabulky. Vytvoření tabulky

Práce s programem MPVaK

UŽIVATELSKÝ MANUÁL. pro 485COM FW 2.x (MODBUS)

Uživatelská příručka epusa. Březen Brojova 16, Plzeň IČO: , DIČ: CZ ,

Návod na instalaci a použití programu

Tisk dokumentů na VŠPJ

Příručka pro použití portálu Klikni a daruj pro dárce

Informační systém pro zubaře a pacienty Uživatelská příručka

Modul IRZ návod k použití

1 Tabulky Příklad 3 Access 2010

Technologické postupy práce s aktovkou IS MPP

Transkript:

Vysoká škola báňská technická univerzita Ostrava Databázové a informační systémy Blood Data Bank Informační systém krevních bank (semestrální projekt) Václav Bašniar, BAS064

1 Zadání Proč? Nemocniční zařízení potřebují evidenci uskladněné krve, evidenci dárců schopných darovat krev, evidenci pacientů potřebujících transfúzi atp. S IS mohou potřebné údaje získat v relativně krátkém čase. K čemu? Lékaři potřebují mít přehled nad aplikací krve. Určují komu a kdy bude krev aplikována. Lékařští pracovníci potřebují evidenci krevních konzerv, aby v případě akutní transfúze mohli rychle získat informace o objemech dostupné krve a případně kontaktovat možné dárce. Je potřeba mít informace o tom jestli je krve dostatek, zda-li není třeba v dohledné době získat větší počet dárců. Lékařští pracovníci musí určit, zda-li krev v krevní konzervě nenese zárodky nemocí, či už neuběhla doba její životsti, aby mohla být krevní konzerva označena k likvidaci. Lékařští pracovníci musí určit jestli je dárce schopen darovat krev pomocí zaevidovaných údajů o dárci. Je potřeba znát kolik je u transfúzních stanic evidová dárců. U každého z dárců i pacientů je třeba znát jakou má krevní skupinu a RhD faktor. Neziskové organizace chtějí znát statistické informace, aby mohly organizovat informační kampaně či odměňovat aktivní dárce. Kdo? Lékařští pracovníci zápis, úprava, mazání a získávání dat Lékaři zápis vých pacientů, mazání starých, získávání informací Neziskové organizace statistické údaje Vstupy U transfúzní stanice evidujeme její jedznačné číslo, adresu, datum registrace, telefon a e- mail. U dárce evidujeme jeho jedznačné číslo dárce, jeho jmé, příjmení, pohlaví, adresu, rodné číslo, číslo pojišťovny, u které je registrován, jedznačné číslo stanice, u které je registrován, datum registrace dárce u této stanice, jeho krevní skupinu, RhD faktor, zda-li byla u dárce zjištěna nemoc přesitelná krví a zda-li je dárce aktivní. U pacienta evidujeme jeho jedznačné číslo, jmé, příjmení, pohlaví, adresu, rodné číslo, číslo pojišťovny, u které je registrován, krevní skupinu a RhD faktor. U lékařského pracovníka evidujeme jeho jedznačné číslo, jmé, příjmení, jedznačné číslo stanice, u které pracuje a zda-li je ještě u této stanice zaměstnán. U transfúze evidujeme jedznačné číslo transfúze, jedznačné číslo krevní konzervy, která byla aplikována, jedznačné číslo pacienta, na kterého byla aplikována, jedznačné číslo lékařského pracovníka, který provedl transfúzi, datum a čas transfúze a důvod provedení transfúze. U krevní konzervy evidujeme její jedznačné číslo, jedznačné číslo dárce, jedznačné číslo lékařského pracovníka, který provedl odběr, datum a čas odběru, objem odebrané krve v konzervě, jedtku objemu odebrané krve v konzervě, zda-li se jedná o vzorek a jestli je určena k likvidaci, případně kdy k likvidaci došlo. U každého dárce uvádíme, u které stanice je registrován. U stanice může být registrován libovolný počet dárců, i žádný, ale dárce musí být registrován právě u jedné stanice. U každého lékařského pracovníka uvádíme stanici, kde pracuje. U stanice může pracovat libovolný počet lékařských pracovníků, i žádný, ale lékařský pracovník musí pracovat právě u jedné

stanice. U každé transfúze uvádíme která krevní konzerva byla použita. Při každé transfúzi musí být použita alespoň jedna krevní konzerva a každá konzerva může být použita právě k jedné transfúzi. U každé transfúze dále uvádíme který lékařský pracovník transfúzi provedl. Transfúzi musí provést právě jeden lékařský pracovník, ale lékařský pracovník může provést více transfúzi, i žádu. U každé transfúze dále uvádíme který pacient transfúzi přijal. Pacient může přijmout libovolný počet transfúzí, i žádu, ale transfúze musí být přijata právě jedním pacientem. U každé krevní konzervy uvádíme dárce krve. Dárce může darovat libovolný počet krevních konzerv, i žádu, ale každá krevní konzerva musí být darována pouze jedním dárcem. U každé krevní konzervy dále uvádíme lékařského pracovníka, který krev odebral. Lékařský pracovník může naplnit libovolný počet krevních konzerv, i žádu, ale krevní konzerva musí být naplněna právě jedním lékařským pracovníkem. Výstupy Měsíční inventura krve (stáří krevních konzerv (v týdnech čí měsících), krevní skupina, RhD faktor, objem) Etiketa krevní konzervy (id konzervy, krevní skupina, RhD faktor, datum a čas odběru, objem, id dárce, id stanice, id pracovníka) Doklad o provedené transfúzi (datum a čas provedené transfúze, id konzervy, informace o pacientovi) Statistické údaje o dárci (objem darované krve) Funkce událost reakce aktér vý dárce zapíše vého dárce lékařský pracovník vá krevní konzerva zapíše vou krevní konzervu lékařský pracovník aktivace/deaktivace dárce nastaví jeaktivni u Darce lékařský pracovník zrušení dárce odstraní dárce lékařský pracovník likvidace krevní konzervy nastaví likvidace u Krevni_konzerva lékařský pracovník získej pacienta konec dne získá informace o zadaném pacientovi z IS evidujícího pacienty nastaví likvidace = true u všech konzerv s prošlou dobou použitelsti, odstraní všechny konzervy zlikvidované déle než před měsícem, získá informace o vých lék. pracovnících z IS evidujícího lék. pracovníky lékařský pracovník, lékař IS

Okolí IS evidence pacientů Dárce Lékařský pracovník BLOOD - DATA - BANK Lékař Úředník Kresba 1: Kontextový diagram IS evidence lék. pracovníků Nefunkční požadavky Tento IS by měl být rychlý, nenáročný a uživatelsky přívětivý, dále by měl umět zpracovat přístup pro více uživatelů najedu s možstí čtení i zápisu. Měl by být používán pouze v rámci interní sítě nemocničních zařízení, bez přístupu neoprávněných osob. Informační systém bude implementován v jazyce JAVA pomocí JDBC nad SŘBD MySql. Systém by měl umět spolupracovat s již existujícími systémy evidujícími pacienty a lékařské pracovníky, ze kterých bude informační systém získávat informace o pacientech a lékařských pracovnících.

2 Datová analýza ER diagram Kresba 2: ER diagram Lineární zápis typů entit Primární klíč, cizí klíč Transfuzni_stanice (id_stanice, nazev_stanice, ulice_cp_stanice, mesto_stanice, stat_stanice, psc_stanice, datum_registrace_stanice, telefon_stanice, e-mail_stanice) Darce (id_darce, jme_darce, prijmeni_darce, pohlavi_darce, ulice_cp_darce, mesto_darce, stat_darce, psc_darce, rodne_cislo_darce, cislo_pojistovny_darce, telefon_darce, krevni_skupina_darce, rhd_faktor_darce, nemoc, id_stanice, datum_registrace_darce, jeaktivni) Pacient (id_pacienta, jme_pacienta, prijmeni_pacienta, pohlavi_pacienta, ulice_cp_pacienta, mesto_pacienta, stat_pacienta, psc_pacienta, rodne_cislo_pacienta, cislo_pojistovny_pacienta, telefon_pacienta, krevni_skupina_pacienta, rhd_faktor_pacienta) Lekarsky_pracovník (id_pracovnika, id_stanice, jme_pracovnika, prijmeni_pracovnika, jezamestnan) Krevni_konzerva (id_konzervy, id_darce, id_pracovnika, id_transfuze, datum_odberu, cas_odberu, objem, vzorek, likvidace, datum_likvidace) Transfuze (id_transfuze, id_pacienta, id_pracovnika, datum_transfuze, cas_transfuze, duvod_transfuze) Lineární zápis typů vztahů JE_REGISTROVAN (Darce, Transfuzni_stanice) N:1 POSKYTUJE (Darce, Krevni_konzerva) 1:N PRACUJE (Lekarsky_pracovnik, Transfuzni_stanice) N:1 PROVADI (Lekarsky_pracovnik, Transfuze) 1:N JE_POUZITA (Krevni_konzerva, Transfuze) N:1 JE_POSKYTNUTA (Transfuze, Pacient) N:1

Datový slovník Transfuzni_stanice name type size key null index IO id_stanice int 10 yes yes unikátní klíč nazev_stanice char 20 yes ulice_cp_stanice char 20 mesto_stanice char 20 stat_stanice char 3 třimístný kód země psc_stanice int 5 datum_registrace_stanice date 10 yes DD.MM.YYYY telefon_stanice text 20 yes číslice a znaky +, -, / e-mail_stanice char 50 yes xx...x@xx...x.xx Darce name type size key null index IO id_darce int 15 yes yes generovaný klíč z RČ jme_darce char 20 prijmeni_darce char 20 yes pohlavi_darce char 1 m muž, f - žena ulice_cp_darce char 20 mesto_darce char 20 stat_darce char 3 třímístný kód země psc_darce int 5 rodne_cislo_darce char 11 XXXXXX/XXXX cislo_pojistovny_darce int 3 telefon_darce text 20 yes číslice a znaky +, -, / krevni_skupina_darce char 2 yes A, B, AB, 0 rhd_faktor_darce char 1 yes P pozitivní, N negativní nemoc text 255 yes id_stanice int 10 yes yes cizí klíč, z tabulky Stanice datum_registrace_darce date 10 yes DD.MM.YYYY jeaktivni bool 1 Pacient name type size key null index IO id_pacienta int 15 yes yes generovaný klíč z RČ jme_pacienta char 20

prijmeni_pacienta char 20 yes pohlavi_pacienta char 1 m muž, f - žena ulice_cp_pacienta char 20 mesto_pacienta char 20 stat_pacienta char 3 třímístný kód země psc_pacienta int 5 rodne_cislo_pacienta char 11 XXXXXX/XXXX cislo_pojistovny_pacienta int 3 krevni_skupina_pacienta char 2 yes A, B, AB, 0 rhd_faktor_pacienta char 1 yes P pozitivní, N negativní Lekarsky_pracovnik name type size key null index IO id_pracovnika int 10 yes yes generovaný inkrementální klíč id_stanice int 10 yes yes yes cizí klíč, z tabulky Stanice jme_pracovnika char 20 prijmeni_pracovnika char 20 yes jezamestnan bool 1 Krevni_konzerva name type size key null index IO id_konzervy int 10 yes yes generovaný inkrementální klíč id_darce int 10 yes yes cizí klíč, z tabulky Darce id_pracovnika int 10 yes yes cizí klíč, z tabulky Lekarsky_pracovnik id_transfuze int 10 yes yes yes cizí klíč, z tabulky Transfuze datum_odberu date 10 yes DD.MM.YYYY cas_odberu char 5 hh:mm, 24h formát objem real 6.2 v mililitrech vzorek bool 1 likvidace bool 1 datum_likvidace date 10 yes DD.MM.YYYY

Transfuze name type size key null index IO id_transfuze int 10 yes yes generovaný inkrementální klíč id_pacienta int 10 yes yes cizí klíč, z tabulky Pacient id_pracovnika int 10 yes yes yes cizí klíč, z tabulky Lekarsky_pracovnik datum_transfuze date 10 yes yes DD.MM.YYYY cas_transfuze char 5 yes hh:mm, 24h formát duvod_transfuze text 255 yes Klíč univerzálního schématu Klíčem univerzálního schématu bude id_konzervy. Normální formy Tabulky Pacient a Darce jsou v 3.NF, ostatní jsou v BCNF.

3 Funkční analýza DF diagramy 0. úroveň IS evidence pacientů Lékař 2 evidence transfúzních stanic Úředník Lékařský pracovník 1 evidence přesu krve Lék. prac. Dárce 3 evidence lékařských pracovníků IS evidence lék. pracovníků 1. úroveň Lékař 1. evidence přesu krve Lék. prac. 1.1. Evidence krve Krevní konz. Dárci Pacienti IS evidence pacientů 1.2. Evidence dárců a pacientů Dárce Lékařský pracovník

2. evidence transfúzních stanic Úředník 2.1. Nová stanice Transf. st. 2.2. Editace stanice transf.st. 2.3. Přidání lék. prac. stanici Lék. prac. 2.4. Odebrání lék. prac. stanici 3. evidence lékařských pracovníků IS evidence lék. pracovníků lekar_prac aktual_lekar_prac 3.1. Přidání lékař. prac. z IS Lék. prac. 3.2. Aktualizace lékař. prac. 3.2. Odstranění lékař. prac.

2. úroveň Lékařský pracovník 1.1. evidence krve IS evidence pacientů Pacienti 1.1.1. Evidence transfúzí Krevní konz. 1.1.2. Evidence krevních konzerv Lék. prac. Dárci Lékař Lékařský pracovník 1.2. evidence dárců a pacientů 1.2.1. Evidence dárců Dárce Krevní konz. 1.2.2. Evidence pacientů Dárci Pacienti IS evidence pacientů

3. úroveň 1.1.1. evidence transfúzí Lékařský pracovník 1.1.1.1. Provedení transfúze zapis_id_transf lek.prac. zapis_transf pacienti Krevní konz. Lék. prac. IS evidence pacientů Transfúze Pacienti 1.1.1.2. Kontrola transfúze ziskej_id_pac Lékař ziskej_id_dar 1.1.1.3. Odstranění transfúze Dárci 1.1.2. evidence krevních konzerv darci Dárci Lékařský pracovník 1.1.2.1. Nová krevní konzerva lek.prac Lék. prac. 1.1.2.2. Kontrola krevní konzervy krevni konz. likvidace Krevní konz. 1.1.2.3. Likvidace krevní konzervy Lékař 1.1.2.4. Odstranění krevní konzervy

1.2.1. evidence dárců darce Dárce Lékařský pracovník 1.2.1.1. Nový dárce 1.2.1.2. Editace dárce Dárci 1.2.1.3. Kontrola dárce 1.2.1.4. Odstranění dárce ziskej_id_kk Krevní konz. 1.2.2. evidence pacientů Lékařský pracovník 1.2.2.1. Získání pacienta z IS pacient 1.2.2.2. Aktualizace pacienta Pacienti IS evidence pacientů aktual_pacienti 1.2.2.3. Kontrola pacienta 1.2.2.4. Odstranění pacienta

Datové toky lekar_prac aktual_lekar_prac zapis_id_transf zapis_transf ziskej_id_pac ziskej_id_dar likvidace darce ziskej_id_kk pacient aktual_pacient (id_pracovnika, jme_pracovnika, prijmeni_pracovnika) (id_pracovnika, id_stanice, jme_pracovnika, prijmeni_pracovnika, jezamestnan) (id_transfuze) (id_transfuze, id_pacienta, datum_transfuze, cas_transfuze, duvod_transfuze) (id_pacienta) (id_darce) (likvidace, datum_likvidace) (id_darce, jme_darce, prijmeni_darce, pohlavi_darce, ulice_cp_darce, mesto_darce, stat_darce, psc_darce, rodne_cislo_darce, cislo_pojistovny_darce, telefon_darce, krevni_skupina_darce, rhd_faktor_darce, nemoc, id_stanice, datum_registrace_darce, jeaktivni) (id_krevni_konzervy) (id_pacienta, jme_pacienta, prijmeni_pacienta, pohlavi_pacienta, ulice_cp_pacienta, mesto_pacienta, stat_pacienta, psc_pacienta, rodne_cislo_pacienta, cislo_pojistovny_pacienta, telefon_pacienta, krevni_skupina_pacienta, rhd_faktor_pacienta) (id_pacienta, jme_pacienta, prijmeni_pacienta, ulice_cp_pacienta, mesto_pacienta, stat_pacienta, psc_pacienta, rodne_cislo_pacienta, cislo_pojistovny_pacienta, telefon_pacienta) Minispecifikace 1.1.1.1. Provedení transfúze Lékařský pracovník zapis_id_transf Krevní konz. 1.1.1.1. Provedení transfúze lek.prac. Lék. prac. Lékař Transfúze pacienti zapis_transf Pacienti IS evidence pacientů 1. Generuj vé jedznačné číslo transfúze do p.id_transfuze 2. Zobraz formulář Transfúze 3. Uživatel vybere z paměti Pacienti pacienta do p.id_pacienta (pacienti) 4. Uživatel vybere z paměti Lék.prac. Lékařského pracovníka do p.id_pracovnika (lek.prac) 5. Pro každou použitou krevní konzervu proveď 5.1. Uživatel zadá id_konzervy do p.id_konzervy 5.2. Uprav v paměti Krevní.konz záznam s klíčem p.id_konzervy: id_transfuze = p.id_transfuze (zapis_id_transf)

6. Doplň aktuální datum do p.datum_transfuze 7. Uživatel zadá čas začátku podávání transfúze do p.cas_transfuze 8. Uživatel zapíše důvod transfúze do p.duvod_transfuze 9. Ulož p.id_transfuze, p.id_pracovnika, p.id_pacienta, p.datum_transfuze, p.cas_transfuze, p.duvod_transfuze do paměti Transfúze 10. Odešli p.id_transfuze, p.id_pacienta, p.datum_transfuze, p.cas_transfuze, p.duvod_transfuze do IS evidence pacientů (zapis_transf) 1.1.2.1. Nová krevní konzerva Lékařský pracovník Krevní konz. 1.1.2.1. Nová krevní konzerva darci lek.prac Dárci Lék. prac. 1. Generuj vé jedznačné číslo krevní konzervy do p.id_konzervy 2. Zobraz formulář Krevní konzerva 3. Uživatel vybere z paměti Dárci dárce do p.id_darce (darci) 4. Uživatel vybere z paměti Lék.prac. lékařského pracovníka do p.id_pracovnika (lek.prac) 5. Uživatel zadá datum odběru do p.datum_odberu 6. Uživatel zadá čas odběru do p.cas_odberu 7. Uživatel zadá objem v ml do p.objem 8. Uživatel zadá true/false do p.vzorek 9. Uživatel zadá true/false do p.likvidace 10. Pokud uživatel nezadá datum do p.datum_likvidace pak: Ulož null do p.datum_likvidace 11. Ulož p.id_konzervy, p.id_darce, p.id_pracovnika, p.id_transfuze, p.datum_odberu, p.cas_odberu, p.objem, p.vzorek, p.likvidace, p.datum_likvidace do paměti Krevní konz. 1.1.1.3. Odstranění transfúze Lékařský pracovník ziskej_id_pac Pacienti 1.1.1.3. Odstranění transfúze ziskej_id_dar Lékař Dárci Transfúze 1. Zobraz formulář Odstranění transfúze 2. Uživatel zadá id_transfuze do p.id_transfuze 3. Pokud uživatel vybere možst Odstranit záznam pak: 3.1. Načti z paměti Transfúze záznam s klíčem p.id_transfuze: p.id_pacienta = id_pacienta p.id_darce = id_darce 3.2. Pokud najdeš v paměti Pacienti záznam s klíčem p.id_pacienta pak ulož true do p.pacient_existuje

3.3. Pokud najdeš v paměti Dárci záznam s klíčem p.id_dárce pak ulož true do p.dárce_existuje 3.4. Pokud p.pacient_existuje = true a nebo p.dárce_existuje = true pak jdi na 4., jinak označ záznam v paměti Transfúze s klíčem p.id_transfuze za neplatný Jinak pokud vybere možst Odstranit vše: 3.5. Pro každý záznam v paměti Transfúze proveď kroky 3.1. až 3.4. 4. Vypiš na obrazovku: Záznam nelze odstranit.

4 Časová analýza Stavové diagramy (STD) naplnění konzervy Nová konzerva vý záznam vzorek = false skladování Skladována aplikace id_transfuze = t.id_transfuze Aplikována vzorek = true testování zkažená likvidace = true použitá Testována otestovaná likvidace = true K likvidaci zlikvidovaná likvidace = true datum_likvidace = CURDATE() Zlikvidována odstraněna zrušení záznamu

registrace dárce vý záznam Nový dárce Deaktivován první odběr dlouhodobě nečinný jeaktivni = false jeaktivni = true Aktivován zaznamenán odběr jeaktivni = true rozpoznaná nemoc jeaktivni = false nemoc = nemoc S nemocí dlouhodobě deaktivovaný id_stanice = null Odhlášen dlouhodobá nečinst id_stanice = null čištění systému zrušení záznamu

5 Indexová analýza Datový slovník pro indexovou analýzu Transfuzni_stanice name index type explanation id_stanice yes udržovaný spojování s tabulkou Lekarsky_pracovnik spojování s tabulkou Darce nazev_stanice yes udržovaný časté vyhledávání dle názvu stanice ulice_cp_stanice mesto_stanice yes udržovaný časté vyhledávání stanic v určitém městě stat_stanice psc_stanice datum_registrace_stanice telefon_stanice e-mail_stanice Darce name index type explanation id_darce yes udržovaný spojování s tabulkou Krevni_konzerva jme_darce prijmeni_darce yes udržovaný časté vyhledávání dle příjmení dárce pohlavi_darce ulice_cp_darce mesto_darce yes dočasný měsíční statistika o počtu dárců stat_darce psc_darce rodne_cislo_darce cislo_pojistovny_darce telefon_darce krevni_skupina_darce yes udržovaný časté vyhledávání dle krevní skupiny rhd_faktor_darce yes udržovaný časté vyhledávání dle RHd faktoru nemoc id_stanice datum_registrace_darce jeaktivni

Pacient name index type explanation id_pacienta yes udržovaný spojování s tabulkou Transfuze jme_pacienta prijmeni_pacienta yes udržovaný časté vyhledávání dle příjmení pacienta pohlavi_pacienta ulice_cp_pacienta mesto_pacienta stat_pacienta psc_pacienta rodne_cislo_pacienta yes udržovaný časté vyhledávání dle r.č. pacienta cislo_pojistovny_pacienta krevni_skupina_pacienta rhd_faktor_pacienta Lekarsky_pracovnik name index type explanation id_pracovnika yes udržovaný spojování s tabulkou Transfuze spojování s tabulkou Krevni_konzerva id_stanice jme_pracovnika prijmeni_pracovnika yes udržovaný časté vyhledávání dle příjmení lékařského pracovníka jezamestnan Krevni_konzerva name index type explanation id_konzervy yes udržovaný časté vyhledávání dle id konzervy spojování s tabulkou Transfuze id_darce yes dočasný měsíční statistika id_pracovnika yes dočasný měsíční statistika id_transfuze datum_odberu yes dočasný periodická kontrola životsti krevní konzervy cas_odberu objem vzorek likvidace datum_likvidace

Transfuze name index type explanation id_transfuze id_pacienta yes dočasný periodická kontrola id_pracovnika datum_transfuze yes dočasný periodická kontrola cas_transfuze duvod_transfuze

6 Transakční analýza 1.1.1.1. Provedení transfúze 1. Generuj vé jedznačné číslo transfúze do p.id_transfuze 2. Zobraz formulář Transfúze LS (Pacient) 3. Zobraz seznam pacientů z Pacient (pacienti) UN (Pacient) 4. Uživatel vybere pacienta 5. Ulož id_pacienta do p.id_pacienta LS (Lekarsky_pracovnik) 6. Zobraz seznam lékařského pracovníků z Lekarsky_pracovnik (lek.prac) UN (Lekarsky_pracovnik) 7. Uživatel vybere lékařského pracovníka 8. Ulož id_pracovnika do p.id_pracovnika LS (Lekarsky_pracovnik) 9. Zobraz seznam krevních konzerv z Krevni_konzerva UN (Lekarsky_pracovnik) 10. Uživatel vybere krevní konzervy 11. Ulož id_konzervy vybraných konzerv do pole begin transaction 12. Pro každý prvek v poli p.id_konzerv proveď: LX (záznam s p.id_konzervy v Krevni_konzerva) 12.2. Uprav v paměti Krevní.konz záznam s klíčem p.id_konzervy: id_transfuze = p.id_transfuze (zapis_id_transf) UN (záznam s p.id_konzervy v Krevni_konzerva) 12.3. Konec cyklu end transaction 13. Doplň aktuální datum do p.datum_transfuze 14. Uživatel zadá čas začátku podávání transfúze do p.cas_transfuze 15. Uživatel zapíše důvod transfúze do p.duvod_transfuze LX (Transfuze) 16. Ulož p.id_transfuze, p.id_pracovnika, p.id_pacienta, p.datum_transfuze, p.cas_transfuze, p.duvod_transfuze do paměti Transfúze UN (Transfuze) 17. Odešli p.id_transfuze, p.id_pacienta, p.datum_transfuze, p.cas_transfuze, p.duvod_transfuze do IS evidence pacientů (zapis_transf)

1.1.1.3. Odstranění transfúze 1. Zobraz formulář Odstranění transfúze LS (Transfuze) 2. Zobraz seznam transfúzí z Transfuze UN (Transfuze) 3. Uživatel zadá vybere transfúzi 4. Ulož id_transfuze do p.id_transfuze 5. Pokud uživatel vybere možst Odstranit záznam pak: begin transaction LX (záznam s p.id_pacienta a p.id_darce v Transfuze) 6.1. Načti z paměti Transfúze záznam s klíčem p.id_transfuze: p.id_pacienta = id_pacienta p.id_darce = id_darce LS (záznam s p.id_pacienta v Pacient) 6.2. Pokud najdeš v paměti Pacienti záznam s klíčem p.id_pacienta pak ulož true do p.pacient_existuje LS (záznam s p.id_darce v Darce) 6.3. Pokud najdeš v paměti Dárci záznam s klíčem p.id_dárce pak ulož true do p.dárce_existuje UN (záznam s p.id_darce v Darce) UN (záznam s p.id_pacienta v Pacient) 6.4. Pokud p.pacient_existuje = true a nebo p.dárce_existuje = true pak jdi na 4., jinak označ záznam v paměti Transfúze s klíčem p.id_transfuze za neplatný UN (záznam s p.id_pacienta a p.id_darce v Transfuze) end transaction Jinak pokud vybere možst Odstranit vše: 6.5. Pro každý záznam v paměti Transfúze proveď kroky 3.1. až 3.4. 7. Vypiš na obrazovku: Záznam nelze odstranit.

7 Popis implementačního prostředí Prostředí pro práci s databází bude implementová v jazyce Java verze 1.6.0 revize 10, pomocí integrovaného vývojového prostředí NetBeans 6.0.1. Samotná databáze bude realizována v SŘBD MySQL 5.0 community version. Spolupráce s databází bude zajištěna ovladačem MySQL JDBC Driver verze 5.0.7. Požadavky na hardware a software Procesor o taktovací frekvenci minimálně 1,2 GHz, operační paměť minimálně 512 MB, pevný disk minimálně160 GB, síťová karta, operační systém Windows XP nebo Linux. Nainstalované Java JDK 1.6.0 revize 10 s knihovu mysql-connector-java-5.0.7, NetBeans IDE 6.0.1, MySQL 5.0 community server, pro WinXP navíc MySQL GUI Tools.

8 Návrh uživatelského rozhraní Po spuštění program se objeví přihlašovací ok s pod sebou jdoucími prvky: textarea se základními údaji o aplikaci, label Role s comoboxem pro vybrání role, label Login s textfieldem pro zadání loginu, label Heslo s textfieldem pro zadání hesla a tlačítka Ukončit a Pokračovat. Úvodní obrazovka Po úspěšném zadání loginu a hesla a stisknutí tlačítka pokračovat se objeví hlavní ok aplikace. Dle zvolené role se zobrazí: Pro roli Úředník: menubar s položkami Soubor, Úpravy a Nápověda a panely Transfúzní stanice a Zaměstnanci. V panelu Transfúzní stanice budou prvky: table s obsahem tabulky Transfuzni_stanice pod ním vedle sebe: tlačítka Obvit, Vyhledat a Zobrazit. Totéž bude i v panelu Zaměstnanci s tím rozdílem, že v prvku table bude obsah tabulky Lekarsky_pracovnik. Pro role Lékař a Lékařský pracovník: stejný menubar jako pro roli Úředník a panely Krevní konzervy, Transfúze a Pacienti, všechny panely budou mít stejné rozložení jako panel Transfúzní stanice u role Úředník. Prvky table budou obsahovat: u panelu Krevní konzervy obsah tabulky Krevni_konzervy, u panelu Transfúze obsah tabulky Transfuze a u panelu Pacienti obsah tabulky Pacient. Formulář Po otevření nabídky Úpravy v menubaru a vybrání položky Nová položka se při aktivním panelu Transfúze otevře vé ok s pro přidání transfúze do tabulky. V okně budou pod sebou prvky: label ID pacienta s textfieldem a tlačítkem Vyhledat, label ID lékařského pracovníka a tlačítko Vyhledat, label Seznam použitých krevních konzerv se seznamem a tlačítky přidat a odebrat, label Datum s textfieldem s předvyplněným datem, label Čas s textfieldem s předvyplněným časem, tlačítka Zrušit, Tisk a Potvrdit. Tisková sestava Po otevření nabídky Soubor v menubaru a vybrání položky Tisk se při aktivním panelu Krevní konzerva a vybrané položce v tabulce otevře vé ok s radiobuttony s labely Formulář a Etiketa a tlačítka potvrdit a zrušit. Po výběru radiobuttonu s labelem Etiketa se vytiskne sestava pro etiketu na krevní konzervě. Na etiketě bude: název stanice s celou poštovní adresou, telefonním číslem, případně e-mailovou adresou a logem stanice. Pod nimi bude ID krevní konzervy, krevní skupina, RHd faktor, objem konzervy, dva checkboxy s popisky Vzorek a K likvidaci, datum a čas plnění krevní konzervy a místo pro podpis lékařského pracovníka s jeho jménem a příjmením.