TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNGKHOA CÔNG NGHỆ THÔNG TIN & TOÁN ỨNG DỤNG ------------------ LUẬN VĂN TỐT NGHIỆP Đề tài: HỆ THỐNG QUẢN LÝ DƯỢC PHẨM BỆNH VIỆN QUẬN 2 THÀNH PHỐ HỒ CHÍ MINH Giảng viên hướng dẫn: LÊ MẬU LONG Sinh viên thực hiện: NGUYỂN HOÀNG THIỆN NGUYỄN LÊ MINH TUẤN Lớp : 07 TH 3D Khoá : 2007-2011
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Để hoàn thành luận văn này, chúng tôi đã nhận được sự hướng dẫn, giúp đỡ và
góp ý nhiệt tình của quí thầ cô trường Đại học Tôn Đức Thắng.
Trước hết, chúng tôi xin chân thành cảm ơn đến quí thầy cô trường Đại học TônĐức Thắng, đặc biệt là những thầy cô đã tận tình dạy bảo cho chúng tôi suốt thờigian học tập tại trường.
Chúng tôi xin gửi lời biết ơn sâu sắc đến thầy Lê Mậu Long đã dảnh rất nhiềuthời gian và tâm huyết hướng dẫn nghiên cứu và giúp chúng tôi hoàn thành luận văntốt nghiệp.
Nhân đây, chúng tôi cũng xin chân thành cảm ơn Ban giám đốc cùng toàn thểcán bộ công nhân viên bệnh viện quận 2, đặc biệt là bác sĩ Trương Thanh Trung – giám đốc bệnh viện đã hết lòng tạo điều kiện, hỗ trợ, giúp đỡ chúng tôi về vấn đềchuyên môn trong suốt quá trình thực hiện đề tài này.
Mặc dù chúng tôi đã cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình vànăng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhậnđược những ý kiến đóng góp quí báu của thầy cô và các bạn.
Tên hình vẽ TrangHình 2.2: Sơ đồ hiện trạngHình 2.4.1: Mô hình ER cho hệ thốngHình 2.4.2.1: Mô hình DFD tổng quanHình 2.4.2.2: Mô hình DFD cấp 1Hình 2.4.2.3.1: DFD xử lí biệt dượcHình 2.4.2.3.2: DFD xử lí loại biệt dượcHình 2.4.2.3.3: DFD xử lí hoạt chấtHình 2.4.2.3.4: DFD xử lí sản phẩm khácHình 2.4.2.3.5: DFD xử lí nhà cung cấpHình 2.4.2.3.6: DFD xử lí nước sản xuấtHình 2.4.2.3.7: DFD xử lí đơn vị tínhHình 2.4.2.3.8: DFD xử lí chẩn bệnhHình 2.4.2.3.9: DFD xử lí chẩn bệnhHình 2.4.2.3.2.1: DFD xử lí hoá đơn nhậpHình 2.4.2.3.2.2: DFD xử lí hoá đơn xuấtHình 3.2: Cây cấu trúc phần mềmHình 3.3.1: Mô hình 3 lớpHình 3.3.2.2: Màn hình danh mục đơn vị tínhHình 3.3.2.2.1: Xử lí thêm mới trong form Đơn vị tínhHình 3.3.2.2.2: Xử lí ghi vào cơ sở dữ liệu trong form Đơn vị tínhHình 3.3.2.2.3: Xử lí xóa trong cơ sở dữ liệu trong form Đơn vị tínhHình 3.3.2.2.4: Mô hình DiagramsHình 3.3.2.3: Bảng cơ sở dữ liệuHình 3.3.2.4: Sơ đồ liên kết các giao diệnHình 4.2.1: Giao diện chính của chương trình.Hình 4.2.2.1: Giao diện menu danh mục.Hình 4.2.2.2: Giao diện menu hóa đơn.Hình 4.2.2.3: Giao diện menu báo cáo.
Hình 4.2.2.4: Giao diện menu hệ thống.Hình 4.2.2.5: Giao diện menu trợ giúp.Hình 4.2.3.1: Giao diện đăng nhậpHình 4.2.3.2: Giao diện quản lí người dùng.Hình 4.2.3.3: Giao diện tìm kiếm.Hình 4.2.3.4: Giao diện danh mục biệt dược.Hình 4.2.3.5: Giao diện danh mục loại biệt dược.Hình 4.2.3.6: Giao diện danh mục hoạt chất.Hình 4.2.3.7: Giao diện danh mục sản phẩm khácHình 4.2.3.8: Giao diện danh mục nước sản xuất.
Hình 4.2.3.9: Giao diện danh mục nhà cung cấp.Hình 4.2.3.10: Giao diện danh mục loại bệnh.Hình 4.2.3.11: Giao diện danh mục đơn vị tính.Hình 4.2.3.12: Giao diện hóa đơn nhập.Hình 4.2.3.13: Giao diện báo cáo hóa đơn nhập.Hình 4.2.3.14: Giao diện hóa đơn xuất.Hình 4.2.3.15: Giao diện báo cáo hóa đơn xuất.Hình 4.2.3.16: Giao diện hướng dẫn sử dụng.Hình 4.2.3.17: Giao diện giới thiệu.
Ngày nay cùng với sự phát triển nhanh chóng của khoa học kĩ thuật, công nghệthông tin ngày càng được ứng dụng rộng rãi trong mọi lĩnh vực của đời sống, trongđó có lĩnh vực quản lí. Tin học hóa công tác quản lí giúp nâng cao hiệu suất côngviệc, đảm bảo tính chính xác cao.
Mỗi bệnh viện dù lớn hay nhỏ, bên cạnh cơ cấu quản lí nhân sự , tiền lương, đàotạo… thì cơ cấu quản lí dược phẩm là một vấn đề quan trọng và phức tạp, nhất làđối với những bệnh viện lớn.
Được sự hỗ trợ nhiệt tình của ban giám đốc, các cán bộ công nhân viên bệnhviện quận 2, chúng tôi có cơ hội khảo sát qui trình quản lí dược phẩm tại nhà thuốccủa bệnh viện. Đây là một trong những đơn vị điển hình, đi đầu trong việc ứng dụngcông nghệ thông tin vào công tác quản lí.
Bệnh viện quận 2 là một trong những bệnh viện lớn tại thành phố Hồ Chí Minhvới số lượng nhân viên trên 100 người, phụ trách việc chăm sóc sức khỏe cho nhândân quận 2 và các vùng lân cận. Nhà thuốc bệnh viện với số lượng dược phẩm lêntới trên một ngàn loại, việc quản lí dược phẩm của các cán bộ công nhân viên tạinhà thuốc gặp phải nhiều khó khăn, sai sót là không thể tránh được. Vì vậy nhu cầuứng dụng tin học vào việc quản lí dược phẩm là một nhu cầu tất yếu.
Từ năm 2005 đến nay, sự có mặt của tin học đã giúp nhân viên nhà thuốc đỡ vấtvả hơn trong việc quản lí, với phần mềm chạy trên nền Windows XP cùng với cơ sở dữ liệu Oracle. Do một số hạn chế về tính năng nên chương trình chưa thỏa mãnđược các nhu cầu phức tạp của cán bộ chuyên trách.
Để hỗ trợ nhân viên nhà thuốc có được một công cụ quản lí thuận tiện, chínhxác, tiết kiệm thời gian cũng như tận dụng tốc độ xử lí của máy tính, chúng tôi xây
dựng phần mềm “QUẢN LÍ NHÀ THUỐC BỆNH VIỆN QUẬN 2”.
Sau khi tìm hiểu kĩ qui trình quản lí dược phẩm, căn cứ vào tình hình và nhu cầuthực tế tại nhà thuốc bệnh viện, chúng tôi quyết định xây dựng chương trình trênnền tảng ngôn ngữ C# và chọn cơ sở dữ liệu là SQL Server 2005.
Bước đầu phần mềm này sẽ cung cấp những chức năng cơ bản, cần thiết nhấtđối với công tác quản lí dược phẩm tại nhà thuốc bệnh viện, hỗ trợ việc lập và quảnlí hóa đơn nhập/xuất dược phẩm cũng như hỗ trợ việc kết xuất những loại báo cáothường xuyên sử dụng tại bệnh viện cho người sử dụng.
1.1.1. Mô tả phạm vi hệ thốngCơ cấu tổ chức quản lí dược phẩm ở nhà thuốc bệnh viện bao gồm các bộ phận:
• Bộ phận quản lí dược phẩm: quản lí về dược phẩm.
• Bộ phận tài chính kế toán: quản lí về tiền nhập/xuất dược phẩm.
Trên cơ sở số lượng dược phẩm hiện có, bộ phận quản lí dược phẩm sẽ lưu trữ,cập nhật, quản lí các thông tin về dược phẩm như tên dược phẩm, loại dược phẩm(thuốc hay sản phẩm khác thuốc), nhóm thuốc, hoạt chất, ngày sản xuất, ngày hết
hạn, số lô, nhà cung cấp, nước sản xuất.
Hàng tháng, bộ phận quản lí dược phẩm sẽ tiến hành lập kế hoạch mua dược phẩm mới, ban giám đốc sẽ xét duyệt sau đó chuyển cho bộ phận tài chính kế toántiến hành thanh toán.
Hàng tháng, bộ phận quản lí dược phẩm sẽ tiến hành cập nhật lại số lương củatừng loại thuốc, thống kê những loại thuốc sắp hết hạn, kết xuất các báo cáo để báocáo lên cấp trên.
Trong quá trình công tác, bộ phận quản lí dược phẩm sẽ theo dõi và kiểm soátchất lượng dược phẩm, tiến hành loại bỏ những dược phẩm không đạt chất lượnghay hết hạn sử dụng.
Bệnh viện thực hiện lưu trữ, quản lí các hóa đơn nhập/xuất dược phẩm để phụcvụ cho việc thống kê, kiểm soát định kì.
1.1.2. Ràng buộc hệ thống
1.1.2.1. Các qui định về nghiệp vụ
Mỗi loại dược phẩm (bao gồm thuốc và sản phẩm khác thuốc) được đánh mã sốtheo qui định của bệnh viện, Giá dược phẩm phụ thuộc vào giá mà nhà cung cấpđưa ra. %giá/ dược phẩm bệnh viện thu là theo qui định của sở y tế, nhà thuốc bệnhviện không được tùy tiện tăng số % này như những nhà thuốc tư nhân bên ngoài.
Các quyết định thêm loại dược phẩm, nhập dược phẩm mới, chọn nhà cung cấpdược phẩm… đều thông qua sự xét duyệt, phê chuẩn của ban giám đốc bệnh viện vàtheo qui chế của Nhà nước.
Các báo cáo phải gửi đúng hạn, theo biểu mẫu định sẵn chung cho tất cả các bệnh viện, được qui định bởi tổ chức chính quyền và Sở y tế.
1.1.2.2. Các hạn chế về nhân lực
Thành viên thực hiện hệ thống chỉ có hai người, bao gồm các công việc khảo sáthiện trạng, thu thập sưu liệu, phân tích, thiết kế, cài đặt, kiểm tra lỗi, bảo trì.
1.1.2.3. Các hạn chế về thời gian khảo sát hiện trạng
Hạn chế về thời gian tiếp xúc với các cán bộ chuyện trách các nghiệp vụ quản lícủa bệnh viện. Đa số là trong giờ hành chính, tối đa khoảng 3-5 buổi. Mỗi buổikhoảng 0.5 giờ.
1.1.2.4. Các hạn chế về thời gian thực hiện dự án
Do nhu cầu cấp thiết cần có một hệ thống quản lí dược phẩm vì số lượng dược phẩm (thuốc và sản phẩm khác thuốc) ngày càng lớn, công việc quản lí trở nên phứctạp, dễ dẫn đến sai sót, nhất là trong việc theo dõi, lập báo cáo vốn đòi hỏi sự chínhxác cao.
1.1.3. Phát sinh về quản lí
1.1.3.1. Các thành viên tham gia
Tất cả các cán bộ viên chức đang đảm nhận nhiệm vụ tại nhà thuốc bệnh viện.
Các cán bộ các phòng ban, bộ phận có liên quan.
Người quản trị.
1.1.3.2. Vai trò của từng thành viên
Các cán bộ viên chức sẽ nhập liệu và cập nhật trên máy vi tính, tức là sẽ làmcông tác nhập liệu và khai thác dữ liệu.
Riêng người quản trị có thêm nhiệm vụ phân quyền cho từng thành viên đượctruy cập và thay đổi thông tin nào về dược phẩm hay hóa đơn đã được lưu trong cơ sở dữ liệu.
Chi tiết buổi phỏng vấn số 1Chủ đề: QUI TRÌNH QUẢN LÍ THÔNG TIN CÁC LOẠI DƯỢC PHẨM
TRONG NHÀ THUỐC BỆNH VIỆN QUẬN 2. Người phỏng vấn: Nguyễn Hoàng Thiện, Nguyễn Lê Minh Tuấn. Người được phỏng vấn: Trương Thanh TrungVị trí/chức vụ hiện tại: Giám đốc bệnh viện
Ngày lập: 10/04/2011
STT Câu hỏi Ghi nhận
1 Qui trình quản lí dược phẩm củanhà thuốc bệnh viện hiện naytuân theo những tiêu chí nào?
Vì đây là một cơ quan nhà nướcnên các qui trình quản lí đều phảituân theo các chỉ thị và công văncủa tổ chức chính quyền và Sở y tếmột cách nghiêm ngặt.
2 Xin cho biết cụ thể hơn về vaitrò của tổ chức chính quyền vàSở y tế đối với hoạt động của
bệnh viện?
Quản lí các thông tin và ban hànhcác quyết định, nghị định cơ bảnhướng dẫn quản lí dược phẩm trongnhà thuốc bệnh viện.
3 Đối với mỗi loại dược phẩm,nhà thuốc bệnh viện cần lưu trữnhững thông tin gì?
Hiện tại nhà thuốc bệnh viện chiadược phẩm làm hai loại chính:thuốc và sản phẩm khác thuốc.
• Với thuốc thì nhàthuốc lưu trữ các thông tinnhư tên thuốc, loại thuốc,hoạt chất chính của thuốc,ngày sản xuất, ngày hết hạn,số lô, điều kiện bảo quản,đơn vị tính, nước sản xuất,nhà cung cấp• Với sản phẩm khácthuốc thì nhà thuốc lưu trữcác thông tin như tên sản
phẩm, ngày sản xuất, ngàyhết hạn, số lô, điều kiện bảoquản, đơn vị tính, nước sảnxuất và nhà cung cấp.
Chi tiết buổi phỏng vấn số 2Chủ đề:QUI TRÌNH QUẢN LÍ XUẤT NHẬP DƯỢC PHẨM TẠI NHÀ THUỐC
BỆNH VIỆN QUẬN 2. Người trực tiếp phỏng vấn: Nguyễn Hoàng Thiện, Nguyễn Lê Minh Tuấn. Người được phỏng vấn: Trương Thanh TrungVị trí/chức vụ hiện tại: Giám đốc bệnh viện
Ngày lập: 12/04/2011
STT Câu hỏi Ghi nhận1 Xin cho biết tổng quan về quitrình quản lí nhập/xuất dược
phẩm tại bệnh viện?
Qui trình quản lí nhập xuất dược phẩm tuân theo các nguyên tắc, quiđịnh về quản lí dược phẩm theotiêu chuẩ n nhà thuốc GPP do Nhànước ban hành.
2 Xin cho biết cụ thể hơn về quitrình nhập/xuất dược phẩm tạinhà thuốc?
Qui trình chung đối với việc nhậpdược phẩm bao gồm các bước:
• Lập kế hoạch mua
thuốc: bao gồm các kế hoạchmua hàng thường kì (hàngtuần, hàng tháng, hàng quí,đột xuất).• Lựa chọn nhà cungcấp có uy tín.• Đàm phán kí hợpđồng.• Lập đơn đặt hàng.•
Gửi đơn đặt hàng trựctiếp hoặc email …• Kiểm nhận hàng.
Qui trình chung đối với việc xuấtdược phẩm bao gồm các bước:
• Tiếp nhận đơn thuốc.• Kiểm tra đơn thuốc.• Lựa chon thuốc, tưvấn nếu có.• Lập phiếu tính tiền –
Công dụng: dùng để lưu thông tin về khách hàng. Mỗi khách hàng có một mã sốkhác nhau nên nhận MaKH làm khóa chính. MaKH được đặt chế độ tự động tăng.
Tên thuộc tính Mô tả KDL RBTVMaKH Mã khách hàng Int Primary key
TenKH Tên khách hàng Nvarchar(100) Not nullDiaChi Địa chỉ Nvarchar(100) Not nullTuoi Tuổi Int Not nullGioiTinh Giới tính Bit Not nullDienThoai Điện thoại Nchar(12) Allows nullHienThi Hiển thị Bit Allows null,
Công dụng: dùng để lưu thông tin về biệt dược. Mỗi biệt dược có một mã sốkhác nhau nên nhận MaBD làm khóa chính. MaBD được đặt chế độ tự động tăng.Mỗi biệt dược thuộc một nhà cung cấp, một nước sản xuất, một loại biệt dược, một
loại hoạt chất, một đơn vị tính nên nhận MaNhaCC, MaNuocSX, MaLoaiBD,MaHoatChat, MaDVT làm khóa ngoại. MaLoaiSP =1 cho biết đây là biệt dược.
Tên thuộc tính Mô tả KDL RBTVMaBD Mã biệt dược Int Primary keyTenBD Tên biệt dược Nvarchar(100) Not nullMaLoaiSP Mã loại sản phẩm Bit Value =1MaNhaCC Mã nhà cung cấp Int Foreign keyMaNuocSX Mã nước sản xuất Int Foreign keyMaLoaiBD Mã loại biệt dược Int Foreign key
MaHoatChat Mã hoạt chất Int Foreign keyMaDVT Mã đơn vị tính Int Foreign keyHamLuong Hàm lượng Nvarchar(100) Allows nullGhiChu Ghi chú Nvarchar(100) Allows nullDieuKienBQ Điều kiện bảo
LoaiBietDuoc: danh mục loại biệt dược của hệ thống.
Công dụng: dùng để lưu thông tin về loại biệt dược. Mỗi loại biệt dược có mộtmã số khác nhau nên nhận MaLoaiBD làm khóa chính. MaLoaiBD được đặt chế độtự động tăng.
Tên thuộc tính Mô tả KDL RBTVMaLoaiBD Mã loại biệt dược Int Primary keyTenLoaiBD Tên loại biệt dược Nvarchar(100) Not nullHienThi Hiển thị Bit Allows null,
Công dụng: dùng để lưu thông tin về hoạt chất. Mỗi hoạt chất có một mã sốkhác nhau nên nhận MaHoatChat làm khóa chính. MaHoatChat được đặt chế độ tự
động tăng.Tên thuộc tính Mô tả KDL RBTVMaHoatChat Mã hoạt chất Int Primary keyTenHoatChat Tên hoạt chất Nvarchar(100) Not nullHienThi Hiển thị Bit Allows null,
Công dụng: dùng để lưu thông tin về sản phẩm khác. Mỗi sản phẩm khác có mộtmã số khác nhau nên nhận MaSPK làm khóa chính. MaSPK được đặt chế độ tựđộng tăng. Mỗi sản phẩm khác thuộc một nhà cung cấp, một nước sản xuất, mộtđơn vị tính nên nhận MaNhaCC, MaNuocSX, MaDVT làm khóa ngoại. MaLoaiSP=0 cho biết đây là sản phẩm khác.
Tên thuộc tính Mô tả KDL RBTV
MaSPK Mã sản phẩm khác Int Primary keyTenSPK Tên sản phẩmkhác
Nvarchar(100) Not null
MaLoaiSP Mã loại sản phẩm Bit Value =0MaNhaCC Mã nhà cung cấp Int Foreign keyMaNuocSX Mã nước sản xuất Int Foreign keyMaDVT Mã đơn vị tính Int Foreign keyDieuKienBQ Điều kiện bảo
Công dụng: dùng để lưu thông tin về nhà cung cấp. Mỗi nhà cung cấp có mộtmã số khác nhau nên nhận MaNhaCC làm khóa chính. MaNhaCC được đặt chế độtự động tăng.
Tên thuộc tính Mô tả KDL RBTVMaNhaCC Mã nhà cung cấp Int Primary keyTenNhaCC Tên nhà cung cấp Nvarchar(100) Not nullHienThi Hiển thị Bit Allows null,
default value =1
2.4.4.8. DonViTinh (MaDVT, TenDVT,HienThi)
DonViTinh: danh mục đơn vị tính của hệ thống.
Công dụng: dùng để lưu thông tin về đơn vị tính. Mỗi đơn vị tính có một mã sốkhác nhau nên nhận MaDVT làm khóa chính. MaDVT được đặt chế độ tự độngtăng.
Tên thuộc tính Mô tả KDL RBTVMaDVT Mã đơn vị tính Int Primary keyTenDVT Tên đơn vị tính Nvarchar(100) Not nullHienThi Hiển thị Bit Allows null,
Công dụng: dùng để lưu thông tin về hóa đơn nhập. Mỗi hóa đơn nhập có một số
thứ tự khác nhau nên nhận STT làm khóa chính. STT được đặt chế độ tự động tăng.
Tên thuộc tính Mô tả KDL RBTVSTT Số thứ tự Int Primary keyMaHDN Mã hóa đơn nhập Int Not null
NgayLapHD Ngày lập hóa đơn Datetime Not null NgayNhap Ngày nhập Datetime Not nullLiDoNhap Lí do nhập Nvarchar(100) Allows nullHienThi Hiển thị Bit Allows null,
Công dụng: dùng để lưu thông tin về hóa đơn xuất. Mỗi hóa đơn xuất có một sốthứ tự khác nhau nên nhận STT làm khóa chính. STT được đặt chế độ tự động tăng.
Tên thuộc tính Mô tả KDL RBTVSTT Số thứ tự Int Primary keyMaHDN Mã hóa đơn nhập Int Not null
NgayLapHD Ngày lập hóa đơn Datetime Not null NgayXuat Ngày nhập Datetime Not nullLiDoXuat Lí do xuất Nvarchar(100) Allows nullHienThi Hiển thị Bit Allows null,
ChiTietHoaDonNhap: danh mục chi tiết hóa đơn nhập của hệ thống.
Công dụng: dùng để lưu thông tin về chi tiết hóa đơn nhập. Mỗi chi tiết hóa đơnnhập có một mã số khác nhau nên nhận MaCTHDN làm khóa chính. MaCTHDNđược đặt chế độ tự động tăng. Mỗi chi tiết hóa đơn nhập thuộc một hóa đơn nhập,một loại sản phẩm; nếu loại sản phẩm là biệt dược thì có mã biệt dược và thuộc mộtloại biệt dược, nếu loại sản phẩm là sản phẩm khác thì có mã sản phẩm khác; mộtnước sản xuất, một nhà cung cấp, một đơn vị tính nên nhận MaHDN, MaLoaiSP,MaLoaiBD, MaBD, MaSPK, MaNhaCC, MaNuocSX, MaDVT làm khóa ngoại.
Tên thuộc tính Mô tả KDL RBTVMaCTHDN Mã chi tiết hóa
đơn nhậpInt Primary key
MaHDN Mã hóa đơn nhập Int Foreign keyMaLoaiSP Mã loại sản phẩm Bit Foreign keyMaLoaiBD Mã loại biệt dược Int Foreign keyMaBD Mã biệt dược Int Foreign keyMaSPK Mã sản phẩm khác Int Foreign keyMaDVT Mã đơn vị tính Int Foreign key
NgayHetHan Ngày hết hạn Datetime Not nullMaNuocSX Mã nước sản xuất Int Foreign keyMaNhaCC Mã nhà cung cấp Int Foreign keySoLo Số lô Nchar(20) Not nullSoLuong Số lượng Int Not nullGiaBan Giá bán Float Not nullVAT VAT Float Not null.HienThi Hiển thị Bit Allows null,
ChiTietHoaDonXuat: danh mục chi tiết hóa đơn xuất của hệ thống.
Công dụng: dùng để lưu thông tin về chi tiết hóa đơn xuất. Mỗi chi tiết hóa đơnxuất có một mã số khác nhau nên nhận MaCTHDX làm khóa chính. MaCTHDXđược đặt chế độ tự động tăng. Mỗi chi tiết hóa đơn xuất thuộc một hóa đơn xuất,một loại sản phẩm; nếu loại sản phẩm là biệt dược thì có mã biệt dược và thuộc mộtloại biệt dược, nếu loại sản phẩm là sản phẩm khác thì có mã sản phẩm khác; mộtnước sản xuất, xuất cho một khách hàng bị một loại bệnh, một đơn vị tính nên nhậnMaHDX, MaLoaiSP, MaLoaiBD, MaBD, MaSPK, MaKH, MaBenh, MaNuocSX,MaDVT làm khóa ngoại.
Tên thuộc tính Mô tả KDL RBTVMaCTHDX Mã chi tiết hóa
đơn xuấtInt Primary key
MaHDX Mã hóa đơn xuất Int Foreign key
MaLoaiSP Mã loại sản phẩm Bit Foreign keyMaLoaiBD Mã loại biệt dược Int Foreign keyMaBD Mã biệt dược Int Foreign keyMaSPK Mã sản phẩm khác Int Foreign keyMaDVT Mã đơn vị tính Int Foreign key
NgaySanXuat Ngày sản xuất Datetime Not null NgayHetHan Ngày hết hạn Datetime Not nullMaNuocSX Mã nước sản xuất Int Foreign keyMaKH Mã khách hàng Int Foreign keyMaBenh Mã bệnh Int Foreign key
Công dụng: dùng để lưu thông tin về người dùng. Mỗi người dùng có một tênkhác nhau nên nhận TenNguoiDung làm khóa chính.
Tên thuộc tính Mô tả KDL RBTVTenNguoiDung Tên người dùng Nvarchar(50) Primary keyMatKhau Mật khẩu Nvarchar(30) Not nullVaiTro Vai trò Bit Not nullHienThi Hiển thị Bit Allows null,
default value =1
2.4.4.15. LoaiSanPham (MaLoaiSP, TenLoaiSP)
LoaiSanPham: danh mục loại sản phẩm của hệ thống.
Công dụng: dùng để lưu thông tin về loại sản phẩm. Mỗi loại sản phẩm có mộtmã số khác nhau nên nhận MaLoaiSP làm khóa chính. MaLoaiSP nhận một tronghai giá trị true hoặc false. True cho biết sản phẩm là biệt dược, còn false cho biếtsản phẩm là sản phẩm khác thuốc.
Tên thuộc tính Mô tả KDL RBTVMaLoaiSP Mã loại sản phẩm Bit Primary keyTenLoaiSP Tên loại sản phẩm Nvarchar(100) Not null
Chương trình có chức năng nhập các danh mục và các số liệu ban đầu, để sửdụng lại cho các lần sau mà không phải nhập lại.
STT Danh mục Diễn giải
1 Danh mục khách hàngDanh sách các khách hàng của
bệnh viện.
2 Danh mục loại biệt dượcCác loại biệt dược đang có của
bệnh viện.
3 Danh mục hoạt chấtCác hoạt chất đang có của bệnhviện.
4 Danh mục sản phẩm khác thuốcDanh sách các sản phẩm ngoàithuốc.
5 Danh mục nước sản xuất Danh sách các nước sản xuất.
6 Danh mục nhà cung cấp Danh sách các nhà cung cấp.
7 Danh mục đơn vị tính Danh sách các loại đơn vị tính
8 Danh mục bệnh Danh sách các bệnh.
9 Danh mục biệt dược Danh sách các biệt dược.
3.1.2. Chức năng hệ thống:
Phân quyền người dùng.
Chương trình có tổ chức phân quyền cho người sử dụng, giúp cho người quản trịhệ thống có thể dễ dàng tạo và phân các quyền hạn cho người dùng và nhóm ngườidùng. Người dùng nghĩa là người trực tiếp thao tác, giao tiếp với hệ thống ứngdụng. Nhóm người dùng thể hiện vai trò của từng người dùng.
Ý tưởng phân quyền người dùng như sau : các chức năng hệ thống được thể hiệnthông qua menu, các quyền được phân sẽ căn cứ vào menu, người dùng thuộc nhómngười dùng nào sẽ có quyền hạn của nhóm người dùng đó. Quyền hạn nào được
phân thì chức năng tương ứng sẽ được kích hoạt (Enabled) lên và chức năng đóngười dùng có thể thao tác được. Quyền hạn nào không được phép thì chức năngmenu đó sẽ bị mờ đi (Disabled) và chức năng đó người dùng sẽ không được thaotác.
Người quản trị có thể thực hiện được tất cả các chức năng của chương trình(thêm, sửa, xoá) và có quyền cho một nhân viên bình thường có được quyền nhưngười quản trị.
Một nhân viên bình thường khi được khởi tạo chỉ có quyền trên các danh mục,
hoá đơn với các chức năng như thêm, sửa nhưng không thể xoá được. Ngoài ra,nhân viên cũng không thể truy cập tới chức năng quản lý người dùng được.
3.1.3. Thống kê báo cáo
Chương trình có các báo cáo, báo biểu được thiết kế trên Crystal Report , theokiểu file định nghĩa cấu trúc (.TTX – Tab Seperated Text – File văn bản dùng phâncách tab). Tức là mỗi report (.rpt) có các field được định nghĩa sẵn trên file (.ttx)tương ứng. Các báo cáo có chức năng xem trước (preview) hay in trực tiếp (print)
ngay từ trên form.
3.1.4. Trợ giúp
Chương trình có hệ thống trợ giúp hướng dẫn sử dụng được thiết kế bằng htm từchương trình Word2CHM.
+ Lớp giao diện người dùng.+ Lớp xử lý.+ Lớp dữ liệu.
Ứng dụng được tổ chức chặt chẽ, nhằm hạn chế tối đa các lỗi có thể phátsinh từ phía người dùng. Tất cả các thao tác, tương tác của người dùng chỉ đượcgiới hạn ở mức form, biểu mẫu, báo cáo. Không được can thiệp trực tiếp xuốngcơ sở dữ liệu. Sau đó từ mức giao diện người dùng, hệ thống sẽ có các hàm xửlý, kiểm tra tính hợp lệ của dữ liệu … và chuyển xuống lớp dữ liệu. Tại đây sẽcó các hàm, giao tác xử lý, lưu trữ, tra cứu dữ liệu của cơ sở dữ liệu như câulệnh truy vấn sql, stored procedure… Sau đó, lớp dữ liệu này sẽ trả kết quả lại
cho lớp xử lý và chuyển lên mức giao diện để hồi đáp với người sử dụng hệthống.
Như thế khi hệ thống có lỗi, ta có thể dễ dàng nhanh chóng cô lập và xácđịnh được mức nào bị lỗi : mức giao diện, mức xử lý hay mức dữ liệu để có thểkhắc phục sớm nhất.
Để minh họa mô hình ba lớp như đã nêu ở trên, ở đây ta dùng một màn hình tiêu biểu để biểu diễn, đó là màn hình nhập “Danh mục đơn vị”, và sẽ trình bày cho mànhình này từ phần thiết kế ở mức giao diện, thiết kế ở mức xử lý và thiết kế ở mức cơ sở dữ liệu.
Các màn hình giao diện nhập liệu của chương trình được thiết kế theo phongcách chung và gần như giống nhau, có các chức năng :
Hiển thị dạng lưới:
Dữ liệu trong hệ thống sẽ hiển thị ở dạng lưới dữ liệu gồm các cột trong bảng dữliệu. Lưới dữ liệu có hỗ trợ menu chức năng để thao tác trên các dòng dữ liệu cũngnhư thông tin về ngày giờ tạo / cập nhật dòng dữ liệu, kèm theo menu tích hợp cáctính năng hệ thống như sort tăng / giảm theo cột
.Thêm mới / Cập nhật
• Thêm mới: để khởi tạo thông tin trống và chuẩn bị nhập dữ liệu.
• Ghi: Lưu thông tin đang nhập từ trên màn hình vào hệ thống:
Nếu thông tin trên màn hình là hoàn toàn mới, chưa có trong hệ thống thì tiến
hành lưu thông tin mới.
Nếu thông tin đã có trong hệ thống thì tiến hành cập nhật thông tin trong hệthống theo dữ liệu nhập vào (có thông báo xác nhận cập nhập hay không).
Khi nhấp vào nút(button) thêm mới trong màn hình giao diện
Giaodiện
ngườidùng
Hàm/Thủtụ
c
xửlý
Thêm mới
Refresh
Thêm mớiThêm mới Đơn vị ()
Các biến toàn cục sử dụng trong hàm :
Khi ấn nút “Thêm mới ”, panel sẽ chuyển sang “Thêm mới ”, thì sẽ gọi hàm Thêm mới () để thựchiện xóa trắng các ô nhập liệu trên form để chuẩn bịnhập liệu cho record mới.
New ()
Form DANH MỤC ĐƠN VỊ
Xử lí thêm mới
Hình 3.3.2.2.1: Xử lí thêm mới trong form Đơn vị tính
Công dụng: Mỗi người dùng có một tên đăng nhập, mật khẩu riêng biệt với vaitrò khác nhau. Dựa vào vai trò của từng người để xác định quyền hạn của mỗingười.
Bảng mô tả các thuộc tính:
STT Thuộc tínhKiểu dữ
liệuKíchthước
Có thểNull
Diễn giải
1 TenNguoiDung Nvarchar 50 1Tên người dùngtrong đơn vi.
2 MatKhau Nchar 30 1Mật khẩu đăngnhập
3 VaiTro Bit 1 1 Nhóm ngườ
dùng
4 HienThi Bit 1 0Tình trạng củangười dùng (có
bị xoá hay chưa)
• Bảng Hoạt chất: Danh mục các loại hoạt chất có trong cơ sở dữ liệu.
dbo.HoatChat(MaHoatChat,TenHoatChat,HienThi)
Công dụng:Dùng để lưu các loại hoạt chất,các loại hoạt chất được xác định dựatrên mã hoạt chất.
Công dụng: dùng để lưu các thông tin cơ bản về biệt dược, mỗi biệt dược có mộtmã biệt dược để làm khoá. Mã biệt dược được đặt chế độ tự động tăng.
Bảng mô tả các thuộc tính:
STT Thuộc tínhKiểu dữ
liệuKíchthước
Có thểNull
Diễn giải
1 MaBD Int 4 1 Mã của biệt dược2 TenBD Nvarchar 100 1 Tên của biệt dược
3 MaLoaiSP Bit 1 1
Loại sản phẩm
(Thuốc hay là sản phẩm khác)
4 MaNhaCC Int 4 1 Mã nhà cung cấp5 MaNuocSX Int 4 1 Mã nước sản xuất6 MaLoaiBD Int 4 1 Mã loại biệt dược7 MaHoatChat Int 4 1 Mã hoạt chất8 MaDVT Int 4 1 Mã đơn vị9 HamLuong Nvarchar 100 0 Hàm lượng
Công dụng: lưu thông tin chi tiết về hoá đơn nhập,qua đó cho ta biết được trongmỗi hoá đơn có bao nhiêu mặt hàng được nhập vào dựa trên mã số hoá đơn nhập.
Công dụng: lưu thông tin chi tiết về hoá đơn xuất,qua đó cho ta biết được trongmỗi hoá đơn có bao nhiêu mặt hàng được xuất ra dựa trên mã số hoá đơn xuất.
Công dụng: dùng đê lưu thông tin các khách hàng đã từng mua thuốc tại bệnhviện.
Bảng mô tả các thuộc tính:
STT Thuộc tínhKiểu dữ
liệuKíchthước
Có thểNull
Diễn giải
1 MaKH int 4 1 Mã khách hàng2 TenKH nvarchar 100 1 Tên khách hàng3 DiaChi nvarchar 100 1 Địa chỉ của khách hàng4 Tuoi int 4 1 Tuổi của khách hàng5 GioiTinh Datetime 1 Giới tính
6 DienThoai nchar 12 0 Lưu số điện thoại
7 HienThi Bit 1 0Tình trạng của kháchhàng (có bị xoá haychưa)
• Bảng Loại biệt dược
dbo.LoaiBietDuoc(MaLoaiBD, TenLoaiBD, HienThi)
Công dụng: cho biết biệt dược đó thuộc vào nhóm loại biệt nào (ví dụ loại biệtdược: cầm máu, kháng sinh, nhức đầu …)
Công dụng: lưu thông tin các nhà cung cấp đã cung cấp thuốc và các sản phẩmkhác cho bệnh viện
Bảng mô tả các thuộc tính:
STT Thuộc tính Kiểu dữ liệu
Kíchthước
Có thểNull
Diễn giải
1 MaNhaCC int 4 1 Mã nhà cung cấp2 TenNhaCC nvarchar 100 1 Tên nhà cung cấp3 DiaChi nvarchar 100 1 Địa chỉ của nhà cung cấp4 SoDKKD nchar 20 1 Số đăng ký kinh doanh5 DienThoai Nchar 12 1 Điện thoại6 Fax Nchar 12 0 Số Fax7 GhiChu nvarchar 100 0 Ghi chú
8 HienThi Bit 1 0 Tình trạng của nhà cungcấp (có bị xoá hay chưa)
• Bảng Loại sản phẩm:
dbo.LoaiSanPham(MaLoaiSP, TenLoaiSP)
Công dụng: lưu giá trị true hoặc false và qua đó cho ta biết được sản phẩm vừanhập vào là thuốc hay là 1 sản phẩm khác ngoài thuốc.
Công dụng: để lưu các thông tin về các sản phẩm ngoài thuốc.(Ví dụ như: bong băng, gạc, cồn rửa vết thương…)
Bảng mô tả các thuộc tính:
STT Thuộc tính Kiểu dữ liệu
Kíchthước
Có thểNull
Diễn giải
1 MaSPK int 4 1 Mã sản phẩm khác2 TenSPK nvarchar 100 1 Tên sản phẩm khác3 MaLoaiSP bit 1 1 Mã loại sản phẩm4 MaNhaCC Int 4 1 Mã nhà cung cấp5 MaNuocSX Int 4 1 Mã nước sản xuất6 MaDVT Int 4 0 Mã đơn vị tính7 DieuKienBQ nvarchar 100 0 Điều kiện bảo quản
8 HienThi Bit 1 0 Tình trạng của sản phẩm(có bị xoá hay chưa)
Các hệ điều hành thông dụng như Windows XP, Windows 2000, Windows 2000server, Windows Vista ( Stater, Home, Premium, Ultimate), Windows 7 (Stater, Home,Premium, Ultimate).
4.2. Giao diện chương trình
4.2.1. Màn hình chính của chương trình (form Main)
Xây dựng hệ thống thông tin quản lý hiện nay không chỉ là việc lập trình đơnthuần, mà nó đòi hỏi một cách có hệ thống các giai đoạn khảo sát, phân tích thiếtkế. Việc xây dựng hệ thống quản lý phải đáp ứng tất cả các vấn đề đặt ra từ khâudặt vấn đề, giải quết bài toán, thiết kế bài toán cho đến việc đóng gói sản phẩm đưara thử nghiệm là một vấn đề đòi hỏi nhiều thời gian và công sức.
Đứng trước xu hướng phát triển của công nghệ thông tin như vũ bão, việctin học hoá việc quản lý hành chính là vô cùng quan trọng và bức thiết. Nó sẽ giúpcho các cơ quan nhà nước giải quyết các công việc được nhanh chóng và hiệu quả.Ứng dụng cơ sở dữ liệu đã giải quyết được vấn đề đó.
Với đề tài Quản lý dược phẩm tại bệnh viện quận 2 thành phố Hồ Chí Minh, tuychương trình cài đặt chưa được hoàn thiện các chức năng, song nếu có thời gian
phát triển và hoàn thiện hơn thì chương trình này sẽ có ích rất nhiều giúp cho các
nhân viên của bệnh viện trong công việc lưu trữ và thống kê dược phẩm cũng nhưquản lý dược phẩm tại bệnh viện một cách thuận tiện và dễ dàng hơn rất nhiều.
5.2. Hạn chế
Do thời gian thực hiện đề tài tương đối hạn chế, kinh nghiệm chưa nhiều nênchương trình không thể tránh được những thiếu sót nhất định. Bên cạnh đó chươngtrình còn có một số chức năng khoâng có đủ thời gian để thực hiện kịp. Đồng thờivẫn còn có một số form chưa hoàn thành đầy đủ và chính xác và các ràng buộc về
Chương trình quản lý dược phẩm hoàn thành sẽ góp phần quan trọng trong việcquản lý chứng từ sổ sách về dược phẩm tại bệnh viện.
Để chương trình có thể hoạt động hiệu quả hơn cần dữ liệu phải được lưu trữ bằng hệ quản trị cơ sở dữ liệu có tính bảo mật hơn.
Nếu có thể đưa chương trình quản lý các thông tin về dược phẩm lên các trangWeb để giúp cho người quản trị và nhân viên có sự thuận lợi hơn để theo dõi đượcquá trình nhập xuất biệt dược của người thân cho dù là đang ngồi ở nhà hay ở bấtkỳ nơi nào.