Tóm tắt Luận văn Phân tích và xây dựng chức năng giám định tự động trong hệ thống giám định bảo hiểm xã hội

Chức năng giám định tự động cần dễ triển khai, dễ sử dụng, dễ dàng bảo trì sửa chữa khi có sự cố. Cũng như có khả năng chịu lỗi cao, trong trường hợp các thành phần hệ thống gặp sự cố, không hoạt động một thời gian khi các thành phần hoạt động trở lại thì cần chức năng vẫn hoạt động trở lại bình thường. Riêng với chức năng giám định hồ sơ thì trung bình hiện tại có khoảng 15 triệu hồ sơ được gửi trong một tháng. Nghĩa là trung bình một ngày có khoảng 500 nghìn hồ sơ khám chữa bệnh. Một phút khoảng 350 hồ sơ. Nhưng trong những khoảng thời gian cao điểm nhất định thì lượng hồ sơ có thể gửi cao hơn rất nhiều. Đây sẽ là bài toán phức tạp trong độ trễ của việc giám định sau khi gửi hồ sơ giám định. Từ những yêu cầu về tính độc lập, tự trị, khả năng phục hồi khi xảy ra lỗi. Hiện tại chức năng chưa cần sử dụng lại nhưng có thể trong tương lai sẽ cần sử dụng lại dịch vụ để thực hiện giám định tự động công khai. Vì vậy từ những tính chất, yêu cầu của chức năng giám định tự động mà ta sẽ lựa chọn mô hình kiến trúc SOA với phương pháp top-down (xuất phát từ những yêu cầu nghiệp vụ để xác định các dịch vụ) để xây dựng giám định tự động.

pdf25 trang | Chia sẻ: yenxoi77 | Lượt xem: 648 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận văn Phân tích và xây dựng chức năng giám định tự động trong hệ thống giám định bảo hiểm xã hội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHAN VĂN NAM PHÂN TÍCH VÀ XÂY DỰNG CHỨC NĂNG GIÁM ĐỊNH TỰ ĐỘNG TRONG HỆ THỐNG GIÁM ĐỊNH BẢO HIỂM XÃ HỘI Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60.48.01.03 TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội -2017 1 MỞ ĐẦU 1. Bài toán Hiện nay Bảo hiểm y tế đóng vai trò rất quan trọng trong việc an sinh xã hội, tính đến nay cả nước đã có hơn 80% dân số tham gia bảo hiểm y tế. Cùng theo quá trình phát triển của đất nước thì càng ngày lượng khám chữa bệnh một ngày tăng, quy trình thanh toán bảo hiểm theo hồ sơ giấy không thể đáp ứng được nhu cầu, vì vậy nhu cầu thanh quyết toán điện tử chi phí khám chữa bệnh là cấp thiết. Từ nhu cầu cấp thiết đó mà hệ thống Giám định bảo hiểm xã hội được hình thành để đáp ứng quá trình thanh quyết toán chi phí khám chữa bệnh bảo hiểm y tế, phát hiện những sai phạm, tránh trục lợi trong quá trình thanh quyết toán bảo hiểm y tế. Nhưng với lượng lượt khám chữa bệnh khổng lồ, để nhằm hỗ trợ, phục vụ các giám định viên trong quá trình giám định, việc giám định tự động qua các quy tắc có sẵn là điều tất yếu. Đề tài “Phân tích và xây dựng chức năng giám định tự động trong hệ thống giám định bảo hiểm xã hội” sẽ tìm hiểu cơ sở lý thuyết kiến trúc hướng dịch vụ SOA và xây dựng chức năng giám định tự động phát hiện các sai phạm trong quá trình giám định, hỗ trợ đắc lực cho các giám định viên phát hiện sai phạm, để việc thanh quyết toán chi phí khám chữa bệnh bảo hiểm y tế được rõ ràng, minh bạch tránh trục lợi. 2. Mục tiêu Tìm hiểu cơ sở lý thuyết về kiến trúc hướng dịch vụ SOA và áp dụng xây dựng chức năng giám định tự động cùng bộ quy tắc giám 2 định để phát hiện sai phạm trong quá trình thanh quyết toán hồ sơ khám chữa bệnh. 3. Phương pháp nghiên cứu Tìm hiểu cơ sở lý thuyết về kiến trúc hướng dịch vụ SOA. Các bước xây dựng một ứng dụng dựa trên kiến trúc hướng dịch vụ. Áp dụng các bước xây dựng một ứng dụng dựa trên kiến trúc hướng dịch vụ, cụ thể sẽ là phương pháp top-down để xây dựng chức năng giám định tự động gồm bộ quy tắc giám định, phân tích xây dựng các bộ service thực hiện quét hồ sơ, tài liệu cần được giám định. Chức năng sẽ gồm 2 bộ service: Giám định hồ sơ và giám định danh mục. Giám định hồ sơ sẽ gồm bộ 3 service: - GetDataKB: có nhiệm vụ quét các hồ sơ cần giám định và đẩy lên một queue trên RabbitMQ - ProcessDataKB: có nhiệm vụ lấy hồ sơ trên queue do service GetDataKB đẩy lên để thực hiện giám định, sau khi giám định sẽ tiến hành đẩy vào một queue trên RabbitMQ - SendDataKB: có nhiệm vụ lấy hồ sơ trên queue do service ProcessDataKB đẩy lên để thực hiện lưu kết quả vào Database. Giám định danh mục sẽ gồm bộ 3 service: - GetData: có nhiệm vụ quét các danh mục cần giám định và đẩy lên một queue trên RabbitMQ 3 - ProcessData: có nhiệm vụ lấy danh mục cần giám định trên queue do service GetData đẩy lên, sau đó thực hiện giám định và đẩy lên một queue trên RabbitMQ - SendData: có nhiệm vụ lấy danh mục trên queue do service ProcessData đẩy lên để thực hiện lưu kết quả vào Database. Áp dụng các công nghệ như RabbitMQ để giao tiếp giữa các bộ service. 4. Kết quả đạt được Luận văn đã tìm hiểu về kiến trúc hướng dịch vụ SOA, phương pháp xây dựng một ứng dụng dựa trên kiến trúc hướng dịch vụ. Áp dụng vào bài toán giám định tự động. Luận văn đã xây dựng thành công: - Bộ service giám định hồ sơ: GetDataKB, ProcessDataKB, SendDataKB - Bộ service giám định danh mục: GetData, ProcessData, SendData - Bộ quy tắc hồ sơ: Quy tắc thẻ, quy tắc mức hưởng, quy tắc thuốc, quy tắc dịch vụ kỹ thuật, quy tắc vật tư y tế và các quy tắc khác về máu, thanh toán ngày giường - Bộ quy tắc danh mục: Quy tắc thuốc thầu tỉnh, vật tư thầu tỉnh, thuốc bệnh viện, dịch vụ kỹ thuật bệnh viện, vật tư y tế bệnh viện. Hiện tại trên toàn quốc có khoảng hơn 14 nghìn cơ sở khám chữa bệnh, với trung bình một tháng khoảng 15 triệu hồ sơ khám chữa bệnh. Bộ service giám định hồ sơ có thể xử lý được khoảng trên 40 4 hồ sơ/ giây, đóng vai trò đắc lực hỗ trợ giám định viên phát hiện xử lý sai phạm trong quá trình thanh quyết toán bảo hiểm y tế, giúp tiết kiệm ngân sách hàng năm của nhà nước. 5. Bố cục của luận văn Luận văn được trình bày thành 4 chương chính: Chương 1: Giới thiệu về bảo hiểm y tế và quy trình giám định bảo hiểm y tế Chương 2: Kiến trúc hướng dịch vụ SOA Chương 3: Phân tích và xây dựng chức năng giám định tự động Chương 4: Cài đặt, triển khai và thực nghiệm giám định tự động CHƯƠNG 1: GIỚI THIỆU BẢO HIỂM Y TẾ VÀ QUY TRÌNH GIÁM ĐỊNH BẢO HIỂM Y TẾ 1.1. Quá trình hình thành Bảo hiểm y tế ở Việt Nam Từ trước những năm 1985, Việt Nam áp dụng mô hình bảo hiểm mà ngân sách nhà nước cấp cho các bệnh viện để thực hiện khám chữa bệnh để thực hiện khám chữa bệnh miễn phí cho nhân dân. Sau khi thực hiện chính sách đổi mới, Việt Nam dần chuyển đổi từ bước từ bao cấp cho các bệnh viện sang cơ chế BHYT. 1.2. Vận hành Bảo hiểm y tế ở Việt Nam Sau hơn 20 năm thực hiện BHYT, đặc biệt sau 4 năm thực hiện Luật BHYT, Việt Nam đã đạt gần 70% dân số tham gia BHYT. 5 1.2.1. Về độ bao phủ Bảo hiểm y tế ở Việt Nam Việc đạt tỷ lệ bao phủ BHYT ở mức được gần 70% là cố gắng lớn của Nhà nước và mỗi người dân. Dự báo năm 2020 đạt 80% dân số có BHYT. Nhà nước tiếp tục thực hiện hỗ trợ nhân dân tham gia BHYT, nhất là gia đình chính sách, đối tượng khó khăn. 1.2.2. Thực hiện nguyên lý chia sẻ của BHYT Nguyên lý chia sẻ của BHYT là: Đóng theo lương/thu nhập, hưởng theo bệnh. 1.2.3. Về quyền lợi bệnh nhân, hiệu quả BHYT Với điều kiện Kinh Tế- Xã Hội và mức thu nhập 1750 USD/người(2013), quyền lợi hưởng BHYT khá lớn, trên cả mức dịch vụ y tế cơ bản. 1.2.4. Về quản lý quỹ Bảo hiểm y tế Việt Nam đã gộp chung cả BHYT và BHXH vào một đơn vị do BHXH Việt Nam điều hành, việc này có thể tiết kiệm được một số biên chế, trụ sở, và có thể hỗ trợ giữa hai quỹ 1.3. Quy trình giám định bảo hiểm y tế tại cơ quan bảo hiểm xã hội Phòng giám định sẽ công bố danh mục thuốc, dịch vụ, vật tư được dùng chung cho các bệnh viện. Hằng năm khi có kết quả đấu thầu, hoặc có sự thay đổi danh mục, các cơ sở khám chữa bệnh tiến hành gửi dữ liệu danh mục cũng như hằng ngày, khi có phát sinh hồ sơ khám chữa bệnh cơ sở sẽ gửi hồ sơ khám chữa bệnh lên để thực hiện giám định. 6 Hệ thống sẽ kiểm tra tính hợp lệ của dữ liệu cơ sở khám chữa bệnh gửi lên, nếu không hợp lệ sẽ tiến hành trả lại dữ liệu về cơ sở khám chữa bệnh, để cơ sở thực hiện sửa chữa và gửi lại. Thực hiện giám định danh mục thuốc, vật tư y tế: Kiểm tra đối chiếu tên thuốc, hoạt chất... Thực hiện giám định giá thuốc, vật tư y tế: Kiểm tra đối chiếu giá thanh toán với kết quả thầu. Thực hiện giám định giá dịch vụ kỹ thuật: kiểm tra xác định tính pháp lý của danh mục. Kiểm tra đối chiếu bảng giá DVKT so với quy định của BYT. Sau khi thực hiện giám định nếu không có yêu cầu thẩm định lại thì sẽ tiến hành trả kết quả giám định cho cơ sở khám chữa bệnh. 1.4. Kết luận CHƯƠNG 2: KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE - ORIENTED ARCHITECTURE) 2.1. Dịch vụ Dịch vụ (service) về mặt định nghĩa, dịch vụ là một hệ thống có khả năng nhận một hay nhiều yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiều kết quả. 2.2. Các đặc điểm chính của dịch vụ 2.2.1. Có ranh giới rõ ràng Các dịch vụ thực hiện quá trình tương tác chủ yếu thông qua thành phần giao tiếp. 7 2.2.2. Tính tự trị Các dịch vụ cần phải được triển khai và hoạt động như những thực thể độc lập mà không lệ thuộc vào một dịch vụ khác. 2.2.3. Chia sẻ lược đồ Các dịch vụ nên cung cấp thành phần giao tiếp của nó (interface) ra bên ngoài. 2.2.4. Tính tương thích của dịch vụ dựa trên chính sách Một dịch vụ khi muốn tương tác với một dịch vụ khác thì phải thỏa mãn các chính sách và yêu cầu của dịch vụ đó như mã hóa, bảo mật... 2.3. Kiến trúc hướng dịch vụ Kiến trúc hướng dịch vụ (Service – oriented architecture) là một hướng tiếp cận với việc thiết kế và tích hợp các phần mềm, chức năng, hệ thống theo dạng module. 2.4. Các tính chất của một hệ thống SOA 2.4.1. Kết nối lỏng lẻo Vấn đề kết nối thể hiện một số ràng buộc giữa các module với nhau. 2.4.2. Sử dụng lại dịch vụ Bởi vì các dịch vụ được cung cấp lên trên mạng và được đăng ký ở nơi lưu trữ dịch vụ nào đó nên chúng dễ dàng được tìm thấy và tái sử dụng. 8 2.4.3. Sử dụng dịch vụ bất đồng bộ Trong phương thức triệu gọi dịch vụ bất đồng bộ, bên gọi gửi một thông điệp với đầy đủ thông tin ngữ cảnh tới bên nhận. Bên nhận xử lí thông tin và trả kết quả về một kênh thông điệp, bên gọi không phải chờ đến khi thông điệp được xử lí xong. 2.4.4. Quản lý các chính sách Khi sử dụng chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là các chính sách. Các chính sách cần được quản lý các áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn trong thời gian thực thi. 2.4.5. Khả năng cộng tác Kiếm trúc hướng dịch vụ hướng nhấn mạnh đến khả năng cộng tác, khả năng mà các hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau. 2.4.6. Tự dò tìm và ràng buộc động SOA hỗ trợ khái niệm truy tìm dịch vụ. Một người sử dụng cần đến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chuẩn khi cần. Người sử dụng chỉ cần hỏi một dịch vụ lưu trữ về dịch vụ nào thỏa mãn yêu cầu tìm kiếm. 2.4.7. Khả năng tự phục hồi Một hệ thống tự phục hồi là một hệ thống có khả năng tự hồi phục sau khi bị lỗi mà không cần sự can thiệp của con người. 9 2.5. Kiến trúc phân tầng chi tiết SOA 2.5.1. Tầng kết nối Mục đích của tầng kết nối là kết nối đến các ứng dụng enterprise hoặc tài nguyên bên dưới và cung cấp chúng thành những dịch vụ. 2.5.2. Tầng orchestration Tầng orchestration chứa các thành phần vừa đóng vai trò là những dịch vụ vừa là những dịch vụ cung cấp. 2.5.3. Tầng ứng dụng tổng hợp Dữ liệu truyền qua lại giữa những dịch vụ cuối cùng cũng định hướng đến người sử dụng theo nhiều giao diện khác nhau. 2.6. Các bước triển khai một ứng dụng theo mô hình SOA Hai phương pháp cơ bản để xác định các dịch vụ là: phương pháp top-down (xuất phát từ yêu cầu nghiệp vụ) và phương pháp bottom-up (xuất phát từ thực trạng của hệ thống hiện có). Trong phương pháp top-down các bước chính để xây dựng hệ thống dựa trên SOA đó là:  Phân rã domain  Xây dựng mô hình Goal-service  Phân tích hệ thống con  Đưa ra các dịch  Đặc tả thành phần  Cấu trúc thành phần và dịch vụ  Lựa chọn công nghệ thực hiện 10 2.7. Kết luận CHƯƠNG 3: PHÂN TÍCH VÀ XÂY DỰNG CHỨC NĂNG GIÁM ĐỊNH TỰ ĐỘNG 3.1. Giới thiệu hệ thống Giám định bảo hiểm và bài toán giám định tự động 3.1.1. Giới thiệu hệ thống giám định Với những yêu cầu đặt ra phần mềm giám định BHYT phải đáp ứng các yêu cầu: - Quản lý các danh mục, thông tin - Tiếp nhận hồ sơ yêu cầu thanh toán - Giám định tự động - Tạo quy tắc giám định - Thống kê, phân tích dữ liệu - Giám định theo tỷ lệ Giám định tự động: Giám định danh mục, giá thuốc, hóa chất, vật tư y tế, dịch vụ kỹ thuật. Giám định tự động dữ liệu đề nghị thanh toán từ cơ sở khám chữa bệnh. 3.1.2. Bài toán giám định tự động Với lượng hồ sơ khám chữa bệnh ngày càng tăng, cũng như mỗi cơ sở khám chữa bệnh có những loại thuốc khác nhau, giá thành, thành phẩm khác nhau. Việc giám định rất khó khăn. Vì vậy cần xây dựng một chức năng có khả năng chạy độc lập với hệ thống giám định, có khả năng tự trị, hồi phục khi xảy ra lỗi để thực hiện nghiệp vụ chạy qua các quy tắc giám định, hỗ trợ các giám định 11 viên phát hiện các sai phạm một cách hiệu quả trong quá trình giám định. Chức năng giám định tự động cần dễ triển khai, dễ sử dụng, dễ dàng bảo trì sửa chữa khi có sự cố. Cũng như có khả năng chịu lỗi cao, trong trường hợp các thành phần hệ thống gặp sự cố, không hoạt động một thời gian khi các thành phần hoạt động trở lại thì cần chức năng vẫn hoạt động trở lại bình thường. Riêng với chức năng giám định hồ sơ thì trung bình hiện tại có khoảng 15 triệu hồ sơ được gửi trong một tháng. Nghĩa là trung bình một ngày có khoảng 500 nghìn hồ sơ khám chữa bệnh. Một phút khoảng 350 hồ sơ. Nhưng trong những khoảng thời gian cao điểm nhất định thì lượng hồ sơ có thể gửi cao hơn rất nhiều. Đây sẽ là bài toán phức tạp trong độ trễ của việc giám định sau khi gửi hồ sơ giám định. Từ những yêu cầu về tính độc lập, tự trị, khả năng phục hồi khi xảy ra lỗi. Hiện tại chức năng chưa cần sử dụng lại nhưng có thể trong tương lai sẽ cần sử dụng lại dịch vụ để thực hiện giám định tự động công khai. Vì vậy từ những tính chất, yêu cầu của chức năng giám định tự động mà ta sẽ lựa chọn mô hình kiến trúc SOA với phương pháp top-down (xuất phát từ những yêu cầu nghiệp vụ để xác định các dịch vụ) để xây dựng giám định tự động. 12 3.2. Phân tích và xây dựng chức năng giám định tự động 3.2.1. Giám định hồ sơ 3.2.2. Phân rã domain Với nghiệp vụ cần thực hiện lấy những hồ sơ mới được gửi lên rồi thực hiện giám định. Giám định xong cập nhật kết quả giám định vào cơ sở dữ liệu và tính toán các trường để đẩy dữ liệu lên Solr. Mô hình usecase:  Lấy hồ sơ khám chữa bệnh mới  Xử lý giám định  Cập nhật kết quả giám định  Tính toán và đẩy dữ liệu lên Solr 3.2.3. Xây dựng mô hình Goal-service Trong giai đoạn phân rã domain ta đã xác định được các usecase nghiệp vụ, và đây sẽ là cơ sở chính để ta xác định các dịch vụ. Có nhiều cách thể hiện mô hình goal-service, ở đây ta sẽ sử dụng một cách đơn giản đó là dùng danh sách phân cấp để biểu diễn các goal, sub-goal, dịch vụ.  Giám định hồ sơ o Lấy hồ sơ KCB mới  Kết nối cơ sở dữ liệu và lấy các bản ghi theo trạng thái mới  GetXml19324()  Gửi thông điệp tới các dịch vụ khác  SendMessage(Message) 13  Xử lý và ghi log khi có sự cố  Xử lý(exeption)  Ghi log(exeption) o Xử lý giám định  Nhận thông điệp từ dịch vụ khác  GetMessage()  Giải mã thông điệp  Giả mã(Message)  Kết nối cơ sở dữ liệu  ConnectDB()  Thực hiện giám định  Lấy các quy tắc giám định đang bật o GetDmFunction(xml.NgayThan hToan)  Thực hiện chạy các quy tắc giám định o Run(xml19324)  Gửi thông điệp cho dịch vụ khác  SendMessage(Message)  Xử lý và ghi log khi có sự cố  Xử lý()  Ghi log() o Cập nhật kết quả giám định  Nhận thông điệp từ dịch vụ khác  GetMesssage()  Giải mã thông điệp  Giải mã(Message) 14  Kết nối cơ sở dữ liệu và cập nhật kết quả  ConnectDB()  UpdateSauGD(Xml19324)  Xử lý và ghi log khi có sự cố  Xử lý(exeption)  Ghi log(exeption) o Tính toán và đẩy dữ liệu lên Solr  Tính toán theo yêu cầu báo cáo  Tinhtoan(ref xml19324)  Chuyển đổi dữ liệu về schema của Solr  Convert(xml19324)  Đẩy dữ liệu lên Solr  SendSolr(Xml19324_Report)  Xử lý và ghi log khi có sự cố  Xử lý(exeption)  Ghi log(exeption) 3.2.4. Phân tích hệ thống con Trong chức năng giám định hồ sơ thì sẽ gồm các hệ thống con: Lấy hồ sơ KCB mới, Xử lý giám định, Cập nhật kết quả giám định, Tính toán và đẩy dữ liệu lên Solr. 3.2.5. Đưa ra các dịch vụ Như vậy với các hệ thống con trong chức năng giám định hồ sơ: Lấy hồ sơ KCB mới, xử lý giám định, cập nhật kết quả giám định, tính toán và đẩy dữ liệu lên Solr. Ta sẽ đặt tên cho các hệ thống con để có thể dễ dàng sử dụng, và đưa các dịch vụ vào các thành phần. 15 GetDataKB: Lấy hồ sơ KCB mới sẽ gồm các dịch vụ  GetXml19324(): Lấy những hồ sơ KCB theo trạng thái mới được gửi lên  SendMessage(Message): Gửi thông điệp cho thành phần khác với thông điệp dạng đối tượng Message  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố ProcessDataKB: Xử lý giám định sẽ gồm các dịch vụ  GetMesssage(): Nhận thông điệp từ dịch vụ khác  Giải mã(Message): Giải mã thông điệp  ConnectDB(): Kết nối cơ sở dữ liệu  GetDmFunction(xml.NgayThanhToan): Lấy những quy tắc đang bật theo ngày thanh toán của hồ sơ  Run(Xml19324): Thực hiện chạy các quy tắc giám định hồ sơ  SendMessage(Messgae): Gửi thông điệp tới dịch vụ khác  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố SendDataKB: Cập nhật kết quả giám định và tính toán rồi đẩy dữ liệu lên Solr sẽ gồm các dịch vụ  GetMesssage(): Nhận thông điệp từ dịch vụ khác  Giải mã(Message): Giải mã thông điệp  ConnectDB(): Kết nối cơ sở dữ liệu 16  UpdateSGD(Xml19324): Cập nhật kết quả sau giám định  Tinhtoan(ref Xml19324): Tính toán theo yêu cầu báo cáo  Convert(Xml19324): Chuyển đổi về schema của Solr  SendSolr(Xml19324_report): Đẩy dữ liệu lên Solr  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố 3.2.6. Đặc tả thành phần Với các dịch vụ GetDataKB, ProcessDataKB, SendDataKB sẽ gửi thông điệp với nhau qua một hệ thống MessageBroker. 3.2.7. Cấu trúc thành phần và dịch vụ Tiến hành đưa các thành phần và dịch vụ vào các tầng của SOA 3.2.8. Lựa chọn công nghệ thực hiện Với việc xây dựng các bộ dịch vụ: GetDataKB, ProcessDataKB, SendDataKB sẽ triển khai trên cùng một dải mạng WAN, chạy tự động, độc lập trên windown server, ta sẽ xây dựng các dịch vụ trên dưới dạng Winservice hoặc Application. Nhưng để triển khai cũng như quản lý một cách dễ dàng, tăng giảm số luồng, số dịch vụ khi triển khai thì ta sẽ chọn Application. Vấn đề để các dịch vụ trao đổi thông điệp với nhau, ta cần sử dụng một hệ thống chuyển giao thông điệp (Message Broker). Một trong những hệ thống message broker phổ biến cũng như dễ sử dụng hiện nay là RabbitMQ. Cơ sở dữ liệu: Oracle 11g 64bit. Ngôn ngữ lập trình: C# trên môi trường .Net 4.0, công cụ lập trình Visual Studio 15. Các thư viện client sử dụng sẽ được trình bày chi tiết hơn ở chương 4. 17 3.2.9. Các quy tắc hồ sơ o Quy tắc thẻ o Quy tắc mức hưởng o Quy tắc thuốc o Quy tắc dịch vụ o Quy tắc vật tư y tế o Quy tắc khác 3.2.2. Giám định danh mục 3.2.2.1. Phân rã domain Với nghiệp vụ cần thực hiện lấy những danh mục mới được gửi lên rồi thực hiện giám định. Giám định xong cập nhật kết quả giám định vào cơ sở dữ liệu. 3.2.2.2. Xây dựng mô hình goal-service Trong giai đoạn phân rã domain ta đã xác định được các usecase nghiệp vụ, và đây sẽ là cơ sở chính để ta xác định các dịch vụ.  Giám định danh mục o Lấy danh mục mới được gửi  Kết nối cơ sở cơ sở dữ liệu để lấy các danh mục theo trạng thái mới gửi  GetListDm()  Gửi thông điệp tới dịch vụ khác  SendMessage(Message)  Xử lý và ghi log khi có sự cố  Xử lý(exeption)  Ghi log(exeption) o Xử lý giám định 18  Nhận thông điệp từ dịch vụ khác  GetMessage()  Giải mã thông điệp  Giả mã(Message)  Kết nối cơ sở dữ liệu  ConnectDB()  Thực hiện giám định  Thực hiện ánh xạ danh mục o MappingDm(objectDm)  Lấy các quy tắc giám định đang bật o GetDmFunctionDm()  Thực hiện chạy các quy tắc giám định o Run(objectDm)  Gửi thông điệp cho dịch vụ khác  SendMessage(Message)  Xử lý và ghi log khi có sự cố  Xử lý()  Ghi log() o Cập nhật kết quả  Nhận thông điệp từ dịch vụ khác  GetMesssage()  Giải mã thông điệp  Giải mã(Message)  Kết nối cơ sở dữ liệu và cập nhật kết quả  ConnectDB()  UpdateSauGD(ObjectDm) 19  Xử lý và ghi log khi có sự cố  Xử lý(exeption)  Ghi log(exeption) 3.2.2.3. Phân tích hệ thống con Các usecase nghiệp vụ sẽ là cơ sở thiết kế các usecase hệ thống. Trong chức năng giám định danh mục thì sẽ gồm các hệ thống con: Lấy danh mục mới gửi, Xử lý giám định, Cập nhật kết quả giám định. 3.2.2.4. Đưa ra các dịch vụ Như vậy với các hệ thống con trong chức năng giám định danh mục: Lấy danh mục mới gửi, xử lý giám định, cập nhật kết quả giám định. Ta sẽ đặt tên cho các hệ thống con để có thể dễ dàng sử dụng, và đưa các dịch vụ vào các thành phần. GetData: Lấy danh mục mới sẽ gồm các dịch vụ  GetListDm(): Lấy danh sách danh mục theo trạng thái mới được gửi lên  SendMessage(Message): Gửi thông điệp cho thành phần khác với thông điệp dạng đối tượng Message  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố ProcessData: Xử lý giám định sẽ gồm các dịch vụ  GetMesssage(): Nhận thông điệp từ dịch vụ khác  Giải mã(Message): Giải mã thông điệp 20  ConnectDB(): Kết nối cơ sở dữ liệu  GetDmFunctionDm(object.Tungay): Lấy những quy tắc đang bật trong DmFunctionDm theo giá trị từ ngày của danh mục  Mapping(objectDm): Thực hiện ánh xạ danh mục với từng loại danh mục  Run(ObjectDm): Thực hiện chạy các quy tắc giám định danh mục  SendMessage(Messgae): Gửi thông điệp tới dịch vụ khác  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố SendData: Cập nhật kết quả giám định  GetMesssage(): Nhận thông điệp từ dịch vụ khác  Giải mã(Message): Giải mã thông điệp  ConnectDB(): Kết nối cơ sở dữ liệu  UpdateSGD(ObjectDm): Cập nhật kết quả sau giám định  Xử lý(exeption): Xử lý khi xảy ra sự cố  Ghilog(exeption): Ghi log khi xảy ra sự cố 3.2.2.5. Đặc tả thành phần Với các dịch vụ GetData, ProcessData, SendData sẽ gửi thông điệp với nhau qua một hệ thống MessageBroker. 3.2.2.6. Cấu trúc thành phần và dịch vụ Tiến hành đưa các thành phần và dịch vụ vào các tầng của SOA 21 3.2.2.7. Lựa chọn công nghệ thực hiện Tương tự như dịch vụ giám định hồ sơ 3.2.2.8. Các quy tắc giám định danh mục o Danh mục thuốc tỉnh o Danh mục vật tư tỉnh o Danh mục thuốc bệnh viện o Danh mục dịch vụ kỹ thuật bệnh viện 3.3. Kết luận CHƯƠNG 4: CÀI ĐẶT, TRIỂN KHAI VÀ THỰC NGHIỆM GIÁM ĐỊNH TỰ ĐỘNG 4.1. Cài đặt Như đã đề cập trong chương trước, ta sẽ sử dụng: Ngôn ngữ lập trình: C# môi trường .Net 4.0. Phiên bản ODTwithODAC 32bit, 64bit phiên bản 11, công cụ lập trình: Visual Studio 15. 4.1.1. Giám định hồ sơ 4.1.1.1. GetDataKB GetXml19324(), SendMessage(Message) Xử lý(exeption), Ghilog(exeption) 4.1.1.2. ProcessDataKB GetMesssage(), Giảimã(Message) ConnectDBGetDmFunction(xml.NgayThanhToan) 22 Run(Xml19324), SendMessage(Message) Xử lý(exeption), Ghilog(exeption) 4.1.1.3. SendDataKB GetMesssage(), Giải mã(Message) ConnectDB(), UpdateSGD(Xml19324) Tinhtoan(ref Xml19324), Convert(Xml19324) SendSolr(Xml19324_report), Xử lý(exeption), Ghilog(exeption) 4.1.2. Giám định danh mục 4.1.2.1. GetData GetListDm(), SendMessage(Message) Xử lý(exeption), Ghilog(exeption) 4.1.2.2. ProcessData GetMesssage(), Giải mã(Message) ConnectDB(), GetDmFunctionDm(objectDm.Tungay) Mapping(objectDm), Run(ObjectDm) SendMessage(Message), Xửlý(exeption), Ghilog(exeption) 4.1.2.3. SendDta GetMesssage(), Giải mã(Message), ConnectDB() UpdateSGD(ObjectDm), Xử lý(exeption), Ghilog(exeption) 23 4.2. Triển khai Các dịch vụ sẽ được triển khai trên Win server được cài đặt môi trường .net 4.0 và phiên bản ODTwithODAC 32bit, 64bit phiên bản 11. Cùng các hệ thống RabbitMQ 3.6.2, Solr 6.4 4.3. Kết quả thực nghiệm Sau đây là một vài kết quả thực nghiệm của chức năng giám định hồ sơ với mô hình triển khai bật một service GetDataKB, 5 service ProcessDataKB, 3 service SendDataKB: Số lượng hồ sơ Thời gian xử lý xong 134 20.12s 1120 77.85s 16739 932s KẾT LUẬN Luận văn đã trình bày kiến trúc hướng dịch vụ SOA, phương pháp xây dựng một ứng dụng dựa trên kiến trúc hướng dịch vụ SOA cụ thể là phương pháp top-down. Từ đó áp dụng vào bài toán giám định tự động. Luận văn đã phân tích và xây dựng thành công: - Bộ service giám định hồ sơ: GetDataKB, ProcessDataKB, SendDataKB - Bộ service giám định danh mục: GetData, ProcessData, SendData 24 - Bộ quy tắc hồ sơ: Quy tắc thẻ, quy tắc mức hưởng, quy tắc thuốc, quy tắc dịch vụ kỹ thuật, quy tắc vật tư y tế và quy tắc khác về máu, thanh toán ngày giường - Bộ quy tắc danh mục: Quy tắc thuốc thầu tỉnh, vật tư thầu tỉnh, thuốc bệnh viện, dịch vụ kỹ thuật bệnh viện, vật tư y tế bệnh viện. Hiện tại bộ service hồ sơ có thể xử lý được khoảng trên 40 hồ sơ/giây, đóng vai trò đắc lực hỗ trợ giám định viên phát hiện xử lý sai phạm trong quá trình thanh quyết toán bảo hiểm y tế. Giúp tiết kiệm ngân sách hàng năm của nhà nước. Nhưng hạn chế của giải pháp này là phải định nghĩa trước được bộ quy tắc cần phải chạy, vì vậy trong tương lai định hướng phát triển của em sẽ theo hướng mà sẽ mã hóa các bộ quy tắc trước được lưu trữ trong file hoặc database dưới dạng chuỗi base64 hoặc json. Trong service ProcessDataKB thực hiện giám định, sẽ cần phát triển tính năng đọc được chuỗi mã hóa quy tắc để tìm ra những quy tắc giám định. Với giải pháp này khi thêm quy tắc mới chỉ cần thêm một chuỗi mã hóa quy tắc mà không cần sửa lại service xử lý. Hiện tại với giám định tự động chưa có yêu cầu công khai như một dịch vụ nhưng trong tương lai giám định tự động có thể sẽ được công khai rộng rãi như một dịch vụ. Chức năng sẽ công khai một đầu webservice để cơ sở thực hiện gửi hồ sơ dạng file xml, tận dụng các bộ service nghiệp vụ như hiện tại để xử lý và trả lại kết quả cho webservice thông qua hệ thống message queue.

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

  • pdftom_tat_luan_van_phan_tich_va_xay_dung_chuc_nang_giam_dinh_t.pdf
Luận văn liên quan