This is a clinic management system that allows users to manage their patients and appointments. Simple CRUD operations are performed on the patients and appointments. Generate patient reports and appointment reports PDF files.
- Java 17
- Maven
- PostgreSQL
- Clone the repository
- Open the project in your favorite IDE
- Run
mvn clean install
to build the project - Create a database named
ClinicManagementSystem
in Postgres
- id
- role_name String(64)
- List has_roles (One to Many)
- id
- time_from LocalDateTime
- time_to LocalDateTime
- is_active Boolean
- Role role(Many to One)
- Employee employee (Many to One)
- id
- first_name String(64)
- last_name String(64)
- username String(64)
- password String(64)
- email String(255)
- phone String(64)
- is_active Boolean
- List has_roles (One to Many)
- List in_departments (One to Many)
- id
- time_from LocalDateTime
- time_to LocalDateTime
- is_active Boolean
- Department department (Many to One)
- Employee employee (Many to One)
- List schedules (One to Many)
- List appointments (One to Many)
- List documents (One to Many)
- id
- date LocalDate
- time_start LocalDateTime
- time_end LocalDateTime
- InDepartment in_department (Many to One)
- id
- name String(64)
- Clinic clinic (Many to One)
- id
- name String(64)
- address String(255)
- details String(255)
- List departments (One to Many)
- id
- first_name String(64)
- last_name String(64)
- List patient_cases (One to Many)
- List documents (One to Many)
- id
- start_time LocalDateTime
- end_time LocalDateTime
- in_progress Boolean
- total_cost BigDecimal
- amount_paid BigDecimal
- Patient patient (Many to One)
- List appointments (One to Many)
- List documents (One to Many)
- id
- created_time LocalDateTime
- start_time LocalDateTime
- end_time LocalDateTime
- Status status (Many to One)
- List status_histories (One to Many)
- id
- name String(64)
- List appointments (One to Many)
- List status_histories (One to Many)
- id
- time LocalDateTime
- details String(255)
- Status status (Many to One)
- Appointment appointment (Many to One)
- id
- name String(64)
- List documents (One to Many)
- id
- document_internal_id String(64)
- name String(255)
- created_time LocalDateTime
- url String(255)
- details
- DocumentType document_type (Many to One)
- Patient patient (Many to One)
- PatientCase patient_case (Many to One)
- Appointment appointment (Many to One)
- InDepartment in_department (Many to One)