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[.]
ĐẠ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 MỞ ĐẦU Bài toán Hiện Bảo hiểm y tế đóng vai trị quan trọng việc an sinh xã hội, tính đến nước có 80% dân số tham gia bảo hiểm y tế Cùng theo trình phát triển đất nước ngày lượng khám chữa bệnh ngày tăng, quy trình tốn bảo hiểm theo hồ sơ giấy khơng thể đáp ứng nhu cầu, nhu cầu tốn điện tử chi phí khám chữa bệnh 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 hình thành để đáp ứng trình tốn chi phí khám chữa bệnh bảo hiểm y tế, phát sai phạm, tránh trục lợi q trình tố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ụ giám định viên trình giám định, việc giám định tự động qua quy tắc có sẵn điều tất yếu Đề tài “Phân tích xây dựng chức giám định tự động hệ thống giám định bảo hiểm xã hội” tìm hiểu sở lý thuyết kiến trúc hướng dịch vụ SOA xây dựng chức giám định tự động phát sai phạm trình giám định, hỗ trợ đắc lực cho giám định viên phát sai phạm, để việc toán chi phí khám chữa bệnh bảo hiểm y tế rõ ràng, minh bạch tránh trục lợi Mục tiêu Tìm hiểu sở lý thuyết kiến trúc hướng dịch vụ SOA áp dụng xây dựng chức giám định tự động quy tắc giám định để phát sai phạm trình toán hồ sơ khám chữa bệnh Phương pháp nghiên cứu Tìm hiểu sở lý thuyết kiến trúc hướng dịch vụ SOA Các bước xây dựng ứng dụng dựa kiến trúc hướng dịch vụ Áp dụng bước xây dựng ứng dụng dựa kiến trúc hướng dịch vụ, cụ thể phương pháp top-down để xây dựng chức giám định tự động gồm quy tắc giám định, phân tích xây dựng service thực quét hồ sơ, tài liệu cần giám định Chức gồm service: Giám định hồ sơ giám định danh mục Giám định hồ sơ gồm service: - - GetDataKB: có nhiệm vụ quét hồ sơ cần giám định đẩy lên queue RabbitMQ ProcessDataKB: có nhiệm vụ lấy hồ sơ queue service GetDataKB đẩy lên để thực giám định, sau giám định tiến hành đẩy vào queue RabbitMQ SendDataKB: có nhiệm vụ lấy hồ sơ queue service ProcessDataKB đẩy lên để thực lưu kết vào Database Giám định danh mục gồm service: - GetData: có nhiệm vụ quét danh mục cần giám định đẩy lên queue RabbitMQ - - ProcessData: có nhiệm vụ lấy danh mục cần giám định queue service GetData đẩy lên, sau thực giám định đẩy lên queue RabbitMQ SendData: có nhiệm vụ lấy danh mục queue service ProcessData đẩy lên để thực lưu kết vào Database Áp dụng công nghệ RabbitMQ để giao tiếp service Kết đạt Luận văn tìm hiểu kiến trúc hướng dịch vụ SOA, phương pháp xây dựng ứng dụng dựa kiến trúc hướng dịch vụ Áp dụng vào 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ế quy tắc khác máu, 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 toàn quốc có khoảng 14 nghìn sở khám chữa bệnh, với trung bình tháng khoảng 15 triệu hồ sơ khám chữa bệnh Bộ service giám định hồ sơ xử lý khoảng 40 hồ sơ/ giây, đóng vai trị đắc lực hỗ trợ giám định viên phát xử lý sai phạm trình toán bảo hiểm y tế, giúp tiết kiệm ngân sách hàng năm nhà nước Bố cục luận văn Luận văn trình bày thành chương chính: Chương 1: Giới thiệu bảo hiểm y tế 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 xây dựng chức giám định tự động Chương 4: Cài đặt, triển khai 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 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 bệnh viện để thực khám chữa bệnh để thực khám chữa bệnh miễn phí cho nhân dân Sau thực sách đổi mới, Việt Nam dần chuyển đổi từ bước từ bao cấp cho bệnh viện sang chế BHYT 1.2 Vận hành Bảo hiểm y tế Việt Nam Sau 20 năm thực BHYT, đặc biệt sau năm thực 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 gần 70% cố gắng lớn Nhà nước 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 hỗ trợ nhân dân tham gia BHYT, gia đình sách, đối tượng khó khăn 1.2.2 Thực nguyên lý chia sẻ BHYT Nguyên lý chia sẻ 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 BHYT Với điều kiện Kinh Tế- Xã Hội mức thu nhập 1750 USD/người(2013), quyền lợi hưởng BHYT lớn, mức dịch vụ y tế 1.2.4 Về quản lý quỹ Bảo hiểm y tế Việt Nam gộp chung BHYT BHXH vào đơn vị BHXH Việt Nam điều hành, việc tiết kiệm số biên chế, trụ sở, hỗ trợ hai quỹ Quy trình giám định bảo hiểm y tế quan bảo hiểm xã hội Phòng giám định công bố danh mục thuốc, dịch vụ, vật tư dùng chung cho bệnh viện Hằng năm có kết đấu thầu, có thay đổi danh mục, sở khám chữa bệnh tiến hành gửi liệu danh mục ngày, có phát sinh hồ sơ khám chữa bệnh sở gửi hồ sơ khám chữa bệnh lên để thực giám định 1.3 6 Hệ thống kiểm tra tính hợp lệ liệu sở khám chữa bệnh gửi lên, không hợp lệ tiến hành trả lại liệu sở khám chữa bệnh, để sở thực sửa chữa gửi lại Thực 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 giám định giá thuốc, vật tư y tế: Kiểm tra đối chiếu giá toán với kết thầu Thực giám định giá dịch vụ kỹ thuật: kiểm tra xác định tính pháp lý danh mục Kiểm tra đối chiếu bảng giá DVKT so với quy định BYT Sau thực giám định khơng có u cầu thẩm định lại tiến hành trả kết giám định cho 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) Dịch vụ Dịch vụ (service) mặt định nghĩa, dịch vụ hệ thống có khả nhận hay nhiều yêu cầu xử lý sau đáp ứng lại cách trả hay nhiều kết 2.1 2.2 Các đặc điểm dịch vụ 2.2.1 Có ranh giới rõ ràng Các dịch vụ thực 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 triển khai hoạt động thực thể độc lập mà không lệ thuộc vào 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 (interface) bên ngồi 2.2.4 Tính tương thích dịch vụ dựa sách Một dịch vụ muốn tương tác với dịch vụ khác phải thỏa mãn sách u cầu dịch vụ mã hóa, bảo mật Kiến trúc hướng dịch vụ Kiến trúc hướng dịch vụ (Service – oriented architecture) hướng tiếp cận với việc thiết kế tích hợp phần mềm, chức năng, hệ thống theo dạng module 2.3 2.4 Các tính chất hệ thống SOA 2.4.1 Kết nối lỏng lẻo Vấn đề kết nối thể số ràng buộc module với 2.4.2 Sử dụng lại dịch vụ Bởi dịch vụ cung cấp lên mạng đăng ký nơi lưu trữ dịch vụ nên chúng dễ dàng tìm thấy tái sử dụng 8 2.4.3 Sử dụng dịch vụ bất đồng Trong phương thức triệu gọi dịch vụ bất đồng bộ, bên gọi gửi 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 trả kết kênh thông điệp, bên gọi chờ đến thông điệp xử lí xong 2.4.4 Quản lý sách Khi sử dụng chia sẻ mạng, tùy theo ứng dụng có luật kết hợp riêng gọi sách Các sách cần quản lý áp dụng cho dịch vụ thiết kế lẫn thời gian thực thi 2.4.5 Khả cộng tác Kiếm trúc hướng dịch vụ hướng nhấn mạnh đến khả cộng tác, khả mà hệ thống giao tiếp với nhiều tảng ngơn ngữ khác 2.4.6 Tự dị tìm 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 dịch vụ tìm kiếm dịch vụ dựa số tiêu chuẩn cần Người sử dụng cần hỏi dịch vụ lưu trữ dịch vụ thỏa mãn yêu cầu tìm kiếm 2.4.7 Khả tự phục hồi Một hệ thống tự phục hồi hệ thống có khả tự hồi phục sau bị lỗi mà không cần can thiệp 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 tầng kết nối kết nối đến ứng dụng enterprise tài nguyên bên cung cấp chúng thành dịch vụ 2.5.2 Tầng orchestration Tầng orchestration chứa thành phần vừa đóng vai trị dịch vụ vừa 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 dịch vụ cuối định hướng đến người sử dụng theo nhiều giao diện khác Các bước triển khai ứng dụng theo mơ hình SOA Hai phương pháp để xác định dịch vụ là: phương pháp top-down (xuất phát từ yêu cầu nghiệp vụ) phương pháp bottom-up (xuất phát từ thực trạng hệ thống có) 2.6 Trong phương pháp top-down bước để xây dựng hệ thống dựa SOA là: Phân rã domain Xây dựng mơ hình Goal-service Phân tích hệ thống Đưa dịch Đặc tả thành phần Cấu trúc thành phần dịch vụ Lựa chọn công nghệ thực 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 toán giám định tự động 3.1.1 Giới thiệu hệ thống giám định Với yêu cầu đặt phần mềm giám định BHYT phải đáp ứng yêu cầu: - Quản lý danh mục, thông tin Tiếp nhận hồ sơ yêu cầu toán Giám định tự động Tạo quy tắc giám định Thống kê, phân tích 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 liệu đề nghị toán từ 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 tăng, sở khám chữa bệnh có loại thuốc khác nhau, giá thành, thành phẩm khác Việc giám định khó khăn Vì cần xây dựng chức có khả chạy độc lập với hệ thống giám định, có khả tự trị, hồi phục xảy lỗi… để thực nghiệp vụ chạy qua quy tắc giám định, hỗ trợ giám định 11 viên phát sai phạm cách hiệu trình giám định Chức 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 có cố Cũng có khả chịu lỗi cao, trường hợp thành phần hệ thống gặp cố, không hoạt động thời gian thành phần hoạt động trở lại cần chức hoạt động trở lại bình thường Riêng với chức giám định hồ sơ trung bình có khoảng 15 triệu hồ sơ gửi tháng Nghĩa trung bình 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 khoảng thời gian cao điểm định lượng hồ sơ gửi cao nhiều Đây toán phức tạp độ trễ việc giám định sau gửi hồ sơ giám định Từ yêu cầu tính độc lập, tự trị, khả phục hồi xảy lỗi Hiện chức chưa cần sử dụng lại tương lai cần sử dụng lại dịch vụ để thực giám định tự động cơng khai Vì từ tính chất, u cầu chức giám định tự động mà ta 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ừ yêu cầu nghiệp vụ để xác định dịch vụ) để xây dựng giám định tự động 12 3.2 Phân tích xây dựng chức 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 lấy hồ sơ gửi lên thực giám định Giám định xong cập nhật kết giám định vào sở liệu tính tốn trường để đẩy liệu lên Solr Mơ hình usecase: Lấy hồ sơ khám chữa bệnh Xử lý giám định Cập nhật kết giám định Tính tốn đẩy 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 usecase nghiệp vụ, sở để ta xác định dịch vụ Có nhiều cách thể mơ hình goal-service, ta sử dụng cách đơn giản dùng danh sách phân cấp để biểu diễn goal, sub-goal, dịch vụ Giám định hồ sơ o Lấy hồ sơ KCB Kết nối sở liệu lấy ghi theo trạng thái GetXml19324() Gửi thông điệp tới dịch vụ khác SendMessage(Message) 13 Xử lý ghi log có 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 sở liệu ConnectDB() Thực giám định Lấy quy tắc giám định bật o GetDmFunction(xml.NgayThan hToan) Thực chạy 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ý ghi log có cố Xử lý() Ghi log() o Cập nhật kết 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 sở liệu cập nhật kết ConnectDB() UpdateSauGD(Xml19324) Xử lý ghi log có cố Xử lý(exeption) Ghi log(exeption) o Tính tốn đẩy liệu lên Solr Tính tốn theo u cầu báo cáo Tinhtoan(ref xml19324) Chuyển đổi liệu schema Solr Convert(xml19324) Đẩy liệu lên Solr SendSolr(Xml19324_Report) Xử lý ghi log có cố Xử lý(exeption) Ghi log(exeption) 3.2.4 Phân tích hệ thống Trong chức giám định hồ sơ gồm hệ thống con: Lấy hồ sơ KCB mới, Xử lý giám định, Cập nhật kết giám định, Tính tốn đẩy liệu lên Solr 3.2.5 Đưa dịch vụ Như với hệ thống chức giám định hồ sơ: Lấy hồ sơ KCB mới, xử lý giám định, cập nhật kết giám định, tính tốn đẩy liệu lên Solr Ta đặt tên cho hệ thống để dễ dàng sử dụng, đưa dịch vụ vào thành phần 15 GetDataKB: Lấy hồ sơ KCB gồm dịch vụ GetXml19324(): Lấy hồ sơ KCB theo trạng thái 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ý xảy cố Ghilog(exeption): Ghi log xảy cố ProcessDataKB: Xử lý giám định gồm 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 sở liệu GetDmFunction(xml.NgayThanhToan): Lấy quy tắc bật theo ngày toán hồ sơ Run(Xml19324): Thực chạy 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ý xảy cố Ghilog(exeption): Ghi log xảy cố SendDataKB: Cập nhật kết giám định tính tốn đẩy liệu lên Solr gồm 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 sở liệu 16 UpdateSGD(Xml19324): Cập nhật kết sau giám định Tinhtoan(ref Xml19324): Tính tốn theo yêu cầu báo cáo Convert(Xml19324): Chuyển đổi schema Solr SendSolr(Xml19324_report): Đẩy liệu lên Solr Xử lý(exeption): Xử lý xảy cố Ghilog(exeption): Ghi log xảy cố 3.2.6 Đặc tả thành phần Với dịch vụ GetDataKB, ProcessDataKB, SendDataKB gửi thông điệp với qua hệ thống MessageBroker 3.2.7 Cấu trúc thành phần dịch vụ Tiến hành đưa thành phần dịch vụ vào tầng SOA 3.2.8 Lựa chọn công nghệ thực Với việc xây dựng dịch vụ: GetDataKB, ProcessDataKB, SendDataKB triển khai dải mạng WAN, chạy tự động, độc lập windown server, ta xây dựng dịch vụ dạng Winservice Application Nhưng để triển khai quản lý cách dễ dàng, tăng giảm số luồng, số dịch vụ triển khai ta chọn Application Vấn đề để dịch vụ trao đổi thông điệp với nhau, ta cần sử dụng hệ thống chuyển giao thông điệp (Message Broker) Một hệ thống message broker phổ biến dễ sử dụng RabbitMQ Cơ sở liệu: Oracle 11g 64bit Ngơn ngữ lập trình: C# 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 trình bày chi tiết chương 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 lấy danh mục gửi lên thực giám định Giám định xong cập nhật kết giám định vào sở 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 usecase nghiệp vụ, sở để ta xác định dịch vụ Giám định danh mục o Lấy danh mục gửi Kết nối sở sở liệu để lấy danh mục theo trạng thái gửi GetListDm() Gửi thông điệp tới dịch vụ khác SendMessage(Message) Xử lý ghi log có 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 sở liệu ConnectDB() Thực giám định Thực ánh xạ danh mục o MappingDm(objectDm) Lấy quy tắc giám định bật o GetDmFunctionDm() Thực chạy 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ý ghi log có cố Xử lý() Ghi log() o Cập nhật kết 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 sở liệu cập nhật kết ConnectDB() UpdateSauGD(ObjectDm) 19 Xử lý ghi log có cố Xử lý(exeption) Ghi log(exeption) 3.2.2.3 Phân tích hệ thống Các usecase nghiệp vụ sở thiết kế usecase hệ thống Trong chức giám định danh mục gồm hệ thống con: Lấy danh mục gửi, Xử lý giám định, Cập nhật kết giám định 3.2.2.4 Đưa dịch vụ Như với hệ thống chức giám định danh mục: Lấy danh mục gửi, xử lý giám định, cập nhật kết giám định Ta đặt tên cho hệ thống để dễ dàng sử dụng, đưa dịch vụ vào thành phần GetData: Lấy danh mục gồm dịch vụ GetListDm(): Lấy danh sách danh mục theo trạng thái 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ý xảy cố Ghilog(exeption): Ghi log xảy cố ProcessData: Xử lý giám định gồm 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