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
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
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
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
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
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
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>]
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.
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
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 thiết, các hàm xây dựng sẵn,
Ngoài ra Visual Basic chứa một số phơng tiện giúp cho việc áp dụng kỹ
thuật hớng đối tợng trong việc truy cập dữ liệu. Trong Visual Basic có rất nhiều
phơng pháp truy cũng nh các đối tợng truy cập dữ liệu nh: ADO, ADODB,
DAO, nói chung các đối tợng này có những thuộc tính tơng đối giống nhau.
Connection
Command
Parameter
Recorset
Fields
Error
Sơ đồ mô hình ActiveX Data Object
- 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.1 Biể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ể
2.4
2. Đặc điểm của biểu đồ phân cấp chức năng:
- Cho một cách nhìn khái quát, dễ hiểu, từ đại thể đến chi tiết về các
chức năng, nhiệm vụ cần thực hiện (thờng ở mức diễn tả logic)
- 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ống
- Có tính chất tĩnh, bởi chúng chỉ cho thấy các chức năng mà không
cho thấy trình tự xử lý.
- Thiếu vắng sự trao đổi thông tin giữa các chức năng.
Vì những lý do trên nên biểu đồ phân cấp chức năng thờng đợc sử dụng
làm mô hình chức năng trong bớc đầu phân tích, hoặc cho các hệ thống đơn
giản. Nếu hệ thống phức tạp thì biểu đồ phân cấp chức năng là quá sơ lợc và
còn thiếu sót nêu trên nên không thể châm trớc đợc. Khi đó chúng ta thờng
dùng biểu đồ luồng dữ liệu
I.2 Biểu đồ luồng dữ liệu
1. Biểu đồ luồng dữ liệu là gì ?
Biểu đồ luồng dữ liệu là một loại biểu đồ nhằm mục đích diễn tả một quá
trình xử lý thông tin với các yêu cầu sau:
- Sự diễn tả ở mức logic, nghĩa là nhằm trả lời câu hỏi Làm gì, mà
bỏ qua câu hỏi làm nh thế nào ?.
- Chỉ rõ các chức năng (con) phải thực hiện để hoàn tất quá trình xử lý
cần mô tả
- Chỉ rõ các thông tin đợc chuyển giao giữa các chức năng đó, và qua
đó phần nào thấy đợc trình tự thực hiện của chúng.
2. Kỹ thuật phân mức
Kỹ thuật này còn đợc gọi là Phân tích từ trên xuống (top-down analysis)
tiến hành phân tích chức năng của hệ thống bằng cách đi dần từ một mô tả đại
thể đến những mô tả chi tiết thông qua nhiều mức. Sự chuyển dịch từ một mức
tới mức tiếp theo thực chất là phân ra một chức năng thành một số chức năng
con ở mức dới.
Chi phí khám
chữa bệnh
Biểu đồ luồng dữ liệu mức bối cảnh
Phòng tài chính
Khoa điều trị
Chi phí
của BN
Danh
sách
BN
điều trị
Bệnh
án
Kết
quả
Danh sách
BN nhập
viện
Biểu đồ luồng dữ liệu mức đỉnh:
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í đến cho bệnh nhân và bảo hiểm y tế .
bệnh nhân
Cấp
số
1
Yêu cầu KB
sách BN
nhập viện
Bệnh
án
Biểu đồ luồng dữ liệu biểu diễn chức năng khám bệnh:
Lúc này chức năng khám bệnh đợc phân rã thành bốn chức năng: Cấp
thuốc, cung cấp dịch vụ, tiếp nhận bệnh nhân nhập viện, lập bệnh án. lú này
bệnh nhân đã có đợc kết quả khám bệnh. Trong biểu đồ trên hầu hết các chức
năng đợc thực hiện một cách thủ công và đợc lu lại trong tệp Hồ Sơ bệnh nhân
nh vậy khi bệnh nhân mua thuốc thì tại phòng cấp thuốc sẽ lu lại đơn thuốc
của bệnh nhân đã mua và tơng tự nh vậy khi bệnh nhân dùng dịch vụ cũng đợc
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.
Đối với biểu đồ luồng dữ liệu phân cấp chức năng thanh toán viện phí:
Tơng tự chức năng khám bệnh với chức năng thanh toán tạm ứng viện phí của
bệnh nhân đợc phân ra thành hai chức năng là: thu tạm ứng, và thanh toán với
Hồ sơ Bênh Nhân
Bệnh nhân
Cấp
thuố
c
2.1
Đơn thuốc
Thuốc cấp
Khoa điểu trị
Cung
cấp
dịch vụ
1. Khái niêm mô hình thực thể/liên kết
Mô hình thực thể/ liên kết (Entity/Association Model) là mô hình dữ liệu do
P.P. Chen đa ra năm 1976 và sau đó đợc dùng khá phổ biến trên thế giới. Nó có
đặc điểm khá đơn giản và gần với t duy khách quan. Khi xem xét các thông
tin, ngời ta thờng gom cụm chúng xung quanh các vật thể
2. Các loại mô hình E/A
- Mô hình E/A kinh điển
Mô hình E/A kinh điển xuất phát từ ba khái niệm cơ bản: thực thể, liên
kết và thuộc tính.
+ Các thực thể: Là một vật thể cụ thể hay trừu tợng, tồn tại thực sự và
khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông
tin.
+ Các thuộc tính: Thuộc tính (Property hay attribute) là một giá trị dùng
để mô tả khía cạnh nào đó của thực thể.
+ Các liên Kết: Một liên kết (association) là một sự gom nhóm các thực
thể trong đó mỗi thực thể có một vai trò nhất định.
- Mô hình thực thể/ Liên kết mở rộng.
Đối với những hệ thống phức tạp khi phân tích và thiết kế ngời ta thơng
dùng đến mô hình E/A mở rộng. Do các điểm mở rộng này chịu ảnh hởng từ
xu hớng hiện đại của mô hình hóa hớng đối tợng, cũng nh các hệ quản trị cơ sở
dữ liệu hớng đối tợng. Các đặc điểm của mô hình E/A mở rộng
+ Các kiểu thuộc tính đa trị: Cho phép nhận giá trị có thể là một tập các giá
trị.
bệnh nhân
Thu
tạm
ứng
3.1
Thanh toán viện phí
Phiếu thanh toán
dữ liệu quan hệ nhất.
Sau khi phân tích hệ thống em đã đa ra mô hình E/A hạn chế của bài toán
nh sau (trang sau):
A B
Tỉnh
Mã tỉnh
Tên tỉnh
Huyện
Mã huyện
Tên huyện
Mã tỉnh
Xã
Mã xã
Tên xã
Mã huyện
Khoa
Mã khoa
Tên khoa
Chuyên môn
Mã CM
Tên CM
Chức vụ
Mã CV
Tên CV
Bệnh
Mã bệnh
Tên bệnh
Nhân viên
Mã Nhân viên
Họ tên NV
Ngày bắt đầu
Ngày kết thúc
Phần trăm
Cán bộ
Mã bệnh nhân
Mã cơ quan
Cơ quan
Mã cơ quan
Tên cơ quan
Điện thoại CQ
Fax CQ
Tạm ứng
Mã tạm ứng
Lần tạm ứng
Số tiền
Ngày tạm ứng
Mã bệnh nhân
Bệnh án
Mã khám bệnh
Mã nhân viên
Mã bệnh nhân
Mã bệnh
Mã vị trí
Mã nơi Đ.T
Ngày vào
Ngày ra
Tình trạng ra
Nơi điều trị
Mã nơi Đ.T
Tên nơi Đ.T
+ Đơn giản: các dữ liệu đợc biểu diễn dới một dạng duy nhất, là quan hệ,
tức là các bảng giá trị, khá tự nhiên và dễ hiểu đối với ngời dùng không chuyên
tin học.
+ Chặt chẽ: các khái niệm đợc hình thức hóa cao, cho phép áp dụng các
công cụ toán học, các thuật toán.
+ Trừu tợng hóa cao: mô hình chỉ dừng ở mức quan niệm, nghĩa là độc lập
với mức vật lý, với sự cài đặt, với các thiết bị. Nhờ đó làm cho tính độc lập
giữa dữ liệu và chơng trình cao.
+ Cung cấp ngôn ngữ truy nhập dữ liệu ở mức cao, dễ sử dụng và trở thành
chuẩn.
2. Các dạng chuẩn của lợc đồ quan hệ
Một lợc đồ quan hệ R là ở dạng chuẩn 1 (1NF) nếu các miền thuộc tính của
nó đều là các miền đơn (nghĩa là không cấu thành từ nhiều miền khác).
Một lợc đồ quan hệ R là ở dạng chuẩn 2 (2NF) nếu nó là 1NF và các phụ
thuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm sơ
đẳng. Nói cách khác, mọi thuộc tính ngoài khóa đều không phụ thuộc bộ phận
vào khóa.
Một lợc đồ quan hệ R là ở dạng chuẩn 3 (3NF) nếu nó là 2NF và các phụ
thuộc hàm giữa khóa và mỗi thuộc tính ngoài khóa đều là phụ thuộc hàm trực
tiếp. Nói cách khác là không tồn tại phụ thuộc hàm giữa các thuộc tính ngoài
khóa.
3. Các lợc đồ quan hệ của hệ thống
Từ mô hình thực thể liên kết (mô hình E/A hạn chế ở trên) ta chuyển sang
các lợc đồ quan hệ nh sau:
Tỉnh (Mã tỉnh, Tên tỉnh)
Huyện (Mã huyện, Tên huyện, Mã tỉnh)
Xã (Mã xã, Tên xã, Mã huyện)
Khoa (Mã khoa, Tên khoa)
Chuyên môn (Mã chuyên môn, Tên chuyên môn)
Chức Vụ (Mã chức vụ, Tên chức vụ)
sống
4.2Bảng Huyện
Huyện (Mã Huyện, Tên Huyện, Mã Tỉnh)
Tên trờng Loại dữ liệu Mô tả Kích thớc
Mã huyện Char Mã huyện Len()=4
Tên huyện Char Tên huyện 30
Mã tỉnh Char Mã tỉnh Len()=2
Giải Thích
+ Bảng huyện lu trữ thông tin về huyện mà bệnh nhân và Nhân Viên
đang sống
- Trờng mã huyện gồm có 4 ký tự 2 ký tự đầu là mã tỉnh mà huyện đó
trực thuộc hai ký tự tiếp theo là thứ tự huyện trong tỉnh.
- Trờng mã tỉnh là khóa ngoài của bảng huyện trờng này nhận thông
mã tỉnh từ bảng tỉnh
4.3 Bảng Xã
Xã (Mã xã, Tên xã, Mã huyện)
Tên trờng Loại dữ liệu Mô tả Kích thớc
Mã xã Char Mã xã Len()=6
Tên xã Char Tên xã 30
Mã huyện Char Mã huyện Len()=4
Giải thích
+ Bảng xã cùng với bảng huyện và bảng tỉnh lu trữ thông tin địa chỉ của
bệnh nhân cũng nh nhân viên
- Trờng mã xã gồm có 6 ký tự 4 ký tự đầu là mã huyện mà xã trực
thuộc còn hai ký tự sau là thứ tự xã trong huyện.
- Trờng mã huyện là khóa ngoài của bảng xã, trờng này nhận thông tin
từ trờng mã huyện của bảng huyện
4.4 Bảng KHOA
KHOA(Mã khoa, Tên khoa)
Tên trờng Loại dữ liệu Mô tả Kích thớc
Tên vị trí Char Tên vị trí 30
Giải Thích
+ Bảng này lu trữ thông tin về vị trí mà bệnh nhân đợc khám bệnh
4.9. Bảng Nhân Viên
Nhân Viên (Mã NV, Họ Tên NV, Ngày Sinh NV, Giới Tính NV, Số
Nhà NV, Điện Thoại NV, Mã Xã, Mã Khoa, Mã CM, Mã CV)
Tên Trờng Loại Dữ Liệu Mô Tả Kích Thớc
Mã NV Char Mã nhân viên Len()=5
Họ Tên NV Char Họ tên nhân viên 30
Ngày Sinh NV Date Ngày sing nhân viên
Giới Tính NV Boolear Giới tính nhân viên
Số Nhà NV Char Số nhà nhân viên 30
Điện Thoại NV Char Điện thoại nhân viên 15
Mã Xã Char Mã xã Len()=6
Mã Khoa Char Mã khoa Len()=2
Mã CM Char Mã chuyên môn Len()=2
Mã CV Char Mã chức vụ Len()=2
Giải thích
+ Bảng nhân viên lu trữ tất cả thông tin về nhân viên (Bác sĩ)
- Trờng ngày sinh Nhân Viên nhận dữ liệu sao cho tuổi của nhân viên
không đợc lớn hơn 65 và không đợc nhỏ hơn 18
- Trờng giới tính nhân viên nhận kiểu dữ liệu Boolear (True tơng ứng
với nam, False tơng ứng với nữ).
- Trờng số nhà nhân viên để xác định chỗ ở của nhân viên.
- Bảng Nhân Viên nhận Mã Xã, Mã Khoa, Mã CM, Mã CV làm khóa
ngoài các trờng này nhận giá trị tơng ứng từ các bảng Xã, Khoa,
Chuyên môn, Chức vụ.
4.10. Bảng Dòng Khám Bệnh
Dòng Khám Bệnh (Mã Khám Bệnh, Mã Nhân Viên, Mã bệnh
nhân, Mã Bệnh, Mã Vị trí, Ngày KB, Nội Dung KB, Chi Phí KB)
- 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 tơng ứng với Nam, False tơng ứng với Nữ
- Bảng bệnh nhân nhận mã xã làm khóa ngoài, trờng này nhận giá trị
từ bảng Xã
4.12 Bảng bảo hiểm y Tế
bảo hiểm y tế (Mã bệnh nhân, Số thẻ BHYT, Ngày bắt đầu, Ngày
kết thúc, Phần trăm)
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
Số thẻ BHYT Char Số thẻ bảo hiểm y tế Len()=9
Ngày bắt đầu Date Ngày bắt đầu
Ngày kết thúc Date Ngày kết thúc
Phần trăm Int Phần trăm
Giải thích
+ Bảng Bảo hiểm y tế lu thông tin về BHYT của các bệnh nhân có thẻ
BHYT
- Thực thể bảo hiểm y tế là thực thể chuyên biệt hóa của thực thể bệnh
nhân nên nhận khóa của thực thể bệnh nhân là mã bệnh nhân làm
khóa chính
- Trờng Số Thẻ BHYT là số thẻ bảo hiểm y tế để xác định thẻ đó là của
ai
- Trờng ngày bắt đầu là ngày mà thẻ bảo hiểm y tế có hiệu lực ngày
này không đợc sau ngày kết thúc và sau ngày hiện tại
- Trờng ngày kết thúc là ngày mà thẻ bảo hiểm y tế không còn hiệu lực
(ngày này thờng cách ngày bắt đầu một năm).
- Trờng phần trăm là một số nguyên nằm trong khoảng (1 100)
4.13. Bảng Cơ Quan
Mã bệnh nhân Char Mã bệnh nhân Len()=9
Giải thích
+ Bảng Tạm ứng lu trữ thông tin về số tiền mà bệnh nhân đã tạm ứng
cho bệnh viện, số lần tạm ứng, mỗi lần số tiền là bao nhiêu,
- Mã tạm ứng gồm có 11ký tự 9 ký tự đầu là mã bệnh nhân lấy từ
bảng bệnh nhân, hai ký tự tiếp theo là số lần mà bệnh nhân đó tạm
ứng.
- Lần tạm ứng là lần mà bệnh nhân đóng một phần viện phí trong thời
gian điều trị tại bệnh viện.