Hệ thống quản lý phòng khám – Hướng dẫn sử dụng

📖 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.

🔑
Tài khoản & Đăng nhập
Quên mật khẩu, tạo hàng loạt tài khoản
2 hướng dẫn
💊
Đơn thuốc
Sao chép đơn thuốc, lọc kho nội bộ
2 hướng dẫn
✍️
Phiếu khám & Ký số
Ký điện tử từng phiếu hoặc ký tất cả
1 hướng dẫn
🎤
Ghi âm giọng nói
2 chế độ ghi âm, cấu hình linh hoạt
1 hướng dẫn
🎓
Hệ thống đào tạo
Bệnh nhân ảo, câu hỏi lâm sàng, giao bài
4 hướng dẫn
💾
Quản trị hệ thống
Backup dữ liệu, giám sát dung lượng
1 hướng dẫn
🤖
AI & Công cụ thông minh
OCR quét tài liệu, chép chính tả, AI chat, tra ICD-10
5 hướng dẫn
🖥️
Các phiên bản
Full OpenEMR, Desktop, Mobile, Portal, Master Admin
5 phiên bản
📊
Báo cáo & Thống kê
Báo cáo BN, thuốc, bệnh, xu hướng khám
1 hướng dẫn

🕐 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)
Cập nhật: 01/03/2026  |  Dành cho người dùng

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.

⚠️ Link đặt lại mật khẩu chỉ dùng được 1 lần và hết hạn sau 1 giờ. Nếu hết hạn, cần thực hiện lại từ đầu.

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:

  1. Vào Admin → Users
  2. Tìm tài khoản người dùng
  3. Thêm địa chỉ email hợp lệ
  4. Hoặc Admin có thể reset password trực tiếp ngay trên trang quản lý người dùng
💡 Hệ thống gửi email qua Gmail SMTP. Nếu không nhận được email sau 5 phút, kiểm tra thư mục Spam/Junk.
👥

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

Cập nhật: 2026  |  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
✅ Mỗi tài khoản được tạo đầy đủ thông tin trong bảng users, user_settings và được gán vào cơ sở y tế đã chọn.
Cập nhật: 12/02/2026  |  Dành cho bác sĩ / dược sĩ

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
⚡ Thời gian tiết kiệm: 10 giây thay vì 2-3 phút nhập tay từng thuốc.

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

  1. Vào hồ sơ bệnh nhân
  2. Xem đơn thuốc tháng trước (Metformin 500mg)
  3. Nhấn Copy → Xác nhận OK
  4. Kiểm tra thông tin (không cần sửa) → Nhấn Lưu
  5. In đơn cho bệnh nhân → Hoàn tất trong 10 giây

Tăng liều huyết áp

  1. Sao chép đơn cũ (Amlodipine 5mg x1)
  2. Sửa số lượng: 1 → 2
  3. Sửa hướng dẫn: "Uống 1 viên/ngày" → "Uống 2 viên/ngày"
  4. 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

Cập nhật: 12/02/2026  |  Dành cho bác sĩ / dược sĩ

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
💡 Các thuốc xám vẫn có thể được chọn nếu cần – chúng không bị ẩn hoàn toàn.
Cập nhật: 01/03/2026  |  Dành cho bác sĩ

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: …

📌 Nếu phiếu đã ký và lock, nút "eSign" sẽ đổi thành "Locked" màu xám – không thể sửa.

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

  1. Mở DevTools (F12) → Tab Console
  2. Nếu thấy "The password you entered is invalid" → Kiểm tra lại mật khẩu
  3. Thử đăng xuất và đăng nhập lại
  4. 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
Cập nhật: 27/02/2026  |  Dành cho bác sĩ

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.

💡 Truy cập nhanh cài đặt: /interface/super/edit_globals.php#Features

Hướng dẫn sử dụng ghi âm

Chế độ Voice-to-Text (nút MIC 🎤)

  1. Trong biểu mẫu SOAP hoặc Messages, click nút 🎤 MIC
  2. Trình duyệt yêu cầu quyền microphone → Click Allow/Cho phép
  3. Nói rõ ràng vào microphone
  4. Văn bản xuất hiện ngay lập tức trong ô nhập liệu
  5. Click nút MIC lần nữa để dừng
⚠️ Chế độ này yêu cầu Google Chrome và kết nối internet ổn định.

Chế độ File Recording (nút CASSETTE ⏺️)

  1. Click nút ⏺️ CASSETTE để bắt đầu ghi
  2. Nói nội dung cần ghi
  3. Click nút lần nữa để dừng và upload file
  4. File âm được gửi đến AI để xử lý
  5. Kết quả transcription trả về sau 22:00 cùng ngày
Cập nhật: 2026  |  Giảng viên & Admin

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ủ đề

Cập nhật: 2026  |  Giảng 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ú
Cập nhật: 22/02/2026  |  Giảng viên

Đ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

  1. Click "Create New Class"
  2. Điền Tên lớp (VD: "Lớp A", "Khóa 2026") và mô tả
  3. Click "Create Class"

Thêm học viên vào lớp

  1. Click vào lớp muốn thêm học viên
  2. Kéo xuống phần "Add Students"
  3. 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.

💡 Nếu số câu hỏi ít hơn số học viên, hệ thống sẽ tái sử dụng câu hỏi nhưng vẫn đảm bảo phân phối đều.
Cập nhật: 22/02/2026  |  Giảng viên

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 DateEnd 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)
✅ Khi đã execute xong, bài tập tự động xuất hiện trong hộp tin nhắn nội bộ của học viên.
Cập nhật: 2026  |  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
⚠️ Chỉ tài khoản có quyền admin/super mới truy cập được.

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
💡 Chỉ chạy 1 backup tại 1 thời điểm (queue system). Nếu lỗi, hệ thống tự động retry 1 lần.
Cập nhật: 07/2026  |  Bác sĩ & Nhân viên y tế Admin

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.

🔗 Truy cập: /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).

⚠️ Nếu đăng nhập thất bại, kiểm tra lại 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.

💡 Bạn có thể sử dụng 🎤 Ghi âm giọng nói trong các textarea của SOAP để nhập liệu nhanh hơn. Xem hướng dẫn tại mục Ghi âm.

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.

📌 Tính năng Sao chép đơn thuốc giúp tạo đơn mới từ đơn cũ chỉ với 1 click. Xem hướng dẫn chi tiết tại mục Đơn thuốc.

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).

✅ Dùng tính năng Prescription Templates để tạo sẵn các đơn thuốc mẫu cho bệnh mãn tính (tiểu đường, tăng huyết áp) → tiết kiệm thời gian kê đơn.

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ử.

Cập nhật: 07/2026  |  Bác sĩ Nhân viên y tế

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.

🔗 Truy cập: /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.

⚠️ Google OAuth: Chỉ hoạt động nếu tài khoản Google đã được Admin cấp quyền trong hệ thống. Nếu chưa, dùng đăng nhập truyền thố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.

💡 Tính năng Autocomplete thuốc giúp tìm nhanh thuốc khi kê đơn — gõ tên thuốc, hệ thống gợi ý từ cả kho nội bộ và danh mục quốc gia.

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ân
  • encounters.php — Quản lý lượt khám
  • prescriptions.php — Quản lý đơn thuốc
  • tools.php — Công cụ AI, ICD-10
Cập nhật: 07/2026  |  Bác sĩ Nhân viên y tế

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ạ.

🔗 Truy cập: /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.

⚠️ Đảm bảo URL có tham số ?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ập nhật: 07/2026  |  Bệnh nhâ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.

🔗 Truy cập: /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.

💡 JWT token được lưu trong 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ệuUpload 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
⚠️ Portal V2 dành cho bệnh nhân. Nhân viên y tế vui lòng sử dụng Desktop App hoặc Full OpenEMR.
Cập nhật: 07/2026  |  Admin hệ thống

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.

🔗 Truy cập: /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
⚠️ Mật khẩu Master Admin được mã hóa bcrypt trong 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
💡 Công cụ Cache Management rất hữu ích sau khi thay đổi cấu hình — chỉ cần 1 click để clear toàn bộ cache hệ thống.

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.

Cập nhật: 07/2026  |  Tất cả người dùng

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 OpenEMRPortal V2.

🧠 Các mô hình AI sử dụng: DeepSeek OCR (Qwen2.5-VL-3B) cho nhận dạng văn bản, Gemma4 cho chat và chỉnh sửa y khoa.

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ả
⚠️ Các công cụ AI yêu cầu kết nối internet ổn định. Kết quả AI chỉ mang tính tham khảo, bác sĩ cần kiểm tra lại trước khi sử dụng trong lâm sàng.

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

Cập nhật: 07/2026  |  Bác sĩ Nhân viên y tế

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ông nghệ: DeepSeek OCR — chạy trên GPU server, hỗ trợ nhận dạng tiếng Việt và các ký tự y khoa chuyên ngành.

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ệuUpload 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ó kết quả OCR tốt nhất, hãy chụp ảnh ở nơi đủ ánh sáng, mặt phẳng, chữ rõ ràng. Tránh bóng đổ và góc chụp quá nghiê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-data với file ảnh
  • Kết quả: JSON chứa văn bản nhận dạng
Cập nhật: 07/2026  |  Bác sĩ

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).

🎯 Mục tiêu: Giúp bác sĩ tiết kiệm thời gian nhập liệu, tập trung vào tương tác với bệnh nhân.

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.

⚠️ Chế độ thời gian thực yêu cầu Google Chrome hoặc Safari trên máy tính. Cần cấp quyền microphone khi trình duyệt yêu cầu.

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
💡 Nếu bạn ghi âm bằng chế độ Cassette ⏺️ (File Recording), kết quả sẽ được xử lý qua AI và trả về sau 22:00 cùng ngày — phù hợp với ghi âm dài và cần độ chính xác cao.
Cập nhật: 07/2026  |  Bác sĩ

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.

🧠 Mô hình Gemma4 được tinh chỉnh cho lĩnh vực y khoa, hỗ trợ tiếng Việt và các thuật ngữ chuyên ngành.

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?"
💡 Sử dụng chế độ Correct sau khi ghi âm dictation để AI tự động sửa lỗi chính tả và chuẩn hóa thuật ngữ y khoa.
⚠️ Kết quả AI chỉ mang tính tham khảo. Bác sĩ cần kiểm tra và xác nhận trước khi áp dụng trong lâm sàng. Không sử dụng AI để thay thế chẩn đoán y khoa chuyên nghiệp.
Cập nhật: 07/2026  |  Bác sĩ Admin

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ự.

💡 Trên Mobile, bạn có thể chọn khoảng thời gian (7 ngày, 30 ngày, 90 ngày) cho mỗi báo cáo. Click vào biểu đồ để xem chi tiết số liệu.

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Đế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.

📌 Dữ liệu báo cáo được tổng hợp từ cơ sở dữ liệu thời gian thực. Đối với báo cáo có nhiều dữ liệu, có thể mất vài giây để tải.
Cập nhật: 07/2026  |  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.

📂 Đường dẫn scripts: /ba/workers/  |  Quản lý workers: bash workers/run.sh status|start|stop|restart

Danh 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
⚠️ Các lệnh trên phải được chạy với quyền root hoặc user sở hữu ứng dụng. Không dừng workers khi đang có tác vụ quan trọng đang xử lý.

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
💡 Sử dụng Master Admin → Monitoring để theo dõi trạng thái workers từ xa. Nếu worker nào bị dừng, dashboard sẽ hiển thị cảnh báo đỏ.
Cập nhật: 22/07/2026  |  Dành cho bác sĩ

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
💡 CodeFinder có cache 7 ngày. Nếu có mã mới, cache tự động cập nhật sau khi hết hạn.