{"id":25164352,"url":"https://github.com/msaadx/Oladoc-Hospital-Management-System","last_synced_at":"2025-10-24T02:30:58.561Z","repository":{"id":149375163,"uuid":"515112203","full_name":"muhammadsaadhsn/Oladoc-Hospital-Management-System","owner":"muhammadsaadhsn","description":"In this project, I have developed a Hospital Management system in C++ using Object-Oriented Programming concepts. The system incorporates functionalities for the Admin, Doctors, and Patients to Login/Sign Up. User data is stored using .dat files. Patients can book appointments with doctors, while doctors can efficiently manage their appointments.","archived":false,"fork":false,"pushed_at":"2023-04-04T13:00:16.000Z","size":4800,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T15:39:50.585Z","etag":null,"topics":["object-oriented-programming","oop"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muhammadsaadhsn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-18T09:14:09.000Z","updated_at":"2024-06-11T03:32:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"32db4295-6636-453c-b744-75bdb60f6cfc","html_url":"https://github.com/muhammadsaadhsn/Oladoc-Hospital-Management-System","commit_stats":null,"previous_names":["muhammadsaadhsn/oladoc-hospital-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadsaadhsn%2FOladoc-Hospital-Management-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadsaadhsn%2FOladoc-Hospital-Management-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadsaadhsn%2FOladoc-Hospital-Management-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muhammadsaadhsn%2FOladoc-Hospital-Management-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muhammadsaadhsn","download_url":"https://codeload.github.com/muhammadsaadhsn/Oladoc-Hospital-Management-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237905533,"owners_count":19385037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["object-oriented-programming","oop"],"created_at":"2025-02-09T04:30:05.578Z","updated_at":"2025-10-24T02:30:57.159Z","avatar_url":"https://github.com/muhammadsaadhsn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oladoc \n\nOladoc is a digital healthcare platform in Pakistan. It helps you find and instantly book appointments or\nonline video consultations with the best doctors in Pakistan. Their transparent and intuitive platform helps\nyou choose the right doctors by letting you check up on patient reviews, consultation fees, satisfaction\nscores, and wait times. oladoc has already served over 15 million+ patients across the country and\ncounting. \n\n## Following are the main Module of Oladoc\n\n* Appointment Management Module\n* Doctor Schedule Management Module\n* Patient Management Module\n* Doctor Management Module\n* Login Module\n* Registration Module\n\nThis system has three users. Admin, Doctor, and Patient. So all feature has been divided between these\nthree users.\n\n## Admin or Master Users\n\n* Admin can Add Edit Delete and view Doctor’s data.\n* Admin can view all patient’s data.\n* Admin can Schedule any Doctor Availability and manage that data like edit or delete it.\n* Admin can view all doctor appointment data and he or she can also process appointments (update or cancel).\n\n## Doctor Users\n\n* Doctor can register into this system.\n* Doctor can log in to this system.\n* Doctor can Add, Edit and Delete their availability and hourly charge.\n* Doctor can view only their appointment data; they cannot see other doctor appointment data.\n* Doctor can check the appointment patient’s details.\n* Doctors must have their particular specialization areas\n* To each area, there must be a separate/distinct view and possibly sub-views\n* Doctor can change the status the of appointment as approve, pending and reject. Initially, the status of all the appointments request will be pending until Doctor confirms the request as approved.\n* Doctor can edit his profile details (timing, location, rates, etc.).\n* Doctor can check all his scheduled appointments in his profile.\n\n\n## Patients Users\n\n* Patient can register into this system.\n* Patient can log in to this system.\n* Patient can reset the password.\n* Patient can search for doctors by (Specialty, Area, and Hospitals)\n* Patient can check Doctor’s availability and chargers.\n* Patient can book and cancel the appointment with Doctor.\n* Patient can update the appointment details (only the scheduled time).\n* Patient can change their profile details.\n* Patient can Book in-person or video consultations with the Doctor.\n* Patient can check all his scheduled appointments in his profile.\n* Patient can recharge their account\n\n\n## Registration/Signup\n\nRegistration details are stored in three separate txt/dat files namely admin, doctor, and patient. These\nfiles have User details. \n\n* Doctor Panel:\n  * A new doctor can register in the system with a valid CNIC or email.\n  * The doctor account is only created if a valid 13-digit CNIC is provided. CNIC and email\nmust not be repeated in the existing record. Otherwise, appropriate messages should be\ngenerated to notify the users.\n  * Password must be 8 characters long and the use of a minimum of one special character,\nuppercase, lowercase, and the numeric digit is a must.\n  * While registration the system should verify any typing mistake in password by asking the\nuser to re-enter the password.\n  * After successful registration, the system will ask for details about the doctor e.g Years of\nexperience, his specialization area, the hospital name he is working in, availability hours\nfor an appointment, and city (Can be more attributes as per the requirements of the\nsystem) \n\n* Patient Panel:\n  * A new patient can register into the system with a valid CNIC.\n  * The patient account is only created if a valid 13-digit CNIC is provided and CNIC must not\nbe repeated in the existing record. Otherwise, appropriate messages should be\ngenerated to notify the users.\n  * Password must be 8 characters long and the use of a minimum of one special character,\nuppercase, lowercase, and the numeric digit is a must.\n  * Patient must re-enter the password and the system should verify any typing mistake.\n  * After successful registration, the initial balance for each patient will be Rs. 3500.\n\n\n## Login\n\n\n* Admin Panel\n  * Admin can login to the system by predefined username and password\n  * Display proper error message in case of wrong credentials.\n \n* Doctor Panel\n  * A doctor can log in to the system by the username and password provided at the time of\nregistration.\n  * Display proper error message in case of wrong credentials.\n\n* Patient Panel\n  * A patient can log in to the system by the username and password provided at the time\nof registration.\n  * Display proper error message in case of wrong credentials.\n\n\n\n## Menu\n\nA menu is provided to each user (Admin, doctor, patient) separately to navigate the full system.\n\n* After completion of each step, users are provided with a menu for the subsequent process and a\nlink to the main menu (different menu for the different users e.g. Admin, patient, doctor).\n* Basic details about the system are available for every user without login. System-specific details\nlike Book appointments, Cancellation, check availability, etc. are only accessible to the\nregistered users.\n\n\n## Book Appointment\n\nThere are many ways a patient can find a doctor to book an appointment\n\n* Patient can find a doctor via his/her specialty (categories) like dermatologist, neurologist, etc\n* Patient can also find doctors via hospital name or city\n* Your system cannot book 2 appointments for the same doctor at the same time.\n* Before booking an appointment, display a list of day and hours slots and the charges that are\navailable for the doctor.\n* Charges for in-person and video consultation appointments are different for each Doctor.\n* Patient can check all his booked appointments and their status in his profile\n* Maintain a separate file to store the appointment information which will include Doctor CNIC,\nDoctor name, Patient CNIC, patient name, appointment mode, day, and time.\n\n\n## Feedback\n\n* After a checkup/appointment, a feedback menu should be displayed on the patient’s account\n* The new displayed menu should be used to write a review + give a rating (out of 5 stars) about\nthe doctor\n* Feedback rating must be maintained based on patients’ reviews about the doctor\n* The feedback must be shown on the concerned doctor’s profile\n* The overall ratings that would be displayed on the doctor’s profile must be the average of all the\nratings which will never exceed length 5\n\n## Payment\n\nThe payment details for each booked appointment are recorded. Appointment charges for all the\nappointments are displayed to the users.\n\n* Charges for in-person and video consultation appointments are different for each Doctor.\n* The system must calculate the charges by keeping in mind that video consultation is 70% of the\nin-person appointment charges (30% less).\n* As the payment is a transaction from the doctor’s account to the patient’s account, the return\nwould be the inverse of the transaction\n* The patient should be able to select an E-Gateway for the transaction such as JazzCash,\nEasyPaisa, PayPak, UnionPay or Bank Transfer\n* Set a criterion for if the patient does not show up on the date of appointment, a percentage\nwould be deducted from the amount he paid and he would have to pay that percentage again\n  * -30% after one day (E.g., 100 already paid for an appointment, 30 would he pay if come a day later)\n  * -60% after two days (Patient would have to pay 60% extra. E.g., 100 already paid for an appointment, 60 would he pay if come a day later)\n  * -100% on three days (Patient would have to fix the appointment again. E.g., 100 already paid for an appointment, the patient would re-fix an\nappointment and would have to pay 100 again if he comes after three days)\n* In case the patient wants to cancel the appointment\n  * 100% return on the same day of fixing the appointment\n  * 60% return on the second day of fixing the appointment\n  * 30% return on the third day of fixing the appointment\n  * No return after the third day \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsaadx%2FOladoc-Hospital-Management-System","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsaadx%2FOladoc-Hospital-Management-System","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsaadx%2FOladoc-Hospital-Management-System/lists"}