MyHospital
Dược sĩ đối chiếu danh mục thuốc trên bảng kẹp giấy với hộp thuốc trên kệ trong kho dược bệnh viện
Tính năng phần mềm

Danh Mục Thuốc Bệnh Viện: Cách Chuẩn Hóa Mã, Hoạt Chất

17/9/2026

Một bệnh viện đa khoa tuyến huyện kiểm kho dược đầu năm phát hiện danh mục thuốc bệnh viện của mình đang ghi nhận Paracetamol 500mg dưới bốn mã khác nhau trên phần mềm: một mã dược sĩ đặt theo tên biệt dược, một mã thủ kho cũ gõ tắt, một mã sinh ra khi đổi nhà cung cấp trúng thầu, và một mã nhập nhầm khi thêm lô mới mà quên tra mã cũ. Tồn kho thực tế của hoạt chất này bị chia thành bốn dòng số liệu rời rạc, không dòng nào phản ánh đúng tổng lượng đang có trên kệ. Khi kê đơn, bác sĩ chọn một trong bốn mã bất kỳ theo thói quen, còn hệ thống cảnh báo tương tác thuốc không nhận ra bốn mã đó cùng một hoạt chất. Đây là hệ quả của việc xây dựng danh mục thuốc bệnh viện từ dưới lên, mỗi người tự đặt mã theo cách riêng, không phải lỗi của phần mềm. Bài viết trình bày cách chuẩn hóa mã thuốc và hoạt chất ngay từ khâu xây dựng danh mục, để mỗi hoạt chất chỉ còn đúng một mã dùng chung cho toàn bệnh viện.

Vì sao một hoạt chất lại có bốn, năm mã khác nhau trong cùng một kho

Nguyên nhân phổ biến nhất không phải lỗi kỹ thuật mà là thiếu quy tắc tra cứu trước khi tạo mới. Paracetamol có mặt trên thị trường dưới hàng chục tên biệt dược như Hapacol, Efferalgan, Panadol, Tatanol. Nếu mỗi lần nhập một biệt dược mới, nhân viên kho tạo thẳng một mã mà không kiểm tra hoạt chất đã tồn tại trong danh mục hay chưa, hệ thống sẽ có nhiều mã cùng trỏ về một dược chất.

Đổi nhà cung cấp sau mỗi đợt đấu thầu cũng tạo trùng lặp. Cùng một hoạt chất, hàm lượng, dạng bào chế nhưng năm nay trúng thầu từ công ty A, sang năm chuyển sang công ty B với số đăng ký lưu hành khác, nhân viên phụ trách danh mục tạo mã hoàn toàn mới thay vì cập nhật nhà cung cấp cho mã cũ. Về nguyên tắc, đây có thể là hai bản ghi hợp lệ nếu hệ thống phân biệt rõ tầng mã hoạt chất và tầng mã thuốc cụ thể. Nhưng khi không có tầng hoạt chất chung, hai mã này trở thành hai thực thể tách biệt hoàn toàn trong mắt phần mềm.

Nhân sự luân chuyển là nguyên nhân thứ ba. Thủ kho mới không có sổ tay bàn giao quy ước đặt tên của người tiền nhiệm, tự đặt một cách viết tắt khác cho cùng loại thuốc đã có mã. Khi dữ liệu được chuyển từ sổ Excel quản lý rời rạc từng khoa sang một hệ thống chung, tình trạng này càng lộ rõ vì mỗi khoa từng có cách gọi tên riêng cho cùng một thuốc.

Sai lầm thường gặp: Nhiều đơn vị coi việc "gõ nhanh cho ra hàng để cấp phát kịp ca trực" quan trọng hơn việc tra cứu mã cũ, vì tra cứu mất thêm vài phút. Vài phút tiết kiệm ở khâu tạo mã kéo theo hàng giờ đối chiếu khi kiểm kê cuối kỳ hoặc khi tổng hợp số liệu đấu thầu năm sau.

Dược sĩ và thủ kho rà soát mã thuốc trùng trên máy tính tại kho dược bệnh viện Dược sĩ phụ trách danh mục và thủ kho cùng rà soát các mã thuốc nghi trùng trước khi gộp

Hệ quả khi danh mục thuốc trùng lặp: kê đơn sai, kiểm kê lệch, đấu thầu vênh giá

Hệ thống cảnh báo tương tác thuốc và chống chỉ định hoạt động dựa trên việc nhận diện đúng hoạt chất trong đơn. Khi một hoạt chất bị tách thành nhiều mã, phần mềm coi đó là các loại thuốc riêng biệt, nên không phát hiện được trường hợp bác sĩ kê hai thuốc trùng hoạt chất trong cùng một đơn, hoặc kê một thuốc chống chỉ định với thuốc người bệnh đang dùng nhưng ghi dưới mã khác. Cảnh báo bị bỏ sót ngay từ gốc dữ liệu, không phải vì thuật toán kém.

Kiểm kê cũng chịu ảnh hưởng trực tiếp. Tồn kho của một hoạt chất bị chia nhỏ theo từng mã, nên báo cáo tồn có thể hiển thị nhiều dòng "sắp hết hàng" trong khi tổng thực tế trên kệ vẫn đủ dùng vài tuần. Thủ kho đặt hàng bổ sung không cần thiết cho mã này, trong khi mã kia đã cận hạn dùng vì ít được xuất tới.

Khi tổng hợp nhu cầu cho đợt đấu thầu năm sau, dữ liệu tiêu thụ bị chia nhỏ theo từng mã khiến số lượng dự trù cho từng dòng thầu bị lệch so với nhu cầu thực. Phòng vật tư dược khó thương lượng giá tốt khi khối lượng đặt hàng cho một hoạt chất trông nhỏ hơn thực tế vì bị chia làm bốn dòng báo cáo riêng.

Khâu bị ảnh hưởngBiểu hiện khi danh mục trùngHệ quả
Kê đơnKhông cảnh báo trùng hoạt chất, chống chỉ địnhRủi ro an toàn cho người bệnh
Kiểm kêTồn bị chia nhỏ theo từng mãĐặt hàng thừa mã này, thiếu mã kia
Đấu thầuSố liệu tiêu thụ không gộp đúngDự trù sai khối lượng, khó thương lượng giá
Giám định BHYTNhiều mã nội bộ cùng trỏ một dòng danh mục dùng chungDữ liệu dễ bị Cổng giám định trả về

Phần ánh xạ sang danh mục Bộ Y tế để gửi dữ liệu giám định là một câu chuyện riêng, đã được trình bày kỹ trong bài map mã thuốc theo danh mục Bộ Y tế. Bài viết này tập trung vào bước trước đó: làm sạch danh mục nội bộ để mỗi hoạt chất chỉ còn một mã trước khi bước vào công đoạn ánh xạ.

Cấu trúc một mã thuốc chuẩn cần đủ những trường dữ liệu nào

Gốc của tình trạng trùng lặp trong danh mục thuốc bệnh viện là danh mục không phân tầng. Một danh mục thuốc chuẩn cần tách rõ hai lớp: lớp hoạt chất và lớp thuốc cụ thể. Lớp hoạt chất là nhóm chung, dùng để phục vụ cảnh báo tương tác, thống kê tiêu thụ theo dược chất, không phân biệt biệt dược hay nhà sản xuất. Lớp thuốc cụ thể là từng bản ghi biệt dược, gắn với một số đăng ký lưu hành, một nhà sản xuất, dùng để xuất đúng lô đang có trên kệ.

Mỗi bản ghi ở lớp thuốc cụ thể cần đủ các trường sau để không thể nhầm với bản ghi khác:

  • Tên hoạt chất: viết theo tên quốc tế không độc quyền (INN), không dùng tên biệt dược làm trường tra cứu chính.
  • Hàm lượng: ghi kèm đơn vị đo, ví dụ 500mg, không viết tắt tùy tiện.
  • Dạng bào chế: viên nén, viên nang, dung dịch tiêm, để phân biệt các thuốc cùng hoạt chất nhưng khác đường dùng.
  • Số đăng ký lưu hành: khóa phụ để phân biệt các bản ghi cùng hoạt chất, hàm lượng nhưng khác nhà sản xuất trúng thầu.
  • Đơn vị tính nhỏ nhất: viên, ống, chai, thống nhất giữa kho, đơn thuốc và báo cáo, không lẫn đơn vị đóng gói lớn như hộp hay vỉ.
Trường dữ liệuThuộc lớp hoạt chấtThuộc lớp thuốc cụ thể
Tên hoạt chất (INN)Kế thừa từ lớp hoạt chất
Hàm lượng, dạng bào chếKhông
Số đăng ký lưu hành, nhà sản xuấtKhông
Dùng cho cảnh báo tương tác thuốcKhông trực tiếp
Dùng để xuất kho theo lôKhông

Khi hai lớp này tách rõ, việc đổi nhà cung cấp sau đấu thầu chỉ tạo thêm một bản ghi mới ở lớp thuốc cụ thể, vẫn gắn về đúng một mã hoạt chất sẵn có. Cảnh báo tương tác vẫn hoạt động đúng vì hệ thống nhìn vào lớp hoạt chất, còn kho vẫn xuất đúng lô vì lớp thuốc cụ thể phân biệt rõ theo số đăng ký lưu hành.

Màn hình máy tính hiển thị cấu trúc danh mục thuốc phân theo hoạt chất và mã thuốc cụ thể trên phần mềm bệnh viện, dược sĩ thao tác từ phía sau Danh mục thuốc tách hai lớp: mã hoạt chất dùng cho cảnh báo tương tác, mã thuốc cụ thể dùng cho xuất kho theo lô

Quy tắc đặt tên tránh tạo thêm bản ghi trùng khi thêm thuốc mới

Có cấu trúc dữ liệu đúng vẫn chưa đủ nếu người nhập liệu không tuân theo một quy tắc thống nhất. Trước khi tạo bất kỳ mã thuốc nào, người phụ trách danh mục cần thực hiện tuần tự các bước sau:

  1. Tra cứu theo tên hoạt chất (không phải tên biệt dược) xem hoạt chất đã có trong danh mục chưa.
  2. Nếu hoạt chất đã có, kiểm tra tiếp hàm lượng và dạng bào chế có trùng với bản ghi hiện hữu không.
  3. Nếu hoạt chất, hàm lượng, dạng bào chế trùng nhưng khác số đăng ký lưu hành, tạo thêm bản ghi ở lớp thuốc cụ thể, vẫn gắn về mã hoạt chất cũ.
  4. Chỉ tạo mã hoạt chất hoàn toàn mới khi chắc chắn dược chất đó chưa từng xuất hiện trong danh mục.

Quy ước viết tắt cũng cần thống nhất toàn viện, tránh tình trạng mỗi khoa tự gọi một kiểu. Ví dụ thống nhất viết "mg" chứ không lúc "mg" lúc "miligam", viết tên hoạt chất theo đúng chính tả INN chứ không phiên âm tự do. Một bảng quy ước ngắn, dán tại quầy nhập liệu và gắn trong tài liệu hướng dẫn sử dụng phần mềm, giúp nhân viên mới không phải đoán cách gõ.

Rà soát và gộp các mã trùng đã tồn tại trong hệ thống

Với danh mục thuốc bệnh viện đã vận hành nhiều năm, việc dựng lại từ đầu không khả thi. Cách làm thực tế là rà soát và gộp dần, ưu tiên nhóm thuốc có tần suất kê đơn cao nhất trước, vì đây là nơi trùng lặp gây rủi ro an toàn rõ nhất.

Quy trình gộp gồm bốn bước:

  1. Xuất toàn bộ danh mục thuốc hiện có, nhóm theo hoạt chất, hàm lượng và dạng bào chế để các mã trùng lộ ra thành từng cụm.
  2. Trong mỗi cụm trùng, xác định mã "sống", tức mã còn tồn kho và có lịch sử giao dịch nhiều nhất trong mười hai tháng gần nhất, để giữ lại làm mã chính.
  3. Chuyển các mã còn lại trong cụm sang trạng thái ngừng sử dụng, không xóa khỏi hệ thống, để lịch sử đơn thuốc và phiếu xuất cũ vẫn tra cứu được đúng mã đã dùng tại thời điểm phát sinh.
  4. Với tồn kho vật lý còn lại ở các mã bị gộp, lập phiếu chuyển tồn sang mã chính trước khi khóa mã cũ, tránh để một lượng thuốc "biến mất" khỏi báo cáo.
Trước khi gộpSau khi gộp
Bốn mã cho cùng Paracetamol 500mg, tồn kho chia nhỏ ở từng mãMột mã hoạt chất chính, ba mã cũ chuyển ngừng sử dụng, tồn gộp về một dòng
Cảnh báo tương tác bỏ sót vì hệ thống thấy bốn thuốc khác nhauCảnh báo nhận diện đúng hoạt chất trong mọi đơn kê
Báo cáo tiêu thụ tách theo bốn mã khi tổng hợp đấu thầuSố liệu tiêu thụ gộp đúng theo một hoạt chất

Thủ kho quét mã vạch hộp thuốc khi nhập kho để đối chiếu với danh mục đã chuẩn hóa Thủ kho quét mã vạch hộp thuốc khi nhập kho, đối chiếu ngay với hoạt chất đã có trong danh mục

Ai giữ quyền tạo mới danh mục thuốc để không phát sinh trùng lặp về sau

Rà soát một lần không giữ được kết quả lâu nếu quyền tạo mã mới vẫn mở cho nhiều người. Cách kiểm soát bền vững là khóa quyền tạo mã thuốc mới cho phần lớn tài khoản, chỉ để lại cho dược sĩ phụ trách danh mục hoặc người được Trưởng khoa Dược ủy quyền.

  • Điều dưỡng, bác sĩ kê đơn: chỉ được chọn thuốc từ danh mục có sẵn, không có nút "thêm mới" trên màn hình kê đơn.
  • Nhân viên kho, thu ngân nhà thuốc: chỉ nhập số lượng và lô hàng vào mã đã tồn tại, không tự tạo mã khi nhận hàng.
  • Dược sĩ phụ trách danh mục: người duy nhất được tạo mã mới, sau khi đã tra cứu theo quy trình bốn bước ở phần trên.
  • Trưởng khoa Dược: phê duyệt trước khi mã mới chính thức có hiệu lực trên toàn hệ thống, đặc biệt với các hoạt chất thuộc nhóm quản lý đặc biệt.

Khi quyền tạo mới tập trung về một đầu mối, số lượng mã trong danh mục tăng chậm hơn hẳn so với giai đoạn mở quyền cho nhiều người, và mỗi mã mới sinh ra đều đã qua bước kiểm tra trùng trước khi lưu vào hệ thống.

Phân hệ kho dược của MyHospital, tích hợp sẵn trong phần mềm quản lý bệnh viện, tách rõ hai lớp dữ liệu hoạt chất và thuốc cụ thể, tự cảnh báo trùng ngay khi dược sĩ nhập một hoạt chất, hàm lượng, dạng bào chế đã tồn tại trong danh mục. Quyền tạo mã mới được phân theo vai trò, giúp danh mục không phình to một cách mất kiểm soát qua từng đợt trúng thầu.

Bắt đầu chuẩn hóa danh mục thuốc từ nhóm hoạt chất nào trước

Không cần rà soát toàn bộ danh mục vài nghìn mặt hàng cùng lúc. Ưu tiên hợp lý là bắt đầu từ nhóm thuốc kê đơn nhiều nhất và nhóm thuộc diện quản lý đặc biệt, vì trùng lặp ở hai nhóm này gây rủi ro cao nhất cho cảnh báo tương tác và cho việc theo dõi sổ sách bắt buộc. Sau khi nhóm này sạch và quy trình tạo mã mới đã siết theo bốn bước kiểm tra, việc mở rộng rà soát sang các nhóm còn lại sẽ nhanh hơn vì đã có sẵn khung tham chiếu để đối chiếu.

Toàn bộ vị trí của danh mục thuốc trong chuỗi vận hành khoa Dược, từ đấu thầu, kiểm nhập đến cấp phát, được trình bày trong bài quy trình quản lý dược bệnh viện. Với đơn vị đang loay hoay vì tồn kho hiển thị sai do dữ liệu chia nhỏ theo nhiều mã, bài trừ tồn kho thuốc theo thời gian thực trình bày thêm cách khớp số liệu tồn ngay tại thời điểm phát sinh giao dịch, một bước chỉ phát huy hiệu quả trọn vẹn khi danh mục phía sau đã hết trùng lặp. Xem chi tiết cách phân hệ này vận hành đấu thầu và kiểm kê tại trang phần mềm quản lý kho dược bệnh viện và chuỗi cung ứng.

Câu hỏi thường gặp

Vì sao một hoạt chất trong kho dược bệnh viện lại bị tạo thành nhiều mã khác nhau?
Thường do không có quy tắc tra cứu trước khi tạo mã mới. Mỗi lần đổi nhà cung cấp trúng thầu, có nhân viên mới vào ca, hoặc dữ liệu được chuyển từ Excel sang phần mềm, người thao tác tự gõ một mã theo thói quen riêng thay vì tìm xem hoạt chất đó đã có mã hay chưa. Qua vài năm, một hoạt chất phổ biến có thể tích lũy thành bốn, năm mã song song.
Danh mục thuốc trùng lặp ảnh hưởng thế nào đến việc kê đơn và cảnh báo tương tác thuốc?
Hệ thống cảnh báo tương tác thuốc và chống chỉ định hoạt động dựa trên hoạt chất. Nếu cùng một hoạt chất bị tách thành nhiều mã, phần mềm không nhận ra hai đơn thuốc đang trùng hoạt chất hoặc chống chỉ định nhau, vì với hệ thống đó là hai loại thuốc khác nhau. Cảnh báo bị bỏ sót ngay từ gốc dữ liệu chứ không phải do thuật toán sai.
Mã thuốc và mã hoạt chất khác nhau ở điểm nào?
Mã hoạt chất là lớp phân loại chung, nhóm mọi biệt dược, mọi nhà sản xuất có cùng dược chất và hàm lượng vào một nhóm để phục vụ cảnh báo tương tác và thống kê tiêu thụ. Mã thuốc (SKU) là bản ghi cụ thể của từng biệt dược, từng số đăng ký lưu hành, dùng để xuất kho đúng lô đang có trên kệ. Một mã hoạt chất có thể ứng với nhiều mã thuốc, nhưng một mã thuốc chỉ thuộc về đúng một mã hoạt chất.
Rà soát mã thuốc trùng trong hệ thống đang vận hành thì bắt đầu từ đâu?
Bắt đầu từ nhóm thuốc có tần suất kê đơn cao nhất, vì đây là nơi trùng lặp gây thiệt hại rõ nhất cho cảnh báo tương tác và kiểm kê. Xuất toàn bộ danh mục, nhóm theo hoạt chất, hàm lượng và dạng bào chế để lộ ra các mã trùng, sau đó xác định mã còn lịch sử giao dịch nhiều nhất để giữ lại làm mã chính.
Ai nên có quyền tạo mới danh mục thuốc trên phần mềm bệnh viện?
Chỉ nên giao quyền tạo mã thuốc mới cho dược sĩ phụ trách danh mục, có xác nhận của Trưởng khoa Dược trước khi áp dụng. Nhân viên kho, điều dưỡng và bác sĩ chỉ được chọn từ danh mục có sẵn, không được tự thêm mã ngay trên màn hình kê đơn hay xuất kho, để tránh phát sinh bản ghi trùng ngoài quy trình kiểm soát.
Chuẩn hóa danh mục thuốc có ảnh hưởng gì đến dữ liệu gửi giám định BHYT?
Có. Khi danh mục nội bộ sạch và không trùng lặp, việc map mã thuốc theo danh mục Bộ Y tế để kết xuất XML2 cũng chính xác hơn, vì mỗi bản ghi nội bộ chỉ cần ánh xạ một lần và không phải xử lý nhiều mã cùng trỏ về một dòng danh mục dùng chung, giảm nguy cơ dữ liệu bị Cổng giám định trả về.