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 nhưng vốn kiến thức chưa 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
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ẽ lưu 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ó
đề nào đó trong rất nhiều hồ sơ lưu trữ, chưa 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, nhưng lại rất hữu hiệu. Ngày nay nó chưa 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ì?
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 lưu 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 lưu trữ và hàm nội.
- Users defined: Hàm do người dùng định nghĩa.
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,
nhưng với cơ sở dữ liệu Msdb thì khác. Msdb chính là SQL Agent lưu 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 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ỳ 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
- 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 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 lưu 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,
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, 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.
- 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 lưu 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][,
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 với hàm giá trị trả về là đa dạng hơn và giá trị trả về
này có thể là một bảng.
Ví dụ tạo hàm thống kê bệnh nhân theo tỉnh, hàm này trả về một bảng chứa
thông tin về các bệnh nhân trong tỉnh
CREATE FUNCTION udf_ThongKeBenhNhanTheoTinh
(@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))) II. giới thiệu về Visual Basic 6.0 và cơ sở dữ liệu trong Visual Basic 6.0.
II.1 Giới thiệu chung về Visua Basic
Visua Basic là một trong những ngôn ngữ lập trình bậc cao thông dụng nhất
hiện nay, là một sản phẩm của Microsoft. Nó cũng giống như hầu hết các ngôn
ngữ lập trình bậc cao khác, trong Visua Basic chứa đầy đủ các câu lệnh cần
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 Texxt (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 khóa)
- 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
dbBenhNhan ta có mã lệnh 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=dbBenhNhan"
cn.Open
End Sub
Ngoài ra trong Visual Basic còn chứa một số kiểu dữ liệu thông dụng khác
cũng như Visual Basic cho phép lập trình viên tự định nghĩa kiểu và cũng như
hầu hết các ngôn ngữ lập trình khác, ngoài ra Visual Basic còn có các câu lệnh
chuẩn khác,
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
I.1Biểu đồ phân cấp chức năng
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 tả bởi các cung nối liền các nút, là quan hệ bao hàm. như vậy