Giter Site home page Giter Site logo

againpsychox / javaclinicapp Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 7.19 MB

University project where we have been tasked to create application in teams to work on cooperation and communications skills.

Java 91.14% CSS 1.19% FreeMarker 3.09% PLpgSQL 4.58%
hibernate hibernate-orm java java-hibernate javafx javafx-application

javaclinicapp's Introduction

System do zarządzania przychodnią

Projekt stworzony w ramach Programowania Zespołowego, laboratorium 2 grupa 5.

Zrzut ekranu z widoku harmonogramu lekarza

Więcej zrzutów ekranu z aplikacji https://imgur.com/a/haWFRQO

Zespół projektowy

Imię i nazwisko E-mail Rola, zakres odpowiedzialności
Dominik Machnik [email protected]
Kamil Kondziołka [email protected]
Michał Kula [email protected]
Patryk Ludwikowski [email protected] Lider zespołu
Zuzanna Heller [email protected]

Opis systemu

System pozwala na łatwe zarządzanie przychodnią, od rejestracji wizyt przez terminarze lekarzy po zarządzanie zasobami przychodni.

Cele projektu

  • Umożliwienie rejestracji i ewidencji wizyt pacjentów przychodni.
  • Koordynacja terminarzy dostępności lekarzy.
  • Zarządzanie personelem (np. lekarze, pielęgniarki).
  • System składa się z aplikacji złożonej z kilku modułów oraz bazy danych.

Zakres projektu

Wymagania stawiane aplikacji / systemowi

  • System powinien mieć kilka modułów:
    • Logowanie i rejestracja
    • Komunikaty i powiadomienia
      • np. o przełożeniu wizyty.
    • Moduł "moje dane"
      • Przeglądanie (i aktualizacja) swoich danych
    • Moduł "wizyty"
      • Przeglądanie szczegółów wizyt (nadchodzących i poprzednich)
      • Dodawanie wizyt (z uwzględnieniem terminarzy lekarzy)
      • Uzupełnianie szczegółów wizyt (notatki, recepta lekarza itd.)
      • Przekładanie wizyt
    • Moduł "pacjenci”
      • Przeglądanie i wyszukiwanie pacjentów
      • Dodawanie pacjentów (pośrednia rejestracja)
      • Nawigacja do modułów wizyt, badań, recept z filtrowaniem dla danego pacjenta
    • Moduł "terminarz"
      • Zarządzanie terminarzem i harmonogramem
    • Moduł "badania"
      • zlecanie badań (lekarz)
      • przeglądanie zleconych badań
      • uzupełnianie danych (pielęgniarki)
    • Moduł "recepty"
      • pacjent widzi swoje recepty
      • lekarz widzi wszystkie recepty (z możliwym filtrowaniem)
      • lekarz może dodawać recepty (opcjonalnie: w ramach danej wizyty)
    • Moduł "skierowania"
      • pacjent widzi swoje skierowania
      • lekarz widzi wszystkie skierowania (z możliwym filtrowaniem)
      • lekarz może dodawać skierowania (opcjonalnie: w ramach danej wizyty)
    • Moduł administracji
      • Zarządzanie kontami (lekarzy, recepcyjnych i pielęgniarek)
    • Moduł raportów
      • Wypełnienie terminarzy (lekarzy, zasobów, personelu)
      • Zainteresowanie pacjentów (lekarze, specjalności)
      • Historia pacjenta (wizyty, badania, recepty, skierowania)
    • Moduł konfiguracji
  • System powinien umożliwiać generowanie raportów PDF
  • System powinien współpracować z bazą danych

Panele / zakładki systemu, które będą oferowały potrzebne funkcjonalności

  • Panel administratora
    • Administrator ma dostęp do edycji, usuwania, dodawania użytkowników lub zasobów stworzonych przez użytkowników
  • Panel lekarza
    • przegladanie powiadomień
    • edycja swoich danych
    • ustalanie terminarza
      • przeglądanie i edycja recept
      • przegladanie i edycja skierowań
      • zarzadzanie pacjentami
  • Panel recepcji
    • zarzadzanie pacjentami
  • Panel pielegniarek
    • zarzadzanie skierowaniami oznaczanymi jako zabieg
  • Panel pacjenta
    • umawianie sie na wizyte do lekarza
    • edycja swojego profilu
    • przegladanie recept
    • przegladanie skierowań

Typy wymaganych dokumentów w projekcie oraz dostęp do nich

  • Raporty PDF
    • raport recept
    • raport skierowań
    • raport terminarza
    • raport zawierajacy 20 najnowszych użytkowników systemu

Przepływ informacji w środowisku systemu

Przepływ dany w systemie jest oparty na interakcji użytkowników z bazą danych, oczywiście pośrednio przez aplikację.

Użytkownicy aplikacji i ich uprawnienia

  • Pacjenci
    • podgląd powiadomień
    • zapisują się do lekarzy na wizyty
    • mogą przeglądać swoje wizyty (w tym poprzednie poprzednie)
    • mogą przekładać wizyty (lekarze otrzymują powiadomienia)
  • Recepcja
    • podgląd powiadomień (w celu informowania pacjentów)
    • pośrednia obsługa pacjentów.'
    • mogą przekładać wizyty
  • Pielęgniarki
    • masowe konto dla wszystkich pielęgniarek
    • podgląd zleconych badań
    • podgląd i uzupełnianie danych pacjenta (wpisy historii pacjenta)
  • Lekarze
    • podgląd powiadomień
    • obsługują pacjentów
    • posiadają terminarz dostępności (zmiany mogą wymagać przełożenia wizyt)
    • mogą przeglądać wizyty (w tym poprzednie)
  • Administrator
    • dodawanie specjalnych kont (lekarzy, recepcji, pielęgniarek)
    • techniczny nadzór i dostęp do wszystkiego

Interesariusze

  • Interesariusze zewnętrzni
    • Pacjenci - dostęp bezpośredni (logowanie na własne konto w aplikacji) albo pośredni (zarządzane przez recepcję i/lub lekarzy).
  • Interesariusze wewnętrzni
    • Personel przychodni (recepcja, lekarze, przychodni)

Założenia

  • Nasz system przekierowuje do (rządowego) systemu e-recept i e-skierowań, i po wypełnieniu nasz system dostaje po chwili informację zwrotną. W ramach uproszczenia nasz system umożliwia ręczne wprowadzenie tych danych.
  • Pacjent ma możliwość łatwego przejścia do Internetowe Konto Pacjenta (przycisk, link do logowania).

Przykładowe scenariusze

  1. Pacjent rejestruje się i zapisuje do wybranego lekarza na wizytę.
    • Lekarz otrzymuje powiadomienie (konfigurowalne)
  2. Lekarz przyjmuje pacjenta na wizytę i (opcjonalnie) ustawia kolejną wizytę.
  3. Rejestracja niebezpośrednia: Lekarz/Recepcja rejestruje pacjenta w systemie.
    • Pacjent może (ale nie musi korzystać) dostać dane do logowania, które przy pierwszym logowaniu powinien zmienić
  4. Pacjent/Recepcja przekłada wizytę.
    • Nowy termin powinien być w zgodzie z terminarzem lekarza i zasobami (jeśli jakieś mają terminarz)
    • Powiadomienia dla lekarza/pacjenta.
  5. Lekarz konfiguruje swój harmonogram pracy lub dodaje urlop w terminarzu.
    • Sprawdzanie poprawności względem przyszłych wizyt
  6. Lekarz prosi o badania u pielęgniarek

Baza danych

Diagram ERD

Screenshot

Opis bazy danych
  • Użytkownicy
    • dane do logowania
    • dane kontaktowe (Imie, Nazwisko, nr.Tel)
    • Role (pielegniarka, lekarz, administrator)
  • Lekarze
    • specjalność
    • harmonogram (kazdy dzien ma godzine zaczęcia i rozpoczecia dostępności)
  • Specjalności lekarzy
    • nazwa
    • standardowy oczekiwany czas wizyty
  • Pacjenci
    • adres
    • PESEL
  • Wizyty
    • oczekiwany termin
    • oczekiwana długość (standardowy dla pierwszej wizyty, lub ustawiony przez lekarza)
    • mogą być przełożone przez recepcje lub pacjenta (ale powinny być zgodne z terminarzami, w tym niektórych zasobów), lekarz/pacjent otrzymują powiadomienia.
    • mogą zawierać notatki lekarza
    • łączą pacjenta i lekarza
  • Recepty
    • opcjonalne powiązanie do wizyty
    • łączą pacjenta i lekarza
    • daty
    • tekst (w tym nazwy i dawkowanie, przeciwwskazania itd.)
    • ID z systemu rządowego e-recept
  • Skierowania
    • opcjonalne powiązanie do wizyty
    • łączą pacjenta i lekarza
    • daty
    • poradnia/specjalność
    • tekst: powód/uwagi
    • informacja zwrotna (po skierowaniu)
    • ID z systemu rządowego e-skierowań
  • Terminarz
    • zbiór ciągłych zajętych przedziałów czasowych dla każdego dnia tygodnia
    • system tworzy wstępne przedziały wg. harmonogramu lekarza (dni i godziny przyjęć w ciągu tygodnia).
    • lekarz może uzupełnić na przyszłość terminarz (urlopy, sytuacje losowe itd)
  • Powiadomienia
    • konto źródłowe
    • konto docelowe
    • data wysłania
    • data przeczytania
    • treść

Wykorzystane technologie

  • Język Java 17
    • JavaFX
    • Hibernate
  • Baza danych PostgreSQL

Wykorzystane biblioteki

javaclinicapp's People

Contributors

againpsychox avatar djkulix avatar mordengas avatar rombii avatar github-classroom[bot] avatar z-heller avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.