Đề tài Quản lí bệnh viện Khánh Hòa bằng hệ quản trị cơ sở dữ liệu quan hệ là Miccrsoft Access 2000 và ngôn ngữ hỗ trợ cài đặt là Visual Basic 6.0

Tài liệu Đề tài Quản lí bệnh viện Khánh Hòa bằng hệ quản trị cơ sở dữ liệu quan hệ là Miccrsoft Access 2000 và ngôn ngữ hỗ trợ cài đặt là Visual Basic 6.0: LỜI NÓI ĐẦU Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật. Công nghệ thông tin là một lĩnh vực nhiều ứng dụng thiết thực nhất trong mọi lĩnh vực của cuộc sống và xã hội chúng ta, đặc biệt nó là công cụ hỗ trợ đắc lực không thể thiếu trong công tác quản lý. Dễ dàng thấy rằng cơ sở dữ liệu là một trong ứng dụng quan trọng của công tác tin học hoá trong quản lý kinh doanh của các doanh nghiệp. Nhờ vào công tác tin học hoá mà công tác quản lý, điều hành của các doanh nghiệp tỏ ra có hiệu quả, nhanh chóng, chính xác, lưu trữ gọn, bảo mật cao và dễ dàng. 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 Hoà là một trong những trung tâm khám chữa bệnh lớn nhất của tỉnh Khánh Hoà. Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vào trong việc quản lý Bệnh nhân và nhân viên của bệnh viện là một nhu cầu tất yếu. Chính vì lý do này mà em chọn đề tài này. Hiện nay...

doc50 trang | Chia sẻ: hunglv | Lượt xem: 1309 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Quản lí bệnh viện Khánh Hòa bằng hệ quản trị cơ sở dữ liệu quan hệ là Miccrsoft Access 2000 và ngôn ngữ hỗ trợ cài đặt là Visual Basic 6.0, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LỜI NÓI ĐẦU Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật. Công nghệ thông tin là một lĩnh vực nhiều ứng dụng thiết thực nhất trong mọi lĩnh vực của cuộc sống và xã hội chúng ta, đặc biệt nó là công cụ hỗ trợ đắc lực không thể thiếu trong công tác quản lý. Dễ dàng thấy rằng cơ sở dữ liệu là một trong ứng dụng quan trọng của công tác tin học hoá trong quản lý kinh doanh của các doanh nghiệp. Nhờ vào công tác tin học hoá mà công tác quản lý, điều hành của các doanh nghiệp tỏ ra có hiệu quả, nhanh chóng, chính xác, lưu trữ gọn, bảo mật cao và dễ dàng. 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 Hoà là một trong những trung tâm khám chữa bệnh lớn nhất của tỉnh Khánh Hoà. Do đó, nhu cầu ứng dụng việc quản lý bằng tin học vào trong việc quản lý Bệnh nhân và nhân viên của bệnh viện là một nhu cầu tất yếu. Chính vì lý do này mà em chọn đề tài này. Hiện nay, có rất nhiều phần mềm hệ quản trị cơ sơ khác nhau. Tuy nhiên, căn cứ vào tình hình quản lý bệnh nhân và nhân viên thực tế của bệnh viện mà em chọn hệ quản trị cơ sở dữ liệu quan hệ là Miccrsoft Access 2000 và ngôn ngữ hỗ trợ cài đặt là Visual Basic 6.0. Mặc dù, đã có nhiều cố gắng nhưng do thời gian thực tập có hạn nên không thể tránh khỏi sai lầm và thiếu sót. Rất mong được sự đóng góp và chỉ bảo của quý thầy cô cùng bạn đọc. Cuối cùng, em xin chân thành cảm ơn sự hướng dẫn và chỉ bảo tận tình của thầy hướng dẫn Ths Nguyễn Hữu Trọng, cùng với sự hướng dẫn, giúp đỡ nhiệt tình của kỹ sư Hội (Phòng kế hoạch tổng hợp của bệnh viện tỉnh Khánh Hoà) đã giúp em hoàn thành đồ án thực tập chuyên ngành này. Sinh Viên Thực Hiện Nguyễn Ngọc Hùng Cường MỤC LỤC Phần I : GIỚI THIỆU TỔNG QUAN VỀ NGÔN NGỮ CÀI ĐẶT. I. Giới thiệu về Microsoft Acceess 2000 I.1. Micro soft Acceess 2000 là gì? Khái niệm về hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System): Là hệ thống các chương trình hỗ trợ các tác vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ. Microsoft Acceess cũng là một hệ quản trị cơ sở dữ liệu quan hệ nó trợ giúp cho người sử dụng lưu trữ thông tin dữ liệu bên ngoài vào máy tính dưới dạng các bảng và có thể tính toán, xử lý trên dữ liệu trong các bảng đã lưu trữ. I.2. Các đặc điểm của của Microsoft Acceess 2000 Hỗ trợ cơ chế tự động kiểm tra khoá 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ẽ. Với công cụ trình thông minh (Winzard) cho phép người sử dụng có thể thiết kế các đối tượng trong Microsoft Acceess một cách nhanh chóng. Với công cụ truy vấn bằng thí dụ QBE (Query By Example) sẽ hỗ trợ cho người sử dụng có thể thực hiện các truy vấn mà không cần quan tâm đến cú pháp các câu lệnh trong ngôn ngữ truy vấn có cấu trúc SQL (Structure Query Language) được viết như thế nào. Với kiểu trường dữ liệu nhúng OLE (Object Linking and Embeding) cho phép người sử dụng có thể đưa vào bên trong tập tin cơ sở dữ liệu Acceess các ứng dụng khác trên Windows như: tập tin văn bản Word, bảng tính Axcel, hình ảnh BMP, âm thanh Wav … Dữ liệu được lưu trọn gói trong một tập tin: Tất cả các đối tượng của một ứng dụng chỉ được lưu trong một tập tin cơ sở dữ liệu duy nhất đó là tập tin cơ sở dữ liệu Access (MDB). Ứng dụng có thể sử dụng trên môi trường mạng máy tính nhiều người sử dụng, cơ sở dữ liệu được bảo mật tốt. Có khả năng trao đổi dữ liệu qua lại với các ứng dụng khác, có thể chuyển đổi qua lại với các ứng dụng như: Word, Axcel, Fox, Dbase, HTML … Kết nối trực tiếp vào hệ cơ sở dữ liệu Microsoft SQL Server để phát triển các ứng dụng mô hình khách chủ (Client / Server). I.3. Đối tượng bảng trong cơ sở dữ liệu Access 2000 Bảng: Là thành phần cơ sở của tập tin cơ sở dữ liệu Access, dùng để lưu trữ dữ liệu, nó chính là cấu trúc cơ sở dữ liệu. Do đó đây là đối tượng đầu tiên phải được tạo ra trước. Bên trong một bảng, dữ liệu được lưu thành nhiều cột và nhiều dòng. Thí dụ: Một bảng bệnh nhân dùng lưu thông tin của các bệnh nhân trong bệnh viện gồm các cột: Mã bệnh nhân, Họ bệnh nhân, ngày sinh bệnh nhân,… Cụ thể như sau: Hình :Màn hình hiển thị bảng bệnh nhân trong Microsoft Access 2000. II. Cơ sở dữ liệu là gì? Cơ sở dữ liệu là một kho chứa thông tin. Có nhiều loại cơ sở dữ liệu nhưng trong đó cơ sở dữ liệu quan hệ, là cơ sở dữ liệu phổ biến nhất hiện nay. Một cơ sở dữ liệu quan hệ: Kho chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng còn gọi là các mẫu tin, và các cột gọi là các trường. Cho phép lấy về (hay truy vấn) các tập hợp dữ liệu con từ các bảng. Cho phép nối các bảng với nhau cho mục đích truy cập các mẫu tin liên quan với nhau chứa trong các bảng khác nhau. II.1. Bảng và Trường: Các cơ sở dữ liệu được cấu tạo từ các bảng dùng thể hiện các phân nhóm dữ liệu. Bảng: chứa các mẫu tin là các mẫu dữ liệu riêng rẽ bên trong phân nhóm dữ liệu. Mẫu tin: chứa các trường. Mỗi trường thể hiện một bộ phận dữ liệu trong một mẫu tin. Ví dụ mẫu tin chứa trong mục bệnh nhân chứa các trường Họ tên bệnh nhân, Ngày sinh bênh nhân, giới tính bệnh nhân, nơi sinh bệnh nhân, địa chỉ bệnh nhân… Ta có thể dùng chương trình Visual Basic 6.0 để tham chiếu và thao tác với cơ sở dữ liệu, bảng, mẫu tin. II.2. Thiết kế cơ sở dữ liệu: Để tạo một cơ sở dữ liệu, trước hết ta phải xác định thông tin gì cần quản lý. Sau đó thiết kế cơ sở dữ liệu, tạo bảng và các trường định nghĩa kiểu dữ liệu sẽ có. Sau khi tạo ra cấu trúc cơ sở dữ liệu có thể tạo ra dữ liệu dưới dạng mẫu tin. Ta không thể đưa dữ liệu vào mà không có bảng hay định nghĩa trường vì dữ liệu sẽ không có chỗ để chứa. Do đó thiết kế cơ sở dữ liệu cục kỳ quan trọng, nhất là rất khó thay đổi thiết kế một khi đã tạo ra nó. II.3. Recordset là gì? Một khi ta có khả năng tạo bảng, ta cần phải biết cách thao tác với chúng. Thao tác trên các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng như việc kiểm tra và sửa đổi cấu trúc bảng. Để thao tác với cấu bảng, ta dùng các câu lệnh định nghĩa dữ liệu. Để thao tác dữ liệu trong một bảng, ta dùng Recorset. Một Recorset là một cấu trúc thể hiện một tập hợp con các mẫu tin lấy về từ cơ sở dũ liệu. Về khái niệm nó tương tự như một bảng, nhưng có thêm một vài thuộc tính riêng biệt quan trọng. Các Recorset thể hiện như các đối tượng, về khái niệm tương tự như là các đối tượng giao diện người sử dụng (như là các nút lệnh và hộp văn bản) mà ta đã làm quen với Visual Basic 6.0. Cũng như các kiểu đối tượng khác trong Visual Basic, các đối tượng Recordset có các thuộc tính và phương thức riêng. II.4. Tạo lược đồ cơ sở dữ liệu Mặc dù việc tạo danh sách các bảng và trường là cách tốt nhất để xác định cấu trúc cơ sở dữ liệu, ta còn có một cách để xem các bảng và trường dưới dạng đồ hoạ. Sau đó không chỉ xem được các bảng và trường hiện có, mà còn thấy được mối liên hệ giữa chúng. Để làm được điều này bằng cách là ta tạo lược đồ. Lược đồ là bản đồ các con đường trong cơ sở dữ liệu. Lược đồ thể hiện các bảng, trường và mối quan hệ trong cơ sở dữ liệu. Có lược đồ cơ sở dữ liệu là phần quan trọng trong thiết kế phần mềm vì nó cho ta một cách nhìn nhanh về những gì có trong cơ sở dữ liệu. Các lược đồ vẫn có vị trí quan trọng lâu dài sau khi thiết kế cơ sở dữ liệu hoàn tất. Ta sẽ cần đến lược đồ để thi hành các câu truy vấn trên nhiều bảng. Không có phương pháp chính thức để tạo lược đồ, tuy vậy Microsoft Access là công cụ tương đối thuận tiện và dễ dàng trong việc tạo lược đồ. II.5. Các mối liên hệ Mối liên hệ là một cách định nghĩa chính thức hai bảng liên hệ với nhau như thế nào. Khi ta định nghĩa một mối liên hệ ta đã thông báo với bộ máy cơ sở dữ liệu rằng hai trường trong bảng liên quan được nối với nhau. Hai trường liên quan với nhau trong một mối liên hệ là khoá chính và khoá ngoại. Khoá ngoại là khoá trong bảng liên quan chứa bảng sao của khoá chính của bản chính. Mối quan hệ sau đó thông báo cho bộ máy cơ sở dữ liệu hai bảng liên quan với nhau trong mối liên hệ và khoá ngoại nào liên quan với khoá chính nào. Bộ máy Acceess / Jet không đòi hỏi ta phải khai báo tường minh các mối quan hệ này, nhưng nó có lợi hơn nếu làm điều này bởi vì nó đơn giản hoá công việc lấy về dữ liệu dựa trên các mẫu tin nối qua hai hay nhiều bảng. Ngoài việc ghép các mẫu tin liên quan trong những bảng riêng biệt, ta còn định nghĩa mối quan hệ để tận dụng thế mạnh tính toàn vẹn tham chiếu, một thuộc tính của bộ máy cơ sở dữ liệu duy trì các dữ liệu trong một cơ sở dữ liệu nhiều bảng luôn luôn nhất quán. Khi tính toàn vẹn tham chiếu tồn tại trong một cơ sở dữ liệu, bộ máy cơ sở dữ liệu sẽ ngăn cản ta xoá một mẫu tin khi các mẫu tin khác tham chiếu đến nó trong cơ sở dữ liệu.Sau khi đã định nghĩa mối quan hệ trong cơ sở dữ liệu, việc định nghĩa mối quan hệ này được lưu trữ cho đến khi ta xoá nó. II.6. Chuẩn hoá Chuẩn hoá là một khái niệm liên quan đến mối quan hệ. Về cơ bản, nguyên tắc của chuẩn hoá phát biểu rằng các bảng cơ sở dữ liệu sẽ loại trừ tính không nhất quán và giảm thiểu sự kém hiệu quả.Các cơ sở dữ liệu được mô tả là không nhất quán khidữ liệu trong một bảng không tương ứng với các dữ liệu nhập vào trong bảng khác. Một cơ sở dữ liệu kém hiệu quả không cho phép ta trích ra các dữ liệu chính xác mà ta muốn. Khi một cơ sở dữ liệu được chuẩn hoá đầy đủ chứa từng mẫu thông tin của cơ sở dữ liệu trong bảng riêng và xa hơn, xác định từng mẫu thông tin duy nhất thông qua khoá chính của thông tin đó. Ta quyết định cách thức để chuẩn hoá cơ sở dữ liệu. Thông thường, mọi thứ về ứng dụng cơ sở dữ liệu từ thiết kế bảng cho đến truy vấn, từ giao diện người sử dụng đến cách thức hoạt động của báo cáo đều xuất phát từ cách chuẩn hoá dữ liệu. III. Giới Thiệu Tổng Quan Về Các Đối Tượng Truy Cập Dữ Liệu Với Lớp (trong Visual Ba sic 6.0) : Có một số phương tiện giúp cho việc áp dụng kỹ thuật hướng đối tượng trong truy cập dữ liệu trong VB: Gắn mẫu tin duy nhất với một đối tượng: Đây là kỹ thuật đơn giản nhất, không cần lập trình nhiều. Mỗi trường trong mẫu tin trở thành một thuộc tính của đối tượng; lấy dữ liệu về từ cơ sở dữ liệu hay lưu dữ liệu vào cơ sở dữ liệu đều được xử lý qua đối tượng. Ủy nhiệm xử lý dữ liệu cho một đối tượng Recorset chứa trong một đối tượng: Đây là kỹ thuật tốt nhất khi ta cần xử lý một số không giới hạn mẫu tin. Kỹ thuật này cũng dễ lập trình, bởi có nhiều chức năng quản lý được cung cấp sẵn trong các mô hình đối tượng được sử dụng (DAO hay RDO). Kỹ thuật đặc biệt hữu dụng khi dùng ADO bởi vì ADO cung cấp khả năng ngắt kết nối với nguồn dữ liệu, cho phép ứng dụng Client thao tác với dữ liệu không cần thao tác với server. Bởi vì nhiều người sử dụng kết nối đồng thời là một điểm yếu của các hệ thống Client / Server, ngắt kết nối nghĩa là giải pháp sẽ linh hoạt hơn. III.1. Mô hình dữ liệu ADO: (ActiveX Data Object: Đối tượng dữ liệu ActiveX) Ta có thể hình dung rằng mô hình ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng dữ liệu từ xa). Mô hình đối tượng dữ liệu ActiveX rất gọn. Nó được thiết kế để cho phép những người lập trình lấy được một tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể. Tốc độ và tính đơn giản là một trong các mục tiêu cối lõi của ADO, mô hình này được thiết kế để cho phép bạn tạo ra một đối tượng Recordset mà không cần phải duy chuyển qua các đối tượng trung gian khác trong quá trình. Thực tế chỉ có ba đối tượng cốt lõi sau trong mô hình: Connection đại diện kết nối dữ liệu thực sự. Command được sử dụng để thực thi các query dựa vào kết nối dữ liệu. Recordset đại diện cho một tập các record được chọn query thông qua đối tượng Command. Đối tượng Connection có một sưu tập đối tượng con gọi là các đối tượng Errors đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kết nối. Đối tượng Command có một sưu tập đối tượng con, Paramters để giữ bất cứ các tham số nào có thể thay thế cho các query. Recorset cũng có một đối tượng sưu tập con Properties để lưu các thông tin chi tiết về đối tượng. Sơ đồ mô hình ActiveX Data Object Connection Command Parameter Recorset Fields Error III.2. Các thuộc tính ADO đặc biệt: Mô hình ADO có một số các thuộc tính duy nhất không có các mô hình khác như DAO và RDO. 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ó 7 thuộc tính như sau: Connection string (Chuỗi kết nối). Command Text (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 khoá). Mode type (Kiểu chế độ làm việc). Chương II: ĐẶC TẢ BÀI TOÁN Bệnh viện đa khoa tỉnh Khánh Hoà cần quản lý một số thông chính cần thiết về bệnh nhân và nhân viên trên hệ thống mạng máy tính cục bộ của bệnh viện. Sau khi khảo sát hiện trạng phân tích viên nắm được những thông tin chính cần quản lý sau: Quản lý nhân viên bệnh viện Mỗi nhân viên của bệnh viện được quản lý các thông tin sau đây: Họ, tên, giới tính, ngày sinh, nơi sinh, địa chỉ, dân tộc, trình độ chuyên môn, đơn vị công tác, chức vụ, tôn giáo, chính trị, loại hình đào tạo, ngoại ngữ. Trong lý lịch quản lý: - Nơi sinh quản lý: Huyện, tỉnh. - Địa chỉ quản lý: Số nhà, đường. Chính trị quản lý Đoàn viên và Đảng viên. Nếu là Đảng viên thì quản lý ngày vào Đảng, ngày chính thức, chi bộ sinh hoạt. Nhân viên của bệnh viện được chia làm hai loại: Công chức và hợp đồng. Nếu là công chức thì quản lý: Ngày vào biên chế, quá trình lương. Quá trình lên lương của một công chức bao gồm: Ngạch, bậc, ngày lên lương. Mỗi ngạch lương có số tháng lên lương được xác định trước. Nếu nhân viên là hợp đồng lao động thì quản lý: Số hợp đồng, ngày bắt đầu hợp đồng, mức lương, tên và chức vụ của người ký hợp đồng. Quản lý bệnh nhân Khi một bệnh nhân nhập viện lần đầu tiên, bệnh viện lưu những thông tin sau: Họ, tên, giới tính, ngày sinh, địa chỉ, đối tượng. Bệnh nhân được chia làm hai loại: Loại có bảo hiểm y tế và không có bảo hiểm y tế. Nếu bệnh nhân có bảo hiểm y tế thì quản lý: Số thẻ bảo hiểm y tế, thời gian hiệu lực, phần trăm bảo hiểm, nơi khám bệnh ban đầu. Nếu bệnh nhân có thẻ bảo hiểm y tế là công nhân viên của một tổ chức, cơ quan nào đó thì quản lý thêm: Tên, địa chỉ, điện thoại, fax cuả cơ quan công tác. Địa chỉ bệnh nhân và cơ quan quản lý: Số nhà, đường (thôn, ấp), xã (phường), quận (huyện), tỉnh (thành phố). Quy trình khám chữa bệnh Bệnh nhân đến bệnh viện để khám chữa bệnh (vì đây là bệnh viện đa khoa) nên có các trường hợp sau: - Bệnh nhân đến để khám chữa các bệnh thông thường. - Bệnh nhân đang ở trong tình trạng cần cấp cứu đặc biệt (các thủ tục nhập viện được tiến hành sau). - Bệnh nhân là sản phụ trong trường hợp cấp cứu (thì được đưa trực tiếp đến khoa sản). Nhìn chung, bệnh nhân đến bệnh viện để khám chữa bệnh theo quy trình chung sau: - Bước 1: Bệnh nhân đến nơi tiếp nhận bệnh nhân (nơi cấp số) để xác lập việc khám bệnh và được chỉ định một vị trí khám bệnh. - Bước 2: Bệnh nhân được một bác sĩ khám bệnh. - Bước 3: Sau khi khám xong bệnh nhân thuộc một trong hai loại: Điều trị tại nhà hay nhập viện. + Bước 3.1: Nếu bệnh nhân điều trị tại nhà thì bác sĩ cho một toa thuốc trên đó ghi đầy đủ tên thuốc, số lượng và cách dùng. Nếu bệnh nhân có thẻ bảo hiểm y tế thì đến nơi cấp thuốc bảo hiểm y tế để nhận thuốc và trả một phần giá thuốc theo quy định phần trăm trên thẻ bảo hiểm. Ngược lại, bệnh nhân phải trả tất cả chi phí khám bệnh và tự mua thuốc. + Bước 3.2: Nếu bệnh nhân phải nhập viện thì bác sĩ khám bệnh cho một lệnh nhập viện, trên đó có ghi đầy đủ thông tin về bệnh nhân, căn bệnh dự đoán và đưa đến khoa điều trị. - Bước 4: Tại khoa điều trị, bệnh nhân sẽ được chuẩn đoán và lập một bệnh án chi tiết. Trên bệnh án ghi đầy đủ thông tin về bệnh nhân và căn bệnh mà bệnh mắc phải. Quá trình điều trị bệnh nhân được thể hiện đầy đủ trên bệnh án. Trong một khoảng thời gian quy định tuỳ theo bệnh nhân, bệnh nhân được một bác sĩ khám, cho một toa thuốc. Trên toa thuốc ghi tên thuốc, số lượng và cách dùng. Trong quá trình điều trị, bệnh nhân có thể sử dụng các dịch vụ hỗ trợ khám bệnh như: Xét nghiệm, X_quang, siêu âm,… Việc sử dụng cũng theo chỉ định của bác sĩ khám chữa bệnh. Mỗi dịch vụ có giá tiền riêng. Khi bệnh nhân điều trị có thể lựa chọn loại phòng nằm điều trị với giá dịch vụ riêng cho mỗi loại phòng. - Bước 5: Thanh toán viện phí: Trong quá trình điều trị, cứ 3 ngày, bệnh viện yêu cầu bệnh nhân thanh toán viện phí một lần (bằng cách bệnh nhân sẽ đóng một số tiền tạm ứng tuy theo khả năng của mình), sau khi xuất viện nhân viên sẽ căn cứ vào số tiền tạm ứng trên sẽ tính để biết được bệnh nhân đã thanh toán đầy đủ tiền viện phí chưa. Nếu bệnh nhân có thẻ bảo hiểm y tế thì chỉ đóng phần trăm viện phí theo bảo hiểm bao gồm tiền thuốc và các dịch vụ hỗ trợ chữa trị và khám bệnh. Riêng tiền phòng, nếu có thẻ bảo hiểm y tế, bệnh nhân cũng chỉ được bảo hiểm trên loại phòng rẻ nhất, nếu bệnh nhân nằm điều trị ở loại phòng có giá tiền cao thì tự trả phần chênh lệch. Khi xuất viện, bệnh nhân thanh toán toàn bộ số viện phí còn lại. Trong quá trình điều trị, nếu có bệnh nhân trốn viện, không thanh toán viện phí. Bệnh viện lưu lại tất cả các thông tin về bệnh nhân trốn viện. Nếu sau khi chữa trị 3 ngày mà bệnh nhân không đóng tạm ứng tiền viện phí (hay tiền tạm ứng viện phí trước đó đã hết), thì khoa (phòng) nơi điều trị bệnh nhân trình ban lãnh đạo biết để xem xét giải quyết. - Bước 6: Theo chu kỳ mỗi tháng, bệnh viện thanh toán tiền viện phí với Bảo hiểm y tế. Chương III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN. III.1. MÔ HÌNH QUAN NIỆM DỮ LIỆU (1,n) TỈNH - Mã T - Tên T ĐƠN VỊ - Mã ĐV - Tên ĐV D-TỘC - Mã DT - Tên DT C-MÔN - Mã CM - Tên CM C-VỤ - Mã CV - Tên CV NHÂN VIÊN - Mã NV - Họ NV - Tên NV - Ngày sinh - Giới tính - Số nhà NV-ĐV (1,n) (1,1) NV-DT (1,n) (1,1) NV-CM (1,n) (1,1) NV-CV (1,1) (1,n) HUYỆN - Mã H - Tên H H-T (1,n) (1,1) XÃ - Mã X - Tên X X-H (1,1) (1.n) ĐƯỜNG - Mã Đ - Tên Đ BN-TU (1,n) (1,1) NƠI SINH (1,n) (1,1) K-BỆNH - Ngày KB - NDKB - CPKB (1,n) VỊ TRÍ KB - Mã VTKB - Tên VTKB (1,n) TOA-BH - Lần TBH - SLT1 - Đ-giá T1 (1,n) THUỐC - Mã T - Tên T (1,n) BỆNH ÁN - Mã BA - Ngày vào - Ngày ra - ĐGphòng D-D-VỤ - Lần SD - ĐGDV DỊCH VỤ - Mã DV - Tên DV T.TIỀN DV - Mã TTDV - Số tiền DV BỆNH NHÂN - Mã BN - Họ BN - Tên BN - Ngày sinh BN - Giới tính BN NƠI ĐTRỊ _ Mã NĐT _ Tên NĐT NƠI KB - Mã NKB - Tên NKB CƠ QUAN - Mã CQ - Tên CQ - ĐTCQ - Fax CQ BH Y TẾ - Số TBHYT - Ngày bắt đầu - Ngày K thúc - Phần trăm DTHUỐC - Lần DT - SLT 2 - ĐGT 2 BN-H (1,1) (1,n) (1,n) (1,n) CÁN BỘ CB-CQ (1,1) (1,n) NKB BĐ (1,1) TTDT - Mã PTTDT - Số tiền DT (1,n) (1,n) (1,n) (1,n) (1,n) Đ.TƯỢNG - Mã ĐT - Tên ĐT (1,n) BN-ĐT (1,n) (1,n) (1,1) QTL -NgàyLL (1,1) (1,n) T-ĐỘ - Mã TĐ - Tên TĐ T-GIÁO - Mã TG - Tên TG N-NGỮ - Mã NN - Tên NN LHĐT - Mã LHĐT - Mã LHĐT Đ-VIÊN -Ngày VĐ -Ngày CT CHI BỘ - Mã CB - Tên CB C-CHỨC - Ngày vào BC B-LƯƠNG - Mã BL - HSL N-LƯƠNG- - Mã NL - Tên NL - Số TLL HỢP ĐỒNG - Số HĐ - Ngày BĐ - Mức Lương ĐV-CB NV-TĐ NV-Đ NV-TG NV-NN - Cấp độ NV-ĐT NKHĐ (1,1) (1,1) (1,1) (1,1) BL-N (1,n) (1,1) (1,1) (1,1) (1,1) (1,n) ĐCNTBN ĐCNTBN - Số nhà BN TẠM ỨNG - Mã TU - Số tiền TU - Ngày TU - Số lần TU BN-X BN-Đ (1,1) (1,1) (1,n) (1,n) (1,n) (1,n) (1,n) (1,n) (1,1) (1,n) (1,n) III.2. MÔ HÌNH TỔ CHỨC DỮ LIỆU TỈNH(Mã tỉnh, Tên tỉnh) HUYỆN(Mã huyện, Tên huyện, Mã tỉnh) ĐƯỜNG(Mã đường, Tên đường) XÃ(Mã xã, Tên xã, Mã huyện) ĐƠN VỊ(Mã đơn vị, Tên đơn vị) DÂN TỘC(Mã dân tộc, Tên dân tộc) 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ụ) KHÁM BỆNH(NgàyKB, Mã NV, Mã VTKB,Mã BN, NDKB, CPKB) VỊ TRÍ KHÁM BỆNH(Mã VTKB, Tên VTKB) TOA-BH(Ngày KB, Lần toa-BH, Số TL1, Đơn giá T1, Mã Thuốc) THUỐC(Mã thuốc, Tên thuốc) BỆNH ÁN(Mã bệnh án, Mã nơi ĐT, Ngày KB, Ngày vào, Ngày ra, ĐG phòng) NƠI ĐIỀU TRỊ(Mã NĐT, Tên NĐT) DÙNG THUỐC(Mã bệnh án, Lần DT, SLT2, Đơn giá T2, Mã thuốc) THANH TOÁN DÙNG THUỐC(Mã PTTDT, Lần DT, Số tiền DT) DÙNG DỊCH VỤ(Mã BA, Lần DDV, Mã DV, ĐGDV) THÀNH TIỀN DV(Lần SD, Mã TTDV, Số tiền DV) NHÂN VIÊN(Mã NV, Họ NV,Tên NV, Ng-sinh, Nơi sinh,Giới tính, S-nhà, Mã ĐV, Mã CM, Mã CV, Mã đường, Mã huyện, Mã DT, Mã TG, Mã LHĐT, Mã TĐ) BỆNH NHÂN(Mã BN, Họ BN, Tên BN, Ngày sinh, Giới tính, Số nhà BN, Mã đối tượng). BH Y TẾ(Mã BN, Số TBHYT, Ngày BĐ, Ngày KT, Phần trăm,Mã NKB) CÁN BỘ(Mã BN, Mã CQ) CƠ QUAN(Mã CQ, Tên CQ, Điện thoại CQ, Fax CQ) NƠI KB(Mã NKB, Tên NKB) 25. DỊCH VỤ(Mã DV, Tên DV) 26. NGOẠI NGỮ(Mã NN, Tên NN) 27. TÔN GIÁO(MãTG, Tên TG) 28. LOẠI HÌNH ĐÀO TẠO(Mã LHĐT, Tên LHĐT) 29. HỢP ĐỒNG(Mã BN, Số HĐ, Ngày BĐ, Mức lương) 30. ĐẢNG VIÊN(Mã NV, Ngày VĐ, Ngày CT, Mã CB) 31. CÔNG CHỨC(Mã NV, Ngày vào BC) 32. ĐỐI TƯỢNG(Mã ĐT, Tên ĐT) 33. CHI BỘ(Mã CB, Tên CB) 34. QTL(Mã NV, Mã BL, NgàyLL) 35. BẬC LƯƠNG(Mã BL, HSL, Mã NL) 36. ĐCNTBN(Mã BN, Mã Xã) 37. ĐCTTBN(Mã BN, Số nhà BN, Mã đường, Mã huyện) 38. NV-NN(Mã NV, Mã NN, Cấp độ) 39. NGẠCH LƯƠNG(Mã NL, Tên NL, Số TLL) III.3. MÔ HÌNH VẬT LÝ DỮ LIỆU TỈNH(Mã tỉnh, Tên tỉnh) TỈNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã tỉnh (K) Text 2 Len()=2 Tên tỉnh Text 20 Theo khảo sát thực tế tại BV tỉnh Khánh Hoà quy định Mã tỉnh là 2 số. Ví dụ: 01 là mã của Khánh Hoà. 02 là mã của tỉnh Bình Thuận. HUYỆN(Mã huyện, Tên huyện, Mã tỉnh) HUYỆN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã huyện (K) Text 4 Len()=4 Tên huyện Text 25 Mã tỉnh Text 2 Lookup(T) Ví dụ: 0101: Là mã của TP Nha Trang. 0102: Là mã của huyện Ninh Hoà. ĐƯỜNG(Mã đường, Tên đường) ĐƯỜNG Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã đường (K) Text 4 Len()=4 Tên đường Text 30 XÃ(Mã xã, Tên xã, Mã huyện) XÃ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã xã (K) Text 6 Len()=6 Tên xã Text 25 Mã huyện Text 4 Lookup(H) Ví dụ: 010101: Phường Xương Huân(Nha Trang). 010203: Xã Ninh Hưng(huyện Ninh Hoà). ĐƠN VỊ(Mã đơn vị, Tên đơn vị) ĐƠN VỊ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã ĐV (K) Text 2 Len()=2 Tên ĐV Text 50 Ví dụ: 01: Khoa nội. 02: Khoa ngoại. 03: Khoa nhi. DÂN TỘC(Mã dân tộc, Tên dân tộc) DÂN TỘC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã DT (K) Text 2 Len()=2 Tên DT Text 10 CHUYÊN MÔN(Mã chuyên môn, Tên chuyên môn) CHUYÊN MÔN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã CM (K) Text 2 Len()=2 Tên CM Text 50 CHỨC VỤ(Mã chức vụ, Tên chức vụ) CHỨC VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã CV (K) Text 2 Len()=2 Tên CV Text 20 KHÁM BỆNH(Ngày KB, Mã BN, Mã VTKB, Mã BN, NDKB, CPKB) KHÁM BỆNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Ngày KB (K) Date <Date() Mã NV (K) Text 9 Mã VTKB (K) Text 3 Mã BN (K) Text 9 Nội dung KB Text 50 Len()=50 Chi phí KB Currency Genneral Num >0 VỊ TRÍ KHÁM BỆNH(Mã vị trí, Tên vị trí) VỊ TRÍ KHÁM BỆNH Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã VTKB (K) Text 3 Len()=3 Tên VTKB Text 50 TOA-BH(Ngày KB, Lần toa-BH, Số TL1, Đơn giá T1, Mã Thuốc) TOA-BH Tên thuộc tính Kiểu dữ liệu Kích thước Kích thước Ngày KB (K) Date <Date() Lần toa BH Text 2 Số TL1 Text 2 Đơn giá T1 Currency Genneral Num >0 Mã Thuốc Text 8 Lookup(T) THUỐC(Mã thuốc, Tên thuốc) THUỐC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã thuốc (K) Text 8 Len()=8 Tên thuốc Text 20 BỆNH ÁN(Mã BA, Mã NĐT, Ngày KB, Ngày vào, Ngày ra, ĐG phòng) BỆNH ÁN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BA (K) Text 9 Len()=9 Mã NĐT (K) Text 3 Len()=3 Mã BN (K) Text 9 Len()=9 Ngày vào Date <Date() Ngày ra Date <Date() ĐG phòng Currency Genneral Num >0 NƠI ĐIỀU TRỊ(Mã NĐT, Tên NĐT) NƠI ĐIỀU TRỊ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NĐT (K) Text 3 Len()=3 Tên NĐT Text 10 Len()=10 DÙNG THUỐC(Mã bệnh án,Lần DT, SLT2, Đơn giá T2, Mã Thuốc) DÙNG THUỐC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BA (K) Text 9 Len()=9 Lần DT (K) Text 2 SLT2 Text 2 Đơn giá T2 Currency Genneral Num >0 Mã Thuốc Text 8 Lookup(T) THANH TOÁN DÙNG THUỐC(Mã PTTDT, Lần DT, Số tiền DT) THANH TOÁN DÙNG THUỐC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã PTTDT(K) Text 3 Len()=3 Lần DT (K) Text 2 Số tiền DT Currency Genneral Num >0 DÙNG DỊCH VỤ(Mã BA, Mã DV, Lần DDV, ĐGDV) DÙNG DỊCH VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BA(K) Text 9 Len()=9 Lần DDV (K) Text 2 Len()=2 Mã DV (K) Text 4 Len()=4 ĐGDV Currency Genneral Num >0 18. THÀNH TIỀN DV( Lần SD, Mã TTDV, Số tiền DV) THÀNH TIỀN DV Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Lần SD (K) Text 2 Len()=2 Mã TTDV (K) Text 3 Len()=3 Số tiền DV Currency Genneral Num >0 19. NHÂN VIÊN(Mã NV, Họ NV,Tên NV, Ng-sinh, Nơi sinh,Giới tính, S-nhà, Mã ĐV, Mã CM, Mã CV, Mã đường, Mã huyện, Mã DT, Mã TG, Mã LHĐT, Mã TĐ) NHÂN VIÊN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NV (K) Text 8 Len()=8 Họ NV Text 30 Tên NV Text 10 Ngày sinh Date <Date() Nơi sinh Text 30 Giới tính Yes/No Yes: Nam; No: Nữ Số nhà Text 15 Len()=15 Mã ĐV Text 3 Lookup(ĐV) Mã CM Text 3 Lookup(CM) Mã CV Text 3 Lookup(CV) Mã đường Text 4 Lookup(Đ) Mã huyện Text 6 Lookup(H) Mã DT Text 2 Lookup(DT) Mã TG Text 2 Lookup(TG) Mã LHĐT Text 2 Lookup(LHĐT) Mã TĐ Text 2 Lookup(TĐ) 20. BỆNH NHÂN(Mã BN, Họ BN, Tên BN, Ngày sinh BN, Giới tính BN, Số nhà BN, Mã đối tượng) BỆNH NHÂN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN (K) Text 9 Len()=9 Họ BN Text 30 Len()=30 Tên BN Text 7 Len()=7 Ngày sinh BN Date <Date() Giới tính BN Yes/No Yes: Nam; No: Nữ Số nhà BN Text 15 Len()=15 Mã đối tượng Text 2 Lookup(ĐT) 21. CƠ QUAN(Mã CQ, Tên CQ, Điện thoại CQ, Fax CQ) CƠ QUAN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã CQ (K) Text 3 Len()=3 Tên CQ Text 50 Len()=30 Điện thoại CQ Text 10 >0 Fax CQ Text 12 Len()=12 22. BH Y TẾ(Mã BN, Số thẻ BHYT, Ngày bắt đầu, Ngày kết thúc, Phần trăm, Mã nơi KB) BH Y TẾ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN (K) Text 9 Len()=9 Số thẻ BHYT Text 14 Len()=14 Ngày bắt đầu Date <Date() Ngày kết thúc Date <Date() Phần trăm Text 3 Mã NKB Text 3 Lookup(NKB) 23. CÁN BỘ(Mã NV, Mã CQ) CÁN BỘ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN (K) Text 9 Len()=9 Mã CQ Text 3 Len()=3 24. NƠI KB(Mã NKB, Tên NKB) NƠI KB Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NKB (K) Text 3 Len()=3 Tên NKB Text 50 DỊCH VỤ(Mã DV, Tên DV) DỊCH VỤ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã DV (K) Text 2 Len()=2 Tên DV Text 30 Len()=30 NGOẠI NGỮ(Mã NN, Tên NN) NGOẠI NGỮ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NN(K) Text 1 Len()=1 Tên NN Text 15 27. TÔN GIÁO(MãTG, Tên TG) TÔN GIÁO Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn MãTG(K) Text 1 Len()=1 Tên TG Text 15 28. LOẠI HÌNH ĐÀO TẠO(Mã LHĐT, Tên LHĐT) LOẠI HÌNH ĐÀO TẠO Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã LHĐT(K) Text 1 Len()=1 Tên LHĐT Text 20 29. HỢP ĐỒNG(Mã BN, Số HĐ, Ngày BĐ, Mức lương) HỢP ĐỒNG Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN(K) Text 9 Len()=9 Số HĐ Text 5 Ngày BĐ Date <Date() Mức lương Currency Genneral Num 30. ĐẢNG VIÊN(Mã NV, Ngày VĐ, Ngày CT, Mã CB) ĐẢNG VIÊN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NV(K) Text 9 Ngày VĐ Date Ngày CT Date Mã CB Text Lookup(CB) 31. CÔNG CHỨC(Mã NV, Ngày vào BC) CÔNG CHỨC Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NV(K) Text 9 Len()=9 Ngày VBC Date <Date() 32. ĐỐI TƯỢNG(Mã ĐT, Tên ĐT) ĐỐI TƯỢNG Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã ĐT(K) Text 2 Len()=2 Tên ĐT Text 30 33. CHI BỘ(Mã CB, Tên CB) CHI BỘ Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã CB(K) Text 2 Len()=2 Tên CB Text 20 34. QTL(Mã NV, Mã BL, NgàyLL) QTL Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NV(K) Text 9 Len()=9 Mã BL(K) Text 9 NgàyLL(K) Date <Date() 35. BẬC LƯƠNG(Mã BL, HSL, Mã NL) BẬC LƯƠNG Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BL(K) Text 2 Len()=2 HSL Text 3 Mã NL Text 4 Lookup(NL) 36. ĐCNTBN(Mã BN, Mã Xã) ĐCNTBN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN(K) Text 9 Len()=9 Mã Xã Text 6 Lookup(Xã) 37. ĐCTTBN(Mã BN, Số nhà BN, Mã đường, Mã huyện) ĐCTTBN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã BN(K) Text 9 Len()=9 Số nhà Text 15 Mã đường Text 4 Lookup(ĐƯỜNG) Mã huyện Text 4 Lookup(HUYỆN) 38. NV-NN(Mã NV, Mã NN, Cấp độ) NV-NN Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NV(K) Text 9 Len()=9 Mã NN(K) Text 1 Cấp độ Text 1 39. NGẠCH LƯƠNG(Mã NL, Tên NL, Số TLL) NGẠCH LƯƠNG Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn Mã NL Text 4 Len()=4 Tên NL Text 30 Số TLL Number Byte III.4. MÔ HÌNH THÔNG LƯỢNG THÔNG TIN BỆNH NHÂN PHÒNG CẤP SỐ PHÒNG KHÁM BỆNH PHÒNG TÀI VỤ KHOA ĐIỀU TRỊ (1) (2) (3) (7) (5) (9) (8) (10) (4) (6) (1) Yêu cầu khám chữa bệnh. (2) Vị trí khám bệnh.(Số được cấp) (3) Quá trình khám bệnh. (4) Kết quả khám bệnh. (5) Danh sách bệnh nhân nhập viện. (6) Lệnh nhập viện. (7) Các chi phí điều trị bệnh. (8) Xác nhận thanh toán viện phí. (9) Danh sách bệnh nhân đã thanh toán viện phí. (10) Giấy phép xuất viện. III.5. MÔ HÌNH QUAN NIỆM XỬ LÝ Mô hình quan niệm: Danh sách các công việc: STT Danh sách các công việc của bài toán 1 Tiếp nhận yêu cầu khám chữa bệnh của bệnh nhân. 2 Cấp số cho bệnh nhân đến phòng khám bệnh. 3 Chỉ đinh Bác sĩ khám bệnh cho bệnh nhân theo số đã cấp. 4 Kết quả khám bệnh cho bệnh nhân. 5 Ghi toa thuốc cho bệnh nhân 6 Thu phí khám bệnh. 7 Cho giấy nhập viện. 8 Tiếp nhận bệnh nhân đến điều trị bệnh. 9 Lập bệnh án chi tiết cho bệnh nhân. 10 Lập toa thuốc điều trị. 11 Cung cấp các dịch vụ hỗ trợ khám chữa bệnh. 12 Thu viện phí. 13 Lập danh sách bệnh nhân trốn viện. 14 Xem xét các trường hợp không thanh toán viện phí 15 Cấp giấy xuất viện cho bệnh nhân. Mô hình quan niệm xử lý: Khi BN đến khám bệnh Khi BN cần cấp cứu đặc biệt Khi BN có YC hộ sinh (1) TIẾP NHẬN YÊU CẦU KCB CỦA BN YES (1) DS bệnh nhân đã cấp số số BN cần phải nhập viện BN được chỉ định ĐT tại nhà Hồ sơ bệnh án CẤP SỐ CHO BỆNH NHÂN YES BS KHÁM BỆNH CHO BN YES PHÂN LOẠI BN YES NO THU PHÍ KHÁM BỆNH YES (2) (2) DS bệnh nhân có giấy nhập viện DS bệnh nhân chữa bệnh DS hồ sơ bệnh án DS bệnh nhân điều trị tại nhà LẬP TOA THUỐC CHO BỆNH NHÂN YES CẤP GIẤY NHẬP VIỆN YES NO TIẾP NHẬN BN ĐẾN CHỮA BỆNH YES DS bệnh nhân đã được lập toa thuốc LẬP BỆNH ÁN CHI TIẾT YES LẬP TOA THUỐC THEO BỆNH ÁN YES (3) (3) DS bệnh nhân đang điều trị DSBN đã thanh toán viện phí DSBN không đóng viện phí BH đã xuất viện Cho BN tự xuất viện DS bệnh nhân đã có bệnh án CC CÁC DV HỖ TRỢ ĐIỀU TRỊ BỆNH YES THU VIỆN PHÍ YES NO Lập DS trình lãnh đạo xem xét YES CẤP GIẤY XUẤT VIỆN CHO BN YES III.6. MÔ HÌNH TỔ CHỨC XỬ LÝ 1. Bảng công việc: STT TÊN CÔNG VIỆC NƠI THỰC HIỆN PHƯƠNG THỨC TẦN SUẤT CHU KỲ 1 Đăng ký khám chữa bệnh Phòng ghi số Thủ công Bất kỳ lúc nào khi cóYC / ngày Hàng ngày 2 Cấp số cho BN Phòng ghi số Thủ công Khi có BNYC / ngày Hàng ngày 3 Chỉ định Bs KB cho BN Phòng cấp số Thủ công Khi có BNYC / Ngày Hàng ngày 4 Khám bệnh cho BN Bs chuyên khoa KCB Thủ công Khi BN đã có số / Ngày Hàng ngày 5 Kết quả khám bệnh của BN Phòng(Khoa) của BSKB Thủ công Khi có BNKCB / Ngày Hàng ngày 6 Lập toa thuốc cho BN Bác sĩ KB Thủ công Khi có BNKCB / Ngày Hàng ngày 7 Thu phí KB Phòng thanh toán viện phí Tự động Khi có BNKCB / Ngày Hàng ngày 8 Lập lệnh nhập viện (Trừ BN điều trị tại nhà) Bác sĩ KB Thủ công Khi có BNKCB / Ngày Hàng ngày 9 Tiếp nhận BN đến chữa trị Khoa(Khoa) điều trị Thủ công Khi có lệnh nhập viện / Ngày Hàng ngày 10 Lập BA chi tiết cho BN Bác sĩ chuyên khoa Thủ công Khi có BNNViện / Ngày 11 Điều trị cho BN Bác sĩ chuyên khoa Thủ công + Tự động Khi có BNNViện / Ngày Hàng ngày 12 Cung cấp các DV hỗ trợ điều trị bệnh Phòng KHTH + Phòng KCB Thủ công Khi có BN yêu cầu/Ngày Hàng ngày 13 Thu tạm ứng tiền viện phí của BN Phòng TTVP Tự động 3 ngày / lần 3 ngày 14 Thanh toán viện phí Phòng TTVP Tự động 3 ngày / lần 3 ngày 15 TT toàn bộ viện phí khi XV Phòng TTVP Tự động Khi BN KVB xong / lần Khi BN điều trị xong hoàn toàn. 16 Lập DSBN trốn viện, không TTVP đầy đủ. Khoa(Phòng) điều trị cho BN Thủ công Khi có BN trốn viện / lần Khi có BN trốn viện 17 Thanh toán tiền viện phí với BHYT Phòng Thanh toán viện phí Thủ công 1 lần / tháng 1 tháng Mô hình tổ chức xử lý: BỆNH NHÂN PHÒNG CẤP SỐ KHOA (P) KCB PHÒNG KHTH BÁC SĨ KCB PHÒNH TTVP BAN LÃNH ĐẠO ĐKKCB YES DS BN có YCKCB CẤP SỐ CHO BN YES Hàng ngày khi có BN KCB DSBN đã được cấp số (1) Khi có yêu cầu KCB của BN (3) (1) CHỈ ĐỊNH BSKB-BN YES BS-KCB CHO BN YES DSBN đã được chỉ định BS KCB DSBN đã được BS-KB KẾT QUẢ KB BN YES NO DSBN điều trị tại nhà DSBN phải nhập viện THU PHÍ KB YES DSBN đã thu phí KB LẬP LỆNH NV YES (2) (4) DSBN đang ĐT CUNG CẤP CÁC DVHTĐTB CHO BN YES DSBN đang nằm ĐT bệnh DSBN đã có BA ĐT CHO BN YES LẬP BA CHI TIẾT CHO BN YES DSBN đã nhập viện DSBN đã có lệnh nhập viện TIẾP NHẬN BNNV YES BN tự ĐT tại nhà LẬP TOA THUỐC YES (3) (2) (3) (4) TTVP CỦA BN YES NO CẤP GIẤY XUẤT VIỆN YES LẬP DSBN CHƯA TTĐĐVP YES DSBN đã TT đầy đủ tiền VP DSBN trốn viện DSBN đã xuất viện DSBN chưa TTĐĐVP LÃNH ĐẠO XEM XÉT YES DSBN tự xuất viện 1 tháng một lần Sau khi tổng kết BN-SD-TBHYT THANHTOÁN VP VỚI BHYT YES DSVP của BN có BHYT đã TT với BHYT III.7. MÔ HÌNH VẬT LÝ XỬ LÝ Mô hình tổng thể của hệ thống HỆ THỐNG BỆNH NHÂN NHÂN VIÊN QUẢN TRỊ VIÊN BỆNH NHÂN Đăng nhập hệ thống Xem thông tin về bệnh viện Xem hồ sơ bệnh án Xem chi phí điều trị Thông tin cần biết Xem toa thốc và cách dùng thuốc NHÂN VIÊN Đăng nhập hệ thống Thay đổi mật khẩu Tạo toa thuốc cho BN thêm, xoá, sửa toa thuốc Lập DSBN không TTVP + DSBN trốn viện Tạo bệnh án chi tiết cho BN nhập viện Tạo giấy xuất viện cho bệnh nhân QUẢN TRỊ VIÊN Đăng nhập hệ thống Thay đổi mật khẩu Thông tin chung Hệ quản lý Báo cáo -in ấn hồ sơ THÔNG TIN CHUNG Thông tin về liên tịch bệnh viện Thông tin về số khoa điều trị hiện có tại bệnh KH Thông tin về danh sách các trưởng khoa tại bệnh viện BÁO CÁO-IN ẤN HỒ SƠ Danh sách bệnh nhân nhập viện Danh sách nhân viên bệnh viện In Toa thuốc, bệnh án HỆ THỐNG QUẢN LÝ Quản lý hồ sơ bệnh nhân Quản lý hồ sơ nhân viên Quản lý bệnh án bệnh nhân Từ điển thông tin địa chỉ Từ điển về thông tin bệnh viện DANH MỤC TỪ ĐIỂN ĐỊA CHỈ Xem Xoá Sửa thông tin đường –thôn ấp Thêm dữ liệu Xã -Phường mới Thêm Xoá Sửa thông tin Xã - Phường Thêm thông tin về Quận - Huyện mới Thêm Xoá Sửa thông tin về Tỉnh - TP Thêm Xoá Sửa thông tin Quận - Huyện Thêm thông tin về Tỉnh - TP Thêm dữ liệu Đường Thôn - Ấp mới DANH MỤC TỪ ĐIỂN TT VỀ BỆNH VIỆN Thêm thông tin về khoa điều trị mới Thêm xoá sửa thông tin về Khoa điều trị Thêm thông tin về dịch vụ mới Thêm xoá sửa thông tin về thuốc Thêm xoá sửa thông tin về dịch vụ Thêm thông tin về Nơi khám bệnh mới Thêm xoá sửa thông tin về Nơi khám bệnh Thêm thông tin về thuốc mới CHƯƠNG TRÌNH QUẢN LÝ NHÂN VIÊN Thêm thông tin về hồ sơ nhân viên Thêm xoá sửa thông tin về hồ sơ nhân viên Thêm thông tin về Đơn vị công tác mới Thêm xoá sửa thông tin về Khen thưởng - KL Thêm xoá sửa thông tin về Đơn vị công tác Thêm thông tin về quá trình công tác mới Thêm xoá sửa thông tin về quá trình CT Thêm thông tin về Khen thưởng - KL mới CHƯƠNG TRÌNH QUẢN LÝ BỆNH NHÂN Thêm thông tin về hồ sơ bệnh nhân Thêm xoá sửa thông tin về hồ sơ bệnh nhân Thêm thông tin về Bảo hiểm y tế mới Thêm xoá sửa thông tin về Đối tượng BN Thêm xoá sửa thông tin về Bảo hiểm y tế Thêm thông tin về cơ quan công tác BN mới Thêm xoá sửa thông tin về Cơ quan CTBN Thêm thông tin về Đối tượng bệnh nhân mới Chương IV : HIỆN THỰC CHƯƠNG TRÌNH Một số thuật toán cài đặt chương trình: 1. Cách tạo kết nối dữ liệu : Database Access Component Database Access Component còn gọi là ADO (ActiveX Data Object), các object của ADO cung cấp cơ chế kết nối (connection) với hầu hết các kiểu database, cũng như việc truy xuất, cập nhật các database này. ADO Interface Các đối tượng trong ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể được sử dụng với bất kỳ loại database nào nếu như có ODBC driver hỗ trợ. Các đối tượng trong ADO : Gồm : Connection, Recordset và Command. Sử dụng Connection ta có thể thiết lập sự liên kết với dữ liệu, thông qua đó ta có thể lấy các Record hoặc cập nhật một record bằng cách sử dụng Command Object. Kết quả thực hiện các query trên database sẽ được lưu vào đối tượng Recordset, trên đối tượng này có thể duyệt và lấy ra một hay nhiều record. Cách kết nối để mở một cơ sở dữ liệu từ Acceess ------------------------------------------------------------------------------------------------ Option Explicit Public Test_connection As Boolean Public mahuyen As String Public cn As New ADODB.Connection Public ConnectionString As String Sub open_mdb() **************************************************************** Dim db_name, str As String db_name = App.Path & "\QLCNVC_MoiNhat.mdb" ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db_name & "" DE1.CE1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & db_name & "" DE1.CE1.Open cn.Open ConnectionString Test_connection = True End Sub 1. Các phương thức đối tượng Connection - Open method : Được sử dụng để mở một liên kết với database. Ngay sau tạo instance cho Connection Object, ta có thể mở một kết nối với Data Soure để truy xuất dữ liệu. + Execute method: Cho phép thực thi một câu lệnh tác động lên Data Soure. Trong đó CommandText là chuỗi lệnh cần thực hiện, thông quá số option các giá trị khác nhau quy định loại CommandText. Giá trị Danh hiệu hằng tương ứng Loại của CommandText 0 adCmdUnknown Mặc định khi định nghĩa 1 adCmdText Là một câu lệnh, ví dụ như là SQL 2 adCmdTable Tên của table mà ta sẽ tạo Recordset từ đó 3 adCmdStoreProc Một Store procedure trong Data soure Thông thường các giá trị trên được gán sẵn vào các danh hiệu hằng và được đặt trong file include có tên adovbs.inc. - Close method: Đóng các kết nối đã mở. Connection.Close Command object: Thay vì dùng phương thức Execute của Connection để query hay update data soure, ta có thể sử dụng Command. Methods CreateParameter: Dùng để tạo một đối tượng Parameter Execute: Dùng để thực thi câu lệnh được đặc tả trong phương thức CommandText. Properties ActiveConnection: Chỉ định đối tượng Connection nào được sử dụng trong đối tượng Command. CommandText: Chỉ định câu lệnh cần thực hiện trên cơ sở dữ liệu. CommandTimeout: Xác định thời gian thực thi lệnh, giá trị thời gian này tính theo second. CommandType: Cho biết kiểu của query đặc tả trong CommandText Prepared: Tạo ra lệnh chuẩn bị trước khi thực thi. Recordset Oject: Là kết quả trả về khi thực hiện một query, thực chất nó là một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phương thức và thuộc tính. Methods: Open: Mở recordset mới Addnew:Tạo một record trong Recordset. Update:Cập nhật các thay đổi vào record hiện hành. Delete: Xoá record hiện hành. Move: Dịch chuyển con trỏ record hiện hành. MoveFirst: Đến record đầu tiên. MoveNext: Đến record kế tiếp. MovePrevious: Trở về record trước đó. MoveLast: Đến record cuối cùng. Requery: Thực thi lại query tạo ra recordset. GetRow: Chứa các record vào một query. Close: Đóng lại đối tượng Recordset. Properties: AbsolutePosition: Số thứ tự (vật lý) của record hiện tại. BOF: Là True nếu con trỏ nằm trước record đầu tiên. EOF: Là True nếu con trỏ nằm sau record cuối cùng. CursorType: Kiểu của con trỏ được sử dụng trong recordset. RecordCount: Trả về tổng số record trong recordset. Tạo Recordset: Trước tiên ta instace cho record bằng phát biểu Recordset_name = Server.CreataObject(“ADODB.Recordset”) Sau đó dùng phương thức Execute của đối tượng Connection hay Command để tạo ra recordset. Recordset_name = ConnectionObject.Execute (CommandText,_ Recordaffected, Options) Trong đó: Soure: Là một CommandObject hay một lệnh SQL hoặc là Store Procedure. ActiveConnection: Là tên của Connection đã được mở kết nối với database. CursorType: Là kiểu con trỏ sử dụng với recordset, thông số này có kiểu số và được gán trị qua các tên hằng tương ứng như sau: + AdOpen ForwardOnly = 0: Là giá trị mặc định, chỉ cho phép duyệt các record theo một chiều từ đầu đến cuối, không cho phép cập nhật hay xoá bỏ các record trong đó. + AdOpenKeyset = 1: Chế độ này cho phép cập nhật các record, nhưng cấm truy xuất đến record của user khác thêm vào record. + AdOpenDynamic = 2 : Chế độ này cho phép tất cả các thao tác trên như: thêm vào, loại bỏ, cập nhật và duyệt theo tất cả chiều lên xuống tuỳ ý. + AdOpenStatic = 3: Gần giống như chế độ OpenForwardOnly. Một số đoạn chương trình xây dựng các thao tác: Thêm, xoá, sửa, lưu và thoát khỏi một record. Ví dụ đối với formChứcvụ --------------------------------------------------------------------------------------------- Option Explicit Private flag As String --------------------------------------------------------------------------------------------- Private Sub cmdClose_Click() Unload Me End Sub --------------------------------------------------------------------------------------------- Private Sub cmdDel_Click() Xoa_Du_Lieu End Sub --------------------------------------------------------------------------------------------- Private Sub cmdNew_Click() set_null End Sub --------------------------------------------------------------------------------------------- Private Sub cmdSave_Click() If flag "Update" Then flag = "Save" End If Luu_Du_Lieu End Sub --------------------------------------------------------------------------------------------- Private Sub cmdUpdate_Click() txtTenCV.Enabled = True txtTenCV.SetFocus End Sub --------------------------------------------------------------------------------------------- Private Sub Form_Load() Display_listView End Sub ----------------------------------------------------------------------------------------------- Private Sub Display_listView() Dim rs As New ADODB.Recordset Dim str Dim mItem As ListItem ListItem.ListItems.Clear str = "select * from chucvu order by Macv asc" rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = False Then While Not rs.EOF Set mItem = ListItem.ListItems.Add(, , rs!MaCV) mItem.SubItems(1) = rs!tencv rs.MoveNext Wend End If txtMaCV.Enabled = False txtTenCV.Enabled = False End Sub --------------------------------------------------------------------------------------------- Private Sub ListItem_ItemClick(ByVal Item As MSComctlLib.ListItem) txtMaCV = Item.Text txtTenCV = Item.SubItems(1) txtMaCV.Enabled = False End Sub -------------------------------------------------------------------------------------------- Private Sub Xoa_Du_Lieu() Dim str Dim response Dim rs As New ADODB.Recordset If Trim(txtMaCV) = "" Then Exit Sub End If response = MsgBox(" Bạn có chắc chắn xoá Chức Vụ này ? ", vbYesNo + vbQuestion, "Thong Bao") If response = vbNo Then Exit Sub Else str = "delete from Chucvu where Macv = '" & Trim(txtMaCV) & "'" cn.Execute (str) End If set_null Display_listView End Sub ----------------------------------------------------------------------------------------------- Private Sub Luu_Du_Lieu() Dim rs As New ADODB.Recordset Dim str Dim Nghiamap 'kiểm tra độ dài mã Chức Vụ If Len(Trim(txtMaCV)) 2 Then MsgBox "Ban phải nhập mã số có 2 số. Vui lòng nhập lại", vbOKOnly + vbInformation, "Thông báo" txtMaCV.SetFocus Exit Sub End If ------------------------------------------------------------------------------------------------ 'kiem tra mãcv va Têncv trước khi lưu 'Neu Macv="" va Tencv="" thi không cho nhập If Trim(txtMaCV) = "" Or Trim(txtTenCV) = "" Then MsgBox " Chu y : Bạn phải nhập vào mã và tên Chức Vụ trước khi lưu ", vbOKOnly + vbExclamation, "Thông báo" Me.MousePointer = 0 Exit Sub End If 'kiểm tra nhập có phải là số không? If Not IsNumeric(txtMaCV.Text) Then MsgBox "Ma chức vụ phải là số. Vui lòng nhập lại", _ vbOKOnly + vbExclamation, "Thông báo" txtMaCV.SetFocus txtMaCV.Text = "" Exit Sub End If ' mở table Chức Vụ str = "select * from Chucvu where Macv = '" _ & Trim(txtMaCV) & "'" rs.Open str, cn 'kiểm tra tên ChứcVụ có trùng không? nếu trùng thì không cho nhập If TrungTen = True Then MsgBox "Tên Chức Vụ này đã nhập rồi bạn không cần nhập nữa", _ vbOKOnly + vbExclamation, "Thông báo" Exit Sub End If 'lưu vào table 1 recordset mới If rs.EOF = True Then str = "insert into Chứcvụ values('" _ & Trim(txtMaCV) & "','" & Trim(txtTenCV) & "')" cn.Execute (str) Else Nghiamap = MsgBox("Chức vụ có mã [" & txtMaCV & "] đã tồn tại. Bạn có muốn sửa không?", vbYesNo + vbExclamation, "Thông báo") If Nghiamap = vbNo Then Exit Sub Else 'sua lai Tên chức vụ str = "Update chucvu set TenCV = '" & Trim(txtTenCV) & "' where Macv = '" & Trim(txtMaCV) & "'" cn.Execute (str) End If End If 'hiển thị danh sách Chức Vụ Display_listView cmdNew.SetFocus Me.MousePointer = 0 End Sub 'tao txtMãcv va txtTêncv tính rỗng Private Sub set_null() txtMaCV.Enabled = True txtTenCV.Enabled = True txtMaCV.Text = "" txtTenCV.Text = "" txtMaCV.SetFocus End Sub ---------------------------------------------------------------------------------------------- Private Function TrungTen() As Boolean Dim rs As New ADODB.Recordset Dim str Dim kiemtra str = "select * from CHucvu " rs.Open str, cn, adOpenKeyset, adLockOptimistic, adCmdText If rs.EOF = False Then Do While Not rs.EOF str = rs!tencv If UCase(txtTenCV.Text) = UCase(str) Then TrungTen = True Exit Do End If rs.MoveNext Loop End If End Function ------------------------------------------------------------------------------------------- Private Sub txtMacv_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 txtTenCV.SetFocus End Select End Sub -------------------------------------------------------------------------------------------- Private Sub txtTencv_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 cmdSave_Click End Select End Sub Chương V : GIỚI THIỆU MỘT SỐ GIAO DIỆN CHÍNH KHI CHẠY CHƯƠNG TRÌNH Hình 1: Giao diện chính của chương trình. Hình 2 : Hồ sơ nhân viên của bệnh viện. Hình 3 : Hồ sơ bệnh nhân của bệnh viện. Hình 4: Form Báo biểu – In ấn hồ sơ nhân viên. Hình 5: Form Báo biểu hồ sơ nhân viên Hình 6: Form Giới thiệu về chương trình Hình 7: Form giới thiệu về danh sách liên tịch bệnh viện. Hình 8: Form Giới thiệu về danh sách các trưởng khoa tại bệnh viện. Hình 9: Form Danh sách các khoa điều trị hiện có tại bệnh viện. Chương VI :KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI I. Kết luận: Đứng trước xu hướng phát triển của công nghệ thông tin như vũ bảo, việc tin học hoá việc quản lý hành chính là vô cùng quan trọng và bức thiết. Nó sẽ giúp cho các cơ quan nhà nước giải quyết các công việc được nhanh chóng và hiệu quả. Ứng dụng cơ sở dữ liệu đã giải quyết được vấn đề đó. Với đề tài: Quản lý bệnh nhân và nhân viên tại bệnh viện đa khoa tỉnh Khánh Hoà, tuy chương trình cài đặt chưa được hoàn thiện các chức năng, song nếu có thời gian phát triển và hoàn thiện hơn thì chương trình này sẽ có ích rất nhiều giúp cho các nhân viên của bệnh viện trong công việc lưu trữ và thống kê bệnh nhân và nhân viên cũng như quản lý bệnh nhân tại bệnh viện một cách thuận tiện và dễ dàng hơn rất nhiều. II. Hạn chế: Do thời gian thực hiện đề tài tương đối hạn chế nên chương trình không thể tránh được những thiếu sót nhất định. Bên cạnh đó chưong trình cò có một số chức năng tiềm kiếm và thống kê chưa có đủ thời gian để thực hiện kịp. Đồng thời vẫn còn có một số form chưa hoàn thành đầy đủ và chính xác và các ràng buộc về dữ liệu vẫn chưa đầy đủ lắm. Do cài đặt bằng ngôn ngữ lập trình Visual Basic 6.0 và hệ quản trị cơ sở dữ liệu Microsoft Access 2000 nên chương trình chưa có tính bảo mật cao trong quá trình quản lý. III. Hướng phát triển đề tài: Để chương trình có thể hoạt động hiệu quả hơn cần dữ liệu phải được lưu trữ bằng hệ quản trị cơ sở dữ liệu có tính bảo mật hơn. Cần có sự kết hợp song song giữa quản lý nhân viên và bệnh nhân một cách chặt chẽ hơn để việc theo dõi và quản lý của bệnh viện được tốt hơn. Nếu có thể đưa chương trình quản lý các thông tin về bệnh nhân lên các trang Web để giúp cho người thân của bệnh nhân có sự thuận lợi hơn để theo dõi được quá trình điều trị bệnh của của người thân cho dù là đang ngồi ở nhà hay ở bất kỳ nơi nào. Đồng thời khi một bệnh nhân đang nằm điều trị tại bệnh viện, do những lý do gì đó mà cần phải chuyển đến bệnh viện khác để điều trị. Tại đây các bác sĩ của bệnh viện tiếp nhận không cần xem hồ sơ của bệnh nhân mà chỉ cần lên trang web của bệnh viện nơi bệnh nhân chuyển đến để xem là có thể biết toàn bộ các thông tin về bệnh nhân như: hồ sơ bệnh nhân, bệnh án của bệnh nhân… TÀI LIỆU THAM KHẢO [1]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 ( tác giả Nguyễn Thị Ngọc Mai (chủ biên ). Nhà xuất bản giáo dục 2000). [2]. Microsoft Access 2000 (NXB Đại Học Quốc Gia TPHCM 2001, tác giả Nguyễn Thiện Tâm). [3]. Bài giảng Cơ sở dữ liệu & Phân tích thiết kế hệ thống thông tin quản lý (Nguyễn Hữu Trọng, trung tâm ngoại ngữ tin học_trường đại học Thuỷ sản lưu hành nội bộ 10/1999). [4]. Lập trình Visual Basic 6.0 trong 21 ngày (Nguyễn Tiến, Ngô Quốc Việt, Phạm Tuấn Kỳ. Nhà xuất bản giáo dục 1997). [5]. Lập trình cơ sở dữ liệu với Visual Basic 6.0 (Đậu Quang Tuấn. Nhà xuất bản trẻ 2000). [6]. Lập trình cơ sở dữ liệu trong 21 ngày (Nguyễn Đình Tê chủ biên, 3 tập. Nhà xuất bản giáo dục 2000).

Các file đính kèm theo tài liệu này:

  • docQuản lí bệnh viện Khánh Hòa.doc