TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Trong mọi thời đại, sức khỏe luôn được coi trọng, thể hiện qua câu nói "Có sức khỏe là có tất cả" Khi chất lượng cuộc sống được cải thiện, nhu cầu khám chữa bệnh và chăm sóc sức khỏe của người dân ngày càng gia tăng Do đó, yêu cầu về dịch vụ y tế cũng cần được nâng cao để đáp ứng nhu cầu này.
Trong bối cảnh các bệnh viện công đang phải đối mặt với tình trạng quá tải do nhu cầu khám chữa bệnh ngày càng cao, sự ra đời của nhiều bệnh viện tư nhân đã mang đến cho người dân nhiều lựa chọn hơn trong việc chăm sóc sức khỏe.
Trong lĩnh vực kinh doanh y tế, các tổ chức chăm sóc sức khỏe đang phải đối mặt với áp lực lớn về chất lượng dịch vụ và khả năng điều trị Đồng thời, sự cạnh tranh ngày càng gia tăng từ nhiều đối thủ khác trong ngành cũng tạo ra thách thức cho các doanh nghiệp này.
Để quảng bá hiệu quả chất lượng dịch vụ của bệnh viện, sở hữu một website là giải pháp tối ưu giúp bệnh viện vượt qua đối thủ và giới thiệu dịch vụ thành công Qua đó, bệnh nhân có thể dễ dàng tìm hiểu về dịch vụ khám chữa bệnh và chăm sóc sức khỏe tại bệnh viện.
Bệnh viện Đa khoa Hưng Hà, một cơ sở y tế tư nhân đang phát triển, nhận thấy tầm quan trọng của việc cải thiện website của mình Hiện tại, website của bệnh viện đã lỗi thời, không thân thiện với người dùng và thiếu các chức năng quảng bá thương hiệu hiệu quả Điều này khiến khách hàng gặp khó khăn trong việc tìm kiếm thông tin cần thiết Do đó, bệnh viện cần nâng cấp website để nâng cao chất lượng dịch vụ khám chữa bệnh, tăng cường nhận diện thương hiệu và tạo điều kiện thuận lợi cho người dùng trong việc tra cứu thông tin khám chữa.
Là sinh viên ngành CNTT, tôi luôn khao khát ứng dụng kiến thức đã học để phát triển sản phẩm thực tiễn Mong muốn tạo ra sản phẩm hoàn thiện giúp nâng cao kỹ năng lập trình và tích lũy kinh nghiệm cho tương lai, tôi đã quyết định chọn đề tài nghiên cứu với sự đồng ý của giáo viên hướng dẫn.
“Thiết kế và xây dựng website cho Bệnh viện Đa khoa Hưng Hà” để làm đề tài đồ án tốt nghiệp.
Mục tiêu của đề tài
Trình bày được các vấn đề liên quan đến APS.NET MVC và ứng dụng vào xây dựng website Bệnh viện Đa khoa Hưng Hà
Xây dựng website cho Bệnh viện Đa khoa Hưng Hà nhằm nâng cao chất lượng khám chữa bệnh, quảng bá thương hiệu và tạo thuận lợi cho người bệnh trong việc tra cứu thông tin khám chữa bệnh.
Triển khai cài đặt và cấu hình Website trên môi trường Internet.
Giới hạn và phạm vi của đề tài
Dự án xây dựng website cho Bệnh viện Đa khoa Hưng Hà được thực hiện với các công nghệ lập trình tiên tiến như ASP.NET MVC, SQL Server 2014 và sử dụng công cụ lập trình Visual Studio 2015.
Nội dung thực hiện
Nội dung thực hiện/nghiên cứu cụ thể như sau:
- Nghiên cứu công nghệ lập trình Website với ASP.NET MVC
- Phân tích yêu cầu và đề xuất giải pháp Website trên công nghệ NET
- Thiết kế đặc tả hệ thống.
- Xây dựng Cơ sở dữ liệu.
- Lập trình cho các Module của hệ thống
Phương pháp tiếp cận
- Cách tiếp cận : Nghiên cứu các ngôn ngữ lập trình Website như ASP.NET MVC, LINQ to SQL, Jquery, HTML, CSS, JavaScritp, java
- Sử dụng các phương pháp nghiên cứu: o Phương pháp đọc tài liệu; o Phương pháp phân tích mẫu; o Phương pháp thực nghiệm.
CƠ SỞ LÝ THUYẾT
Giới thiệu mô hình MVC
Vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox PARC ở Palo Alto, giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng (Object Oriented Programming) đã ra đời, cho phép lập trình viên làm việc với các thành phần đồ họa như những đối tượng có thuộc tính và phương thức riêng Đặc biệt, kiến trúc MVC (Model – View – Controller) được phát minh bởi Trygve Reenskaug tại Xerox PARC, lần đầu tiên xuất hiện công khai trong Smalltalk-80 Mặc dù sau đó không có nhiều thông tin về MVC, tài liệu quan trọng đầu tiên về nó là “A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk - 80” được xuất bản bởi Glenn Krasner và Stephen Pope vào tháng 8.
2.1.2 Kiến trúc của mô hình MVC
Trong kiến trúc MVC, đối tượng đồ họa người dùng (GUI Component) bao gồm ba thành phần chính: Model, View và Controller Model đảm nhiệm toàn bộ dữ liệu và trạng thái của đối tượng đồ họa, trong khi View thể hiện trực quan Model, tức là giao diện của đối tượng Controller có vai trò điều khiển sự tương tác giữa người sử dụng và đối tượng đồ họa cũng như các đối tượng khác.
Hình 2-1: Các thành phần chính của mô hình MVC
2.1.3 Đặc điểm của mô hình MVC
Mô hình MVC mang lại lợi ích quan trọng trong việc bảo trì ứng dụng, giúp module hóa các chức năng và xây dựng nhanh chóng Bằng cách tách biệt các tác vụ thành model, view và controller, MVC làm cho quá trình phát triển trở nên nhẹ nhàng hơn, cho phép dễ dàng thêm hoặc thay đổi các tính năng Điều này cũng tạo điều kiện cho các nhà phát triển và thiết kế làm việc đồng thời mà không làm ảnh hưởng đến các phần khác của ứng dụng Kiến trúc MVC giúp giảm sự phụ thuộc giữa các thành phần, tăng cường tính linh động và khả năng tái sử dụng Nhờ vậy, giao diện của một đối tượng đồ họa có thể được thay đổi dễ dàng thông qua phần View mà không làm ảnh hưởng đến cách lưu trữ (Model) hoặc xử lý (Controller), và ngược lại.
Kiến trúc MVC đã được áp dụng rộng rãi trong việc phát triển nhiều framework và thư viện đồ họa, nổi bật là thư viện đồ họa của ngôn ngữ lập trình SmallTalk, được nghiên cứu và phát triển bởi Xerox PARC vào những năm 70 Ngoài ra, các thành phần Swing trong Java cũng được xây dựng dựa trên kiến trúc MVC Đặc biệt, nền tảng ASP.NET MVC Framework sẽ được trình bày chi tiết trong chương tiếp theo.
Mô hình MVC trong ASP.NET
Mô hình MVC đã được áp dụng rộng rãi trên nhiều nền tảng khác nhau, trong đó ASP.NET MVC là một framework nổi tiếng và được ưa chuộng ASP.NET MVC là nền tảng phát triển ứng dụng web mới của Microsoft, kết hợp hiệu quả và tính nhỏ gọn của mô hình model-view-controller (MVC) với các công nghệ hiện đại và những thành phần tốt nhất của ASP.NET Đây là một lựa chọn thay thế cho nền tảng WebForm trong việc phát triển ứng dụng web sử dụng ASP.NET.
2.2.2 Khái quát các thành phần của ASP.NET MVC
ASP.NET MVC chia ứng dụng thành ba thành phần chính: models, views và controllers Mỗi thành phần này đảm nhận một vai trò riêng biệt và có sự tương tác lẫn nhau, giúp tối ưu hóa quá trình phát triển ứng dụng.
Hình 2-2: Nền tảng ASP.NET MVC Framword
Trong các ứng dụng MVC, mô hình là thành phần lưu trữ thông tin và trạng thái của đối tượng, thường được ánh xạ từ bảng trong cơ sở dữ liệu Chẳng hạn, lớp Giáo trình mô tả dữ liệu từ bảng Giáo trình trong SQL, bao gồm các thuộc tính như Mã giáo trình và Tên giáo trình.
Views là các thành phần quan trọng trong việc hiển thị thông tin cho người dùng qua giao diện Thông tin hiển thị thường được lấy từ các thành phần Models.
Trong kiến trúc MVC, Controllers đóng vai trò quan trọng trong việc xử lý các tương tác từ giao diện người dùng, thực hiện các thao tác với models và lựa chọn view phù hợp để hiển thị View chỉ đảm nhiệm chức năng hiển thị giao diện, trong khi Controllers quản lý dòng dữ liệu nhập xuất từ người dùng.
2.2.3 So sánh ASP.NET MVC với ASP.NET
ASP.NET WebForm truyền thống có những điểm yếu và giới hạn, trong khi ASP.NET MVC đã khắc phục được những vấn đề này Tuy nhiên, điều này không có nghĩa là ASP.NET WebForm đã lỗi thời; Microsoft nhấn mạnh rằng cả hai nền tảng đều tồn tại song song và hỗ trợ lẫn nhau, cùng là lựa chọn cho phát triển hiện tại Việc lựa chọn giữa hai mô hình này phụ thuộc vào từng hoàn cảnh cụ thể.
ASP.NET WebForm cung cấp khả năng tạo ra các trang web có khả năng lưu giữ trạng thái thông qua việc sử dụng ViewState và postback, tạo ra một lớp trừu tượng tinh vi trên nền tảng HTTP và HTML Phương pháp này rất phù hợp với phong cách phát triển kéo và thả của Window Form, cho phép người dùng dễ dàng thêm các đối tượng giao diện vào trang và lập trình mã xử lý thông qua các trình xử lý sự kiện.
MVC tích hợp với bản chất không trạng thái của HTTP, tối ưu hóa sự tương tác thay vì chống lại nó Để hiểu rõ cách hoạt động của một ứng dụng web, MVC mang đến một phương pháp đơn giản, mạnh mẽ và hiện đại, giúp phát triển ứng dụng với mã nguồn có cấu trúc rõ ràng và dễ dàng kiểm thử.
ASP.NET MVC là một nền tảng mã nguồn mở, cho phép người dùng dễ dàng tải về và sửa đổi mã nguồn Điều này giúp giải phóng những phức tạp không cần thiết và các giới hạn của các nền tảng trước đó, đồng thời cho phép người dùng tạo ra phiên bản riêng của mình.
ASP.NET WebForm có thể là lựa chọn tốt hơn ASP.NET MVC trong một số tình huống, chẳng hạn như cho các ứng dụng nhỏ, nội bộ kết nối trực tiếp với cơ sở dữ liệu hoặc hướng dẫn người dùng qua các trình hướng dẫn tự động Với WebForm, bạn không cần lo lắng về băng thông do ViewState, tối ưu hóa hệ thống tìm kiếm hay việc kiểm thử và bảo trì lâu dài Sự tiện lợi của phương pháp phát triển kéo thả trong ASP.NET WebForm giúp làm mờ đi những điểm yếu của nó.
Khi phát triển ứng dụng trên Internet hoặc các ứng dụng nội bộ lớn, tốc độ tải xuống nhanh và khả năng tương thích trình duyệt chéo là rất quan trọng Việc xây dựng ứng dụng với chất lượng cao và mã kiến trúc tốt sẽ hỗ trợ cho việc kiểm thử tự động Trong trường hợp này, ASP.NET MVC mang lại nhiều ưu điểm quan trọng.
2.2.4 Lợi ích của mô hình ASP.NET MVC
- Có tính mở rộng do có thể thay thế từng thành phần 1 cách dễ dàng
- Không sử dụng Viewstate, điều này làm các nhà phát triển dễ dàng điều khiển ứng dụng của mình.
- Hệ thống định tuyến mới mạnh mẽ
Hỗ trợ hiệu quả cho phát triển dựa trên kiểm thử (TDD) bằng cách cài đặt tự động các kiểm thử đơn vị, giúp xác định và kiểm tra lại các yêu cầu trước khi bắt đầu viết mã.
- Hỗ trợ kết hợp rất tốt giữa người lập trình và người thiết kế giao diện.
- Sử dụng các tính năng tốt nhất đã có của ASP.NET.
Tổng quan về LINQ to SQL
LINQ (Language Integrated Query) là một phần quan trọng của Microsoft NET Framework, giúp nâng cao khả năng truy vấn dữ liệu cho các ngôn ngữ lập trình NET như C# và VB.NET.
LINQ hỗ trợ nhiều loại nguồn dữ liệu khác nhau, bao gồm đối tượng bộ nhớ (LINQ to Object), XML (LINQ to XML) và cơ sở dữ liệu SQL Server (LINQ to SQL), mang đến sự linh hoạt và tiện lợi trong việc truy vấn và xử lý dữ liệu.
LINQ đã được giới thiệu từ phiên bản NET Framework 3.5, vì vậy để thực hiện truy vấn dữ liệu bằng LINQ, chương trình cần phải chạy trên nền tảng 3.5 hoặc phiên bản cao hơn.
LINQ không phải là công nghệ thay thế ADO.NET, mà là một công cụ linh hoạt cho phép làm việc mà không cần đến cơ sở dữ liệu Tuy nhiên, với LINQ to SQL, người dùng có thể tương tác trực tiếp với cơ sở dữ liệu SQL Server, giúp loại bỏ nhu cầu sử dụng các câu lệnh ADO.NET và tập trung vào cú pháp thân thiện mà LINQ cung cấp.
2.3.2 LINQ to SQL là gì?
- LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational
Mapping trong NET Framework phiên bản “Orcas” (hiện tại là NET 3.5) cho phép người dùng mô hình hóa cơ sở dữ liệu thông qua các lớp NET, giúp thực hiện các truy vấn CSDL bằng LINQ và thực hiện các thao tác cập nhật, thêm hoặc xóa dữ liệu một cách hiệu quả.
LINQ to SQL cung cấp hỗ trợ toàn diện cho giao dịch, view và stored procedure (SP), đồng thời cho phép dễ dàng tích hợp khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào mô hình dữ liệu của bạn.
NỘI DUNG THỰC HIỆN
Phát biểu bài toán
Website Bệnh viện Đa khoa Hưng Hà cung cấp nhiều chức năng hữu ích, bao gồm tìm kiếm dịch vụ, thông tin bác sĩ, giờ làm việc và tin tức cập nhật Ngoài ra, bệnh nhân có thể dễ dàng viết bình luận, gửi phản hồi và góp ý để cải thiện dịch vụ của bệnh viện.
Hệ thống Website Bệnh viện Đa khoa Hưng Hà cần đạt được những mục tiêu sau:
1 Xây dựng được giao diện người dùng thân thiện Người dùng có thể xem các thông tin bệnh viện, bác sĩ, chuyên khoa, hoạt động của bệnh viện qua các hình ảnh, tin tức, video
2 Người dùng có thể lựa chọn Bệnh viện Đa khoa Hưng Hà theo site gần nơi mình nhất để tiện xem và thăm khám
3 Khi chọn 1 bài viết sẽ chuyển tới trang chi tiết của bài viết Bên dưới các bài viết liên quan
4 Xây dựng hoàn thiện giao diện trang quản trị với các chức năng như quản lý danh mục tin tức, quản lý tin tức, quản lý hình ảnh, quản lý video, quản lý văn bản, quản lý thông tin bệnh viện, quản lý thông tin chuyên khoa, quản lý thông tin bác sĩ, quản lý bình luận
5 Xây dựng được tính năng bảo mật cao, phân quyền cho người sử dụng
6 Xây dựng tính năng xem nhật ký hoạt động
Yêu cầu của hệ thống
- Cung cấp chức năng đăng nhập cho người dùng.
- Yêu cầu người dùng đăng nhập khi muốn bình luận hay viết bài.
3.2.1.2 Xem thông tin bệnh viện theo site
- Hiển thị các bài viết theo site bệnh viện
- Khi người dùng chọn site bệnh viện nào thì Website sẽ chuyển tới trang có bài viết thuộc bệnh viện đó.
Hiển thị bài viết song ngữ Tiếng Việt và Tiếng Anh Nếu bài viết chỉ được đăng bằng Tiếng Việt, hệ thống sẽ tự động chuyển ngữ và sao chép nội dung sang phiên bản Tiếng Anh.
3.2.1.3 Xem thông tin trên trang chủ
- Hiển thị phần header là địa chỉ bệnh viện, số điện thoại cấp cứu, đường dây nóng, link facebook, logo của bệnh viện
Trang web hiển thị phần thân với slide quảng bá hình ảnh, tìm kiếm và các box hình ảnh nhằm giới thiệu bệnh viện, bao gồm lý do chọn chúng tôi, các chuyên khoa, video, đội ngũ bác sĩ, dịch vụ nổi bật, tin tức nổi bật và thông tin liên hệ.
Trang chuyên khoa cung cấp hình ảnh các hộp vuông cho phép người dùng dễ dàng chọn lựa chuyên khoa Khi người dùng nhấn vào một hộp, thông tin chi tiết về chuyên khoa, danh sách bác sĩ và các bài viết liên quan sẽ được hiển thị.
Trang dịch vụ nổi bật giúp khách hàng dễ dàng tìm kiếm các dịch vụ của bệnh viện thông qua các hộp hình vuông Khi người dùng nhấp vào một dịch vụ cụ thể, hệ thống sẽ hiển thị các bài viết liên quan đến dịch vụ đó.
Đội ngũ bác sĩ được chia thành hai phần: Bác sĩ nội viện và Bác sĩ ngoại viện Khi khách hàng nhấp vào hình ảnh của bất kỳ bác sĩ nào, thông tin cơ bản của bác sĩ đó sẽ được hiển thị.
- Cho phép người dùng bình luận ở cuối mỗi bài viết.
Khi người dùng muốn bình luận, họ cần cung cấp đầy đủ thông tin bao gồm họ tên và địa chỉ email Bình luận sẽ chỉ được hiển thị trên trang chủ sau khi được quản trị viên duyệt.
3.2.1.5 Xem danh sách bài viết
Danh sách các bài viết trên Website được sắp xếp theo thứ tự giảm dần theo thời gian đăng, với nội dung chi tiết tin tức được hiển thị ở phía bên phải.
3.2.1.6 Xem chi tiết bài viết
- Hiển thị chi tiết của bài viết khi khách hàng click vào “Xem chi tiết bài viết”
Bài viết bao gồm các thông tin quan trọng như ngày đăng, số lượt xem, nội dung chi tiết mà khách hàng đã chọn, nguồn gốc bài viết, tất cả các bình luận từ khách hàng, cũng như phần bình luận của khách hàng và các tin tức liên quan.
3.2.1.7 Xem thông tin liên hệ
- Thông tin liên hệ của Website sẽ được hiển thị ở phần footer.
- Người dùng có thể tìm kiếm bài viết bằng cách nhập các từ khóa tìm kiếm vào ô tìm kiếm.
- Kết quả tìm kiếm sẽ được hiển thị để người dùng thao tác.
- Cung cấp chức năng đăng xuất cho các tài khoản quản trị.
- Khi người dùng sử dụng chức năng đăng xuất, Website sẽ chuyển đến trang đăng nhập
3.2.2 Yêu cầu phi chức năng
- Yêu cầu giao diện: thân thiện, dễ sử dụng với người dùng
- Tốc độ xử lý nhanh
- Tính an toàn và bảo mật
- Tính tương thích: tương thích với các trình duyệt Chrome, Cốc Cốc, Firefox,Internet Explorer
Biểu đồ UseCase
Bảng 3-1: Danh sách các Actor
1 Tổng quản trị Tổng điều hành toàn bộ website
2 Quản trị viên Nhân viên quản lý website
3 Người viết bài Người viết bài, viết tin tức cho website
4 Khách hàng (bệnh nhân) Xem thông tin trên website, viết bình luận
Bảng 3-2: Danh sách các UseCase
STT Tên chức năng Mô tả
-Bao gồm: tin đã đăng, tin chờ duyệt, tin không duyệt, tin đã xóa
-Thêm, sửa, xóa, tìm kiếm, duyệt tin tức
2 Quản lý danh mục tin tức Thêm, sửa, xóa, tìm kiếm danh mục tin tức
3 Quản lý nhật ký hệ thống Xem, xóa nhật ký hoạt động
4 Quản lý danh mục phân quyền Thêm, sửa, xóa quyền
5 Quản lý tài khoản Thêm, sửa, xóa, tìm kiếm tài khoản
6 Quản lý bình luận Xem, duyệt, xóa bình luận
7 Quản lý danh mục bác sỹ Thêm, sửa, xóa, tìm kiếm bác sỹ
8 Quản lý bệnh viện Thêm, sửa, xóa, tìm kiếm bệnh viện
9 Quản lý chuyên khoa Thêm, sửa, xóa, tìm kiếm chuyên khoa
10 Quản lý hình ảnh Thêm, sửa, xóa, tìm kiếm hình ảnh
11 Quản lý văn bản Thêm, sửa, xóa, tìm kiếm văn bản
12 Quản lý video Thêm, sửa, xóa, tìm kiếm video
13 Đăng bài viết Thêm, sửa, xóa, tìm kiếm bài viết
14 Viết bình luận Viết bình luận bài viêt
3.3.3 Biểu đồ UseCase mức tổng quát
Hình 3-3: UseCase mức tổng quát
Hình 3-4: UseCase Quản lý tin tức
UseCase “Quản lý danh mục tin tức”
Hình 3-5: UseCase Quản lý danh mục tin tức
UseCase “Quản lý nhật ký hệ thống”
Hình 3-6: UseCase Quản lý nhật ký hệ thống
UseCase “Quản lý danh mục phân quyền”
Hình 3-7: Use case Quản lý danh mục phân quyền
UseCase “Quản lý tài khoản”
Hình 3-8: Use case Quản lý tài khoản
UseCase “Quản lý bình luận”
Hình 3-9: Use case Quản lý bình luận
UseCase “Quản lý danh mục bác sỹ ”
Hình 3-10: Use case Quản lý danh mục bác sĩ
UseCase “Quản lý bệnh viện”
Hình 3-11: Use case Quản lý bệnh viện
UseCase “Quản lý chuyên khoa”
Hình 3-12: UseCase Quản lý chuyên khoa
UseCase “Quản lý hình ảnh”
Hình 3-13: UseCase Quản lý hình ảnh
Hình 3-14: Use case Quản lý video
Hình 3-15: Use case Đăng bài viết
Biểu đồ lớp
+id +user_id +action_date +action_description +action_detail +active_flag
The article provides a structured dataset containing various attributes, including an ID, local and English names, aliases in both languages, an image path, and descriptions It also features parent and menu IDs, ordering information, user creation details, timestamps for creation and updates, an active status flag, a visibility flag for homepage display, and a link This comprehensive data framework is essential for organizing and managing content effectively.
+type +theme_type +site_id +level
+id +new_id +user_name +email +message +created_date +active_flag
+id +site_id +name_l +description_l +detail_l +image_path +active_flag +created_by_user_id +lu_updated +lu_user_id +created_date +name_e +description_e +detail_e +ord +link +alias +background_image
This article presents a structured dataset that includes various attributes such as ID, department ID, and names in both local and English languages It highlights specializations, spoken languages, and quantification details, along with experience levels and specific interests Additionally, it features image paths, gender identifiers, and timetable information, while indicating active status, visibility on the homepage, order of appearance, partnership status, and position details The dataset also includes creation dates for each entry, providing a comprehensive overview of the information.
The article outlines a structured dataset that includes various attributes such as ID, category ID, type, effective dates, document name, document code, and document date It also details the attachment file path, bin location, description, owner information, approval dates, and the individuals involved in creation and last updates Additionally, it specifies the active status and site ID associated with each entry.
The article includes various elements such as an ID, titles in both languages, aliases, an image path, detailed descriptions, and metadata It also contains information about the category, order, user creation details, timestamps for creation and updates, and flags indicating the active status and visibility on the homepage Additionally, it features a meta description and keywords for SEO optimization, along with view counts, copyright details, site identification, content type, links, and department identification.
+id +name_company_l +name_company_e +favicon +address_l +address_e +map +phone +fax +email +hotline +emergency_number +time_open +active_flag +meta_description +meta_keyword +ord +created_date
+id +type +title_l +title_e +description_l +description_e +image_path +icon +link +css_class +ord +active_flag +site_id +created_date
+id +full_name +user_name +password +email +address +image_path +gender +created_by_user_id +created_date +active_flag +group_id
+video_id +video_title_l +video_description_l +video_title_e +video_description_e +video_thumbnail +video_link +created_date +created_by_user +ord +status +site_id
Hình 3-16: Biểu đồ lớp mức phân tích
3.4.2 Danh sách các lớp đối tượng và quan hệ
Bảng 3-3: Danh sách các lớp đối tượng và quan hệ
STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú
1 AuditSystem Lớp nhật ký hệ thống
2 Category Lớp danh mục tin tức
5 Doctor Lớp danh mục bác sỹ
8 Role Lớp danh mục phân quyền
12 UserGroup Lớp nhóm tài khoản
Biểu đồ tuần tự
Hình 3-17: Biểu đồ tuần tự Đăng nhập
: NguoiVietBai :FrmQuanLyTinTuc :CtrlQuanLyTinTuc :DanhMucTin :TinTuc :QuanTriWebsite
Hình 3-18: Biểu đồ tuần tự Thêm tin tức
: NguoiVietBai :FrmQuanLyTinTuc :CtrlQuanLyTinTuc :TinTuc :DanhMucTin :TongQuanTri
Hình 3-19: Biểu đồ tuần tự Sửa tin tức
Hình 3-20: Biểu đồ tuần tự Xóa tin tức
Hình 3-21: Biểu đồ tuần tự Thêm bác sĩ
3.5.6 Sửa thông tin bác sĩ
Hình 3-22: Biểu đồ tuần tự Sửa thông tin bác sĩ
Hình 3-23: Biểu đồ tuần tự Xóa bác sĩ
Thiết kế cơ sở dữ liệu của hệ thống
Sau quá trình thiết kế, em đã xác định mô hình câu trúc của website trên database như sau:
Hình 3-24: Mô hình dữ liệu quan hệ
Lưu trữ thông tin nhật ký hệ thống của người dùng
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã nhật ký hệ thống
2 user_id uniqueidentifier Khóa ngoại Mã người dùng
3 action_date datetime Thời gian hoạt động
4 action_description nvarchar(500) Mô tả hành động
5 action_detail ntext Chi tiết hành động
6 active_flag int Trạng thái
Lưu trữ thông tin danh mục tin tức
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã danh mục tin tức
2 name_l nvarchar(250) Tên danh mục tin tức tiếng Việt
3 name_e nvarchar(250) Tên danh mục tin tức tiếng Anh
4 alias nvarchar(250) Tên hiệu tin tức
5 image_path nvarchar(500) Đường dẫn ảnh
6 description_l ntext Mô tả bằng tiếng Việt
7 description_e ntext Mô tả bằng tiếng Anh
8 parent_id uniqueidentifier Mã danh mục cha
9 ord int Thứ tự sắp xếp
10 created_by_user uniqueidentifier Người tại bài viết
11 lu_user_id uniqueidentifier Khóa ngoại Mã người dùng đăng nhập gần nhất
12 created_date datetime Thời gian tạo
13 lu_updated datetime Lần sửa gần nhất
14 active_flag int Trạng thái
15 show_on_home bit Hiển thi trên trang chủ
16 hot_category bit Tin nổi bật
18 type varchar(60) Tên chủ đề
19 theme_type varchar(50) Loại chủ để
20 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
Lưu trữ thông bình luận.
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã bình luận
2 new_id uniqueidentifier Khóa ngoại Mã tin tức
3 user_name nvarchar(150) Khóa ngoại Tên người bình luận
4 email nvarchar(150) Email người bình luận
5 message ntext Nội dung bình luận
6 created_date datetime Thời gian tạo bình luận
7 active_flag int Trạng thái
Lưu trữ thông tin chuyên khoa
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã chuyên khoa
2 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
3 name_l nvarchar(250) Tên tiếng Việt
4 description_l nvarchar(500) Mô tả bằng tiếng
6 image_path nvarchar(500) Đường dẫn ảnh
7 active_flag int Trạng thái
8 created_by_user_id uniqueidentifier Khóa ngoại Mã người dùng tạo chuyên khoa
9 lu_updated datetime Thời gian sửa gần nhất
10 lu_user_id uniqueidentifier Khóa ngoại Mã người dùng đăng nhập gần nhất
11 created_date datetime Ngày tạo
12 name_e nvarchar(250) Tên tiếng Anh
13 description_e nvarchar(500) Mô tả bằng tiếng
14 detail_e ntext Chi tiết bằng tiếng
15 ord int Vị trí sắp xếp trên trang chủ
17 alias nvarchar(350) Tên hiệu chuyên khoa
18 background_image nvarchar(500) Ảnh nền
Lưu trữ thông tin cảu bác sĩ
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã bác sỹ
2 department_id uniqueidentifier Khóa ngoại Mã chuyên khoa
3 name_l nvarchar(250) Tên tiếng Việt
4 name_e nvarchar(250) Tên tiếng Anh
5 language_spoken nvarchar(150) Ngôn ngữ
6 quantification_l nvarchar(500) Các chứng nhận bằng tiếng Việt
7 quantification_e nvarchar(500) Các chứng nhận bằng tiếng Anh
8 experiences_l nvarchar(500) Kinh nghiệm bằng tiếng
9 experiences_e nvarchar(500) Kinh nghiệm bằng tiếng
10 specially_interests_l nvarchar(500) Lĩnh vực chuyên sâu bằng tiếng Việt
11 specially_interests_e nvarchar(500) Lĩnh vực chuyên sâu bằng tiếng Anh
12 image_path nvarchar(500) Đường dẫn ảnh
14 timetable_l ntext Thời gian làm việc bằng tiếng Việt
15 timetable_e ntext Thời gian làm việc bằng tiếng Anh
16 active_flag int Trạng thái
17 show_on_home bit Hiển thị trên trang chủ không
18 ord int Thứ tự sắp xếp
19 is_partner bit Là bác sỹ cộng tác không
20 created_date datetime Ngày tạo
Lưu trữ thông tin văn bản của bệnh viện
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã tài liệu
2 category_id uniqueidentifier Khóa ngoại Mã danh mục tin tức
3 type int Loại tài liệu
4 effective_from_date datetime Ngày có hiệu lực
5 effective_to_date datetime Ngày hết hiệu lực
6 document_name nvarchar(500) Tên tài liệu
7 document_code nvarchar(100) Số quyết đinh
8 document_date datetime Ngày quyết định
9 attach_file_path varchar(500) Đường dẫn file
12 owner nvarchar(500) Đơn vị sở hữu
13 approved_date datetime Ngày phê duyệt
14 approved_by nvarchar(250) Người phê duyệt
15 created_by_user_id uniqueidentifier Khóa ngoại Người tạo
16 created_date_time datetime Thời gian tạo
17 lu_user_id uniqueidentifier Khóa ngoại Mã người dùng đăng nhập gần nhất
18 lu_updated datetime Ngày sửa gần nhất
19 active_flag int Trạng thái
20 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
Lưu trữ thông tin tin tức của bệnh viện.
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã tin tức
2 title_l nvarchar(250) Tiêu đề bằng tiếng Việt
3 title_e nvarchar(250) Tiêu đề bằng tiếng Anh
4 alias nvarchar(250) Tên hiệu tin tức
5 image_path nvarchar(500) Đường dẫn ảnh
6 detail_l ntext Chi tiết bằng tiếng Việt
7 detail_e ntext Chi tiết bằng tiếng Anh
8 description_l ntext Mô tả bằng tiếng Việt
9 description_e ntext Mô tả bằng tiếng Anh
10 category_id uniqueidentifier Khóa ngoại Mã danh mục tin tức
11 ord int Vị trí sắp xếp tin
12 created_by_user_i d uniqueidentifier Khóa ngoại Mã người tạo
13 created_date datetime Ngày tạo
14 lu_updated datetime Lần sửa gần nhất
15 active_flag int Trạng thái
16 hot_new bit Tin nổi bật không
17 show_on_home bit Hiển thị trên trang chủ không
18 meta_description ntext Thẻ mô tả
19 meta_keyword ntext Thẻ từ khóa
20 views int Số lượt xem
22 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
23 type varchar(50) Loại tin tức
24 link nvarchar(500) Đường dẫn tin tức
25 department_id uniqueidentifier Khóa ngoại Mã chuyên khoa
Lưu trữ thông tin phân quyền người dùng
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id Nvarchar(50) Khóa chính Mã phân quyền
Lưu trữ thông tin bệnh viện
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã bệnh viện
2 name_company_l nvarchar(250) Tên tiếng Việt
3 name_company_e nvarchar(250) Tên tiếng Anh
5 address_l nvarchar(500) Địa chỉ bằng tiếng
6 address_e nvarchar(500) Địa chỉ bằng tiếng
8 phone nvarchar(50) Số điện thoại bàn
10 email nvarchar(50) Đại chỉ email
11 hotline nvarchar(50) Đường dây nong
12 emergency_number nvarchar(50) Số cấp cứu
13 active_flag int Trạng thái
14 meta_description ntext Thẻ mô tả
15 meta_keyword ntext Thẻ từ khóa
16 ord int Vị trí sắp xếp
17 created_date datetime Ngày tạo
Lưu trữ thông tin hình ảnh silde
Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã hình ảnh
2 type varchar(50) Loại hình ảnh
3 title_l nvarchar(250) Tiêu đề tiếng Việt
4 title_e nvarchar(250) Tiêu đề tiếng Anh
5 description_l nvarchar(250) Mô tả bằng tiếng Việt
6 description_e nvarchar(250) Mô tả bằng tiếng Anh
7 image_path nvarchar(500) Đường dẫn ảnh
9 ord int Vị trí sắp xếp
10 active_flag int Trạng thái
11 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
12 created_date datetime Ngày tạo
Lưu trữ thông tin tài khoản người dùng
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id uniqueidentifier Khóa chính Mã quản trị viên
2 full_name nvarchar(150) Họ tên quản trị viên
3 user_name nvarchar(250) Tên đăng nhập
7 image_path nvarchar(500) Đường dẫn ảnh
9 created_by_user_id uniqueidentifier Khóa ngoại Mã người tạo
10 created_date datetime Ngày tạo
11 active_flag int Trạng thái
12 group_id varchar(20) Nhóm quyền
Lưu thông tin nhóm tài khoản
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 id varchar(20) Khóa chính Mã nhóm tài khoản
2 full_name nvarchar(150) Tên nhóm tài khoản
Lưu thông tin nhóm tài khoản
T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 user_group_id varchar(20) Khóa ngoại Mã nhóm tài khoản
2 role_id nvarchar(150) Khóa ngoại Mã phân quyền
ST T Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 video_id uniqueidentifier Khóa chính Mã video
2 video_title_l nvarchar(250) Tiêu đề tiếng Việt
3 video_description_l nvarchar(500) Mô tả bằng tiếng Việt
4 video_title_e nvarchar(250) Tiêu đề tiếng Anh
5 video_description_e nvarchar(500) Mô tả bằng tiếng Anh
6 video_thumbnail nvarchar(500) Đường dẫn đến video
7 video_link nvarchar(500) Link video
8 created_date datetime Ngày tạo
9 created_by_user uniqueidentifier Khóa ngoại Mã người tạo
10 ord int Vị trí sắp xếp
12 site_id uniqueidentifier Khóa ngoại Mã bệnh viện
Thiết kế đặc tả giao diện
Hình 3-25: Giao diện trang chủ trên website
Giao diện trang chủ người dùng bao gồm các thông tin quan trọng như địa chỉ, số điện thoại cấp cứu và đường dây nóng của bệnh viện Trang cũng hiển thị logo bệnh viện, menu chính và slide quảng bá hình ảnh, cùng với ba box hình chữ nhật về dịch vụ bảo hiểm, tra cứu kết quả hình ảnh và thời gian làm việc Ngoài ra, còn có box chức năng tìm kiếm, tra cứu dịch vụ và lý do chọn chúng tôi, cùng với thông tin về cơ sở vật chất, video giới thiệu, đội ngũ bác sĩ, dịch vụ nổi bật, tin tức nổi bật và tùy chọn đăng ký dịch vụ.
Hình 3-26: Giao diện cơ sở vật chất, video, đội ngũ bác sĩ
Giao diện đội ngũ bác sĩ được chia thành hai tab: Bác sĩ nội viện và Bác sĩ ngoại viện Mỗi tab hiển thị các hộp thông tin với hình ảnh và tên bác sĩ, cùng chuyên khoa mà bác sĩ đang công tác Để xem chi tiết thông tin của một bác sĩ, người dùng chỉ cần nhấp vào hình ảnh tương ứng.
Hình 3-27: Giao diện thông tin chi tiết bác sĩ
- Giao diện chi tiết bác sỹ gồm tên, chức danh, chuyên khoa, học vẫn, các hoạt động chuyên ngành và các đề tài nghiên cứu của bác sĩ
Hình 3-28: Giao diện chi tiết tin tức
Giao diện bài đăng tin tức bao gồm các yếu tố quan trọng như tiêu đề, ngày đăng, số lượt xem, nội dung tin tức, bình luận từ người đọc và các tin tức mới nhất.
Hình 3-29: Giao diện trang liên hệ và chân trang
Giao diện trang liên hệ của bệnh viện bao gồm bản đồ chỉ đường, thông tin cá nhân như họ tên, số điện thoại, email, và nội dung phản hồi từ khách hàng Ở chân trang, bệnh viện cung cấp logo, tên, địa chỉ, số điện thoại, số fax, email, cũng như liên kết đến các trang mạng xã hội như Facebook và YouTube.
3.6.2 Một số giao diện chính của CMS
Hình 3-30: Giao diện đăng nhập tài khoản trên Website
Hình 3-31: Giao diện trang chủ trên CMS
Hình 3-32: Giao diện trang hiển thị danh mục tin tức trên Website
Hình 3-33: Giao diện danh sách tin đã đăng
Hình 3-34: Giao diện thêm mới tin tức
Hình 3-35: Giao diện trang chỉnh sửa tin tức
Hình 3-36: Giao diện trang Nhật ký hệ thống