📖 Hướng Dẫn Sử Dụng
Hệ thống quản lý phòng khám – tổng hợp đầy đủ các hướng dẫn dành cho người dùng. Chọn chuyên mục bên dưới để bắt đầu.
🕐 Cập nhật gần đây
- Hướng dẫn phiên bản – Full, Desktop, Mobile, Portal V2, Master Admin (22/07/2026)
- OCR Quét tài liệu – Nhận dạng văn bản từ ảnh qua AI (22/07/2026)
- Dictation Chép chính tả – Ghi âm → văn bản → AI chỉnh sửa (22/07/2026)
- AI Chat & Tóm tắt – Hỏi đáp y khoa và tóm tắt hồ sơ (22/07/2026)
- Báo cáo & Worker – Thống kê và hệ thống xử lý nền (22/07/2026)
🔑 Quên mật khẩu – Khôi phục tài khoản
Hướng dẫn đặt lại mật khẩu qua email khi quên đăng nhập.
Cách khôi phục mật khẩu (dành cho người dùng)
Vào trang đăng nhập
Truy cập hệ thống như bình thường. Ở trang đăng nhập, bạn sẽ thấy link "Quên mật khẩu?".
Nhập username hoặc email
Điền username hoặc địa chỉ email đã đăng ký vào ô, rồi nhấn "Gửi yêu cầu".
Kiểm tra hộp thư email
Mở email (kể cả thư mục Spam). Bạn sẽ nhận được email chứa link đặt lại mật khẩu có hiệu lực 1 giờ.
Đặt mật khẩu mới
Click vào link trong email → Nhập mật khẩu mới (tối thiểu 8 ký tự) → Xác nhận.
Đăng nhập lại
Sử dụng mật khẩu mới để đăng nhập vào hệ thống.
Yêu cầu để sử dụng tính năng này
- Tài khoản của bạn phải có địa chỉ email được thiết lập sẵn
- Nếu tài khoản chưa có email, liên hệ Admin để bổ sung
Admin: Xử lý khi người dùng không có email
Nếu tài khoản không có email:
- Vào Admin → Users
- Tìm tài khoản người dùng
- Thêm địa chỉ email hợp lệ
- Hoặc Admin có thể reset password trực tiếp ngay trên trang quản lý người dùng
Thêm hàng loạt tài khoản (Admin)
Tạo nhiều tài khoản cùng lúc từ file CSV
👥 Thêm hàng loạt tài khoản
Tạo nhiều tài khoản nhân viên/bác sĩ cùng lúc từ file CSV – dành cho Admin.
Tổng quan
Chức năng Bulk Import Users cho phép quản trị viên tạo hàng chục hoặc hàng trăm tài khoản chỉ trong vài phút bằng cách upload file CSV.
Cách sử dụng
Truy cập trang quản lý người dùng
Đăng nhập Admin → vào Admin → Người dùng (Users) → Click nút "Bulk Import Users" (màu xanh).
Kiểm tra danh sách phòng khám
Click "Check Available Facilities" để xem tên chính xác của các phòng khám trong hệ thống. Lưu lại tên để dùng trong file CSV.
Chuẩn bị file CSV
Tạo file CSV với định dạng sau (encoding UTF-8):
username,fname,lname,facility_name
bacsi1@clinic.vn,Nguyễn,Văn A,Phòng khám Test
bacsi2@clinic.vn,Trần,Thị B,Phòng khám Test
Lưu ý: Tên phòng khám phải khớp CHÍNH XÁC. Username phải là email hợp lệ và chưa tồn tại.
Upload và import
Nhập mật khẩu Admin → Chọn file CSV → Chọn thiết lập → Click "Import Users".
Thiết lập mặc định cho tài khoản mới
| Thuộc tính | Giá trị mặc định |
|---|---|
| Mật khẩu ban đầu | 123456 (nên đổi sau lần đăng nhập đầu) |
| Nhóm quyền | Physicians (Bác sĩ) |
| Authorized | Có (được phép kê đơn) |
| Trạng thái | Active (tài khoản hoạt động) |
| Lịch hẹn | Hiển thị trong lịch hẹn |
users,
user_settings và được gán vào cơ sở y tế đã chọn.📋 Sao chép đơn thuốc
Tạo đơn thuốc mới từ đơn cũ chỉ với 1 cú click – tự động cập nhật ngày hôm nay.
Tính năng này dùng khi nào?
- 🔁 Thuốc dài hạn: Bệnh nhân tái khám, cấp thuốc hàng tháng
- 📋 Đơn tái cấp: Thuốc mãn tính (tiểu đường, huyết áp…)
- 👥 Đơn mẫu: Thuốc dùng cho nhiều bệnh nhân
- ⚖️ Điều chỉnh liều: Sao chép rồi chỉ sửa liều/số lượng
Cách sao chép đơn thuốc
Mở hồ sơ bệnh nhân
Từ màn hình chính → Chọn Bệnh Nhân → Tìm và chọn bệnh nhân → Vào tab Đơn Thuốc.
Nhấn nút "Copy"
Tìm đơn thuốc muốn sao chép. Nhấn nút Copy (màu xanh dương 📋, bên trái nút Delete). Rê chuột lên nút sẽ hiện tooltip: "Copy this prescription with today's date".
Xác nhận
Hộp thoại xuất hiện: "Bạn có chắc chắn muốn sao chép đơn thuốc này? Một đơn thuốc mới với ngày hôm nay sẽ được tạo." → Nhấn OK.
Chỉnh sửa (nếu cần) và lưu
Hệ thống tạo đơn mới với ngày hôm nay và chuyển vào trang chỉnh sửa. Bạn có thể giữ nguyên hoặc sửa số lượng, liều dùng, ghi chú → Nhấn Lưu.
Ví dụ thực tế
Tái cấp thuốc tiểu đường hàng tháng
- Vào hồ sơ bệnh nhân
- Xem đơn thuốc tháng trước (Metformin 500mg)
- Nhấn Copy → Xác nhận OK
- Kiểm tra thông tin (không cần sửa) → Nhấn Lưu
- In đơn cho bệnh nhân → Hoàn tất trong 10 giây
Tăng liều huyết áp
- Sao chép đơn cũ (Amlodipine 5mg x1)
- Sửa số lượng: 1 → 2
- Sửa hướng dẫn: "Uống 1 viên/ngày" → "Uống 2 viên/ngày"
- Thêm ghi chú → Nhấn Lưu
Sau khi sao chép
- Đơn mới được lưu với ngày hôm nay
- Tự động trừ kho thuốc (nếu bật tính năng)
- Có thể in đơn, tạo PDF, hiển thị QR code
Lọc kho thuốc nội bộ (In-House)
Tự động lọc danh sách kho theo tên thuốc đã nhập
💊 Lọc kho thuốc nội bộ (In-House)
Dropdown kho nội bộ tự động lọc và hiển thị ưu tiên các thuốc khớp với tên đã nhập.
Tính năng này giải quyết vấn đề gì?
| Trước khi cập nhật | Sau khi cập nhật | |
|---|---|---|
| Dropdown in-house | Hiển thị TẤT CẢ thuốc trong kho | Chỉ hiển thị thuốc khớp trước |
| Tìm kiếm | Phải cuộn qua danh sách dài | Thuốc khớp luôn ở đầu, in đậm |
| Tốc độ | Chậm, dễ chọn nhầm | Nhanh, trực quan |
Cách sử dụng
Nhập tên thuốc
Vào màn hình Kê đơn thuốc → Nhập tên thuốc vào ô "Drug" (có thể gõ tay, chọn từ autocomplete, hoặc tìm qua Search Web API).
Chờ hoặc chọn từ autocomplete
Hệ thống gợi ý danh sách thuốc → Chọn thuốc phù hợp.
Kiểm tra dropdown "in-house"
Dropdown in-house tự động cập nhật:
• Thuốc khớp: hiển thị đầu tiên, in đậm, màu đen rõ
• Thuốc không khớp: bên dưới đường phân cách, màu xám nhạt
Chọn mục kho phù hợp
Dễ nhận diện thuốc đúng từ phần in đậm → Click chọn.
Ví dụ minh họa
Nhập "alphachymotripsine"
Dropdown "in-house" hiển thị:
-- or select from inventory -- ← mặc định
alpha_chuan [NDC123] ← In đậm, khớp ✓
alpha_chuan 2 [NDC456] ← In đậm, khớp ✓
─────────────────────────
alu_chuan [NDC789] ← Xám, không khớp
paracetamol_500 [NDC345] ← Xám, không khớp
✍️ Ký điện tử phiếu khám
Ký từng phiếu hoặc ký tất cả phiếu khám của một lượt khám chỉ với 1 lần nhập mật khẩu.
Cách A – Ký từng phiếu khám
Vào trang phiếu khám
Mở hồ sơ bệnh nhân → Vào trang Encounter Forms (Phiếu khám).
Click nút "eSign"
Tìm phiếu muốn ký (SOAP, Khám lâm sàng, Sinh hiệu…) → Click nút "eSign" bên phải tên phiếu.
Nhập thông tin ký
- Password: Nhập mật khẩu của bạn
- Lock?: Tick nếu muốn khóa phiếu sau khi ký (không thể sửa)
- Amendment: Ghi chú bổ sung (không bắt buộc)
Click "Sign"
Thành công → Modal đóng, phiếu hiển thị: Signed by: [Tên bạn] – Date/Time: …
Cách B – Ký tất cả phiếu khám cùng lúc (MỚI)
Tìm nút "Ký tất cả"
Kéo xuống phần Tóm tắt lượt khám. Nếu có phiếu chưa ký, bạn sẽ thấy nút:
🖊️ Ký tất cả phiếu khám (3) – số trong ngoặc là số phiếu chưa ký.
Click nút và nhập thông tin
Nhập mật khẩu 1 lần duy nhất → Chọn có Lock sau khi ký không → Nhập Amendment (nếu cần).
Click "Sign All"
Hệ thống ký tất cả phiếu chưa có chữ ký → Hiển thị: "Successfully signed X forms" → Tự động refresh trang.
Phiếu nào được ký tự động?
| Loại phiếu | Ký tự động? |
|---|---|
| Khám lâm sàng | ✅ Có |
| SOAP notes | ✅ Có |
| Vitals (Sinh hiệu) | ✅ Có |
| Clinical Notes | ✅ Có |
| Dictation (Tóm tắt lượt khám) | ✅ Có |
| Lab Orders | ✅ Có |
| Visit Summary (Encounter form) | ❌ Không – ký riêng bằng "eSign Encounter" |
Xử lý lỗi phổ biến
Modal không đóng sau khi nhập mật khẩu
- Mở DevTools (F12) → Tab Console
- Nếu thấy "The password you entered is invalid" → Kiểm tra lại mật khẩu
- Thử đăng xuất và đăng nhập lại
- Vẫn lỗi → Liên hệ Admin
Nút "Ký tất cả" không hiện
- Tất cả phiếu đã được ký → Không cần ký thêm
- Encounter không có phiếu nào
- Tài khoản không có quyền write → Liên hệ Admin
🎤 Ghi âm giọng nói trong phiếu khám
2 chế độ ghi âm: chuyển giọng nói thành văn bản ngay lập tức hoặc qua AI transcription chất lượng cao.
Hai chế độ ghi âm
| Chế độ | Biểu tượng | Mô tả | Khi nào dùng |
|---|---|---|---|
| Voice-to-Text | 🎤 MIC | Chrome Web Speech – kết quả ngay lập tức | Cần kết quả tức thì |
| File Recording | ⏺️ CASSETTE | Ghi file âm → AI API xử lý | Cần độ chính xác cao, nhận kết quả sau 22:00 |
| Both (Mặc định) | Cả 2 nút | Hiển thị cả 2 nút để tự chọn | Để bác sĩ tự quyết định từng lần |
Kiểm tra nhanh chế độ đang dùng
Vào bất kỳ form nào (SOAP/Messages) và xem số nút hiển thị:
- 1 nút MIC 🎤 → Đang ở chế độ
Voice-to-Text - 1 nút CASSETTE ⏺️ → Đang ở chế độ
File Recording (AI) - 2 nút → Đang ở chế độ
Both
Cách thay đổi chế độ ghi âm (Admin)
Vào cài đặt hệ thống
Đăng nhập với tài khoản Admin → Vào Admin → Config → Clinic → tab Features.
Tìm cài đặt ghi âm
Tìm mục "Voice Recording Mode in Forms".
Chọn chế độ và lưu
Chọn chế độ mong muốn → Click Save → Đăng xuất và đăng nhập lại để áp dụng.
/interface/super/edit_globals.php#FeaturesHướng dẫn sử dụng ghi âm
Chế độ Voice-to-Text (nút MIC 🎤)
- Trong biểu mẫu SOAP hoặc Messages, click nút 🎤 MIC
- Trình duyệt yêu cầu quyền microphone → Click Allow/Cho phép
- Nói rõ ràng vào microphone
- Văn bản xuất hiện ngay lập tức trong ô nhập liệu
- Click nút MIC lần nữa để dừng
Chế độ File Recording (nút CASSETTE ⏺️)
- Click nút ⏺️ CASSETTE để bắt đầu ghi
- Nói nội dung cần ghi
- Click nút lần nữa để dừng và upload file
- File âm được gửi đến AI để xử lý
- Kết quả transcription trả về sau 22:00 cùng ngày
🎓 Chế Độ Đào Tạo Lâm Sàng
Môi trường đào tạo sinh viên y khoa với bệnh nhân ảo, kịch bản lâm sàng và báo cáo đánh giá.
Tổng quan
Chế độ Đào tạo (Education Mode) biến hệ thống OpenEMR thành môi trường đào tạo lâm sàng. Khi bật, menu "Đào tạo" xuất hiện trên thanh điều hướng chính với đầy đủ công cụ:
- 🏥 Bệnh nhân ảo: Hồ sơ bệnh nhân giả lập cho mục đích đào tạo
- 📝 Kịch bản lâm sàng: Case studies điển hình
- 📊 Báo cáo đào tạo: Theo dõi tiến độ và kết quả học viên
- 🔒 Tách biệt dữ liệu: Dữ liệu đào tạo không ảnh hưởng bệnh nhân thực
Cấu trúc menu Đào tạo
Đào tạo
├── Bảng Điều Khiển Đào Tạo → Trang tổng quan thống kê
├── Bệnh Nhân Ảo → Quản lý hồ sơ giả lập
├── Kịch Bản Lâm Sàng → Tạo và quản lý case studies
└── Báo Cáo Đào Tạo → Xem báo cáo và đánh giá
Bật Chế Độ Đào Tạo (Admin)
Chỉnh sửa file cấu hình site
Đường dẫn: sites/{site_id}/sqlconf.php
$education_mode = 1; // 1 = bật, 0 = tắt
Xóa cache
Truy cập /admin_tools/clear_opcache.php hoặc liên hệ Admin server để reload PHP-FPM.
Kiểm tra
Đăng nhập lại → Kiểm tra menu "Đào tạo" đã xuất hiện trên thanh menu chính chưa.
Bảng Điều Khiển Đào Tạo
Truy cập: Đào tạo → Bảng Điều Khiển Đào Tạo
Dashboard chia thành các phần:
| Section | Nội dung |
|---|---|
| Tổng quan | Thống kê tổng số học viên, bài đã giao, tỷ lệ hoàn thành |
| Bệnh nhân ảo | Quản lý danh sách hồ sơ giả lập |
| Kịch bản lâm sàng | Tạo và quản lý case studies |
| Báo cáo | Kết quả học viên, điểm số, tiến độ |
Ngân hàng câu hỏi kịch bản
Tạo và quản lý kho câu hỏi lâm sàng
Giao bài cho lớp học
Giao bài tập cho cả lớp, mỗi học viên nhận câu hỏi khác nhau
Giao bài tự động theo lịch trình
Tự động giao kịch bản lâm sàng mỗi ngày theo chủ đề
📚 Ngân hàng câu hỏi kịch bản
Tạo và quản lý kho câu hỏi lâm sàng để giao cho học viên.
Quy trình sử dụng
Tạo câu hỏi vào ngân hàng
Soạn câu hỏi lâm sàng và lưu vào ngân hàng pnotes_source với phân loại chủ đề và độ khó.
Sao chép sang pnotes để gửi
Chọn câu hỏi từ ngân hàng → Sao chép sang pnotes để giao cho học viên.
Học viên trả lời
Học viên nhận bài qua tin nhắn nội bộ và trả lời trong hệ thống.
Giáo viên chấm điểm
Xem câu trả lời của từng học viên và chấm điểm.
Truy cập chức năng
- Từ menu: Click "Đào tạo" → Chọn "Quản lý kịch bản"
- Từ dashboard: Education Management → "Kịch Bản Lâm Sàng" → Click "Scenario Library" (xem) hoặc "Create Scenario" (tạo mới)
Tạo câu hỏi mới
Click "Create Scenario"
Từ trang Kịch Bản Lâm Sàng, click nút "Create Scenario".
Điền thông tin câu hỏi
- Tên câu hỏi/kịch bản
- Chủ đề: Nội khoa, Ngoại khoa, Cấp cứu…
- Độ khó: Level 1 (dễ) → Level 5 (rất khó)
- Nội dung: Mô tả ca bệnh, yêu cầu trả lời
- Bệnh nhân liên kết: Chọn bệnh nhân ảo
Lưu câu hỏi
Click Save → Câu hỏi được thêm vào ngân hàng, sẵn sàng để giao.
Phân loại câu hỏi
| Level | Độ khó | Phù hợp |
|---|---|---|
| Level 1 | Rất dễ | Sinh viên năm 1-2 |
| Level 2 | Dễ | Sinh viên năm 3 |
| Level 3 | Trung bình | Sinh viên năm 4-5 |
| Level 4 | Khó | Sinh viên năm 6 |
| Level 5 | Rất khó | Bác sĩ nội trú |
🏫 Giao bài cho lớp học
Giao bài tập cho cả lớp – mỗi học viên nhận câu hỏi khác nhau về cùng chủ đề, cùng thời gian.
Điểm nổi bật
- ✅ Giao cho cả lớp một lần – không cần giao từng người
- ✅ Mỗi học viên nhận bài khác nhau – ngẫu nhiên hoàn toàn
- ✅ Cùng chủ đề, cùng thời hạn – dễ quản lý
Bước 1: Quản lý lớp học
Truy cập: Education Dashboard → Quản Lý Sinh Viên → "Manage Classes"
Tạo lớp mới
- Click "Create New Class"
- Điền Tên lớp (VD: "Lớp A", "Khóa 2026") và mô tả
- Click "Create Class"
Thêm học viên vào lớp
- Click vào lớp muốn thêm học viên
- Kéo xuống phần "Add Students"
- Chọn học viên từ dropdown → Click "Add to Class"
Bước 2: Giao bài cho lớp
Truy cập: Education Dashboard → Quản Lý Sinh Viên → "Assign to Class"
Chọn lớp
Chọn lớp học từ dropdown.
Chọn chủ đề câu hỏi
Chọn chủ đề lâm sàng muốn giao (Nội khoa, Ngoại khoa…)
Chọn thời hạn nộp bài
Đặt thời hạn học viên phải hoàn thành bài.
Click "Assign to Class"
Hệ thống tự động phân phối câu hỏi ngẫu nhiên cho từng học viên trong lớp. Mỗi người nhận 1 câu hỏi khác nhau.
🤖 Giao bài tự động theo lịch trình
Tự động giao kịch bản lâm sàng 5 câu/ngày từ 1 bệnh nhân ảo trong khoảng thời gian xác định.
Cách hoạt động
- 📅 Ngày 1: 5 câu của Bệnh nhân A
- 📅 Ngày 2: 5 câu của Bệnh nhân B
- 📅 Ngày 3: 5 câu của Bệnh nhân C…
- ⏱️ Mỗi bài có thời hạn 7 ngày kể từ ngày giao
- 🎲 Câu hỏi và bệnh nhân được chọn ngẫu nhiên
- ✅ Chỉ chọn bệnh nhân có ≥5 câu hỏi trong ngân hàng
Truy cập
Navigation: Education Mode → Education Dashboard → Kịch Bản Lâm Sàng → "Assign Scenarios"
Cách sử dụng
Chọn học viên
Chọn từ dropdown "Select Student" – hiển thị: Họ Tên (email)
Chọn chủ đề
Chọn từ "Question Topic / Theme": Nội khoa, Ngoại khoa, Cấp cứu…
Chọn khoảng thời gian
Start Date – End Date (Mặc định: hôm nay → +30 ngày). Lưu ý: Start Date phải ≤ End Date.
Xem trước (Preview)
Click "Preview Assignment" để xem: tổng câu hỏi, số bệnh nhân đủ điều kiện, số ngày thực tế sẽ có bài.
Thực thi
Nếu preview hợp lý → Click "Execute Assignment" → Xác nhận → Đợi hệ thống xử lý.
Xem kết quả sau khi giao
Hệ thống hiển thị bảng tóm tắt gồm:
- Danh sách ngày đã giao bài
- Bệnh nhân ảo được chọn mỗi ngày
- 5 câu hỏi đã giao (ID câu hỏi)
- Thời hạn nộp bài (7 ngày sau ngày giao)
💾 Backup & Storage Monitor
Giám sát dung lượng server và tạo backup dữ liệu theo yêu cầu – dành cho Admin.
Truy cập hệ thống
- Qua menu: Đăng nhập Admin → Admin → System → Backup & Storage Monitor
- Trực tiếp:
/interface/main/backup_monitor.php
Dashboard – Bảng điều khiển
Hiển thị ngay khi vào trang, tự động cập nhật mỗi 30 giây:
| Chỉ số | Mô tả |
|---|---|
| Database Size | Dung lượng cơ sở dữ liệu hiện tại |
| Files Size | Dung lượng thư mục files (documents, images…) |
| Total Used | Tổng dung lượng đang sử dụng |
| Free Space | Dung lượng còn trống trên server |
Tạo Backup
Các loại backup
- 📁 Database Only: Chỉ sao lưu cơ sở dữ liệu
- 📂 Files Only: Chỉ sao lưu thư mục files/documents
- 💿 Full Backup: Sao lưu cả database và files (khuyến nghị)
Cách tạo backup
Chọn loại backup
Chọn Database Only / Files Only / Full Backup.
Click "Create Backup"
Hệ thống thêm vào hàng đợi và hiển thị progress bar theo dõi tiến độ.
Chờ hoàn thành
Hệ thống tự động nén file và tính MD5 hash để verify. Thời gian phụ thuộc kích thước dữ liệu.
Download hoặc lưu trữ
Sau khi hoàn thành, có thể Download file backup hoặc để lại trên server.
Thời gian ước tính
| Kích thước Database | Thời gian |
|---|---|
| Nhỏ (<100 MB) | 1 – 3 phút |
| Trung bình (100 MB – 1 GB) | 5 – 15 phút |
| Lớn (>1 GB) | 15 – 30 phút |
Quản lý lịch sử Backup
Bảng hiển thị 50 backup gần nhất:
| Cột | Mô tả |
|---|---|
| Date | Ngày giờ tạo backup |
| Type | Loại backup (full / database / files) |
| Size | Kích thước file |
| Status | Trạng thái (completed / failed) |
| Actions | Download / Delete |
🖥️ Hướng dẫn sử dụng Full OpenEMR
Hệ thống quản lý phòng khám toàn diện — đăng nhập, khám bệnh, kê đơn, xét nghiệm, thanh toán và báo cáo.
Tổng quan
Full OpenEMR là ứng dụng web đầy đủ tính năng dành cho quản lý phòng khám. Đây là giao diện chính mà bác sĩ và nhân viên y tế sử dụng hàng ngày để thăm khám, kê đơn, ghi nhận xét nghiệm và quản lý hồ sơ bệnh nhân.
/ba/interface/login/login.php?site=test | Thông tin
đăng nhập: admin / adminĐăng nhập
Mở trang đăng nhập
Truy cập đường dẫn: /ba/interface/login/login.php?site=test.
Nhập thông tin
Nhập Username: admin, Password: admin.
Chọn ngôn ngữ Tiếng Việt từ dropdown Language.
Click "Đăng nhập"
Hệ thống kiểm tra quyền và chuyển đến màn hình chính (Dashboard).
site=test trên URL và mật khẩu. Admin
có thể reset mật khẩu qua Master Admin → Users.Giao diện chính
Sau khi đăng nhập, màn hình chính hiển thị:
| Khu vực | Mô tả |
|---|---|
| Thanh menu trên | Danh mục chức năng: Bệnh nhân, Lịch hẹn, Đơn thuốc, Xét nghiệm, Thanh toán, Báo cáo |
| Bảng điều khiển (Dashboard) | Thống kê nhanh: số bệnh nhân hôm nay, lịch hẹn sắp tới, cảnh báo thuốc tồn kho |
| Thanh tìm kiếm | Tìm kiếm nhanh bệnh nhân theo tên, mã số, số điện thoại |
| Khu vực làm việc | Hiển thị nội dung chính khi chọn chức năng |
Quản lý bệnh nhân
Thêm bệnh nhân mới
Vào menu Bệnh nhân
Click Bệnh nhân → Thêm bệnh nhân mới.
Điền thông tin
Nhập đầy đủ: Họ tên, Ngày sinh, Giới tính, Số CMND/CCCD, Địa chỉ, Số điện thoại, Bảo hiểm y tế (nếu có). Các trường có dấu * là bắt buộc.
Lưu hồ sơ
Click Tạo bệnh nhân → Hệ thống tạo PID (Patient ID) tự động.
Tìm kiếm bệnh nhân
Sử dụng ô tìm kiếm ở góc trên bên phải. Gõ tên, mã bệnh nhân hoặc số điện thoại → Enter. Kết quả hiển thị danh sách với các thao tác: Hồ sơ, Khám mới, Lịch sử.
Khám bệnh — Encounter
Chọn bệnh nhân
Tìm và click vào hồ sơ bệnh nhân → Click Tạo lượt khám mới.
Chọn loại khám
Chọn loại hình khám: Khám thường, Tái khám, Cấp cứu, Khám sức khỏe. Chọn cơ sở y tế (phòng khám).
Điền SOAP
Ghi nhận phiếu khám theo cấu trúc SOAP:
- S (Subjective): Triệu chứng chủ quan — bệnh nhân kể
- O (Objective): Dấu hiệu lâm sàng — bác sĩ ghi nhận
- A (Assessment): Chẩn đoán — phân loại bệnh
- P (Plan): Kế hoạch điều trị — thuốc, xét nghiệm, tái khám
Lưu phiếu khám
Click Lưu → Phiếu khám được lưu vào hồ sơ bệnh nhân.
Sinh hiệu (Vitals)
Trong mỗi lượt khám, click tab Sinh hiệu để nhập:
| Chỉ số | Đơn vị |
|---|---|
| Huyết áp tâm thu / tâm trương | mmHg |
| Nhịp tim (Pulse) | lần/phút |
| Nhiệt độ | °C |
| Nhịp thở (Respiratory Rate) | lần/phút |
| Cân nặng / Chiều cao | kg / cm |
| BMI | Tự động tính |
| SpO₂ | % |
Kê đơn thuốc (Prescriptions)
Vào tab Đơn thuốc
Trong hồ sơ bệnh nhân, chọn tab Đơn Thuốc → Click Thêm đơn mới.
Tìm và chọn thuốc
Gõ tên thuốc vào ô tìm kiếm → Chọn từ danh sách gợi ý. Hệ thống hỗ trợ tra cứu từ kho nội bộ và kho thuốc quốc gia.
Nhập liều dùng
Điền: số lượng, liều dùng, đường dùng (uống/tiêm/bôi), tần suất (1-0-1), số ngày, ghi chú.
Lưu và in
Click Lưu → Có thể in đơn thuốc (HTML A5 hoặc PDF) với đầy đủ thông tin, QR code.
Xét nghiệm (Labs)
Để yêu cầu xét nghiệm: Trong lượt khám → Tab Xét nghiệm → Chọn loại xét nghiệm → Điền thông tin → Lưu. Kết quả xét nghiệm sẽ được cập nhật sau khi phòng lab hoàn thành.
Thanh toán (Billing)
Tab Thanh toán cho phép tạo hóa đơn, theo dõi công nợ và in biên lai. Hỗ trợ nhiều hình thức thanh toán: tiền mặt, chuyển khoản, bảo hiểm y tế.
Báo cáo
Menu Báo cáo cung cấp các mẫu báo cáo có sẵn: báo cáo bệnh nhân theo thời gian, doanh thu, thuốc đã kê, bệnh theo ICD-10. Xem thêm tại mục Báo cáo & Thống kê.
Quản lý thuốc — Kho
Menu Quản trị → Thuốc cho phép quản lý danh mục thuốc, tồn kho, nhập/xuất, theo dõi hạn sử dụng. Hỗ trợ ánh xạ mã MOH (Bộ Y tế) và tạo mẫu đơn thuốc (prescription templates).
Ký điện tử phiếu khám
Trong mỗi phiếu khám (SOAP, Khám lâm sàng, Sinh hiệu), click nút eSign và nhập mật khẩu để ký. Có thể ký tất cả phiếu chưa ký cùng lúc bằng nút "Ký tất cả phiếu khám". Xem hướng dẫn chi tiết tại mục Ký điện tử.
💻 Ứng dụng Desktop (React SPA)
Giao diện React hiện đại, nhẹ — tối ưu cho quản lý bệnh nhân, kê đơn và báo cáo nhanh.
Tổng quan
Desktop App là ứng dụng React SPA (Single Page Application) dành cho máy tính, cung cấp giao diện hiện đại, trực quan và nhanh. Ứng dụng chia sẻ cùng backend với Full OpenEMR nhưng được thiết kế tinh gọn, tập trung vào các tác vụ chính.
/ba/desktop/public/index.php?site=test | Thông tin
đăng nhập: admin / adminĐăng nhập
Mở Desktop App
Truy cập: /ba/desktop/public/index.php?site=test.
Chọn phương thức đăng nhập
Có 2 cách:
- Google OAuth: Click nút Google → Đăng nhập bằng tài khoản Google được cấp quyền
- Truyền thống: Chọn site → Nhập Username → Nhập Password → Click Đăng nhập
Phiên làm việc
Cookie DESKTOP_SESSION được tạo với cờ Secure. Tự động đăng xuất sau thời gian không
hoạt động.
Giao diện — Sidebar
Sau khi đăng nhập, thanh sidebar bên trái hiển thị các mục chính:
| Biểu tượng | Mục | Mô tả |
|---|---|---|
| 🏠 | Trang Chủ | Dashboard tổng quan, thống kê nhanh |
| 📋 | Danh Sách BN | Danh sách bệnh nhân, tìm kiếm và lọc |
| 👤 | Bệnh Nhân Mới | Tạo hồ sơ bệnh nhân mới |
| 📊 | Báo Cáo | Thống kê và biểu đồ |
| 💬 | Tin Nhắn | Tin nhắn nội bộ |
| 🔧 | Công Cụ | AI Chat, ICD-10, BMI, QR Scanner |
Quản lý bệnh nhân
Danh sách bệnh nhân
Click Danh Sách BN → Hiển thị danh sách bệnh nhân với các cột: STT, Họ tên, Ngày sinh, Giới tính, Số điện thoại, Địa chỉ. Có thể tìm kiếm theo tên hoặc số điện thoại.
Thêm bệnh nhân mới
Click "Bệnh Nhân Mới"
Trên sidebar, click Bệnh Nhân Mới.
Điền thông tin
Nhập họ tên, ngày sinh, giới tính, số điện thoại, địa chỉ, email, bảo hiểm y tế.
Lưu
Click Lưu → Hệ thống tạo hồ sơ và chuyển đến trang chi tiết bệnh nhân.
Chi tiết bệnh nhân
Click vào một bệnh nhân trong danh sách → Mở trang chi tiết với các tab:
| Tab | Nội dung |
|---|---|
| Thông tin | Thông tin cá nhân, bảo hiểm, lịch sử chỉnh sửa |
| Lượt khám (Encounters) | Danh sách các lượt khám, tạo lượt khám mới |
| Đơn thuốc | Danh sách đơn thuốc, tạo đơn mới, sao chép đơn |
| Tài liệu | Tài liệu đính kèm, kết quả xét nghiệm, hình ảnh |
Khám nhanh (Quick Encounter)
Vào chi tiết bệnh nhân
Chọn bệnh nhân → Tab Lượt khám → Click Tạo lượt khám.
Nhập thông tin khám
Điền SOAP, sinh hiệu, chẩn đoán (ICD-10), đơn thuốc.
Lưu
Click Lưu → Lượt khám được ghi nhận.
Công cụ (Tools)
Click Công Cụ trên sidebar để mở menu các công cụ hỗ trợ:
- 🤖 AI Chat: Chat với AI y khoa (Gemma4) — hỗ trợ tra cứu, tư vấn
- 🔢 Tra mã ICD-10: Tìm kiếm mã bệnh theo ICD-10
- 🏷️ Tra mã Site Codes: Tra cứu mã nội bộ
- 📐 BMI Calculator: Tính chỉ số BMI
- 📷 QR Scanner: Quét mã QR bệnh nhân
Cấu hình hệ thống
Desktop App kết nối qua các API endpoints:
auth.php— Xác thực đăng nhập (POST với{username, password})patients.php— Quản lý bệnh nhânencounters.php— Quản lý lượt khámprescriptions.php— Quản lý đơn thuốctools.php— Công cụ AI, ICD-10
📱 Ứng dụng Mobile (PHP)
Phiên bản di động tối ưu cho bác sĩ khám bệnh lưu động — quản lý bệnh nhân, khám nhanh, AI tools ngay trên điện thoại.
Tổng quan
Mobile App là ứng dụng PHP được thiết kế dành riêng cho thiết bị di động. Giao diện gọn nhẹ, thanh điều hướng dưới cùng giúp thao tác nhanh bằng một tay. Tích hợp đầy đủ các công cụ AI: OCR, Dictation, AI Chat, Tóm tắt y bạ.
/ba/mobile/password-login.php?site=test | Thông tin
đăng nhập: admin / adminĐăng nhập
Mở Mobile App
Truy cập: /ba/mobile/password-login.php?site=test.
Chọn cơ sở (Site)
Dropdown chọn site — mặc định là test.
Nhập thông tin
Nhập Username: admin, Password: admin →
Click Đăng nhập.
?site=test. Nếu không, bạn sẽ thấy dropdown chọn
site trước khi nhập thông tin.Giao diện — Bottom Navigation
Thanh điều hướng dưới cùng gồm 5 mục:
| Biểu tượng | Mục | Mô tả |
|---|---|---|
| 🏠 | Trang Chủ | Dashboard tổng quan, thống kê nhanh |
| 👥 | Bệnh Nhân | Danh sách, tìm kiếm, tạo bệnh nhân |
| ⚡ | Khám Nhanh | Tạo lượt khám nhanh + dictation + sinh hiệu |
| 💬 | Tin Nhắn | Tin nhắn nội bộ giữa nhân viên |
| 🔧 | Công Cụ | AI Chat, ICD-10, Dictation, OCR, BMI, QR, Tóm tắt y bạ |
Quản lý bệnh nhân
Tìm kiếm bệnh nhân
Click Bệnh Nhân → Ô tìm kiếm ở đầu trang. Gõ tên, số điện thoại hoặc mã bệnh nhân. Kết quả hiển thị dạng danh sách, click vào để xem chi tiết.
Tạo bệnh nhân mới
Click nút "+"
Trên trang danh sách bệnh nhân, click nút + (góc phải).
Điền thông tin
Nhập họ tên, ngày sinh, giới tính, số điện thoại, địa chỉ.
Lưu
Click Lưu → Tự động chuyển đến trang chi tiết bệnh nhân.
Chi tiết bệnh nhân
Gồm các tab:
- Thông tin — Hồ sơ cá nhân, bảo hiểm
- Lượt khám — Danh sách và tạo lượt khám mới
- Đơn thuốc — Kê đơn, xem lịch sử
- Tài liệu — Upload và xem tài liệu, hình ảnh, kết quả xét nghiệm
Khám nhanh (Quick Encounter)
Chọn bệnh nhân
Click Khám Nhanh → Chọn bệnh nhân từ danh sách hoặc tìm kiếm.
Nhập thông tin
Điền Chẩn đoán, Ghi chú. Có thể dùng 🎤 Dictation để nhập bằng giọng nói.
Sinh hiệu
Nhập huyết áp, nhịp tim, nhiệt độ, cân nặng, BMI tự động tính.
Lưu
Click Lưu → Tạo lượt khám mới với đầy đủ thông tin.
Công cụ Mobile
Click Công Cụ (🔧) để mở danh sách tools:
| Công cụ | Đường dẫn | Mô tả |
|---|---|---|
| 🤖 AI Chat | tool-ai.php |
Chat với AI y khoa Gemma4 |
| 🔢 ICD-10 | tool-icd10.php |
Tra cứu mã bệnh ICD-10 / ICPC2 |
| 🎤 Chép Chính Tả | tool-dictation.php |
Ghi âm → AI chỉnh sửa → văn bản y khoa |
| 📄 Quét Tài Liệu | tool-ocr.php |
OCR: chụp ảnh toa thuốc, xét nghiệm → text |
| 📐 BMI | tool-bmi.php |
Tính chỉ số BMI |
| 📷 QR | tool-qr.php |
Quét mã QR |
| 📝 Tóm Tắt Y Bạ | tool-summarize.php |
AI tóm tắt hồ sơ bệnh án |
Báo cáo Mobile
Trang Báo Cáo trên Mobile cung cấp 4 loại báo cáo với biểu đồ Chart.js:
- 📊 Bệnh nhân — Thống kê bệnh nhân theo thời gian
- 💊 Đơn thuốc — Thống kê thuốc đã kê
- 🦠 Bệnh — Thống kê bệnh theo ICD-10
- 📈 Xu hướng khám — Biểu đồ số lượt khám theo ngày
🌐 Cổng thông tin bệnh nhân — Portal V2 (Vue 3)
Giao diện dành cho bệnh nhân — xem hồ sơ, lịch hẹn, kết quả xét nghiệm và liên hệ bác sĩ trực tuyến.
Tổng quan
Portal V2 là ứng dụng Vue 3 SPA dành cho bệnh nhân. Bệnh nhân có thể đăng nhập, xem hồ sơ sức khỏe, đặt lịch hẹn, xem kết quả xét nghiệm, nhắn tin với bác sĩ và thanh toán trực tuyến.
/ba/portal/v2/index.htmlĐăng nhập
Bệnh nhân có 2 cách đăng nhập:
Google OAuth
Click nút Google → Đăng nhập bằng tài khoản Google đã được liên kết với hồ sơ bệnh nhân.
Magic Link (Email)
Nhập địa chỉ email → Hệ thống gửi link đăng nhập qua email → Click link để vào Portal.
localStorage của trình duyệt. Đăng xuất sẽ xóa
token và chuyển về trang đăng nhập.Các trang chính
| Route | Mô tả |
|---|---|
| Dashboard | Trang tổng quan: lời nhắc lịch hẹn, thông báo mới |
| Lịch hẹn | Xem, đặt, hủy lịch hẹn với bác sĩ |
| Hồ sơ sức khỏe | Nhật ký sức khỏe, tra cứu thuốc, kết quả xét nghiệm |
| Tài liệu | Upload và xem tài liệu y tế (hỗ trợ OCR tự động) |
| Tin nhắn | Nhắn tin với bác sĩ và nhân viên phòng khám |
| Hồ sơ | Thông tin cá nhân, đổi mật khẩu |
| Thanh toán | Xem hóa đơn, thanh toán trực tuyến |
| Cài đặt | Thông báo, ngôn ngữ, bảo mật |
| Công cụ | Zalo, OCR, AI Chat (cấu hình theo site) |
Đặt lịch hẹn
Vào trang Lịch hẹn
Click Lịch hẹn trên menu.
Chọn ngày và giờ
Xem lịch trống của bác sĩ → Chọn khung giờ phù hợp.
Xác nhận
Nhập lý do khám → Click Xác nhận → Nhận email/xác nhận qua Portal.
Upload tài liệu với OCR
Vào Tài liệu
Click Tài liệu → Upload tài liệu.
Chọn file
Chọn ảnh chụp đơn thuốc, kết quả xét nghiệm hoặc giấy tờ y tế.
OCR tự động
Hệ thống tự động nhận dạng văn bản (OCR) từ hình ảnh và lưu kết quả.
Nhật ký sức khỏe
Bệnh nhân có thể ghi nhật ký sức khỏe hàng ngày: chỉ số đường huyết, huyết áp, cân nặng, triệu chứng. Dữ liệu được biểu diễn dưới dạng biểu đồ để theo dõi xu hướng.
Tra cứu thuốc
Chức năng Medication Lookup cho phép bệnh nhân tra cứu thông tin thuốc: công dụng, liều dùng, tác dụng phụ, tương tác thuốc.
Cấu hình tính năng (Admin)
Các tính năng Portal có thể bật/tắt theo site:
| Tính năng | Mô tả |
|---|---|
| Zalo | Tích hợp gửi thông báo qua Zalo OA |
| OCR | Nhận dạng văn bản từ tài liệu upload |
| AI | Chat với AI hỗ trợ bệnh nhân |
⚙️ Master Admin — Quản trị hệ thống
Trung tâm quản trị toàn bộ hệ thống: quản lý site, người dùng, cache, backup, giám sát và triển khai.
Tổng quan
Master Admin là ứng dụng quản trị trung tâm dành cho Admin hệ thống. Từ đây, Admin có thể quản lý nhiều site (phòng khám), người dùng toàn hệ thống, giám sát hiệu năng, tạo backup và triển khai cập nhật.
/ba/master/ | Thông tin đăng nhập mặc định:
admin / mật khẩu trong credentials.json (bcrypt)Đăng nhập
Mở Master Admin
Truy cập: /ba/master/.
Đăng nhập
Có 2 cách:
- Truyền thống: Nhập username/password từ file
credentials.json - Google OAuth: Đăng nhập bằng tài khoản Google được ủy quyền
credentials.json. Nếu quên,
Admin server cần chỉnh sửa trực tiếp file này.Dashboard — Bảng điều khiển
Sau khi đăng nhập, dashboard hiển thị tổng quan hệ thống:
| Widget | Mô tả |
|---|---|
| Tổng số site | Số lượng phòng khám đang hoạt động |
| Tổng số người dùng | Số tài khoản trên tất cả các site |
| Dung lượng | Tổng dung lượng database + files đã sử dụng |
| Trạng thái Workers | Tình trạng hoạt động của các worker daemon |
| Thông báo | Cảnh báo: backup lỗi, dung lượng thấp, worker ngừng |
Quản lý Site
Menu Sites Management cho phép:
- Tạo site mới — Cấu hình phòng khám mới với đầy đủ package
- Chỉnh sửa site — Thay đổi cấu hình, package, giới hạn dung lượng
- Xóa site — Vô hiệu hóa hoặc xóa hoàn toàn
- Provisioning — Tự động tạo cấu hình site, database, thư mục
Quản lý người dùng
Menu Users cho phép quản lý người dùng trên tất cả các site:
- Xem danh sách người dùng toàn hệ thống
- Thêm/sửa/xóa người dùng
- Đặt lại mật khẩu
- Phân quyền theo ACL
- Import hàng loạt từ CSV
Giám sát (Monitoring)
Mục Monitoring cung cấp:
- 📈 Biểu đồ CPU, RAM, Disk của server
- 📊 Thống kê số lượt khám theo site, theo thời gian
- ⏱️ Thời gian phản hồi API trung bình
- 🔔 Lịch sử cảnh báo và sự kiện hệ thống
27 công cụ quản trị (Admin Tools)
Truy cập: /ba/master/admin/tools/. Đây là bộ công cụ mạnh mẽ dành cho Admin:
| Nhóm | Công cụ |
|---|---|
| Cache | Xóa cache PHP, xóa cache template, xóa cache API |
| Backup | Kiểm tra backup, tạo backup thủ công, xem lịch sử |
| Database | Xác minh DB, sửa lỗi schema, tối ưu bảng |
| Cài đặt | Cài đặt tính năng mới, cập nhật module |
| Kiểm tra | System test, kiểm tra kết nối, kiểm tra permission |
| Triển khai | Deploy cập nhật, đồng bộ cấu hình giữa các site |
| Chẩn đoán | Diagnostics, log viewer, PHP info |
Email System
Master Admin quản lý toàn bộ hệ thống email:
- Queue Management — Xem hàng đợi email, gửi lại email lỗi
- Templates — Tạo và chỉnh sửa mẫu email (quên mật khẩu, xác nhận lịch hẹn...)
- SMTP Config — Cấu hình SMTP server cho từng site
Backup & Khôi phục
Xem hướng dẫn chi tiết tại mục Backup & Storage Monitor. Từ Master Admin có thể tạo backup cho bất kỳ site nào và theo dõi tiến độ tập trung.
🤖 Tổng quan về Công cụ AI
Hệ thống tích hợp nhiều công cụ AI hỗ trợ bác sĩ trong công việc hàng ngày — OCR, Dictation, AI Chat, Tóm tắt y bạ và Tra cứu ICD-10.
Giới thiệu
BA Clinic tích hợp các công cụ AI mạnh mẽ chạy trên nền tảng GPU, hỗ trợ bác sĩ trong nhiều tác vụ lâm sàng. Các công cụ AI hoạt động xuyên suốt trên tất cả nền tảng: Desktop App, Mobile App, Full OpenEMR và Portal V2.
Danh sách công cụ AI
| Công cụ | Mô tả | Nền tảng |
|---|---|---|
| 📄 OCR — Quét tài liệu | Upload ảnh (đơn thuốc, xét nghiệm) → AI nhận dạng → text | Mobile, Desktop, Portal V2 |
| 🎤 Dictation — Chép chính tả | Ghi âm giọng nói → AI chỉnh sửa y khoa → văn bản SOAP | Mobile, Desktop, Full |
| 💬 AI Chat | Chat với AI y khoa Gemma4 — hỗ trợ tra cứu, tư vấn | Mobile, Desktop, Full |
| 📝 AI Tóm tắt y bạ | Tóm tắt hồ sơ bệnh án bằng AI | Mobile |
| 🔢 Tra mã ICD-10 / ICPC2 | Tra cứu mã bệnh theo từ khóa qua CodeFinder API | Mobile, Desktop |
Kiến trúc AI
Các công cụ AI hoạt động theo mô hình client-server:
- Client (Mobile/Desktop/Portal) gửi request đến API endpoint
- API Proxy:
/api/ai-tools/ocr-proxy.php— nhận request, chuyển đến AI server - AI Server GPU: Xử lý mô hình (DeepSeek OCR / Gemma4) và trả kết quả
Hướng dẫn chi tiết
Click vào các mục bên dưới để xem hướng dẫn cụ thể cho từng công cụ:
OCR — Quét tài liệu
Chụp ảnh đơn thuốc, xét nghiệm → AI nhận dạng văn bản
Dictation — Chép chính tả
Ghi âm giọng nói, AI chuyển thành văn bản y khoa
AI Chat & Tóm tắt y bạ
Chat với AI y khoa, tóm tắt hồ sơ bệnh án
📄 OCR — Quét tài liệu y tế
Nhận dạng văn bản từ hình ảnh đơn thuốc, kết quả xét nghiệm và giấy tờ lâm sàng bằng AI.
Tổng quan
Tính năng OCR (Optical Character Recognition) cho phép chụp ảnh hoặc upload hình ảnh tài liệu y tế, hệ thống AI (dựa trên Qwen2.5-VL-3B) sẽ tự động nhận dạng và trích xuất văn bản.
Các loại tài liệu hỗ trợ
| Loại tài liệu | Ví dụ | Độ chính xác |
|---|---|---|
| Đơn thuốc | Đơn thuốc viết tay, đơn thuốc in | Rất cao |
| Xét nghiệm | Kết quả xét nghiệm máu, nước tiểu, chẩn đoán hình ảnh | Cao |
| Giấy tờ | CMND/CCCD, bảo hiểm y tế, giấy chuyển viện | Cao |
| Ghi chép lâm sàng | Ghi chép tay của bác sĩ, phiếu khám cũ | Trung bình-Cao |
Cách sử dụng trên Mobile
Mở Công Cụ
Click Công Cụ (🔧) → Chọn 📄 Quét Tài Liệu
(tool-ocr.php).
Chọn hoặc chụp ảnh
Click nút Chọn ảnh → Chụp ảnh tài liệu bằng camera hoặc chọn từ thư viện.
Chọn danh mục
Chọn loại tài liệu: Đơn thuốc, Xét nghiệm, Giấy tờ, Ghi chép lâm sàng — giúp AI tối ưu nhận dạng.
Xác nhận và chờ kết quả
Upload ảnh → Hệ thống gửi đến AI server → Hiển thị văn bản nhận dạng được. Có thể copy, lưu hoặc đính kèm vào hồ sơ bệnh nhân.
Cách sử dụng trên Portal V2
Vào Tài liệu
Đăng nhập Portal V2 → Click Tài liệu → Upload tài liệu.
Upload file
Chọn file ảnh hoặc PDF từ máy.
OCR tự động
Hệ thống tự động OCR văn bản từ tài liệu và lưu vào hệ thống.
Cách sử dụng trên Desktop
Mở Công Cụ
Click Công Cụ trên sidebar → Chọn OCR.
Upload ảnh
Chọn file ảnh (JPG, PNG) → Hệ thống xử lý qua API tools.php.
Nhận kết quả
Văn bản nhận dạng hiển thị trong khung kết quả → Copy hoặc lưu.
API OCR
Endpoint: POST /api/ai-tools/ocr-proxy.php
- Body:
multipart/form-datavới file ảnh - Kết quả: JSON chứa văn bản nhận dạng
🎤 Chép chính tả (Dictation) — Ghi âm thành văn bản
Chuyển giọng nói thành văn bản y khoa — hỗ trợ nhập liệu nhanh trong phiếu khám SOAP và tin nhắn.
Tổng quan
Tính năng Dictation (Chép chính tả) cho phép bác sĩ nói nội dung khám bệnh, hệ thống tự động chuyển thành văn bản và điền vào form SOAP hoặc tin nhắn. Hỗ trợ 2 chế độ: thời gian thực (Web Speech API) và AI chỉnh sửa sau (Gemma4).
Hai chế độ ghi âm
| Chế độ | Công nghệ | Ưu điểm | Nhược điểm |
|---|---|---|---|
| Thời gian thực (MIC 🎤) | Web Speech API (Chrome/Safari) | Kết quả ngay lập tức | Phụ thuộc trình duyệt, độ chính xác thấp hơn |
| AI Cải thiện | Ghi âm → Gemma4 xử lý | Độ chính xác cao, thuật ngữ y khoa | Cần chờ AI xử lý |
Sử dụng Dictation trên Mobile
Mở công cụ
Click Công Cụ (🔧) → Chọn 🎤 Chép Chính Tả
(tool-dictation.php).
Ghi âm
Click nút 🎤 MIC để bắt đầu ghi âm thời gian thực (yêu cầu Chrome/Safari). Nói rõ ràng nội dung cần ghi.
AI chỉnh sửa
Sau khi dừng ghi, click AI Correct để gửi text lên Gemma4 chỉnh sửa thuật ngữ y khoa.
Lưu vào SOAP
Click Lưu vào SOAP → Văn bản được lưu vào form SOAP của bệnh nhân.
Sử dụng Dictation trên Full OpenEMR
Trong giao diện Full OpenEMR, tính năng ghi âm được tích hợp vào tất cả các textarea qua speech-module. Khi click vào ô nhập liệu, nút MIC 🎤 xuất hiện ngay cạnh ô:
Click vào ô văn bản
Trong form SOAP, Messages hoặc Clinical Notes, click vào ô textarea.
Click nút MIC 🎤
Nút microphone xuất hiện bên cạnh ô nhập → Click để bắt đầu ghi.
Nói nội dung
Nói nội dung cần ghi → Văn bản xuất hiện trực tiếp trong ô.
Dừng ghi
Click lại nút MIC để dừng → Nội dung đã được nhập vào textarea.
Sử dụng Dictation trên Desktop App
Trên Desktop App (React SPA), dictation có thể truy cập qua Công Cụ → AI Chat với chế độ
correct (chỉnh sửa dictation). Hoặc qua API tools.php.
Lưu ý khi sử dụng
- Nói rõ ràng, tốc độ vừa phải, không nói quá nhanh
- Sử dụng trong môi trường yên tĩnh để giảm nhiễu
- Kết quả Web Speech API có thể không hoàn hảo → sử dụng AI Correct để cải thiện
- Luôn kiểm tra lại văn bản trước khi lưu
💬 AI Chat & Tóm tắt y bạ
Chat với AI y khoa Gemma4 — hỗ trợ tra cứu thông tin, tư vấn lâm sàng và tóm tắt hồ sơ bệnh án.
Tổng quan
AI Chat là công cụ chat với AI y khoa dựa trên mô hình Gemma4. Bác sĩ có thể đặt câu hỏi về chẩn đoán, phác đồ điều trị, tương tác thuốc, tra cứu ICD-10 và nhiều hơn nữa. Công cụ có sẵn trên Desktop, Mobile và Full OpenEMR.
Các chế độ AI Chat
| Chế độ | Mô tả | Icon |
|---|---|---|
| Chat | Hội thoại tự do với AI — hỏi đáp y khoa | 💬 |
| Correct | Chỉnh sửa văn bản dictation — sửa lỗi chính tả, thuật ngữ y khoa | ✏️ |
| Summarize | Tóm tắt hồ sơ bệnh án — rút gọn thông tin quan trọng | 📝 |
Sử dụng AI Chat trên Mobile
Mở AI Chat
Click Công Cụ (🔧) → Chọn 🤖 AI Chat (tool-ai.php).
Chọn chế độ
Chọn 1 trong 3 chế độ: Chat, Correct (chỉnh dictation), hoặc Summarize (tóm tắt y bạ).
Nhập câu hỏi
Gõ câu hỏi hoặc nội dung cần xử lý vào ô chat.
Nhận kết quả
AI trả lời trong khung chat. Có thể copy kết quả hoặc tiếp tục đặt câu hỏi.
Sử dụng AI Chat trên Desktop
Mở Công Cụ
Click Công Cụ trên sidebar → Chọn AI Chat.
Đặt câu hỏi
Gõ câu hỏi bằng tiếng Việt → AI trả lời dựa trên Gemma4.
Sử dụng AI Chat trên Full OpenEMR
Trong Full OpenEMR, AI Chat có thể truy cập qua menu hoặc tích hợp trong các form nhập liệu.
AI Tóm tắt y bạ (Mobile)
Tính năng AI Tóm tắt y bạ (tool-summarize.php) tự động rút gọn hồ sơ bệnh
án của bệnh nhân thành bản tóm tắt ngắn gọn, bao gồm:
- 🆔 Thông tin bệnh nhân: Tên, tuổi, giới tính, mã bệnh nhân
- 📋 Tiền sử bệnh: Bệnh nền, dị ứng, phẫu thuật trước đây
- 💊 Thuốc đang dùng: Danh sách thuốc hiện tại, liều dùng
- 📊 Kết quả xét nghiệm gần nhất: Các chỉ số quan trọng
- 📝 Kết luận: Chẩn đoán chính, kế hoạch điều trị
Mở Công Cụ
Click Công Cụ (🔧) → Chọn 📝 Tóm Tắt Y Bạ.
Chọn bệnh nhân
Tìm và chọn bệnh nhân cần tóm tắt.
AI xử lý
Hệ thống gửi hồ sơ bệnh nhân đến AI → Nhận bản tóm tắt.
Xem và lưu
Xem bản tóm tắt → Có thể copy, in hoặc lưu vào hồ sơ.
Ví dụ câu hỏi cho AI Chat
| Lĩnh vực | Câu hỏi mẫu |
|---|---|
| Chẩn đoán | "Bệnh nhân sốt 39°C, đau họng, ho khan 3 ngày. Chẩn đoán phân biệt?" |
| Thuốc | "Metformin và thuốc ức chế SGLT2 có dùng cùng nhau được không?" |
| ICD-10 | "Mã ICD-10 cho tăng huyết áp vô căn là gì?" |
| Liều dùng | "Liều khởi đầu của Amlodipine cho bệnh nhân tăng huyết áp?" |
📊 Báo cáo & Thống kê
Báo cáo chi tiết về bệnh nhân, đơn thuốc, bệnh và xu hướng khám — hỗ trợ quản lý phòng khám hiệu quả.
Tổng quan
Hệ thống cung cấp nhiều loại báo cáo và thống kê trực quan, giúp bác sĩ và quản lý nắm bắt tình hình hoạt động của phòng khám. Báo cáo có sẵn trên tất cả các nền tảng: Desktop, Mobile, Full OpenEMR và Master Admin.
Báo cáo trên Desktop App
Truy cập: Click Báo Cáo trên sidebar → Trang báo cáo hiển thị các thống kê và biểu đồ.
| Loại báo cáo | Mô tả |
|---|---|
| Bệnh nhân mới | Số lượng bệnh nhân mới theo ngày/tuần/tháng |
| Lượt khám | Số lượt khám trong khoảng thời gian |
| Đơn thuốc | Thống kê thuốc được kê nhiều nhất |
| Doanh thu | Tổng hợp doanh thu theo dịch vụ |
Báo cáo trên Mobile App
Mobile App cung cấp 4 loại báo cáo với biểu đồ Chart.js: vào Trang Chủ → Chọn loại báo cáo từ danh sách.
1. Báo cáo Bệnh nhân
Thống kê số bệnh nhân theo ngày trong tháng. Biểu đồ cột hiển thị số lượng bệnh nhân mới mỗi ngày. Hỗ trợ xem chi tiết khi click vào từng cột.
2. Báo cáo Đơn thuốc
Danh sách thuốc được kê nhiều nhất, kèm số lượng và tần suất. Hữu ích để quản lý tồn kho và dự báo nhu cầu thuốc.
3. Báo cáo Bệnh
Thống kê bệnh theo mã ICD-10. Xem được bệnh nào xuất hiện nhiều nhất, phân bố theo giới tính và độ tuổi.
4. Báo cáo Xu hướng khám
Biểu đồ đường thể hiện xu hướng số lượt khám theo thời gian. Giúp nhận biết mùa cao điểm và lập kế hoạch nhân sự.
Báo cáo trên Full OpenEMR
Menu Báo cáo trong Full OpenEMR cung cấp đầy đủ các mẫu báo cáo chuẩn của OpenEMR:
- Báo cáo lâm sàng: Danh sách bệnh nhân theo chẩn đoán, thuốc đã kê
- Báo cáo tài chính: Doanh thu, công nợ, thanh toán
- Báo cáo nhân sự: Số lượt khám theo bác sĩ, hiệu suất làm việc
- Báo cáo bảo hiểm: Thống kê bệnh nhân bảo hiểm y tế
- Báo cáo ICD-10: Phân bố bệnh theo mã ICD-10
Báo cáo trên Master Admin
Master Admin cung cấp dashboard tổng quan với thống kê theo từng site. Cho phép Admin so sánh hiệu suất giữa các phòng khám, xem tổng dung lượng, số người dùng và cảnh báo toàn hệ thống.
Xuất báo cáo
Hầu hết các báo cáo đều hỗ trợ xuất dữ liệu:
- 📄 In trực tiếp: In từ trình duyệt
- 📊 Xuất PDF: Tải báo cáo dạng PDF
- 📑 Xuất CSV/Excel: Tải dữ liệu thô để phân tích
Tùy chỉnh khoảng thời gian
Chọn báo cáo
Vào trang báo cáo mong muốn.
Chọn khoảng thời gian
Click vào ô Từ ngày và Đến ngày → Chọn ngày trên lịch.
Xem kết quả
Biểu đồ và bảng dữ liệu tự động cập nhật theo khoảng thời gian đã chọn.
⚙️ Hệ thống Workers — Xử lý nền tự động
Các tiến trình chạy nền thực hiện tác vụ tự động: AI, ghi âm, đồng bộ và xử lý dữ liệu — dành cho Admin hệ thống.
Tổng quan
Hệ thống Workers là các tiến trình (daemon) và tác vụ cron chạy nền, đảm bảo các xử lý tự động diễn ra liên tục: xử lý AI, transcribe ghi âm, đồng bộ đơn thuốc, merge dữ liệu và nhiều tác vụ khác.
/ba/workers/ | Quản lý workers:
bash workers/run.sh status|start|stop|restartDanh sách Workers
| Worker | Script | Loại | Tần suất | Mô tả |
|---|---|---|---|---|
| EMR Processor | ai_processor.php |
Daemon + Cron | Mỗi 3 phút | Xử lý các tác vụ AI hàng đợi: OCR, chat, tóm tắt |
| Recorder Processor | recorder_processor.php |
Daemon | Liên tục | Xử lý các bản ghi âm cassette, chuyển đến AI transcribe |
| Intake Processor | intake_processor.php |
Daemon | Liên tục (per-site) | Xử lý dữ liệu tiếp nhận bệnh nhân theo từng site |
| Merge Worker | merge_worker.php |
Cron | Mỗi 2 phút | Gộp dữ liệu trùng lặp, đồng bộ hồ sơ |
| Transcribe Audio | transcribe.php |
Cron | Mỗi 5 phút | Transcribe các file ghi âm chưa xử lý |
| Prescription Sync | prescription_sync.php |
Cron | Mỗi 30 phút | Đồng bộ đơn thuốc giữa các hệ thống |
Quản lý Workers
Dùng script run.sh để quản lý tất cả workers:
Xem trạng thái
cd /ba/workers/
bash run.sh status
Hiển thị danh sách worker và trạng thái: 🟢 running hoặc 🔴 stopped.
Khởi động tất cả workers
bash run.sh start
Dừng tất cả workers
bash run.sh stop
Khởi động lại
bash run.sh restart
Chi tiết từng Worker
EMR Processor
Worker quan trọng nhất — xử lý tất cả tác vụ AI: OCR nhận dạng văn bản, AI Chat, tóm tắt y bạ. Chạy dưới dạng daemon với cơ chế cron dự phòng mỗi 3 phút. Nếu daemon gặp sự cố, cron sẽ khởi động lại.
- Đọc hàng đợi từ database
- Gửi request đến AI server GPU
- Lưu kết quả vào database
- Ghi log chi tiết vào
/ba/workers/logs/
Recorder Processor
Xử lý các file ghi âm từ chế độ Cassette ⏺️. Khi bác sĩ ghi âm bằng nút Cassette, file âm thanh được lưu và đưa vào hàng đợi. Recorder Processor lấy file, gửi đến AI transcribe và lưu kết quả.
Intake Processor
Chạy dưới dạng daemon riêng cho mỗi site (phòng khám). Xử lý dữ liệu tiếp nhận: đăng ký bệnh nhân mới, cập nhật thông tin từ cổng thông tin, đồng bộ dữ liệu từ các nguồn bên ngoài.
Merge Worker
Chạy mỗi 2 phút, tự động phát hiện và gộp các hồ sơ bệnh nhân trùng lặp dựa trên tên, ngày sinh và số điện thoại. Ghi log chi tiết để Admin kiểm tra.
Transcribe Audio
Chạy mỗi 5 phút, kiểm tra các file ghi âm chưa được xử lý. Gửi file đến AI speech-to-text và cập nhật kết quả vào form SOAP tương ứng.
Prescription Sync
Chạy mỗi 30 phút, đồng bộ dữ liệu đơn thuốc giữa các hệ thống (Desktop, Mobile, Full). Đảm bảo đơn thuốc mới tạo trên nền tảng nào cũng xuất hiện trên các nền tảng khác.
Kiểm tra Logs
Log của workers được ghi tại:
ls -la /ba/workers/logs/
Xem log gần nhất:
tail -f /ba/workers/logs/emr_processor.log
tail -f /ba/workers/logs/recorder.log
Xử lý sự cố
| Sự cố | Nguyên nhân | Xử lý |
|---|---|---|
| Worker không chạy | Daemon bị tắt, thiếu quyền | Chạy bash run.sh restart với quyền root |
| EMR Processor lỗi | AI server không khả dụng | Kiểm tra kết nối đến GPU server |
| Transcribe không xử lý | File âm thanh hỏng | Kiểm tra file trong thư mục uploads |
| Prescription Sync chậm | Lượng đơn thuốc lớn | Tăng tần suất cron lên 15 phút |
🔍 Tra mã bệnh ICD-10 / ICPC2
Tìm nhanh mã bệnh quốc tế phục vụ chẩn đoán và báo cáo.
Tổng quan
CodeFinder là hệ thống tra cứu mã y tế thông minh, hỗ trợ tìm kiếm ICD-10, ICPC2, CPT, và mã dịch vụ. Cache 3 tầng cho tốc độ tra cứu nhanh.
Cách sử dụng Mobile
Vào Công Cụ → Tra ICD-10
🛠️ Công Cụ → 🩺 Tra ICD-10
Gõ từ khóa
Nhập tên bệnh bằng tiếng Việt: "tăng huyết áp", "đái tháo đường", "viêm phổi"
Kết quả
Danh sách mã ICD-10 kèm mô tả ngắn và dài. Click để copy mã.
Trên Desktop
Vào 🛠️ Công Cụ → Tra ICD-10. Giao diện tìm kiếm tương tự, hỗ trợ gõ ≥2 ký tự để bắt đầu tìm.
Mã hỗ trợ
| Loại mã | Mô tả | Ví dụ |
|---|---|---|
| ICD-10 | Phân loại bệnh quốc tế | I10 – Tăng huyết áp |
| ICPC2 | Phân loại chăm sóc ban đầu | K86 – Tăng huyết áp không biến chứng |
| CPT | Mã thủ thuật y tế | 99213 – Khám bệnh |