AlexPasqua / IntensiveCareManagementSystem

A software to manage an intensive care system. Initially created as a project for "Software Engineering" course at UniVR

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intensive Care Management System

Software Engineering practice project for UniVR
Developed by Alex Pasquali, Francesco Fattori, Giacomo Frigo

Description:

This project was developed as practice project for the course of Programmazione II e Ingegneria del Software (Software Engineering) @ University of Verona (UniVR).
It's been used JavaFX + Scene Builder to easily create the XML files that compose the user interface.
NOTE: the application's language is Italian

Functioning:
With this application it's possible to register new hospitalizations and manage them.
When registering a new patient, it's possible to enter all his/her personal data (name, ID code, date of birth...) and insert a diagnosis.
In the home page are shown the hospitalized patient with some graphs of their vital functions.
The medical data are automatically generated by a process called MonitoringSystem and all the data (about patients, doctors etc) is saved in a file called datastore

For every patient, it's possible to:
 - See pression, heart beat and temperature graphs
 - Enter medical prescriptions and administrations
 - Release the patient from hospitalization and generate a final report (printable in pdf)

To login go to File -> Login
There are 3 levels of permissions: nurse, doctor and chief doctor.
Nurse (user: nurse | pwd: nurse): it's possible to add a new patient, add medical administrations and see a list of the patients with their data.

Doctor (user: doctor | pwd: doctor): It has all nurse's permission plus the possibility to add prescriptions and insert diagnosis in the system.

Chief doctor (user: admin | pwd: admin): It has all doctor's permission plus the possibility to add new users (belonging to these 3 categories), releasing patients and generate reports.


IDE configuration:

Intellij IDEA:

NOTE: the IDE's version used by the developer is 2019.1.3

Setting the SDK: Go to File / Project Structure / Project: select a SDK (recommended 11 (java version "11.0.2")) and a language level (recommended SDK default (11 - Local varaible syntax for lambda parameters)).

Set compiler output directory: Go to File / Project Structure / Project: select a directory for "Project compiler output".
You can just create a special "out" directory inside your project folder. I suggest to add it in .gitignore file.

Libraries: Needed libraries: javafx-sdk - itext - slf4j (we used javafx-sdk-11.0.2, itext7 and slf4j-1.7.26)
Go to File / Project Structure / Libraries: add the following by clicking on the + symbol and selecting "Java":

  • JavaFX SDK: select the path to javafx-sdk-X.X.X/lib
  • itext: select the path to itextX (the final "X" is the version)
  • slf4j: select the path to slf4j-X.X.X/slf4j-api-X.X.X.jar and slf4j-X.X.X/slf4j-simple-X.X.X.jar

Add configuration:

  • New (+) Application
  • VM options: --module-path "PATH-TO-FX" --add-modules javafx.controls,javafx.fxml
  • Main class: therapy.Main
  • Name: Main (or whatever)
  • click Apply
  • New (+) Application
  • Main class: therapy.MonitoringSystem
  • Name: MonitoringSystem (or whatever)
  • click OK

EVERITHING IS READY:

Build project -> Execute Main -> Execute MonitoringSystem (in this order)

About

A software to manage an intensive care system. Initially created as a project for "Software Engineering" course at UniVR

License:GNU General Public License v3.0


Languages

Language:Java 96.2%Language:CSS 3.8%