Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
5,41 MB
Nội dung
HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ BÀI TẬP LỚN KẾT THÚC HỌC PHẦN MÔN: CƠ SỞ LẬP TRÌNH II ĐỀ TÀI: Chương trình quản lý bệnh nhân khoa bệnh viện Giảng viên hướng dẫn: Cơ Lê Cẩm Tú Nhóm sinh viên thực hiện: Nhóm Hà Nội, tháng năm 2022 Thơng tin thành viên nhóm 8: Mã sinh viên 23A4040073 Họ tên Vũ Thị Mai Linh Công việc đảm nhận Tỷ lệ đóng góp - Form đăng nhập, 22% main, BaocaoThuoc - Yêu cầu - Data base - Tổng hợp code - Làm báo cáo 23A4040072 Tô Thị Linh - Form Thuoc 19.5% - Yêu cầu - Làm báo cáo 23A4040074 Phan Thanh Loan - form BenhNhan 19.5% - Yêu cầu - Làm báo cáo 23A4040094 Nguyễn Thị Nga - Form BacSi 19.5% - Yêu cầu - Làm báo cáo 23A4040147 Nguyễn Thị Trang - Yêu cầu 1, - Làm báo cáo - Tổng hợp báo cáo 19.5% MPc lPc Chương I: Mô tả yêu cầu hệ thống .1 Mô tả nghiệp vụ hệ thống 1.1 Mô tả toán 1.2 Mô tả nghiệp vụ hệ thống 2 Thiết kế chức hệ thống 2.1 Sơ đồ phân rã chức 2.2 Mô tả chức Chương II: Giải vấn đề .8 Thiết kế sở liệu Thiết kế hệ thống 12 Giải vấn đề 36 Chương I: Mô tả yêu cầu hệ thống Mơ tả nghiệp vụ hệ thống Ta có sở liệu chương trình quản lý khám chữa bệnh nhân khoa bệnh viện sau: 1.1 Mơ tả tốn Bệnh viện có nhiều bệnh nhân đến khám chữa bệnh Bệnh viện lưu thông tin tất bệnh nhân bao gồm: mã bệnh nhân, tên bệnh nhân, ngày sinh, giới tính, nghề nghiệp, quê quán, dân tộc, đối tượng Đối với bệnh nhân đến khám chữa bệnh khám tổng quát tạo hồ sơ bệnh án có lưu thơng tin việc khám tổng quát gồm: mã bệnh án, bệnh nhân, bác sĩ, ngày khám, lý khám, tình trạng, tiền sử bệnh, huyết áp, cân nặng, nhiệt độ, phương án, tiền khám Sau bệnh nhân đưa xét nghiệm phòng xét nghiệm cho bệnh án xét nghiệm bệnh nhân gồm thông tin về: mã bệnh án, xét nghiệm, ngày xét nghiệm, kết quả, kết luận, bác sĩ xét nghiệm, tiền xét nghiệm Hoàn tất việc xét nghiệm bệnh nhân có thêm bệnh án kết luận gồm: mã bệnh án, bệnh, phương án, lời dặn bác sĩ Từ có bệnh án thuốc gồm: mã bệnh án, thuốc, số lượng, số ngày dùng, liều dùng,cách dùng, thành tiền Một bệnh nhân tới khám nhiều lần bệnh viện lưu ghi tất bệnh án để theo dõi lần khám Ngoài ra, bệnh viện lưu ghi tất bác sĩ gồm thông tin: mã bác sĩ, tên bác sĩ, ngày sinh, giới tính, q qn, chun mơn, trình độ, điện thoại Một bác sĩ khám cho nhiều bệnh nhân thời điểm khác Bệnh viện lưu ghi tất loại thuốc gồm thông tin: mã thuốc, tên thuốc, cơng dPng, đơn vị tính, thành phần, đơn giá Đối với thông tin về: nghề nghiệp, quê quán, dân tộc, đối tượng, bệnh, phương án, kết luận, tình trạng, xét nghiệm, trình độ, chun mơn, đơn vị tính,cơng dPng bao gồm tên mã 1.2 Mơ tả nghiệp vụ hệ thống Bệnh viện có nhiều bệnh nhân đến khám chữa bệnh Bệnh viện lưu ghi tất bệnh nhân bao gồm: mã bệnh nhân, tên bệnh nhân, ngày sinh, giới tính, nghề nghiệp, quê quán, dân tộc, đối tượng (xét xem thuộc diện ưu tiên hay khơng) Sau bệnh nhân khám tổng quát huyết áp, cân nặng, nhiệt độ điều tra tình trạng bệnh để bệnh viện xếp bác sĩ phù hợp khám Tiếp trình xét nghiệm bác sĩ kê đơn thuốc phù hợp với tình trạng bệnh Q trình hồn tất bệnh nhân có bệnh án kết luận gồm thông tin (mã bệnh án, bệnh, phương án, lời dặn bác sĩ), bệnh án xét nghiệm gồm thông tin (mã bệnh án, xét nghiệm, ngày xét nghiệm, kết luận, kết quả, bác sĩ xét nghiệm, tiền xét nghiệm), bệnh án thuốc gồm thông tin (mã bệnh án, mã thuốc, số lượng, số ngày dùng, liều dùng, cách dùng, thành tiền) Một bệnh nhân tới khám nhiều lần Bệnh viện lưu ghi tất bệnh án Ngồi ra, bệnh viện lưu ghi tất bác sĩ gồm thông tin: mã bác sĩ, tên bác sĩ, ngày sinh, giới tính, q qn, chun mơn, trình độ, điện thoại Một bác sĩ khám cho nhiều bệnh nhân thời điểm khác Bệnh viện lưu ghi tất loại thuốc gồm thông tin: mã thuốc, tên thuốc , cơng dụng, đơn vị tính, thành phần, đơn giá Thiết kế chức hệ thống 2.1 Sơ đồ phân rã chức Quản Lý Bệnh Nhân Danh Mục Lựa Chọn Bệnh Nhân Bác Sĩ Tra Cứu Danh Sách Thuốốc Hốồ Sơ Bệnh Án Báo Cáo Tìm Kiếốm Thống Tin Bệnh Án Bệnh Nhân Bệnh Án Thống Tin Bệnh Án Danh Sách Bệnh Án Thống Tin Thuốốc 2.2 Mô tả chức ● Danh MPc - Bệnh nhân: hiển thị thông tin bệnh nhân, cho phép người sử dPng thực thao tác thêm, xóa, sửa, lưu thơng tin để thay đổ thơng tin bệnh nhân - Bác sĩ: hiển thị thông tin bác sĩ, cho phép người sử dPng thực thao tác thêm, xóa, sửa, lưu thơng tin để thay đổ thông tin bác sĩ - Thuốc: hiển thị thông tin thuốc, cho phép người sử dPng thực thao tác thêm, xóa, sửa, lưu thơng tin để thay đổ thông tin bệnh thuốc ● Tra cứu - Danh sách hồ sơ bệnh án: hiển thị danh sách bệnh án, cho phép người dùng tra cứu danh sách bệnh án theo mã bệnh nhân - Thông tin bệnh án: cho phép người dùng tra cứu thông tin bệnh án theo mã bệnh án ● Tìm kiếm - Bệnh nhân: Tìm bệnh nhân theo tên, lý khám, mã bệnh - Bệnh án: Tìm bệnh án theo bác sĩ, ngày đến khám nhiệt độ người bệnh ● Báo cáo - Thông tin bệnh án: Báo cáo thông tin đầy đủ bệnh án theo mã bệnh án để đưa cáo cP thể - Danh sách bệnh án: Báo cáo tất danh sách bệnh án theo bác sĩ - Thông tin thuốc: Báo cáo thông tin đầy đủ thuốc theo loại thuốc để nắm rõ bệnh viện có loại thuốc 2.3 Chức ● Chức thêm Cho phép người dùng thao tác nhập thông tin đối tượng cần thêm vào - Nhập Dữ liệu ● Chức lưu Bước 1: Kiểm tra tính xác hàm bắt lỗi liệu - Nếu sai báo lỗi xóa trắng liệu - Nếu chuyển sang bước Bước 2: Kiểm tra khóa có CSDL Nếu có thơng báo lỗi xóa trắng liệu Nếu không sang bước Bước 3: cập nhật vào CSDL Bước 4: đưa liệu nhập, kết thúc ● Chức sửa Sửa thông tin người dùng muốn thay đổi đổi liệu Bước 1: click vào datagridview để chọn đối tượng cần sửa Bước 2: Nhập liệu cần thay đổi Bước 4: Kiểm tra liệu hàm bắt lỗi có Nếu lưu lại liệu sửa xóa trắng nhập liệu Nếu sai hay thiếu liệu báo lỗi quay lại bước ● Chức bỏ qua - Khi chọn nút bỏ qua, liệu ô nhập liệu xóa trắng ● Chức Thốt khỏi chương trình hành formmain ● Chức xóa Xóa liệu CSDL Bước 1: click vào datagridview chọn liêu cần xóa Bước 2: Kiểm tra Nếu có xóa liệu, hiển thị thơng báo Nếu khơng, hiển thị lỗi ● Chức tìm kiếm Tìm kiếm thơng tin theo điều kiện lọc Bước 1: Nhập thơng tin cần tìm kiếm Bước 2: Kiểm tra thơng tin có tồn hay khơng Nếu có thơng tin cần tìm kiếm - Nếu khơng thơng báo nhập lại thơng tin xóa trắng liệu đầu vào ● Chức tìm kiếm lại Các điều kiện tìm kiếm xóa trắng, cho phép người dùng tiếp tPc tìm kiếm lại thơng tin ● Chức báo cáo Báo cáo thông tin theo điều kiện lọc Bước 1: Nhập thông tin cần báo cáo Bước 2: Kiểm tra thơng tin có tồn hay khơng Nếu có thơng tin cần báo cáo - Nếu khơng thơng báo nhập lại thông tin Bước 3: In báo cáo file Excel 4.Code: using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Threading.Tasks; System.Windows.Forms; namespace BàiTapLon_QuanLyBenhNhan_Nhom8.Forms { public partial class TimKiemBenhAn : Form { DataTable timbenhan; public TimKiemBenhAn() { InitializeComponent(); } private void TimKiemBenhAn_Load(object sender, EventArgs e) { Funcions.Funcion.ketnoi(); btntimlai.Enabled = false; Funcions.Funcion.fillcombo("select MaBS from Tblhosobenhan", comboBoxmabacsi, "MaBS", "MaBS"); comboBoxmabacsi.SelectedIndex = -1; Funcions.Funcion.fillcombo("select NgayKham from Tblhosobenhan", comboBoxngaykham, "NgayKham" , "NgayKham"); comboBoxngaykham.SelectedIndex = -1; Load_DataGridView(); } private void Load_DataGridView() { string sql = "select * from Tblhosobenhan "; 49 timbenhan = Funcions.Funcion.GetDataTable(sql); dtgvTimbenhann.DataSource = timbenhan; dtgvTimbenhann.Columns[0].HeaderText = "Mã bệnh án"; dtgvTimbenhann.Columns[1].HeaderText = "Mã bệnh nhân"; dtgvTimbenhann.Columns[2].HeaderText = "Mã bác sĩ"; dtgvTimbenhann.Columns[3].HeaderText = "Ngày khám"; dtgvTimbenhann.Columns[4].HeaderText = "Lý do"; dtgvTimbenhann.Columns[5].HeaderText = "Mã tình trạng"; dtgvTimbenhann.Columns[6].HeaderText = "Mã phương án"; dtgvTimbenhann.Columns[7].HeaderText = "Huyết áp"; dtgvTimbenhann.Columns[8].HeaderText = "Cân nặng"; dtgvTimbenhann.Columns[9].HeaderText = "Nhiêt độ"; dtgvTimbenhann.Columns[10].HeaderText = "Tiền sử bệnh"; dtgvTimbenhann.Columns[11].HeaderText = "Tiền khám"; } dtgvTimbenhann.AllowUserToAddRows = false; dtgvTimbenhann.EditMode = DataGridViewEditMode.EditProgrammatically; private void buttontimkiem_Click(object sender, EventArgs e) { string sql; if ((comboBoxmabacsi.Text == "") && (comboBoxngaykham.Text == "") && (textBoxnhietdo.Text == "")) { MessageBox.Show("Hãy nhập điều kiện tìm kiếm!!!", "Yeu cau ", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } sql = "select * from Tblhosobenhan where 1=1"; if (comboBoxmabacsi.Text != "") sql = sql + " and MaBS= N'" + comboBoxmabacsi.Text + "'"; if (comboBoxngaykham.Text != "") sql = sql + " and NgayKham like N'%" + (comboBoxngaykham.SelectedValue.ToString()) + "%'"; if (textBoxnhietdo.Text != "") sql = sql + " and NhietDo = " + textBoxnhietdo.Text + ""; timbenhan = Funcions.Funcion.GetDataTable(sql); if (timbenhan.Rows.Count == 0) { MessageBox.Show("Khơng có ghi thỏa mãn điều kiện!!!", "Thơng báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ResetValues(); } else MessageBox.Show("Có " + timbenhan.Rows.Count + " ghi thỏa mãn điều kiện!!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); dtgvTimbenhann.DataSource = timbenhan; Load_DataGridView(); groupBox1.Enabled = false; buttontimkiem.Enabled = false; btntimlai.Enabled = true; } private void ResetValues() { foreach (Control Ctl in this.Controls) { if (Ctl is TextBox) Ctl.Text = ""; } textBoxnhietdo.Text = ""; comboBoxmabacsi.Text = ""; comboBoxngaykham.Text = ""; 50 } comboBoxmabacsi.Focus(); private void btntimlai_Click( object sender, EventArgs e) { ResetValues(); groupBox1.Enabled = true; btntimlai.Enabled = false; buttontimkiem.Enabled = true; dtgvTimbenhann.DataSource = null; Load_DataGridView(); } private void btnthoat_Click(object sender, EventArgs e) { DialogResult a = MessageBox.Show( "Bạn có muốn thốt?", "Thơng báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (a == DialogResult.Yes) { this.Close(); } } Yêu cầu 5: “Báo cáo thông tin đầy đủ bệnh án theo Mã bệnh án” Trả lời câu hỏi bước “phân tích câu hỏi” Sơ đồ luồng 51 Giao diện Name Lable1 Lable2 cbbenhan btninbc btnboqua datagribenhan btnhienthiex btnthoat groupBox1 BaoCaoThongTinBenhAn Text Báo Cáo Thông Tin Bệnh Án Mã Bệnh Án In Báo Cáo Bỏ Qua Hiển Thị Tại Excel Thốt Thơng Tin Mã Bệnh Án Báo Cáo Thông Tin Bệnh Án Code: using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Threading.Tasks; System.Windows.Forms; COMExcel = Microsoft.Office.Interop.Excel; namespace BàiTapLon_QuanLyBenhNhan_Nhom8.Forms { public partial class BaoCaoThongTinBenhAn : Form { DataTable tbba; 52 Điều khiển Lable Lable Combobox Button Button Datagridview Button Button GroupBox Form public BaoCaoThongTinBenhAn() { InitializeComponent(); } private void BaoCaoThongTinBenhAn_Load(object sender, EventArgs e) { Funcions.Funcion.fillcombo("select distinct MaBA from Tblhosobenhan", cbbenhan, "MaBA", "MaBA"); cbbenhan.SelectedIndex = -1; Load_datagrid(); btnhienthiex.Enabled = true; } private void Load_datagrid() { string sql; sql = "select MaBA,MaBN,MaBS,NgayKham,LyDoKham,MaTT,MaPA,TienSuBenh,HuyetAp,CanNang,NhietDo,TienKham from Tblhosobenhan"; tbba = Funcions.Funcion.GetDataTable(sql); datagribenhan.DataSource = tbba; datagribenhan.Columns[0].HeaderText = " Mã bệnh án"; datagribenhan.Columns[1].HeaderText = " Mã bệnh nhân"; datagribenhan.Columns[2].HeaderText = " Mã bác sĩ"; datagribenhan.Columns[3].HeaderText = " Ngày khám"; datagribenhan.Columns[4].HeaderText = " Lí khám"; datagribenhan.Columns[5].HeaderText = " Mã tình trạng"; datagribenhan.Columns[6].HeaderText = " Mã phương án" ; datagribenhan.Columns[7].HeaderText = " Tiền sử bệ nh"; datagribenhan.Columns[8].HeaderText = " Huyết áp "; datagribenhan.Columns[9].HeaderText = " Cân nặng"; datagribenhan.Columns[10].HeaderText = " Nhiệt độ"; datagribenhan.Columns[11].HeaderText = " Tiền khám"; } private void btninbc_Click(object sender, EventArgs e) { if (cbbenhan.Text == "") { MessageBox.Show("Bạn chưa chọn mã bệnh án", "Yêu cầu ", MessageBoxButtons.OK, MessageBoxIcon.Warning); cbbenhan.Focus(); return; } string SQL = "select MaBA,MaBN,MaBS,NgayKham,LyDoKham,MaTT,MaPA,TienSuBenh,HuyetAp,CanNang,NhietDo,TienKham from Tblhosobenhan where 1=1"; if (cbbenhan.Text != "") SQL = SQL + " AND Tblhosobenhan.MaBA Like N'%" + cbbenhan.Text + "%'"; tbba = Funcions.Funcion.GetDataTable(SQL); datagribenhan.DataSource = tbba; btnhienthiex.Enabled = true; cbbenhan.Enabled = false; } private void btnhienthiex_Click(object sender, EventArgs e) { 53 COMExcel.Application app = new COMExcel.Application(); COMExcel.Workbook book; COMExcel.Worksheet sheet; COMExcel.Range range; book = app.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet); sheet = book.Worksheets[1]; range = sheet.Cells[1, 1]; string sql; int h = 0, c = 0; DataTable hosobenhan; range.Range["C2:E2"].Font.Size = 16; range.Range["C2:E2"].Font.Name = "Times new roman"; range.Range["C2:E2"].Font.Bold = true; range.Range["C2:E2"].Font.ColorIndex = 3; //Màu đỏ range.Range["C2:E2"].MergeCells = true; range.Range["C2:E2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter; range.Range["C2:C2"].Value = "THONG TIN BENH AN"; sql = "SELECT MaBA, MaBN, MaBS,NgayKham,LyDoKham,MaTT,MaPA from Tblhosobenhan where MaBA=N'" + cbbenhan.SelectedValue.ToString() + "'"; hosobenhan = Funcions.Funcion.GetDataTable(sql); range.Range["A3:L3"].Font.Bold = true; range.Range["A3:L3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter; range.Range["C3:L3"].ColumnWidth = 12; range.Range["A3:A3"].Value = "STT"; range.Range["B3:B3"].Value = "Mã bệnh án"; range.Range["C3:C3"].Value = "Mã bệnh án"; range.Range["D3:D3"].Value = "Mã bác sĩ"; range.Range["E3:E3"].Value = "Ngày khám "; range.Range["F3:F3"].Value = "Lí khám"; range.Range["G3:G3"].Value = "Mã tình trạng"; range.Range["H3:H3"].Value = "Mã phương án"; for (h = 0; h