Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
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 Hải Dơng là một trong những trung tâm khám
chữa bệnh lớn nhất tỉnh Hải Dơng. 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 Hải Dơng 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 , đợ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.
Em 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 Hải Dơng, 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à thầy Lê Đức Trung ngời trực tiếp hớng dẫn
em trong suốt thời gian thực tập vừa qua.1
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
- 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.2
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
- 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
ờ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
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à một số công cụ khác.
Desktop
Engine
Personal
Standard
Developer
Enterprise
Full Text
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
Transformatio
n 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
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.
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.9
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
+ 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
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ữ 10
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
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:
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
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 view13
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
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]
e. 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 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
đến kết nối. Đối tợng Command có một tập các đối tợng con là
Paramenters để giữ bất cứ tham số nào có thể thay thế cho query.
Recordset cũng có một tập các đối tợng con Properties để lu các thông tin
chi tiết về đối tợng.16
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
II.3 Các thuộc tính đặc biệt của đối tợng ADO
Mô hình ADO có một số thuộc tính mà các mô hình cơ sở dữ liệu khác
nh DAO và RDO không có. Các thuộc tính này điều khiển cách thức tạo ra
Dataset và quyền hạn truy cập trong một kết nối dữ liệu, có bảy thuộc tính
nh sau:
- Connection String (Chuỗi kết nối)
- Command 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
- Rất dễ thành lập, bằng cách phân rã dần các chức năng từ trên
xuống18
Quản lý bệnh nhân
0
Cấp số
1
Khám bệnh
2
Thu viên phí
3
Thu tạm
ứng BN
3.1
Thanh toán
với BHYT
3.2
Cấp
thuốc
2.1
Tiếp
nhận BN
2.2
Cung
cấp DV
2.3
Lập
bệnh án
Mức 0, hay mức bối cảnh chỉ gồm biểu đồ luồng dữ liệu, trong đó chỉ
có một chức năng duy nhất, trao đổi các luồng thông tin với các đối tác.
Mức 1, còn gọi là mức đỉnh, cũng chỉ dùng một biểu đồ luồng dữ liệu,
và mức 2, 3, ..., mỗi mức gồm nhiều hơn 1 biểu đồ luồng dữ liệu đợc thành
lập nh sau:
- Cứ mỗi chức năng ở mức trên, ta thành lập một biểu đồ luồng dữ liệu,
ở mức dới, gọi là biểu đồ luồng dữ liệu định nghĩa chức năng đó theo cách
sau:
+ Phân rã chức năng đó thành nhiều chức năng con.
+ Vẽ lại luồng dữ liệu vào và ra chức năng trên, nhng nay phải vào
hay ra chức năng con thích hợp.
+ Nghiên cứu các quan hệ về dữ liệu giữa các chức năng con, nhờ
đó bổ sung các luồng dữ liệu nội bộ hoặc các kho dữ liệu nội bộ.19