Upload
tran-quang-huy
View
10
Download
1
Embed Size (px)
DESCRIPTION
Bao cao xay dung phan mem quan li video
Citation preview
1
MỤC LỤC
PHẦN MỞ ĐẦU ............................................................................................... 5
Chương 1. TỔNG QUAN VỀ PHẦN MỀM QUẢN LÝ BỆNH XÁ .............. 6
1.1. Giới thiệu khái quát về đề tài quản lý bệnh xá .......................................... 6
1.1.1. Tính cấp thiết của đề tài ...................................................................... 6
1.1.2. Mục tiêu của đề tài ............................................................................. 6
1.1.3. Các tác nhân tác động vào chương trình ............................................. 7
1.1.4. Quy trình quản lý nghiệp vụ ............................................................... 7
1.1.5. Đối tượng nghiên cứu và phạm vi áp dụng ......................................... 7
1.1.6. Hướng phát triển của đề tài ................................................................. 8
1.2. Các chức năng chính của phần mềm ......................................................... 8
1.2.1. Chức năng tài khoản và nhóm người dùng ......................................... 8
1.2.2. Chức năng quản lý bệnh án ................................................................ 8
1.2.3. Chức năng quản lý bệnh ..................................................................... 8
1.2.4. Chức năng quản lý thuốc .................................................................... 8
1.2.5. Chức năng quản lý phòng điều trị ....................................................... 8
Chương 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN ................. 9
2.1. Sơ đồ phân cấp chức năng ........................................................................ 9
2.2. Biểu đồ luồng dữ liệu ............................................................................... 9
2.2.1. Biểu đồ luồng dữ liệu mức khung cảnh .............................................. 9
2.2.2. Biểu đồ luồng dữ liệu mức đỉnh (mức 0) .......................................... 10
2.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh (mức 1) .................................. 11
2.2.4. Biểu đồ luồng dữ liệu mức dưới đỉnh (mức 2) .................................. 14
2.3. Biểu đồ cấu trúc dữ liệu .......................................................................... 19
2.4. Thiết kế CSDL ....................................................................................... 20
2.4.1. Bảng thực thể tblTaiKhoan ............................................................... 20
2.4.2. Bảng thực thể tblNhom..................................................................... 21
2.4.3. Bảng thực thể tblBenhAn ................................................................. 21
2.4.4. Bảng thực thể tblBenh ...................................................................... 22
2
2.4.5. Bảng thực thể tblDonThuoc .............................................................. 22
2.4.6. Bảng thực thể tblThuoc .................................................................... 23
2.4.7. Bảng thực thể tblPhong .................................................................... 23
2.4.8. Bảng thực thể tblLichTruc ................................................................ 24
Chương 3. XÂY DỰNG PHẦN MỀM .......................................................... 25
3.1. Giới thiệu về ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu.................. 25
3.1.1. Ngôn ngữ lập trình ........................................................................... 25
3.1.2. Hệ quản trị cơ sở dữ liệu .................................................................. 25
3.2. Giới thiệu mô hình 3 lớp ........................................................................ 25
3.2.1. Lớp Data Access .............................................................................. 25
3.2.2. Lớp Business Logic .......................................................................... 25
3.2.3. Lớp Presentation............................................................................... 26
3.3. Xây dựng các lớp ................................................................................... 26
3.3.1. Xây dựng lớp Data Access ............................................................... 27
3.3.2. Xây dựng lớp Business Logic ........................................................... 29
3.3.3. Xây dựng lớp Presentation ............................................................... 30
3.4. Giao diện chương trình ........................................................................... 33
KẾT LUẬN ..................................................................................................... 42
TÀI LIỆU THAM KHẢO .............................................................................. 43
3
DANH MỤC HÌNH VẼ
Hình 2.1 Sơ đồ phân rã chức năng ..................................................................... 9
Hình 2.2 Biểu đồ luồng dữ liệu mức khung cảnh ............................................... 9
Hình 2.3 Biểu đồ luồng dữ liệu mức đỉnh ........................................................ 10
Hình 2.4 Biểu đồ mức dưới đỉnh chức năng quản lý tài khoản ......................... 11
Hình 2.5 Biểu đồ mức dưới đỉnh chức năng quản lý bệnh án ........................... 12
Hình 2.6 Biểu đồ mức dưới đỉnh chức năng quản lý bệnh................................ 12
Hình 2.7 Biểu đồ mức dưới đỉnh chức năng quản lý thuốc .............................. 13
Hình 2.8 Biểu đồ mức dưới đỉnh chức năng quản lý phòng điều trị ................. 13
Hình 2.9 Biểu đồ mức 2 chức năng quản lý tài khoản ...................................... 14
Hình 2.10 Biểu đồ mức 2 chức năng quản lý bệnh án ...................................... 15
Hình 2.11 Biểu đồ mức 2 chức năng quản lý bệnh ........................................... 16
Hình 2.12 Biểu đồ mức 2 chức năng quản lý thuốc .......................................... 17
Hình 2.13 Biểu đồ mức 2 chức năng quản lý phòng......................................... 18
Hình 2.14 Biểu đồ cấu trúc dữ liệu .................................................................. 19
Hình 2.15 Biểu đồ cấu trúc dữ liệu (Chụp từ CSDL) ....................................... 20
Hình 3.1 Cấu trúc các thư viện class của chương trình..................................... 27
Hình 3.2 Giao diện khi mới mở phần mềm ...................................................... 33
Hình 3.3 Giao diện chức năng đăng nhập và đăng kí tài khoản ........................ 33
Hình 3.4 Giao diện chức năng quản lý bệnh án ................................................ 34
Hình 3.5 Giao diện chức năng danh sách bệnh án ............................................ 34
Hình 3.6 Giao diện chức năng quản lý bệnh .................................................... 35
Hình 3.7 Giao diện chức năng danh sách bệnh................................................. 35
Hình 3.8 Giao diện chức năng quản lý thuốc ................................................... 36
Hình 3.9 Giao diện chức năng danh sách thuốc ............................................... 36
Hình 3.10 Giao diện chức năng quản lý phòng điều trị .................................... 37
Hình 3.11 Giao diện chức năng danh sách phòng điều ..................................... 37
Hình 3.12 Giao diện chức năng quản lý tài khoản ............................................ 38
Hình 3.13 Giao diện chức năng quản lý nhóm ................................................. 38
Hình 3.14 Giao diện chức năng thống kê ......................................................... 39
4
Hình 3.15 Giao diện chức năng báo cáo ........................................................... 39
Hình 3.16 Mẫu báo cáo nhập thuốc.................................................................. 40
Hình 3.17 Mẫu báo cáo bệnh án....................................................................... 41
DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng thực thể tblTaiKhoan ............................................................... 20
Bảng 2.2 Bảng thực thể tblNhom ..................................................................... 21
Bảng 2.3 Bảng thực thể tblBenhAn .................................................................. 21
Bảng 2.4 Bảng thực thể tblBenh ...................................................................... 22
Bảng 2.5 Bảng thực thể tblDonThuoc .............................................................. 22
Bảng 2.6 Bảng thực thể tblThuoc ..................................................................... 23
Bảng 2.7 Bảng thực thể tblPhong ..................................................................... 23
Bảng 2.8 Bảng thực thể tblLichTruc ................................................................ 24
Bảng 3.1 Các hàm cơ bản của 1 lớp Business Logic ........................................ 29
Bảng 3.2 Một số hàm và đoạn mã cơ bản ......................................................... 30
5
PHẦN MỞ ĐẦU
Trong những năm gần đây, ngành công nghệ thông tin phát triển một cách
nhanh chóng và có nhiều bước tiến nhảy vọt. Không ai còn nghi ngờ gì vai trò
của thông tin đối với đời sống xã hội. Sự nắm bắt được nhu cầu thực tế xã hội,
những thông tin chính xác, nhanh nhạy là nhu cầu chính của con người trong
mọi mặt vận động của xã hội, dưới mọi quy mô ngày càng đóng vai trò cốt yếu
trong việc quản lý và điều hành. Công nghệ thông tin đóng vai trò quan trọng
trong sự phát triển của xã hội ngày nay. Công nghệ thông tin đã trở thành nhân
tố quan trọng, là cầu nối trao đổi giữa các thành phần của xã hội toàn cầu. Việc
nhanh chóng đưa ứng dụng công nghệ thông tin vào quá trình tự động hóa trong
sản xuất kinh doanh là vấn đề đang, đã và sẽ luôn được quan tâm bởi lẽ công
nghệ thông tin có vai trò rất lớn trong các hoạt động kinh tế, sản xuất, kinh
doanh, bán hàng, xúc tiến thương mại, quản trị doanh nghiệp.
Ứng dụng công nghệ thông tin trong công tác quản lý đã phát triển mạnh
mẽ giúp cho công tác quản lý ngày càng trở nên hiệu quả hơn như nâng cao hiệu
suất trong công việc, đưa ra các báo cáo, các số liệu thống kê một cách nhanh
chóng chính xác và kịp thời. Đồng thời nhờ có việc ứng dụng tin học đã tiết
kiệm được rất nhiều thời gian, công sức của con người, nó làm giảm nhẹ bộ máy
quản lý vốn rất cồng kềnh từ trước tới nay. Qua khảo sát thực tiễn với đặc thù
của một trường đại học trong lực lượng vũ trang có nhiều sự khác biệt so với các
trường dân sự khác nhóm đã tạo ra được một phần mềm để ứng dụng tin học vào
trong thực tiễn, giúp cho việc quản lý bệnh xá trường T36 trở nên dễ dàng hơn.
Qua nghiên cứu và tìm hiểu về môn Lập Trình Hướng Đối Tượng nhóm sinh
viên chúng em đã xây dựng và thiết kế phần mềm “Quản lý bệnh xá” không
ngoài mục đích tin học hóa công tác quản lý bệnh xá tại trường, hỗ trợ cho cán
bộ làm công tác quản lý bệnh xá.
6
Chương 1
TỔNG QUAN VỀ PHẦN MỀM QUẢN LÝ BỆNH XÁ
1.1. Giới thiệu khái quát về đề tài quản lý bệnh xá
1.1.1. Tính cấp thiết của đề tài
Hiện nay, với sự phát triển không ngừng của ngành công nghệ phần mềm
nói riêng và ngành công nghệ thông tin nói chung, thì việc tin học hóa các công
tác quản lý, công tác nghiệp vụ vào các công việc hằng ngày của các cơ quản, tổ
chức là rất quan trọng và cần thiết. Một trong các lĩnh vực cũng đang dần được
tin học hóa trong công tác quản lý đó là lĩnh vực về y học, y dược mà cụ thể đó
là ứng dụng các phần mềm quản lý vào công tác quản lý tại các bệnh viện, quản
lý thuốc tại các nhà thuốc và quản lý hồ sơ bệnh án tại các trạm y tế, bệnh xá.
Nắm bắt được xu thế đó, trường ĐH Kỹ Thuật – Hậu Cần CAND cũng đã
và đang áp dụng các phần mềm vào các công tác quản lý của nhà trường nói
chung và của từng phòng ban, ngành, khu vực nói riêng. Có thể kể đến một số
phần mềm đang có hiện nay như: Phần mềm quản lý hồ sơ học viên, phần mềm
quản lý điểm học tập của học viên, phần mềm thi bằng lái xe máy và ôtô, phần
mềm thi trắc nghiệm.v.v..
Nhưng có một lĩnh vực trong nhà trường chưa được áp dụng phần mềm vào
công tác quản lý đó là lĩnh vực y tế, bệnh xá của trường. Hiện nay việc khám,
xuất nhập thuốc của các cán bộ y tế bệnh xá vẫn phải thực hiện trên giấy tờ và
lưu trữ bằng phương thức truyền thống. Việc quản lý và lưu trữ bằng các
phương thức truyền thống ấy rất dễ xảy ra lỗi cũng như sự cố mất thông tin.
Ngoài ra thì công tác quản lý cũng không được nhanh chóng và thuận lợi cho
cán bộ y tế. Vậy nên cần có một phần mềm để giúp cho việc quản lý và lưu trữ
được thuận tiện, nhanh chóng giảm bớt chi phí vận hành cũng như quản lý.
1.1.2. Mục tiêu của đề tài
Xây dựng chương trình quản lý bệnh xá nhằm áp dụng công nghệ thông tin
vào quản lý nói chung và quản lý bệnh xá tại trường Đại học Kỹ Thuật - Hậu
Cần CAND nói riêng để có thể góp phần theo kịp nhịp độ công nghệ trên toàn
cầu. Đồng thời cũng góp phần vào việc mở rộng cánh cửa tiếp cận với công
nghệ thông tin hơn nữa cho người quản lý.
Chương trình quản lý bệnh xá sẽ là một chương trình tối ưu giúp cho người
sử dụng đạt hiệu quả cao nhất, giúp cho cán bộ quản lý bệnh xá có thể quản lý
một cách tối ưu nhất, thuận lợi nhất, nhanh chóng nhất, có thể tiết kiệm được
thời gian, thông thoáng trong việc quản lý một cách dễ dàng. Đồng thời giúp cho
cán bộ y tế cảm thấy hài lòng và an tâm về bộ máy tổ chức cũng như thuận tiện
trong việc quản lý thuốc men, thông tin của người bệnh, sử dụng chương trình
quản lý có thể tránh sai sót trong việc tính toán. Chương trình nhằm giảm thiểu
những sai sót nhầm lẫn do quản lý bằng những tập hồ sơ giấy trên phương diện
cổ điển mà theo thói quen hoặc sở thích của từng người khác nhau sẽ quản lý
7
khác nhau. Chương trình quản lý này đưa ra một cách chung nhất có thể quản lý
ở tất cả các bệnh xá. Tuy nhiên, tùy thuộc vào bệnh xá khác nhau mà chương
trình chỉ sửa chữa một vài chỗ đơn giản là ta có thể sử dụng phần mềm này cho
nhiều bệnh xá khác nhau.
Mục đích nhằm giúp cho người quản lý có thể cập nhật thông tin học viên
đến bệnh xá, cập nhật thông tin về thuốc men, tìm kiếm thông tin về số thuốc đã
và đang có trong kho... Đồng thời có những công cụ mà nhà quản lý có thể tham
khảo như: Microsoft Word, microsoft excel, notepad, calculator,... cũng như có
cả phần trợ giúp cho người quản lý. Và có thể đưa ra báo cáo để giúp cho người
quản lý có thể có cái nhìn tổng quan nhất. Trong phần cập nhật cho phép người
quản lý có thể sửa chữa thông tin về người bệnh. Trong mỗi phần có thể lưu giữ
thông tin, xóa bỏ thông tin và in thông tin nếu người quản lý cần.
1.1.3. Các tác nhân tác động vào chương trình
Tác nhân khách, thành viên: Người dùng khi chưa đăng nhập tài khoản thì
chỉ có quyền xem các loại bệnh, biểu hiện và cách điều trị; xem được danh sách
các phòng điều trị cũng như bệnh nhân đang được nằm điều trị.
Tác nhân quản lý học viên: Ngoài các quyền của khách, thành viên thì còn
có quyền xem danh sách các bệnh án để kiểm tra xem học viên có đúng là đã
xuống khám bệnh và mắc bệnh.
Tác nhân cán bộ bệnh xá: Gồm có các quyền quản lý bệnh án, quản lý
bệnh, quản lý thuốc, quản lý phòng điều trị, thống kê – báo cáo.
Tác nhân trạm trưởng bệnh xá, quản trị: Có tất cả các quyền quản lý của tác
nhân cán bộ và thêm quyền quản lý tài khoản, quản lý nhóm người dùng.
1.1.4. Quy trình quản lý nghiệp vụ
Quy trình quản lý thuốc: Cán bộ y tế hàng tháng sẽ nhập thuốc vào kho để
có thể cấp phát cho bệnh nhân, việc quản lý này cán bộ y tế sẽ lưu lại danh sách
các loại thuốc, hãng sản xuất, số lượng, giá thành và sẽ xuất báo cáo ra cho trạm
trưởng bệnh xá xem.
Quy trình quản lý bệnh án: Khi có bệnh nhân xuống khám ở bệnh xá, cán
bộ y tế sẽ khám và cấp phát thuốc. Sau khi khám xong, cán bộ y tế sẽ lưu lại
thông tin bệnh nhân gồm: ngày khám, tên bệnh nhân, đơn vị công tác, mắc bệnh
gì và các thuốc được phát.
Quy trình quản lý phòng điều trị: Khi một bệnh nhân bị nặng và phải nằm
điều trị tại các phòng điều trị của bệnh xá, thì cán bộ y tế sẽ xem các phòng nào
còn trống và đưa bệnh nhân vào đó điều trị. Cán bộ sẽ lưu lại thông tin bệnh
nhân cũng như tên cán bộ sẽ trực phòng điều trị đó.
1.1.5. Đối tượng nghiên cứu và phạm vi áp dụng
Đối tượng nghiên cứu: khu vực bệnh xá
Phạm vi áp dụng: áp dụng tại trường ĐH Kỹ Thuật – Hậu Cần CAND
8
1.1.6. Hướng phát triển của đề tài
Có thể kết nối phần mềm với hệ thống mạng nội bộ của trường để toàn bộ
người sử dụng trong mạng nội bộ có thể xem bệnh, xem phòng điều trị.
Có thể kết nối với phần mềm quản lý học viên của cán bộ quản lý học
viên để thuận tiện trong việc kiểm tra các đề xuất xin nghỉ vì lí do bệnh ốm.
Có thể phát triển thêm các chức năng như liên kết với cơ sở dữ liệu về
thông tin của học viên, của cán bộ công tác tại trường để thống nhất các hệ
thống trong nhà trường.
1.2. Các chức năng chính của phần mềm
1.2.1. Chức năng tài khoản và nhóm người dùng
Để thuận tiện cho việc sử dụng và quản lý phần mềm, thì cán bộ bệnh xá
sẽ có các tài khoản với các quyền riêng biệt nhau khi sử dụng phần mềm. Chức
năng này có các chức năng nhỏ như: thêm tài khoản, sửa tài khoản, xóa tài
khoản, quản lý nhóm người dùng, phân quyền người dùng v.v..
1.2.2. Chức năng quản lý bệnh án
Khi cán bộ, học viên xuống bệnh xá khám, sau khi được cán bộ bệnh xá
khám và chuẩn đoán, cán bộ bệnh xá sẽ lưu bệnh án vào phần mềm. Bệnh án
bao gồm các thông tin như: tên bệnh nhân, đơn vị, mắc bệnh gì, đơn thuốc, ngày
tạo bệnh án, cán bộ lập bệnh án v.v..
1.2.3. Chức năng quản lý bệnh
Khi tạo bệnh án sẽ có mục để chọn bệnh mà bệnh nhân mắc phải, thì chức
năng này là nơi lưu trữ các loại bệnh thông dụng có thể mắc phải. Bệnh bao gồm
các thông tin như sau: tên bệnh, biểu hiện khi mắc bệnh, cách điều trị, hình ảnh
về bệnh, các loại thuốc để chữa bệnh v.v..
1.2.4. Chức năng quản lý thuốc
Khi tạo bệnh án sẽ có mục chọn thuốc để phát, thì chức năng này là nơi lưu
trữ các loại thuốc dùng cho điều trị bệnh. Thuốc bao gồm các thông tin như: tên
thuốc, hãng sản xuất, hình ảnh thuốc, thành phần trong thuốc, hạn sử dụng, ngày
nhập về kho, số lượng còn lại trong kho, giá thành v.v..
1.2.5. Chức năng quản lý phòng điều trị
Nếu có bệnh nhân nào bị bệnh nặng cần phải cách ly điều trị thì chức năng
này là nơi quản lý các phòng điều trị hiện có của bệnh xá. Phòng điều trị bao
gồm các thông tin như sau: mã số phòng, bệnh nhân điều trị, cán bộ y tế trực
v.v..
1.2.6. Chức năng thống kê, báo cáo
Chức năng này cho phép cán bộ y tế xuất ra các báo cáo thống kê về tình
hình bệnh án, báo cáo về nhập thuốc vào kho. Sau đó có thể in ra và nộp cho
bệnh xá trưởng hoặc lưu trữ thành các file word, excel, pdf.
9
Chương 2
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
2.1. Sơ đồ phân cấp chức năng
Hình 2.1 Sơ đồ phân rã chức năng
2.2. Biểu đồ luồng dữ liệu
2.2.1. Biểu đồ luồng dữ liệu mức khung cảnh
Hình 2.2 Biểu đồ luồng dữ liệu mức khung cảnh
Quản lý bệnh xá
QL Bệnh án
Quản lý bệnh án
Thống kê, báo cáo
Tìm kiếm bệnh án
QL Bệnh
Quản lý bệnh
Tìm kiếm bệnh
QL Thuốc
Quản lý thuốc
Thống kê, báo cáo
Tìm kiếm thuốc
QL Phòng điều trị
Quản lý phòng
Tìm kiếm phòng
QL Tài khoản
Đăng nhập,
đăng kí
Quản lý tài khoản
Quản lý nhóm
Tìm kiếm tài khoản
Phần mềm
quản lý bệnh
xá
Cán bộ bệnh xá
Quản trị,
trưởng
bệnh xá
Khách
Cán
bộ
QLHV
TT
bệnh
án,
thuốc,
bệnh
TT bệnh
án,
thuốc,
bệnh
TT
cá
nhân
TT
cá
nhân
TT tài khoản,
nhóm
TT tài khoản,
nhóm
TT thống kê,
báo cáo
TT bệnh án
TT cá nhân
TT cá nhân
KQ
đăng
nhập
TT
đăng
nhập
KQ
tìm
kiếm
TT
tìm
kiếm
10
2.2.2. Biểu đồ luồng dữ liệu mức đỉnh (mức 0)
Hình 2.3 Biểu đồ luồng dữ liệu mức đỉnh
QL Bệnh án
Khách
QL Thuốc
QL Bệnh
Phòng
điều trị
QL Tài khoản
Cán bộ
bệnh xá Quản trị,
Trưởng bệnh xá
tblBenh tblBenhAn tblThuoc
tblPhong tblTaiKhoan tblNhom
TT
bện
h án
TT
bện
h án
11
2.2.3. Biểu đồ luồng dữ liệu mức dưới đỉnh (mức 1)
2.2.3.1. Chức năng quản lý tài khoản
Hình 2.4 Biểu đồ mức dưới đỉnh chức năng quản lý tài khoản
Tìm kiếm
tblNhom
Khách
tblTaiKhoan
Cán bộ y tế
Quản trị,
trưởng bệnh xá
TT
tài
kh
oản
Đăng nhập
Quản lý
nhóm
Quản lý tài
khoản
TT
tài
kh
oản
TT
tài
kh
oản
TT
tài kh
oản
tblTaiKhoan
12
2.2.3.2. Chức năng quản lý bệnh án
Hình 2.5 Biểu đồ mức dưới đỉnh chức năng quản lý bệnh án
2.2.3.3. Chức năng quản lý bệnh
Hình 2.6 Biểu đồ mức dưới đỉnh chức năng quản lý bệnh
Cán bộ
bệnh xá
Quản trị,
trưởng bệnh xá
tblBenhAn
Tìm kiếm
Quản lý
bệnh án
Thống kê,
báo cáo
tblBenhAn TT bệnh án
Cán bộ
bệnh xá
Quản trị,
trưởng bệnh xá
tblBenh
Quản lý
bệnh
Tìm kiếm
bệnh
Khách
13
2.2.3.4. Chức năng quản lý thuốc
Hình 2.7 Biểu đồ mức dưới đỉnh chức năng quản lý thuốc
2.2.3.5. Chức năng quản lý phòng điều trị
Hình 2.8 Biểu đồ mức dưới đỉnh chức năng quản lý phòng điều trị
Cán bộ
bệnh xá
Quản trị,
trưởng bệnh xá
tblThuoc
Tìm kiếm
Quản lý
thuốc
Thông kê,
báo cáo
tblThuoc TT thuốc
Cán bộ
bệnh xá
Quản trị,
trưởng bệnh xá
tblPhong
Quản lý
phòng
Tìm kiếm
phòng
Khách
14
2.2.4. Biểu đồ luồng dữ liệu mức dưới đỉnh (mức 2)
2.2.4.1. Chức năng quản lý tài khoản
Hình 2.9 Biểu đồ mức 2 chức năng quản lý tài khoản
Quản trị,
trưởng bệnh xá
Xóa tài
khoản
Thêm tài
khoản
Sửa tài
khoản
Xóa
nhóm
Đăng nhập Khách
tblTaiKhoan
Cán bộ y tế
Thêm
nhóm
Sửa
nhóm
tblNhom
Tìm kiếm
theo SĐT
Tìm kiếm
theo tên
Đăng ký
TT đăng nhập
KQ đăng nhập
TT
Nh
óm
TT
Nh
óm
TT
Nh
óm
TT
tài kh
oản
T
T tài k
hoản
TT tài khoản
TT tài khoản
tblTaiKhoan
TT
tìm k
iếm
17
2.2.4.4. Chức năng quản lý thuốc
Hình 2.12 Biểu đồ mức 2 chức năng quản lý thuốc
Quản trị,
trưởng bệnh xá
Cán bộ
bệnh xá
Xóa
thuốc Thêm
thuốc
Sửa
thuốc
tbThuoc
tbThuoc
Báo cáo Thống kê Tìm theo
ngày nhập Tìm theo tên
thuốc
TT
thu
ốc
TT
thu
ốc
TT
tìm k
iếm
KQ
tìm k
iếm
18
2.2.4.5. Chức năng quản lý phòng
Hình 2.13 Biểu đồ mức 2 chức năng quản lý phòng
Cán bộ
bệnh xá
Quản trị,
trưởng bệnh xá
tblPhong Khách
Xóa
phòng
Sửa
phòng
Thêm
phòng
tblPhong
Tìm kiếm
theo tên
Tìm kiếm
theo đơn vị
19
2.3. Biểu đồ cấu trúc dữ liệu
Hình 2.14 Biểu đồ cấu trúc dữ liệu
MaTK (PK)
TenTK
MatKhau
Sdt
MaNhom (FK)
HoVaTen
NgaySinh
HinhAnh
tblTaiKhoan
MaBenh (PK)
TenBenh
BieuHien
CachDieuTri
HinhAnh
MaTK (FK)
GhiChu
tblBenh
MaBA (PK)
NgayLap
TenBN
DonVi
MaBenh (FK)
MaTK (FK)
GhiChu
tblBenhAn MaThuoc (PK)
TenThuoc
HangSX
HinhHanh
TPThuoc
NgaySX
HanSD
NgayNhap
SoLuong
GiaThanh
GhiChu
tblThuoc
MaPhong (PK)
TenPhong
BenhNhan
MaTK (FK)
GhiChu
tblPhong
MaBenh
MaThuoc
tblDonThuoc
MaNhom (PK)
TenNhom
MoTa
………….
tblNhom
MaLichTruc (PK)
NgayTruc
ThuHai
ThuBa
ThuTu
ThuNam
……..
tblLichTruc
N
N
N
N
N
N
1
1
1
1
1
1
20
Hình 2.15 Biểu đồ cấu trúc dữ liệu (Chụp từ CSDL)
2.4. Thiết kế CSDL
Ghi chú: PK(Primary Key): Khóa chính – FK(Foreign Key) : Khóa
ngoại (Khóa ràng buộc)
2.4.1. Bảng thực thể tblTaiKhoan
tblTaiKhoan (MaTK, TenTK, MatKhau, Email, Sdt, MaNhom,
HoVaTen, NgaySinh, HinhAnh)
Bảng 2.1 Bảng thực thể tblTaiKhoan
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaTK tinyint PK Mã tài khoản
TenTK nvarchar(50) Tên tài khoản đăng nhập
MatKhau nvarchar(50) Mật khẩu đăng nhập
Email nvarchar(100) Email tài khỏan
Sdt nvarchar(11) Số điện thoại
21
MaNhom tinyint FK Mã nhóm mà tài khoản thuộc
HoVaTen nvarchar(50) Họ và tên của cán bộ bệnh xá
NgaySinh date Ngày tháng năm sinh của cán bộ
HinhAnh varbinary Hình ảnh thẻ của cán bộ bệnh xá
2.4.2. Bảng thực thể tblNhom
tblNhom (MaNhom, TenNhom, MoTa, QuyenQLBA, QuyenQLB,
QuyenQLT, QuyenQLP)
Bảng 2.2 Bảng thực thể tblNhom
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaNhom tinyint PK Mã nhóm tài khoản
TenNhom nvarchar(50) Tên nhóm tài khoản
MoTa nvarchar(150) Dòng mô tả về nhóm
QuyenQLBA nvarchar(2) Quyền quản lý bệnh án
QuyenQLB nvarchar(2) Quyền quản lý bệnh
QuyenQLT nvarchar(2) Quyền quản lý thuốc
QuyenQLP nvarchar(2) Quyền quản lý phòng điều trị
2.4.3. Bảng thực thể tblBenhAn
tblBenhAn (MaBA, NgayLap, GioLap, TenBN, DonVi, MaBenh,
MaTK, GhiChu)
Bảng 2.3 Bảng thực thể tblBenhAn
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key)
Giải thích
(Description)
MaBA nvarchar(10) PK Mã bệnh án
NgayLap datetime Ngày lập bệnh án
22
GioLap nvarchar(10) Giờ lập bệnh án
TenBN nvarchar(50) Tên bệnh nhân
DonVi nvarchar(25) Đơn vị công tác của bệnh nhân
MaBenh nvarchar(10) FK Mã loại bệnh mắc phải
MaTK tinyint FK Mã cán bộ bệnh xá lập bệnh án
GhiChu nvarchar(200) Các ghi chú khác
2.4.4. Bảng thực thể tblBenh
tblBenh (MaBenh, TenBenh, BieuHien, CachDieuTri, HinhAnh, MaTK,
GhiChu)
Bảng 2.4 Bảng thực thể tblBenh
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaBenh nvarchar(10) PK Mã loại bệnh
TenBenh nvarchar(50) Tên bệnh
BieuHien nvarchar(150) Biểu hiện khi mắc bệnh
CachDieuTri nvarchar(150) Cách điều trị bệnh
HinhAnh varbinary Hình ảnh về loại bệnh
MaTK smallint FK Mã cán bộ thêm bệnh
GhiChu nvarchar(200) Các ghi chú khác
2.4.5. Bảng thực thể tblDonThuoc
tblDonThuoc (MaDonThuoc, MaBenh, MaThuoc)
Bảng 2.5 Bảng thực thể tblDonThuoc
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaBenh nvarchar(10) Mã loại bệnh
23
MaThuoc nvarchar(10) Mã loại thuốc
2.4.6. Bảng thực thể tblThuoc
tblThuoc (MaThuoc, TenThuoc, HangSX, HinhAnh, TPThuoc, NgaySX,
HanSD, NgayNhap, SoLuong, GiaThanh, GhiChu)
Bảng 2.6 Bảng thực thể tblThuoc
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaThuoc nvarchar(10) PK Mã thuốc
TenThuoc nvarchar(50) Tên thuốc
HangSX nvarchar(150) Hãng sản xuất
HinhAnh varbinary Hình ảnh về thuốc
TPThuoc nvarchar(150) Thành phần các chất trong thuốc
NgaySX date Ngày sản xuất thuốc
HanSD nvarchar(50) Hạn sử dụng tính từ ngày sản
xuất
NgayNhap date Ngày nhập thuốc về kho
SoLuong smallint Số lượng còn lại trong kho
GiaThanh int Giá thành của thuốc trên thị
trường
GhiChu nvarchar(200) Các ghi chú khác
2.4.7. Bảng thực thể tblPhong
tblPhong (MaPhong, TenPhong, BenhNhan, DonVi, MaTK, GhiChu)
Bảng 2.7 Bảng thực thể tblPhong
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaPhong tinyint PK Mã phòng
24
TenPhong nvarchar(10) Tên phòng
BenhNhan nvarchar(50) Tên bệnh nhân nằm tại phòng
DonVi nvarchar(30) Tên đơn vị của bệnh nhân
MaTK tinyint FK Mã cán bộ y tế trực phòng
GhiChu nvarchar(200) Các ghi chú khác
2.4.8. Bảng thực thể tblLichTruc
tblLichTruc (MaLichTruc, NgayTruc, ThuHai, ThuBa, ThuTu, ThuNam,
ThuSau, ThuBay, ChuNhat)
Bảng 2.8 Bảng thực thể tblLichTruc
Thuộc tính
(Columns) Kiểu (Type)
Khóa
(Key) Giải thích (Description)
MaLichTruc tinyint PK Mã lịch trực
NgayTruc date Ngày trực
ThuHai nvarchar(80) Tên cán bộ trực ngày thứ 2
ThuBa nvarchar(80) Tên cán bộ trực ngày thứ 3
ThuTu nvarchar(80) Tên cán bộ trực ngày thứ 4
ThuNam nvarchar(80) Tên cán bộ trực ngày thứ 5
ThuSau nvarchar(80) Tên cán bộ trực ngày thứ 6
ThuBay nvarchar(80) Tên cán bộ trực ngày thứ 7
ChuNhat nvarchar(80) Tên cán bộ trực ngày chủ nhật
25
Chương 3
XÂY DỰNG PHẦN MỀM
3.1. Giới thiệu về ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu
3.1.1. Ngôn ngữ lập trình
Ngôn ngữ C# là một ngôn ngữ đơn giản loại bỏ những phức tạp trong Java
hay C++ và C# cũng là ngôn ngữ hiện đại, có đầy đủ các tính năng như xử lý
ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu an toàn, và bảo mật mã nguồn.
3.1.2. Hệ quản trị cơ sở dữ liệu
SQL Server 2008 cung cấp công nghệ và những tính năng mà người dùng
và doanh nghiệp có thể tin cậy để giải quyết các thách thức ngày càng tăng trong
việc quản lý dữ liệu và trong việc cung cấp thông tin hữu ích cho người dùng.
Với những cải tiến quan trọng, những lợi ích mà SQL Server 2008 đem lại rất
thiết thực. SQL Server 2008 là một phần của nền tảng dữ liệu của Microsoft
được thiết kế để đáp ứng nhu cầu quản lý và làm việc với dữ liệu hiện tại và
trong tương lai.
3.2. Giới thiệu mô hình 3 lớp
3.2.1. Lớp Data Access
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu
của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở
dữ liệu như SQL Server, MySQL, Oracle.v.v.. để thực hiện nhiệm vụ của mình.
Trong lớp này có các thành phần chính là Data Access Logic, Data
Sources, Servive Agents.
Data Access Logic Components (DAL) là thành phần chính chịu trách
nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sources như
RDMBS, XML, File systems…. Trong .NET Các DAL này thường được hiện
thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu
hoặc sử dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đối
tượng trong bộ nhớ thành dữ liệu lưu trữ trong CSDL.
Service Agents: là những thành phần trợ giúp việc truy xuất các dịch vụ
bên ngoài một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại. Tìm
hiểu qua các đặc điểm của từng lớp trong mô hình 3 lớp.
3.2.2. Lớp Business Logic
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ
do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation.
Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực
hiện công việc của mình.
26
Trong lớp này có các thành phần chính là Business Components, Business
Entities và Service Interface.
Service Interface: là giao diện lập trình mà lớp này cung cấp cho lớp
Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao
diện này mà không cần phải quan tâm đến bên trong lớp này được hiện thực như
thế nào.
Business Entities: là những thực thể mô tả những đối tượng thông tin mà hệ
thống xử lý. Các Business Entities này cũng được dùng để trao đổi thông tin
giữa lớp Presentation và lớp Data Layers.
Business Components: là những thành phần chính thực hiện các dịch vụ
mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic
(constraints), các qui tắc nghiệp vụ (Business Rules), sử dụng các dịch vụ bên
ngoài khác để thực hiện các yêu cầu của ứng dụng.
3.2.3. Lớp Presentation
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và
hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng.
Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong .NET thì
có thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp
này.
Trong lớp này có 2 thành phần chính là User Interface Components và User
Interface Process Components.
UI Components: là những phần tử chịu trách nhiệm thu thập và hiển thị
thông tin cho người dùng cuối. Trong Microsoft.NET thì những thành phần này
có thể là các TextBox, các Button, DataGrid .v.v..
UI Process Components: là thành phần chịu trách nhiệm quản lý các qui
trình chuyển đổi giữa các UI Components. Ví dụ chịu trách nhiệm quản lý các
màn hình nhập dữ liệu trong một loạt các thao tác định trước như các bước trong
một Wizard .v.v..
Lưu ý : Lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data
Access mà nên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi sử
dụng trực tiếp như vậy, có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng
dụng cần phải có. Và hơn nữa nếu sử dụng như vậy thì đâu cần đến 3 lớp phải
không?
3.3. Xây dựng các lớp
Tạo cấu trúc các Class Library như hình bên dưới, trong đó:
- Class Library DAL: sẽ xây dựng các hàm của lớp Data Access
- Class Library BUS: sẽ xây dựng các hàm của lớp Business Logic
- Class Library DTO: sẽ xây dựng các hàm thuộc tính set-get của đối tượng
27
- Class Library GUI: sẽ xây dựng các hàm của lớp Presentation và thiết kế
các form giao diện cho chương trình.
Hình 3.1 Cấu trúc các thư viện class của chương trình
3.3.1. Xây dựng lớp Data Access
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace DAL
{
public class SQL
{
//Khai báo đối tựng kết nối
public static SqlConnection connect;
//Xây dựng hàm mở kết nối tới hệ cơ sở dữ liệu
public static void MoKetNoi()
{
if (SQL.connect == null) //Nếu hàm kết nối rỗng
{
//Tạo chuỗi kết nối thông qua file App.config
28
string strconn =
System.Configuration.ConfigurationManager.ConnectionStrings["ketnoisql"].Co
nnectionString;
SQL.connect = new SqlConnection(strconn); //Khởi tạo mới kết nối
}
if (SQL.connect.State != ConnectionState.Open)
SQL.connect.Open(); //Thực hiện mở kết nối
}
//Xây dựng hàm đóng kết nối tới cơ sở dữ liệu
public static void DongKetNoi()
{
if (SQL.connect != null) //Nếu hàm kết nối khác rỗng
if (SQL.connect.State == ConnectionState.Open)
SQL.connect.Close(); //Thực hiện đóng kết nối
}
//Xây dựng hàm truy vấn tới CSDL thực hiện thêm, sửa, xóa
public void TruyVan(string sqlstr)
{
MoKetNoi();
SqlCommand cmd = new SqlCommand(sqlstr, connect);
cmd.ExecuteNonQuery();
DongKetNoi();
}
//Xây dựng hàm lấy dữ liệu từ CSDL và đổ giá trị trả về vào DataTable
public DataTable LayDuLieu(string sqlstr)
{
try
{
MoKetNoi();
SqlDataAdapter da = new SqlDataAdapter(sqlstr, connect);
DataTable dt = new DataTable();
da.Fill(dt); //Lệnh đổ dữ liệu vào DataTable
DongKetNoi();
return dt;
}
catch
{
return null;
}
}
//Xây dựng hàm lấy dữ liệu và đổ giá trị trả về vào DataSet
public DataSet GetDataSet(string sqlstr)
{
try
{
MoKetNoi();
SqlDataAdapter da = new SqlDataAdapter(sqlstr, connect);
DataSet ds = new DataSet();
da.Fill(ds);
DongKetNoi();
29
return ds;
}
catch
{
return null;
}
}
//Xây dựng hàm lấy 1 giá trị từ CSDL trả về kiểu chuỗi
public string LayGT(string sqlstr)
{
string temp = null;
MoKetNoi();
SqlCommand cmd = new SqlCommand(sqlstr, connect);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
temp = dr[0].ToString();
DongKetNoi();
return temp;
}
}
}
3.3.2. Xây dựng lớp Business Logic
Bảng 3.1 Các hàm cơ bản của 1 lớp Business Logic
Hàm lấy danh
sách tài khoản
//Hàm lấy danh sách các tài khoản
public DataSet LoadTK()
{
return sql.GetDataSet(@"SELECT MaTK, TenTK,
MatKhau, HoVaTen, Email, Sdt, [tblNhom].TenNhom,
NgaySinh FROM [tblTaiKhoan], [tblNhom] WHERE
[tblTaiKhoan].MaNhom = [tblNhom].MaNhom");
}
Hàm xóa 1 tài
khoản
//Hàm xóa 1 tài khoản
public void XoaTK(DTO_TaiKhoan dto)
{
sql.TruyVan(@"DELETE FROM [tblTaiKhoan] WHERE
MaTK='" + dto.MaTK + "'");
}
Hàm thêm 1 tài
khoản
//Hàm thêm 1 tài khoản
public void ThemTK(DTO_TaiKhoan dto)
{
sql.TruyVan(@"INSERT INTO [tblTaiKhoan] (TenTK,
MatKhau, Email, Sdt, HoVaTen, NgaySinh, MaNhom) VALUES
(N'" + dto.TenTK + "',N'" + dto.MatKhau + "',N'" +
dto.Email + "','" + dto.Sdt + "',N'" + dto.HoVaTen +
"','" + dto.NgaySinh.ToString("MM/dd/yyyy HH:mm") +
"', '5')");
}
Hàm sửa 1 tài
khoản
//Hàm sửa 1 tài khoản
public void SuaTK(DTO_TaiKhoan dto)
{
sql.TruyVan(@"UPDATE [tblTaiKhoan] SET TenTK=N'" +
dto.TenTK + "', MatKhau=N'" + dto.MatKhau + "',
Email=N'" + dto.Email + "', Sdt='" + dto.Sdt + "',
HoVaTen=N'" + dto.HoVaTen + "', NgaySinh='" +
dto.NgaySinh.ToString("MM/dd/yyyy HH:mm") + "',
30
MaNhom='" + dto.MaNhom + "' WHERE MaTK='" + dto.MaTK +
"'");
}
Hàm tìm kiếm
thông tin tài
khoản
//Hàm tìm kiếm thông tin tài khoản
public DataSet TimKiem(string DieuKien)
{
return sql.GetDataSet(@"SELECT MaTK, TenTK,
MatKhau, HoVaTen, Email, Sdt, [tblNhom].TenNhom,
NgaySinh FROM [tblTaiKhoan], [tblNhom] WHERE
([tblTaiKhoan].MaNhom = [tblNhom].MaNhom) AND
([tblTaiKhoan].TenTK LIKE N'%" + DieuKien + "%' OR
[tblTaiKhoan].HoVaTen LIKE N'%" + DieuKien + "%' OR
[tblTaiKhoan].Sdt LIKE N'%" + DieuKien + "%' OR
[tblTaiKhoan].Email LIKE N'%" + DieuKien + "%')");
}
3.3.3. Xây dựng lớp Presentation
Bảng 3.2 Một số hàm và đoạn mã cơ bản
Đoạn mã hiển thị
dữ liệu lên
combobox
//Code load các loại bệnh lên commbobox
cbBenh.DataSource = bus.LoadBenh();
cbBenh.ValueMember = "MaBenh";
cbBenh.DisplayMember = "TenBenh";
Đoạn mã hiện thị
danh sách các
loại thuốc lên
Checked ListBox
//Load các loại bệnh ra checked list box
DataSet ds2 = bus.LoadThuoc();
DataRow row2 = null;
int iRowCnt = 0;
clbThuocDTri.Items.Clear();
foreach (DataRow row_1 in ds2.Tables[0].Rows)
{
row2 = row_1;
clbThuocDTri.Items.Add(ds2.Tables[0].Rows[iRowCnt][1]);
iRowCnt = iRowCnt + 1;
}
//Load các loại bệnh ra checked list box
Đoạn mã hiển thị
dữ liệu lên
Listview
//Code load dữ liệu từ CSDL lên listview
listView3.Items.Clear();
DataSet ds = bus.LoadBenhAn("TOP 10"); //Hiện 10 bệnh
án mới nhất
foreach (DataRow row in ds.Tables[0].Rows)
{
ListViewItem item = new
ListViewItem(row[0].ToString());
for (int i = 1; i < ds.Tables[0].Columns.Count;
i++)
{
item.SubItems.Add(row[i].ToString());
}
listView3.Items.Add(item);
}
Hàm hiển thị dữ
liệu từ listview
lên các testbox
private void listView3_SelectedIndexChanged(object
sender, EventArgs e)
{
if (listView3.SelectedItems.Count > 0)
{
btnSua.Enabled = true;
btnXoa.Enabled = true;
ListViewItem item =
31
listView3.SelectedItems[0];
txtMaBA.Text = item.SubItems[0].Text;
dtNgayLap.Text = item.SubItems[1].Text;
txtTenBN.Text = item.SubItems[3].Text;
txtDonVi.Text = item.SubItems[4].Text;
cbBenh.Text = item.SubItems[5].Text;
txtGhiChu.Text = item.SubItems[9].Text;
}
else
{
txtMaBA.Text = string.Empty;
dtNgayLap.Text = string.Empty;
txtTenBN.Text = string.Empty;
txtDonVi.Text = string.Empty;
cbBenh.Text = string.Empty;
txtGhiChu.Text = string.Empty;
}
}
Đoạn mã thêm
bệnh án
try
{
DateTime timenow = DateTime.Now;
dto.MaBA = txtMaBA.Text;
dto.TenBN = txtTenBN.Text;
dto.NgayLap = timenow;
dto.DonVi = txtDonVi.Text;
dto.MaTK = idnguoidung;
dto.MaBenh = cbBenh.SelectedValue.ToString();
dto.GhiChu = txtGhiChu.Text;
bus.ThemBA(dto);
MessageBox.Show("Thêm bệnh án thành công!");
}
catch
{
MessageBox.Show("Lỗi thêm!");
}
Đoạn mã xóa
bệnh án
try
{
//Code cảnh báo người dùng khi người dùng muốn xóa
DialogResult thongbao = MessageBox.Show("Bạn có
chắc chắn xóa?", "Cảnh báo!", MessageBoxButtons.YesNo,
MessageBoxIcon.Asterisk);
if (thongbao == DialogResult.Yes)
{
dto.MaBA = txtMaBA.Text;
MessageBox.Show("Xóa thành công!");
MoDieuKhien();
SetNull();
themmoi = true;
HienThi(dongdau);
}
else
{
return;
}
}
catch
{
MessageBox.Show("Lỗi xóa!");
}
Hàm tìm kiếm và private void btnTimKiem2_Click(object sender, EventArgs
32
hiển thị ra
listview
e)
{
//Code load dữ liệu từ CSDL lên listview
listView1.Items.Clear();
DataSet ds = bus.TimKiem(txtTimKiem2.Text);
foreach (DataRow row in ds.Tables[0].Rows)
{
ListViewItem item = new
ListViewItem(row[0].ToString());
for (int i = 1; i < ds.Tables[0].Columns.Count; i++)
{
item.SubItems.Add(row[i].ToString());
}
listView1.Items.Add(item);
}
if (ds.Tables[0].Rows.Count == 0)
{
groupBox8.Text = "Không tìm thấy! Hãy thử lại";
txtTimKiem.Text = "";
txtTimKiem.Focus();
}
else
{
groupBox8.Text = "Kết quả tìm được: " +
ds.Tables[0].Rows.Count;
}
}
Hàm tạo mã tự
tăng
// Code tự động tăng mã kiểu string
static string IDTuTang(string LastID, int KiTu)
{
string SoTang = LastID.Substring(0, KiTu);
int DoDaiSo = LastID.Length - KiTu;
int So = int.Parse(LastID.Substring(KiTu));
So++;
if (So >= Math.Pow(10, DoDaiSo)) So = 1; // khi
tăng quá hàng chục thì hàng đơn vị trở về 1
return String.Format("{0}{1:D" + DoDaiSo.ToString()
+ "}", SoTang, So);
}
Hàm sự kiện
chọn hình ảnh
private void picbox_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.Filter = "JPG files (*.jpg)|*.jpg| All files
(*.*)|*.*";
file.FilterIndex = 1;
file.RestoreDirectory = true;
if (file.ShowDialog() == DialogResult.OK)
{
picPath = file.FileName.ToString();
picbox.ImageLocation = picPath;
}
}
33
3.4. Giao diện chương trình
Hình 3.2 Giao diện khi mới mở phần mềm
Hình 3.3 Giao diện chức năng đăng nhập và đăng kí tài khoản
37
Hình 3.10 Giao diện chức năng quản lý phòng điều trị
Hình 3.11 Giao diện chức năng danh sách phòng điều trị
42
KẾT LUẬN
*Nội dung làm được:
- Xây dựng chương trình theo đúng mô hình 3 lớp
- Giao diện đơn giản, thân thiện với người dùng
- Chức năng đa dạng và thuận tiện cho người sử dụng
- Phân quyền các nhóm người dùng rõ rệt
- Áp dụng nhiều chức năng nâng cao cho phần mềm
*Nội dung chưa làm được:
- Tăng tính bảo mật cho phần quản lý tài khoản người dùng
- Đồng bộ với các hệ quản trị cơ sở dữ liệu khác
- Kết nối với mạng LAN nội bộ theo mô hình Clien – Server
*Kinh nghiệm thu được:
- Biết cách xây dựng một phần mềm quản lý theo mô hình 3 lớp
- Tìm hiểu được quy trình quản lý bệnh xá
- Nâng cao kĩ năng về lập trình theo hướng đối tượng
- Có cơ hội để vận dụng các kiến thức đã học được vào thực tiễn cuộc
sống
43
TÀI LIỆU THAM KHẢO
[1]. Video hướng dẫn xây dựng phần mềm của Thạc Sỹ Nguyễn Văn Căn,
trưởng khoa CNTT trường ĐH Kỹ Thuật – Hậu Cần CAND
[2]. Website: www.youtube.com
[3]. Website: www.tailieu.vn
[4]. Phân tích thiết kê hệ thống thông tin Trường Đại học Công Nghệ Thông Tin
[5]. Phạm Văn Việt –Trương Lập Vĩ (2002), Tìm hiểu C# và ứng dụng, Đại học
Khoa Học Tự Nhiên
[6]. Phạm Hữu Khang – Đoàn Thiện Ngân (2010), SQL Server 2008 – Lập trình
thủ tục và hàm, Đại học lao động Xã Hội