Khảo sát hệ thống hiện tại
Trong quá trình khảo sát tại Bệnh viện Tâm thần Nghệ An, tôi nhận thấy hệ thống phần mềm quản lý hồ sơ bệnh nhân Medisoft không hỗ trợ chức năng in thẻ bệnh nhân, buộc cán bộ bệnh viện phải thực hiện thủ công quy trình này Việc in thẻ bệnh nhân diễn ra thường xuyên do bệnh nhân làm mất hoặc hư hỏng thẻ, gây tốn thời gian và công sức cho cán bộ Họ phải thu thập thông tin và ảnh của bệnh nhân để tạo thẻ trên file Word, dẫn đến nguy cơ sai sót trong thông tin và hình ảnh, làm giảm hiệu quả công việc quản lý.
Một số hình ảnh về phần mềm Medisoft:
(Qua một số hình ảnh trên ta thấy rõ hệ thống Medisoft không hỗ trợ chức năng in ảnh bệnh nhân vì không quản lý ảnh bệnh nhân)
Một số giải pháp đã được người quản lý đưa ra trong việc phát triển phần mềm nhƣ sau:
- Yêu cầu nhà sản xuất phần mềm Medisoft xây dựng thêm chức năng in thẻ
Phần mềm quản lý bệnh nhân Medisoft hiện tại gặp vấn đề do không lưu trữ được ảnh bệnh nhân và cột địa chỉ quá dài, khiến việc khai thác dữ liệu trở nên khó khăn.
Dựa trên thực tế, tôi đã đề xuất với cán bộ quản lý bệnh viện về việc xây dựng một công cụ độc lập cho phép in thẻ bệnh nhân với dữ liệu cần thiết được nhập mới Với số lượng bệnh nhân không nhiều và chỉ cần nhập 5 thông tin cơ bản, việc cập nhật dữ liệu bệnh nhân không tốn nhiều thời gian của người quản lý Cán bộ quản lý đã đồng ý với ý tưởng này và yêu cầu tôi phát triển công cụ Hiện nay, phần mềm đang được thử nghiệm tại bệnh viện Tâm thần Nghệ An.
Mô hình của thẻ bệnh nhân được yêu cầu với kích thước, font chữ như sau:
Mục đích của hệ thống
Hệ thống bao gồm các chức năng chính sau :
Cập nhật thông tin và phân quyền đối với từng người sử dụng
Cập nhật các danh mục thông tin: Cập nhật khoa điều trị
Cập nhật thông tin bệnh nhân
Tổ chức của hệ thống
Hệ thống có thể cho phép người quản trị tạo số người dùng tuỳ ý sao cho phù hợp với yêu cầu hệ thống
Tôi xin đƣợc phân quyền sử dụng hệ thống nhƣ sau :
Người quản trị hệ thống
- Có quyền cao nhất trong việc quản lý hệ thống
- Có thể try nhập đến bất cứ một chức nào của hệ thống
Người cập nhật hồ sơ
- Cập nhật thông tin các danh mục nhƣ: Cập nhật khoa điều trị, thông tin bệnh nhân
- Cho phép tìm kiếm, thống kê, in ấn các thông tin theo yêu cầu
Giới thiệu ngôn ngữ C#
Ngôn ngữ C# đơn giản với khoảng 80 từ khóa và nhiều kiểu dữ liệu tích hợp, nhưng lại mang ý nghĩa sâu sắc trong việc thực thi các khái niệm lập trình hiện đại Nó hỗ trợ cấu trúc, thành phần component và lập trình hướng đối tượng, thể hiện tính chất của một ngôn ngữ lập trình hiện đại Đặc biệt, C# được xây dựng dựa trên nền tảng của hai ngôn ngữ mạnh mẽ là C++ và Java, đáp ứng đầy đủ các yêu cầu của lập trình hiện đại.
Trái tim của ngôn ngữ lập trình hướng đối tượng là khả năng định nghĩa và làm việc với các lớp, cho phép phát triển các kiểu dữ liệu mới nhằm tối ưu hóa việc giải quyết vấn đề Ngôn ngữ C# cung cấp các từ khóa để khai báo lớp đối tượng, phương thức và thuộc tính, đồng thời hỗ trợ thực thi các nguyên tắc cơ bản như đóng gói, kế thừa và đa hình.
Trong ngôn ngữ C#, mọi khái niệm liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của lớp đó Đặc biệt, C# không yêu cầu phải tách riêng tập tin header và tập tin nguồn như trong C++ Hơn nữa, ngôn ngữ này hỗ trợ kiểu XML, cho phép người dùng chèn các thẻ XML để tự động tạo ra tài liệu cho lớp.
C# hỗ trợ giao diện (interface), coi đây là một cam kết giữa lớp và các dịch vụ mà giao diện quy định Trong C#, một lớp chỉ có thể kế thừa từ một lớp cha duy nhất, không cho phép đa kế thừa như trong C++ Tuy nhiên, một lớp có thể thực thi nhiều giao diện khác nhau.
Trong ngôn ngữ C#, cấu trúc được hỗ trợ với ngữ nghĩa khác biệt so với C++ Cấu trúc trong C# là kiểu dữ liệu nhỏ gọn, yêu cầu ít tài nguyên hệ điều hành và bộ nhớ hơn so với lớp Mặc dù không thể kế thừa từ lớp, cấu trúc vẫn có khả năng thực thi một giao diện.
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component
Lập trình hướng thành phần, được hỗ trợ bởi CLR, cho phép lưu trữ metadata cùng với mã nguồn của một lớp Metadata mô tả các phương thức, thuộc tính, bảo mật và các thuộc tính khác của lớp Mã nguồn chứa logic cần thiết để thực hiện chức năng của lớp Do đó, lớp được biên dịch thành một khối tự chứa, giúp môi trường hosting có thể đọc metadata và mã nguồn mà không cần thông tin bổ sung nào khác.
Ngôn ngữ C# hỗ trợ truy cập bộ nhớ trực tiếp thông qua kiểu con trỏ của C++ và sử dụng từ khóa dấu ngoặc [] Tuy nhiên, việc sử dụng mã nguồn không an toàn (unsafe) này có thể dẫn đến rủi ro, vì bộ giải phóng bộ nhớ tự động của CLR sẽ không giải phóng các đối tượng được tham chiếu bằng con trỏ cho đến khi chúng được giải phóng.
Yêu cầu đối với hệ thống
Bộ xử lý trung tâm
600 megahertz (MHz) Pentium processor Recommended:
1 gigahertz (GHz) Pentium processor recommended
Hệ điều hành Microsoft® Windows® 2000 Professional SP4
Microsoft® Windows® 2000 Advanced Server SP4
Microsoft® Windows® 2000 Datacenter Server SP4
Microsoft® Windows® XP Professional x64 Edition (WOW)
Microsoft® Windows® XP Professional SP2
Microsoft® Windows® XP Home Edition SP2
Microsoft® Windows® XP Media Center Edition
Microsoft® Windows® XP Media Center Edition
Microsoft® Windows® XP Media Center Edition
Microsoft® Windows® XP Tablet PC Edition SP2
Microsoft® Windows Server™ 2003, Standard Edition SP1
Microsoft® Windows Server™ 2003, Enterprise Edition SP1
Microsoft® Windows Server™ 2003, Datacenter Edition SP1
Microsoft® Windows Server™ 2003, Web Edition SP1
Microsoft® Windows Server™ 2003, Standard x64 Edition (WOW)
Microsoft® Windows Server™ 2003, Enterprise x64 Edition (WOW)
Microsoft® Windows Server™ 2003, Datacenter x64 Edition (WOW)
Microsoft® Windows Server™ 2003 R2, Standard Edition
Microsoft® Windows Server™ 2003 R2, Standard x64 Edition (WOW)
Microsoft® Windows Server™ 2003 R2, Datacenter x64 Edition (WOW)
Hệ thống phải cài đặt:
Một số khái niệm
Biểu đồ phân cấp chức năng
Biểu đồ phân cấp chức năng là một loại biểu đồ hình cây, trong đó mỗi nút đại diện cho một chức năng cụ thể của hệ thống Các chức năng được thể hiện qua các hình chữ nhật có ghi tên chức năng, và sự kết nối giữa các chức năng được biểu diễn bằng đoạn thẳng hoặc đường gấp khúc, giúp minh họa rõ ràng sự phân rã các chức năng trong hệ thống.
Biểu đồ luồng dữ liệu
Biểu đồ luồng dữ liệu là công cụ mô tả chức năng xử lý và việc trao đổi thông tin giữa các chức năng Nó bao gồm 5 thành phần chính, trong đó chức năng xử lý được thể hiện qua hình tròn hoặc hình ô van, kèm theo tên của chức năng đó.
Tên chức năng xử lý đề cập đến luồng dữ liệu, bao gồm thông tin đi vào hoặc ra khỏi chức năng đó Luồng dữ liệu được biểu diễn bằng mũi tên, với tên luồng được ghi rõ bên cạnh; chiều của mũi tên thể hiện hướng di chuyển của luồng thông tin.
Tên luồng dữ liệu trong kho dữ liệu phản ánh các thông tin được lưu trữ trong một khoảng thời gian nhất định, phục vụ cho các chức năng xử lý hoặc tác nhân sử dụng Kho dữ liệu được biểu diễn bằng cặp đoạn thẳng song song ở giữa, trong đó có ghi rõ tên kho.
Tác nhân ngoài trong kho dữ liệu là một cá nhân, nhóm người hoặc tổ chức bên ngoài hệ thống, có vai trò trao đổi thông tin với hệ thống Tác nhân ngoài thường được thể hiện bằng hình chữ nhật, trong đó ghi rõ tên của tác nhân đó.
Tác nhân trong là một chức năng hoặc hệ thống con, được biểu diễn bằng hình chữ nhật hở một cạnh, trong đó ghi rõ tên của tác nhân đó.
Biểu đồ phân cấp chức năng hệ thống
Phần mềm In thẻ Bệnh Nhân
Hệ thống Thống kê_Báo cáo Nhập dữ liệu
In thẻ ĐK người dùng Đổi mật khẩu
Biểu đồ luồng dữ liệu của hệ thống
o Biểu đồ luồng dữ liệu mức ngữ cảnh của hệ thống
Bệnh nhân Phần mềm in thẻ o Biểu đồ luồng dữ liệu mức đỉnh
2) Thông tin yêu cầu in thẻ
4) TT yêu cầu tìm kiếm, thống kê, báo cáo, in ấn
5) Thông tin đáp ứng yêu cầu
Cập nhật hồ sơ (1) Bệnh nhân (2) In thẻ
Tìm kiếm, thống kê, báo cáo, in ấn
Người quản lý o Biểu đồ luồng dữ liệu mức dưới đỉnh
Chức năng cập nhật thông tin bệnh nhân
1) Thông tin bệnh nhân nhƣ: Họ tên, ngày sinh,
Bệnh nhân CN thông tin bệnh nhân
1 TT yêu cầu in thẻ
Chức năng tìm kiếm, thống kê báo cáo, in ấn
1 Yêu cầu tìm kiếm, thống kê, báo cáo, in ấn thông tin về bệnh nhân
2 Thông tin đáp ứng yêu cầu
Người quản lý Tìm kiếm, thống kê, báo cáo, in ấn
Thiết kế cơ sở dữ liệu
Tên trường Kiểu dữ liệu Kích thước Chú thích
UserID Int Mã tương ứng người truy cập
FullName nvarchar 50 Tên đầy đủ truy cập hệ thống
UserName nvarchar 30 Tên đăng nhập hệ thống
UserPass nvarchar 30 Mật khẩu người truy cập
Tên trường Kiểu dữ liệu Kích thước Chú thích
UserID Int Mã tương ứng người truy cập
MenuName nvarchar 50 Các menu có hiệu lực
Tên trường Kiểu dữ liệu Kích thước Chú thích
TreatmentWardID int Mã khoa điều trị
TreatmentWardName nvarchar 50 Tên khoa điều trị
Tên trường Kiểu dữ liệu Kích thước Chú thích
PatientID int Mã bệnh nhân
PatientName nvarchar 50 Tên bệnh nhân
TreatmentWardID int Mã khoa điều trị
ImageData image Ảnh bệnh nhân
Lựa chọn hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình
Hiện nay, có nhiều hệ quản trị cơ sở dữ liệu như Foxpro, Microsoft Access, SQL Server, và Oracle Trong số đó, SQL Server nổi bật với tính phổ dụng, cung cấp đầy đủ công cụ cần thiết để xây dựng cơ sở dữ liệu hiệu quả và giao diện thân thiện với người dùng.
Dựa trên yêu cầu của đề tài, tôi đã quyết định sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2005 kết hợp với ngôn ngữ lập trình C# để phát triển hệ thống này.