Skip to content

greydelta/clinic-reservation-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues License


Logo

Clinic Reservation System

A CLI-based reservation system to manage booking appointments
Explore the docs »

View Demo · Report Bug · Request Feature

About The Project

Program behaviour:

  1. Key Features of the system:
  • Only Staff and Doctor will be able to use the system
  • Staff will help patient:
    • Create patient profile
    • Create / update booking
  1. Staff has more access control than the doctor since doctor just needs to view patient record and information

  2. There are 3 different status for an appointment: ("Booked"/"Cancelled"/"Consulted")

  3. A patient can only have 1 active appointment ("Booked") at any one time

    • if patient has at least 1 booking with status = "Booked"
    • then they are restricted from creating a new booking
    • unless the booking is updated to "Cancelled" or "Booked"
    • Note: Staff can update "Cancelled" to "Booked"/"Consulted"
  4. During creation of New Patient Profile, the program will check if it matches an existing profile where:

    if name && contact != same

    Proceed to Create New Profile

    else if name && contact == same

    Prompt Profile Exist!

    Note: Implies that 2 patients can have the same name but not the same number

  5. Update Patient Profile feature only for name/contact

  6. Update Appointment feature only for status/date/time (not allowed to change doctor)

  7. Update Appointment Logic:

  • Scenario 1: Patient HAS existing booking

    if(selectedBooking == "Booked")

    ❌ Not Allowed to: Update "Booked" to "Booked"

    ✔ Allowed to: Update "Booked" to "Cancelled"/"Consulted"

    else if(selectedBooking != "Booked")

    ❌ Not Allowed to: Update "Cancelled"/"Consulted" to "Booked"

    ✔ Allowed to: Update "Cancelled"/"Consulted" to "Cancelled"/"Consulted"

  • Scenario 2: Patient has NO existing booking

    ✔ Allowed to: Update "Cancelled"/"Consulted" to "Booked"

    ✔ Allowed to: Update "Cancelled"/"Consulted" to "Cancelled"/"Consulted"

  1. Since this is a runtime only application, logging in as doctor, will only display those appointments that are in the appointment.txt file. However, any appointment added during runtime will also be included in the core functionalities of all the functions and would be expected to behave accordingly.

  2. Almost all functions require the input of Patient's Name and Contact number before proceeding to perform the selected function.

  3. All login credentials/existing patients/existing bookings can be viewed in their respective .txt files.

(back to top)

Sample Output

video demo

(back to top)

Built With

Java

(back to top)

Getting Started

Using Visual Studio Code :

Prerequisites

Installation

  • Import Project Folder in VS Code

Usage

  1. Right click on App.java

  2. Click "Run Java"

(back to top)

Using Eclipse :

Prerequisites

  • Download & install JRE-15 and above according to your OS

Installation

  1. Import Project Folder in Eclipse IDE

  2. Right click on Project Folder in Project Folder View

  3. Click "Build Path"

  4. Click "Configure Build Path"

  5. Under the "Libraries" Tab, click JRE System Library

  6. Click "Edit"

  7. Under "Execution Environment", choose "JavaSE-15 (jre)" from the dropdown

  8. Click "Finish" then "Apply and Close"

Usage

  1. Right click on Project Folder in Project Folder View

  2. Click "Run As"

  3. Click "Java Application"

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact


Project Link: https://github.com/greydelta/clinic-reservation-system

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages