Skip to content

Commit 6d5f94f

Browse files
Update README.md
1 parent e1388e7 commit 6d5f94f

File tree

1 file changed

+101
-114
lines changed

1 file changed

+101
-114
lines changed

README.md

Lines changed: 101 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Medics: A Medical Information and Appointment System
32

43
**Medics** is a comprehensive medical software built in Python that helps patients input diagnoses, retrieve medical information, and schedule appointments with doctors. The system also provides a doctor portal to view patient details and manage appointments. All data is stored in an Excel-based database for easy integration and portability.
@@ -39,8 +38,6 @@
3938

4039
---
4140

42-
<a name="introduction"></a>
43-
4441
## 1. Introduction
4542

4643
Welcome to the **Medics** repository. This software is designed for medical professionals and patients, making it easier to diagnose conditions, view medical records, and schedule appointments. The system is built using Python, with data stored in Excel files for portability and ease of use. Whether you're a patient seeking medical information or a doctor managing appointments, **Medics** is here to simplify the process.
@@ -52,8 +49,6 @@ Welcome to the **Medics** repository. This software is designed for medical prof
5249

5350
---
5451

55-
<a name="features"></a>
56-
5752
## 2. Features
5853

5954
- **Patient Login and Registration**: Secure login system for patients to access their dashboard.
@@ -67,8 +62,6 @@ Welcome to the **Medics** repository. This software is designed for medical prof
6762

6863
---
6964

70-
<a name="technology-stack"></a>
71-
7265
## 3. Technology Stack
7366

7467
- **Programming Language**: Python 3.x
@@ -81,8 +74,6 @@ Welcome to the **Medics** repository. This software is designed for medical prof
8174

8275
---
8376

84-
<a name="system-requirements"></a>
85-
8677
## 4. System Requirements
8778

8879
- **Python**: Version 3.7 or above.
@@ -93,8 +84,6 @@ Welcome to the **Medics** repository. This software is designed for medical prof
9384

9485
---
9586

96-
<a name="installation-guide"></a>
97-
9887
## 5. Installation Guide
9988

10089
Follow these steps to install and run the Medics software on your local machine.
@@ -105,103 +94,65 @@ First, clone the repository to your local machine using the following command:
10594

10695
```bash
10796
git clone https://github.com/username/medics.git
108-
```
109-
110-
### 5.2 Install Dependencies
111-
97+
5.2 Install Dependencies
11298
Navigate into the project directory and install the required Python packages:
11399

114-
```bash
100+
bash
101+
Copy code
115102
cd medics
116103
pip install -r requirements.txt
117-
```
118-
119104
Alternatively, you can manually install dependencies:
120105

121-
```bash
106+
bash
107+
Copy code
122108
pip install pandas openpyxl
123-
```
124-
125-
### 5.3 Database Setup
126-
109+
5.3 Database Setup
127110
Ensure that you have the necessary Excel files (patients.xlsx and doctors.xlsx) in the root directory. If not, create them manually or run the following script to generate template files:
128111

129-
```bash
112+
bash
113+
Copy code
130114
python setup_database.py
131-
```
132-
133-
---
134-
135-
<a name="usage"></a>
136-
137-
## 6. Usage
138-
139-
### 6.1 Running the Application
140-
115+
6. Usage
116+
6.1 Running the Application
141117
Once you have installed all dependencies, run the following command to start the application:
142118

143-
```bash
119+
bash
120+
Copy code
144121
python medics.py
145-
```
146-
147-
### 6.2 Patient Login
148-
149-
- Upon running the program, the user will be prompted to enter their username and password.
150-
- Once authenticated, patients can access their medical dashboard.
151-
152-
### 6.3 Doctor Login
153-
154-
- Doctors use a separate login page to access their dashboard, where they can manage patients and appointments.
155-
156-
### 6.4 Diagnosis Submission
157-
158-
- Patients can input their symptoms or diagnoses in the input fields.
159-
- After submission, the system will retrieve related medical information from the database.
160-
161-
### 6.5 Appointment Scheduling
162-
163-
- Patients can view available doctors and schedule appointments directly from their dashboard.
164-
- Appointments are stored in the Excel database for both patients and doctors.
165-
166-
---
167-
168-
<a name="excel-database-structure"></a>
169-
170-
## 7. Excel Database Structure
171-
122+
6.2 Patient Login
123+
Upon running the program, the user will be prompted to enter their username and password.
124+
Once authenticated, patients can access their medical dashboard.
125+
6.3 Doctor Login
126+
Doctors use a separate login page to access their dashboard, where they can manage patients and appointments.
127+
6.4 Diagnosis Submission
128+
Patients can input their symptoms or diagnoses in the input fields.
129+
After submission, the system will retrieve related medical information from the database.
130+
6.5 Appointment Scheduling
131+
Patients can view available doctors and schedule appointments directly from their dashboard.
132+
Appointments are stored in the Excel database for both patients and doctors.
133+
7. Excel Database Structure
172134
The Excel files are critical to how Medics stores and manages data. Below is the structure for both files:
173135

174-
### 7.1 Patient Sheet
175-
176-
| Column Name | Data Type | Description |
177-
|------------------|------------|--------------------------------------------------|
178-
| Patient Name | String | The full name of the patient. |
179-
| Username | String | The patient's username for login. |
180-
| Password | String | The patient's password (encrypted). |
181-
| Diagnosis | String | The diagnosis or symptoms entered by the patient.|
182-
| Appointment Date | DateTime | The date and time of the scheduled appointment. |
183-
| Doctor Assigned | String | The doctor assigned to the patient. |
184-
185-
### 7.2 Doctor Sheet
186-
187-
| Column Name | Data Type | Description |
188-
|-------------------|------------|--------------------------------------------------|
189-
| Doctor Name | String | The full name of the doctor. |
190-
| Username | String | The doctor's username for login. |
191-
| Password | String | The doctor's password (encrypted). |
192-
| Assigned Patients | List | A list of patients assigned to the doctor. |
193-
194-
---
195-
196-
<a name="code-breakdown"></a>
197-
198-
## 8. Code Breakdown
199-
136+
7.1 Patient Sheet
137+
Column Name Data Type Description
138+
Patient Name String The full name of the patient.
139+
Username String The patient's username for login.
140+
Password String The patient's password (encrypted).
141+
Diagnosis String The diagnosis or symptoms entered by the patient.
142+
Appointment Date DateTime The date and time of the scheduled appointment.
143+
Doctor Assigned String The doctor assigned to the patient.
144+
7.2 Doctor Sheet
145+
Column Name Data Type Description
146+
Doctor Name String The full name of the doctor.
147+
Username String The doctor's username for login.
148+
Password String The doctor's password (encrypted).
149+
Assigned Patients List A list of patients assigned to the doctor.
150+
8. Code Breakdown
200151
Here is an overview of the important code components in the Medics system.
201152

202-
### 8.1 Patient Class
203-
204-
```python
153+
8.1 Patient Class
154+
python
155+
Copy code
205156
class Patient:
206157
def __init__(self, username, password):
207158
self.username = username
@@ -220,11 +171,9 @@ class Patient:
220171
def schedule_appointment(self, doctor, date):
221172
# Logic to schedule an appointment in the Excel file.
222173
pass
223-
```
224-
225-
### 8.2 Doctor Class
226-
227-
```python
174+
8.2 Doctor Class
175+
python
176+
Copy code
228177
class Doctor:
229178
def __init__(self, username, password):
230179
self.username = username
@@ -239,26 +188,64 @@ class Doctor:
239188
def view_patients(self):
240189
# Logic to view all assigned patients.
241190
pass
242-
```
243-
244-
### 8.3 Appointment Management
245-
246-
```python
191+
8.3 Appointment Management
192+
python
193+
Copy code
247194
def assign_patient_to_doctor(patient, doctor):
248195
# Logic to assign a patient to a specific doctor in the Excel sheet.
249196
pass
250-
```
251-
252-
---
253-
254-
<a name="error-handling-and-debugging"></a>
255-
256-
## 9. Error Handling and Debugging
257-
197+
9. Error Handling and Debugging
258198
To ensure smooth operation, the following error handling mechanisms are implemented:
259199

260-
- **Invalid Login**: If a patient or doctor enters incorrect login credentials, the system will prompt an error message.
261-
- **Empty Diagnosis**: The system will not allow a patient to submit an empty diagnosis field.
262-
- **Excel File Access**: If the Excel files are inaccessible or corrupted, the system will prompt the user to restore the files.
263-
264-
200+
Invalid Login: If a patient or doctor enters incorrect login credentials, the system will prompt an error message.
201+
Empty Diagnosis: The system will not allow a patient to submit an empty diagnosis field.
202+
Excel File Access: If the Excel files are inaccessible or corrupted, the system will prompt the user to restore the files.
203+
10. Development Guidelines
204+
Follow Python best practices for writing clean, maintainable code. Avoid hardcoding paths or credentials.
205+
206+
11. Unit Testing
207+
Use pytest or another testing framework to write unit tests for the critical functionality, such as login validation, diagnosis submission, and appointment scheduling.
208+
209+
12. Continuous Integration (CI)
210+
Integrate this repository with GitHub Actions or any other CI/CD tool to automate testing upon new commits.
211+
212+
13. Known Issues
213+
Excel File Corruption: In rare cases, Excel files may become corrupted due to improper shutdowns.
214+
Login Timeout: Occasional delays in login due to file access speed.
215+
14. Contribution Guide
216+
We welcome contributions to the Medics project! If you’d like to contribute, please follow these steps:
217+
218+
Fork the Repository: Click on the "Fork" button on the top right of the repository page.
219+
Clone Your Fork: Use the following command to clone your forked repository to your local machine:
220+
bash
221+
Copy code
222+
git clone https://github.com/your-username/medics.git
223+
Create a Branch: Create a new branch for your feature or bug fix:
224+
bash
225+
Copy code
226+
git checkout -b feature-branch-name
227+
Make Changes: Implement your feature or bug fix.
228+
Commit Changes: Commit your changes with a descriptive message:
229+
bash
230+
Copy code
231+
git commit -m "Add feature/bug fix description"
232+
Push Changes: Push your changes to your forked repository:
233+
bash
234+
Copy code
235+
git push origin feature-branch-name
236+
Create a Pull Request: Go to the original repository and create a pull request.
237+
15. FAQs
238+
Q1: How do I reset my password?
239+
A1: Currently, the system does not support password recovery. Please contact your doctor or system administrator to reset your password.
240+
241+
Q2: Can I run this software on any operating system?
242+
A2: Yes, the Medics software is compatible with Windows, macOS, and Linux.
243+
244+
Q3: How is my data stored?
245+
A3: All patient and doctor data are stored in Excel files. Ensure these files are backed up regularly to prevent data loss.
246+
247+
Q4: Is there a mobile version of the application?
248+
A4: Currently, the Medics software is desktop-based. Future updates may include mobile compatibility.
249+
250+
16. License
251+
This project is licensed under the MIT License. See the LICENSE file for more details.

0 commit comments

Comments
 (0)