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.
125 trang |
Chia sẻ: tuandn | Lượt xem: 2265 | Lượt tải: 4
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:
- Bao cao nhom3.doc
- Quản lý bệnh nhân.rar