Khoa (Mã khoa, Tên khoa)
Chuyên môn (Mã chuyên môn, Tên chuyên môn)
Chức Vụ (Mã chức vụ, Tên chức vụ)
Bệnh (Mã bệnh, Tên bệnh)
Vị trí (Mã vị trí, Tên vị trí)
Nhân viên (Mã NV, Họ tên NV, Ngày sinh NV, Giới tính NV, Số nhà NV,
Điện thoại NV, Mã xãc, Mã khoa, Mã CM, Mã CV)
Dòng khám bệnh (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã
vị trí, Ngày KB, Nội dung KB, Chi phí KB)
Bệnh nhân (Mã bệnh nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày sinh BN,
Giới tính BN, Mã xã)
Bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc,
Phần trăm)
Cơ quan (Mã cơ quan, Tên cơ quan, Điện thoại CQ, Fax cơ quan)
Cán bộ (Mã bệnh nhân, Mã cơ quan)
Tạm ứng (Mã T.ứng, Lần T.ứng, Số tiền, Ngày T.ứng, Mã bệnh nhân)
Bệnh án (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị trí,
Mã nơi Đ.T, Ngày vào, Ngày ra, Tình trạng ra)
Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá)
Dịch Vụ Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã
vị trí, Mã nơi Đ.T, Mã dịch Vụ, Lần dùng)
Dịch Vụ (Mã dịch vụ, Tên dịch vụ, Đơn giá D.V)
Thuốc Dùng (Mã khám Bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh, Mã vị
trí, Mã thuốc, Số lượng, Liều dùng)
Thuốc (Mã thuốc, Tên thuốc, Đơn giá)
4. Danh Sách Các Bảng
4.1 Bảng Tỉnh
Tỉnh (Mã tỉnh, Tên tỉnh)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã tỉnh Char Mã tỉnh Len()=2
Tên tỉnh Char Tên tỉnh 30
KHOA (Mã khoa, Tên khoa)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khoa Char Mã khoa Len()=2
Tên khoa Char Tên khoa 30
Giải thích
+ Bảng Khoa lưu trữ thông tin về khoa mà nhân viên (Bác sĩ) đang làm việc
4.5 Bảng CHUYÊN MÔN
CHUYÊN MÔN (Mã chuyên môn, Tên chuyên môn)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã chuyên môn Char Mã chuyên môn Len()=2
Tên chuyên môn Char Tên chuyên môn 30
Giải thích
+ Bảng chuyên môn lưu trữ thông tin về chuyên môn của nhân viên
4.6. Bảng Chức Vụ
Chức Vụ (Mã chức vụ, Tên chức vụ)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã chức vụ Char Mã chức vụ Len()=2
Tên chức vụ Char Tên chức vụ 30
Giải thích
+ Bảng chức vụ lưu trữ thông tin về chức vụ của Nhân Viên
4.7. Bảng Bệnh
Bệnh (Mã bệnh, Tên bệnh)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh Char Mã bệnh Len()=4
Tên bệnh Char Tên bệnh 30
Giải thích
+ Bảng này lưu trữ tất cả các bệnh hiện có
4.8. Bảng Vị Trí
Vị Trí (Mã vị trí, Tên vị trí)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã Vị trí, Ngày KB, Nội Dung KB, Chi Phí KB)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã Vị Trí Char Mã vị trí Len()=2
Ngày KB Date Ngày khám bệnh
Nội dung KB Char Nội dung khám bệnh 50
Chi phí KB Money Chi phí khám bệnh>0
Giải thích
+ Bảng dòng khám bệnh là mối kết hợp giữa các thực thể nhân viên, bệnh
nhân, bệnh, vị trí nên nó nhận tất cả các khóa của các theca thể tham gia vào
mối kết hợp làm khóa chính, các giá trị của các trường này được lấy tương
ứng từ các bảng tương ứng. Ngoài ra nó còn có khóa riêng là Mã khám bệnh
- Ngày KB không được sau ngày hiện tại
- Chi phí KB là khoản tiền mà bệnh nhân phải trả sau khi khám bệnh khoản
này không được nhỏ hơn 0.
4.11. Bảng bệnh nhân
bệnh nhân (Mã Bênh Nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày Sinh BN,
Giới Tính BN, Mã Xãc
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Họ bệnh nhân Char Họ bệnh nhân 20
Tên bệnh nhân Char Tên bệnh nhân 10
Ngày sinh BN Date Ngày sinh bệnh nhân
Giới tính BN Boolear Giới tính bệnh nhân
Mã xã Char Mã xã Len()=6
Giải thích
+ Bảng bệnh nhân lưu trữ tất cả các thông tin về bệnh nhân
Mã cơ quan Char Mã cơ quan Len()=6
Tên cơ quan Char Tên cơ quan 30
Điện thoại CQ Char điện thoại cơ quan 15
Fax cơ quan Char Fax cơ quan 15
Giải thích
+ Bang cơ quan lưu trữ thông tin về cơ quan mà những bệnh nhân có BHYT
thuộc một cơ quan nào đó
- Trường điện thoại cơ quan và trường fax cơ quan chứa điện thoại và fax cơ
quan và hai trường này cho phép Null
4.14. Bảng Cán Bộ
Cán Bộ (Mã bệnh nhân, Mã Cơ Quan)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã cơ quan Char Ma cơ quan Len()=6
Giải thích
+ Bảng cán bộ là thực thể chuyên biệt hóa của thực thể bảo hiểm y tế nên nó
nhận thuộc tính khóa của thực thể này làm khóa ngoài ra để xác định Cán Bộ
đó thuộc cơ quan nào thi bảng này phải nhận thêm khóa của thực thể cơ quan
làm khóa chính. Hai trường này lấy giá trị từ trường Mã bệnh nhân trong bảng
bệnh nhân và trường Mã Cơ Quan trong bảng Cơ Quan
4.15 Bảng Tạm ứng
Tạm ứng (Mã tạm ứng, Lần T.Ư, Số Tiền, Ngày T.Ư, Mã bệnh nhân)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã tạm ứng Char Mã tạm ứng Len()=11
Lần tạm ứng Int Lần tạm ứng
Số tiền Money Số tiền tạm ứng
Ngày tạm ứng Date Ngày tạm ứng
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Giải thích
+ Bảng Tạm ứng lưu trữ thông tin về số tiền mà bệnh nhân đã tạm ứng cho
- Ngày ra là ngày mà bệnh nhân được xuất viện ngày này cũng phải trước
hoặc trùng với ngày hiện tại
- Tình trạng ra là nhận xét của bác sĩ khi bệnh nhân xuất viện
4.17 Bảng Nơi Điều Trị
Nơi Điều Trị (Mã nơi Đ.T, Tên nơi Đ.T, Đơn giá)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã nơi Đ.T Char Mã nơi điều trị Len()=2
Tên nơi Đ.T Char Tên nơi điều trị 30
Đơn giá Money Đơn giá nơi điều trị
Giải thích
+ Nơi điều trị là nơi mà bệnh nhân điều trị khi ở bệnh viện.
- Đơn giá nói điều trị luôn nhận giá trị lớn hơn 0
4.18 Dịch Vụ Dùng
Dịch Vụ Dùng (Mã khám bệnh, Mã nhân viên, Mã bệnh nhân, Mã bệnh,
Mã vị trí, Mã nơi Đ.T, Mã dịch vụ, Lần dùng)
Tên trường Loại dữ liệu Mô tả Kích thước
Mã khám bệnh Char Mã khám bệnh Len()=9
Mã nhân viên Char Mã nhân viên Len()=5
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Mã bệnh Char Mã bệnh Len()=5
Mã vị trí Char Mã vị trí Len()=2
Mã nơi Đ.T Char Mã nơi điều trị Len()=2
Mã dịch vụ Char Mã dịch vụ Len()=2
Lần dùng Int Lần dùng dịch vụ
Giải thích
+ Thực thể dịch vụ dùng là chuyển từ mối kết hợp giữa Bệnh án với dùng
dịch vụ nên nó phải nhận tất cả các khóa của bệnh án làm khóa chính ngoài ra
nó còn nhận khóa của thực thể Dịch Vụ làm khóa chính (M• Dịch Vụ).
- Lần dùng là lần mà bệnh nhân đó dùng một loại dịch vụ
4.19. Bảng Dịch Vụ
Tên Trường Loại Dữ Liệu Mô Tả Kích Thước
Mã Thuốc Char Mã thuốc Len()=9
Tên Thuốc Char Tên thuốc 30
Đơn Giá Money Đơn giá thuốc
Giải thích
+ Bảng thuốc lưu trữ thông tin về thuốc
Chương IV. Thực hiện Cài đặt hệ thống
i. cách kết nối dữ liệu
Trong chương trình em thực hiện kết nối thông qua đối tượng ADO
(ActiveX Data Object), đối tượng này cung cấp hầu hết các công cụ để thực
hiện kết nối với cơ sở dữ liệu
ADO Interface: Các đối tương ADO giao tiếp với dữ liệu thông qua ODBC
(Open Database Connectivity), chúng có thể giao tiếp với bất kỳ loại dữ liệu
nếu như ODBC driver hỗ trợ.
Thực hiện kết nối với cơ sở dữ liệu: Như phần tổng quan ngôn ngữ ta đã nói
để đối tượng ADO kết nối được với cơ sở dữ liệu (hay để ứng dụng có thể
hoạt động xử lý trên cơ sở dữ liệu) ta phải viết mã lệnh cho công cụ này kết
nối với cơ sở dữ liệu. Cụ thể để kết nối với cơ sở dữ liệu dbBenhNhan ta làm
như sau:
Public cn As ADODB.Connection
Public Sub OpenDb()
Set Cn = New ADODB.Connection
Cn.Provider = "SQLOLEDB.1;"
Cn.ConnectionString = " Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist Security Info=False;Initial Catalog=DbBenhNhan"
Cn.Open
End Sub
Trong modul trên ta khai báo biến Cn là toàn cục cấp modul, Cn có kiểu
đối tượng ADODB.Connection tức đối tượng này dùng để kết nối với cơ sở dữ
liệu và đối tượng này có thể được gọi ở mọi nơi trong chương trình.
Str = "select * from tblTinh order by Matinh asc"
Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str
If rs.EOF = False Then
While Not rs.EOF
Set mItem = listItem.ListItems.Add(, , rs!MaTinh)
mItem.SubItems(1) = rs!TenTinh
rs.MoveNext
Wend
End If
End Sub
Trong đó listItem là đối tượng Listview có chức năng hiển thị dữ liệu, biến rs
có kiểu Recordset để lưu trữ dữ liệu trong một Recor (dữ liệu trong bảng).
Trong đoạn chương trình trên ta còn sử dụng phương thức Set rs =
cn.Execute(Str) để thực hiện câu truy vấn (SQL) trong ngoặc, câu truy vấn này
lấy về dữ liệu được cất trong biến Record (rs) và được hiển thị trên Listview.
Để thêm mới dữ liệu vào một Table trong chương trình ta sử dụng đối tượng
Data Environment đối tượng này cho phép gọi các hàm hoặc các thủ tục như
cách gọi của Visual Basic. Dưới đây là ví dụ cách gọi một hàm có tên
Sp_NhapTinh có chức năng thêm một tỉnh mới
DE.Sp_NhapTinh MaTinh, TenTinh
Trong đó DE là đối tượng Data Environment và hàm Sp_NhapTinh là hàm
(có thể là các thủ tục thậm chí là một View) được viết và lưu trong cơ sở dữ
liệu.
Tương tự với các thủ tục khác cũng được thực hiện bằng cách gọi như trên,
tuy nhiên đối với thủ tục xóa dữ liệu trong một Table lại là một việc khá phức
tạp bởi việc này còn liên quan đế một số ràng buộc về khóa. Ví dụ việc xóa
một tỉnh thành, ta phải đi xóa toàn bộ các huyện, xã trực thuộc tỉnh đó, không
những vậy ta còn phải xóa tất cả các bệnh nhân và nhân viên cùng các giấy tờ
có liên quan, cụ thể ta có mã lệnh như sau:
Xoa tam ung cua cac benh nhan thuoc tinh
Delete From tblTamUng
Where tblTamUng.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))
Xoa Dung dich vu ma benh an dung
Delete From tblDichVuDung
Where tblDichVuDung.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))
Xoa Dung Dich Vu
Delete From tblDichVuDung
Where tblDichVuDung.MaNhanVien
in (Select MaNhanVien
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.matinh=@MaTinh))) Xoa dong kham benh cua benh nhan
Delete From tblDongKhamBenh
Where tblDongKhamBenh.MaBenhNhan
in(Select MaBenhNhan
From tblBenhNhan
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh)))
Xoa Dong Kham Benh Ma Nhan Vien kham
Delete From tblDongKhamBenh
Where tblDongKhamBenh.MaNhanVien
in (Select MaNhanVien
From tblNhanVien
Where tblNhanVien.MaXa
in (Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblBenhNhan.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh))
Xoa Nhan Vien thuoc tinh
Delete From tblNhanVien
Where tblNhanVien.MaXa
in(Select MaXa
From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@MaTinh))
Xoa Xa truc thuoc tinh
Delete From tblXa
Where tblXa.MaHuyen
in(Select MaHuyen
From tblHuyen
Where tblHuyen.MaTinh=@Matinh)
Xoa Huyen trong tinh
Delete From tblHuyen
Where tblHuyen.MaTinh=@MaTinh
Xoa Tinh can Xoa