43
1 MC LC PHN MĐẦU ............................................................................................... 5 Chương 1. TNG QUAN VPHN MM QUẢN LÝ BỆNH XÁ .............. 6 1.1. Gii 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 phn mm ......................................................... 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 KHTHỐNG THÔNG TIN ................. 9 2.1. Sơ đồ phân cấp chức năng ........................................................................ 9 2.2. Biểu đồ lung dliu ............................................................................... 9 2.2.1. Biểu đồ lung dliu mc khung cnh .............................................. 9 2.2.2. Biểu đồ lung dliu mức đỉnh (mc 0) .......................................... 10 2.2.3. Biểu đồ lung dliu mức dưới đỉnh (mc 1) .................................. 11 2.2.4. Biểu đồ lung dliu mức dưới đỉnh (mc 2) .................................. 14 2.3. Biểu đồ cấu trúc dữ liu.......................................................................... 19 2.4. Thiết kế CSDL ....................................................................................... 20 2.4.1. Bng thc thtblTaiKhoan ............................................................... 20 2.4.2. Bng thc thtblNhom..................................................................... 21 2.4.3. Bng thc thtblBenhAn ................................................................. 21 2.4.4. Bng thc thtblBenh ...................................................................... 22

Bao cao xay dung phan mem quan li video

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

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

nhân

TT

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

15

2.2.4.2. Chức năng quản lý bệnh án

Hình 2.10 Biểu đồ mức 2 chức năng quản lý bệnh án

16

2.2.4.3. Chức năng quản lý bệnh

Hình 2.11 Biểu đồ mức 2 chức năng quản lý bệnh

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

Email

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

34

Hình 3.4 Giao diện chức năng quản lý bệnh án

Hình 3.5 Giao diện chức năng danh sách bệnh án

35

Hình 3.6 Giao diện chức năng quản lý bệnh

Hình 3.7 Giao diện chức năng danh sách bệnh

36

Hình 3.8 Giao diện chức năng quản lý thuốc

Hình 3.9 Giao diện chức năng danh sách thuốc

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ị

38

Hình 3.12 Giao diện chức năng quản lý tài khoản

Hình 3.13 Giao diện chức năng quản lý nhóm

39

Hình 3.14 Giao diện chức năng thống kê

Hình 3.15 Giao diện chức năng báo cáo

40

Hình 3.16 Mẫu báo cáo nhập thuốc

41

Hình 3.17 Mẫu báo cáo bệnh án

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