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

🕐 Cập nhật gần đây

  • Giao bài tự động – Hệ thống giao kịch bản lâm sàng theo lịch trình (22/02/2026)
  • Lọc kho thuốc nội bộ – Tự động lọc theo tên thuốc đã nhập (12/02/2026)
  • Khôi phục mật khẩu – Reset qua email, hỗ trợ đa ngôn ngữ (01/03/2026)
  • Ghi âm giọng nói – 2 chế độ: thời gian thực & AI transcription (27/02/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ínhGiá trị mặc định
Mật khẩu ban đầu123456 (nên đổi sau lần đăng nhập đầu)
Nhóm quyềnPhysicians (Bác sĩ)
AuthorizedCó (được phép kê đơn)
Trạng tháiActive (tài khoản hoạt động)
Lịch hẹnHiể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ậtSau khi cập nhật
Dropdown in-houseHiển thị TẤT CẢ thuốc trong khoChỉ hiển thị thuốc khớp trước
Tìm kiếmPhải cuộn qua danh sách dàiThuốc khớp luôn ở đầu, in đậm
Tốc độChậm, dễ chọn nhầmNhanh, 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ếuKý 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ượngMô tảKhi nào dùng
Voice-to-Text🎤 MICChrome Web Speech – kết quả ngay lập tứcCần kết quả tức thì
File Recording⏺️ CASSETTEGhi 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útHiể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:

SectionNội dung
Tổng quanThống kê tổng số học viên, bài đã giao, tỷ lệ hoàn thành
Bệnh nhân ảoQuản lý danh sách hồ sơ giả lập
Kịch bản lâm sàngTạo và quản lý case studies
Báo cáoKế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 1Rất dễSinh viên năm 1-2
Level 2DễSinh viên năm 3
Level 3Trung bìnhSinh viên năm 4-5
Level 4KhóSinh viên năm 6
Level 5Rấ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 SizeDung lượng cơ sở dữ liệu hiện tại
Files SizeDung lượng thư mục files (documents, images…)
Total UsedTổng dung lượng đang sử dụng
Free SpaceDung 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 DatabaseThờ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ộtMô tả
DateNgày giờ tạo backup
TypeLoại backup (full / database / files)
SizeKích thước file
StatusTrạng thái (completed / failed)
ActionsDownload / 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.