Skip to content

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🏥 HealthLink – Hospital & Medical Record Management System

HealthLink là giải pháp phần mềm máy tính (Desktop Application) toàn diện phục vụ quản trị bệnh viện, phòng khám và số hóa hồ sơ bệnh án điện tử (EMR). Hệ thống được thiết kế theo tiêu chuẩn hiện đại, kết hợp sức mạnh giao diện mượt mà của Electron + React (TypeScript) và nền tảng backend ổn định, bảo mật cao từ Spring Boot (Java 21) + Microsoft SQL Server.


📸 Giao diện trực quan ứng dụng (App Showcase)

Dành cho người dùng muốn tham khảo nhanh luồng hoạt động và giao diện của HealthLink mà chưa có thời gian cài đặt source code.

1. 📊 Bảng điều khiển tổng quan (Overview Dashboard)

Báo cáo thống kê thời gian thực về lưu lượng bệnh nhân, số ca khám hoàn tất, số ca đang chờ, doanh thu viện phí và biểu đồ phân bổ bệnh nhân theo chuyên khoa.

Tổng quan Bảng điều khiển


2. 🗂️ Quản lý hồ sơ bệnh nhân (Patient Records & EMR)

Quản lý danh sách bệnh nhân tập trung: thông tin hành chính, tiền sử bệnh án, dị ứng thuốc, bảo hiểm y tế và lịch sử các lần khám chữa bệnh chi tiết.

Hồ sơ bệnh nhân


3. 👨‍⚕️ Bàn làm việc Bác sĩ (Doctor Workspace)

Không gian làm việc chuyên biệt dành cho bác sĩ trong ca trực: theo dõi danh sách bệnh nhân chờ khám, ghi nhận triệu chứng lâm sàng, chẩn đoán ICD-10, chỉ định dịch vụ/xét nghiệm và kê đơn thuốc điện tử.

Bàn làm việc bác sĩ


4. 📅 Điều phối & Quản lý lịch hẹn (Appointments Management)

Quản lý lịch hẹn khám chữa bệnh linh hoạt: phân bổ khung giờ theo bác sĩ/chuyên khoa, xác nhận trạng thái (Đã xếp lịch, Đang khám, Hoàn thành, Hủy lịch) và hạn chế trùng lịch.

Quản lý lịch hẹn


5. 💳 Quản lý viện phí & Hóa đơn (Billing & Invoices)

Tự động tổng hợp chi phí khám, xét nghiệm và tiền thuốc; hỗ trợ thanh toán đa phương thức (Tiền mặt, Chuyển khoản, Thẻ) và xuất hóa đơn viện phí minh bạch.

Hóa đơn và viện phí


6. 🔐 Đăng nhập & Phân quyền bảo mật (Authentication)

Xác thực người dùng an toàn theo vai trò (Bác sĩ, Quản trị viên, Tiếp đón/Thu ngân), bảo vệ dữ liệu y tế nhạy cảm.

Đăng nhập hệ thống


📋 Mục lục


✨ Tính năng nổi bật

  • ⚡ Trải nghiệm Desktop Native mượt mà: Đóng gói hoàn chỉnh dạng ứng dụng Desktop chạy độc lập trên Windows với Electron.
  • 📈 Dashboard điều hành thông minh: Thống kê số liệu trực quan với biểu đồ tương tác cao (Recharts).
  • 🗃️ Bệnh án điện tử (EMR): Lưu trữ và tra cứu lịch sử khám bệnh, đơn thuốc, chẩn đoán nhanh chóng và bảo mật.
  • 🩺 Quy trình khám bệnh khép kín: Tiếp nhận $\rightarrow$ Khám bệnh $\rightarrow$ Chỉ định cận lâm sàng $\rightarrow$ Kê đơn $\rightarrow$ Thanh toán.
  • 🧾 Quản lý thanh toán chuẩn xác: Tính toán viện phí tự động, quản lý trạng thái thanh toán và xuất phiếu thu.
  • 🛡️ Phân quyền chặt chẽ: Đảm bảo đúng người đúng việc theo vai trò nhân sự trong cơ sở y tế.

🏗 Tổng quan kiến trúc

┌─────────────────────────────────────────────────┐
│                  Electron Shell                 │
│  ┌───────────────────┐  ┌─────────────────────┐ │
│  │  Frontend (Vite)  │  │  Backend (Spring)   │ │
│  │  React 18 + TS    │──│  Java 21 + Maven    │ │
│  │  localhost:5173   │  │  localhost:8080     │ │
│  └───────────────────┘  └──────────┬──────────┘ │
│                                    │            │
│                          ┌─────────▼──────────┐ │
│                          │  SQL Server 2019+  │ │
│                          │   HEALTHLINK_DB    │ │
│                          └────────────────────┘ │
└─────────────────────────────────────────────────┘
Thành phần Công nghệ Cổng / Port
Frontend React 18, TypeScript, Vite, Tailwind CSS v4, Lucide Icons, Recharts 5173
Backend Spring Boot 3.2, Java 21, Spring Data JPA, Maven 8080
Database Microsoft SQL Server (Express / Developer / Enterprise) 1433
Desktop Shell Electron 41+, Electron Builder –

💻 Yêu cầu hệ thống

Phần mềm Phiên bản khuyến nghị Bắt buộc
Node.js v20 LTS trở lên (tối thiểu v18.18.0) ✅
pnpm / npm pnpm v8+ hoặc npm v10+ ✅
Java JDK JDK 21 (Eclipse Temurin / Oracle OpenJDK) ✅
Apache Maven 3.9+ ✅
Microsoft SQL Server 2019 trở lên hoặc SQL Server Express ✅
SSMS SQL Server Management Studio mới nhất 🔶 Khuyến nghị
Git Phiên bản mới nhất ✅

🔧 Cài đặt môi trường chi tiết

1. Node.js

  1. Tải bản LTS từ nodejs.org.
  2. Chạy cài đặt và đảm bảo tích chọn "Add to PATH".
  3. Kiểm tra cài đặt:
    node --version
    npm --version

2. Java JDK 21

  1. Tải bản JDK 21 từ Eclipse Temurin hoặc Oracle JDK 21.
  2. Cài đặt và tích chọn "Set JAVA_HOME variable" cùng "Add to PATH".
  3. Kiểm tra phiên bản:
    java --version
    javac --version

3. Apache Maven

  1. Tải Binary zip archive (apache-maven-3.9.x-bin.zip) từ maven.apache.org.
  2. Giải nén vào thư mục cố định (ví dụ C:\Program Files\Apache\maven).
  3. Thêm biến môi trường:
    • MAVEN_HOME: Đường dẫn tới thư mục giải nén Maven.
    • Thêm %MAVEN_HOME%\bin vào Path.
  4. Kiểm tra:
    mvn -v

4. Microsoft SQL Server

  1. Tải bản SQL Server Express miễn phí từ Microsoft SQL Server Downloads.
  2. Mở SQL Server Configuration Manager $\rightarrow$ SQL Server Network Configuration $\rightarrow$ Protocols for SQLEXPRESS:
    • Bật TCP/IP (Enabled).
    • Vào IP Addresses $\rightarrow$ mục IPAll $\rightarrow$ đặt TCP Port thành 1433.
    • Restart service SQL Server.
  3. Cấu hình Mixed Mode Authentication và kích hoạt tài khoản sa với mật khẩu dự án: Pasword1234Ki.

🗄 Thiết lập Database

Bước 1: Khởi tạo dữ liệu

Mở SSMS kết nối vào SQL Server và thực thi file script:

-- Mở và thực thi toàn bộ script trong file:
HealthLinkDB/HEALTHLINK_DB.sql

Hoặc thực thi nhanh qua dòng lệnh command line:

sqlcmd -S localhost -U sa -P Pasword1234Ki -i HealthLinkDB/HEALTHLINK_DB.sql

Bước 2: Kiểm tra cấu hình kết nối

Thông tin cấu hình mặc định nằm trong file HealthLinkJava/src/main/resources/application.properties:

spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=HEALTHLINK_DB;encrypt=true;trustServerCertificate=true;
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.username=sa
spring.datasource.password=Pasword1234Ki

🚀 Cài đặt và khởi chạy dự án

1. Clone mã nguồn

git clone https://github.com/nguyenduc024/Websitebuilder.git
cd Websitebuilder

2. Cài đặt thư viện Frontend & Desktop

npm install
# hoặc nếu dùng pnpm:
pnpm install

3. Build Backend Java (lần đầu)

cd HealthLinkJava
mvn clean install -DskipTests
cd ..

📝 Danh sách lệnh hữu ích

🖥️ Chạy toàn bộ ứng dụng Desktop (Khuyến nghị)

npm run dev:desktop

Lệnh này sẽ tự động build Electron main process, kiểm tra kết nối Backend (8080) và Frontend (5173) rồi mở cửa sổ ứng dụng desktop.

🌐 Chạy riêng giao diện Frontend trên trình duyệt Web

npm run dev:frontend
# hoặc
npm run dev

Truy cập: http://localhost:5173

☕ Chạy riêng Backend Spring Boot

npm run dev:backend
# hoặc
cd HealthLinkJava && mvn spring-boot:run

API Endpoint: http://localhost:8080

⚡ Chạy Electron Shell kèm Frontend Dev Server

npm run dev:electron

📦 Đóng gói ứng dụng Desktop

Để tạo bộ cài đặt Windows (.exe NSIS và bản Portable):

npm run package:win

File cài đặt thành phẩm sẽ được xuất tại thư mục:

release/
├── HealthLink Setup x.x.x.exe    # File cài đặt NSIS
└── HealthLink x.x.x.exe          # Bản chạy trực tiếp Portable

🔥 Khắc phục lỗi thường gặp

Lỗi Nguyên nhân Cách xử lý
'mvn' is not recognized Chưa cấu hình Maven vào biến môi trường PATH Thêm %MAVEN_HOME%\bin vào Path của hệ thống và khởi động lại terminal.
java version sai lệch Chưa thiết lập Java 21 làm mặc định Kiểm tra java -version và cập nhật lại biến JAVA_HOME trỏ tới thư mục JDK 21.
Không kết nối được Database SQL Server chưa chạy hoặc chưa mở port 1433 Kiểm tra SQL Server Service đã Running, TCP/IP đã enable port 1433, và tài khoản sa đã đúng password.
Port 8080/5173 bị chiếm dụng Có tiến trình khác đang chạy ngầm Tìm và dừng tiến trình bằng lệnh: netstat -ano | findstr :8080 sau đó taskkill /PID <PID> /F.

📁 Cấu trúc mã nguồn

HealthLink/
├── sample_page/            # Hình ảnh giao diện thực tế của ứng dụng
│   ├── overall.jpg         # Dashboard tổng quan
│   ├── patient_record.jpg  # Quản lý bệnh nhân
│   ├── doctor_dáhsboard.jpg# Bàn làm việc bác sĩ
│   ├── appointment.jpg     # Lịch hẹn khám
│   ├── invoice.jpg         # Viện phí & hóa đơn
│   └── login.jpg           # Đăng nhập hệ thống
├── HealthLinkDB/           # Script khởi tạo cơ sở dữ liệu SQL Server
│   └── HEALTHLINK_DB.sql
├── HealthLinkJava/         # Mã nguồn Backend (Spring Boot 3 + Java 21)
│   ├── pom.xml
│   └── src/
├── src/                    # Mã nguồn Frontend & Electron
│   ├── app/                # React Components, Pages, State, Routing
│   ├── assets/             # Icons, Styles, Static Assets
│   └── electron/           # Electron Main & Preload Scripts
├── index.html              # Web Entry Point
├── package.json            # Node.js dependencies & build scripts
└── vite.config.ts          # Cấu hình Vite bundler

📄 License & Bản quyền

Dự án phát triển cho mục đích quản lý y tế và số hóa phòng khám/bệnh viện. Tham khảo thêm file ATTRIBUTIONS.md để biết thêm về các thư viện mã nguồn mở được sử dụng.

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from figma/repo-template