How mertaltinbas/clinic_management works
Clinic Management System is a Java Swing desktop app for patient scheduling and doctor consultations, backed by Hibernate and a file-based H2 database. Patients browse specialties and doctors, check availability, and book or manage appointments; doctors review appointments and patient history, record consultations, prescribe medication, issue notes, and arrange follow-ups. Appointment booking also generates an invoice. The README documents staff management; its implementation is represented by the entity model, though those screens were not sampled. Arrows reflect sampled calls and documented capabilities; some internal wiring is not visible in the excerpts.
Main entry points: DoctorDashboard.java Consultation dashboard · PatientAppointmentDashboard.java Appointment dashboard · HibernateUtil.java Hibernate access · PatientScenario.java Patient entry
Components 20
Patient Portal
- Patient entry
src/main/java/PatientScenario.java - Appointment dashboard
src/main/java/gui/patient/PatientAppointmentDashboard.java - Manage appointments
src/main/java/gui/patient/dialogs/UpdateAppointmentDialog.java
Doctor Care
- Doctor entry
src/main/java/DoctorScenario.java - Consultation dashboard
src/main/java/gui/doctor/DoctorDashboard.java - Medication dialog
src/main/java/gui/doctor/dialogs/MedicationDialog.java - Follow-up dialog
src/main/java/gui/doctor/dialogs/FollowUpDialog.java - Sick note dialog
src/main/java/gui/doctor/dialogs/SickNoteDialog.java
Clinic Domain
- Appointments
src/main/java/entity/Appointment.java - Patient records
src/main/java/entity/Patient.java - Medical notes
src/main/java/entity/MedicalNotes.java - Medication orders
src/main/java/entity/Medication.java - Sick notes
src/main/java/entity/SickNote.java - Invoices
src/main/java/entity/Invoice.java - Staff and specialties
src/main/java/entity
Persistence
- Hibernate access
src/main/java/util/HibernateUtil.java - H2 database
- Entity seeder
src/main/java/util/EntitySeeder.java
Other components
- Patient
- Doctor
Connections 26
- Patient → Patient entry: starts
- Patient entry → Hibernate access: loads patient
- Patient entry → Appointment dashboard: opens
- Patient → Appointment dashboard: uses
- Appointment dashboard → Hibernate access: queries and saves
- Appointment dashboard → Staff and specialties: browses specialties
- Appointment dashboard → Appointments: books appointment
- Appointment dashboard → Invoices: generates invoice
- Appointment dashboard → Manage appointments: opens
- Manage appointments → Hibernate access: updates appointment
- Doctor → Doctor entry: starts
- Doctor entry → Hibernate access: loads doctor
- Doctor entry → Consultation dashboard: opens
- Doctor → Consultation dashboard: uses
- Consultation dashboard → Hibernate access: loads and saves
- Consultation dashboard → Appointments: reviews and completes
- Consultation dashboard → Patient records: views history
- Consultation dashboard → Medical notes: records consultation
- Consultation dashboard → Medication dialog: opens
- Consultation dashboard → Medication orders: saves prescriptions
- Consultation dashboard → Follow-up dialog: opens
- Consultation dashboard → Sick note dialog: opens
- Consultation dashboard → Sick notes: records sick note
- Consultation dashboard → Appointments: schedules follow-up
- Hibernate access → H2 database: reads and writes
- Entity seeder → H2 database: seeds records