phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân bệnh viện đa khoa tỉnh khánh hòa
Lời nói đầu Ngày này 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 công nghệ thông tin là một công cụ hỗ trợ rất đắc lực trong công tác quản lý. Chúng ta dễ dàng thấy đợc việc đa tin học vào trong quản lý kinh doanh là một trong những ứng dụng quan trọng trong rất nhiều ứng dụng cơ sở dữ liệu. Nhờ vào công tác tin học hóa 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 Hòa là một trong những trung tâm khám chữa bệnh lớn nhất tỉnh Khánh Hòa. Do đó nhu cầu ứng dụng cơ sở dữ liệu trong việc quản lý bệnh nhân là hết sức thiết thực. Vì vậy em chọn đề tài phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện đa khoa tỉnh Khánh Hòa làm đề tài thực tập tốt nghiệp. Hệ thống đợc phân tích và thiết kế theo phơng pháp có cấu trúc và đợc cài đặt trên môi trờng Visual Basic 6.0 và đợc thiết kế dữ liệu dựa trên ngôn ngữ SQL Server 2000, các chơng tiếp theo sẽ nói rõ hơn về vấn đề này Mặc dù có nhiều cố gắng nhng vốn kiến thức cha sâu nên không thể tránh khỏi những thiếu sót. Rất mong đợc sự góp ý của quý thầy cô,anh chị cùng các bạn để báo cáo đợc hoàn thiện hơn. Tôi xin chân thành cảm ơn phòng Kế Hoạch Tổng Hợp bệnh viện đa khoa tỉnh Khánh Hòa, quý thầy cô và các bạn đã tận tình giúp đỡ tôi hoàn thành báo cáo này đặc biệt là cô Nguyễn Kim Anh ngời trực tiếp hớng dẫn em trong suốt thời gian thực tập vừa qua. Sinh viên thực hiện: Bùi Văn Mừng Chơng I: Giới Thiệu Nội Dung Đề Tài I. Giới thiệu hệ thống 1. Nhiệm vụ của hệ thống quản lý bệnh viện Hệ thống quản lý bệnh nhân là một hệ thống giúp cho chúng ta quản lý bệnh nhân đã và đang điều trị tại bệnh viện, cũng nh trong quá trình khám chữa bệnh của bệnh nhân tại bệnh viện. Quản lý việc thanh toán tạm ứng của bệnh nhân với bệnh viện cũng nh của bệnh viện với bảo hiểm y tế, quản lý l- ợng bệnh nhân đến điều trị tại bệnh viện trong những khoảng thời gian xác định. Đồng thời chúng ta đi thống kê số lợng Bệnh nhân mắc phải một số căn bệnh nào đó trong một thời gian trong năm để đa ra phơng pháp điều trị và đề phòng Đồng thời chúng ta còn thống kê đợc một số căn bệnh mà Bộ Y Tế và nhà nớc quan tâm. 2 Tổ chức của bệnh viện đa khoa tỉnh Khánh Hòa a. Quản lý một số thông tin về nhân viên làm việc tại bệnh viện - Quản lý họ tên của nhân viên (chủ yếu là Y, Bác sĩ). - Quản lý địa chỉ của nhân viên. - Quản lý số điện thoại của nhân viên (nếu có). - Và quản lý một số thông tin khác của nhân viên để phục vụ cho việc quản lý bệnh nhân cũng nh quá trình khám chữa bệnh của bệnh nhân trong bệnh viện đợc dễ dàng hơn nh: khoa, chuyên môn, chức vụ. b. Quản lý dữ liệu về bệnh nhân điều trị tại bệnh viện Khi một bệnh nhân đến bệnh viện để khám chữa bệnh ta cần lu trữ những thông tin sau: - Quản lý họ tên bệnh nhân (họ và tên bệnh nhân quản lý riêng). - Quản lý địa chỉ bệnh nhân(quản lý địa chỉ tới mức xã). - Quản lý bảo hiểm y tế của bệnh nhân. (nếu bệnh nhân có thẻ bảo hiểm y tế thì quản lý số thẻ bảo hiểm y tế và nếu bệnh nhân đó đang làm việc tại một cơ quan nào đó thì Quản lý thêm cơ quan mà bệnh nhân đó đang làm việc) - Trong quá trình khám chữa bệnh tại bệnh viện bệnh nhân có yêu cầu dùng thêm một số dịch vụ, chúng ta quản lý thêm trong quá trình đó bệnh nhân đã dùng những dịch vụ nào. - Quản lý hồ sơ chứng từ về các khoản tiền mà bệnh nhân phải đóng cho bệnh viện cũng nh đã đóng cho bệnh viện (Tạm ứng). c. Quản lý quá trình khám chữa bệnh của bệnh nhân tại bệnh viện. - Bệnh nhân đến nơi tiếp nhận bệnh nhân (phòng cấp số) để đăng ký khám chữa bệnh và đợc chỉ định một vị trí khám bệnh. - Bệnh nhân đợc bác sĩ khám bệnh - Sau khi khám bệnh, bệnh nhân thuộc một trong hai loại: Điều trị tại nhà hoặc điều trị tại bệnh viện. + Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một đơn thuốc trong đó ghi đầy đủ tên thuốc, số lợng và cách dùng cũng nh căn bệnh mà bác sĩ dự đoán. + Nếu bệnh nhân phải nhập viện thì bác sĩ cho một giấy nhập viện, trên đó ghi đầy đủ thông tin về bệnh nhân và căn bệnh dự đoán sau đó bệnh nhân đợc đa đến khoa điều trị. - Tại khoa điều trị bệnh nhân đợc bác sĩ khám lại và cho một đơn thuốc trên đơn thuốc có ghi đầy đủ tên thuốc số lợng và cách dùng. Theo định kỳ bác sĩ sẽ khám bệnh lại cho bệnh nhân (tùy theo từng loại bệnh nhân). Trong quá trình điều trị tại bệnh viện bác sĩ sẽ lập một bệnh án của bệnh nhân trong đó ghi đầy đủ thông tin về bệnh nhân, căn bệnh mà bệnh nhân mắc phải cũng nh diễn biến quá trình điều trị tại bệnh viện. - Trong quá trình điều trị bệnh nhân có thể yêu cầu dùng thêm một số dịch vụ nh: X_quang, Siêu âm việc sử dụng này cũng theo sự chỉ định của bác sĩ, mỗi loại dịch vụ có một giá riêng. - Trong quá trình điều trị tại bệnh viện cứ ba ngày bệnh viện yêu cầu bệnh nhân đóng tạm ứng viện phí một lần. Nếu bệnh nhân có thẻ bảo hiểm y tế thì bệnh nhân chỉ phải đóng phần trăm viện phí theo quy định của bảo hiểm y tế. Trong quá trình điều trị nếu bệnh nhân không thanh toán viện phí mà tự ý xuất viện thì bệnh viện sẽ lu lại toàn bộ thông tin về bệnh nhân đó. - Đối với bệnh nhân có thẻ bảo hiểm y tế thì vẫn phải nộp một phần viện phí theo phần trăm ghi trên bảo hiểm. - Theo chu kỳ hàng tháng bệnh viện thanh toán viện phí của bệnh nhân có bảo hiểm y tế với bảo hiểm y tế. 3. Những yêu cầu cần giải quyết - Bệnh nhân có những yêu cầu sau: + Tổng chi phí trong thời gian điều trị tại bệnh viện. + Tổng số tiền đã đóng. + Tổng số tiền mà bệnh nhân phải đóng. + Cần biết chi tiết các khoản phải đóng. - Các bác sĩ cần biết những thông tin sau: + Cần biết rõ diễn biến bệnh của bệnh nhân mà mình đang điều trị. + Cần tìm kiếm một số trờng hợp tơng tự để tìm lấy một số giải pháp chữa trị hữu hiệu nhất. + Cần thống kê bệnh nhân theo từng mùa hoặc theo từng bệnh để đa ra một số phơng án hoạt động dự phòng một số bệnh theo từng mùa hoặc theo từng khu vực - Ngời nhà bệnh nhân cần biết + Biết đợc diễn biến chính xác bệnh của ngời nhà mình (có một số trờng hợp bác sĩ không thể nói trực tiếp với bệnh nhân đợc nên phải nói với ngời nhà bệnh nhân) + Có thể biết quá trình điều trị của ngời nhà mình cũng nh biết rõ đợc ngời nhà mình đang đợc điều trị nh thế nào. - Đối với nhân viên tài chính của bệnh viện + Tổng số tiền tạm ứng mà bệnh nhân đã đóng và cha đóng (còn lại là bao nhiêu). + Tổng số bệnh nhân điều trị trong tháng có bảo hiểm y tế, và tổng chi phí của những bệnh nhân này để thanh toán với bảo hiểm y tế. 4. Hớng phát triển của hệ thống quản lý bệnh nhân hiện nay. Ngày nay với sự ra đời và phát triển nhanh chóng của máy tính đã làm thay đổi phong cách làm việc của hầu hết các cơ quan t nhân cũng nh nhà nớc. Trớc kia mọi thủ tục cũng nh việc lu trữ đều dựa trên giấy tờ do đó rất khó khăn trong việc tìm kiếm một hồ sơ về một ngời, cũng nh tìm kiếm một vấn đề nào đó trong rất nhiều hồ sơ lu trữ, cha kể đến việc thống kê theo một tiêu chí nào đó Ngày nay với sự trợ giúp của máy tính chúng ta có thể thực hiện các công việc đó một cách dễ dàng, nhanh chóng và chính xác. Với hệ thống quản Lý bệnh nhân chúng ta có thể thực hiện việc tìm kiếm một bệnh nhân, cũng nh việc thống kê bệnh nhân theo những tiêu chí mà ban lãnh đạo bệnh viện đa ra một cách nhanh chóng và hiệu quả II.Hớng thực thi đề tài - Đối tợng sử dụng: Đối tơng sử dụng hệ thống chủ yếu la nhân viên trong bệnh viện (chủ yếu là những ngời dùng chuyên nghiệp, có những hiểu biết nhất định về chuyên môn cũng nh tin học) nên việc thiết kế một hệ thống sử dụng chuyên nghiệp là việc cần thiết. - Vấn đề phân tích bài toán: Trong đề tài này em phân tích theo phơng pháp có cấu trúc, vì các lẽ nh sau: + Phơng pháp có cấu trúc, trải qua thời gian đã chứng tỏ đợc tính kinh điển của nó. + Phơng pháp có cấu trúc là phơng pháp dung dị, không cầu kỳ nh một số phơng pháp khác, dễ áp dụng, nhng lại rất hữu hiệu. Ngày nay nó cha lạc hậu mà vẫn còn phát huy tác dụng. - Vấn đề lựa chọn ngôn ngữ cũng là một vấn đề hết sức quan trọng. Hiện nay có rất nhiều hệ quản trị cơ sở dữ liệu nh Oracle, Access, Fospro, SQL Server, Song để phù hợp với cách quản lý tại bệnh viện hiện nay và để cho hệ thống phát triển sau này (có thể đa lên mạng Internet cũng nh mạng liên bệnh viện ). Em đã lựa chọn ngôn ngữ SQL Server 2000 làm ngôn ngữ thiết kế dữ liệu và ngôn ngữ Visual Basic 6.0 làm ngôn ngữ thiết kế giao diện. Đặc điểm về hai ngôn ngữ này sẽ đợc trình bày kỹ ở chơng giới thiệu ngôn ngữ (các chơng tiếp theo). Tuy nhiên trong đề tài này em cài đặt hệ thông trên máy đơn. Chơng II. Giới thiệu ngôn ngữ cài đặt hệ thống I. Giới thiệu chung về hệ quản trị cơ sở dữ liệu và SQL Server 2000 I.1 Hệ quản trị cơ sở dữ liệu là gì? 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ệ (RDBMS) hay còn đợc gọi là Relation 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 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 khóa 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, cơ sở dữ liệu mạng, Những thành phần chính trong SQL Server 2000 Hệ Thống Diễn Tả ấn Bản SQL Server 2000 Đây là phần chính của hệ thống, là trung tâm điều hành những phần thực thi khác. Với Desktop Engine bạn sẽ thấy các dịch vụ trong hệ thống nh: SQL Server Profiler, và Desktop Engine Personal Standard một số công cụ khác. Developer Enterprise Full Text Sarch Đây là phần tự chọn trong lúc cài đặt, nếu bạn muốn chức năng tìm kiếm thì nên chọn hệ thống này vì chúng không là phần mặc nhiên. Full Text Sarck cung cấp chức năng tìm kiếm (Word) rất mạnh, nếu sử dụng Iternet để tìm kiếm thì đây là một giải pháp tuyệt vời. Nếu bạn muốn tìm kiếm một chuỗi con trong một văn bản lớn thì đây là công cụ thích hợp cho công việc đó. Personal (Except Win95) Standard Developer Enterprise English Query English Query cho phép ngời sử dụng không có kỹ thuật về SQL cũng có thể sử dụng SQL Server, bằng cách đặt câu hỏi chuỗi English sau đó đợc dịch ra Query mà có thể thực thi trên SQL Server. Personal Standard Developer Enterprise Analusis Services Phần này không bao gồm mặc định trong 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 Processing), sử dụng cho cơ sở dữ liệu lớn. Personal Standard Developer Enterprise Replication Chức năng này cho phép tái tạo một bản sao đến SQL Server khác, thông thờng dùng chức năng này cho các hệ thống Server từ xa hay trong Network, nhằm để làm giảm trao đổi dữ liệu giữa các SQL Server với nhau. Desktop Engine Personal Standard Developer Enterprise Data Transformation Servise Data Transformation Servise (DTS) đợc mở rộng trong phiên bản SQL Server 2000, bao gồm những chức năng trao đổi dữ liệu giữa các cơ sở dữ liệu, và giao tiếp dữ liệu giữa các cơ sở dữ liệu khác nhau, đây là những giải pháp lập trình trên Visual Basic. Desktop Engine Personal Standard Developer Enterprise 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 lu trữ những chuyển tát 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ảng ảo) số liệu dựa trên bảng. - Stored Procedure: Các thủ tục lu trữ 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. 2. Các đố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ệ quản trị 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 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 nhập nhất định. Cài đặt cơ sở dữ liệu 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ệ hệ thống), chúng kiểm soát tất cả hoạt động của hệ quản trị cơ sở dữ liệu SQL Server. Ví dụ: Khi ngời dùng cơ sở dữ liệu mới trong SQL Server, thêm hoặc xóa một Procedure thì tất cả thông tin này đều đợc lu trữ trong cơ sở dữ liệu Master của hệ thống. - 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ộ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 tao mới cơ sở dữ liệu cho ngời dùng khi có yêu cầu, bạn không đợc xóa cơ sở dữ liệu này. Khi một cơ sở dữ liệu đợc tạo ra thì ít nhất cơ sở dữ liệu mới này cũng bằng và giống nh cơ sở dữ liệu model. - Msdb: Nh đã nêu, chúng ta có hai cơ sở dữ liệu hệ thống master và model, nếu xóa một trong hai cơ sở dữ liệu này thì hệ thống SQL Server sẽ bị lỗi, nhng với cơ sở dữ liệu Msdb thì khác. Msdb chính là SQL Agent lu trữ tất cả các tác vụ xảy ra trong SQL Server. - 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. - 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. - 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 cho các lập trình viên Visual Basic hay Assces 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 Log: Tập tin chứa đựng những hoạt động, hay tất 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 ta chỉ cần tham khảo tập tin log sẽ biết đợc nguyên nhân. 3. Giới thiệu một số đối tợng cơ sở dữ liệu SQL Server - Bảng - Table Trong cơ sở dữ liệu, bảng (Table) là phần chính của chúng. Do bảng là đối t- ợng lu 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ỳ 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 hoặc từ chối tùy 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 đó là khóa 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 lu trong trờng này hay không + Default: Giá trị mặc nhiên cho trờng + Identity: Nếu ta sử dụng một trờng có giá trị tự động nh autonumber trong assces, trờng này Not Null và Identity: Yes(No) + 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 nhậ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 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, xóa 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 đó - Lợc đồ quan hệ - Diagram Khi xây dựng cơ sở dữ liệu cho ứng dụng hay thơng mại điện tử, thờng đều phải dựa trên trình phân tích và thiết kế hệ thống. Sau những bớc phân tích và thiết kế, chúng ta 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 nhng view không thể chứa dữ liệu, bản thân view có thể tạo nên trờng mới dựa vào những phép toán biểu thức của SQL Server. - Thủ tục lu trữ - 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 khiển. Stored Procedure có các u điểm lớn nh 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ể gọi Stored Procedure theo cách gọi thủ tục hay hàm trong ngôn ngữ lập trình truyền thống, đồng thời sử dụng lại khi yêu cầu. - Sử dụng kiểu dữ liệu Cursor (Cursor type) 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 Cursor. 4. 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 có 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 tiền tệ (Money, SmallMoney, ), kiểu chuỗi (Char, nchar, Varchar, Text, ) và nhiều kiểu dữ liệu khác. Ngoài ra SQL Server cong 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 sự chuyển đổi từ dữ liệu kiểu Float hay Real, 5. Một số phát biểu cơ bản của T-SQL T-SQL còn gọi là Transact-SQL (SQL) bao gồm các phát biểu nh SELECT, INSERT, UPDETE, DELETE - Lệnh Select SELECT <Danh sách các cột> FROM <Danh sách bảng> [WHERE <Các điều kiện ràng buộc>] [GROUP BY <Tên cột hay biểu thức sử dụng cột trong SELECT>] [HAVING <Điều kiện bắt buộc dựa trên GROUP BY>] [ORDER BY <Danh sách cột>] Trong đó tất cả các phát biểu nằm trong cặp dấu ngoặc [] thì có thể có hoặc có thể không có. 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 sẽ 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 một số biểu thức tính toán, - Lệnh INSERT Để thêm dữ liệu vào bảng (Table) ta dùng câu lệnh truy vấn INSERT cú pháp nh sau: INSERT INTO <Tên bảng> (danh sách cột) VALUES (Danh sách giá trị) - Lện UPDATE Để sửa dữ liệu trong một bảng đã có sắn ta dùng câu truy vấn UPDATE cú pháp nh sau: UPDATE FROM <Tên bảng> SET <Têncột>=<Giá trị> WHERE <Điều kiện> - Lệnh DELETE Để xóa 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 <Tên bảng> WHERE <Điều kiện> Ngoài ra trong SQL Server còn có những phát biểu cho phép kết nối nhiều bảng với nhau (JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN) 6. Khái niệm về đối tợng trong SQL và cách tạo đối tợng trong SQL Server 2000 a. Tạo cơ sở dữ liệu (CREATE DATABASE) Để tạo một cơ sở dữ liệu trong SQL Server ta dùng cú pháp nh sau: CREATE DATABASE <Database_Name> [ON[PRIMARY]( [Name=<Logical File name>,] File Name=<FileName> [,SIZE=<Size in Megabyte or KiloByte] [,MAXSIZE=<Size in Megabyte or Kilobyte] FILEGROWTH=<NO of Kylobyte | Percentage] )] (LOG ON [Name=< Logical File name>,] FileName=<File Name> [,SIZE=<Size in Megabyte or Kylobyte>] [,MAXSIZE=<Size in Megabyte or Kilobyte>] FILEGROWTH=<NO of Kylobyte | Percentage>] )] [COLLATE <Collation>] [For Load | For Attach] Trong đó: - ON: Định nghĩa nơi chứa dữ liệu và không gian chứa tập tin log - Name: Tên tập tin cơ sở dữ liệu trên đĩa cứng, lu ý 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 dung lợng cơ sở dữ liệu khi tạo chúng. Thông th- ờng là 1 MB - 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. Ngoài việc tạo cơ sở dữ liệu bằng mã lệnh trong SQL Server còn cho phép tạo cơ sở dữ liệu bằng giao diện đồ họa. Để tạo cơ sở dữ liệu ta dùng trình SQL Server Enterprise Manager. Việc thực hiện bằng giao diện đồ họa có vẻ đơn gian và hiệu quả hơn. b. 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 [Database_name.[owner].table_name (<column name><data type> [[DEFAULT <constant expression>] [[IDENTITY (seed, increament) [NOT FOR REPLICATION]]]] [ROWGUIDCOL] [NULL | NOT NULL] [<column constraint>] [column_name as computed_columns_expression ) ON {<filegroup>> | 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 chúng ta nên đặt tên ngắn gọn dễ 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 đề là chọn dữ liệu nào cho phù hợp với dữ liệu mà ngời dùng sẽ nhập vào. - Giá trị mặc nhiên (Default): Gán giá trị mặc nhiên cho những cột không có giá trị. - 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. - NULL | NOT NULL: Là trạng thái của một cột có cho phép 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 tra 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 đồ họa nh tạo cơ sở dữ liệu. Trong khi xây dựng bảng dữ liệu cần chú ý đến các trờng khóa c. 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 cũng nh giao diện đồ họa View cho phép kết nối nhiều bảng với nhau để hiển thi thông tin. d. Tạo thủ tục lu trữ (Stored Procedure hay sp) 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<Procedure name> [<Paramenters name><data type> [VARYING] [=<default value>][OUT PUT], [<Parameters><data type> [VARYING] [=<default value>][OUT PUT][, [WITH RECOMPILE | ENCRIPTION | RECOMPILE, ENCRIPTION] [FOR REPLICATION] AS <cade> GO Đó là cú pháp đầy đủ để tạo một Stored Procedure song ta có thể tạo Stored Procedure bằng giao diện đồ họa [...]... Mã khám bệnh - Ngày KB không đợc sau ngày hiện tại - Chi phí KB là khoản tiền mà bệnh nhân phải trả sau khi khám bệnh khoản này không đợc nhỏ hơn 0 4.11 Bảng bệnh nhân bệnh nhân (Mã Bênh Nhân, Họ bệnh nhân, Tên bệnh nhân, Ngày Sinh BN, Giới Tính BN, Mã Xã) Tên trờng Loại dữ liệu Mô tả Kích thớc Mã bệnh nhân Char Mã bệnh nhân Len()=9 Họ bệnh nhân Char Họ bệnh nhân 20 Tên bệnh nhân Char Tên bệnh nhân 10... biểu đồ luồng dữ liệu của hệ thống nh sau: Biểu đồ luồng dữ liệu mức bối cảnh: Trong biểu đồ luồng dữ liệu mức bối cảnh chỉ có một chức năng 0 (chức năng quản lý bệnh nhân) , các tác nhân của hệ thống gồm: Bệnh nhân, khoa điều trị và phòng tài chính Kết quả bệnh nhân Yêu cầu KB Quản lí bệnh nhân 0 Chi phí khám chữa bệnh Kết quả Danh sách BN nhập viện Danh sách BN điều trị Bệnh án Khoa điều trị Biểu đồ luồng... nhất Mã bệnh Mã xã Mã vị của Sau khi phân tích hệ thống em đã đa ra mô hình E/A hạn chế trí bài toán Tên xã Ngày KB nh sau (trang sau): Mã huyện Nội dung KB Bệnh nhân Chi phí KB Mã bênh nhân Họ bệnh nhân Tên bệnh nhân Ngày sinh BN Giới tính BN Mã xã bảo hiểm y tế Mã bệnh nhân Số thẻ BHYT Ngày bắt đầu Thuốc dùng Ngày kết thúc Mã khám bệnh Phần trăm Bệnh án Mã nhân viên Mã khám bệnh Mã bệnh nhân Mã nhân. .. Chức năng quản lý bệnh nhân đợc phân ra thành các chức năng cấp số, khám bệnh, thanh toán viện phí Ngoài ra ở đây trong biểu đồ còn xuất hiện thêm các tác nhân nh khoa điều trị, phòng tài chính và toàn bộ kết quả khám bệnh của bệnh nhân đợc lu vào một tệp có tên là hồ sơ bệnh nhân tất cả những thông tin về bệnh nhân đợc lu trữ tại đây Thông qua tệp này phòng tài chính sẽ gửi giấy thanh toán viện phí... Ngày sinh bệnh nhân Giới tính BN Boolear Giới tính bệnh nhân Mã xã Char Mã xã Len()=6 Giải thích + Bảng bệnh nhân lu trữ tất cả các thông tin về bệnh nhân - Mã bệnh nhân gồm 9 ký tự 4 ký tự đầu là năm mà bệnh nhân đó khám, còn lại 5 ký tự sau là thứ tự bệnh nhân đó đến khám trong năm - Ngày sinh bệnh nhân không đợc sau ngày hiện tại và tuổi bệnh nhân không đợc lớn hơn 150 - Giới tính bệnh nhân là True... bệnh Len()=9 Mã nhân viên Char Mã nhân viên Len()=5 Mã bệnh nhân Char Mã bệnh nhân Len()=9 Mã bệnh Char Mã bệnh Len()=5 Mã vị trí Char Mã vị trí Len()=2 Mã nơi Đ.T Char Mã nơi điều trị Len()=2 Ngày vào Date Ngày bệnh nhân nhập viện Ngày ra Date Ngày bệnh nhân ra viện Tình trạng ra Char Tình ra viện của bệnh nhân 50 Giải thích + Bệnh án là mối kết hợp đợc sinh ra từ mối kết hợp Dòng Khám Bệnh nên nó nhận... bất kỳ form nào khác Form thông tin bệnh nhân có chức năng hiển thị tất cả các thông tin về bệnh nhân, ngoài ra ta còn có thể thêm một bệnh nhân, sửa, xóa một bệnh nhân trên form này tất nhiên là ngời thay đổi thông tin là ngời đợc trao quyền truy xuất và thay đổi dữ liệu Form chính của chơng trình Trong form này khi ta click vào một bệnh nhân bất kỳ thì mọi thông tin về bệnh nhân đó đều đợc hiển thị... lu lại thông tin đó để phục vụ việc lu trữ và thanh toán tạm ứng sau này Song khi bệnh nhân phải nhập viện thì tại khoa điều trị sẽ lập bệnh án cho bệnh nhân đó và cũng đợc lu lại trong bệnh án ghi đầy đủ thông tin về bệnh nhân quá trình điều trị tại bệnh viện Đơn thuốc Bệnh nhân Cấp thuố c 2.1 Thuốc cấp Giấy NV Tiếp nhận Yêu cầu Dịc vụ dùng Tiếp nhận BN N/V 2.2 Cung cấp dịch vụ 2.3 Giấy NV Khoa điểu... Basic còn có các câu lệnh chuẩn khác, Quản lý bệnh nhân 0 Chơng III Phân Tích Và Thiết Kế Hệ Thống I Phân tích hệ thống về chức năng Khám Thu viên phí Cấp số I.1 Biểu đồ phân cấp chức năng2 bệnh 3 1 1 Biểu đồ phân cấp chức năng là gì ? Là một loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thể đến chi tiết Mỗi nút trong biểu đồ là một chức năng, và quan hệ duy nhất giữa các chức năng, diễn... thấy bệnh nhân nào nên ta có thể xem chi tiết từng bệnh nhân, và có thể in chi tiết đó ra giấy, chúng ta cũng có thể in ra toàn bộ danh sách bệnh nhân đã tìm kiếm đợc Form tìm kiếm bệnh nhân Form thống kê bệnh nhân cũng tơng tự nh với tìm kiếm ta cũng có thể thống kê theo bệnh của bệnh nhân Sau khi tìm kiếm thông thờng ta tìm đợc một danh sách bệnh nhân và ta cũng có thể in ra danh sách đó Form thống . lý bệnh nhân là hết sức thiết thực. Vì vậy em chọn đề tài phân tích và thiết kế hệ thống thông tin quản lý bệnh nhân tại bệnh viện đa khoa tỉnh Khánh Hòa làm đề tài thực tập tốt nghiệp. Hệ thống. Tài I. Giới thiệu hệ thống 1. Nhiệm vụ của hệ thống quản lý bệnh viện Hệ thống quản lý bệnh nhân là một hệ thống giúp cho chúng ta quản lý bệnh nhân đã và đang điều trị tại bệnh viện, cũng nh trong. trữ những thông tin sau: - Quản lý họ tên bệnh nhân (họ và tên bệnh nhân quản lý riêng). - Quản lý địa chỉ bệnh nhân (quản lý địa chỉ tới mức xã). - Quản lý bảo hiểm y tế của bệnh nhân. (nếu bệnh nhân