From b2555b0803b691e5616e7cbb7d05a39d6804a595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=AA=20Th=C3=A0nh=20=C4=90=E1=BA=A1t?= <91755733+lds217@users.noreply.github.com> Date: Fri, 30 May 2025 01:17:34 +0700 Subject: [PATCH] [update] Revise medical invoice details, including patient information and service costs, and adjust layout for improved readability. --- README.md | 88 +++++++++++++++++++++++++++++++++++++++++++- medical_invoice.pdf | Bin 25565 -> 25410 bytes 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ebac7e4..e8e6e64 100644 --- a/README.md +++ b/README.md @@ -1 +1,87 @@ -A simple, open-source Clinic Management System using the Netty framework. It allows multiple computers to connect, enabling clients to book appointments. +# BSK All-in-One Clinic Management System + +## Overview + +BSK All-in-One Clinic Management System is a comprehensive, desktop-based application designed to streamline clinic operations. Built with Java Swing for the user interface and leveraging the Netty framework for client-server communication, it supports multiple connected computers, allowing for efficient patient management, appointment booking, medical check-ups, and billing. + +## Key Features + +* **User Authentication & Management:** Secure login for clinic staff. +* **Patient Queue Management:** Real-time updates for patient queues displayed on a TV screen and within the application. +* **Check-Up Module (`CheckUpPage`): + * Detailed patient information entry and management. + * Symptom recording, diagnosis, and notes. + * Prescription management for medicines and services. + * Integration with `MedicineDialog` for adding medicines to prescriptions. + * Patient history tracking. + * Ability to call patients to specific rooms. +* **Invoice Generation (`MedicineInvoice`): + * Dynamic PDF generation for medical invoices (prescriptions). + * Includes detailed sections for both medicines and services. + * Enhanced medicine information: dosage, notes, quantity with units. + * Professional PDF layout with clinic logo, patient/doctor details, and itemized costs. + * VND currency formatting with thousand separators. + * **NEW:** Check-Up ID barcode at the top of the invoice for quick scanning at checkout. + * Resizable PDF preview dialog with improved scroll sensitivity. +* **Checkout & Billing Module (`CheckoutPage`): + * View queue of patients who have completed check-ups and are awaiting payment. + * Create new standalone bills for customers purchasing items without a check-up. + * **NEW:** Barcode scanning field to quickly add items to a bill (backend lookup pending). + * **NEW:** `StandaloneMedicineDialog` for adding medicines to standalone bills, featuring name and barcode search. + * Itemized bill display with subtotal, discount, and grand total. + * Functionality for processing payments and printing bills (backend and PDF generation pending). +* **Dashboard (`DashboardPage`): + * Centralized overview of clinic statistics (placeholder data currently). + * Summary cards for key metrics. +* **Modernized User Interface:** + * Consistent top navigation bar across `DashboardPage`, `CheckUpPage`, and `CheckoutPage`. + * Navigation items include icons and text, with visual states for hover and active selection. + * Improved layout with taller navigation bar and better spacing. + * User-friendly pop-up menus for user profile actions (logout, etc.). +* **Data Management:** + * Functionality for managing patient data, inventory (stubbed), and user accounts (stubbed). +* **Networking:** Utilizes Netty for robust client-server communication for data synchronization and requests. + +## Core Technologies + +* **Java Swing:** For the graphical user interface (GUI). +* **iTextPDF:** For generating PDF invoices and other documents. +* **Netty:** For client-server networking and real-time communication. +* **SLF4J (with a logging backend like Logback/Log4j):** For application logging. + +## Main Modules / Pages + +* `MainFrame.java`: The main application window orchestrating page navigation. +* `LandingPage.java`: Initial page for login/authentication. +* `DashboardPage.java`: Overview and statistics. +* `CheckUpPage.java`: For managing patient check-ups and prescriptions. +* `CheckoutPage.java`: For handling billing and payments. +* `PatientDataPage.java`: (Assumed) For managing patient records. +* `InventoryPage.java`: (Assumed) For managing clinic inventory. +* `UserPage.java`: (Assumed) For managing system users. +* `InfoPage.java`: (Assumed) For clinic information or application help. + +## Setup & Usage + +1. **Prerequisites:** Java Development Kit (JDK) installed (version based on project requirements). +2. **Dependencies:** Ensure all Maven/Gradle dependencies (like iText, Netty, SLF4J, etc.) are correctly configured in your `pom.xml` or `build.gradle` file. +3. **Running the Server:** Start the Netty server application. +4. **Running the Client:** Launch the client application (`MainFrame`). +5. Log in with appropriate staff credentials. +6. Navigate through the different modules using the top navigation bar to manage clinic operations. + +## Future Enhancements (TODOs from recent development) + +* **Checkout Page Backend:** Implement network requests for: + * Fetching the queue of patients awaiting payment. + * Loading full bill details for selected patients. + * Looking up medicines by barcode. + * Processing payments and updating bill status. + * Updating inventory after sales. +* **Standalone Medicine Dialog:** Ensure medicine data from `GetMedInfoResponse` includes barcodes and indices are handled correctly. +* **Bill Printing:** Develop a PDF generation class for sales bills/receipts from the `CheckoutPage`. +* Complete backend logic for all `//TODO` comments in `CheckoutPage.java` and `StandaloneMedicineDialog.java`. +* Implement actual data fetching and display for the `DashboardPage`. +* Flesh out `PatientDataPage`, `InventoryPage`, `UserPage`, and `InfoPage` functionalities. + +This README provides a general overview. For specific class details and logic, please refer to the source code documentation and comments. diff --git a/medical_invoice.pdf b/medical_invoice.pdf index 1eac3480994a7fd9b58766de4db229f72c3c7314..d9989ee9a47e08cabb7223bad20b45e7333b1559 100644 GIT binary patch delta 22440 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 delta 22571 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 N08#SsA#_wI{|DE!CPe@M