This is the backend service for a Hospital Management System (HMS) built using Spring Boot. It provides essential functionalities such as managing patient payments, generating patient cards, scheduling appointments, and managing medical reports. The system aims to streamline hospital operations and improve patient care through efficient data management and process automation.
Table of Contents Features Tech Stack Getting Started Prerequisites Installation Running the Application Endpoints Project Structure Contributing License Features This backend service provides the following core features:
Patient Payment Management: Handles payment records, tracks patient bills, and processes payments. Patient Card Generation: Generates and manages unique patient ID cards for identification and record-keeping. Appointment Scheduling: Allows patients to schedule and manage appointments with doctors. Medical Report Management: Stores and organizes patient medical records for easy access and retrieval by medical staff. Tech Stack Java (JDK 11 or later) Spring Boot - Core framework for building RESTful web services Spring Data JPA - Data management with support for ORM MySQL - Database for storing data (or any relational database of choice) Swagger - API documentation Maven - Dependency management Getting Started Prerequisites Java JDK 11 or later: Download JDK Maven: Download Maven MySQL: Ensure MySQL server is installed and running Installation Clone the repository:
bash Copy code git clone https://github.com/sathninduk/csse-be.git cd csse-be Configure the Database:
Open the src/main/resources/application.properties file and update the database configurations: properties Copy code spring.datasource.url=jdbc:mysql://localhost:3306/hospital_management spring.jpa.hibernate.ddl-auto=update Install dependencies:
bash Copy code mvn clean install Running the Application To start the server, run the following command in the project root:
bash Copy code mvn spring-boot:run The application will start on http://localhost:8080.
Endpoints Below are some primary API endpoints for the system:
Patient Payment Management
POST /api/payments - Create a payment record GET /api/payments/{id} - Retrieve payment details PUT /api/payments/{id} - Update a payment record DELETE /api/payments/{id} - Delete a payment record
Patient Card Generation
POST /api/patient-cards - Generate a new patient card GET /api/patient-cards/{id} - Get patient card details
Appointment Scheduling
POST /api/appointments - Schedule a new appointment GET /api/appointments/{id} - Retrieve appointment details PUT /api/appointments/{id} - Update an appointment DELETE /api/appointments/{id} - Cancel an appointment
Medical Report Management
POST /api/reports - Upload a medical report GET /api/reports/{id} - Retrieve a medical report PUT /api/reports/{id} - Update a medical report DELETE /api/reports/{id} - Delete a medical report
Project Structure bash Copy code src ├── main │ ├── java/com/hospitalmanagement │ │ ├── controller # REST controllers for handling API requests │ │ ├── service # Service layer for business logic │ │ ├── repository # Data access layer for CRUD operations │ │ ├── model # Entity models for the database │ │ └── HospitalManagementApplication.java # Main Spring Boot application │ └── resources │ ├── application.properties # Configuration file │ └── data.sql # Sample data (if any) └── test # Unit and integration tests Contributing Contributions are welcome! Please fork the repository and make a pull request to suggest improvements, fix bugs, or add new features.
Fork the project. Create your feature branch: git checkout -b feature/YourFeature. Commit your changes: git commit -m 'Add YourFeature'. Push to the branch: git push origin feature/YourFeature. Open a pull request.