Đề tài Chương trình quản lý bệnh nhân tại bệnh viện tỉnh Khánh Hoà

CHƯƠNG TRÌNH QUẢN LÝ BỆNH NHÂN TẠI BỆNH VIỆN TỈNH KHÁNH HOÀ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.

doc65 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 4226 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Chương trình quản lý bệnh nhân tại bệnh viện tỉnh Khánh Hoà, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
inh. Nếu muốn chỉ dõ những trường nào cần lọc bạn cần nêu tên của những trường đó. SELECT * FROM tblBenhnhan WHERE tblBenhNhan.TenbenhNhan= ‘ Nguyễn văn Tuấn ‘ Ngoài những câu lệnh truy vấn trên, Trong SQL còn cung cấp một số hàm cũng như một số biểu thức toán học. 2. Nhập dữ liệu bằng phát biểu INSERT. Khi thêm mẩu tin vào trong SQL Server 2000, có nhiều cách để thực hiện công việc này. Trong Visual Basic có những phát biểu thêm mẩu tin vào bảng SQL Server, tuy nhiên để tối ưu về tốc độ hay tính chuyên nghiệp trong SQL Server, bạn cần sử dụng phát biểu INSERT. Có thể sử dụng phát biểu này trên ứng dụng kết nối với SQL Server 2000 hay có thể tạo ra một Stored Procedure với mục đích INSERT dữ liệu vào bảng chỉ định. Cú pháp của phát biểu INSERT như sau: INSERT INTO (Danh sách cột) VALUES Ví dụ: Để chèn dữ liệu vào bảng tblChucvu ta có câu lệnh truy vấn sau: INSERT INTO tblChucvu(MaCV, TenCV) VALUES(‘01’,’trưởng Phòng) 3. Phát biểu cập nhật (UPDATE) Phát biểu UPDATE dùng để cập nhật dữ liệu đã có trong bảng. Khi cập nhật dữ liệu cho một mẩu tin nào đó thường UPDATE sử dụng chung với mệnh đề WHERE. Cú pháp của mệnh đề UPDATE như sau: UPDATE FROM SET = WHERE Ví dụ muốn thay đổi tên tỉnh có mã số (‘01’) thành Bắc Giang ta dùng câu truy vấn như sau: UPDATE FROM tblTinh SET tblTinh.Tentinh = ‘Bắc Giang’ WHERE tblTinh.MaTinh = ‘01’ 4. Phát biểu xóa (DELETE) Khi thực hiện xóa mẩu tin trong bảng chúng ta chỉ cần quan tâm đến tên bảng và mệnh đề WHERE để mọc mẩu tin nếu có. Cú pháp: DELETE FROM WHERE Ví dụ : Để xóa tên tỉnh có tên là Bắc Giang ta là như sau: DELETE FROM tblTinh WHERE tblTinh.TenTinh = ‘Bắc Giang’ Trong trường hợp có ràng buộc về quan hệ dữ liệu, thì xoá mẩu tin phải tuân thủ theo nguyên tắc: Xóa mẩu tin con trước rồi mới xóa mẩu tin cha. Ngoài ra trong SQL Serverồcn có những phát biểu cho phép kết nối nhiều bảng với nhau như: JOIN, INNER JOIN, LEFT IOIN, RIGHT JOIN, FULL JOIN CROSS JOIN. Ví dụ: Để xác định địa chỉ của nhân viên ta cần xác định Tỉnh, huyện, Xã để là được điều đó ta thực hiện câu truy vấn sau: CREATE VIEW dbo.vwDiachi AS SELECT dbo.tblTinh.TenTinh,dbo.tblHuyen,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 dblHUYEN.MaHuyen = dbo.tblXA.MaHuyen. Khi đã có VIEW địa chỉ rồi ta chỉ cần gọi câu truy vấn sau là sẽ có thông tin về địa chỉ của nhân viê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. VII. 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) Khi xây dựng cơ sở dữ liệu bạn bắt đầu từ mô hình cơ sở dữ liệu ERD, hay từ một giai đoạn nào đó trong quá trình phân tích thiết kế. Để tạo cơ sở dữ liệu trên SQL Server ta dùng một trong 3 phương phát sau: Database Creation Wizard. SQL Server Enterprise Manager. Câu Lệnh CREATE DATABASE. Cú Pháp của câu lệnh CREATE DATE như sau: CREATE DATABASE [ON [ PRIMARY] ([ Name = ,] [ , SIZE = ] [ , MAXSIZE = ] [, FILEGROWTH = ] )] [ LOG ON ( [ name = , ] FileName = [ , SIZE = ] [ , MAXSIZE = ] [ , FILEGROWTH = ] ) ] [ 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ứng. SIZE: Cho biết dung lượng của cơ sở dữ liệu khi tạo chúng. 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. Nếu khi dung lượng bằng Maxsize, các chuyển tác có thể bị huỷ bỏ hay trả về lỗi không thể thực hiện được. Để tránh điều này, người quản trị phải thường xuyên theo dõi quá trình tăng dung lượng cơ sở dữ liệu theo thời gian. FILEGROWTH: Dung lượng khởi tạo cùng dung lượng tối đa cho phép tăng trong quá trình thêm dữ liệu vào cơ sở dữ liệu. LOG ON: Cho phép bạn quản lý những chuyển tác xảy ra trong quá trình sử dụng cơ sở dữ liệu của SQL Serve Dùng SQL Server Enterprise Managar để tạo một cơ sở dữ liệu mới, thực hiện các bước như sau: Khởi động SQL Server Enterprise Managar. kết nối với SQL Server. mở rộng thư mục Database như sau: Nhấn nút chuột phải vào thư mục Database hoặc vào khoảng trắng ở khung bên phải rồi chọn New Database từ menu ngữ cảnh. Đặt tên cơ sở dữ liệu. Nhấn OK để hoàn thành công việc.. 2. Tạo bảng (Table) Như với hầu hết với mọi đối tượng trong SQL Server, có hai cách để tạo bảng. Có thể dùng SQL Server Enterprise Managar hoặc có thể dùng câu lệnh SQL trực tiếp: Tạo bảng bằng SQL Server Enterprise Managar bao gồm những bước sau: Kết nối SQL Server của bạn, mở Folder cơ sở dữ liệu , rồi mở cơ sở dữ liệu muốn làm việc. Sau đó chọn Folder Tables như : Nhấn chuột phải vào khung bên phải và chọn New Table. Bạn sẽ được yêu cầu nhập tên bảng. Nhập thông tin vào các trường: Column Name, Datatype, Length, Precision…. Lưu lại công việcđã làm. Dùng câu lệnh SQL Server trực tiếp. CRETE TABLE[ Database_Name.[ owner ].Table_ name ( [[DEFAULT ] | [ IDENTITY (seed, increament) [ NOTFOR REPLICTION ] ] ] ] [ ROWGUIDCOL ] [ NULL/ NOTNULL ] [ ] [ ] ….. ) ON { / DEFAULT} ) ] Tên cột (Column Name): Đặt tên cột cũng giống như đặt tên bảng, nhưng tên cột tuân thủ một số quy tắc sau: Tên cột bắt đầu bằng trữ hoa, còn lại bằng trữ thường. Tên cột phải ngắn gọn và đầy đủ ý nghĩa. Không nên đặt tên cột có khoảng trắng. Không nên đặt tên cột trùng với những từ khóa. Nên đặt tên cột cùng tên những cột có quan hệ với bảng khác trong cơ sở dữ liệu. Kiểu dữ liệu (Data type): Kiểu dữ liệu dùng để xác định kiểu thông tin và cần bao nhiêu không gian để chứa thông tin trong cột. Giá trị mặc nhiên (Default): Thông thường khi tạo ra một cột trong bảng đôi khi chúng ta áp dụng giá trị mặc nhiên. IDENTITY: Là khái niệm cực kỳ quan trong trong SQL Server. Khi bạn muốn một cột có giá trị tăng tự động như AutoNumber, khi sử dụng Identity làm số tăng tự động thì kiểu dữ liệu là số nguyên hoặc số nguyên 4 Byte. NULL / NOT NULL: Đây là trạng thái của một cột trong bảng cho phép giá trị chấp nhận NULL hay NOT NULL. Ràng buộc (Column constrain): Ràng buộc là một số quy định 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, ràng buộc 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. Khi dữ liệu nhập vào bảng thì quá trình thực hiện ràng buộc giữa các bảng dữ liệu xảy ra nhằm kiểm tra giá trị khóa chính hay khoá phụ, các cột cho phép NULL hay NOT NULL, đồng thời kiểm tra ràng buộc dữ liệu với những bảng có quan hệ hay hai ba ngôi. 3. Tạo kịch bản (CREATING SCRÍPT) Kịch bản là tổng hợp các phát biểu SQL dùng để tạo ra cơ sở dữ liệu trong quá trình xây dựng chúng. Công cụ này tạo kịch bản cho tất cả các đối tượng của cơ sở dữ liệu với những thuộc tính căn bản. từ cửa sổ Enterprise Managar, chọn tên cơ sở dữ liệu Account, sau đó nhấn chuột phải chọn / ALL Tasks / Generate SQL Scripts như sau: Tab General Script all objects: Cho phép hiện danh sách các đối tượng. All Tables: Hiện danh sách tất cả các bảng. All View: Hiện danh sách tất cả các View. All stored procedure: Hiện danh sách tất cả các SP. All defaults: Hiện danh sách tất cả các giá trị mặc nhiên. All rules: Hiện danh sách tất cả các quy luật định trước. Preview: Cho phép bạn xem như ví dụ của kịch bản. Tab Formatting : Dùng định dạng kịch bản tạo ra như cú pháp, có phát biểu DROP TABLE xóa bảng trùng tên nếu tồn tại trong cơ sở dữ liệu trước khi sử dụng bảng mới. 4. Khóa và ràng buộc dữ liệu (Key and Constraints): Dùng để kiểm tra khi có sự biến đổi từ phía dữ liệu như thêm, xóa, cập nhật bất kỳ một nguồn nào khác nhau chẳng hạn như Visual Basic. Quá trình kiểm tra mang tính logic này gọi là ràng buộc dữ liệu: Ràng buộc dữ liệu:Bao gồm ở mức cao và ở mức đặc thù: Ở mức cao bao gồm: Ràng buộc miền ( Domain constraint) Ràng buộc thực tế (Entity constraint ) Ràng buộc dữ liệu toàn vẹn. Ở mức đặc thù: Một số phưương thức ràng buộc được thiết lập trong mỗi loại ràng buộc cụ thể bao gồm: Ràng buộc khóa chính ( Primary Key constraint ). Ràng buộc khóa ngoại ( Foreign Key constraint ). Ràng buộc duy nhất ( Unique constraint ). Ràng buộc kiểm tra ( Check constraint ). Ràng buộc mặc nhiên ( Default constraint ). Ràng buộc theo quy tắc hay quy luật ( Rules). Kiểm tra ràng buộc trong khi cập nhật mẩu tin. Kiểm tra ràng buộc trong khi xóa bản tin.. 5. Chuẩn hóa quan hệ: Chuẩn hóa là một phần của thiết kế cơ sở dữ liệu. chuẩn hóa trước tiên là khái niệm mô hình cơ sở dữ liệu quan hệ, bao gồm các bảng ảo được tạo ra từ sự mô phỏng của nhiều bảng khác. Chuẩn hóa bước 1 ( 1 NF ): Trong chuẩn hóa bước một chúng ta bắt đầu gom dữ liệu theo nhóm đối với những dữ liệu có liên quan hoặc tách các dữ liệu độc lập với nhau ra. Chuẩn hóa bước 2 ( 2NF): Trong chuẩn hóa bước 2, ta tiếp tục nhóm dữ liệu và giảm dữ liệu trùng lắp có thể làm đơn giản hóa cấu trúc dữ liệu trong cơ sở dữ liệu SQL Server. Chuẩn hóa 3 ( 3NF): Đây là bước chuẩn hóa cuối cùng, nhưng nếu cơ sở dữ liệu còn có thể chuẩn hóa được thì chúng ta còn một số chuẩn hóa khác. Quan hệ (Relationship): Xuất phát từ chuẩn hóa trên, để thực hiện việc phân nhóm dữ liệu, tách dữ liệu thành các bảng khác nhau, nhưng dữ liệu vẫn có mối quan hệ với nhau. Quan hệ trong các bảng với nhau tuân theo một quy tắc. Có 3 loại quan hệ trong mô hình cơ sở dữ liệu: Quan hệ một - một ( One- to -One): Là quan hệ giữa hai bảng với nhau, một mẩu tin ở bảng thứ nhất có quan hệ duy nhất một mẩu tin ở bảng thứ 2 Quan hệ một - nhiều (One- to-Many): Một mẩu tin trong bảng thứ nhất có quan hệ với nhiều mẩu tin trong bảng thứ 2. Quan hệ nhiều- nhiều ( Many-ti -Many): Quan hệ nhiều nhiều, là ứng với một mẩu tin trong bảng thứ nhất có quan hệ với nhiều mẩu tin trong bảng thứ 2 và ứng với mẩu tin trong bảng thứ 2 có quan hệ với nhiều mẩu tin trong bảng thứ nhất. 6. Lược đồ quan hệ trong SQL Server (Diagram): Entity Relationship Data (ERD): Là công cụ rất quan trọng trong quá trình phân tích thiết kế hệ thống thông tin quản lý hay bất kỳ giải pháp ứng dụng nào, cho dù quy mô to hay nhỏ. Entity Relationship Data cho phép kiểm soát được mối liên hệ giữa các thực thể với nhau. Bên cạnh đó kiểm soát được thông tin vào ra hay thay đổi trong cơ sở dữ liệu. 7. Tạo bảng ảo (View ): View cho phép bạn chia ngang hay dọc thông tin từ một hay nhiều bảng trong cơ sở dữ liệu. sử dụng View như là một đối tượng trong SQL Server , khi cần thiết sử dụng đến View, kết quả View trả về bằng việc truy vấn dữ liệu theo yêu cầu người dùng. Mục đích sử dụng View: Hạn chế tính phức tạp của dữ liệu đến người dùng. Kết nối dữ liệu từ nhiều bảng lại với nhau. Sử dụng tài nguyên Server để thực hiện việc truy vấn. Tạo ra một bảng ảo có dữ liệu như yêu cầu. Kết hợp một số hàm và phương thức tạo ra các cột mới. Khi cần thiết có những câu lệnh SQL dùng cho trong quá trình viết chương trình trên các Platform khác như Visual Basic… View là kết quả của việc sử dụng phát biểu SQL, hàm và thủ tục trong SQL Server. Thông thường View được tạo bàng SQL Server Query Analyser hay SQL Server Enterprise Managar. 8. Thủ tục được lưu và hàm (Stored procedure hay SP) a. Thủ tục được lưu (Stored Procedure): Là một phần cực kỳ quan trọng trong cơ sở dữ liệu SQL Server. 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 REPICATION] AS GO 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 đồ họa cũng như mã lệnh song giá trị trả về hàm đa dạng hơn chúng có thể trả về một bảng. CHƯƠNG II TỔNG QUAN VỀ VISUAL BASIC VÀ CƠ SỞ DỮ LIỆU TRONG VISUAL BASIC. Có một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng trong truy cập dữ liệu trong VB: Gắn mẫu tin duy nhất với một đối tượng: Đây là kỹ thuật đơn giản nhất, không cần lập trình nhiều. Mỗi trường trong mẫu tin trở thành một thuộc tính của đối tượng; lấy dữ liệu về từ cơ sở dữ liệu hay lưu dữ liệu vào cơ sở dữ liệu đều được xử lý qua đối tượng. Ủy nhiệm xử lý dữ liệu cho một đối tượng Recorset chứa trong một đối tượng: Đây là kỹ thuật tốt nhất khi ta cần xử lý một số không giới hạn mẫu tin. Kỹ thuật này cũng dễ lập trình, bởi có nhiều chức năng quản lý được cung cấp sẵn trong các mô hình đối tượng được sử dụng (DAO hay RDO). Kỹ thuật đặc biệt hữu dụng khi dùng ADO bởi vì ADO cung cấp khả năng ngắt kết nối với nguồn dữ liệu, cho phép ứng dụng Client thao tác với dữ liệu không cần thao tác với server. Bởi vì nhiều người sử dụng kết nối đồng thời là một điểm yếu của các hệ thống Client / Server, ngắt kết nối nghĩa là giải pháp sẽ linh hoạt hơn. I. MÔ HÌNH Dữ liệu ADO: (ActiveX Data Object: Đối tượng dữ liệu ActiveX) Ta có thể hình dung rằng mô hình 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 những người lập trình 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ối lõi của ADO, mô hình này được thiết kế để cho phép bạn tạo ra một đối tượng Recordset mà không cần phải duy chuyển qua các đối tượng trung gian khác trong quá trình. Thực tế chỉ có ba đối tượng cốt lõi sau trong mô hình: Connection đại diện kết nối dữ liệu 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 có một sưu tập đố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 sưu tập đối tượng con, Paramters để giữ bất cứ các tham số nào có thể thay thế cho các query. Recorset cũng có một đối tượng sưu tập con Properties để lưu các thông tin chi tiết về đối tượng. Sơ đồ mô hình ActiveX Data Object Connection Command Parameter Recorset Fields Error II. CÁC THUỘC TÍNH ADO ĐẶC BIỆT: Mô hình ADO có một số các thuộc tính duy nhất không có các mô hình khác như DAO và RDO. 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ó 7 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 khoá). Mode type (Kiểu chế độ làm việc). PHẦN II ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ BỆNH VIỆN CHƯƠNG I ĐẶC TẢ BÀI TOÁN. 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 việc quản lý bằng tin học vào trong việc quản lý Bệnh nhân và nhân viên của bệnh viện là một nhu cầu tất yếu. Sau khi khảo sát hiện trạng chúng tôi nắm được những thông tin chính cần quản lý sau: Quản lý nhân viên 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 đây: Họ, tên, giới tính, ngày sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn, đơn vị công tác, chức vụ, tôn giáo. Địa chỉ quản lý: Tỉnh (Thành phố ), Quận (Huyện), Phường (Xã), Số nhà, (Thôn) Quản lý bệnh nhân: Khi một bệnh nhân nhập viện 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ỉ. 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 cuả cơ quan công tác. Địa chỉ bệnh nhân và cơ quan quản lý: Số nhà, đường (thôn, ấp), xã (phường), quận (huyện), tỉnh (thành phố). Quy trình khám chữa bệnh: Bệnh nhân đến bệnh 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 là sản phụ trong trường hợp cấp cứu (thì đượ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 chung 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 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 lại, bệnh nhân phải trả tất 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 sẽ đượ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 và căn bệnh mà bệnh mắc phải. Quá trình điều trị bệnh nhân được thể hiện đầ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 tên thuốc, số lượng và cách dùng. Trong quá trình điều trị, bệnh nhân có thể sử dụng các dịch vụ hỗ trợ khám bệnh như: Xét nghiệm, X_quang, siêu âm,… Việc sử dụng cũng theo chỉ định của bác sĩ khám chữa bệnh. Mỗi dịch vụ có giá tiền 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 loạ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 (bằng cách bệnh nhân sẽ đóng một số tiền tạm ứng tuy theo khả năng của mình), sau khi xuất viện nhân viên sẽ căn cứ vào số tiền tạm ứng trên sẽ tính để biết được bệnh nhân đã thanh toán đầy đủ tiền viện phí chưa. 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ụ hỗ trợ chữa trị và khám bệnh. Riêng tiền phòng, nếu có thẻ bảo hiểm y tế, bệnh nhân cũng chỉ được bảo hiểm trên loại phòng rẻ nhất, nếu bệnh nhân nằm điều trị ở loại phòng có giá tiền cao thì tự trả phần chênh lệch. Khi xuất viện, bệnh nhân thanh toán toàn bộ số 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 khi chữa trị 3 ngày mà bệnh nhân không đóng tạm ứng tiền viện phí (hay tiền tạm ứng viện phí trước đó đã hết), thì khoa (phòng) nơi điều trị bệnh nhân trình ban lãnh đạo biết để xem xét giải quyết. - Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán tiền viện phí với Bảo hiểm y tế. CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN I. MÔ HÌNH QUAN HỆ DỮ LIỆU BAOHIEMYTE -SoBHYT -NgayBD -NgayKT --Phantram CQ-CB DUNGTHUOC -SoluongDung -LieuDung TINH -Ma tinh -Ten tinh ĐON VI -MaDV -TenDV CHUYEN MON -MaCM -TenCM CHUC VU -MaCV -TenCV H-T (1,n) (1,1) HUYEN -MaH -TenH X-H (1,1) (1.n) Xa -MaX -TenX NHANVIEN -MaNV -HoNV -TenNV -NgaySinhNV -GioiTinh -Sonha NV-ÑV (1,n) (1,1) NV-CM (1,n) (1,1) NV-CV (1,n) (1,1) VITRIKB -MaVTKB -TenVTKB KHAMB -NgayKB -NoiDung -ChiPhi (1.n) (1.n) Dia Chi (1,1) (1.n) BENHNHAN -MaBN -HoBN -TenBN -NgaySinhBN -GioiTinh -SoNha BN-X (1.n) (1,1) (1.n) DONTHUOC -MaDT -NgaykeDon (1,1) BENH -MaB -TenB (1.n) (1,1) (1.n) THUOC -MaT -TenT -DonGia BENHAN -MaBA -NgayVao -Ngayra DUNGDV -LanD DICHVU -MaDV -TenDV -DonGia (1.n) (1,n) (1.n) NOIDIEUTRI -MaNDT -TenNDT -DonGia (1.1) CANBO COQUAN -MaCQ -TenCQ -DienTCQ -FaxCQ (1.1) (1.n) TAMUNG -MaTU -LanTU -NgayTU -Sotien BN-TU (1.1) (1.n) DAN TOC -MaDT -TenDT NV-DT (1,1) (1,n) TONGIAO -MaTG -TenTG NV- TG (1,1) (1.n) II. MÔ HÌNH TỔ CHỨC DỮ LIỆU TINH(MaTinh, TenTinh) HUYEN(MaHuyen, TenHuyen, MaTinh ) XA(MaX, TenX, MaHuyen) DONVI(MaDV, TenDV) DANTOC(MaDT, TenDT) TONGIAO (MaTG, TenTG ) CHUYENMON(MaCM, TenCM) CHUCVU(MaCV, TenCV) COQUAN(MaCQ, TenCQ, DienThoaiCQ,FaxCQ) CANBO(MaBN, MaCQ) BAOHIEM(MaBN, SoTheBHYT, NgayBD, NgayKT, Phan tram) BENHNHAN(MaBN,HoBN, TenBN, NgaySinhBN, GioiTinhBN, SoNhaBN, MaX) KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB, NgayKB,NoiDungKB, CPKB) VITRIKHAMBENH(MaVTKB, Ten VTKB) DONTHUOC(MaDT, NgaykeDon, MaVT, MaNV, MaBN, MaB) THUOC(MaT, Ten thuoc, DonGia) BENH(MaB, TenB) NOIDIEUTRI(MaNĐT, Ten NĐT, DonGia) DUNGTHUOC(MaT, MaDT, Soluongdung, LieuDung ) DICH VU(MaDV, TenDV, ĐonGiaV) TAMUNGVIENPHI(MaTU, LanTU, SoTienTU, MaBN) BENHAN(MaBA, NgayVao, NgayRa, MaBN, MaNV, MaB, MaNDT) DUNGDICHVU(MaBA, MaDV, LanDungDV) NHAN VIEN(Ma NV, Ho NV,Ten NV, Ngaysinh, Gioi tinh, Sonha, Ma ĐV, MaCM, MaCV, MaDT, MaX) III. MÔ HÌNH VẬT LÝ DỮ LIỆU TINH(Matinh, Tentinh) TINH Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn Matinh (K) Mã tỉnh Text (2) Primary key Tentinh Tên tỉnh Text (20) Not NULL Mỗi một thể hiện là một thành phố hay một tỉnh nào đó. Theo khảo sát thực tế tại BV tỉnh Khánh Hoà quy định Mã tỉnh là 2 số. Ví dụ: 01 là mã của Khánh Hoà. 02 là mã của tỉnh Bình Thuận. HUYEN(Mahuyen, Tenhuyen, Matinh) HUYEN Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn Mahuyen (K) Mã huyện Text (4 ) Primary key Tenhuyen Tên huyện Text (30) Not NULL Matinh Mã tỉnh Text (2) Foreign key Mỗi một thể hiện là một quận hay huyện thuộc một thành phố hay một tỉnh nào đó. Hai số đầu là mã Tỉnh hay Thành Phố, hai số tiếp theo là mã Quận hay Huyện trực thuộc Tỉnh hay Thành Phố. Ví dụ: 0101: Là mã của TP Nha Trang. 0102: Là mã của huyện Ninh Hoà. XA(MaX , Tên X, Ma huyen) XA Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaX (K) Mã xã Text (6) Primary key TenX Tên xã Text (30) Not NULL Mahuyen Mã huyện Text (4) Foreign key Mỗi một thể hiện là một quận hay một xã nào đó thuộc một phường hay một huyện nào đó. Hai số đầu là mã tỉnh hay thành phố, hai số tiếp theo là mã quận hay huyện trực thuộc thành phố hay tỉnh, hai số tiếp theo là mã phường hay xã trực thuộc quận hay huyện Ví dụ: 010101: Phường Xương Huân(Nha Trang). 010203: Xã Ninh Hưng(huyện Ninh Hoà). DONVỊ(MaDV, Ten DV) DONVI Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaDV (K) Mã đơn vị Text (2) Primary key TenDV Tên đơn vị Text (50) Not NULL Mỗi một thể hiện là một đơn vị công tác của nhân viện trong Bệnh Viện, teo khảo sát tại Bệnh Viện Đa khoa tỉnh Khánh Hòa hiện có dưới 100 khoa. Nên mã Đơn Vị là hai số Ví dụ: 01: Khoa nội. 02: Khoa ngoại. 03: Khoa nhi. DANTOC(MaDT, TenDT) DANTOC Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn Ma DT (K) Mã dân tộc Text (2) Primary key Ten DT Tên dân tộc Text (30) Not NULL Mỗi một thể hiện là một dân tộc của một nhân viên hay bệnh nhân nào đó , Việt Nam hiện có 54 dân tộc. Nên mã dân tộc là hai số. TONGIAO (MaTG, TenTG ) TONGIAO Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaTG(K) Mã tôn giáo Text (2) Primary key TenTG Tên tôn giáo Text (30) Not NULL Mỗi một thể hiện là một tôn giáo nào đó. Hiện nay Việt Nam có khoảng 20 tôn giáo. Nên mã tôn giáo là hai số. CHUYEN MON(MaCM, TenCM) CHUYEN MON Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaCM (K) Mã chuyên môn Text (2) Primary key TenCM Tên chuyên môn Text (50 ) Not NULL Mỗi thể hiện là một chuyên môn của nhân viên trong bệnh viện, theo khảo sát thì hiện có dưới 100 chuyên môn. Nên ta chọn 2 ký tự để đánh số thứ tự cho chuyên môn. 8. CHUCVU(MaCV, TenCV) CHUCVU Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaCV (K) Mã chức vụ Text (2) Primary key TenCV Tên chức vụ Text (20) Not NULL Mỗi thể hiện là một chức vụ của nhân viên, theo khao sát hiện Bệnh Viện có dưới 100 chức vụ. nên ta chọn hai ký tự để đánh số thứ tự của chức vụ. 9. COQUAN(MaCQ, TenCQ, Đien thoaiCQ, FaxCQ) COQUAN Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaCQ (K) Mã cơ quan Text (3) Primary key TenCQ Tên cơ quan Text (50) Not NULL Đien thoaiCQ Số điện thoại Text (10) NULL FaxCQ Fax cơ quan Text (12) NULL Mỗi một thể hiện là cơ quan của bệnh nhân nào đó, Bênh Viện có rất nhiều bênh nhân đến diêu trị trong đó có những bệnh nhân thuộc khối cơ quan, cónhiều cơ quan. Nên ta chọn 3 ký tự để đánh số thứ tự của cơ quan. 10. CANBO(MaBN, MaCQ ) CANBO Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaBN (K) Mã bệnh nhân Text (9) Primary key MaCQ Mã cơ quan Text (3) Foreign key Mỗi một thể hiện là bệnh nhân có bảo hiểm y tế thuộc cơ quan nào đó. Nên nhận khóa của thực thể cha làm khóa, MaBN là khóa chính. 11. BHYTE(MaBN, SotheBHYT, Ngay bat đau, Ngay ketthuc, Phan tram) BHYTE Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaBN (K) Mã bệnh nhân Text (9) Primary key SotheBHYT Số thẻ BHYT Text (14) Not NULL Ngaybatđau Ngày bắt đầu Date Not NULL Ngayketthuc Ngày kết thúc Date Not NULL Phantram Phần trăm Text (3) Not NULL Mỗi một thể hiện là một bảo hiểm y tế, khi đến khám chữa bệnh chỉ có một số bệnh nhân có bảo hiểm y tế. 12. BENHNHAN(MaBN, HoBN, TenBN, Ngaysinh, Gioitinh ,Sonhà , MaX) BENH NHAN Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaBN (K) Mã bệnh nhân Text (9) Primary key HoBN Họ bệnh nhân Text (30) Not NULL Ten BN Tên bệnh nhân Text (7) Not NULL Ngaysinh Ngày sinh Date Not NULL Gioi tinh Giới tính Yes/No Yes: Nam; No: Nữ Sonha Số nhà Text (15) NULL MaX Mã xã Text (6) Foreign key Mỗi một thể hiện của kiểu thực thể BENHNHAN là một bệnh nhân đã đăng ký khám chữa bệnh, Bệnh Viện Đa Khoa tỉnh Khánh Hòa là một trung tâm khám chữa bệnh lớn, bao gồm trong tỉnh và ngoài tỉnh. Nên mã bệnh nhân ta chọn bằng 9 để đánh số thứ tự cho bệnh nhân. 13. KHAMBENH(MaNV,MaVTKB,MaBN,MaDT,MaB, NgayKB,NoiDungKB, CPKB) KHAMBENH Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaBN Mã bệnh nhân Text (9) Primary key MaNV Mã nhân viên Text (9) Primary key MaVTKB Mã vị trí khám bệnh Text (3) Primary key MaT Mã thuốc Text (10) Primary key MaB Mã bệnh Text (8) Primary key NgayKB Ngày khám bệnh Date Not NULL NoiDungKB Nội dung khám bệnh Text (50) Not NULL CPKB Chi phí khám bệnh Number Not NULL Mỗi một thể hiện của kiểu thực thể này là một bệnh của bệnh nhân mà bệnh nhân đã khám chữa bệnh. 14. VITRIKHAMBENH(MaVT, TenVT) VITRIKHAMBENH Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaVTKB (K) Mã vị trí khám chữa bệnh Text (3) Primary key TenVTKB Tên vị trí khám chữa bệnh Text (50) Not NULL Mỗi một thể hiện của thực thể là một vị trí khám chữa bệnh, tại bệnh viện có nhiều vị trí khám chữa bệnh. Nên ta chọn 3 số để đánh số thứ tự vị trí khám chữa bệnh. 15. DONTHUOC(MaDT, NgaykeDon, MaVT, MaNV, MaBN, MaB ) DONTHUOC Tên thuộc tính Mô tả Kiểu Dữ liệu Ràng buộc toàn vẹn MaDT(K) Mã đơn thuốc Text (10) Primary key NgaykeDon Ngày kê đơn Date Not NULL MaBN Mã bệnh nhân Text (9) Foreign key MaVT Mã vị trí Text (3) Foreign key MaNV Mã nhân viên Text (9) Foreign key MaB Mã bệnh Text (8) Foreign key Mỗi một thể hiện của kiểu thực thể này là một đơn thuốc mà trước đó bệnh nhân đã khám chữa bệnh và được bác sĩ cấp cho một đơn thuốc. Bệnh viện có nhiều người đến khám chữa bệnh nhưng có một số bệnh nhân có bệnh giống nhau, có đơn thuốc giống nhau. Nên ta chọn mã đơn thuốc 8 ký số để đánh số thứ tự cho đơn thuốc. 16. THUOC (MaT , TenT ) THUỐC Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaT(K) Mã thuốc Text (8) Primary key TenT Tên thuốc Text (20) Not NULL Mỗi một thể hiện của thực thể này là một loại thuốc dùng chữa trị cho bệnh nhân mà trước đó bệnh nhân đã được khám, và được bác sĩ kê đơn thuốc khi đến khám. Có nhiều bệnh nhân đến chữa trị. Nên chọn mã thuốc 8 ký số để đánh số thứ tự thuốc dùng chữa trị cho bệnh nhân. 17. BENH (MaB, TenB ) BENH Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaB(K) Mã bệnh Text (8) Primary key TenB Tên bệnh Text (50) Not NULL Mỗi một thể hiện của thực thể này là một bệnh mà bệnh nhân chữa trị tại bệnh vịên, có nhiều bệnh nhân đến chữa trị nhưng có một số bệnh nhân có bệnh giống nhau. Để đánh số thứ tự cho nhiều bệnh ta chọn mã bệnh 8 ký số. 18. NOIDI EUTRI (MaNDT , TenNDT ) NOIĐIEUTRI Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaNĐT (K) Mã nơi điều trị Text (3) Primary key TenNĐT Tên nơi điều trị Text (30) Not NULL DonGia Đơn giá Money Not NULL Mỗi một biểu hiện của kiểu thực thể này biểu hiện một nơi điều trị của bệnh nhân sau khi đã được bác sĩ khám bệnh, tại bệnh viện Đa khoa Khánh Hòa có nhiều nơi điều trị. Nên chon mã nơi điều trị 3 ký tự số để đánh số thứ tự cho nơi điều trị. 19. DUNGTHUOC( MaT, MaDT , Soluongdung, LieuDung ) DUNGTHUOC Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaT Mã thuốc Text (8) Primary key MaDT Mã đơn thuốc Text (10) Primary key SoluongDung Số lượng dùng Number Not NULL LieuDung Lliều dùng Number Not NULL Mõi một thể hiện là dùng thuốc của bệnh nhân. Sau khi khám bệnh bệnh nhân được bác sĩ đưa cho đơn thuốc tương ứng sau dó bệnh nhân sẽ đi mua thuốc và dùng thuốc theo chỉ dẫn của đơn thuốc do bác sĩ cấp. 20. DICHVU( Mã DV, Lần DDV, DGDV) DICHVU Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaDV(K) Mã dịch vụ Text (3) Primary key TenDV Tên dịch vụ Text (30) Not NULL DGDV Đơn giá dịch vụ Money Not NULL Mỗi một thể hiện của kiểu thực thể này là một dịch vụ, trong bệnh viện có nhiều dịch vụ giúp chữa trị cho bệnh nhân đạt kết quả cao nhất, có nhiều dịch vụ trong bệnh viện. nên ta chọn 3 ký số để đánh số thứ tự cho dịch vụ. 21. TAMUNGVIENPHI (MaTU, LanTU, SoTienTU, MaBN) TAMUNGVIENPHI T Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaTU(K) Mã tạm ứng Text (8) Primary key LanTU Lần tạm ứng Text (2) Not NULL SotienTU Số tiền tạm ứng Number Not NULL MaBN Mã bệnh nhân Text (9) Foreign key Mỗi một thể hiện là tạm ứng viện phí của bệnh nhân, sau khi được bác sĩ khám và được điều trị tại bệnh viện thì bệnh nhân phải đóng tiền tạm ứng viện phí. Do bệnh viện có nhiều bệnh nhân chữa trị tại bệnh viện nên chọn mã tạm ứng 8 ký số để đánh số thứ tự cho tạm ứng viện phí. 22. BENHAN(MaBA, NgayVao, NgayRa, MaBN, MaNV, MaB, MaNDT) BENHAN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn MaBA(K) Mã bệnh án Text (8) Primary key Ngayvao Ngày vào viện Date Not NULL NgayRa Ngày ra viện Date Not NULL MaBN Mã bệnh nhân Text (9) Foreign key MaNV Mã nhân viên Text (9) Foreign key MaB Mã bệnhán Text (3) Foreign key MaNDT Mã nơi điều trị Text (3) Foreign key Mỗi thể hiện của thực thể là một bệnh án của bệnh nhân, khi bệnh nhân đến khám chữa bệnh tại bệnh viện được bác sĩ cấp cho một bệnh án tương ứng, bệnh viện có nhiều bệnh nhân khám chữa bệnh nên có nhiều bệnh án, chọn mã bệnh án 8 ký số để đánh số thứ tự cho bệnh án. 23. DUNGDICHVU(MaBA, MaDV, LanDungDV) DUNGDICHVU Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaBA Mã bệnh án Text (8) Primary key MaDV Mã Dịch vụ Text (3) Primary key LanD Lần dùng Text (30) Not NULL Mỗi một thể hiện là một lần dịch vụ, sau khi đến khám chữa bệnh, bệnh nhân được bác sĩ cấp cho bệnh án và cung cấp dịch vụ, bệnh nhân sẽ tiến hành dùng dịch vụ theo chỉ dấn của đơn thuốc. 24. NHAN VIEN(Ma NV, Ho NV,Ten NV, Ngaysinh, sinh,Gioi tinh, Sonha, Ma ĐV, MaCM, MaCV, MaDT, MaX) Tên thuộc tính Mô tả Kiểu dữ liệu Ràng buộc toàn vẹn MaNV (K) Mã nhân viên Text (9) Primary key HoNV họ nhân viên Text (30) Not NULL TenNV Tên nhân viên Text (9) Not NULL Ngaysinh Ngày sinh nhân viên Date Not NULL Gioitinh giới tính Yes / No Not NULL Sonha Số nhà Text (15) Not NULL MaDV Mã dịch vụ Text (2) Not NULL MaCM Mã chuyên môn Text (2) Not NULL MaCV Mã chức vụ Text (2) Not NULL MaDT Mã dân tộc Text (2) Not NULL MaTG Mã tôn giáo Text (2) Not NULL MaX Mã xã Text (6) Not NULL IV. MÔ HÌNH THÔNG LƯỢNG THÔNG TIN BỆNH NHÂN PHÒNG CẤP SỐ PHÒNG KHÁM BỆNH PHÒNG TÀI VỤ KHOA ĐIỀU TRỊ (1) (2) (7) (5) (9) (8) (10) (4) (6) (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) Lệnh nhập viện. (7) Các chi phí điều trị bệnh. (8) Xác nhận thanh toán viện phí. (9) Danh sách bệnh nhân đã thanh toán viện phí. (10) Giấy phép xuất viện. V. MÔ HÌNH QUAN NIỆM XỬ LÝ 1. Mô hình quan niệm: Danh sách các 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ỉ đinh 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 Thu phí khám bệnh. 7 Cho giấy nhập viện. 8 Tiếp nhận bệnh nhân đến điều trị bệnh. 9 Lập bệnh án chi tiết cho bệnh nhân. 10 Lập đơn thuốc điều trị. 11 Cung cấp các dịch vụ hỗ trợ khám chữa bệnh. 12 Thu viện phí. 13 Lập danh sách bệnh nhân trốn viện. 14 Xem xét các trường hợp không thanh toán viện phí 15 Cấp giấy xuất viện cho bệnh nhân. 2. Mô hình quan niệm xử lý: Khi BN đến khám bệnh Khi BN cần cấp cứu đặc biệt Khi BN có YC hộ sinh DS bệnh nhân đã cấp số số Hồ sơ bệnh án CẤP SỐ CHO BỆNH NHÂN YES (1) TIẾP NHẬN YÊU CẦU KCB CỦA BN YES BS KHÁM BỆNH CHO BN YES BN được chỉ định ĐT tại nhà BN cần phải nhập viện DS bệnh nhân có giấy nhập viện DS bệnh nhân điều trị tại nhà (1) BN cần phải nhập viện BN được chỉ định ĐT tại nhà (2) (2) PHÂN LOẠI BỆNH NHÂN YES No THU PHÍ KHÁM BỆNH YES CẤP GIẤY NHẬP VIỆN YES NO (3) DS bệnh nhân chữa bệnh DS hồ sơ bệnh án LẬP ĐƠN THUỐC CHO BỆNH NHÂN YES DS bệnh nhân đã được lập đơnuốc DS bệnh nhân đã có bệnh án (2) (2) TIẾP NHẬN BN ĐẾN CHỮA BỆNH YES LẬP BỆNH ÁN CHI TIẾT YES LẬP ĐƠN THUỐC THEO BỆNH ÁN YES CC CÁC DV HỖ TRỢ ĐIỀU TRỊ BỆNH YES (3) (3) DS bệnh nhân đang điều trị DSBN đã thanh toán viện phí DSBN không đóng viện phí BN đã xuất viện BN trốn viện CẤP GIẤY XUẤT VIỆN CHO BỆNH NHÂN YES LẬP DANH SÁCH TRÌNH BAN LÃNH ĐẠO XEM SÉT YES THU VIỆN PHÍ YES NO VI. 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 THỨC TẦN SUẤT CHU KỲ 1 Đăng ký khám chữa bệnh Phòng ghi số Thủ công Bất kỳ lúc nào khi cóYC / ngày Hàng ngày 2 Cấp số cho BN Phòng ghi số Thủ công Khi có BNYC / ngày Hàng ngày 3 Chỉ định Bs KB cho BN Phòng cấp số Thủ công Khi có BNYC / Ngày Hàng ngày 4 Khám bệnh cho BN Bs chuyên khoa KCB Thủ công Khi BN đã có số / Ngày Hàng ngày 5 Kết quả khám bệnh của BN Phòng(Khoa) của BSKB Thủ công Khi có BNKCB / Ngày Hàng ngày 6 Lập toa thuốc cho BN Bác sĩ KB Thủ công Khi có BNKCB / Ngày Hàng ngày 7 Cấp thuốc cho bệnh nhân Phòng cấp thuốc Thủ công Khi bệnh nhân đã có toa thuốc Hàng ngày 8 Thu viện phí Phòng thanh toán viện phí Tự động Khi có bệnh nhân đến khám chữa bệnh trong ngày Hàng ngày 9 Lập lệnh nhập viện (với BN nhập viện) Bác sĩ khám bệnh Thủ công Khi có bệnh nhân khám chữa bệnh trong ngày Hàng ngày 10 Tiếp nhận bệnh nhân đến chữa bệnh Khoa điều trị Thủ công Khi có lệnh nhập viện trong ngày Hàng ngày 11 Lập bệnh án chi tiết cho bệnh nhân Bác sĩ chuyên khoa Thủ công Khi có bệnh nhân nhập viện trong ngày Hàng ngày 12 điều trị cho bệnh nhân Bác sĩ chuyên khoa Thủ công + Tự động Khi có BN yêu cầu/Ngày Hàng ngày 13 Cung cấp các dịch vụ hỗ trợ điều trị bệnh Phòng khám chữ bệnh Thủ công Khi có bệnh nhân yêu cầu trong ngày Hàng ngày 14 Thu tạm ứng viện phí của bệnh nhân Phòng TTVP Tự động 3 ngày / lần 3 ngày 15 TT toàn bộ viện phí khi XV Phòng TTVP Tự động Khi BN KVB xong / lần Khi BN điều trị xong hoàn toàn. 16 Lập DSBN trốn viện, không TTVP đầy đủ. Khoa(Phòng) điều trị cho BN Thủ công Khi có BN trốn viện / lần Khi có BN trốn viện 17 Thanh toán tiền viện phí với BHYT Phòng Thanh toán viện phí Thủ công 1 lần / tháng 1 tháng 2. Mô hình tổ chức xử lý: Khi có yêu cầu KCB của BN ĐKKCB YES DS BN có YCKCB CẤP SỐ CHO BN YES Hàng ngày khi có BN KCB DSBN đã được cấp số (1) BỆNH NHÂN PHÒNG CẤP SỐ KHOA (P) KCB PHÒNG CẤP THUỐC BÁC SĨ KCB PHÒNG TTVP BAN LÃNH ĐẠO (1) CHỈ ĐỊNH BSKB-BN YES (3) DSBN đã được chỉ định BS KCB DSBN đã được BS-KB DSBN điều trị tại nhà DSBN phải nhập viện DSBN đã thu phí KB LẬP LỆNH NV YES (2) BSKB CHO BN YES KẾT QUẢ KB-BN YES NO THU PHÍ KB YES 3 (3) (2) DS BN Đã có đơn thuốc TIẾP NHẬN BNNV YES DSBN đã có lệnh nhập viện DSBN đã nhập viện CẤP THUỐC CHO BN YES DSBN đã có BA (4) LẬP ĐƠN THUỐC YES DSBN đã nhập viện LẬP BA CHO BN YES DSVP của BN có BHYT đã TT với BHYT THANHTOÁN VP VỚI BHYT YES Sau khi tổng kết BN-SD-TBHYT 1 tháng một lần DSBN trốn viện LÃNH ĐẠO XEM XÉT YES DSBN chưa TTĐĐVP DSBN đã xuất viện ĐIỀU TRỊ CHO BN YES 4 Danh sách BN điều trị tại bệnh viện CUNG CẤP CÁC DVDTB YES Danh sách bệnh nhân đang điều trị TTVP CỦA BN YES NO (5) (6) DSBNđã TT đầy đủ VP DSBN trốn viện (5) (6) LẬP DSBN CHƯA TTVP 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 THANH TOÁN VP VỚI BHYT YES DSBN có BHYT đã thanh tóan với BHYT Sau khi tổng kết BN_SD_BHYT Mỗi tháng 1 lần VII. MÔ HÌNH VẬT LÝ XỬ LÝ 1. Mô hình tổng thể của hệ thống HỆ THỐNG BỆNH NHÂN NHÂN VIÊN QUẢN TRỊ VIÊN BỆNH NHÂN Đăng nhập hệ thống Xem thông tin về bệnh viện Xem hồ sơ bệnh án Xem chi phí điều trị Thông tin cần biết Xem Đơn thuốc và cách dùng thuốc NHÂN VIÊN Đăng nhập hệ thống Thay đổi mật khẩu Tạo Đơn thuốc cho BN thêm, xoá, sửa toa thuốc Lập DSBN không TTVP + DSBN trốn viện Tạo bệnh án chi tiết cho BN nhập viện Tạo giấy xuất viện cho bệnh nhân QUẢN TRỊ VIÊN Đăng nhập hệ thống Thay đổi mật khẩu Thông tin chung Hệ quản lý Báo cáo -in ấn hồ sơ THÔNG TIN CHUNG Thông tin về liên tịch bệnh viện Thông tin về số khoa điều trị hiện có tại bệnh KH Thông tin về danh sách các trưởng khoa tại bệnh viện BÁO CÁO-IN ẤN HỒ SƠ Danh sách bệnh nhân nhập viện Danh sách nhân viên bệnh viện In đơn thuốc, bệnh án HỆ THỐNG QUẢN LÝ Quản lý hồ sơ bệnh nhân Quản lý hồ sơ nhân viên Quản lý bệnh án bệnh nhân Từ điển thông tin địa chỉ Từ điển về thông tin bệnh viện DANH MỤC TỪ ĐIỂN ĐỊA CHỈ Thêm dữ liệu Xã -Phường mới Xoá, Sửa thông tin Xã - Phường Thêm thông tin về Quận - Huyện mới Xoá Sửa thông tin về Tỉnh - TP Xoá Sửa thông tin Quận - Huyện Thêm thông tin về Tỉnh - TP DANH MỤC TỪ ĐIỂN TT VỀ BỆNH VIỆN Thêm thông tin về khoa điều trị mới Xoá sửa thông tin về Khoa điều trị Thêm thông tin về dịch vụ mới Xoá sửa thông tin về thuốc Xoá sửa thông tin về dịch vụ Thêm thông tin về Nơi khám bệnh mới Xoá sửa thông tin về Nơi khám bệnh Thêm thông tin về thuốc mới CHƯƠNG TRÌNH QUẢN LÝ NHÂN VIÊN Thêm thông tin về hồ sơ nhân viên Xoá sửa thông tin về hồ sơ nhân viên Thêm thông tin về Đơn vị công tác mới Xoá sửa thông tin về Đơn vị công tác Thêm thông tin về chuyênmôn mới, chức vụ Xoá sửa thông tin về chuyên môn, chức vụ CHƯƠNG TRÌNH QUẢN LÝ BỆNH NHÂN Thêm thông tin về hồ sơ bệnh nhân Xoá sửa thông tin về hồ sơ bệnh nhân Thêm thông tin về Bảo hiểm y tế mới Xoá sửa thông tin về Bảo hiểm y tế Thêm thông tin về cơ quan công tác BN mới Xoá sửa thông tin về Cơ quan CTBN CHƯƠNG III THỰC HIỆN CÀI ĐẶT CHƯƠNG TRÌNH I. Cách tạo kết nối dữ liệu : Database Access Component Database Access Component còn gọi là ADO (ActiveX Data Object), các object của ADO cung cấp cơ chế kết nối (connection) với hầu hết các kiểu database, cũng như việc truy xuất, cập nhật các database này. ADO Interface Các đối tượng trong ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể được sử dụng với bất kỳ loại database nào nếu như có ODBC driver hỗ trợ. Các đối tượng trong ADO : Gồm : Connection, Recordset và Command. Sử dụng Connection ta có thể thiết lập sự liên kết với dữ liệu, thông qua đó ta có thể lấy các Record hoặc cập nhật một record bằng cách sử dụng Command Object. Kết quả thực hiện các query trên database sẽ được lưu vào đối tượng Recordset, trên đối tượng này có thể duyệt và lấy ra một hay nhiều record. Cách kết nối để mở một cơ sở dữ liệu từ SQL Server . 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 1. Các phương thức đối tượng Connection Open method :Được sử dụng để mở một liên kết với database. Ngay sau 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 quá 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ệnh, ví dụ như là SQL 2 adCmdTable Tên của table mà ta sẽ tạo Recordset từ đó 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 đặt trong file include có tên adovbs.inc. Close method: Đóng các kết nối đã mở. Connection.Close Command object:Thay vì dùng phương thức Execute của Connection để query hay update data soure, ta có thể sử dụng Command. Methods CreateParameter: Dùng để tạo một đối tượng Parameter Execute: Dùng để thực thi câu lệnh được đặc tả trong phương thức CommandText. Properties ActiveConnection: Chỉ định đối tượng Connection nào được sử dụng trong đối tượng Command. CommandText: Chỉ định câu lệnh cần thực hiện trên cơ sở dữ liệu. CommandTimeout: Xác định thời gian thực thi lệnh, giá trị thời gian này tính theo second. CommandType: Cho biết kiểu của query đặc tả trong CommandText Prepared: Tạo ra lệnh chuẩn bị trước khi thực thi. Recordset Oject: Là kết quả trả về khi thực hiện một query, thực chất nó là một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phương thức và thuộc tính. Methods: Open: Mở recordset mới Addnew:Tạo một record trong Recordset. Update:Cập nhật các thay đổi vào record hiện hành. Delete: Xoá record hiện hành. Move: Dịch chuyển con trỏ record hiện hành. MoveFirst: Đến record đầu tiên. MoveNext: Đến record kế tiếp. MovePrevious: Trở về record trước đó. MoveLast: Đến record cuối cùng. Requery: Thực thi lại query tạo ra recordset. GetRow: Chứa các record vào một query. Close: Đóng lại đối tượng Recordset. Properties: AbsolutePosition: Số thứ tự (vật lý) của record hiện tại. BOF: Là True nếu con trỏ nằm trước record đầu tiên. EOF: Là True nếu con trỏ nằm sau record cuối cùng. CursorType: Kiểu của con trỏ được sử dụng trong recordset. RecordCount: Trả về tổng số record trong recordset. Tạo Recordset: Trước tiên ta instace cho record bằng phát biểu Recordset_name = Server.CreataObject(“ADODB.Recordset”) Sau đó dùng phương thức Execute của đối tượng Connection hay Command để tạo ra recordset. Recordset_name = ConnectionObject.Execute (CommandText,_ Recordaffected, Options) Trong đó: Soure: Là một CommandObject hay một lệnh SQL hoặc là Store Procedure. ActiveConnection: Là tên của Connection đã được mở kết nối với database. CursorType: Là kiểu con trỏ sử dụng với recordset, thông số này có kiểu số và được gán trị qua các tên hằng tương ứng như sau: AdOpen ForwardOnly = 0: Là giá trị mặc định, chỉ cho phép duyệt các record theo một chiều từ đầu đến cuối, không cho phép cập nhật hay xoá bỏ các record trong đó. AdOpenKeyset = 1: Chế độ này cho phép cập nhật các record, nhưng cấm truy xuất đến record của user khác thêm vào record. AdOpenDynamic = 2 : Chế độ này cho phép tất cả các thao tác trên như: thêm vào, loại bỏ, cập nhật và duyệt theo tất cả chiều lên xuống tuỳ ý. AdOpenStatic = 3: Gần giống như chế độ OpenForwardOnly. CHƯƠNG IV GIỚI THIỆU MỘT SỐ FORM CHÍNH KHI CHẠY CHƯƠNG TRÌNH Dưới đây là form chính của chương trình, khi chạy chương trình thì form này được gọi đầu tiên, từ form này ta có thể thực hiện chương trình từ các form khác như: Tập tin, Nhập dữ liệu, nhân viên, bệnh nhân, thống ke, tìm kiếm, báo biểu. Taị giao diện chính của chương trình khi nhấn chuột vào nhập liệu, từ đây chon thông tin cần đăng nhập như: Vị trí khám bệnh, nơi diều trị, bệnh, thuốc, dân tộc, tôn giáo. Form đăng nhập vị trí khám bệnh Tại đây sẽ thêm mới vị trí khám bệnh khi có vị trí khám bệnh mới được thành lập, hay sửa vị trí khám bệnh khi vị trí khám bệnh thay đổi hoặc xoá vị trí khám bệnh khi vị trí khám bệnh không còn. Thêm mới bằng nút mới, khi không muốn thực hiện công việc này thì nhấn nút bỏ qua. Tương tự khi ta xoá, sửa ta cũng thực hiện như vậy. Form Xã: Thực hiện bằng cách nhấn vào địa chỉ. Tại đây chọn đăng nhập thông tin cho tỉnh, huyện hay xã. Tại đây thêm mới, xoá bỏ hay sửa thông tin về xã khi một xã tách ra hay thông tin về xã bị thay đổi và xoá bỏ khi xã đó không còn tồn tại. Thêm mới bằng cách nhấn nút mới, huỷ bỏ công việc bằng cách nhấn nút bỏ qua. Thay đổi thông tin về xã bằng cách nhấn nút sửa, huỷ bỏ công việc bằng cách nhấn nút bỏ qua, hoàn thành công việc bằng cách nhấn nút lưu. Xoá thông tin về xã bằng cách nhấn nút xoá. Form hồ sơ nhân viên: Khi nhấn nhân viên trên form chính. tại đây chọn một số thông tin cần dăng nhập như: Form hồ sơ nhân viên, quá trình công tác Tại đây thêm mới hồ sơ nhân viên khi có nhân viên tới công tác tại bệnh viện, bằng cách nhấn nút mới, hoàn thành công việc khi nhấn nút lưu, huỷ bỏ công việc khi nhấn nút bỏ qua. Sửa hồ sơ về nhân viên khi thông tin về nhân viên thay đổi, bằng cách nhấn nút sửa, hoàn thành công việc nhấn nút lưu, huỷ bỏ công việc nhấn nút bỏ qua. Xoá bỏ thông tin về nhân viên khi nhân viên không còn công tác tại bệnh viện, bằng cách nhấn nút xoá. Form hồ sơ bệnh nhân: Khi nhấn bệnh nhân sẽ có những thông tin cần quan tâm như: Hồ sơ bệnh nhân, tạm ứng viện phí, bảo hiểm, cơ quan… Tại form hồ sơ nhân viên, có thể thêm mới khi có bệnh nhân đến khám chữa bệnh, sửa đổi thông tin về bệnh nhân, xoá bỏ bệnh nhân khi bệnh nhân không còn diều trị trong khoảng thời gian dài. Ngoài ra còn một số form khác và thông tin khác như tìm kiếm bệnh nhân, tìm kiếm nhân viên, báo biểu, báo cáo thống kê bệnh, danh sách bệnh nhân, danh sách trưởng khoa…. CHƯƠNG V KẾT LUẬN HƯỚNG PHÁT TRIỂN ĐỀ TÀI I. Kết luận: Đứng trước xu hướng phát triển của công nghệ thông tin như vũ bảo, việc tin học hoá việc quản lý hành chính là vô cùng quan trọng và bức thiết. Nó sẽ giúp cho các cơ quan nhà nước giải quyết các công việc được nhanh chóng và hiệu quả. Ứng dụng cơ sở dữ liệu đã giải quyết được vấn đề đó. Với đề tài: Quản lý bệnh nhân và nhân viên tại bệnh viện đa khoa tỉnh Khánh Hoà, tuy chương trình cài đặt chưa được hoàn thiện các chức năng, song nếu có thời gian phát triển và hoàn thiện hơn thì chương trình này sẽ có ích rất nhiều giúp cho các nhân viên của bệnh viện trong công việc lưu trữ và thống kê bệnh nhân và nhân viên cũng như quản lý bệnh nhân tại bệnh viện một cách thuận tiện và dễ dàng hơn rất nhiều. II. Hạn chế: Do thời gian thực hiện đề tài tương đối hạn chế nên chương trình không thể tránh được những thiếu sót nhất định. Bên cạnh đó chưong trình cò có một số chức năng tiềm kiếm và thống kê chưa có đủ thời gian để thực hiện kịp. Đồng thời vẫn còn có một số form chưa hoàn thành đầy đủ và chính xác và các ràng buộc về dữ liệu vẫn chưa đầy đủ lắm. hơn nữa trong quá trình vừa viết chương trình vừa tìm hiểu về ngôn ngữ SQL Server nên chưa thể tránh khỏi những thiếu sót. III. Hướng phát triển đề tài: Để chương trình có thể hoạt động hiệu quả hơn cần dữ liệu phải được lưu trữ bằng hệ quản trị cơ sở dữ liệu có tính bảo mật hơn. Cần có sự kết hợp song song giữa quản lý nhân viên và bệnh nhân một cách chặt chẽ hơn để việc theo dõi và quản lý của bệnh viện được tốt hơn. Nếu có thể đưa chương trình quản lý các thông tin về bệnh nhân lên các trang Web để giúp cho người thân của bệnh nhân có sự thuận lợi hơn để theo dõi được quá trình điều trị bệnh của của người thân cho dù là đang ngồi ở nhà hay ở bất kỳ nơi nào. Đồng thời khi một bệnh nhân đang nằm điều trị tại bệnh viện, do những lý do gì đó mà cần phải chuyển đến bệnh viện khác để điều trị. Tại đây các bác sĩ của bệnh viện tiếp nhận không cần xem hồ sơ của bệnh nhân mà chỉ cần lên trang web của bệnh viện nơi bệnh nhân chuyển đến để xem là có thể biết toàn bộ các thông tin về bệnh nhân như: hồ sơ bệnh nhân, bệnh án của bệnh nhân… TÀI LIỆU THAM KHẢO [1]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 ( tác giả Nguyễn Thị Ngọc Mai (chủ biên ). Nhà xuất bản giáo dục 2000). [2]. Lập trình ứng dụng chuyên nghiệp SQL SERVER 2000 (NXB nhà xuất bản giáo dục, Phạm Hữu Khang chủ biên). [3]. Bài giảng Cơ sở dữ liệu & Phân tích thiết kế hệ thống thông tin quản lý (Nguyễn Hữu Trọng, trung tâm ngoại ngữ tin học_trường đại học Thuỷ sản lưu hành nội bộ 10/1999). [4]. Lập trình Visual Basic 6.0 trong 21 ngày (Nguyễn Tiến, Ngô Quốc Việt, Phạm Tuấn Kỳ. Nhà xuất bản giáo dục 1997). [5]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 (Đậu Quang Tuấn. Nhà xuất bản trẻ 2000). [6]. Lập trình cơ sở dữ liệu trong 21 ngày (Nguyễn Đình Tê chủ biên, 3 tập. Nhà xuất bản giáo dục 2000).

Các file đính kèm theo tài liệu này:

  • docbao cao.doc
Tài liệu liên quan