MỤC LỤC
- 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. 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. Với biểu đồ luồng dữ liệu thì quá trình phân tích trên xuống lại là quá trình thành lập dần dần các biểu đồ luồng dữ liệu diễn tả các chức năng của hệ thống theo từng mức.
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. 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 lưu vào một tệp có tên là hồ sơ bệnh nhân tất cả. 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 lưu 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ẽ lưu 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 lưu lại thông tin đó để phục vụ việc lưu 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 lưu 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. 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 bảo hiểm y tế. Theo quy định của bệnh viện cứ ba ngày bệnh viện lại yêu cầu bệnh nhân thanh toán tạm ứng viện phí một lần và theo chu kỳ mỗi tháng bệnh viện lại in danh sách bệnh nhân có bảo hiểm y tế đã điều trị tại bệnh viện trong tháng để thanh toán với bảo hiểm y tế.
Mô hình E/A hạn chế tuy bị hạn chế nhiều về các hình thức diễn tả (khó vận dụng), nh−ng lại rất gần với mô hình quan hệ do đó lại dễ dàng chuyển sang cài đặt với hệ quản trị cơ sở dữ liệu quan hệ hơn. + Đơ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. 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) Tên tr−ờng Loại dữ liệu Mô tả Kích th−ớc.
+ Bảng dòng khám bệnh là mối kết hợp giữa các thực thể nhân viên, bệnh nhân, bệnh, vị trí nên nó nhận tất cả các khóa của các theca thể tham gia vào mối kết hợp làm khóa chính, các giá trị của các tr−ờng này đ−ợc lấy t−ơng ứng từ các bảng t−ơng ứng. + Bảng cán bộ là thực thể chuyên biệt hóa của thực thể bảo hiểm y tế nên nó nhận thuộc tính khóa của thực thể này làm khóa ngoài ra để xác định Cán Bộ đó thuộc cơ quan nào thi bảng này phải nhận thêm khóa của thực thể cơ quan làm khóa chính. + 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 tất cả các khóa chính của bảng Dòng Khám Bệnh và nó có Khóa riêng của nó (Mã Bệnh án) ngoài ra thực thể Nơi Điều Trị cũng tham gia vào mối kết hợp này nên nó nhận thêm khóa của thực thể này làm khóa.
+ Thực thể dịch vụ dùng là chuyển từ mối kết hợp giữa Bệnh án với dùng dịch vụ nên nó phải nhận tất cả các khóa của bệnh án làm khóa chính ngoài ra nó còn nhận khóa của thực thể Dịch Vụ làm khóa chính (Mã Dịch Vụ). + bảng thuốc dùng là mối kết hợp đ−ợc sinh ra từ mối kết hợp khám bệnh (thực thể dòng khám bệnh) nên nó nhận khóa của thực thể dòng khám bệnh làm khóa đồng thời nó nhận thuộc tính khóa của thực thể thuốc làm khóa.
Ngoài ra Visual Basic còn cung cấp một dịch vụ kết nối bằng Data Environment rất tiện lợi đây cũng là một dạng kết nối ADO rất dễ sử dụng, tất cả hầu nh− đ−ợc thực hiện qua giao diện đồ họa. Trong Data Environment có thể lưu trữ các bảng (Table), lưu trữ các thủ tục lưu trữ (Stor Procedure) cũng nh− các hàm (Function) và các bảng ảo (View) khác III. Trong đó listItem là đối t−ợng Listview có chức năng hiển thị dữ liệu, biến rs có kiểu Recordset để lưu trữ dữ liệu trong một Recor (dữ liệu trong bảng).
Trong đoạn ch−ơng trình trên ta còn sử dụng ph−ơng thức Set rs = cn.Execute(Str) để thực hiện câu truy vấn (SQL) trong ngoặc, câu truy vấn này lấy về dữ liệu đ−ợc cất trong biến Record (rs) và đ−ợc hiển thị trên Listview. Để thêm mới dữ liệu vào một Table trong chương trình ta sử dụng đối tượng Data Environment đối t−ợng này cho phép gọi các hàm hoặc các thủ tục nh−. Trong đó DE là đối t−ợng Data Environment và hàm Sp_NhapTinh là hàm (có thể là các thủ tục thậm chí là một View) được viết và lưu trong cơ sở dữ.
T−ơng tự với các thủ tục khác cũng đ−ợc thực hiện bằng cách gọi nh− trên, tuy nhiên đối với thủ tục xóa dữ liệu trong một Table lại là một việc khá phức tạp bởi việc này còn liên quan đế một số ràng buộc về khóa. Đối với các thủ tục xóa huyện, xã cũng t−ơng tự nh− việc xóa một tỉnh nên cũng phải xóa tất cả các dữ liệu có liên quan. T−ơng tự nh− vậy ta có thể tìm kiếm bất kỳ dữ liệu nào có trong cơ sở dữ liệu và với các tiêu chí đ−ợc đ−a ra ở.
Thoạt tiên ta có cảm giác một hàm (Function) hơi giống với một view song với view không có dữ liệu đầu vào, song với hàm thì ng−ợc lại. Form chính của ch−ơng trinh, khi chạy ch−ơng trình form này đ−ợc gọi đầu tiên và từ form này có thể gọi 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.
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ị lên trên. Form tìm kiếm bệnh nhân form này cho phép tìm kiếm bệnh nhân theo những tiêu chí đ−ợc chỉ ra trong hộp combobox (tiêu chí có thể là tìm theo tên, họ tên, …) và thông tin cần tìm kiếm đ−ợc nhập vào trong hộp textbox. Sau khi tìm kiếm có thể cho một hoặc một số bệnh nhân thậm chí có thể chẳng tìm 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 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 đó.