Cầu ứng dụng quản lí bệnh nhân bằng tin học - Bùi Văn Mừng
Bạn đang xem 20 trang mẫu của tài liệu "Cầu ứng dụng quản lí bệnh nhân bằng tin học - Bùi Văn Mừng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- cau_ung_dung_quan_li_benh_nhan_bang_tin_hoc_bui_van_mung.pdf
Nội dung text: Cầu ứng dụng quản lí bệnh nhân bằng tin học - Bùi Văn Mừng
- z LUẬN VĂN TỐT NGHIỆP KHOA CÔNG NGHỆ THÔNG TIN Đề tài: Cầu ứng dụng quản lý bệnh nhân bằng tin học
- LỜI NÓI ĐẦU Ngày nay, cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì công nghệ thông tin là một trong những lĩnh vực có nhiều đóng góp thiết thực nhất, công nghệ thông tin có mặt trong hầu hết các lĩnh vực của cuộc sống, đặc biệt nó là công cụ hỗ trợ rất đắc lực trong công tác quản lý. Dễ dàng thấy được việc đưa tin học vào trong quản lý kinh doanh là một ứng dụng quan trọng trong rất nhiều ứng dụng của cơ sở dữ liệu. Nhờ vào công tác tin học hoá mà công việc quản lý và điều hành doanh nghiệp tỏ ra rất nhanh chóng và hiệu quả. Chính vì lẽ đó mà cơ sở dữ liệu như là một giải pháp hữu hiệu nhất cho các doanh nghiệp có thể tồn tại và phát triển một cách nhanh chóng. Bệnh viện đa khoa tỉnh Khánh Hoà là một trong những trung tâm khám chữa bệnh lớn nhất của tỉnh Khánh Hoà. Do đó, nhu cầu ứng dụng quản lý bệnh nhân bằng tin học là một vấn đề hết sức thiết thực và tất yếu. Chính vì lí do đó chúng tôi chọn đề tài quản lý bệnh nhân này làm đề tài thực tập chuyên ngành và thực tập tốt nghiệp sắp tới. Hiện nay, có rất nhiều phần mềm hệ quản trị cơ sở dữ liệu khác nhau. Tuy nhiên căn cứ vào tình hình quản lý bệnh nhân của bệnh viện hiện nay, chúng tôi đã chon hệ quản trị cơ sở dữ liệu SQL Server 2000 và ngôn ngữ hỗ trợ cài đặt giao diện của ứng dụng là Visual Basic 6.0 Mặc dù có nhiều cố gắng nhưng do thời gian thực tập có hạn cũng như vốn kiến thức còn nông cạn nên không thể tránh khỏi những thiếu sót. Rất mong được góp ý của quý thầy cô cùng các bạn để báo cáo được hoàng thiện hơn. Nhóm sinh viên thực hiện Bùi Văn Mừng Đỗ Văn Cao.
- PHẦN I: TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT I. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ SQL SERVER 2000 I.1. KHÁI NIỆM CƠ BẢN VỀ CÁC LOẠI CƠ SỞ DỮ LIỆU Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác vụ quản lí, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ. SQL server là một hệ thống quản lí cơ sở dữ liệu quan hệ (RDB0MS) hay còn được gọi là Relational Database Management System. Cơ sở dữ liệu quan hệ là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng. Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và có chứa các cột và các hàng thông tin. Sau đó các bảng này lại liên hệ với nhau bởi bộ Database Engine khi có yêu cầu. RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay. I.2. GIỚI THIỆU CHUNG VỀ SQL SERVER 2000 SQL(Structured Query Language), là ngôn ngữ dùng để truy vấn cơ sở dữ liệu, hay nói cách khác đây là ngôn ngư truy vấn cho phép lấy thông tin về từ các bảng dữ liệu. SQL Server 2000 tối ưu hơn nhiều so với cơ sở dữ liệu quan hệ. Chúng phát triển để sử dụng trên nhiều ấn bản như CE, Personal, Desktop Engine, Standard, Developer, Enterprise. SQL Server 2000 hỗ trợ kiểm tra khoá chính, phụ thuộc tồn tại, miền giá trị, của dữ liệu bên trong các bảng một cách chặt chẽ. SQL Server 2000 hỗ trợ khá mạnh cho cơ sở dữ liệu đa truy cập. Tức cơ sở dữ liệu mạng, Những thành phần chính trong SQL Server 2000 bao gồm Hệ thống Diễn dải An bản SQL Server Đây là phần chính của hệ thống, là trung tâm Desktop 2000 điều hành những phần thực thi khác. Với Engine Desktop Engine bạn xẽ tìm thấy các dich vụ Personal trong hệ thống như SQL Server Agent Standard (Schedul), SQL Server Profiler , và một số Developer công cụ khác Enterprise Full-Text Đây là phần tự chọn trong lúc cài đặt, nếu bạn Personal Sarch muốn chức năng tìm kiếm thì nên chọn hệ thống (Except này vì chúng không là phần mặc nhiên. Win95) Full-Text Sarch cung cấp chức năng tìm kiếm Standard từ (word) rất mạnh, nếu sử dụng Internet để tìm Developer kiếm thì đây là giải pháp tuyệt vời. Nếu bạn Enterprise muốn tìm kiếm một chuỗi con trong một đoạn văn bản lớn thì đây là công cụ thích hợp cho công việc đó. English Query English Query cho phép người sử dụng không Personal có kỹ thuật vê SQL cũng có thể sử dụng SQL Standard Server, bằng cách dặt câu hỏi bằng chuỗi Developer English sau đó được dịch ra Query mà có thể Enterprise thực thi trên SQL Server.
- Analusis Phần này không bao gồm mặc định trong Personal Services phần cài đặt, chúng là dạng sản phẩm tự chọn, là công cụ phân tích OLAP (Online Analysis Standard Processing), sử dụng cho cơ sở dữ liệu lớn. Những phiên bản có OLAP đầy đủ chức năng Developer là Enterprise và Developer, nhưng trong ấn bản Standard và Personal cũng có một chức năng Enterprise chính của OLAP. Replication Chức năng này cho phép tái tạo một bản sao Desktop đến SQL Server khác, thông thường dùng chức Engine năng này cho các hệ thống Server từ xa hay Personal trong network, nhằm để làm giảm trao đổi dữ Standard liệu giữa các SQL Server với nhau. Developer Enterprise Data Data Transformatuion Servise (DTS) được Desktop Transformatuion mở rộng trong phiên bản SQL Server 2000, bao Engine Servise gồm những chức năng trao đổi dữ liệu giứa các Personal cơ sở dữ liệu, và giao tiếp dữ liệu giữa các cơ sở Standard dữ liệu khác nhau, đây là những giải pháp lập Developer trình trên Visual Basic Enterprise Những đặc tính mở rộng trong các ấn bản khác nhau của SQL Server 2000. Symmetric Multiprocessing (SMP): Dịch vụ này được hỗ trợ trong SQL Server 2000, dịch vụ này phân phối công việc xử lí trên hệ thống có nhiều bộ vi xử lí để làm cân bằng tiến trình trên các CPU. Clustering Support: Chỉ có trong ấn bản Enterprise và Developer, Clustering cho phép hệ thống cân bằng khi có một Server bị ngừng thì những hệ thống khác tiếp nhận và xử lí. Hiện tại chỉ thực hiện chức năng này trên hai Server đó là Windows 2000 Enterprise và Windows 2000 Datacenter. I.2.1 Các thành phần của SQL Server 2000. RDBMS cũng như SQL Server chứa đựng nhiều đối tượng bao gồm: - Database: Cơ sở dữ liệu SQL Server - Tập tin log: tập tin lưu trữ những chuyển tác của SQL - Tables: bảng dữ liệu - Filegroups: Tập tin nhóm - Diagrams: Sơ đồ quan hệ - Views: Khung nhìn (hay bản ảo) số liệu dựa trên bản - Stored Procedure: Thủ tục và hàm nội - Users defined: Hàm do người dùng định nghĩa - Users: Người sử dụng cơ sở dữ liệu - Rules: Những quy tắc - Defaults: Các giá trị mặc nhiên - User-defined data type:Kiểu dữ liệu do người dùng định nghĩa - Full-text catalogs: Tạp phân loại dữ liệu text I.2.2. Đối tượng cơ sở dữ liệu
- Cơ sở dữ liệu là đối tượng có ảnh hưởng cao nhất khi bạn làm việc với SQL Server, tuy nhiên những đối tượng con của cơ sở dữ liệu mới là thành phần chính của cơ sở dữ liệu. Bản thân SQL Server là một hệ cơ sở dữ liệu, chúng bao gồm các đối tượng như database, table, view, procedure nêu trên cùng một số cơ sở dữ liệu hỗ trợ khác. Cơ sở dữ liệu SQL Server là cơ sở dữ liệu đa người dùng, với mỗi Server bạn chỉ có một hệ quản trị cơ sở dữ liệu. Nếu muốn có nhiều hệ quản trị cơ sở dữ liệu bạn cần có nhiều Server tương ứng. Truy cập cơ sở dữ liệu của SQL Server dựa vào những tài khoản người dùng riêng biệt và ứng với quyền truy cập nhất định. Cài đặt SQL Server bạn có 6 cơ sở dữ liệu mặc định sau: - Master: Bất kỳ SQL Server nào đều có cơ sở dữ liệu Master (còn gọi là master file), cơ sở dữ liệu này chứa đựng tất cả các bảng dữ liệu đặc biệt (bảng hệ thống), chúng kiểm soát tất cả các hoạt động cúa hệ SQL Server. Ví dụ: Khi người dùng cơ sở dữ liệu mới trong SQL Server, thêm hay xoa một procedure, tất cả những thông tin này đều được trữ trong cơ sở dữ liệu master của hệ thống. - Cơ sở dữ liệu model: Cơ sở dữ liệu này chứa đựng tất cả template dùng làm mẫu để tạo cơ sở dữ liệu mới. Khi bạn tạo mới một cơ sở dữ liệu thì SQL Server lấy tất cả các mẫu (bao gồm bảng view ) từ cơ sở dữ liệu model này Xuất phát từ tính chất cơ sở dữ liệu mẫu giúp SQL Server thực hiện việc tạo mới cơ sở dữ liệu cho người dùng khi có yêu cầu, bạn không được xoá cơ sở dữ liệu này. Khi một cơ sở dữ liệu mới được tạo ra thì cơ sở dữ liệu mới này ít nhất cũng bằng và giống như cơ sở dữ liệu model. - Cơ sở dữ liệu msdb: Như đã nêu, chúng ta có hai cơ sở dữ liệu hệ thống master và model, nếu xoá một trong hai cơ sở dữ liệu này thì hệ thống SQL Server xẽ bị lỗi, nhưng với cơ sở dữ liệu msdb thì khac. Msdb chính là SQL Agent lưu trữ tất cả các tác vụ xảy ra trong SQL Server. - Cơ sở dữ liệu Tempdb: Là một trong những cơ sở dữ liệu chính trong SQL Server. Cơ sở dữ liệu này cho phép người dùng tạo những ứng dụng tham khảo hay thực tập trước khi bạn bắt đầu với cơ sở dữ liệu thực. Ngoài ra chúng còn giúp thực hiện những thao tác về cơ sở dữ liệu mỗi khi SQL Server khởi động. - Cơ sở dữ liệu pubs: Chứa hầu hết nội dung về hướng dẫn, trợ giúp và sách tham khảo về SQL Server. - Cơ sở dữ liệu Northwind: Cũng giống như cơ sở dữ liệu pubs, đây là cơ sở dữ liệu mẫu cho người dùng tham khảo, hoặc các lập trình viên Visual Basic hay Access dùng để truy cập dữ liệu SQL Server. Cơ sở dữ liệu này được cài đặt như một phần của SQL Server, nếu cần dùng cấu trúc của hai cơ sở dữ liệu này bạn có thể sử dụng hai file kịch bản script mang tên inspub.sql, và insnwnd.sql. - Tập tin chuyển tác log: Tập tin chứa đựng những hoạt động, hay cả những chuyển tác của cơ sở dữ liệu theo thời gian. Thông thường khi cần tìm hiểu sự cố xảy ra với cơ sở dữ liệu, người dùng chỉ cần tham khảo tập tin log xẽ biết được nguyên nhân. I.2.3. Giới thiệu về đối tượng của cơ sở dữ liệu - Bảng-Table
- Trong cơ sở dữ liệu, bản (table) là phần chính của chúng. Do bảng là đối tượng lưu trữ dữ liệu thực, khi cần giao tiếp với cơ sở dữ liệu khác bảng là đối tượng căn bản nhất trong bất kỳ loại cơ sở dữ liệu nào, chúng được coi như một miền dữ liệu. Mỗi bảng được định nghĩa nhiều trường, mỗi trường (field còn gọi là column name) ứng với mỗi loại kiểu dữ liệu. Dữ liệu nhập vào có thể chấp nhận hặc từ chối tuỳ thuộc vào nguyên tắc ràng buộc dữ liệu hoặc loại dữ liệu tương thích do hệ thống hay người dùng định nghĩa. Khi định nghĩa bảng cơ sở dữ liệu bạn cần quan tâm đến các yếu tố sau: + Key: Trường đó có khoá hay không (primary Key) + ID: Trường có thuộc tính Indentity hay không + Column name: Tên của trường (cột) + Data type: Loại dữ liệu cho trường tương ứng. + Size: Kích thước trường dữ liệu + Allow null: Cho phép giá trị rỗng lưu trong trường hay không + Default: Giá trị mặc nhiên cho trường + Identity: Nếu bạn sử dụng một trường có giá trị tự động như autonumber trong acces, trường nay Not Null và Identity: Yes(On) + Identity Seed: Nếu trường (cột) này là Identity, cần số bắt đầu là 1 hoặc 2, + Identity Increament: Số nhảy cho mỗi lần tăng - Chỉ mục – Indexs Đối tượng chỉ mục (Indexs) chỉ tồn tại trong bảng hay khung nhìn (View). Chỉ mục có ảnh hưởng đến tốc độ truy cập số liệu, nhất là khi cần tìm kiếm thông tin trên bảng. Chỉ mục giúp tăng tốc cho việc tìm kiếm. + Clustered: Ứng với loại chỉ mục này một bảng chỉ có một chỉ mục, và số liệu được sắp xếp theo trang + Non-Clustered: Ứng với loại chỉ mục này có một bảng có thể có nhiều chỉ mục và số liệu được săp xếp theo trường dữ liệu mà bạn trỏ đến - Bẫy lỗi-Triggers Là đối tượng chỉ tồn tại trong bảng, cụ thể là một đoạn mã và tự đông thực hiện khi một hành động nào đó xảy ra đối với dữ liệu trong bảng như Insert, Update, Delete. Trigger có thể bẫy rất nhiều tình huống như copy dữ liệu, xoá dữ liệu, cập nhật dữ liệu, kiểm tra dữ liệu theo một tiêu chuẩn nào đó. - Ràng buộc- Constraints Constraints là một đối tượng, nó là một phần nhỏ trong bảng, chúng ràng buộc dữ liệu trong bảng hoặc các bảng khác phải tuân theo một quy tắc nào đó. - Diagram-Lược đồ quan hệ Khi xây dựng cơ sở dữ liệu cho ứng dung hay thương mại điện tử, thường đều phải dựa trên trình phân tích thiết kế hệ thống. Sau những bước phân tích và thiết kế, bạn sẽ thiết lập quan hệ dữ liệu giữa các thực thể ERD(Entity relationship diagram) - Khung nhìn-View View là khung nhìn (hay bảng ảo) của bảng. Cũng giống như bảng nhưng View không thể chứa dữ liệu, bản thân view có thể tạo thêm trường mới dựa vào những phép toán biểu thức của SQL Server. View còn có thể kết nối nhiều bảng lại với nhau theo quan hệ nhất định cùng với những tiêu chuẩn, nhằm tạo ra một bảng dữ liệu với yêu cầu người dùng.
- - Thủ tục nội-Stored Procedure Stored Procedure còn gọi là Spocs, tiếp tục phát triển như một phần SQL trên cơ sở dữ liệu. Stored Procedure cho phép khai báo biến, nhận tham số cũng như thực thi các phát biểu có điều kiện. Stored Procdure có các ưu điểm lớn sau: + Kế thừa tất cả các phát biểu của SQL, và là một đối tượng xử lí số liệu hiệu quả nhất khi dùng SQL Server. + Tiết kiệm thời gian thực thi trên dữ liệu. + Có thể goi Stored procedure theo cách gọi thủ tục hay hàm trong ngôn ngữ lập trình truyền thốn, đồng thời sử dụng lại khi có yêu cầu. - Sử dụng kiểu dữ liệu Cursor (Cursor typy) Khi dùng cơ sở dữ liệu SQL Server, nếu có nhu cầu tính toán trên bảng số liệu, chuyển tác thực hiện trên từng mẩu tin, ta nên nghĩ đến kiểu dữ liệu mang tên Cursor. I.2.3. Kiểu dữ liệu-Data type Bất kỳ trường nào trong bảng (Table) của cơ sở dữ liệu đều phải co kiểu dữ liệu. Một số kiểu dữ liệu SQL Server cho phép định nghĩa chiều dài của kiểu trong khi một số kiểu khác thì không Cũng như những ngôn ngữ lập trình khác SQL Server cung cấp đầy đủ kiểu dữ liệu cần thiết, như: kiểu số nguyên (Binary, Int, TinyInt, ), kiểu số thực (Float), kiểu tiền tệ (Money, SmallMoaney, ) kiểu chuỗi (char, nChar, VarChar, Text, ), và nhiều kiểu dư liệu khác. Ngoài ra SQL Server còn cho phép chuyển đổi qua lại giữa các kiểu dữ liệu, tuy nhiên điều này cũng có một số hạn chế đối với một số kiểu dữ liệu. Ví dụ: kiểu binary không thể nhận chuyển đổi sự chuyển đổi từ dữ liệu kiểu float hay real I.2.4. Các phát biểu cơ bản của T-SQL - Cú pháp tổng quát của lệnh Select SELECT FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ] Trong đó tất cả những phát biểu nằm trong cặp dấu [] thì có thể có hoặc có thể không có. Ví dụ: + Để lấy tất cả các bệnh nhân trong bảng tblBenhNhan ta dùng câu truy vấn sau: SELECT * FROM tblBenhNhan Trong câu lệnh này thiếu vắng tất cả các phát biểu sau FROM trên + Để chọn ra tất cả các bệnh nhân trong bảng tblBenhNhan với Tên bệnh nhân là Nguyễn Văn A ta làm như sau. SELECT * FROM tblBenhNhan WHERE tblBenhNhan.TenBenhNhan=’Ngyuên Van A’ Vậy câu lệnh SELECT dùng để chỉ ra trường (cột) dữ liệu cần lấy, FROM để chỉ ra nơi chứa dữ liệu (hay bảng cần truy vấn), WHERE chỉ ra điều kiện lấy dữ liệu.
- ORDER BY dùng để hiển thị kết quả truy vấn theo tiêu chuẩn của người dùng. Nếu thiếu tham số này thì việc sắp xếp xẽ theo thứ tự ALPHABET. Ngoài những câu lệnh truy vấn trên trong SQL Server còn cung cấp một số hàm cũng như những biểu thức tính toán - Để thêm dữ liệu vào bảng (Table) ta dùng câu lệnh truy vấn sau: INSERT INTO (danh sách cột) VALUES (danh sách giá trị) Ví dụ: Để chèn dữ liệu vào bảng tblTinh ta có câu lệnh truy vấn sau: INSERT INTO tblTinh (MaTinh, TenTinh) VALUES(‘001’, ‘Khánh Hoà’) - Để sửa dữ liệu trong một bảng đã có sẵn ta sử dụng câu lệnh truy vấn UPDATE cú pháp như sau: UPDATE FROM SET = WHERE Ví dụ: ta muốn thay đổi tên tỉnh có mã số (‘001’) thành Đà Lạt ta làm như sau: UPDATE FROM tblTinh SET tblTinh.TenTinh=’Đà Lạt’ WHERE tblTinh.MaTinh=’001’ - Để xoá dữ liệu trong một bảng ta dùng câu lẹnh truy vấn DELETE cú pháp như sau: DELETE FROM WHERE Ví dụ: Để xóa tỉnh có tên tỉnh là Khánh Hoà ta làm như sau DELETE FROM tblTinh WHERE tblTinh.TenTinh=’Khánh Hoà’ Hoặc có mã tỉnh =001 DELETE FROM tblTinh WHERE tblTinh.MaTinh=’001’ Ngoài ra trong SQL Server có những phát biểu cho phép kết nối nhiều bản với nhau (JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN). Ví dụ: để lấy địa chỉ của bệnh nhân ta cần xác định xã, huyện, tỉnh. Vậy để lấy về địa chỉ của bệnh nhân có rất nhiều cách song cách nào là nhanh nhất dỡ phải viết lệnh nhiều mà hiệu quả lại cao. Việc này được thực hiện nhờ tạo một View kết nối table tblTinh, tblHuyen, tblXa câu truy vấn như sau: CREATE VIEW dbo.vwDiaChi AS SELECT dbo.tblTINH.TenTinh,dbo.tblHUYEN.TenHuyen, dbo.tblXA.TenXa, dbo.tblXA.Maxa FROM dbo.tblHUYEN INNER JOIN dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh INNER JOIN dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen
- Khí đã có view địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là xẽ có thông tin cần thiết về địa chỉ bệnh nhân. SELECT TenTinh,TenHuyen,TenXa FROM vwDiaChi WHERE MaXa= @MaXa @MaXa là một biến được đưa vào để chọn ra xã cần tìm. Ơ view trên ta kết nối ba table bằng lệnh INNER JOIN để lấy ra các trường tên tinh, tên huyên, tên xã, và mã xã. I.2.5. Khái niệm về đối tượng trong SQL và cách tạo các đối tượng trong SQL Server. 1. Tạo cơ sở dữ liệu – CREATE DATABASE Để tạo cơ sở dữ liệu trong SQL Server ta dùng cú pháp sau CREATE DATABASE [ON [PRIMARY] ( [Name= ,] FileName= [,SIZE= ] )] (LOG ON ( Name= ] FileName= [,SIZE= ] )] [COLLATE ] [For Load|For Attch] Trong đó: - ON: Định nghĩa nơi chứa dữ liệu và không gian chứa tập tin log - NAME: Định nghĩa tên cơ sở dữ liệu - FILENAME: Tên tập tin cơ sở dữ liệu trên đĩa cứn, Lưu ý khi tạo cơ sở dữ liệu ta đặt tập tin ở vị trí nào thì không thể di chuyển một cách thủ công được. - SIZE: Cho biết dụng lượng cơ sở dữ liệu khi tạo chúng. Thông thường là 1MB - MAXSIZE: Dung lượng lớn nhất, khi dung lượng cơ sở dữ liệu tăng đến mức Maxsize thì dừng lại. - FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa trong quá trình thêm dữ liệu vào cơ sở dữ liệu. - LOG ON: Cho phép quản lí chuyển tác xảy ra trong quá trình sử dụng cơ sở dữ liệu của SQL Server. Thông thường chúng chiếm khoảng 25% dung lượng tập tin dữ liệu.
- Việc tạo một cơ sở dữ liệu bằng mã lệnh không phải là khó, song SQL Server cho phép tạo cơ sở dữ liệu băng giao diện đồ hoạ. Để tạo cơ sở dữ liệu ta dùng trình SQL Server Enterprise Manager. màn hình tạo cơ sở dữ liệu bằng Enterprise Manager như sau: Sau khi chúng ta Click vào New Database thì màn hinh tạo cơ sở dữ liệu hiện ra khi đó ta chỉ việc nhập đầy đủ các thông tin yêu cầu như: đường dẫn nơi để tập tin cơ sở dữ liệu, dung lượng tập tin, 2. Tạo bảng – CREATE TABLE tạo bảng trong cơ sở dữ liệu cũng giống như tạo các đối tượng khác trong SQL Server. Cú pháp đầy đủ để tạo bảng như sau: CREATE TABLE [Dataabase_name.[owner].table_name ( [[DEFAULT ] [[IDENTITY (seed, increament) [NOT FỎ REPLICATION]]]] [ROWGUIDCOL] [NULL|NOT NULL] [ ] [Column_name as computed_columns_expression ) ON{ |DEFAULT]
- - Tên cột – Column Name: Tên cột cũng giống như tên bảng và tên cơ sở dữ liệu không có khoảng trăng, không bắt đầu bằng chữ số và các ký tự đặc biệt , tuy nhiên nên đặt tên ngắn gọn gợi nhớ - Kiểu dữ liệu – Data type: Khi xây dựng cơ sở dữ liệu tất cả các trường trong bảng cần phải có kiểu dữ liệu cụ thể. Vấn đề quan trọng là chọn kiểu dữ liệu nào cho phù hợp với dữ liệu mà người dùng xẽ nhập vào, - Giá trị mặc nhiên – Default: Gán giá trị mặc nhiên cho các cột khi không có dữ liệu. - IDENTITY: Đây là giá trị cực kỳ quan trọng trong SQL Server. Khi chúng ta muốn một cột có giá trị tự động tăng. Ta nên định nghĩa như Identity. - NULL/NOT NULL: là trạng thái của một cột có cho phép nhập giá trị null hay không. - Ràng buộc – Column constrain: Kiểm tra dữ liệu khi dữ liệu mới được đưa vào cột hoặc dữ liệu bị thay đổi. - Ràng buộc bảng dữ liệu – TABLE CONSTRAINTS: Ràng buộc bảng cũng giống như ràng buộc cột trong bảng, là kiểm soát dữ liệu nhập vào bảng theo một quy luật định sẵn. Song cũng có thể tạo bảng bằng giao diện dồ hoạ như với cơ sở dữ liệu. Trong khi xây dựng bảng cần chú ý đến các trường khoá. 3.Tạo view View là bảng ảo và cũng như với bảng view cũng có thể tạo được bằng mã lệnh cung như giao diện đồ hoạ. View cho phép kết nối nhiều bảng với nhau để hiển thị thông tin. 4. Thủ tục được lưu và hàm (Stored Procedure hay sp, Function) a. Thủ tục được lưu (Stored Procedure) Stored Procedure là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQL Server. Nếu biết SQL Server mà không biết Stored Procedure là một thiếu sót rất lớn. Cú pháp để tạo một Stored Procedure như sau: CREATE PROCEDURE | PRO [ [VARYING] [= ][OUT PUT][, [ [VARYING] [= ][OUT PUT][, [WITH RECOMPILE | ENCRIPTION | RECOMPILE, ENCRIPTION] [FOR REPLICATION] AS GO Đó là cú pháp đầy đủ để tạo một Stored Procedure song ta có thể tạo Stored Procedure rất đơn giản bằng giao diện đồ hoạ (Enterprise Manager) của SQL Server Ví dụ tạo một Stored Procedure đơn giản: USE BENHNHAN GO
- Create proc Sp_NhapXa @MaXa nchar(9), @TenXa char(30), @MaHuyen nchar(6) AS Insert Into tblXa ( MaXa, TenXa,MaHuyen ) Values ( @MaXa,@TenXa,@MaHuyen ) GO Ơ trên ta tạo một Stored Procedure dùng để nhập một xã mới vào bảng Xã (tblXa). Khi đã có Stored Procedure này rồi ta chỉ cần gọi tên hàm và tham số kèm theo mỗi khi nhập một xã mới vào table xã. b.Tạo hàm (Function) Tương tự như Stored Procedure hàm cũng có thể tạo bằng giao diện dồ hoạ cũng như mã lệnh song giá trị trả về của hàm đa dạng hơn chúng có thể trả về là một bảng. Ví dụ: Tạo hàm tìm kiếm bênh nhân theo tỉnh, hàm này trả về một bảng chứa thông tin về bệnh nhân trong tỉnh. CREATE FUNCTION udf_TimBenhNhanTheoTinh (@TenTinh Char(30)) RETURNS Table AS Return Select * From tblBenhNhan Where tblBenhNhan.MaXa in thuoc xa (Select MaXa From tblXa Where tblXa.MaHuyen in thuoc huyen (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh in thuoc tinh ( Select MaTinh From tblTinh Where tblTinh.TenTinh=@TenTinh))) I.3. TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC
- Visual Basic Chứa một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng trong việc truy cập dữ liệu. Trong Visual Basic có rất nhiều phương pháp truy cập dữ liệu như: ADO, ADODB, DAO, nói chung các đối tượng này có những thuộc thuộc tính tương đối giống nhau. Trong báo cáo này chúng tôi chủ yếu đi sâu vào đối tượng ADO đây cũng là công cụ được dùng trong chương trình. I.3.1. ADO là gì ? ADO (ActiveX Data Object hay đối tượng dữ liệu ActiveX). Ta có thể hình dung rằng ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng dữ liệu từ xa). Mô hình đối tượng dữ liệu ActiveX rất gọn. Nó được thiết kế để cho phép lập trình viên lấy được một tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể. Tốc độ và tính đơn giản là một trong các mục tiêu cốt lõi của ADO, mô hình này được thiết kế để cho phép tạo ra một đối tượng Recordset mà không cần phải di chuyển qua các đối tượng trung gian khác trong quá trình lập trình. Thực tế chỉ có ba đối tượng cốt lõi trong mô hình: - Connection: Đại diện kết nối thực sự - Command: Được sử dụng để thực thi các query dựa vào kết nối dữ liệu. - Recordset: Đại diện cho một tập các Record được chọn query thông qua đối tượng Command. Đối tượng Connection chứa một tập các đối tượng con gọi là các đối tượng Errors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kết nối. Đối tương Command có một tập các đối tượng con là Paramenters để giữ bất cứ tham số nào có thể thay thế cho query. Recordset cũng có một tập các đối tượng con Properties để lưu các thông tin chi tiết về đối tượng. Connection Command Parameter Recorset Fields Error Sơ đồ mô hình ActiveX Data Object I.3.2. Các thuộc tính đặc biệt của ADO Mô hình ADO có một số thuộc tính mà các mô hinh cơ sở dữ liệu khác như DAO và RDO không có. Các thuộc tính này điều khiển cách thức tạo ra dataset và quyền hạn truy cập trong một kết nối dữ liệu. Có bảy thuộc tính như sau: - Connection string (Chuỗi kết nối)
- - Command Text (Văn bản câu lệnh) - Command Type (Kiểu câu lệnh) - Cursor location (Định vị con trỏ) - Cursor Type (Kiểu con trỏ) - Look type (kiểu con trỏ) - Mode type (Kiểu chế độ làm việc) Ví dụ: Để tạo kết nối đến cơ sở dữ liệu SQL Server vơi tên cơ sở dữ liệu là: BENHNHAN ta làm như sau: Public Sub OpenConnection() ' Tạo kết nối đến nguồn dữ liệu Set cn = New ADODB.Connection cn.Provider = "SQLOLEDB.1;" cn.ConnectionString = " Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BENHNHAN" cn.Open End Sub Chương II: ĐĂC TẢ BÀI TOÁN Bệnh viện đa khoa tỉnh Khánh Hoà cần quản lý bệnh nhân trên hệ thống mạng máy tính của bệnh viện. Sau khi khảo sát hiện trạng chúng tôi đã có được một số thông tin cần lưu ý sau: Quản lý nhân viên tronh bệnh viện Mỗi nhân viên của bệnh viện được quản lý các thông tin sau: Họ, Tên, giới tính, ngày sinh, nơi sinh, địa chỉ, trình độ chuyên môn, đơn vị công tác, chức vụ. Trong đó quản lý: - Địa chỉ quản lý: Số nhà, Xã (Phường), Huyện (Quận), Tỉnh (Thành phố). Quản lý bệnh nhân (Đối tượng chính cần quản lí) Khi bệnh nhận đến bệnh viện khám lần đầu tiên, bệnh viện lưu những thông tin sau:Họ, Tên, giới tính, ngày sinh, địa chỉ, đối tượng. Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảo hiểm y tế. Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số thẻ bảo hiểm y tế, thời gian hiệu lực, phần trăm bảo hiểm, nơi khám bệnh ban đầu. Nếu bệnh nhân có thẻ bảo hiểm y tế là công nhân viên của một tổ chức, cơ quan nào đó thì quản lý thêm: Tên, địa chỉ, điện thoại, fax của cơ quan công tác. Địa chỉ bệnh nhân và cơ quan chỉ quản lý: Số nhà(thôn, âp), Xã (Phường), Huyện (Quận), Tỉnh (Thành Phố). Quy trình khám chũa bệnh: Bệnh nhân đến viện để khám chữa bệnh (vì đây là bệnh viên đa khoa) nên có các trường hợp sau: - Bệnh nhân đến để khám chữa các bệnh thông thường. - Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tục nhập viện được tiến hành sau).
- - Bệnh nhân la sản phụ (được đưa trực tiếp đến khoa sản). Nhìn chung bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trình sau: Bước 1: Bệnh nhân đến nơi tiếp nhận bệnh nhân (nơi cấp sổ) để xác lập việc khám bệnh và được chỉ định một vị trí khám bệnh. Bước 2: Bệnh nhân được một bác sĩ khám bệnh. Bước 3: Sau khi khám bệnh xong bệnh nhân thuộc một trong hai loại: Điều trị tại nhà hay nhập viện. Bước 3.1: Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một toa thuốc trên đó ghi đầy đủ tên thuốc, số lượng và cách dùng. Nếu bệnh nhân có thẻ bảo hiểm y tế thì đến nơi cấp thuốc bảo hiểm y tế để nhận thuốc và trả một phần giá thuốc theo quy định phần trăm trên thẻ bảo hiểm. Ngược lai thì bệnh nhân phải trả tất cả các chi phí khám bệnh và tự mua thuốc. Bước 3.2: Nếu bệnh nhân phải nhập viện thì bác sĩ khám bệnh cho một lệnh nhập viện trên đó có ghi đầy đủ thông tin về bệnh nhân, căn bệnh dự đoán và đưa đến khoa điều trị. Bước 4: Tại khoa điều trị bệnh nhân xẽ được chuẩn đoán và lập một bệnh án chi tiết. Trên bệnh án ghi đầy đủ thông tin về bệnh nhân va căn bệnh mà bệnh nhân mắc phải. Quá trình điều trị bệnh nhân được ghi đầy đủ trên bệnh án. Trong một khoảng thời gian quy định tuỳ theo bệnh nhân, bệnh nhân được một bác sĩ khám, cho một toa thuốc. Trên toa thuốc ghi đầy đủ số lượng và cách dùng. Trong quá trình điều trị bệnh nhân có thể dùng một số dịch vụ khám chữa bệnh như: Xét nghiệm, X_qang, siêu âm, Việc sử dụng này cũng theo chỉ định của bác sĩ khám chữa bệnh. Mỗi dịch vụ co giá riêng. Khi bệnh nhân điều trị có thể lựa chọn loại phòng nằm điều trị với giá dịch vụ riệng cho mỗi phòng. Bước 5: Thanh toán viện phí: Trong quá trình điều trị cứ 3 ngày bệnh viện yêu cầu bệnh nhân thanh toán viện phí một lần. Nếu bệnh nhân có thẻ bảo hiểm y tế thì chỉ đóng phần trăm viện phí theo bảo hiểm bao gồm tiền thuốc và các dịch vụ chữa trị hỗ trợ khám bệnh. Riêng tiền phòng nếu có thẻ bảo hiểm y tế thì bệnh nhân cũng chỉ được bảo hiểm y tế thanh toán loại theo giá quy định của bảo hiểm y tế về loại phòng đó nếu có. Khin xuất viện bệnh nhân thanh toán toàn bộ viện phí còn lại. Trong quá trình điều trị, nếu có bệnh nhân trốn viện, không thanh toán viện phí, bệnh viện lưu lại tất cả các thông tin về bệnh nhân trốn viện. Nếu sau 3 ngày điều trị mà bệnh nhân không đóng viện phí thì buộc bệnh viện phải trả bệnh nhân về gia đình tự điều trị Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán viện phí với bảo hiểm y tế.
- Chương III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN III.1 MÔ HÌNH QUAN NIỆM DỮ LIỆU CHUYÊN MÔN CHỨC VỤ TỈNH ĐƠN VỊ(K) Mã CM Mã ĐV Mã Tỉnh Mã ĐV (1,n) Tên CM Tên ĐV Tên Tỉnh Tên ĐV (1,n) (1,n) H-T NV-CM NV-CV (1,n) (1,1) (1,1 (1,1) HUYỆN NV-ĐV NHÂN VIÊN VỊ TRÍ KB Mã Huyện - Mã nhân viên BỆNH Mã VTKB Tên Huyện (1,1) - Họ tên nhân viên Mã Bệnh Tên VTKB Tên Bệnh (1.n) - Ngay sinh - Giới tính (1.n) - Số nhà (1.n) X-H - Điện thoại K-BỆNH (1.n) - Ngày KB - Nội dung XÃ (1,1) (1,1) - Chi phí Mã Xã Tên Xã (1.n) ĐỊA CHỈ (1,1) (1.n) (1,1) ĐƠN THUỐC (1.n) BN-X (1,1) BỆNH NHÂN - Mã ĐT - Mã BN BỆNH ÁN - Ngày kê đơn BHY T Ế - Họ BN - Mã BA - Số TBHYT - Tên BN - Ngày vào (1.n) - Ngày bắt đầu - Ngày sinh BN - Ngày ra - Ngày K thúc - Giới tính DÙNG THUỐC CƠ QUAN - Số lượng dùng - Phần trăm - Số nhà - Mã CQ - Liều dùng - Tên CQ (1.n) - ĐT.CQ (1.n) DÙNG DV - Fax CQ (1.n) BN-TƯ - Lần dùng CÁN BỘ (1.1) TẠM ỨNG DỊCH VỤ THUỐC BỘ (1.1) NƠI ĐIỀU TRỊ (1.1) (1.n) - Mã T.Ứng - Mã DV - Mã T - Lần T.Ứng - Mã NĐT (1.n) - Tên T - Tênh DV CB-CQ - Số tiền - Tên NĐT - Đơn giá - Đơn giá - Ngày T.Ứng - Đơn giá III.2 MÔ HINH TỔ CHỨC DỮ LIỆU TỈNH(Mã tỉnh, Tên tỉnh) HUYỆN(Mã huyện, Tên huyện, Mã tỉnh) XÃ(Mã xã, Tên xã, Mã huyện)
- CƠ QUAN(Mã cơ quan, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan) CÁN BỘ(Mã bệnh nhân, Mã cơ quan) BẢO H.Y.TẾ(Mã bệnh nhân, Số thẻ B.H.Y.T, Ngày bắt đầu, Ngày kết thúc, Phần trăm) BỆNG NHÂN(Mã bệnh nhân, HọBN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà BN, Mã xã) NHÂN VIÊN(Mã nhân viên, Họ NV, Tên NV, Ngày sinh, Giới tính, Số nhà, Mã xã, Mã.Đ.Vị, , Mã.C.Môn, Mã.C.Vụ) ĐƠN VỊ KHOA(Mã ĐV, Tên ĐV) CHUYÊN MÔN(Mã chuyên môn, Tên chuyên môn) CHỨC VỤ( Mã chức vụ, Tên chức vụ) VỊ TRÍ KHÁM BỆNH(Mã vị trí KB, Tên vị trí KB) KHÁM BỆNH(Mã.N.V, Mã bệnh nhân, Mã vị trí, Mã đơn thuốc, Mã bệnh, Ngày KB, Nội dung KB, Chi phi KB) ĐƠN THUỐC(Mã đơn thuốc, Ngày kê đơn, Mã vị trí, Mã NV, Mã BN, Mã bệnh) THUỐC(Mã thuốc, Tên thuốc, Đơn giá) DUNG THUỐC(Mã thuốc, Mãđơn thuốc, Số lượng dùng, Liều dùng) BỆNH (Mã bệnh, Tên bệnh) NƠI DIỀU TRỊ(Mã nơi ĐT, Tên nơi ĐT, Đơn giá) DỊCH VỤ(Mã dịch vụ, Tên dịch vụ, Đơn giá dịch vụ) TẠM ỨNG VIỆN PHÍ(Mã phiếu T.Ư, Lần tạm ứng, Số tiền tạm ứng, Mã BN) Đối với bệnh án của bệnh nhân nếu sử dụng theo mô hình quan niệm dữ liệu thì xẽ phải sử dụng nhiều mã tổ hợp cho Table Bênh án nên để đơn giản trong xử lí cũng như giảm việc sử dụng mã tổ hợp trong Table Dùng dịch vụ chúng tôi đã chọn phương pháp thiết kế như sau: BỆNH ÁN(Mã bệnh án, Ngày vào, Ngày ra, Mã bệnh nhân, Mã nhân viên, Mã Bệnh, Mã Nơi Điều trị) DÙNG DỊCH VỤ(Mã bệnh án, Mã dịch vụ, Lần dùng dịch vụ) III.3 MÔ HÌNH TỔ CHỨC DỮ LIỆU TỈNH(Mã tỉnh, Tên tỉnh) TỈNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã tỉnh Text 3 Len()=3 Tên tỉnh Text 30 HUYỆN(Mã huyện, Tên huyện, Má tỉnh) HUYỆN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã huyện Text 6 Len()=6 Tên huyện Text 30 Mã tỉnh Text 3 Lookup(TỈNH) XÃ(Mã xã, Ten xã, Mã huyện) Xã Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã xã Text 9 Len()=9 Tên xã Text 30 Mã huyện Text 6 Lookup(HUYỆN) CƠ QUAN(Mã cơ quan, Tên cơ quan, Điện thoại cơ quan, Fax cơ quan)
- CƠ QUAN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã cơ quan Text 5 Len()= 5 Tên cơ quan Text 30 Điện thoại CQ Text 10 >0 Fax cơ quan Text 10 Len()=10 CÁN BỘ(Mã bệnh nhân, Mã cơ quan) CÁN BỘ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh nhân Text 5 Len()= 5 Mã cơ quan Text 3 Lookup(CƠ QUAN) BẢO H.Y.TẾ(Mã bệnh nhân, Số thẻ B.H.Y.T, Ngày bắt đầu, Ngày kết thúc, Phần trăm) BẢO H.Y.TẾ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN) Số thẻ B.H.Y.T Text 14 Len()=14 Ngày bắt đầu Date Date()> Ngày kết thúc Date Date()> Phần trăm Text 3 BỆNG NHÂN(Mã bệnh nhân, HọBN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà BN, Mã xa) BỆNG NHÂN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh nhân Text 5 Len()=5 Họ bệnh nhân Text 20 Tên bệnh nhân Text 20 Ngày sinh BN Date Date()> Giới tính Yes/No Số nhà bệnh nhân Text 4 Mã xã Text 9 Lookup(XÃ) NHÂN VIÊN(Mã nhân viên, Họ NV, Tên NV, Ngày sinh, Giới tính, Số nhà, Mã xã, Mã.Đ.Vị, Mã.C.Môn, Mã.C.Vụ) NHÂN VIÊN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã nhân viên Text 5 Len()=5 Họ tên nhân viên Text 30 Ngày sinh Date Date()> Giới tính Yes/No Số nhà Text 4 Mã xã Text 9 Lookup(XÃ) Mã đơn vị Text 5 Lookup(ĐƠN VỊ) Mã chuyên môn Text 3 Lookup(CHUYÊN MÔN) Mã chức vụ Text 3 Lookup(CHỨC VỤ) ĐƠN VỊ KHOA(Mã ĐV, Tên ĐV) ĐƠN VỊ KHOA Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã dơn vị Text 5 Len()=5
- Tên đơn vị Text 30 CHUYÊN MÔN(Mã chuyên môn, Tên chuyên môn) CHUYÊN MÔN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã chuyên môn Text 3 Len()=3 Tên chuyên môn Text 30 CHỨC VỤ( Mã chức vụ, Tên chức vụ) CHỨC VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã chức vụ Text 3 Len()=3 Tên chức vụ Text 30 VỊ TRÍ KHÁM BỆNH(Mã vị trí KB, Tên vị trí KB) VỊ TRÍ KHÁM BỆNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã vị trí KB Text 3 Len()=3 Tên vị trí KB Text 30 BỆNH(Mã bệnh, Tên bệnh) BỆNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh Text 8 Len()=3 Tên bệnh Text 30 KHÁM BỆNH(Mã.N.V, Mã bệnh nhân, Mã đơn thuốc, Mã bệnh, Mã vị trí, Ngày khám bệnh, Nội dung KB, Chi phi KB) KHÁM BỆNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã nhân viên Text 5 Lookup(NHÂN VIÊN) Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN) Mã đơn thuốc Text 10 Lookup(ĐƠN THUỐC) Mã bệnh Text 8 Lookup(BỆNH) Mã vị trí Text 3 Lookup(VỈ TRÍ) Ngày khám bệnh Date >Date() Nội dung khám bệnh Text 50 Chi phí khám bệnh Number Long >0 THUỐC(Mã thuốc, Tên thuốc) THUỐC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã thuốc Text 10 Tên thuốc Text 30 DUNG THUỐC(Mã thuốc, Mãđơn thuốc, Số lượng dùng, Liều dùng) DUNG THUỐC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã thuốc Text 10 Lookup(THUỐC) Mã đơn thuốc Text 10 Lookup(ĐƠN THUỐC) Số lượng dùng Number Integer >0 Liều dùng Number Long >0 ĐƠN THUỐC(Mã đơn thuốc, Ngày kê đơn, Mã vị trí, Mã NV, Mã BN Mã bệnh) Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc
- Mã đơn thuốc Text 10 Len()=10 Ngày kê đơn Date >Date() Mã bệnh nhân Text 8 Lookup(BÊNH NHÂN) Mã vị trí Text 3 Lookup(VỊ TRÍ) Mã nhân viên Text 5 Lookup(NHÂN VIÊN) Mã bệnh Text 8 Lookup(BỆNH) BỆNH ÁN(Mã bệnh án, Ngày vào, Ngày ra, Mã bệnh nhân, Mã nhân viên, Mã Bệnh, Mã Nơi Điều trị) BỆNH ÁN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh án Text 8 Len()=8 Mã nơi điều trị Text 3 Lookup(NƠI ĐT) Mã bệnh Text 3 Lookup(DỊCH VỤ) Mã bệnh nhân Text 5 Lookup(BỆNH NHÂN) Mã nhân viên Text 5 Lookup(NHÂN VIÊN) Ngày vào Date >Date() Ngày ra Date >Date() NƠI DIỀU TRỊ(Mã nơi ĐT, Tên nơi ĐT) NƠI DIỀU TRỊ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã nơi điều trị Text 3 Len()=3 Tên nơi điều trị Text 30 DỊCH VỤ(Mã dịch vụ, Tên dịch vụ) DỊCH VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã dịch vụ Text 3 Len()=3 Tên dịch vụ Text 30 Đơn giá dich vụ Money > 0 DÙNG DỊCH VỤ(Mã bệnh án, Mã dịch vụ, Lần dùng dịch vụ) DÙNG DỊCH VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã bệnh án Text 8 Lookup(BỆNH ÁN) Mã dịch vụ Text 3 Lookup(DICH VỤ) Tên dịch vụ Text 30 TẠM ỨNG VIỆN PHÍ(Mã phiếu T.Ư, Lần tạm ứng, Số tiền tạm ứng, Mã BN) TẠM ỨNG VIỆN PHÍ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc Mã phiếu tạm ứng Text 8 Lookup(BỆNH ÁN) Lần tạm ứng Int Số tiền tạm ứn Money > 0 Mã bệnh nhân Text 10 Lookup(BỆNH NHÂN)
- III.4 MÔ HÌNH THÔNG LƯỢNG THÔNG TIN PHÒNG (11) CẤP SỐ (1) (2) PHÒNG KHÁM (5) (3) BỆNH KHOA (4) ĐIỀU BỆ NH NHÂN TRỊ (6) (6) PHÒNG CẤP (8) THUỐC (10) (9) PHÒNG TÀI VỤ (7) (1) Yêu cầu khám chữa bệnh (2) Vị trí khám bệnh (Số được cập) (3) Quá trình khám bệnh (4) Kết quả khám bệnh (5) Danh sách bệnh nhân nhập viện (6) Danh sách bệnh nhân được cấp thuốc (7) Lệnh nhập viện (8) Các chi phí điều trị (9) Xác nhận thanh toán viện phí (10) Danh sách bệnh nhân đã thanh toán (11) Giấy xuất viện III.5 MÔ HÌNH QUAN NIỆM XỬ LÍ Mô hình quan niệm: Danh sách công việc: STT Danh sách các công việc của bài toán 1 Tiếp nhận yêu cầu khám chữa bệnh của bệnh nhân. 2 Cấp số cho bệnh nhân đến phòng khám bệnh
- 3 Chỉ định bác sĩ khám bệnh cho bệnh nhân theo số đã cấp 4 Kết quả khám bệnh cho bệnh nhân 5 Ghi toa thuốc cho bệnh nhân 6 Cấp thuốc cho bệnh nhân 7 Thu phí khám bệnh 8 Cho giấy nhập viện 9 Tiếp nhận bệnh nhân đến điều trị 10 Lập bệnh án chi tiết cho bệnh nhân 11 Lập toa thuốc điều trị 12 Cung cấp các dịch vụ hỗ trợ khám chữa bệnh 13 Thu viện phí 14 Lập danh sách bệnh nhân trốn viện 15 Xem xét các trường hợp bệnh nhân không thanh toán viện phí 16 Cấp giấi xuất viện cho bệnh nhân III.6 MÔ HÌNH QUAN NIỆM XỬ LÍ:
- Khi bệnh nhân Khi bệnh nhân đến khám bệnh cấp cứu đặc biệt OR TIẾP NHẬN YÊU CẦU KHÁM CHỮA BỆNH CỦA BỆNH NHÂN YES CẤP SỐ CHO BỆNH NHÂN YES Danh sách bệnh nhân đã cấp số BS KHÁM BỆNH CHO BN YES Hồ sơ bệnh án PHÂN LOẠI BN YES NO (1) (2)
- (1) (2) Bệnh nhân cần Bệnh nhân chỉ phải nhập viện định ĐT tại nhà THU PHÍ KHÁM BỆNH YES CẤP GIẤY NHẬP VIỆN YES NO DS bệnh nhân có DS bệnh nhân giấy nhập viện điều trị tại nhà TIẾP NHẬN BN LẬP ĐƠN THUỐC ĐẾN CHỮA BỆNH CHO BỆNH NHÂN YES YES DS bệnh nhân DS bệnh nhân đã chữa bệnh có đơn thuốc LẬP BỆNH CẤP THUỐC CHO ÁN CHI TIẾT BỆNH NHÂN YES YES (4) (3)
- (3) (4) DSDS b bệệnhnh nhân nhân đã DSDS hhồ ssơ bbệnhnh ánán ồ ơ ệ được cấp thuốc LẬP TOA THUỐC THEO BỆNH ÁN YES DS bệnh nhân đã có bệnh án CUNG CẤP CÁC DV HỖ TRỢ ĐIỀU TRỊ YES DS bệnh nhân đang điều trị THU VIỆN PHÍ YES NO DSBN đã thanh DSBN chưa toán viện phí đóng viện phí (5) (6)
- (5) (6) CẤP GIẤY XUẤT LẬP DS TRÌNH LÃNH VIỆN CHO BN ĐẠO XEM XÉT YES YES Bệnh nhân đã Bệnh nhân xuất viện trốn viện III.5 MÔ HÌNH TỔ CHỨC XỬ LÍ 1. Bảng công việc STT TÊN CÔNG VIỆC NƠI THỰC HIỆN PHƯƠNG TẦN SUẤT CHU KỲ THỨC 1 Đăng ký khám Phòng ghi số Thủ công Bất kỳ lúc nào khi Hàng chữa bệnh có YC trong ngày ngày 2 Cấp số cho Phòng ghi số Thủ công Khi có BNYC Hàng bệnh nhân trong ngày ngày 3 Chỉ định bác sĩ Phòng cấp số Thủ công Khi có BNYC Hàng khám bệnh cho trong ngày ngày bệnh nhân 4 Khám bệnh cho BS chuyên Thủ công Khi BN đã có số Hàng bệnh nhân khoa KCB trong ngày ngày 5 Kết quả khám Phòng Thủ công Khi có BNKCB Hàng bệnh của BN (khoa) của trong ngày ngày BSKB 6 Lập toa thuốc Bác sĩ KB Thủ công Khi có BNKCB Hàng cho BN trong ngày ngày 7 Cấp thuốc cho Phòng cấp Thủ công Khi bệnh nhân đã Hàng bệnh nhân thuốc có toa thuốc ngáy 8 Thu phí KB Phòng thanh Tự động Khi có BNKCB Hàng toán V.phí trong ngày ngày 9 Lập lệnh nhập Bác sĩ khám Thủ công Khi có BNKCB Hàng viện (với BN bệnh trong ngày ngày nhập viện) 10 Tiếp nhận BN Khoa điều trị Thủ công Khi co lệnh nhập Hàng đến chữa bệnh viện trong ngày ngày 11 Lập bệnh án chi Bác sĩ Thủ công Khi có BN nhập Hàng
- tiết cho BN chuyên khoa viện trong ngày ngày 12 Điều trị cho Bác sĩ Thủ công + Khi có BN nhập Hàng Bệnh nhân chuyên khoa tự động viện trong ngày ngày 13 Cung cấp các Phòng KCB Thủ công Khi có bệnh nhân Hàng DV hỗ trợ điều yêu cầu trong ngày trị bệnh ngày 14 Thu tạm ứng Phòng TTVP Tự động 3 ngày/lần 3 ngày viện phí của bệnh nhân 15 Thanh toán Phòng TTVP Tự động 3 ngày/lần 3 ngày viện phí 16 Thanh toán Phòng thanh Tự động Khi BNKVB Khi BN toàn bộ VPXV toán viện phí xong/lần điều trị xong hoàn toàn 17 Lập DS bệnh Khoa Thủ công Khi bệnh nhân Khi có nhân trốn viện, (phòng) điều trốn viện bệnh không thanh trị cho bệnh nhân toán viện phí nhân trốn viện đầy đủ 18 Thanh toán tiền Phòng thanh Thủ công 1 lần/ tháng 1 tháng viện phí với toán viện phí BHYT 2. Mô hình tổ chức xử lí: BỆNH PHÒNG KHOA PHÒNG BAC SĨ PHÒNG BAN NHÂN CẤP SỐ (P) KCB CẤP KCB TTVP LÃNH THUỐC ĐẠO Hàng ngày Khi có khi có BN yêu cầu yêu cầu KCB KCB của BN CẤP SỐ CHO BN YES DSBN đã được cấp số
- (1) KẾT QUẢ KB -BN YES NO DSBN DSBN phải điều trị nhập tại nhà viện LẬP THU PHÍ LỆNH NV KB YES YES DSBN có lệnh NV DSBN đã thu phí TIẾP LẬP ĐƠN NHẬN THUỐC BNNV YES YES DSBN đã có đơn DSBN đã thuốc nhập vi ện CẤP THUỐC CHO BN YES DSBN đã (2) nhập viện
- (2) LẬP BA CHO BN YES DSBN đã có BA ĐT CHO BN YES DSBN đang ĐT t ại bệnh vi ện CUNG CẤP CÁC DVHTDTB CHO BN YES DSBN đang điều trị TTVP CUA BN YES NO DSBN trố n DSBN đã TT viện đầy đủ VP (3) (4)
- (3) (4) LẬP DSBN CHƯA TTĐĐVP YES DSBN chưa TTĐĐ VP CẤP GIẤY X.VIỆN YES LÃNH ĐẠO XEM XÉT YES DSBN đã xuất viện DSBN tự xuất viện Sau khi tổng kết Mỗi tháng BN_SD_TBHYT một lần THANH TOÁN VP VỚI BHYT YES DSVP của BN có BHYT đã TT với BHHYT
- III.7 MÔ HÌNH VẬT LÝ XỬ LÝ Mô hình tổng thể HỆ THỐNG BỆNH NHÂN NHÂN VIÊN QUẢN TRỊ VIÊN BỆNH NHÂN Thông Đăng Xem Xem hồ Xem chi Xem tin cần nhập hệ thông sơ bệnh phí điều đơn biết thống tin về án trị thuốc và bệnh cách nhân dùng NHÂN VIÊN Đăng Thay Tạo mới Lập Tạo sửa Lập giấy nhập hệ đổi mật thay đổi DSBN đổi bệnh xuất thống khẩu đơn trốn án của viện cho thuốc viện BN BN QUẢN TRỊ VIÊN Đăng Thay Thông Hệ quản Báo cáo nhập hệ đổi mật tin lý in ấn hồ thống khẩu chung sơ
- THÔNG TIN CHUNG Thông tin về Thông tin về Thông tin về liên tịch bệnh số khoa điều danh sách các viện trị hiện có tại trưởng khoa bệnh viện tại bệnh viện BÁO CÁO – IN ẤN HỒ SƠ Danh sách Danh sách In toa thuốc, bệnh nhân nhân viên bệnh án bệnh nhập viện bệnh viện nhân HỆ THỐNG QUẢN LÝ Quản lý Quản lý Quản lý Từ điển Từ điển hồ sơ hồ sơ bệnh án thông tin về thông bệnh nhân viên bệnh tin bệnh nhân nhân viện DANH MỤC TỪ ĐIỂN ĐỊA CHỈ Thêm Thêm, Thêm Thêm, Thêm Thêm, dữ liệu Sửa, thông Xoá Sưa thông Sửa, Xã- Xóa tin về thông tin về Xoá Phường thông Quận- tin về Tỉnh- thông mới tin Xã- Huyện Quận- Thành tin về Phường Huyện Tỉnh- Thành
- DANH MỤC TỪ ĐIỂN TT BỆNH VIỆN Thêm Thêm, Thêm Thêm, Thêm Thêm, Thêm Thêm thông Xóa, thông Sửa, thông Sửa, thông Sửa tin về Sửa tin về Xoa tin về Xoá tin về Xoá khoa thông dịch thông nơi thông thuốc thông điều trị tin về vụ mới tin về khám tin về mới tin về mới khoa dịch vụ bệnh nơi thuốc điều trị mới khám bệnh QUẢN LÝ NHÂN VIÊN Thêm Thêm, Thêm Thêm, Thêm Thêm, thông Xóa, thông Xoá, thông Xoá, tin về Sửa tin về Sửa tin về Sửa hồ sơ thông đơn vị thông quá thông nhân tin về công tin về trình tin về viên hồ sơ tác đơn vị công quá mới nhân mới công tác trình viên tác mới CT QUẢN LÝ BỆNH NHÂN Thêm Thêm, Thêm Thêm, Thêm Thêm, Thêm Thêm thông Xóa, thông Sửa, thông Sửa, thông Xoá, tin về Sửa tin về Xoa tin về Xoá tin về Sửa hồ sơ thông bảo thông cơ thông tạm thông bệnh tin hồ hiểm y tin bảo quan tin CQ ứng tin về nhân sơ tế mới hiểm y công công mới tạm mới bệnh tế tác BN tác BN ứng nhân
- Chương IV: THỰC HIỆN CÀI ĐẶT CHƯƠNG TRÌNH IV.1. CÁCH KẾT NỐI DỮ LIỆU Trong chưng trình chúng tôi xử dụng mô hình ADO (ActiveX Data Object) trong Visual Basic để kết nối với cơ sở dữ liệu, mô hình nay cung cấp hầu hết các công cụ kết nối với cơ sở dữ liệu. ADO Interface: Các đối tượng ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể đượng sử dụng với bất kỳ loại database nào nếu như ODBC driver hỗ trợ. Cách kết nối với cơ sở dữ liệu: Như phần tổng quan ngôn ngữ ta đã nói để ADO hoạt động được với cơ sở dữ liệu (hay để ứng dụng có thể móc nối được với cơ sở dữ liệu) ta phải viết mã lệnh cho ADODB kết nối với cơ sở dữ liệu. Cụ thể để ADODB kết nối với cơ sở dữ liệu BENHNHAN ta viết mã lệnh như sau: Public cn As ADODB.Connection Public Sub OpenConnection() ' Tao ket noi den nguon co so du lieu Set cn = New ADODB.Connection cn.Provider = "SQLOLEDB.1;" cn.ConnectionString = " Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BENHNHAN" cn.Open End Sub Ơ đây chúng ta khai báo biến toàn cục cấp modules CN có kiểu đối tượng ADODB.Connection tức đối tượng này dùng để kết nối với cơ sở dữ liệu và có thể dùng ơ mọi Form trong chương trình. IV.2. CÁC PHƯƠNG THỨC ĐỐI TƯỢNG ADODB - Open method: Đựơc sử dụng để mở một liên kết với database. Ngay sau khi tạo instance cho connection Object ta có thể mở một kết nối với Data Soure để truy xuất dữ liệu. - Execute method: Cho phép thực thi một câu lệnh tác động lên data soure. Trong đó CommandText là chuỗi lệnh cần thức hiện, thông qua tham số option các giá trị khác nhau quy định loại CommandText. Giá trị Danh hiệu hằng tương ứng Loại của CommandText 0 AdCmdUnknown Mặc định khi định nghĩa 1 AdCmdText Là một câu lêngh, VD: câu lệnh SQL 2 AdCmdTable Tên của Table mà ta sẽ tạo Recordset 3 AdCmdStoreProc Một Store procedure trong Data soure Thông thường các giá trị trên được gắn sẵn vào các danh hiệu hằng và được lưu trữ trong file include có tên adovbs.inc. Trong chương trình chúng tôi sử dụng giá trị mặc định tức giá trị là: adCmdUnknown
- - Close method: Phương thức này dùng để đóng các kết nối được chỉ ra sau câu lênh. Ta cũng có thể set biến đối tượng này về Nothing Ngoài ra Visual Basic còn cung cấp một dich vụ kết nối dữ liệu bằng Data Environment rất tiện lợi đây cũng là một dạng kết nối ADO rất dễ sử dụng cũng như tạo kết nối tất cả đều được thức hiện qua giao diện đồ hoạ. Trong Data Environment có thể lưu trữ các bảng (Table), các Stored Procedure cũng như các hàm hay các View khác. IV.3. MỘT SỐ ĐOẠN CHƯƠNG TRÌNH TRONG BÀI SỬ DỤNG CÁC PHƯƠNG THỨC TRÊN. Để hiển thị dư liệu đã có trên table ta có đoạn mã lệnh sau: Private Sub Display_Listview() Dim rs As New ADODB.Recordset Dim Str Dim mItem As listItem listItem.ListItems.Clear Str = "select * from tblTinh order by Matinh asc" Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str If rs.EOF = False Then While Not rs.EOF Set mItem = listItem.ListItems.Add(, , rs!MaTinh) mItem.SubItems(1) = rs!TenTinh rs.MoveNext Wend End If End Sub Ơ đây ListItem là đối tượng Listview có chức năng hiển thị dữ liệu, trong đoạn chương trình trên ta sử dụng phương thức (Set rs = cn.Execute(Str)) để thực hiện một câu truy vấn (Câu truy vấn trả về một Record là thông tin của table tỉnh)kết quả trả về từ câu truy vấn này được gán cho rs và được hiển thị trên Listview. Để thêm mới một tỉnh (thành) ta có mã lệnh sau DE.Sp_NhapTinh MaTinh, TenTinh Trong đó DE là đối tượng Data Environment mà ta đã nói ở trên còn SP_NhapTinh là các hàm (hay các Stored Procedure) đã được viết và lưu trong cơ sở dữ liệu, câu lệnh truy vấn tạo mới một tỉnh như sau: Create proc Sp_NhapTinh @MaTinh nchar(3), MaTinh và TenTinh là các tham số dầu vào của @TenTinh char(30) Stored Procedure AS Insert Into tblTINH ( MaTinh, TenTinh ) Values ( @MaTinh,@TenTinh
- ) GO Tương tự với phương Stored Procedure sửa tên tỉnh Với việc xoá một tỉnh có khác chút ít việc xoá một tỉnh có liên quan đến các ràng buộc toàn vẹn. Việc xoá một tỉnh không chỉ xóa đi tỉnh đó, việc này phải đi kém với việc xoá tất cả các huyện cũng như các xa thuộc tỉnh ngoài ra ta còn phải xoá tất các các bệnh nhân và nhân viên (cùng giấy tờ kèm theo) thuộc tỉnh cần xoá. Mã lệnh có dạng như sau: Thủ tục dùng để xoá một tỉnh CREATE PROCEDURE Sp_XoaTinh @Matinh nchar(3), ‘Tham số đầu vào của Stored Procedure @TenTinh char(30) AS Xoá khám bệnh úng với bệnh nhân thuộc tỉnh DELETE From tblKhamBenh Where tblKhamBenh.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá khám bệnh úng với nhân viên thuộc tỉnh DELETE From tblkhamBenh Where tblKhamBenh.MaNhanVien in ( Select MaNhanVien From TblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xóa dùng thuốc ứng với đơn thuốc của bệnh nhân DELETE From tblDungThuoc Where tblDungThuoc.MaDonThuoc in (Select MaDonThuoc From tblDonThuoc Where tblDonThuoc.MaBenhNhan in (Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen
- Where tblHuyen.MaTinh=@MaTinh)))) Xoá đơn thuốc của bệnh nhân thuộc tỉnh DELETE From tblDonThuoc Where tblDonThuoc.MaBenhNhan in (Select MabenhNhan From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá tạm ứng của bệnh nhân thuộc tỉnh DELETE From tblTamUng Where tblTamUng.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá bệnh án của bệnh nhân DELETE From tblBenhAn Where tblBenhAn.MaBenhNhan in ( Select MaBenhNhan From TblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá các bệnh nhân thuộc tỉnh DELETE From tblBenhNhan Where tblBenhNhan.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) Xoá dùng thuốc mà nhân viên thuộc tỉnh lập DELETE From tblDungThuoc Where tblDungThuoc.MaDonThuoc in (Select MaDonThuoc From tblDonThuoc Where tblDonThuoc.MaNhanVien in
- (Select MaNhanVien From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)))) Xoá đơn thuốc mà nhân viên lập DELETE From tblDonThuoc Where tblDonThuoc.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) Xoá bệnh án mà nhân viên lập DELETE From tblBenhAn Where tblBenhAn.MaNhanVien in ( Select MaNhanVien From TblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) ) Xoá tất cả nhân viên thuộc tỉnh DELETE From tblNhanVien Where tblNhanVien.maXa in (Select MaXa From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) Xoá tất cả các xã thuộc tỉnh DELETE From tblXa Where tblXa.MaHuyen in (Select MaHuyen From tblHuyen Where tblHuyen.MaTinh = @Matinh) Xoá tất cả các huyện thuộc tỉnh DELETE From tblHuyen Where tblHuyen.Matinh = @Matinh Xoá tỉnh có mã tỉnh được chỉ ra
- DELETE From tblTinh Where MaTinh=@Matinh GO Đối với các thủ tục xoá một huyện cũng nhaư một xã ta cũng phải đi xó tất cả các bệnh nhân và nhân viên trực thuộc địa danh đó. Trong qúa trình trình bày dữ liệu chúng tôi đã sử dụng một số View để kết nối bảng ví dụ với View địa chỉ như sau: CREATE VIEW dbo.vwDiaChi AS SELECT dbo.tblTINH.TenTinh, dbo.tblHUYEN.TenHuyen, dbo.tblXA.TenXa, dbo.tblXA.Maxa FROM dbo.tblHUYEN INNER JOIN dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh INNER JOIN dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen Để tìm kiếm một bệnh nhân chúng tôi sử dụng một hàm tìm kiếm hàm này trả về một table các tiêu chí tìm kiếm được chỉ ra bằng các tham số đầu vào của hàm. Ví dụ về một hàm tìm kiếm bệnh nhân theo họ và tên đầy đủ trong chương trình. CREATE FUNCTION udf_TimBenhNhanTheoHoTen (@HoBenhNhan Char(20), @TenBenhNhan char(20)) RETURNS Table AS Return Select * From tblBenhNhan Where (tblBenhNhan.HoBenhNhan= @HoBenhNhan) and (tblBenhNhan.TenBenhNhan= @TenBenhNhan) GO Trọng đoạn chương trình trên việc tìm một bệnh nhân là khá đơn giản. Giả sử ta nhớ đầy đủ họ và tên đầy đủ của bệnh nhân ta có thể tìm theo phương pháp trên. Song nếu chỉ nhớ được họ hoặc tên của bệnh nhân thi ta cũng có thể tìm được bệnh nhân bằng các hàm tìm theo họ, theo tên bệnh nhân, trong chương trình còn sử dụng một số hàm khác mà chúng tôi không tiện trình bày trong báo cáo này. Thoạt tiên ta có cảm giác một hàm (Function) hơi giống với một View song với View thì không có dữ liệu đầu vào còn với hàm thì ngược lại. Rõ ràng để truy xuất dữ liệu với hàm là linh hoạt hơn với View rất nhiều.
- chương V: MỘT SỐ FORM CHÍNH CỦA CHƯƠNG TRÌNH - Form Chính, khi chạy chương trình thì Form này được gọi đầu tiên và từ đây ta có thể gọi và thực hiện tất cả các Form khác Form chính của chương trình
- - Form thông tin bệnh nhân: ở Form này ta có thể xem, sửa, xóa thậm chí có thể thêm mới thông tin về bệnh nhân. Ngoài ra Form này cò có thể tạo mới cũng như xem chi tiết một bệnh án cũng như bảo hiểm y tế. - Form hồ sơ nhân viên tại đây ta có thể thêm mới hoặc sửa, xoá thông tin về nhân viên
- - Form tim kiếm bệnh nhân. Ơ đây chúng ta có thể tìm kiếm bệnh nhân theo những tiêu chí được chỉ ra ví dụ: tim bênh nhân theo họ, theo tên, theo họ tên đầy đủ hoặc theo địa chỉ ở đây ta cũng có thể in thông tin bệnh nhân đó ra giấy. - Form Thống kê bênh nhân tương tự Form tìm kiếm song ở đây chỉ thống kê số bệnh nhân theo bệnh, theo độ tuổi cung như Form tìm kiếm Form này cũng có thể in báo biểu được
- Ngoài ra trong chương trình còn có một số Form khác chúng tôi không tiện trình bày ở đây song ở trên là một số Form chính của chương trình. Chương VI: KẾT LUẬN VÀ ĐỀ XUẤT Ý KIẾN VI.1. KẾT LUẬN Đứng trước xu hướng phát triển nhanh và mạnh của nền công nghệ thông tin thế giới cũng như công nghệ thông tin nước nhà, việc tin học hoá công việc quản lý hành chính là vô cùng quan trọng và bức thiết hiện nay. Nó xẽ giúp cho các cơ quan hành chính giải quyết những công việc một cách nhanh chóng gọn nhẹ và ít sai xót, đặc biệt là trong lĩnh vực quản lý sổ sách chứng từ. Ưng dụng cơ sở dữ liệu đã giải quyết được vấn đề bức thiết nêu trên. Trong đợt thực tập chuyên ngành này chúng tôi đã được giao đề tài quản lý bệnh nhân tại bệnh viện đa khoa tỉnh Khánh Hoà. Tuy chương trình chưa được hoàn thiện các chức năng, song nó đã cho chúng tôi thấy được vấn đề quan trọng trong việc thiết lập một cơ sở dữ liệu trong thực tế là như thế nào đặc biệt là trong lĩnh vực quản lý, với chương trình quản lý này khi hoàn thiện xẽ giúp cho nhân viên trong bệnh viện quản lý bệnh nhân cũng như quản lý nhân viên trong bệnh viện một cách nhanh chóng và hiệu quả. VI.2. HẠN CHẾ CỦA CHƯƠNG TRÌNH Do thời gian thực hiện là tương đối hạn chế so với một đề tài khá rộng và phong phú nên không thể tránh khỏi những thiếu sót nhất định. Bên cạnh đó chương trình còn một số chức năng chưa hoàn thiện và chính xác. Hơn nữa trong quá trình vữa viết chương trình và vừa tìm hiểu ngôn ngữ SQL Server nên chưa thể phát huy được hết thế mạnh của ngôn ngữ cài đặt, như trong chương trình chưa sư dụng Triggers và hầu như các Stored Procedure và các View còn khá đơn giản và hiệu quả chưa cao. VI.3. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Chưng trình quản lý bênh nhân hoàn thiện xẽ góp phần quan trọng trong việc quản lý chứng từ sổ sách về bệnh nhân tại bệnh viện. Song cần phải có sự quản lý song song giữa bệnh nhân và nhân viên trong bệnh viện. Nếu chương trình được cài đặt trên môi trường mạng hay có một trang Web của bệnh viện trên mạng Internet để giúp cho người thân của bệnh nhân có thể theo dõi việc điều trị của người thân của mình tại bệnh viện mà không nhất thiết phải đến bệnh viện. Điều quan trong nữa là đối với những bệnh nhân phải chuyển bệnh viện (ví dụ bệnh nhân cấp cứu chuyển từ Nha Trang đi Thành Phố Hồ chí Minh), trong một số trường hợp cấp bách như vậy không thể đem theo hồ sơ bệnh án ngay được thì bác sĩ nơi điều trị mới này có thể truy cập trang Web của bệnh viện mà bệnh nhân đến từ đó, để xem thông tin về bệnh nhân và đưa ra phương án điều trị hợ lý.
- TÀI LIỆU THAM KHẢO [1]. Phạm Hữu Khang(Chủ biên) Lập trình ứng dụng chuyên nghiệp SQL Server 2000 tập 1,2,3 [2]. Nguyễn Văn Hoàng và nhóm tác giả Elicom Tự học Microsoft SQL Server 7.0 [3]. TS Trần Văn Tư – Phú Thành – Thiên Trường và nhóm kỹ sư tin học ứn dụng Microsoft SQL Server 7.0 [4]. TS Đỗ Trung Tuấn Mô Hình Cơ Sở Dữ Liệu [5]. PTS Nguyễn Tiến (Dũng chủ biên) biên dịch Trần Thế San – Vũ Hữu Tường Kỹ Năng Lập Trình Visual Basic 6 [6]. Cát Văn Thành – Hạnh Nguyên Những bài thực hành cơ sở dữ liệu Visual Basic căn bản [7]. Nguyễn Thị Ngọc Mai Lập trình cơ sở dữ liệu với Visual Basic 6.0 [8]. Nguyễn Hữu Trọng Bài giảng cơ sở dữ liệu và phân tích thiết kế hệ thống thông tin quản lý [9]. Trần Thành Trai Phân tích và thiết kế hệ thống thông tin quản lý [10]. Nguyễn Đình Tê Lập trình cơ sở dữ liệu với Visual Basic trong 21 ngày tập 1,2,3