1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn quản lý cấp phát thuốc cho bệnh nhân

18 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lý Cấp Phát Thuốc Cho Bệnh Nhân
Tác giả Lê Thị Trà My
Người hướng dẫn GVHD: Trần Thu Thủy
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt Hàn
Chuyên ngành Khoa Khoa Học Máy Tính
Thể loại bài tập lớn
Năm xuất bản 2024
Thành phố Đà Nẵng
Định dạng
Số trang 18
Dung lượng 657,48 KB

Nội dung

Kết quả  Tạo một cơ sở dữ liệu hoặc hệ thống quản lý thông tin để lưu trữ thông tin về bệnh nhân, thuốc và đơn thuốc.. Thông tin bao gồm: Họ tên bệnh nhân, Ngày sinh bệnh nhân, Giới tín

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

BÀI TẬP LỚN

QUẢN LÝ CẤP PHÁT THUỐC CHO

BỆNH NHÂN

Sinh viên: Lê Thị Trà My Lớp: 23DA

GVHD: Trần Thu Thủy

Đà Nẵng, tháng 1 năm 2024

1

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &

TRUYỀN THÔNG VIỆT HÀN

Khoa Khoa Học Máy Tính

BÀI TẬP LỚN

QUẢN LÝ CẤP PHÁT THUỐC CHO

BỆNH NHÂN

Sinh viên: Lê Thị Trà My Lớp: 23DA

GVHD: Trần Thu Thủy

Đà Nẵng, tháng 1 năm 2024

Trang 3

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

3

Trang 4

MỤC LỤC

A Giới thiệu chung………5

1 Mục đích……….5

2 Kết quả………5

B Cơ sở lí thuyết……… 5

1 Mô tả……… …………5

1.1 Phân tích nghiệp vụ quản lí……… 5

1.2 Mô tả và thiết kế cơ sở dữ liệu……….6

1.3 Lưu đồ thuật toán/ hoạt động cho bài toán, vấn đề cần giải quyết……… 6

C Xây dựng chương trình…… ……… 6

1.1 Tổ chức và Cấu trúc……….6

1.2 Chức năng………7

1.3 Trình bày các thư viện, API của Java và các hãng thứ ba (nếu có) được sử dụng trong chương trình……… 8

1.4 Mô tả đầy đủ nhiệm vụ, đầu vào, đầu ra các lớp chức năng chính trong chương trình, kèm code thực thi………………9

1.4.1 Lớp bệnh nhân……….……… …….…… 9

1.4.2 Lớp thuốc ……… 12

1.4.3 Lớp quản lí cấp phát thuốc … … ……… 12

1.5 Mô tả các chức năng trên giao diện đồ họa người dùng GUI của chương trình………17

D Thực thi và đánh giá kết quả……….…18

E Tài liệu tham khảo………18

Trang 5

A Giới thiệu chung

1 Mục đích:

Mục đích của việc tạo giao diện hệ thống cấp phát thuôc cho bệnh nhân là để tạo ra một hệ thống quản lí cho các bệnh viện hay các cơ sở y tế nhằm giúp việc cấp phát thuốc cho bệnh nhân một cách hiệu quả, chính xác hơn và giảm thiểu sai sót trong quá trình cấp phát thuốc

2 Kết quả

 Tạo một cơ sở dữ liệu hoặc hệ thống quản lý thông tin để lưu trữ thông tin về bệnh nhân, thuốc và đơn thuốc

 Xây dựng giao diện người dùng để các bác sĩ và dược sĩ có thể dễ dàng nhập thông tin về bệnh nhân, thuốc và đơn thuốc

 Tạo một hệ thống để theo dõi và quản lý đơn thuốc

 Xây dựng hệ thống báo cáo để các bác sĩ và dược sĩ có thể dễ dàng theo dõi quá trình điều trị của bệnh nhân và đưa ra các quyết định điều trị phù hợp

 Đảm bảo tính bảo mật và an toàn của dữ liệu bệnh nhân và thông tin liên quan đến đơn thuốc

B Cơ sở lí thuyết

1.Mô tả

1.1 Phân tích nghiệp vụ quản lí

a) Thu thập thông tin: Thu thập thông tin về bệnh nhân, thuốc và đơn thuốc Thông tin bao gồm: Họ tên bệnh nhân, Ngày sinh bệnh nhân, Giới tính bệnh nhân, Bệnh án, Tên thuốc, Số lượng thuốc, Ngày phát thuốc

b) Lưu trữ thông tin: Lưu trữ thông tin vào cơ sở dữ liệu Cơ sở dữ liệu có thể được lưu trữ trên máy tính cục bộ, máy chủ hoặc trên đám mây

5

Trang 6

c) Truy xuất thông tin: Truy xuất thông tin từ cơ sở dữ liệu khi cần thiết Thông tin có thể được truy xuất bằng cách sử dụng các truy vấn SQL k

d) Cập nhật thông tin: Cập nhật thông tin trong cơ sở dữ liệu khi có thay đổi

e) Xóa thông tin: Xóa thông tin khỏi cơ sở dữ liệu khi không còn cần thiết nữa

1.2 Mô tả cơ sở dữ liệu:

Cơ sở dữ liệu quản lý cấp phát thuốc cho bệnh nhân có thể được mô tả như sau: a) Bảng Bệnh nhân: Mã bệnh nhân, Họ tên bệnh nhân, Ngày Sinh bệnh nhân, Giới tính bệnh nhân, Bệnh Án

b) Bảng Thuốc: Mã thuốc, Tên thuốc, Số Lượng thuốc

c) Bảng Đơn thuốc: Mã đơn thuốc, Ngày kê đơn, Liều lượng

1.3 Lưu đồ thuật toán/ hoạt động cho bài toán, vấn đề cần giải quyết Bắt đầu:

a) Kiểm tra thông tin bệnh nhân: Nếu bệnh nhân không có trong hệ thống, yêu cầu nhập thông tin bệnh nhân

b) Kiểm tra đơn thuốc: Nếu đơn thuốc không hợp lệ, yêu cầu nhập lại đơn thuốc

c) Cấp phát thuốc cho bệnh nhân

d) Lưu trữ thông tin cấp phát thuốc: Cập nhật thông tin cấp phát thuốc vào hệ thống

Kết thúc

C Xây dựng chương trình

1.1 Tổ chức và Cấu trúc

Tổ chức:

Package controller: tạo lớp QLCPTController, ở lớp này thực hiện chức

năng thêm, xóa, sửa, cập nhật

Trang 7

Package model:

a) Lớp Bệnh nhân:

Thuộc tính:Tên bệnh nhân, Ngày sinh, Giới Tính, Bệnh Án

private int maBn;

private String tenBn;

private String benhAn;

private boolean gioiTinh;

private Date ngaySinh;

b) Lớp Thuốc:

Thuộc tính:Mã Thuốc, Tên Thuốc, Ngày Phát, Số Lượng

private int maThuoc;

private String tenThuoc;

private Date ngayPhat;

private int soLuong;

c) Lớp QLCPTModel: hiện thị danh sách bệnh nhân và thực hiện chức năng thêm sửa xóa cập nhật

Package Test

Lớp test: để kiểm tra

Package View

Lớp QLCPTView: hiện thị giao diện quản lí cấp phát thuốc cho bệnh nhân Cấu Trúc: Được tổ chức thành các lớp

1.2 Chức năng

a) Chương trình cấp phát thuốc cho bệnh nhân trong Java có thể thực hiện các chức năng sau:

b) Thêm bệnh nhân mới: Cho phép người dùng thêm thông tin về bệnh nhân mới vào cơ sở dữ liệu

7

Trang 8

c) Xóa bệnh nhân: Cho phép người dùng xóa thông tin về bệnh nhân khỏi cơ sở

dữ liệu

d) Sửa đổi thông tin bệnh nhân: Cho phép người dùng thay đổi thông tin về bệnh nhân đã có trong cơ sở dữ liệu

e) Tìm kiếm thông tin bệnh nhân: Cho phép người dùng tìm kiếm thông tin về bệnh nhân : tên, tuổi, bệnh án

f) Thêm thuốc mới: Cho phép người dùng thêm thông tin về thuốc mới vào

cơ sở dữ liệu

g) Xóa thuốc: Cho phép người dùng xóa thông tin về thuốc khỏi cơ sở dữ liệu h) Sửa đổi thông tin thuốc: Cho phép người dùng thay đổi thông tin về thuốc

đã có trong cơ sở dữ liệu

i) Tìm kiếm thông tin thuốc: Cho phép người dùng tìm kiếm thông tin về thuốc : tên thuốc, ngày phát thuốc hoặc số lượng thuốc

1.3 Trình bày các thư viện, API của Java và các hãng thứ ba (nếu có) được sử dụng trong chương trình

Các thư viện và API:

import java.util.Date;

import java.util.Objects

import java.util.ArrayList;

import javax.swing.UIManager;

import java.awt.event.ActionEvent;

import java.beans.PropertyChangeListener;

import javax.swing.Action;

import javax.swing.JOptionPane;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import controller.QLCPTController;

Trang 9

import model.BenhNhan;

import model.QLCPTModel;

import model.Thuoc;

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import javax.swing.JMenuItem;

import javax.swing.JSeparator;

import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.JTextField;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JTable;

import javax.swing.JScrollPane;

import javax.swing.table.DefaultTableModel;

import javax.swing.JRadioButton;

import java.awt.Component;

import javax.swing.Action;

import javax.swing.Box;

import javax.swing.ButtonGroup;

1.4 Mô tả đầy đủ nhiệm vụ, đầu vào, đầu ra các lớp chức năng chính trong chương trình, kèm code thực thi

1.4.1 Lớp bệnh nhân:

a) Nhiệm vụ:

Quản lý thông tin về bệnh nhân, bao gồm tên, tuổi, giới tính, bệnh án

9

Trang 10

b) Đầu vào:

Thông tin về bệnh nhân, được nhập từ bàn phím hoặc bệnh nhân c) Đầu ra:

Hiện thị thông tin về bệnh nhân

d) Code thực thi:

import java.util.Date;

import java.util.Objects;

public class BenhNhan {

private int maBn;

private String tenBn;

private String benhAn;

private boolean gioiTinh;

private Date ngaySinh;

public BenhNhan(int maBn, String tenBn, String benhAn, boolean gioiTinh, Date ngaySinh) {

super();

this.maBn = maBn;

this.tenBn = tenBn;

this.benhAn = benhAn;

this.gioiTinh = gioiTinh;

this.ngaySinh = ngaySinh;

}

@Override

public String toString() {

return "BenhNhan [maBn=" + maBn + ", tenBn=" + tenBn + ", benhAn="

+ benhAn + ", gioiTinh=" + gioiTinh

+ ", ngaySinh=" + ngaySinh + "]";

}

@Override

public int hashCode() {

Trang 11

return Objects.hash(benhAn, gioiTinh, maBn, ngaySinh, tenBn); }

@Override

public boolean equals(Object obj) {

if this ( == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

BenhNhan other = (BenhNhan) obj;

return Objects.equals(benhAn, other.benhAn) && gioiTinh == other.gioiTinh && maBn == other.maBn

&& Objects.equals(ngaySinh, other.ngaySinh) && Objects.equals(tenBn, other.tenBn);

}

public int getMaBn() {

return maBn;

}

public void setMaBn(int maBn) {

this.maBn = maBn;

}

public String getTenBn() {

return tenBn;

}

public void setTenBn(String tenBn) {

this.tenBn = tenBn;

}

public String getBenhAn() {

return benhAn;

}

11

Trang 12

public void setBenhAn(String benhAn) {

this.benhAn = benhAn;

}

public boolean isGioiTinh() {

return gioiTinh;

}

public void setGioiTinh(boolean gioiTinh) {

this.gioiTinh = gioiTinh;

}

public Date getNgaySinh() {

return ngaySinh;

}

public void setNgaySinh(Date ngaySinh) {

this.ngaySinh = ngaySinh;

}

}

1.4.2 Lớp thuốc

a) Nhiệm vụ:

Quản lý thông tin về các loại thuốc, bao gồm tên thuốc, số lượng thuốc, Cập nhật thông tin về các loại thuốc khi có thay đổi

b) Đầu vào: Thông tin thuốc, số lượng thuốc còn lại

Thông tin về các loại thuốc, được nhập từ bàn phím

Thông tin về số lượng thuốc đã cấp phát cho bệnh nhân, được nhập từ lớp Bệnh nhân

c) Đầu ra: Chi tiết thuốc, tình trạng thuốc

d) Code thực thi:

java.util.ArrayList;

import

import java.util.Date;

Trang 13

import java.util.Objects;

public class Thuoc {

private int maThuoc;

private String tenThuoc;

private Date ngayPhat;

private int soLuong;

public Thuoc(int maThuoc, String tenThuoc) {

this.maThuoc = maThuoc;

this.tenThuoc = tenThuoc;

this

.ngayPhat = ngayPhat ;

this

.soLuong = soLuong ;

}

@Override

public String toString() {

return "Thuoc [maThuoc=" + maThuoc + ", tenThuoc=" + tenThuoc + ",

ngayPhat=" + ngayPhat + ", soLuong="

+ soLuong + "]";

}

@Override

public int hashCode() {

return Objects.hash(maThuoc, ngayPhat, soLuong, tenThuoc);

}

@Override

public boolean equals(Object obj) {

if this ( == obj)

return true;

if (obj == null)

return false;

13

Trang 14

if (getClass() != obj.getClass())

return false;

Thuoc other = (Thuoc) obj;

return maThuoc == other.maThuoc && Objects.equals(ngayPhat, other.ngayPhat) && soLuong == other.soLuong

&& Objects.equals(tenThuoc, other.tenThuoc); }

public int getMaThuoc() {

return maThuoc;

}

public void setMaThuoc(int maThuoc) {

this.maThuoc = maThuoc;

}

public String getTenThuoc() {

return tenThuoc;

}

public void setTenThuoc(String tenThuoc) {

this.tenThuoc = tenThuoc;

}

public Date getNgayPhat() {

return ngayPhat;

}

public void setNgayPhat(Date ngayPhat) {

this.ngayPhat = ngayPhat;

}

public int getSoLuong() {

return soLuong;

}

public void setSoLuong(int soLuong) {

this.soLuong = soLuong;

}

Trang 15

public static ArrayList<Thuoc> getDSThuoc(){

String[] arr_thuoc = {"panadol",

"Thuoc cam",

"Thuoc ho",

"Thuoc ha sot",

"Thuoc dau da day"};

ArrayList<Thuoc> listThuoc = new ArrayList<Thuoc>();

int i = 0;

for (String tenThuoc : arr_thuoc) {

Thuoc th = new Thuoc(i, tenThuoc);

listThuoc.add(th);

}

return listThuoc;

}

public static Thuoc getThuocById(int tenThuoc) {

return Thuoc.getDSThuoc().get(tenThuoc);

}

public static Thuoc getThuocByTen(String tenThuoc) { ArrayList<Thuoc> listThuoc = Thuoc.getDSThuoc();

for (Thuoc thuoc: listThuoc) {

if (thuoc.tenThuoc.equals(listThuoc))

return thuoc;

}

return null;

}

}

15

Trang 16

1.4.3 Lớp quản lí cấp phát thuốc

a) Nhiệm vụ:

Hiển thị thông tin về bệnh nhân, thuốc

b) Đầu vào: Thông tin thuốc, thông tin bệnh nhân, thông tin về thuốc được cấp phát

c) Đầu ra: Hoạt động cấp phát thuốc, thông tin về thuốc được cấp phát d) Code thực thi

import java.util.ArrayList;

public class QLCPTModel {

private ArrayList<BenhNhan> dsBenhNhan;

private String luaChon;

public QLCPTModel() {

this.dsBenhNhan = new ArrayList<BenhNhan>();

this.luaChon = "";

}

public String getLuaChon() {

return luaChon;

}

public void setLuaChon(String luaChon) {

this.luaChon = luaChon;

}

public QLCPTModel(ArrayList<BenhNhan> dsBenhNhan) {

this.dsBenhNhan = dsBenhNhan;

}

public ArrayList<BenhNhan> getDsBenhNhan() {

return dsBenhNhan;

}

Trang 17

public void setDsBenhNhan(ArrayList<BenhNhan> dsBenhNhan) {

this.dsBenhNhan = dsBenhNhan;

}

public void insert(BenhNhan benhNhan) {

this.dsBenhNhan.add(benhNhan);

}

public void delete(BenhNhan benhNhan) {

this.dsBenhNhan.remove(benhNhan);

}

public void update(BenhNhan benhNhan) {

this.dsBenhNhan.remove(benhNhan);

this.dsBenhNhan.add(benhNhan);

}

public void insert(Thuoc thuoc) {

}

}

1.5.Mô tả các chức năng trên giao diện đồ họa người dùng GUI của chương trình

a) Màn hình chính

 Bảng thông tin bệnh nhân: Hiển thị thông tin về bệnh nhân đang được chọn, bao gồm tên, tuổi, giới tính, bệnh án

 Danh sách thuốc: Hiển thị danh sách tất cả các loại thuốc có trong chương trình

 Thông tin thuốc: Hiển thị thông tin về loại thuốc được chọn, bao gồm tên thuốc, công dụng, liều lượng

 Số lượng: Nhập số lượng thuốc muốn kê đơn

17

Trang 18

 Ngày cấp phát: Nhập ngày cấp phát thuốc.

b) Màn hình quản lý người dùng

 Thông tin: Hiển thị tên đăng nhập, mật khẩu và quyền hạn

D Thực thi và đánh giá kết quả

Uu điểm: Hiện thị được giao diện theo yêu cầu

Nhược điểm: Chưa kết nối được cơ sở dữ liệu nên chương trình khi chạy còn lỗi và bị lỗi phần đăng nhập

Để hoàn thiện được chương trình cần kết nối được cơ sở dữ liệu và nắm rõ đc liên kết

E Tài liệu tham khảo

https://123docz.net/document/801550-phan-tich-va-cai-dat-chuong-trinh-quan-ly-benh-nhan-tai-benh-vien-khanh-hoa.htm

Ngày đăng: 20/12/2024, 15:18

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN