Tìm hiểu về cách quản lí bệnh nhân ở các bệnh viện. Từ đó thiết kế mô hình phần ćng c̉a hệ thống mô phỏng theo mô hình đã tìm hiểu. Thiết kế giao diện quản lý bệnh nhân cho bệnh viện có thể truy xuất các thông tin như: hồ sơ bệnh án, các thông tin cơ bản, lịch sử khám bệnh. Sau khi đã hòn th̀nh, đúc kết kiến th́c, kinh nghiệm để tìm hướng phát triển với mong muốn có thể áp dụng vào thực tế ở các bệnh viện để thuận tiện và tiết kiệm thời gian cho cả bệnh nhân và đội ngũ y bác sĩ.
TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP– Y SINH o0o Tp HCM, ngày tháng năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Tài Tụ Chuyên ngành: Kỹ thuật Điện tử - Truyền thông Mã ngành: 41 Hệ đào tạo: Đại học quy Khóa: 2014 MSSV: 14141363 Mã hệ: I TÊN ĐỀ TÀI: QUẢN LÝ DỮ LIỆU BỆNH NHÂN TRONG BỆNH VIỆN SỬ DỤNG CÔNG NGHỆ RFID II NHIỆM VỤ Các số liệu ban đầu: − Ngũn Văn Hiệp, Giáo trình cơng nghệ nhận dạng song vô tuyến, Đại học SPKT Tp.HCM 2014 − Phạm Quang Huy, Lê Cảnh Trung, Lập trình điều khiển Arduino, Đại học SPKT Tp.HCM − Lê Trung Hiếu, Nguyễn Thị Minh Thi, Giáo trình lập trình Windows Form với C#.Net, Đại học Duy Tân 2012 Nội dung thực hiện: − Thu thập liệu quy trình quản lí giữ liệu bệnh nhân − Lựa chọn thiết bị việc thiết kế mô hình phần cứng − Thiết kế phần cứng − Viết phần mềm − Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 03/10/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 01/01/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Thanh Nghĩa CÁN BỘ HƯỚNG DẪN BM.ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày 07 tháng 01 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên : Nguyễn Tài Tụ Lớp: 14941DT MSSV:14141363 Tên đề tài: QUẢN LÝ DỮ LIỆU BỆNH NHÂN TRONG BỆNH VIỆN SỬ DỤNG CÔNG NGHỆ RFID Tuần/ngày Xác nhận GVHD Nội dung 24/09/2018 - Tìm hiểu Arduino Uno R3 Tìm hiểu Module 30/09/2018 RFID RC522 Tìm hiểu giao tiếp RFID và Arduino.Tìm hiểu giao tiếp LCD với Arduino 01/10/2018- Viết chương trình Arduino giao tiếp với RFID 18/10/2018 RC522, hiển thị LCD 20/10/2018- Tìm hiểu và viết form giao tiếp giứa Arduino và 22/11/2018 máy tính 12/11/2018 - Tìm hiểu SQL phpmyadmin và tạo sở 24/11/2018 liệu viết hàm truy xuất 26/11/2018 - Kết nối form máy tính với sở liệu Bắt đầu 01/12/2018 viết luận văn 03/12/2018 - Tiến hành kết nối phần lại, tiến hành mô 16/12/2018 thực tế và cân chỉnh phần cứng, phần mềm Viết luận văn 17/12/2018- Hoàn thành mơ hình và nộp luận văn 10/01/2019 GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước và khơng chép từ tài liệu hay cơng trình có trước Người thực Nguyễn Tài Tụ LỜI CẢM ƠN Em xin gửi lời cảm ơn đến ThS Nguyễn Thanh Nghĩa trực tiếp hướng dẫn, góp ý, chia sẻ nhiều kinh nghiệm quý báu tận tình giúp đỡ tạo điều kiện để chúng em hoàn thành tốt đề tài Em xin gửi lời cảm ơn đến thầy cô Khoa Điện – Điện Tử tạo điều kiện thuận lợi cho chúng em hoàn thành đề tài Em gửi lời cám ơn đến bạn chung nhóm Giáo Viên hướng dẫn, chia sẻ kinh nghiệm, trao đổi kiến thức kinh nghiệm quý báu trình thực đề tài Xin chân thành cảm ơn! Người thực đề tài Bàn Văn Huy Nguyễn Tài Tụ MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CẢM ƠN iv MỤC LỤC v LIỆT KÊ HÌNH VẼ vii LIỆT KÊ BẢNG ix TÓM TẮT x Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÍ THUYẾT 2.1 TỔNG QUAN VỀ QUẢN LÍ DỮ LIỆU BỆNH NHÂN TRONG BỆNH VIỆN 2.1.1 Phương pháp quản lí liệu bệnh nhân 2.1.2 Nhu cầu việc quản lí liệu bệnh nhân tại các bệnh viện 2.2 GIỚI THIỆU VỀ HỆ THỐNG RFID 2.2.1 Giới thiệu Công Nghệ RFID 2.2.2 Các Thành Phần Hệ Thống RFID 2.2.3 Ưu và nhược điểm hệ thống RFID 2.3 GIỚI THIỆU VỀ PHẦN MỀM PHPMYADMIN 2.3.1 Giới thiệu về phpMyAdmin 2.3.2 Giới thiệu về sở liệu MySQL phpMyAdmin 2.4 GIỚI THIỆU VỀ PHẦN CỨNG 2.4.1 Module RFID RC522 2.4.2 Thẻ RFID 11 2.4.3 Bộ Vi Xử Lí Trung Tâm Arduino UNO 13 2.4.4 LCD 16x02 14 2.4.5 Module I2C LCD 15 2.4.6 Chuẩn giao tiếp I2C 16 2.5 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH CHO VI ĐIỀU KHIỂN 17 2.6 GIỚI THIỆU PHẦN MỀM LẬP TRÌNH CHO MÁY TÍNH 19 Chương TÍNH TOÁN VÀ THIẾT KẾ 22 3.1 TÍNH TỐN VÀ THIẾT KẾ PHẦN CỨNG 22 3.1.1 Thiết kế sơ đồ khối 22 3.1.2 Tính tốn thiết kế mạch 23 3.1.3 Sơ đồ nguyên lý toàn mạch 27 Chương THI CÔNG HỆ THỐNG VÀ KẾT QUẢ 28 4.1 THI CÔNG PHẦN CỨNG 28 4.1.1 Thi công board mạch 28 4.1.2 Đóng gói và thi cơng điều khiển 31 4.1.3 Thi cơng mơ hình 31 4.1.4 Lập trình cho phần cứng 32 4.2 LẬP TRÌNH VIẾT PHẦN MỀM 33 4.2.1 Lưu đồ giải thuật C# 33 4.2.2 Thực viết phần mềm 34 4.3 KẾT QUẢ THỰC HIỆN 37 4.3.1 Kết thi công phần cứng 37 4.3.2 Hình ảnh mô phỏng 37 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 41 5.1 KẾT LUẬN 41 5.2 HƯỚNG PHÁT TRIỂN 42 5.3 HƯỚNG DẪN SỬ DỤNG PHẦN MỀM 42 TÀI LIỆU THAM KHẢO 47 PHỤ LỤC 48 LIỆT KÊ HÌNH VẼ Hình 2.1: Một số thẻ RFID thơng dụng Hình 2.2: Giao tiếp thẻ Tag và đầu đọc Hình 2.3: Giao diện đăng nhập phpMyAdmin Hình 2.4: Giao diện đăng nhập MySQL Hình 2.5: Tạo trường liệu Hình 2.6: Đầu đọc RFID HF Hình 2.7: Đầu đọc RFID UHF Hình 2.8: Đầu đọc/ghi RFID HF 10 Hình 2.9: Module đọc thẻ MFRC522 10 Hình 2.10: Thẻ RFID 12 Hình 2.11: Board Arduino UNO 13 Hình 2.12: Màn Hình LCD 16x02 14 Hình 2.13: Module I2C LCD 15 Hình 2.14: Nguyên Lý hoạt động của chuẩn giao tiếp I2C 16 Hình 2.15: Hướng Dẫn cách Download phần mềm arduino 18 Hình 2.16 Hướng dẫn tải phần mềm Arduino IDE 18 Hình 2.17: Giao diện cài đặt xong 19 Hình 2.18: Hướng dẫn tạo project 20 Hình 2.19: Chạy thử chương trình mẫu 21 Hình 3.1: Sơ đồ khối của hệ thống 22 Hình 3.2: Sơ đồ ngun lí mạch nguồn 24 Hình 3.3: Dạng sóng sau chỉnh lưu 24 Hình 3.4: Sơ đồ nguyên lý kết nối module RFID với vi điều khiển 26 Hình 3.5: LCD 16x02 kết hợp với module I2C 26 Hình 3.6: Sơ đồ ngun lý tồn hệ thống 27 Hình 4.1: Sơ đồ bố trí linh kiện của mạch 28 Hình 4.2: Mạch in sau thiết kế 29 Hình 4.3: Kiểm tra kết nối với Arduino 30 Hình 4.4: LCD kết nối với Arduino 31 Hình 4.5: Mơ hình hoàn chỉnh 31 Hình 4.6: Lưu đồ và giải thuật Arduino Uno 32 Hình 4.7: Lưu đồ và giải thuật C# 33 Hình 4.8: Đăng nhập C# Visual Studio 34 Hình 4.9: Giao diện lầm việc của C# Visual Studio 35 Hình 4.10: Giao diện đăng nhập sau nhập trình 36 Hình 4.11: Giao diện màn hình lập trình C# Window Form 36 Hình 4.12: Giao diện đăng nhập vào hệ thống 37 Hình 4.13: Khi đọc mã thẻ thành cơng 37 Hình 4.14: Giao diện đăng nhập vào hệ thống 38 Hình 4.15: Giao diện phần mềm sau đăng nhập 38 Hình 4.16: Tra cứu thông tin Bệnh Nhân bằng mã thẻ 39 Hình 4.17: Tra thơng tin bệnh nhân theo ngày vào 39 Hình 4.18: Tra và xuất thơng tin đơn thuốc của bệnh nhân 40 Hình 5.1: Giao diện đăng nhập 42 Hình 5.2: Giao diện sau đăng nhập thành công 43 Hình 5.3: Giao diện đăng ký tài khoản người dùng 44 Hình 5.4: Tra cứu bằng ngày vào khám 45 Hình 5.5 : Giao diện tra cứu thông tin bệnh nhân bằng mã thẻ của bệnh nhân 45 Hình 5.6: Giao diện thông tin đơn thuốc 46 LIỆT KÊ BẢNG Bảng 2.1: Thông số kỹ thuật của LCD 16X02 15 Bảng 3.1: Thông số dòng điện và điện áp của linh kiện mạch 23 Bảng 4.1: Bảng linh kiện sử dụng mạch 29 TÓM TẮT Ngày với phát triển vược bậc của khoa học kỹ thuật điện tử kết hợp với công nghệ thông tin lĩnh vực có nhiều đóng góp thiết thực để phục vụ sống của người, công cụ hỗ trợ đắc lực công tác quản lí liệu, bên cạnh lĩnh vực y tế áp dụng việc quản lí thơng tin liên quan đến bệnh nhân như: thông tin cá nhân, hồ sơ bệnh án, lịch sử khám bệnh Nhưng sau nhóm tìm hiểu bệnh viện đa số việc áp dụng còn nhiều hạn chế nhóm làm đề tài này với mong muốn để giải vấn đề quản lí liệu bệnh nhân để giúp giảm bớt thời gian chi phí cho cơng tác lưu trữ liệu bệnh nhân Nội dung của đề tài quản lý liệu bệnh nhân bệnh viện sử dụng công nghệ RFID, bao gồm: − Sử dụng board Arduino UNO làm vi điều khiển của khối điều khiển trung tâm − Ứng dụng cơng nghệ RFID việc quản lí bệnh nhân − Thêm, tra cứu thông tin bệnh nhân qua phần mềm máy tính − Quản lí và lưu trữ thông tin bệnh nhân qua database CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Hình 5.3: Giao diện đăng ký tài khoản người dùng Bước 3: Tra cứu thông tin bệnh nhân − Để tra cứu thông tin và lịch sử của bệnh nhân màn hình giao diện đăng nhập hình 5.5 ta chọn biểu tượng Quản Lí sau chọn biểu tượng Excel Trong giao diện này ta tìm kiếm bằng qt thẻ và nhấn tìm kiếm để xuất file thông tin ta chọn phần Excel − Ở phần này có cách tra cứu lịch sử bệnh nhân hình 5.4 là cách tìm kiếm theo ID bệnh nhân, ta chọn biểu tượng kết nối tiến hành quẹt thẻ sau nhấn tìm kiếm thơng tin bệnh nhân hiển thị − Chúng ta tra cứu thông tin bệnh nhân bằng cách nhập khoảng thời gian cụ thể hình 5.6 BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 44 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Hình 5.4 : Giao diện tra cứu thông tin bệnh nhân mã thẻ bệnh nhân Hình 5.5: Tra cứu ngày vào khám BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Bước 4: Xuất và in thông tin và toa thuốc của bệnh nhân Ở giao diện màn hình sau đăng nhập hình 5.4 ta chọn đơn kê toa thuốc có cửa sổ hình 5.6 in thơng tin và đơn thuốc của bệnh nhân Hình 5.6: Giao diện thơng tin đơn th́c BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 46 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Ngũn Văn Hiệp, “Giáo trình cơng nghệ nhận dạng bằng sống vô tuyến”, ĐH Sư phạm Kỹ Thuật TP.HCM, 2014 [2] Nguyễn Đình Phú, “Giáo trình vi điều khiển PIC”, N B ĐH Quốc gia Tp.HCM, 8/2016 [3] N P Semiconductor, “MFRC522 Standard performance MIFARE and NTAG frontend”, N P Semiconductor Datasheet, 2016 [4] Phạm Quang Huy, Lê Cảnh Trung, “Lập trình điều khiển Arduino”, Đại học SPKT Tp.HCM [5] Nguyễn Mạnh Hùng, Lập trình sử dụng Module đọc thẻ RFID-RC522, Link: http://arduino.vn/bai-viet/833-lap-trinh-va-su-dung-modul-doc-rfid-rc522 [6] JunezRiyaz, How to Connect I2C Lcd Display to Arduino Uno, Link: https://www.instructables.com/id/How-to-Connect-I2C-Lcd-Display-to-ArduinoUno/ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47 PHỤ LỤC PHỤ LỤC ➢ Code cho vi điều khiển #include #include #include #include #include #define SS_PIN 10 #define RST_PIN #define LED_DENIED_PIN #define LED_ACCESS_PIN LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7); MFRC522 mfrc522(SS_PIN, RST_PIN); // Instance of the class int code[] = {32,154,149,117}; //This is the stored UID (Unlock Card) int codeRead = 0; String uidString; void setup() { Serial.begin(9600); SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 pinMode( LED_DENIED_PIN , OUTPUT); pinMode( LED_ACCESS_PIN , OUTPUT); lcd.begin (16,2); //Initialize the LCD lcd.backlight(); lcd.setCursor(0,0); lcd.print("Show your card:)"); } void loop() { if ( mfrc522.PICC_IsNewCardPresent()) { if ( mfrc522.PICC_ReadCardSerial()) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Tag UID:"); lcd.setCursor(0,1); for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(String(mfrc522.uid.uidByte[i] < 0x10 ? "0":"")); Serial.print(String(mfrc522.uid.uidByte[i],HEX)); lcd.print(String(mfrc522.uid.uidByte[i] < 0x10 ? "0":"")); lcd.print(String(mfrc522.uid.uidByte[i], HEX)); lcd.print(" "); } Serial.println(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48 PHỤ LỤC int i = 0; boolean match = true; while(i 0) { dataGridView1.DataSource = dt; dataGridView1.Refresh(); ////////////////sua/////////// textBox1.DataBindings.Clear(); textBox1.DataBindings.Add("Text", dataGridView1.DataSource, "ID"); txt_ten.DataBindings.Clear(); txt_ten.DataBindings.Add("Text", dataGridView1.DataSource, "HOTEN"); txtdiachi.DataBindings.Clear(); txtdiachi.DataBindings.Add("Text", dataGridView1.DataSource, "DIACHI"); txtsdt.DataBindings.Clear(); txtsdt.DataBindings.Add("Text", dataGridView1.DataSource, "SDT"); txt_benh.DataBindings.Clear(); txt_benh.DataBindings.Add("Text", dataGridView1.DataSource, "BENH"); txt_toa.DataBindings.Clear(); txt_toa.DataBindings.Add("Text", dataGridView1.DataSource, "SOTOA"); txtgioitinh.DataBindings.Clear(); txtgioitinh.DataBindings.Add("Text", dataGridView1.DataSource, "GIOITINH"); this.txtvao.DataBindings.Clear(); this.txtvao.DataBindings.Add("Text", dataGridView1.DataSource, "NGAYVAO"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51 PHỤ LỤC this.txtra.DataBindings.Clear(); this.txtra.DataBindings.Add("Text", dataGridView1.DataSource, "NGAYRA"); txtduongdan.DataBindings.Clear(); txtduongdan.DataBindings.Add("Text", dataGridView1.DataSource, "HINH"); filename = txtduongdan.Text; if (filename != "") { pt_pic.Image = new Bitmap(Application.StartupPath + @"\anh\" + filename); } else { filename = ""; pt_pic.Image = null; } } else { MessageBox.Show("Khơng có liệu cho thẻ này!", "Thong bao", MessageBoxButtons.OK, MessageBoxIcon.Warning); Form1_Load(null, null); textBox1.Text = ""; } } } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { } string LuuTam = ""; private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { LuuTam = serialPort1.ReadTo("\r\n"); // truyen du lieu tu arduino len PC textBox1.Text = LuuTam; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52 PHỤ LỤC private void btnKetNoi_Click(object sender, EventArgs e) { serialPort1.PortName = "COM4"; serialPort1.BaudRate = 9600; serialPort1.Open(); } private void btnNgatKetNoi_Click(object sender, EventArgs e) { serialPort1.Close(); } private void textBox1_TextChanged(object sender, EventArgs e) { } private void btn_thoat_Click(object sender, EventArgs e) { DialogResult = MessageBox.Show("Bạn có muốn khơng?", "Thơng báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (DialogResult == DialogResult.OK) { Application.Exit(); } } string filename = ""; private void btn_load_Click(object sender, EventArgs e) { dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//dd tieu de vo giua OpenFileDialog dlg = new OpenFileDialog(); dlg.InitialDirectory = Application.StartupPath + @"\anh"; if (dlg.ShowDialog() == DialogResult.OK) { filename = dlg.FileName.Substring(dlg.FileName.LastIndexOf("\\") + 1, dlg.FileName.Length - dlg.FileName.LastIndexOf("\\") - 1); } try { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53 PHỤ LỤC pt_pic.Image = new Bitmap(Application.StartupPath + @"\anh\" + filename); txtduongdan.Text = filename; } catch { MessageBox.Show(this, "Hinh chon ko dung", "Thong bao"); } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } private void btn_huy_Click(object sender, EventArgs e) { txt_ten.Text = ""; textBox1.Text = ""; txtdiachi.Text = ""; txtgioitinh.Text = ""; txtsdt.Text = ""; txt_benh.Text = ""; txtvao.Text = ""; txtra.Text = ""; txt_toa.Text = ""; } private void đăngNhậpToolStripMenuItem_Click(object sender, EventArgs e) { } private void fileExcelToolStripMenuItem_Click(object sender, EventArgs e) { Excel frm = new Excel(); frm.Show(); Hide(); serialPort1.Close(); } private void xuấtFileExcelToolStripMenuItem_Click(object sender, EventArgs e) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54 PHỤ LỤC } private void filePdfToolStripMenuItem_Click(object sender, EventArgs e) { PDF frm = new PDF(); frm.Show(); Hide(); serialPort1.Close(); } private void btn_xoa_Click(object sender, EventArgs e) { DialogResult thongbao; thongbao = MessageBox.Show("Bạn có muốn xóa!", "Thơng báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (thongbao ==DialogResult.OK) { MySqlConnection conn = new MySqlConnection(connString); conn.Open(); string sql = "delete from tbl_quanly where ID='" + textBox1.Text + "' "; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.ExecuteNonQuery(); MessageBox.Show("Đã xóa thành cơng!"); conn.Close(); } } public bool kiemtramathe1(string mathe) { MySqlConnection conn = new MySqlConnection(connString); conn.Open(); string sql = "select ID from tbl_quanly where ID='" + mathe + "' "; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() == true) { conn.Close(); return true; } conn.Close(); return false; } private void btn_them_Click(object sender, EventArgs e) { MySqlConnection conn = new MySqlConnection(connString); try BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 PHỤ LỤC { // if (textBox1.Text != "" && txt_ten.Text != "") if (kiemtramathe1(textBox1.Text) == true) { conn.Open(); string sql = "insert into tbl_quanly(ID,HOTEN,DIACHI,GIOITINH,HINH,SDT,NGAYVAO,NGAYRA, TUOI,BENH,SOTOA) values('" + textBox1.Text + "',N'" + txt_ten.Text + "',N'" + txtdiachi.Text + "',N'" + txtgioitinh.Text + "',N'" + txtduongdan.Text + "' ,N'" + txtsdt.Text + "',N'" + txtvao.Text + "',N'" + txtra.Text + "',N'" + this.dtp.Text + "',N'" + txt_benh.Text + "',N'" + txt_toa.Text + "' )"; MySqlCommand cmd = new MySqlCommand(sql, conn); int kq = (int)cmd.ExecuteNonQuery(); if (kq > 0) { MessageBox.Show("Thêm thành công !"); } else MessageBox.Show("Thêm thất bại !!"); conn.Close(); } else { conn.Open(); string sql = "insert into tbl_quanly(ID,HOTEN,DIACHI,GIOITINH,HINH,SDT,NGAYVAO,NGAYRA, TUOI,BENH,SOTOA) values('" + textBox1.Text + "',N'" + txt_ten.Text + "',N'" + txtdiachi.Text + "',N'" + txtgioitinh.Text + "',N'" + txtduongdan.Text + "' ,N'" + txtsdt.Text + "',N'" + txtvao.Text + "',N'" + txtra.Text + "',N'" + this.dtp.Text + "',N'" + txt_benh.Text + "',N'" + txt_toa.Text + "' )"; MySqlCommand cmd = new MySqlCommand(sql, conn); int kq = (int)cmd.ExecuteNonQuery(); if (kq > 0) { MessageBox.Show("Thêm thành công !"); //Control.CheckForIllegalCrossThreadCalls = false; } else MessageBox.Show("Thêm thất bại !!"); conn.Close(); } } catch(Exception ex) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 PHỤ LỤC { } } private void btn_sua_Click(object sender, EventArgs e) { MySqlConnection conn = new MySqlConnection(connString); if (textBox1.Text != "") { MySqlCommand cmd = new MySqlCommand("update tbl_quanly set ID=@ID,HOTEN=@HOTEN,DIACHI=@DIACHI,GIOITINH=@GIOITINH,HI NH=@HINH,SDT=@SDT,NGAYVAO=@NGAYVAO,NGAYRA=@NGAYR A,TUOI=@TUOI,BENH=@BENH,SOTOA=@SOTOA where ID=@ID", conn); cmd.Parameters.AddWithValue("@id", textBox1.Text); cmd.Parameters.AddWithValue("@HOTEN", txt_ten.Text); cmd.Parameters.AddWithValue("@DIACHI", txtdiachi.Text); cmd.Parameters.AddWithValue("@GIOITINH", txtgioitinh.Text); cmd.Parameters.AddWithValue("@HINH", txtduongdan.Text); cmd.Parameters.AddWithValue("@SDT", txtsdt.Text); cmd.Parameters.AddWithValue("@NGAYVAO", txtvao.Text); cmd.Parameters.AddWithValue("@NGAYRA", txtra.Text); cmd.Parameters.AddWithValue("@TUOI", this.dtp.Text); cmd.Parameters.AddWithValue("@BENH", txt_benh.Text); cmd.Parameters.AddWithValue("@SOTOA", txt_toa.Text); MySqlDataReader myReader; try { conn.Open(); myReader = cmd.ExecuteReader(); MessageBox.Show("Đã lưu lại thành công !"); while (myReader.Read()) { } } catch (Exception ex) { } conn.Close(); } } private void timer1_Tick(object sender, EventArgs e) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 PHỤ LỤC { DateTime dateTime = DateTime.Now; this.time_lbl.Text = dateTime.ToString(); } public class LuuThongTin { static public string mathe; static public string ten; static public string diachi; static public string sotoa; } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { serialPort1.Close(); LuuThongTin.mathe = textBox1.Text; LuuThongTin.ten = txt_ten.Text; LuuThongTin.diachi = txtdiachi.Text; LuuThongTin.sotoa = txt_toa.Text; Toathuoc frm = new Toathuoc(); frm.Show(); Hide(); } private void button3_Click(object sender, EventArgs e) { serialPort1.Close(); Form2 frm = new Form2(); frm.Show(); this.Hide(); } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 ... thực đồ án “QUẢN LÝ DỮ LIỆU BỆNH NHÂN TRONG BỆNH VIỆN SỬ DỤNG CÔNG NGHỆ RFID Đề tài ứng dụng kiến thức lập trình arduino, truyền số liệu, quản lý sở liệu database để thiết kế hệ thống sử dụng... VỀ QUẢN LÍ DỮ LIỆU BỆNH NHÂN TRONG BỆNH VIỆN 2.1.1 Phương pháp quản lí liệu bệnh nhân 2.1.2 Nhu cầu việc quản lí liệu bệnh nhân tại các bệnh viện 2.2 GIỚI THIỆU VỀ HỆ THỐNG RFID. .. tài quản lý liệu bệnh nhân bệnh viện sử dụng công nghệ RFID, bao gồm: − Sử dụng board Arduino UNO làm vi điều khiển của khối điều khiển trung tâm − Ứng dụng công nghệ RFID việc quản lí bệnh