korzystanie z laptopa

Oprogramowanie [KLIF]

logo Klif

Opis oprogramowania Przychodnia Internetowa KLIF

Założeniem projektu jest wdrożenie systemu informatycznego pracującego w oparciu o technologie internetowe w placówkach służby zdrowia oraz udostępnienie elastycznego systemu, skalowalnego zarówno pod względem zastosowania w pojedynczej przychodni jak i dla grup skupionych wokół centr obliczeniowych. Centra obliczeniowe mogą mieć również różny zasięg: od grup miejskich lub wiejskich skupiających po kilka przychodni przez powiatowe, wojewódzkie aż po ogólnopolskie. Administratorem systemu będzie operator o danym zasięgu przeznaczonym dla określonej grupy przychodni. Moduły administracyjne umożliwiają zarządzanie dostępem do aplikacji łącznie z przyznawaniem uprawnień do poszczególnych funkcjonalności oprogramowania.

Najistotniejszymi elementami systemu są:
1. Centrum przetwarzania danych.
2. Oprogramowanie internetowe Przychodnia KLIF
3. Infrastruktura telekomunikacyjna.

1. Centrum przetwarzania danych:
Centrum przetwarzania danych obejmuje infrastrukturę informatyczną zlokalizowaną w wydzielonych pomieszczeniach służącą do zapewnienia działania systemu bazodanowego udostępnianego poprzez łącza internetowe uprawnionym użytkownikom.
Wyposażenie centrum to:
Serwery bazodanowe
Serwery komunikacyjne
Systemy archiwizacji danych
Urządzenia komunikacyjne (przełączniki, routery, modemy telekomunikacyjne, firewall-e)
Zasilacze awaryjne
Klimatyzatory
Urządzenia montażowe i przyłączeniowe
Okablowanie strukturalne i siłowe
Stanowiska serwisowe
Monitoring bezpieczeństwa

Ponadto pomieszczenia powinny być odpowiednio zabezpieczone przed dostępem osób niepowołanych i zgodne z zaleceniami GIODO – ochrona danych osobowych.

2. Oprogramowanie internetowe Przychodnia KLIF.
System został zrealizowany w technologii wielowarstwowej zgodnie ze specyfikacją J2EE Kryterium podziału elementów oprogramowania na warstwy jest funkcja, jaką każda z warstw ma spełniać w systemie np. moduł administracyjny, rdzeń systemu itp. Warstwy są rozłączne i komunikują się ze sobą poprzez ściśle zdefiniowane interfejsy. Ma to na celu umożliwienie łatwej wymiany w razie potrzeby którejś z warstw bez ingerencji w pozostałe.

Moduły funkcjonalne umieszczone zostały w jednej warstwie systemu, co umożliwia modyfikowanie pozostałych warstw bez ingerowania w logikę systemu i modyfikacje logiki biznesowej bez konieczności modyfikacji reszty systemu. Kryterium podziału na moduły, które stanowią rozłączne zbiory funkcjonalności biznesowych realizowanych przez system, jest ich wspólna dziedzina biznesowa (np. moduł lekarza), oraz ewentualna reużywalność tak powstałych modułów przez inne systemy (np. rdzeń).

Główne warstwy systemu:
Warstwa klienta - w tej warstwie znajdują się elementy interfejsu użytkownika, ze względu na wybór technologii będzie to głównie GUI systemu operacyjnego ale nie wyklucza się także dostępu innymi kanałami (PDA, telefon komórkowy). Warstwa Web – Zawiera moduły Web osadzone w kontenerze servletów. Moduły te zawierają logikę odpowiedzialną za komunikacje z użytkownikami. Nie zawierają logiki biznesowej systemu wykorzystują jedynie funkcje udostępnione przez komponenty z warstwy logiki biznesowej.
Warstwa logiki biznesowej – Zawiera komponenty EJB w których zaimplementowano logikę biznesową systemu. Ze względu na wydajność wykorzystywane są jedynie bezstanowe komponenty sesyjne EJB, które stanowią zbiór funkcji dla pozostałych modułów systemu. (Wykorzystano wzorzec fasady sesji). Dostęp do komponentów EJB realizowany jest z wykorzystaniem obu interfejsów EJB. (Zdalnego i Lokalnego).
Warstwa integracji – Jest to warstwa dodatkowa oddzielająca logikę biznesowa od bazy danych. Zawiera ona komponenty DAO oraz dodatkowe komponenty wygenerowane automatycznie na podstawie modelu danych (np. Obiekty transferowe).

Wszędzie gdzie to możliwe moduły nie uzewnętrzniają swoich danych, ale funkcje na nich operujące. Ma to na celu uniezależnienie elementów korzystających z usług modułów od struktury przechowujących dane.

Schemat poglądowy rozmieszczenia modułów funkcjonalnych
systemu Przychodnia Internetowa KLIF.

schemat poglądowy rozmieszczenia modułów

3. Infrastruktura telekomunikacyjna.
Infrastruktura telekomunikacyjna składa się z:
1. Dostępów internetowych w przychodniach.
2. Dostępów internetowych w Centrach przetwarzania danych.
Ad. 1.
Dostępy internetowe w przychodniach mają zapewnić dostęp do serwerów aplikacji poprzez sieć internetową ogólnodostępną bądź poprzez wydzieloną sieć VPN. Dla 1 dostępu z sieci wewnętrznej przychodni wystarczy łącze 256 kB w VPN, przy większej ilości odpowiednio 512, 1024, ...
Ad. 2.
Dostęp internetowy w Centrach przetwarzania danych musi zapewnić łączność z systemem bazodanowym ze wszystkich uprawnionych lokalizacji. Dostęp ten musi mieć odpowiednią przepustowość aby sprostać zapotrzebowaniu wszystkich podłączonych do systemu podmiotów.
W tym przypadku dostępy uzależnione są od operatorów telekomunikacyjnych i sposobu ich dostarczania. Przepustowości zależą również od ilości podłączonych końcówek i równoczesności korzystania z aplikacji.

Opis funkcjonalności systemu Przychodnia Internetowa KLIF

System informatyczny do obsługi rejestracji pacjentów i ewidencji usług medycznych jest aplikacją sieciową utworzoną w technologii J2EE. W warstwie bazy danych został wykorzystany serwer PostgreSQL. Warstwa logiki biznesowej wykorzystuje komponenty EJB. Warstwa prezentacji została zrealizowana w oparciu o bibliotekę SWT. Część webowa aplikacji bazuje na technologii JSP oraz szkielecie Struts. Jako serwer aplikacji został użyty serwer JBoss. Dzięki zastosowanym rozwiązaniom system jest wydajny, stabilny i skalowalny.
Aplikacja wykorzystuje niezbędne technologie zabezpieczające prywatność dokonywanych transmisji. Zastosowano między innymi system autoryzacji użytkowników oparty o Java Authentication and Authorization Service oraz protokół SSL.
System posiada otwartą architekturę dzięki czemu możliwa jest jego dalsza rozbudowa i zwiększenie funkcjonalności.

Ogólne cechy systemu

System posiada:

  • graficzny interfejs użytkownika
  • zaawansowane mechanizmy kontroli dostępu do poszczególnych obszarów funkcjonalnych systemu oraz rozbudowaną konfigurację zakresu uprawnień dla każdego użytkownika mającą odzwierciedlenie w strukturze głównego okna aplikacji (dostęp do określonych funkcji systemu jest dostosowywany dynamicznie dla każdego użytkownika)
  • funkcję obsługi wielu lokalizacji przychodni (każdy wpis harmonogramu, termin wizyty oraz zarejestrowana usługa są związane z konkretną lokalizacją)
  • centralną bazę danych, wspólną dla wszystkich lokalizacji, zapewniającą odzwierciedlenie wprowadzonych zmian oraz dostęp do aktualnych, spójnych danych na wszystkich stanowiskach
  • możliwość zainicjowania bazy danych danymi wcześniej zgromadzonymi przez przychodnię
  • możliwość gromadzenia niezbędnych informacji do generowania zdefiniowanych załączników elektronicznych i zestawień
  • możliwość współpracy z systemami zewnętrznymi (np. wsparcie dla standardu HL7)
  • zintegrowany system rejestracji internetowej on-line dla pacjenta
  • możliwość rozbudowy o dalsze moduły (architektura otwarta)

Pacjenci

System umożliwia:

  • wyszukiwanie na podstawie: nazwiska i imienia, daty ur., nr PESEL, nazwy ulicy
  • dodawanie, usuwanie oraz edycję danych
  • zdefiniowanie wielu adresów dla danego pacjenta (np. zamieszkania, korespondencyjnego), ale tylko jednego adresu danego typu
  • wyszukanie i scalenie dwóch wpisów dotyczących tego samego pacjenta (identyczne nazwisko, imię oraz data urodzenia) z uwzględnieniem terminów wizyt oraz zarejestrowanych usług
  • rezerwację terminu wizyty
  • wyświetlenie zarezerwowanych terminów wizyt danego pacjenta z możliwością odwołania wybranego terminu (graficzna reprezentacja wizyt do odwołania z powodu nieobecności lekarza lub skasowania danego terminu)
  • rejestrację wykonania usług
  • prowadzenie archiwum pacjentów (możliwość przenoszenia pacjentów do/z archiwum)
  • definiowanie indywidualnych rabatów na wybrane rodzaje usług
  • przypisanie pacjentowi wybranych kontraktów

Ewidencja personelu

System umożliwia:

  • wyszukiwanie na podstawie: kodu lekarza, nazwiska i imienia, specjalności, nazwy usługi
  • dodawanie, usuwanie, edycję danych
  • przypisanie formy rozliczenia (słownik), innego miejsca pracy (słownik), wielu specjalności (słownik)
  • definiowanie cennika na poszczególne usługi (określenie kwoty lub % dla lekarza)
  • definiowanie harmonogramu (określenie dnia tygodnia, godzin przyjęć, lokalizacji, gabinetu, ilości pacjentów lub czasu trwania wizyty oraz usług realizowanych w danym terminie)
  • generowanie terminarza na podstawie harmonogramu (wyświetlenie i zapisanie raportu o ewentualnych błędach dot. nakładania się nowych terminów z już istniejącymi)
  • modyfikację terminarza – dodawanie/usuwanie pojedynczych terminów wybranego dnia, kasowanie wszystkich terminów w wybranym okresie czasu, wyświetlenie listy terminów wizyt, które należy odwołać z powodu skasowania zajętych już terminów
  • definiowanie nieobecności uwzględnianych np. przy rezerwowaniu terminów (podanie okresu oraz przyczyny nieobecności)
  • prowadzenie archiwum personelu (możliwość przenoszenia pacjentów do/z archiwum)

Słowniki

System posiada następujące rodzaje słowników z możliwością modyfikacji przez użytkownika:

  • lokalizacje przychodni – wyszukiwanie na podstawie nazwy, poczty i ulicy, możliwość definiowania gabinetów dla danej lokalizacji, możliwość przypisania wybranej lokalizacji jako instytucji realizującej na etapie rejestracji usług
  • specjalności lekarzy – wyszukiwanie na podstawie nr urzędowego i opisu
  • usługi – możliwość zdefiniowania dla każdej usługi rozszerzeń (wyszukiwanie na podstawie nazwy)
  • instytucje medyczne – wyszukiwanie na podstawie nazwy i poczty, możliwość przypisania wybranej instytucji medycznej jako inne miejsce pracy lekarza lub jako instytucji zlecającej wykonanie usługi
  • formy rozliczeń lekarzy
  • typy adresów

System posiada następujące rodzaje słowników bez możliwości modyfikacji przez użytkownika:

  • oddziały wojewódzkie NFZ
  • kody krajów
  • kody terytorialne GUS
  • procedury medyczne ICD9
  • rozpoznania ICD10

Nieobecności

System umożliwia:

  • wyświetlenie listy lekarzy nieobecnych wybranego dnia z informacją o okresie nieobecności oraz jej przyczynie
  • wyświetlenie listy nieobecności (okres i przyczyna) wybranego lekarza

Pracownicy

System umożliwia:

  • wyszukiwanie pracowników na podstawie nazwiska i imienia oraz loginu
  • dodawanie, usuwanie oraz edycję danych

Uprawnienia

System umożliwia:

  • definiowanie grup uprawnień (dodawanie, usuwanie oraz edycję danych) i przypisywanie uprawnień do poszczególnych grup
  • przydzielanie uprawnień pracownikom - przypisywanie wybranych uprawnień danemu pracownikowi lub przypisywanie wybranych pracowników do danego uprawnienia

Konfiguracja

System umożliwia:

  • definiowanie domyślnego kodu GUS, oddziału NFZ oraz kodu kraju dla aplikacji
  • definiowanie domyślnego hasła wykorzystywanego w zintegrowanym systemie rejestracji internetowej on-line dla pacjentów

Rezerwacja terminu

System umożliwia rozpoczęcie procesu rezerwacji terminu wizyty z poziomu okna personelu, pacjentów lub rezerwacji. Okno personelu umożliwia:

  • wyszukiwanie lekarzy na podstawie kryteriów: kod lekarza, nazwisko i imię, specjalność, nazwa usługi, lokalizacja, inne miejsce pracy
  • wyświetlenie godzin przyjęć danego lekarza
  • wyświetlenie cennika usług świadczonych przez danego lekarza
  • wyświetlenie nieobecności danego lekarza
  • wyświetlenie grafiku danego lekarza w postaci kalendarza zawierającego terminy wolne, zajęte, a także nieobecności z możliwością wyboru wolnego terminu, wstawienia dodatkowego terminu na bazie już istniejącego i przejścia do okna głównego rezerwacji
  • wyświetlenie listy wolnych terminów danego lekarza z możliwością wyszukiwania wg daty, dnia tygodnia oraz możliwością wyboru wolnego terminu i przejścia do okna głównego rezerwacji
  • wyświetlenie listy wolnych terminów wszystkich lekarzy spełniających zadane kryteria z możliwością wyszukania terminu wg daty, dnia tygodnia i przejścia do okna głównego rezerwacji (widok umożliwia znalezienie np. najbliższego wolnego terminu do lekarza danej specjalności)

Okno pacjentów umożliwia:

  • wyszukanie pacjenta i przejście do okna głównego rezerwacji (szczegółowy opis okna w p. II)

Okno rezerwacji umożliwia:

  • rezerwację terminu wybranego z okna Personel dla pacjenta wybranego z okna Pacjenci

Kontrakty

System umożliwia:

:: definiowanie kontraktu w oparciu o trójpoziomową strukturę: płatnik, kontrahent, kontrakt

  • definiowanie kontraktu na wybrane usługi z uwzględnieniem parametrów: rabat przychodni, dopłata płatnika i dopłata pacjenta
  • dowolne kombinacji wartości parametrów podanych w postaci kwoty lub określonych procentowo
  • definiowanie wartości parametrów dla jednej lub wielu usług jednocześnie
  • sprawdzanie poprawności parametrów za pomocą kalkulatora cen usług
  • wybór ceny usługi z cennika przychodni lub cennika lekarza do rozliczeń z lekarzami z usług objętych danym kontraktem
  • definiowanie kontraktu na bazie już istniejącego

:: przypisanie kontraktów do pacjenta:

  • jednego lub wielu kontraktów danego kontrahenta
  • wszystkich kontraktów wybranych kontrahentów danego płatnika
  • wszystkich kontraktów wybranych płatników

:: przypisanie wybranego kontraktu do wszystkich pacjentów

Rejestracja usług

System umożliwia:

  • rejestrację usług na podstawie zarezerwowanego terminu wizyty
  • wyszukanie kontraktów przypisanych do danego pacjenta (sprawdzanie jakie rodzaje badań przysługują pacjentowi skierowanemu przez płatnika, z którym przychodnia ma podpisaną umowę)
  • wybór usług
  • wskazanie personelu oraz instytucji zlecających wykonanie usługi
  • wskazanie personelu oraz lokalizacji realizujących usługi
  • automatyczne wyliczenie ceny usługi (kwota w gotówce do zapłaty przez pacjenta, kwota dopłaty płatnika)
  • wydruk paragonu lub faktury
  • wprowadzenie kodu ICD10

Sprawozdania

System udostępnia następujące sprawozdania:

- rozliczenie pracy lekarza - wykaz usług wykonanych przez danego lekarza w zadanym okresie czasu z wyszczególnieniem opłat i dopłat, a także kwoty dla lekarza na podstawie cennika
- rozliczenie realizacji kontraktu danego płatnika – podsumowanie dopłat jakie płatnik ma wnieść za usługi wykonane w zadanym okresie czasu, z możliwością automatycznego wystawienia faktury oraz wydruku zestawienia pacjentów, którym udzielono tych usług
- podsumowanie pracy całej przychodni za zadany okres
- dzienny raport kasowy (rozliczenie kasy)
- podsumowanie jednego typu usług za zadany okres
- rozliczanie z Płatnikiem (NFZ) listy pacjentów na podstawie zaczytanych do systemu umów
- inne zestawienia

Dokumentacja medyczna

- prowadzenie dokumentacji medycznej

  • recepty,
  • zlecenia usług,
  • skierowania (do specjalistki, na transport med., do szpitala, na badania, …),
  • zaświadczenia lekarskie