Đề tài Phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện Mắt tỉnh Nam Định

Bệnh nhân đến bệnh viện khám và chữa bệnh phải tiến hành như sau:  Mang theo thẻ bảo hiểm y tế (BHYT) (nếu có) + CMTND  Đầu tiên phải qua bộ phận đón tiếp làm thủ tục (Mua phiếu). Tại đây nhân viên sẽ lấy thông tin hành chính của bệnh nhân để viết phiếu khám bệnh. Sau đó nhân viên vào sổ đăng ký khám bệnh với các thông tin như ở phiếu khám bệnh. Nếu là trường hợp cấp cứu thì bệnh nhân có thể được chuyển ngay đến khu điều tri cấp cứu.  Tiếp theo,bệnh nhân phải qua bộ phận thanh toán để nộp phí khám bệnh.  Nếu tại phòng khám bác sỹ yêu cầu bệnh nhân đi làm các xét nghiệm, chiếu chụp thì bệnh nhân cũng phải thanh toán các chi phí này rồi mới được tiến hành làm xét nghiệm, chiếu chụp.  Nếu bác sỹ yêu cầu bệnh nhân nhập viện thì người bệnh phải đóng tiền đặt cọc trước khi bệnh nhân được nhận vào điều trị. Khi ra viện người bệnh phải đóng hết tất cả các khoản viện phí  Sau đó bệnh nhân được hướng dẫn vào các phòng khám tương ứng ghi trên phiếu khám bệnh.  Tại các phòng khám bác sỹ thực hiện khám và kê đơn thuốc cho người bệnh. Trong quá trình khám bác sỹ có thể yêu cầu cho người bệnh đi làm các xét nghiệm thêm.  Khi phải nhập viện điều trị, Người bệnh được phân giường tại các phòng điều trị. Quá trình khám và chữa bệnh hàng ngày do các bác sỹ & y tá thực hiện. Trong quá trình đó có thể bệnh nhân phải làm các xét nghiệm, thực hiện các ca phẫu thuật.

doc125 trang | Chia sẻ: tuandn | Lượt xem: 2265 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Đề tài Phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện Mắt tỉnh Nam Định, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU Ngày này cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì công nghệ thông tin là một công cụ hỗ trợ rất đắc lực trong công tác quản lý. Chúng ta dễ dàng thấy được việc đưa tin học vào trong quản lý kinh doanh là một trong những ứng dụng quan trọng trong rất nhiều ứng dụng cơ sở dữ liệu. Nhờ vào công tác tin học hóa mà công việc quản lý và điều hành doanh nghiệp tỏ ra rất nhanh chóng và hiệu quả. Chính vì lẽ đó mà cơ sở dữ liệu như là một giải pháp hữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển một cách nhanh chóng.thông tin là một trong những lĩnh vực có nhiều đóng góp thiết thực nhất, công nghệ thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống đặc biệt công nghệ Bệnh viện Mắt tỉnh Nam Định là một trung tâm khám chữa các bệnh về Mắt lớn nhất tỉnh Nam Định. Do đó nhu cầu ứng dụng cơ sở dữ liệu trong việc quản lý bệnh nhân là hết sức thiết thực. Vì vậy nhóm em chọn đề tài phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện Mắt tỉnh Nam Định làm đề tài thực tập môn PHÂN TÍCH THIẾT KẾ HỆ THỐNG. Hệ thống được phân tích và thiết kế theo phương pháp có cấu trúc và được cài đặt trên môi trường Visual Basic 6.0. Mặc dù có nhiều cố gắng nhưng vốn kiến thức chưa sâu, chưa có nhiều kinh nghiệm và hệ thống khá phức tạp nên không thể tránh khỏi những thiếu sót. Rất mong được sự góp ý của quý thầy cô,anh chị cùng các bạn để báo cáo được hoàn thiện hơn. Nam Định ngày Tháng năm 2010 Nhóm sinh viên thực hiện: Nhóm 3: 1.Khương Quý Đặng 2.Phạm Huy Hoàng 3.Hoàng Văn Luân 4.Bùi Quang Minh . Phần 1: KHẢO SÁT HỆ THỐNG Khảo sát hệ thống Bệnh nhân đến bệnh viện khám và chữa bệnh phải tiến hành như sau: Mang theo thẻ bảo hiểm y tế (BHYT) (nếu có) + CMTND Đầu tiên phải qua bộ phận đón tiếp làm thủ tục (Mua phiếu). Tại đây nhân viên sẽ lấy thông tin hành chính của bệnh nhân để viết phiếu khám bệnh. Sau đó nhân viên vào sổ đăng ký khám bệnh với các thông tin như ở phiếu khám bệnh. Nếu là trường hợp cấp cứu thì bệnh nhân có thể được chuyển ngay đến khu điều tri cấp cứu. Tiếp theo,bệnh nhân phải qua bộ phận thanh toán để nộp phí khám bệnh. Nếu tại phòng khám bác sỹ yêu cầu bệnh nhân đi làm các xét nghiệm, chiếu chụp thì bệnh nhân cũng phải thanh toán các chi phí này rồi mới được tiến hành làm xét nghiệm, chiếu chụp. Nếu bác sỹ yêu cầu bệnh nhân nhập viện thì người bệnh phải đóng tiền đặt cọc trước khi bệnh nhân được nhận vào điều trị. Khi ra viện người bệnh phải đóng hết tất cả các khoản viện phí Sau đó bệnh nhân được hướng dẫn vào các phòng khám tương ứng ghi trên phiếu khám bệnh. Tại các phòng khám bác sỹ thực hiện khám và kê đơn thuốc cho người bệnh. Trong quá trình khám bác sỹ có thể yêu cầu cho người bệnh đi làm các xét nghiệm thêm. Khi phải nhập viện điều trị, Người bệnh được phân giường tại các phòng điều trị. Quá trình khám và chữa bệnh hàng ngày do các bác sỹ & y tá thực hiện. Trong quá trình đó có thể bệnh nhân phải làm các xét nghiệm, thực hiện các ca phẫu thuật. 1.2 Một số yêu cầu của hệ thống 1. Bệnh nhân có những yêu cầu sau: - Tổng chi phí trong thời gian điều trị tại bệnh viện. -Tổng số tiền phải đóng. - Chi tiết các khoản phải đóng. 2. Các bác sỹ cần biết: Diễn biến bệnh của bệnh nhân mà mình đang điều trị. Cần tìm kiếm một số trờng hợp tơng tự để tìm lấy một số giải pháp chữa trị hữu hiệu nhất. Cần thống kê bệnh nhân theo từng mùa hoặc theo từng bệnh để đa ra một số phơng án hoạt động dự phòng một số bệnh theo từng mùa hoặc theo từng khu vực… 3. Người nhà bệnh nhân cần biết Biết đợc diễn biến chính xác bệnh của ngời nhà mình (có một số trờng hợp bác sĩ không thể nói trực tiếp với bệnh nhân đợc nên phải nói với ngời nhà bệnh nhân). Có thể biết quá trình điều trị của ngời nhà mình cũng nh biết rõ đợc ngời nhà mình đang được điều trị như thế nào. 4. Đối với nhân viên tài chính của bệnh viện Tổng số tiền tạm ứng mà bệnh nhân đã đóng và chưa đóng (còn lại là bao nhiêu). Tổng số bệnh nhân điều trị trong tháng có bảo hiểm y tế, và tổng chi phí của những bệnh nhân này để thanh toán với bảo hiểm y tế. 5. Yêu cầu đặt ra Lưu trữ và quản lý thông tin bệnh nhân đến khám bệnh, nằm điều trị, chuyển viện, và xuất viện. Cho phép tìm kiếm thông tin bệnh nhân đến khám bệnh, nằm điều trị, chuyển viện và xuất viện. Thống kê lượng bệnh nhân đến khám bệnh, nằm điều trị theo quý, năm. In các phiếu khám bệnh, xét nghiệm, hóa đơn thanh toán, …. CHƯƠNG II: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG VÀ DỮ LIỆU 2.1. Phân tích chức năng của hệ thống Hình 2.1: Sơ đồ chức năng nghiệp vụ 2.2. Phân tích biểu đồ dòng dữ liệu 2.2.1. Sơ đồ dòng dữ liệu mức ngữ cảnh * Các tác nhân ngoài của hệ thống: Bệnh nhân (BỆNH NHÂN) Bộ phận xét nghiệm/chiếu chụp (BP XN/CC) Bộ phân thanh toán (BP THANH TOÁN) Ban lãnh đạo (BAN LÃNH ĐẠO) Hình 2.2: Sơ đồ dòng dữ liệu mức ngữ cảnh 2.2.2 Sơ đồ mức đỉnh Hình 2.3: Sơ đồ dòng dữ liệu mức đỉnh 2.2.3. Sơ đồ mức dưới đỉnh 2.2.3.1.Chức năng: Đón tiếp Hình 2.4: Sơ đồ dòng dữ liệu của chức năng đón tiếp 2.2.3.2. Chức năng: Khám bệnh Hình 2.5: Sơ đồ dòng dữ liệu của chức năng khám bệnh 2.2.3.3. Chức năng: Điều trị Hình 2.6: Sơ đồ dòng dữ liệu của chức năng điều trị 2.2.3.4. Chức năng: Thống kê – tìm kiếm Hình 2.7: Sơ đồ dòng dữ liệu của chức năng thống kê – tìm kiếm 2.2.3.5. Chức năng: Xử lý sau khám Hình 2.8: Sơ đồ dòng dữ liệu của chức năng xử lý sau khám 2.2.3.6. Chức năng: Xử lý sau điều trị Hình 2.9: Sơ đồ dòng dữ liệu của chức năng xử lý sau điều trị 2.3. Phân tích hệ thống về dữ liệu 2.3.1. Xây dựng mô hình quan hệ 2.3.1.1. Các tập thực thể và thuộc tính 1. NHÂN VIÊN (Mã NV, Họ tên NV, Chuyên môn) 2. BỆNH NHÂN ( Mã BN, Họ tên BN, NS, DC, GT) 3. KHOA (Mã khoa, Tên khoa) 4. GIƯỜNG (Số giường) 5. THUỐC ( Mã thuốc, Tên thuốc, Đơn vị tính, Đơn giá) 6. BỆNH (Mã bệnh, Tên bệnh) 7. ĐỐI TƯỢNG XN/CC (Mã ĐT, Tên ĐT) 8. DỊCH VỤ (Mã DV, Tên DV, Đơn giá) 9. CSYT (Mã CSYT, Tên CSYT) 10. PHÒNG (Số phòng) 11. NGÀY KHÁM (Ngày khám) 12. YC KHÁM (YC khám) 13. KQ KHÁM (KQ khám) 14. NGÀY NHẬN (Ngày nhận giường) 15. NGÀY TRẢ (Ngày trả giường) 16. NGÀY XN/CC (Ngày XN/CC) 17. KQ XN/CC (KQ XN/CC) 28. NGÀY SDDV (Ngày SDDV) 29. LƯỢNG SDDV (Lượng SDDV) 20. NGÀY KÊ ĐƠN (Ngày kê đơn) 21. SỐ LƯỢNG (Số lượng) 22. CÁCH DÙNG (Cách dùng) 23. NGÀY VÀO (Ngày vào) 24. NGÀY RA (Ngày ra) 25. TT BỆNH (Tình trạng bệnh) 26. NGÀY CHUYỂN (Ngày chuyển) 27. BHYT (Số thẻ) 2.3.1.2. Các mối liên hệ 1. DÒNG KB (NHÂN VIÊN, BỆNH NHÂN, PHÒNG, NGÀY KHÁM, YC KHÁM, KQ KHÁM) 2. BN-G (BỆNH NHÂN, GIƯỜNG, NGÀY NHẬN, NGÀY TRẢ) 3. XN/CC (NHÂN VIÊN, BỆNH NHÂN, ĐỐI TƯỢNG XN/CC, NGÀY XN/CC, KQ XN/CC) 4. BN-BHYT ( BỆNH NHÂN, BHYT) 5. SDDV (BỆNH NHÂN, DỊCH VỤ, NGÀY SDDV, LƯỢNG SDDV) 6. ĐƠN THUỐC (NHÂN VIÊN, BỆNH NHÂN, THUỐC, NGÀY KÊ ĐƠN, SỐ LƯỢNG, CÁCH DÙNG) 7. BỆNH ÁN (NHÂN VIÊN, BỆNH NHÂN, BỆNH, PHÒNG, NGÀY VÀO, NGÀY RA, TT BỆNH) 8. CHUYỂN VIỆN (BỆNH NHÂN, CSYT, NGÀY CHUYỂN) 9. P-G (GIƯỜNG, PHÒNG ) 10. P-K (PHÒNG, KHOA) 2.3.1.3. Sơ đồ thực thể liên hệ NHÂN VIÊN BỆNH NHÂN BỆNH CSYT BN-BHYT BN-G DÒNG KB XN/CC ĐƠN THUỐC CHUYỂN VIỆN ĐỐI TƯỢNG XN/CC Số thẻ Số giường Ngày nhận Ngày trả Mã bệnh Tên bệnh Mã BN NS Tên BN GT DC TT bệnh MãNV Tên NV Chuyên môn Ngày kê đơn Cách dùng Số lượng KQ XN/CC Ngày XN/CC Mã ĐT Tên ĐT Ngày khám YC khám KQ khám Mã CSYT Tên CSYT Ngày Chuyển Số phòng THUỐC Đơn vị tính Đơn giá Tên thuốc Mã thuốc BỆNH ÁN Ngày ra P-G P-K KHOA Mã khoa Tên khoa Ngày ra Hình 2.10: Sơ đồ thực thể liên hệ 2.3.2. Chuyển sang lược đồ quan hệ 2.3.2.1. Chuyển các tập thực thể sang lược đồ quan hệ 1. NHÂN VIÊN (Mã NV, Họ tên NV, Chuyên môn) 2. BỆNH NHÂN ( Mã BN, Họ tên BN, NS, DC, GT) 3. KHOA (Mã khoa, Tên khoa) 4. THUỐC ( Mã thuốc, Tên thuốc, Đơn vị tính, Đơn giá) 5. BỆNH (Mã bệnh, Tên bệnh) 6. ĐỐI TƯỢNG XN/CC (Mã ĐT, Tên ĐT) 7. DỊCH VỤ (Mã DV, Tên DV, Đơn giá) 8. CSYT (Mã CSYT, Tên CSYT) 2.3.2.2. Chuyển các mối liên hệ sang lược đồ quan hệ 1. DÒNG KB (Mã NV, Mã BN, Số phòng, NGÀY KHÁM, YC KHÁM, KQ KHÁM) 2. BN-G (Mã BN, Số giường, NGÀY NHẬN, NGÀY TRẢ) 3. XN/CC (Mã NV, Mã BN, Mã ĐT, NGÀY XN/CC, KQ XN/CC) 4. BN-BHYT ( Mã BN, Số thẻ) 5. SDDV (Mã BN, Mã DV, NGÀY SDDV, LƯỢNG SDDV) 6. ĐƠN THUỐC (Mã NV, Mã BN, Mã thuốc, NGÀY KÊ ĐƠN, SỐ LƯỢNG, CÁCH DÙNG) 7. BỆNH ÁN ( Mã NV, Mã BN, Mã bệnh, Số phòng, NGÀY VÀO, NGÀY RA, TT BỆNH) 8. CHUYỂN VIỆN (Mã BN, Mã CSYT, NGÀY CHUYỂN) 9. P-G (Số phòng, Số giường ) 10. P-K (Số phòng, Mã khoa) Sau khi gộp các lược đồ quan hệ có cùng khoá ta đựơc các quan hệ: 1. NHÂN VIÊN (Mã NV, Họ tên NV, Chuyên môn) 2. BỆNH NHÂN (Mã BN, Họ tên BN, NS, DC, GT, Số thẻ BHYT) 3. KHOA (Mã khoa, Tên khoa) 4. THUỐC ( Mã thuốc, Tên thuốc, Đơn vị tính, Đơn giá) 5. BỆNH (Mã bệnh, Tên bệnh) 6. ĐỐI TƯỢNG XN/CC (Mã ĐT, Tên ĐT) 7. DỊCH VỤ (Mã DV, Tên DV, Đơn giá) 8. CSYT (Mã CSYT, Tên CSYT) 9. P-G (Số giường, số phòng) 10. P-K (Số phòng, mã khoa) 11. DÒNG KB (Mã NV, Mã BN, Số phòng, NGÀY KHÁM, YC KHÁM, KQ KHÁM) 12. BN-G (Mã BN, Số giường, NGÀY NHẬN, NGÀY TRẢ) 13. XN/CC (Mã NV, Mã BN, Mã ĐT, NGÀY XN/CC, KQ XN/CC) 14. SDDV (Mã BN, Mã DV, NGÀY SDDV, LƯỢNG SDDV) 15. ĐƠN THUỐC (Mã NV, Mã BN, Mã thuốc, NGÀY KÊ ĐƠN, SỐ LƯỢNG, CÁCH DÙNG) 16. BỆNH ÁN ( Mã NV, Mã BN, Mã bệnh, Số phòng, NGÀY VÀO, NGÀY RA, TT BỆNH) 17. CHUYỂN VIỆN (Mã BN, Mã CSYT, NGÀY CHUYỂN) 2.3.3. Chuẩn hoá các quan hệ 1. NHÂN VIÊN (Mã NV, Họ tên NV, Chuyên môn) F= {MaNV ® HotenNV, chuyenmon} - Ở dạng chuẩn 3NF 2. BỆNH NHÂN (Mã BN, Họ tên BN, NS, DC, GT, Số thẻ BHYT) F= {MaBN ® Họ tên BN, NS, DC, GT, Số thẻ BHYT} - Ở dạng chuẩn 3NF 3. KHOA (Mã khoa, Tên khoa) F= {Mã khoa ® Tên khoa} - Ở dạng chuẩn 3NF 4. THUỐC ( Mã thuốc, Tên thuốc, Đơn vị tính, Đơn giá) F= {Mã thuốc ® Tên thuốc, Đơn vị tính, Đơn giá} - Ở dạng chuẩn 3NF 5. BỆNH (Mã bệnh, Tên bệnh) F= {Mabenh ® Tên bệnh} - Ở dạng chuẩn 3NF 6. ĐỐI TƯỢNG XN/CC (Mã ĐT, Tên ĐT) F= {Mã ĐT ® Tên ĐT} - Ở dạng chuẩn 3NF 7. DỊCH VỤ (Mã DV, Tên DV, Đơn giá) F= {Mã DV ® Tên DV, Đơn giá} - Ở dạng chuẩn 3NF 8. CSYT (Mã CSYT, Tên CSYT) F= {Mã CSYT ® Tên CSYT} - Ở dạng chuẩn 3NF 9. P-G ( Số giường, Số phòng) F= {Số giường ® Số phòng} - Ở dạng chuẩn 3NF 10. P-K ( Số phòng, Mã khoa) F= {Số phòng ® Mã khoa} - Ở dạng chuẩn 3NF Các quan hệ (11), (12), (13), (14), (15), (16) và (17) đều ở dạng chuẩn 3NF vì có tập thuộc tính F = {}. KL: Tất cả các quan hệ trên đều ở dạng chuẩn 3 NF CHƯƠNG III: THIẾT KẾ HỆ THỐNG 3.1. Thiết kế dữ liệu 3.1.1. Các bảng dữ liệu 3.1.1.1. Bảng NhanVien Tên trường Kiểu dữ liệu Khoá Ghi chú MaNV Char (10) PK Mã nhân viên HotenNV Char (30) Họ tên nhân viên Chuyenmon Char (25) Chuyên môn Hình 3.1: Bảng Nhân viên 3.1.1.2. Bảng BenhNhan Tên trường Kiểu dữ liệu Khoá Ghi chú MaBN Char (10) PK Mã bệnh nhân HotenBN Char (30) Tên bệnh nhân GT Char (3) Giới tính NS DateTime (8) Ngày sinh DC Char (100) Địa chỉ SotheBHYT Char (10) FK Số thể BHYT Hình 3.2: Bảng Bệnh nhân 3.1.1.3. Bảng Khoa Tên trường Kiểu dữ liệu Khoá Ghi chú Makhoa Char (10) PK Mã khoa Tenkhoa Char (30) Tên khoa Hình 3.3: Bảng Khoa 3.1.1.4. Bảng Thuoc Tên trường Kiểu dữ liệu Khoá Ghi chú Mathuoc Char (10 ) PK Mã thuốc Tenthuoc Char (30) Tên thuốc Donvitinh Char (10) Đơn vị tính Dongia Numberic(8,2) Đơn giá Hình 3.4: Bảng Thuốc 3.1.1.5. Bảng Benh Tên trường Kiểu dữ liệu Khoá Ghi chú Mabenh Char (10) PK Mã bệnh Tenbenh Char (20) Tên bệnh Hình 3.5: Bảng Bệnh 3.1.1.6. Bảng DoiTuongXN/CC Tên trường Kiểu dữ liệu Khoá Ghi chú Madoituong Char (10) PK Mã đối tượng Tendoituong Char (25) Tên đối tượng Hình 3.6: Bảng Đối tượng XN/CC 3.1.1.7. Bảng DichVu Tên trường Kiểu dữ liệu Khoá Ghi chú MaDV Char (10) PK Mã dịch vụ TenDV Char (50) Tên dịch vụ Đongia Numeric (9) Đơn giá Hình 3.7: Bảng Dịch vụ 3.1.1.8. Bảng CoSoYTe Tên trường Kiểu dữ liệu Khoá Ghi chú MaCSYT Char (10) PK Mã Cơ sở y tế TenCSYT Char 30) Tên cơ sở y tế Hình 3.8: Bảng Cơ sở y tế 3.1.1.9. Bảng P-G Tên trường Kiểu dữ liệu Khoá Ghi chú Sogiuong Char (10) PK Số giường Maphong Char (10) FK Mã phòng Hình 3.9: Bảng Phòng - Giường 3.1.1.10. Bảng DONGKB Tên trường Kiểu dữ liệu Khoá Ghi chú MaBN Char (10) FK Mã bệnh nhân MaNV Char (10) FK Mã nhân viên Ma PK Char (10) FK Mã phòng khám Ngaykham Datetime (8) Ngày khám YCkham Char (50) YC nghị khám KQkham Char (100) Kếtquả khám Hình 3.10: Bảng Dòng khám bệnh 3.1.1.11. Bảng BN-G Tên trường Kiểu dữ liệu Khoá Ghi chú MaBN Char (10) FK Mã bệnh nhân Sogiuong Int (4) FK Số giường Ngaynhan Datetime (8) Ngày nhận giường Ngaytra Datetime (8) Ngày trả giường Hình 3.11: Bảng Bệnh nhân - Giường 3.1.1.12. Bảng XN/CC Tên trường Kiểu dữ liệu Khoá Ghi chú MaBN Char (10) FK Mã bệnh nhân MaNV Char (10) FK Mã nhân viên MaDT Char (10) FK Mã đối tượng NgayXN/CC Datetime (8) Ngày XN/CC KQXN/CC Datetime (8) KQ XN/CC Hình 3.12: Bảng XN/CC 3.1.1.13. Bảng SDDV Tên trường Kiểu dữ liệu Khoá Ghi chú MaDV Char (10) FK Mã dịch vụ MaBN Char (10) FK Mã bệnh nhân Luongdung Int (4) Số lượng dùng NgaySDDV Datetime (8) Ngày sử dụng DV Hình 3.13: Bảng Sử dụng dịch vụ 3.1.1.14. Bảng DonThuoc Tên trường Kiểu dữ liệu Khoá Ghi chú MaNV Char (10) FK Mã nhân viên MasoBN Char (10) FK Mã số bệnh nhân Mathuoc Char (10) FK Mã thuốc Ngaykedon Datetime (8) Ngày kê đơn Soluong Int (4) Số lượng thuốc Cachdung Char (50) Cách dùng Hình 3.14: Bảng Đơn thuốc 3.1.1.15. Bảng Benh_an Tên trường Kiểu dữ liệu Khoá Ghi chú MaNV Char (10) FK Mã nhân viên MaBN Char (10) FK Mã bệnh nhân Mabenh Char (10) FK Mã bệnh Maphong Char (10) FK Mã phòng Ngayvao Datetime (8) Ngày vào viện Ngayra Datetime (8) Ngày ra viện TTbenh Char (100) Tình trạng bệnh Hình 3.15: Bảng Bệnh án 3.1.1.16. Bảng ChuyenVien Tên trường Kiểu dữ liệu Khoá Ghi chú MaCSYT Char (10) FK Mã cơ sở y tế MaBN Char (10) FK Mã bệnh nhân Ngaychuyen Datetime (8) Ngày chuyển Hình 3.16: Bảng Chuyển viện 3.1.1.17. Bảng P-K Tên trường Kiểu dữ liệu Khoá Ghi chú Sophong Char (10) PK Số phòng Makhoa Char (10) FK Mã khoa Hình 3.17: Bảng Phòng - Khoa 3.1.2. Sơ đồ quan hệ giữa các bảng Hình 3.18: Sơ đồ quan hệ giữ các bảng 3.2. Thiết kế giao diện * Giao diện cập nhật bệnh nhân: Hình 3.19: Giao diện thiết kế cập nhật bệnh nhân Code của Form cập nhật bệnh nhân Dim kt As Boolean Private Sub sinh_mabn() Dim tg As String Dim tg1 Dim i Connection.OpenData ("benhnhan") Adodckn.RecordSource = "benhnhan" If Not Adodckn.Recordset.EOF Then Adodckn.Recordset.MoveLast tg = Adodckn.Recordset.Fields("mabn").Value tg1 = CInt(Right(tg, 5)) + 1 Select Case tg1 Case Is < 10 tg = "BN0000" & CStr(tg1) Case Is < 100 tg = "BN000" & CStr(tg1) Case Is < 1000 tg = "BN00" & CStr(tg1) Case Is < 10000 tg = "BN0" & CStr(tg1) Case Else tg = "BN" & CStr(tg1) End Select Else tg = "BN00001" End If txtmabn(0).Text = tg End Sub Private Sub cmdluu_Click(Index As Integer) Dim str As String ns = cbngay.Text & "/" & cbthang.Text & "/" & cbnam.Text If nam.Value = True Then gt = "Nam" Else gt = "N÷" End If Connection.OpenData ("benhnhan") If (kt = True) Then str = "update benhnhan set tenbn = '" & (txttenbn(1).Text) & "',ngaysinh = '" & ns & "', gioitinh = '" & gt & "',diachi = '" & txtdc(2).Text & "',soTBHYT = '" & txtthe.Text & "'where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) kt = False Else str = "INSERT INTO benhnhan (mabn,tenbn,ngaysinh,gioitinh,diachi,soTBHYT) VALUES ('" _ & txtmabn(0).Text & "','" & txttenbn(1).Text & "','" & ns & "','" & gt & "','" & txtdc(2).Text & "','" & txtthe.Text & "')" cn.Execute (str) End If Connection.Closedata grdbn.Refresh Adodckn.Refresh Lammoi Mo_khoa cmdsua(1).Enabled = False End Sub Private Sub cmdmoi_Click(Index As Integer) kt = False cbngay.Text = "1" cbthang.Text = "1" cbnam.Text = "1900" Adodckn.RecordSource = "benhnhan" If (Adodckn.Recordset.EOF And Adodckn.Recordset.BOF) Then txtmabn(0).Text = tg Else If Not Adodckn.Recordset.EOF Then Adodckn.Recordset.MoveLast txtmabn(0).Text = Adodckn.Recordset.Fields("mabn").Value End If setnull End If sinh_mabn Mo_khoa cmdluu(1).Enabled = True cmdsua(1).Enabled = False End Sub Private Sub cmdsua_Click(Index As Integer) cmdluu(1).Enabled = True kt = True Mo_khoa cmdsua(1).Enabled = False End Sub Private Sub cmdvecuoi_Click(Index As Integer) cmdluu(1).Enabled = False Adodckn.Recordset.MoveLast cmdvecuoi(3).Enabled = False cmdvesau(2).Enabled = False cmdvedau(0).Enabled = True cmdvetruoc(1).Enabled = True Hienthi cmdsua(1).Enabled = True End Sub Private Sub cmdvedau_Click(Index As Integer) cmdluu(1).Enabled = False Adodckn.Recordset.MoveFirst cmdvedau(0).Enabled = False cmdvetruoc(1).Enabled = False cmdvecuoi(3).Enabled = True cmdvesau(2).Enabled = True Hienthi cmdsua(1).Enabled = True End Sub Private Sub cmdvesau_Click(Index As Integer) cmdluu(1).Enabled = False Adodckn.Recordset.MoveNext grdbn.Refresh If Adodckn.Recordset.EOF = True Then cmdvesau(2).Enabled = False cmdvecuoi(3).Enabled = False cmdvetruoc(1).Enabled = True cmdvedau(0).Enabled = True Else cmdvesau(2).Enabled = True cmdvecuoi(3).Enabled = True cmdvetruoc(1).Enabled = True cmdvedau(0).Enabled = True End If Hienthi cmdsua(1).Enabled = True End Sub Private Sub cmdvetruoc_Click(Index As Integer) cmdluu(1).Enabled = False Adodckn.RecordSource = ("benhnhan") Adodckn.Recordset.MovePrevious grdbn.Refresh If Adodckn.Recordset.BOF = True Then cmdvedau(0).Enabled = False cmdvetruoc(1).Enabled = False cmdvecuoi(3).Enabled = True cmdvesau(2).Enabled = True Else cmdvedau(0).Enabled = True cmdvetruoc(1).Enabled = True cmdvecuoi(3).Enabled = True cmdvesau(2).Enabled = True End If Hienthi cmdsua(1).Enabled = True End Sub Private Sub cmdxoa_Click(Index As Integer) cmdluu(1).Enabled = True Dim str As String Dim response As VbMsgBoxResult response = MsgBox(("B¹n cã muèn xoa b¶n ghi nµy kh«ng?"), vbYesNo + vbCritical, ("Thoong baso")) If response = vbNo Then Exit Sub Else Connection.OpenData ("benhnhan") str = "DELETE * FROM benhnhan WHERE mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("BNG") str = "DELETE * FROM BNG where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("chuyenvien") str = "DELETE * FROM chuyenvien where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("dongKB1") str = "DELETE * FROM dongKB1 where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("donthuoc") str = "DELETE * FROM donthuoc where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("SDDV") str = "DELETE * FROM SDDV where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("XNCC") str = "DELETE * FROM XNCC where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) Connection.OpenData ("Benhan1") str = "DELETE * FROM Benhan1 where mabn = '" & txtmabn(0).Text & "'" cn.Execute (str) End If grdbn.Refresh Connection.Closedata Lammoi Mo_khoa cmdsua(1).Enabled = False End Sub Private Sub Form_Load() Call add_ngaybn(cbngay, cbthang, cbnam) kt = False Adodckn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = E:\nhom3\quanlybenhnhan.mdb;Persist Security Info=False" Adodckn.RecordSource = "benhnhan" Connection.OpenData ("benhnhan") Adodckn.Refresh grdbn.Refresh setnull Mo_khoa sinh_mabn cmdsua(1).Enabled = False End Sub Private Sub setnull() txttenbn(1).Text = "" txtdc(2).Text = "" nam.Value = True txtthe.Text = "" End Sub Private Sub Frame3_DragDrop(Source As Control, X As Single, Y As Single) End Sub Private Sub grdbn_RowColChange(LastRow As Variant, ByVal LastCo

Các file đính kèm theo tài liệu này:

  • docBao cao nhom3.doc
  • rarQuản lý bệnh nhân.rar