CheckXML

    A.Tải và cài đặt

    1. Cài đặt các công cụ cần thiết

  • Tải MS SQLSERVER download
  • Tải SQL Server Management Studio (SSMS) downloadChú ý: trong quá trình cài đặt, chọn SQL Server Authentication, tạo mật khẩu cho user sa và ghi nhớ mật khẩu này. Chi tiết tham khảo tại link hướng dẫn cài đặt sau: tại đây
  • Tải và cài đặt WebView2 tại link download
  • Tải và cài đặt .NET 8.0 tại link download
  • 2. Cài đặt CheckXML:

  • Tải CheckXML download
  • Giải nén file vừa tải về vào thư mục D:\CheckXML (thư mục này có thể tùy ý)
  • Thêm loại trừ thư mục D:\CheckXML trong phầm mền Anti Virus để file không bị xóa (lý do: tool được protect bằng công cụ bên thứ ba nên bị Anti virus có thể nhận dạng nhằm là virus)
  • Đăng ký tài khoản CheckXML tại các máy chủ bên dưới:
    • Máy chủ http://server.gpp.vn:45000
    • Máy chủ riêng dành cho khách hàng đã đăng kí sử dụng CheckXML client pro theo hợp đồng thỏa thuận và thông tin địa chỉ được chỉ định riêng do bên sử dụng cung cấp theo thỏa thuận riêng
    • Đăng ký client để sử dụng CheckXMLclientLưu ý: Hiện tại tính năng được trãi nghiệm không giới hạn cho đến khi có thông báo mới (nút Gia hạn ramdom - click nhiều lần sẽ gia hạn thành công), đăng kí tài khoản ở máy chủ nào thì client chỉ sử dụng được trên máy chỉ đó

    B.Cài đặt cấu hình

  • Mở file D:\CheckXML\CheckXML.exe và tiến hành cài đặtTab CheckXML
    • Tab CheckXML

      Tab CheckXML
      • Host Nhập thông tin máy chủ CheckXML
        • Máy chủ free http://103.53.168.195:8080
        • Máy chủ client pro http://server.gpp.vn:45000
      • Email Nhập tài khoản (email) đã đăng ký tại máy chủ, đăng ký ở máy chủ nào thì chỉ sử dụng được tài khoản ở máy chủ đó.
      • Mật khẩu Nhập mật khẩu đã đăng ký tại máy chủ
      • Mã CSKCB Nhập mã CSKCB đã đăng ký tại máy chủ, lưu ý nhập sai mã đăng ký KCB đầu so với tài khoản đã đăng ký sẽ không kiểm được lỗi cảnh báo.
      • Page size trong quá trình sử dụng sẽ có 1 số bảng dữ liệu lấy số dòng này làm mặc định khi trình bày dữ liệu.
      • Gửi hồ lên cổng trước Mặc định là kiểm tra xong dữ liệu mới gửi file xml lên cổng tiếp nhận. Tùy chọn này cho phép gửi file lên cổng trước sau đó mới kiểm tra dữ liệu.
      • CheckXML Chỉ khi nào chọn mục này thì mới tiến hành kiểm tra file dữ liệu xml.
      • SendMail Chỉ khi nào chọn mục này thì mới tiến hành gửi mail cho người nhận cảnh báo.
      • Nút tải cấu hình (Session) Mỗi tài khoản khi đăng kí sẽ có môt cấu hình riêng theo 3 cấp độ
        • Cấp cơ sở KCB (mặc định) là cấp độ cơ bản mỗi tài khoản đại diện cho 1 cơ sở KCB đi kèm mã cskcb
        • Cấp khoa (chỉ dành cho client pro 2 session/cskcb, muốn khai báo nhiều hơn có thể tính thêm phí duy trì) là cấp độ mà 1 tài khoản quản lý nhiều khoa trong cskcb, ví dụ như khoa ngoại trú, khoa nội trú, khoa cấp cứu
        • Nhóm cơ sở KCB (chỉ dành cho client pro số session bằng với số TYT hoặc CS quản lý, muốn khai báo nhiều hơn có thể tính thêm phí duy trì) là cấp độ mà 1 tài khoản quản lý nhiều cskcb cùng lúc, ví dụ như TTYT quản các TYT xã/phường trong Huyện hay một CsKCB có nhiều CS 2
        Để thực hiện tải thành công cần nhập đầu đủ thông tin HostEmail Mật khẩuMã CSKCB sau đó nhấn nút tải cấu hình
        • Nếu tải thành công sẽ load tất cả session lên combobox
        • Nếu tải không thành công có thể tài khoản chưa đăng ký hoặc sai thông tin đăng nhập
      • ComboBox Sessions Khi tải cấu hình (session) thành công : Cần chọn 1 session để tiến hành khai báo tiếp cho nó
      • Nút Lưu Khi đã chọn session cần lưu lại thông tin đã nhập, lưu ý: chỉ lưu khi đã tải cấu hình thành công, mỗi session lưu riêng nên cần chọn lần lượt các session thì bắt buộc chọn -> cấu hình -> lưu từng cái.
      • Tab Server
      • Chọn quy luật kiển, gửi xml và gửi mail Tab Server
    • Tab Thư mục làm việc

      Khai báo thư mục làm việc, thư mục này chứa file xml cần kiểm tra, file xml sau khi kiểm tra sẽ được chuyển vào thư mục đã khai báo. Lưu ý mỗi session cần khai báo 1 thư mục riêng để tránh nhằm lẫn dữ liệu giữa các session.Tab thumuc
      • Session chọn session cần khai báo
      • Đầu vào khai báo thư mục hồ sơ đầu vào, nơi chứa file XML 130 để chương trình quét thư mục và kiểm tra file
      • Đầu ra khai báo thư mục hồ sơ đầu ra, nơi chứa file XML 130 sau khi kiểm tra xong. Nếu sau khi kiểm tra xong không có cảnh báo nào cần giữ lại hồ sơ thì file xml sẽ được lưu ở đây
      • Hồ sơ lỗi khai báo thư mục hồ sơ lỗi, nơi chứa file XML 130 sau khi kiểm tra xong có cảnh báo cần giữ lại hồ sơ. File xml sẽ được lưu ở đây
      • Đã gửi khai báo thư mục đã gửi, nơi chứa file XML 130 sau khi kiểm tra xong và đã gửi lên cổng. Chương trình quét tất cả file ở thư mục Đầu ra để gửi file lên cổng thành cổng và sẽ được lưu ở đây
      • Gửi lỗi khai báo thư mục gửi lỗi, nơi chứa file XML 130 sau khi kiểm tra xong và gửi lên cổng thất bại. Chương trình quét tất cả file ở thư mục Đầu ra để gửi file lên cổng nhưng thất bại và sẽ được lưu ở đây
      • Lưu lưu lại thông tin đã khai báo
    • Tab Lưu trữ kết quả

      Khai báo thông tin cơ sở dữ liệu lưu trữ cho mỗi session. Chương trình sử dụng cơ sở dữ liệu Ms SQLServer để lưu trữ kết quả kiểm tra, cần khai báo thông tin cơ sở dữ liệu để chương trình có thể lưu trữ kết quả kiểm tra. Do đó trước khi thực hiện khai báo cần tạo trước Database (mỗi session 1 database) thông quan chương trinh MSSQLServer Management Studio (SSMS) và cấp quyền cho user sa để có thể thực hiện tạo bảng và lưu trữ dữ liệu.Tab thumuc
      • Session chọn session cần khai báo
      • Server khai báo tên máy chủ chứa cơ sở dữ liệu
      • Database khai báo tên cơ sở dữ liệu đã tạo trước đó
      • User khai báo tên user có quyền truy cập cơ sở dữ liệu
      • Password khai báo mật khẩu user truy cập cơ sở dữ liệu
      • Lưu xml Nếu muốn lưu thông tin dữ liệu xml lên csdl để phục vụ kiểm tra dữ liệu liên hồ sơ
      • Lưu lỗi cảnh báo Nếu không chọn thì sẽ không lưu trữ lỗi cảnh báo và sẽ không tra cứu được sau này
      • Hiển thị lỗi Nếu không chọn thì sẽ không hiển thị lỗi cảnh báo trên giao diện chương trình khi kiểm tra, chỉ xem lại thông qua tính năng QLHS
      • Test Connect Kiểm tra thông tin kết nối đến cơ sở dữ liệu
      • Cập nhật CSDL Việc này quan trọng và cần tạo CSDL ban đầu khi mới chạy lần đầu và cần cập nhật khi có phiên bản mới để đảm báo có đủ các bảng dữ liệu và để đảm bảo chương trình hoạt động bình thường
      • Lưu lưu lại thông tin đã khai báo
    • Tab Cổng tiếp nhận

      Khai báo thông tin để xử lý file xml sau khi kiểm tra xong để gửi dữ liệu lên cổng tiếp nhận dữ liệu KCB BHYT.Tab cong
      • Session chọn session cần khai báo
      • Tài khoan _BV khai báo tên tài khoản đăng nhập cổng tiếp nhận có đuôi _BV vì chỉ có tài khoản này mới được cấp quyền truy cập API gửi dữ liệu
      • Mật khẩu khai báo mật khẩu tài khoản trên
      • Mật khẩu đào tạo khai báo mật khẩu đào tạo tài khoản trên
      • SendXml lên cổng tiếp nhận Nếu không chọn thì sẽ không gửi file lên cổng tiếp nhận
        • 5.1 Cổng chính thức chọn cổng chính thức để gửi dữ liệu
        • 5.2 Cổng đào tạo chọn cổng đào tạo để gửi dữ liệu
      • Nhận danh sách hồ sơ đã gửi cổng tiếp nhận Nếu không chọn thì sẽ không nhận danh sách hồ sơ đã gửi cổng tiếp nhận sau khi đã gửi dữ liệu thành công để phục vụ cho việc thống kê đối soát dữ liệu với his và một số thống kê báo cáo khác có liên quan
      • Chọn khoảng thời gian để làm mới dữ liệu danh sách hồ sơ đã gửi cổng tiếp nhận
      • Nhận danh sách lỗi từ chối nhận hồ sơ Nếu không chọn thì sẽ không nhận danh sách lỗi từ chối nhận hồ sơ sau khi đã gửi dữ liệu lên cổng tiếp nhận để phục vụ cho việc xử lý lỗi và cải thiện dữ liệu
      • Chọn khoảng thời gian để làm mới dữ liệu danh sách lỗi từ chối nhận hồ sơ
      • Lưu lưu lại thông tin đã khai báo
    • Tab Mail

      Khai báo thông tin để gửi mail cảnh báo khi kiểm tra dữ liệu có lỗi.Tab cong
      • Session chọn session cần khai báo
      • Tiêu đề maik khai báo tiêu đề mail cảnh báo
        • Có thể lấy thông tin tùy chọn các trường dữ liệu trên XML1 theo cấu trúc [TEN_TRUONG_DULIEU_XML1]
        • [ERROR_COUNT] hiển thị số lỗi kiểm được
      • Tên Mail khai báo tên người gửi mail cảnh báo
      • Địa chỉ email khai báo mail người gửi mail cảnh báo
      • Mật khẩu khai báo mật khẩu mail người gửi mail cảnh báo
      • SMTP khai báo SMTP mail người gửi mail cảnh báo
      • Port khai báo Port mail người gửi mail cảnh báo
      • SSL chọn SSL nếu mail người gửi mail cảnh báo sử dụng SSL
      • Gửi về địa chỉ người gửi mail nếu không tìm thấy bất kì người nào để gửi
      • Gửi theo KHOA chọn để gửi mail theo khoamailkhoaDựa vào giá trị MA_KHOA trong XML1 khi hồ sơ có cảnh báo cần gửi mail sẽ gửi email theo mã khoa khai báo bên dưới
          Trên mỗi dòng theo DmKhoa đã đăng kí trên oổng, nếu cần gửi mail theo mã khoa thì click 2 lần (double click) vào dòng cần khai báo.
        • To Khai báo email nhận cảnh báo, nếu có nhiều email cách nhau bằng dấu ";" số lượng email không giới hạn
        • CC Khai báo email CC nhận cảnh báo, nếu có nhiều email cách nhau bằng dấu ";" số lượng email không giới hạn
        • BCC Khai báo email BCC nhận cảnh báo, nếu có nhiều email cách nhau bằng dấu ";" số lượng email không giới hạn
        • Tạm ngưng Chọn để tạm ngưng gửi mail theo mã khoa
      • Gửi theo NVYT chọn để gửi mail theo nhân viên đã khai báo cchn trên cổngmailnvytDựa vào giá trị mã CCHN trong XML2 XML3 khi hồ sơ có cảnh báo cần gửi mail sẽ gửi email theo mã CCHN khai báo bên dưới
        • Email Khai báo email nhận cảnh báo
        • Điện thoại Khai báo số điện thoại nhận cảnh báo (đang phát triển)
        • Zalo Khai báo zalo nhận cảnh báo (đang phát triển)
        • Tạm ngưng Chọn để tạm ngưng gửi mail theo mã CCHN
      • Gửi mail lỗi theo khoa khi có lỗi sẽ dựa vào mã lỗi và mã khoa để gửi mailmailloikhoaDựa vào giá trị mã lỗi và mã khoa trong XML2 XML3 khi hồ sơ có cảnh báo cần gửi mail sẽ gửi email theo email khai báo bên dưới
        • Khoa chọn khoa nơi phát sinh chi phí
        • Danh sách lỗi chọn mã lỗi cần gửi mail
        • Email Khai báo email nhận cảnh báo
        • On/Off Chọn để bật hoặc tắt gửi mail theo mã lỗi và mã khoa
      • Lưu lưu lại thông tin đã khai báo
    • Tab Website

      Phiên bản 130 có nhiều thay đổi và thay đổi lớn nhất là tất cả quy luật kiểm tra được đặt trên máy chủ tập trung và người dùng sẽ gọi api gửi file xml để kiểm và trả kết quả, do đó có một số cấu hình cần khai báo ứng với từng session để khi kích hoạt tuyến trình kiểm tra dữ liệu chương trình hiểu được các cấu hình này nên có thêm phần khai báo trên server (tạm gọi website), cụ thư như sau:Tab Website
      • Cài đặt cấu hình Khai báo một số nội dung cần thiếtDeclare configs for session
        • 1.1 Session Chọn 1 session cần khai báo
        • 1.2 Loại cấu hình Chọn loại cấu hình cần khai báo
      • Cài đặt Quy luật kiểm tra đây là danh sách tất cả quy luật kiểm tra,mỗi quy luật có 1 mã lỗi được định nghĩa trước, khi kiểm tra phát hiện lỗi sẽ trả về mã lỗi để có thể tùy chỉnh theo mỗi sesion cho phù hợp với yêu cầu kiểm tra của cơ sở KCB.Declare configs for session
        • 2.1 Session Chọn 1 session cần khai báo
        • 2.2 CheckXml Chọn các quy luật cần kiểm soát, nếu không chọn sẽ không cảnh báo
        • 2.3 SendMail Chọn các quy luật được phép gửi file xml lên cổng, nếu không chọn thì khi kiểm tra phát hiện hồ sơ có lỗi (theo mã lỗi) sẽ không gửi hồ sơ lên cổng
        • 2.4 SendMail Chọn các quy luật được phép gửi mail cảnh báo, nếu không chọn thì khi kiểm tra phát hiện hồ sơ có lỗi (theo mã lỗi) sẽ không gửi mail cảnh báo
      • Quản lý danh mục đây là nơi cập nhật danh mục để chương trình kiểm tra các chi phí đã được khai báo danh mục hay chưaDeclare configs for session
        • 3.1 Session Chọn 1 session cần khai báo
        • 3.2 Danh mục tại cơ sở KCB Trước khi cập nhật cần khai báouserBHpassBH ở mục 1 (cài đặt cấu hình) sau đó chọn các danh mục cần cập nhật, mỗi khi cơ sở phát sinh khai báo danh mục trên cổng cần cập nhật lại để chương trình kiểm tra chính xác hơn (nếu không cập nhật chương trình sẽ cảnh báo danh mục chưa được phê duyệt)
        • 3.3 Danh mục dùng chung Danh mục này có sẳn trên máy chủ nhưng mỗi session cần cập nhật 1 lần trong quá trình sử dụng nếu có thay đổi cần cập nhật lại
        • 3.4 Xóa Catch Nếu cập nhật danh mục 3 lần liên tiếp không thành công và không có cảnh báo rõ ràng thì hãy chọn xóa catch để làm lại từ đầu
      • Chuyên đề đây là nơi cập nhật các quy luật kiểm soát dành cho các chuyên đề.Declare configs for session
        • 4.1

          Chuyên đề thuốc

          Khai báo quy luật kiểm soát chỉ định thuốc phù hợp với chẩn đoán và mã bệnh (ICD 10)rulethuoc
          • 4.1.1 Session Chọn 1 session cần khai báo
          • 4.1.2 Tạo mới chuyên đề chỉ định thuốcrulethuoc create
            Mục Trường Nội dung Áp dụng lọc
            a MaThuoc Khai báo thông tin MA_THUOC trên XML2 X
            b HoatChat Nhập tên hoạt chất  
            c Icd Nhập ICD 10 theo quy luật khai báo ICD 10  
            d ChanDoan Nhập chẩn đoán quy luật khai báo chẩn đoán  
            e TenThuoc Nhập TEN_THUOC trên XML2 X
            f HamLuong Nhập mã HAM_LUONG trên XML2 X
            g MaĐuongung Nhập mã DUONG_DUNG trên XML2 X
            h Sdk Nhập SO_DANG_KY trên XML2 X
            i Tyle Nhập TY_LE trên XML2 X
            j ThamKhao Nhập Nội dung muốn truyền đạt lại cho người xem cảnh báo hiểu về cảnh báo này  
            k TamNgung Nhập 1 để ngưng tạm thời không sử dụng, để trống hoặc 0 sẽ sử dụng quy luật này  
            l Mode Nhập kiểu kiểm tra theo quy luật khai báo kiểu kiểm tra  
            m DeliverDate Nhập thời gian bắt đầu áp dụng chuyên đề  
            n ExpireDate Nhập thời gian kết thúc áp dụng chuyên đề  
          • 4.1.3 Chức năng chỉnh sửa và xóa đây là 2 thao tác cho phép chỉnh sửa và xóa quy luật hiện tại
          • 4.1.4 Thư viện quy luật

            Yêu cầu client pro

            Đây là thư viện lưu trữ các quy luật đã khai báo sẳn từ tất cả cskcb đã sử dụng chương trình nhưng chỉ có người dùng client pro mới có thể truy cập và tải về áp dụng cho bệnh viện mình.

            thu vien thuoc
            • Mục 1: Session chỉ định session cần áp dụng quy luật
            • Mục 2: Chọn các quy luật cần áp dụng
            • Mục 3: Tải về quy luật hiện tại
            • Mục 4: Xóa quy luật hiện tại (cho có người dùng được phân quyền mới có thể xóa quy luật)
            • Mục 5: Sửa quy luật hiện tại (cho có người dùng được phân quyền mới có thể sửa quy luật)
            • Mục 6: Áp dụng tất cả session Tùy chọn này này giúp tái nhanh các quy luật đã chọn và áp dụng cho tất cả session (nếu tài khoản được quyền truy cập nhiều session), mặc định chỉ áp dụng tất cả quy luật cho 1 session được chỉ định ở mục 1
            • Mục 7: Ghi đè nếu đã tồn tại Tùy chọn này sẽ thay thế nội dung của quy luật đã áp dụng từ trước bằng nội dung của quy luật mới được chọn nếu quy luật có cùng index (cùng mathuoc,tenthuoc,hamluong,duongdung,tyle,sdk,icd,chandoan)
            • Mục 8: Áp dụng Tải tất cả quy luật được chọn về áp dụng cho các session theo các tùy chọn ở trên
            • Mục 9:Quay lại Trở lại trang quy luật thuốc ápdụng cho session
          • CÁC QUY TẮT KHAI BÁO DÀNH CHO TOOL CHECKXML 130

            • Các toán tử logic
              STT Dấu MÔ TẢ
              1 , Dấu "phẩy" đại diện cho hàm and tức điều điện 2 vế trướ và sau dấu , phải thỏa sẽ trả kết quả true/false
              2 ; Dấu "chấm phẩy" đại diện cho hàm or tức điều kiện 2 vế trước và sau dấu ; phải thỏa sẽ trả kết quả true/false
              3 ! Dấu "chấm than" đại diện cho hàm not tức điều kiện sau dấu ! phải thỏa sẽ trả kết quả true/false
              4 () Dấu "đóng" và "mở" ngoặc đại diện chogroup tức điều kiện trong dấu () phải thỏa sẽ trả kết quả true/false
            • Quy tắc khai báo ICD 10

              Hướng dẫn nhập mã ICD-10 với các quy tắc đặc biệt và ví dụ minh họa:

              1. Thêm mã ICD-10 cách nhau bằng dấu chấm phẩy ";"
                • Sử dụng dấu ; để phân tách các mã ICD-10 hoặc các nhóm điều kiện.
                Ví dụ:
                • I10;I20 → Chấp nhận mã bệnh có I10 hoặc I20.
              2. Sử dụng dấu ngoặc "()" để nhóm mã, dấu ";" biểu thị "hoặc", dấu "," biểu thị "và"
                • Dùng dấu ngoặc () để nhóm các mã hoặc điều kiện.
                • Dấu ; bên trong ngoặc: biểu thị "hoặc".
                • Dấu , bên trong ngoặc: biểu thị "và".
                Ví dụ:
                • (I10;I20) → Có I10 hoặc I20 là phù hợp.
                • (I10,I20) → Phải có cả I10 và I20 mới phù hợp.
              3. Sử dụng dấu sao "*" để đại diện cho các ký tự bất kỳ từ vị trí dấu sao trở về sau
                • Dấu * giúp tìm kiếm các mã có chung tiền tố.
                Ví dụ:
                • C5* → Chấp nhận tất cả các mã bắt đầu bằng "C5", như C50, C51, C52...
              4. Sử dụng dấu "-" để khai báo khoảng mã ICD-10
                • Dùng dấu - để chỉ một dãy mã liên tục.
                • Đặt khoảng mã trong dấu ngoặc vuông [].
                Ví dụ:
                • [C3-C8] → Chấp nhận các mã từ C3 đến C8 (bao gồm C3, C4, C5, C6, C7, C8).
                • [C3-C5.2] → Chấp nhận các mã từ C3 đến C5.2.
              5. Sử dụng dấu "!" để biểu thị điều kiện "không có"
                • Đặt dấu ! trước mã ICD-10 để chỉ mã không được xuất hiện.
                Ví dụ:
                • !I10 → Bệnh án không cóI10 là phù hợp.
                • !(K29,G20) → Bệnh án không có cả K29 G20 là phù hợp.

              Ví dụ tổng hợp:

              Chuỗi điều kiện: [C3-C5.2];I10;!(K29,G20)

              Giải thích:

              Bệnh án sẽ được coi là phù hợp nếu thỏa mãn một trong ba điều kiện sau:

              1. Có mã từ C3 đến C5.2
                • Bao gồm các mã: C3, C4, C5, C5.1, C5.2.
              2. Hoặc có mã I10
                • Bệnh án chứa mã I10.
              3. Hoặc không có K29 và không có G20
                • Bệnh án không chứa cả hai mã K29 G20.

              Một số ví dụ thêm:

              Ví dụ 1:

              Chuỗi điều kiện: (I10,I20);!C50

              Giải thích:

              • Bệnh án có cả I10 và I20, hoặc
              • Không cóC50.

              Ví dụ 2:

              Chuỗi điều kiện: C4*;!(I10;I20)

              Giải thích:

              • Bệnh án có mã bắt đầu bằng "C4" (như C40, C41...), hoặc
              • Không cóI10 hoặc I20.

              Lưu ý:

              • Kết hợp các quy tắc trên để tạo ra các điều kiện tìm kiếm phù hợp với nhu cầu.
              • Dấu ";" bên ngoài ngoặc: biểu thị "hoặc" giữa các nhóm điều kiện.
              • Dấu ngoặc "()"ngoặc vuông "[]" giúp nhóm các điều kiện và khoảng mã một cách rõ ràng.
            • Hướng dẫn sử dụng chuỗi khai báo đầu vào cho Mode

              Chức năng Mode cho phép bạn xác định các điều kiện kiểm tra bằng cách sử dụng một chuỗi ký tự (Mode) kết hợp các toán tử logic và các biến số.

              1. Các thành phần trong chuỗi Mode

              Biến số (Operands):

              • "1": Tương ứng với biến cd - Chẩn đoán
              • "2": Tương ứng với biến mb - Mã bệnh chính
              • "3": Tương ứng với biến mbk - Mã bệnh kèm
              • "4": Tương ứng với biến mb23 - mã bệnh trên xml2 xml3

              Toán tử (Operators):

              • "|" hoặc ";": Toán tử OR (hoặc)
              • ",": Toán tử AND (và)
              • "("")": Dấu ngoặc để nhóm biểu thức

              2. Cách sử dụng

              • Kết hợp các biến số với các toán tử để tạo thành biểu thức logic.
              • Sử dụng dấu ngoặc "("")" để xác định thứ tự ưu tiên trong biểu thức.
              • Chuỗi Mode có thể để trống hoặc chứa khoảng trắng; trong trường hợp này, mặc định Mode sẽ là "1".

              3. Ví dụ minh họa

              Ví dụ 1: Sử dụng toán tử OR

              • Chuỗi Mode: "1|2"
              • Giải thích: Kiểm tra cd hoặc mb có giá trị true hay không.
              • Kết quả: Trả về true nếu cd hoặc mbtrue.

              Ví dụ 2: Sử dụng toán tử AND

              • Chuỗi Mode: "1,2"
              • Giải thích: Kiểm tra cd mb đều có giá trị true.
              • Kết quả: Trả về true chỉ khi cả cdmb đều là true.

              Ví dụ 3: Kết hợp AND và OR với dấu ngoặc

              • Chuỗi Mode: "(1|2),3"
              • Giải thích: Kiểm tra (cd hoặc mb) mbk đều có giá trị true.
              • Kết quả: Trả về true nếu mbktrue và ít nhất một trong hai biến cd hoặc mbtrue.

              Ví dụ 4: Biểu thức phức tạp không có dấu ngoặc

              • Chuỗi Mode: "1|2,3|4"
              • Giải thích:
                • Do không có dấu ngoặc, biểu thức sẽ được đánh giá theo thứ tự ưu tiên của toán tử.
                • Thứ tự thực hiện:
                  1. 2,3 (AND giữa mbmbk)
                  2. 1|Kết quả của (2,3) (OR giữa cd và kết quả trước)
                  3. Kết quả trước|4 (OR với mb23)
              • Kết quả: Trả về true nếu bất kỳ điều kiện nào trong quá trình đánh giá là true.

              Ví dụ 5: Sử dụng nhiều dấu ngoặc

              • Chuỗi Mode: "(1|2),(3|4)"
              • Giải thích: Kiểm tra (cd hoặc mb) (mbk hoặc mb23) đều có giá trị true.
              • Kết quả: Trả về true nếu:
                • Ít nhất một trong hai biến cd hoặc mbtrue
                • Ít nhất một trong hai biến mbk hoặc mb23true.

              4. Lưu ý quan trọng

              • Giá trị null:
                • Nếu một biến số có giá trị null, nó sẽ được bỏ qua trong tính toán.
                • Nếu cả hai toán hạng của một toán tử đều là null, kết quả của phép tính sẽ là null.
              • Mặc định:
                • Nếu chuỗi Mode để trống hoặc chỉ chứa khoảng trắng, mặc định sẽ sử dụng "1" (tức là chỉ kiểm tra biến cd).

              5. Ví dụ về biến có giá trị null

              Giả sử:

              • cd = true
              • mb = null
              • mbk = false
              • mb23 = true

              Chuỗi Mode: "1|2"

              • Giải thích: Kiểm tra cd hoặc mb.
              • Đánh giá:
                • cdtrue.
                • mbnull, nên bỏ qua.
              • Kết quả: Trả về truecdtrue.

              6. Thông tin bổ sung

              • Thứ tự ưu tiên toán tử:
                • Dấu ngoặc "("")" có ưu tiên cao nhất.
                • Toán tử AND (",") có ưu tiên cao hơn OR ("|" hoặc ";").
              • Cách đọc biểu thức:
                • Đọc từ trái sang phải, áp dụng thứ tự ưu tiên của toán tử và dấu ngoặc.
            • Quy tắc khai báo các keyword keyword là hàm định nghĩa bằng cụm từ giúp chương trình hiểu được ý nghĩa của người dùng khi khai báo quy luật kiểm tra
              STT Keyword MÔ TẢ Ví dụ
              1 [PT] Nếu hồ sơ có phẫu thuật thì trả về true [PT]
              2
              [Age so sánh tuổi]
              Nếu tuổi của bệnh nhân lớn hơn hoặc bằng tuổi khai báo thì trả về true, cách tính tuổi bằng NGAY_VAO trừ NGAY_SINH
              • [Age > 18]
              • [Age <= 12]
              3
              [ngaytuoi so sánh tuổi theo ngày]
              Nếu tuổi của bệnh nhân lớn hơn hoặc bằng tuổi khai báo thì trả về true, cách tính tuổi bằng NGAY_VAO trừ NGAY_SINH
              • [ngaytuoi > 180]
              • [ngaytuoi <= 60]
              4
              [thangtuoi so sánh tuổi theo tháng]
              Nếu tuổi của bệnh nhân lớn hơn hoặc bằng tuổi khai báo thì trả về true, cách tính tuổi bằng NGAY_VAO trừ NGAY_SINH
              • [thangtuoi > 72]
              • [thangtuoi <= 36]
              5
              [cd:cụm chẩn đoán]
              Nếu hồ sơ có chẩn đoán trong cụm chẩn đoán thì trả về true
              • [cd:cao huyết áp;đái tháo đường]
              • [cd:(viêm phổi,viêm phế quản)]
              5
              [cls:ma_chi_so so sanh giá trị]
              Nếu hồ sơ có chỉ số trong danh mục chỉ số (XML4) và giá trị của chỉ số thỏa mãn điều kiện thì trả về true
              • [cls:S22 > 2.5]
              • [cls:S04 <= 5]
              6
              [sl so sánh giá trị]
              Nếu hồ sơ có số lượng của chi phí đang kiểm tra (MA_THUOC/MA_DICH_VU/MA_VAT_TU) thỏa mãn điều kiện thì trả về true
                ví dụ quy luật kiểm tra số lượng thanh toán thuốc Ceftriaxon
              • [sl > 6]
              7
              [nam] hoặc [nữ] hoặc [nu] hoặc [GT so sánh giá trị]
              Nếu hồ sơ có giới tính thỏa mãn điều kiện thì trả về true
              • [nam]
              • [nữ]
              • [GT = 1]
              • [GT = 2]
              8
              [hang so sánh giá trị] hoặc [hangbv so sánh giá trị]
              Nếu hạng bệnh viện thỏa mãn điều kiện thì trả về true
              • [hang = 1]
              • [hangbv = 2]
              • [hangbv <= 3]
        • 4.2

          Chuyên đề dịch vụ

          Tham khảo chuyên để chỉ định thuốc
        • 4.3

          Chuyên đề dịch vụ có thời gian tối thiểu

        • 4.4

          Chuyên đề tự tạo

        • 4.5

          Chuyên đề dịch vụ - vật tư

        • 4.6

          Chuyên đề dịch vụ trùng cơ chế

          Giới Thiệu

          Chức năng kiểm tra trùng lặp giúp phát hiện các trường hợp thanh toán trùng lặp cho cùng một dịch vụ, thuốc, hoặc vật tư y tế trong một khoảng thời gian xác định. Để sử dụng chức năng này, bạn cần khai báo các quy tắc kiểm tra (RuleDuplicate) với thông tin cụ thể về điều kiện kiểm tra và ngưỡng thời gian.

          Cấu Trúc Dữ Liệu RuleDuplicate

          Dưới đây là cấu trúc của lớp RuleDuplicate:

          Khai Báo RuleData

          Cú Pháp RuleData

          RuleData là chuỗi biểu thức logic dùng để xác định các mã chi phí cần kiểm tra trùng lặp. Cú pháp của RuleData sử dụng các toán tử và ký hiệu sau:

          • Toán tử logic:
            • toán từ And dùng dấu ,
            • toán từ Or dùng dấu; hoặc |
            • toán từ Not dùng dấu !
          • Dấu ngoặc:
            • Mở ngoặc: (
            • Đóng ngoặc: )
          • Ký hiệu mã chi phí:
            • Sử dụng mã thuốc (MA_THUOC), dịch vụ (MA_DICH_VU)
            • Mã được viết trong biểu thức logic.

          Ví Dụ Về RuleData

          Kiểm tra trùng lặp giữa hai dịch vụ A và B trong vòng 24 giờ:

          A & B

          Kiểm tra nếu sử dụng thuốc X hoặc thuốc Y trong vòng 7 ngày:

          X | Y

          Kiểm tra nhóm dịch vụ:

          (A & B) | (C & D)

          Lưu ý: Mã chi phí phân biệt chữ hoa chữ thường và phải khớp chính xác với mã trong hệ thống.

          Khai Báo Đơn Vị Tính Thời Gian (Dvt)

          Các Đơn Vị Hỗ Trợ

          Dvt (Đơn vị tính) xác định đơn vị thời gian cho ngưỡng kiểm tra trùng lặp. Nó được sử dụng cùng với ThoiGian để xác định khoảng thời gian cần kiểm tra.

          • Phút: phút, phut, minute, minutes
          • Giờ: giờ, gio, hour, hours
          • Ngày: ngày, ngay, day, days
          • Tuần: tuần, tuan, week, weeks
          • Tháng: tháng, thang, month, months
          • Năm: năm, nam, year, years

          Ví dụ:

          • Dvt = "giờ" với ThoiGian = 24 nghĩa là 24 giờ.
          • Dvt = "ngày" với ThoiGian = 7 nghĩa là 7 ngày.

          Ví Dụ Về Đơn Vị Tính

          Kiểm tra trong vòng 30 phút:

          ThoiGian = 30 Dvt = "phút"

          Kiểm tra trong vòng 2 tuần:

          ThoiGian = 2 Dvt = "tuần"

          Kiểm tra trong vòng 1 tháng:

          ThoiGian = 1 Dvt = "tháng"

          Lưu Ý Khi Khai Báo

          • Chính xác mã chi phí: Đảm bảo mã chi phí trong RuleData khớp với mã trong hệ thống.
          • Định dạng biểu thức logic: Sử dụng đúng cú pháp và toán tử logic.
          • Đơn vị thời gian: Chỉ sử dụng các đơn vị thời gian được hỗ trợ và phù hợp với ngữ cảnh kiểm tra.
          • Kiểm tra tạm ngưng: Nếu không muốn áp dụng quy tắc, đặt TamNgung = true.
        • 4.8

          Định nghĩa cấu hình

        • 4.9

          Cấp giường

    C.Kiểm tra dữ liệu checkxml

  • Hướng dẫn cài đặt checkXML

    Trước khi sử dụng chức năng check vui lòng cài đặt đầy đủ thông tin trong phần cấu hình cài đặt ở trên để chương trình hoạt động trơn chu và chính xác nhất.Tab cấu hình check
    • Kiểm 24/24 Cho phép chương trình chạy và quét file xml liên tục các thư mục đã chỉ định trong các session ở phần Cài đặt> Thư mục> HS Đầu vào
    • Di chuyển file Cho phép thực hiện việc xóa file xml sau khi kiểm xong và di chuyển chúng đến thư mục phù hợp khác theo nhừng gì đã khai báo ở phần Cài đặt>Thư mục
    • Thời gian quét Chọn thời gian quét file xml trong thư mục đã chỉ định, tuy phiên bản sẽ có giới hạn thời gian quét để tối ưu khả năng đáp ứng của chương trình, đối với client pro sẽ không giới hạn thời gian quét củng như thời gian kiểm giữa 2 hồ sơ
    • Hiển thị lỗi Chọn để hiển thị lỗi kiểm tra trên giao diện chương trình
    • CHỉ hiển thị HS lỗi Chọn để chỉ hiển thị hồ sơ có lỗi kiểm tra
    • Quản lý các hoạt động Có một số hoạt động có thể tùy chỉnh để chạy hoặc không chạy, chúng hoạt động liên tục và bất đồng bộ ngay cả khi đóng của sổ Check (chúng chỉ dừng khi tắt chương trình)
      • CheckXML Hoạt động kiểm tra file xml và gửi file lên server để kiểm tra và lưu kết quả vào csdl nội bộ và thực hiện tiếp các hoạt động khác như gửi file lên cổng, gửi mail cảnh báo theo quy luật đã khai báo. Các thông tin lỗi hoặc kiểm file sẽ được hiển thị trên giao diện chương trình có thể xem và copy nội dung bằng chức năng click chuộc phảiTab check
      • SendXML Hoạt động gửi file xml ở thư mục HS Đầu ra lên cổng tiếp nhận (chỉ những session nào trong phần cài thông tin tài khoản cổng tiếp nhận và có check mục SendXML thì mới kiích hoạt chức năng này)Tab send
      • DsHosoDNTT Hoạt động lấy danh sách hồ sơ đã kiểm tra và lưu vào csdl nội bộ để thực hiện các chức năng khác như thống kê rà soát dữ liệu gửi đúng ngày, thống kê báo cáo chi phí KCB BHYT, kiểm soát chi phí KCB BHYT, vượt trần, vượt tổng mức, vượt chi phí bình quân, KCB quá mức cần thiết,...Tab DNTT
      • Lỗi cổng Hoạt động lấy thông tin lỗi từ chối nhận hồ sơ từ cổng tiếp nhậnTab Lỗi cổng
    • Xem chi tiết Hiển thị các công việc chi tiết đang hoạt động dưới nền khi người dùng nhấn vào nút StartTab job
    • Cập nhật lỗi hồ sơ thủ công Chức năng này cho phép cập nhật lỗi gửi hồ sơ bị cổng từ chối ngay thay vì cập nhật lỗi tự động theo cấu hình
    • Clear history Chức năng xóa thông tin lịch sử của các tab kiểm tra, gửi file, lấy danh sách hồ sơ đã kiểm tra, lỗi cổng
    • Tìm kiếm Chức năng tìm kiếm thông tin lịch sử của các tab kiểm tra, gửi file, lấy danh sách hồ sơ đã kiểm tra, lỗi cổng
    • Context menu Chức năng chuột phải để copy nội dung lỗi hoặc thông tin chi tiết của hồ sơ ở các tab kiểm tra, gửi file, lấy danh sách hồ sơ đã kiểm tra, lỗi cổng
    • Save Lưu lại thông tin cấu hình đã khai báo
    • Start/Stop Bắt đầu hoặc dừng các hoạt động kiểm tra, gửi file, lấy danh sách hồ sơ đã kiểm tra, lỗi cổng
    • Export Xuất file dữ liệu các hồ sơ hiển thị trên màn hình ra file excel
    • Xóa Xóa hồ sơ đã kiểm tra
    • Xml Xem nội dung file xml đã kiểm traTab viewxml
    • Lỗi Xem thông tin lỗi của hồ sơ đã kiểm traTab viewloi

    D.Quản lý dữ liệu XML

  • Quản lý dữ liệu XML

    Quản lý hồ sơ
    • Hồ sơ Mở chức năng quản lý hồ sơ
    • Session Chọn session làm việc
    • Trạng thái hồ sơ Chọn trạng thái hồ sơ cần lọctrạng thái hồ sơ
      • Trạng thái hồ sơ Lọc tất cả trạng thái hồ sơ
      • Hồ sơ cổng đúng Lọc hồ sơ đã gửi lên cổng và không có cảnh báo lỗi từ cổng tiếp nhận
      • Hồ sơ cổng lỗi Lọc hồ sơ gửi lên cổng không thành công và có cảnh báo lỗi từ cổng tiếp nhận
      • Hồ sơ đúng CheckXml Lọc hồ sơ đã kiểm tra qua chương trình CheckXML và không có cảnh báo
      • Hồ sơ lỗi CheckXml Lọc hồ sơ đã kiểm tra qua chương trình CheckXML và có cảnh báo lỗi
      • Hồ sơ lỗi cả 2 Lọc hồ sơ gửi lên cổng không thành công và có cảnh báo lỗi từ cổng tiếp nhận và hồ sơ đã kiểm tra qua chương trình CheckXML và có cảnh báo lỗi
      • Hồ sơ đúng cả 2 Lọc hồ sơ đã gửi lên cổng và không có cảnh báo lỗi từ cổng tiếp nhận và hồ sơ đã kiểm tra qua chương trình CheckXML và không có cảnh báo lỗi
    • Trạng thái thanh toán Chọn trạng thái thanh toán cần lọctrạng thái thanh toán
      • Chưa gửi cổng Lọc hồ sơ chưa gửi lên cổng
      • Đã gửi cổng tiếp nhận Lọc hồ sơ đã gửi lên cổng tiếp nhận
      • Đã gửi giám định Lọc hồ sơ đã gửi lên cổng giám định
      • Đã gửi thay thế Lọc hồ sơ đã gửi lên cổng thay thế
      • Đã chốt thay thế Lọc hồ sơ đã chốt thay thế
      • Đã chốt thanh toán Lọc hồ sơ đã chốt thanh toán
    • Chọn lỗi lọc hồ sơ theo mã lỗi cảnh báoChọn lỗi
      • Check All Chọn hoặc bỏ chọn tất cả các cảnh báo theo mã cảnh báo
      • Lọc nhập mã hoặc tên cảnh báo để tìm kiếm nhanh các mã và lỗi cảnh báo
      • Danh sách dạng cây trình bày tất cả mã và tên cảnh báo mà chương trình có thể kiểm tra được
      • Hiển thị mã lỗi đã được chọn từ cây danh mục
    • Loại KCB Chọn loại KCB cần lọcLoại KCB
      • Loại KCB Lọc tất cả loại KCB
      • Ngoại trú 1,2,5,7,8,10 Lọc hồ sơ khám bệnh có các mã loại KCb 1,2,5,7,8,10 theo quy định của BYT
      • Nội trú 3,4,6,9 Lọc hồ sơ nội trú có các mã loại KCB 3,4,6,9 theo quy định của BYT
      • Khám bệnh (1) Lọc hồ sơ khám bệnh có mã loại KCB 1 theo quy định của BYT
      • Điều trị ngoại trú (2) Lọc hồ sơ điều trị ngoại trú có mã loại KCB 2 theo quy định của BYT
      • Điều trị nội trú (3) Lọc hồ sơ điều trị nội trú có mã loại KCB 3 theo quy định của BYT
      • Điều trị nội trú ban ngày (4) Lọc hồ sơ điều trị nội trú ban ngày có mã loại KCB 4 theo quy định của BYT
      • Điều trị bệnh mạn tính (5) Lọc hồ sơ điều trị bệnh mạn tính có mã loại KCB 5 theo quy định của BYT
      • Điều trị lưu trú tại TYT (6) Lọc hồ sơ điều trị lưu trú tại TYT có mã loại KCB 6 theo quy định của BYT
      • Nhận thuốc theo hẹn (7) Lọc hồ sơ nhận thuốc theo hẹn có mã loại KCB 7 theo quy định của BYT
      • Điều trị bệnh mạn tính có làm dv (8) Lọc hồ sơ điều trị bệnh mạn tính có làm dịch vụ có mã loại KCB 8 theo quy định của BYT
      • Điều trị nội trú dưới 4 giờ (9) Lọc hồ sơ điều trị nội trú dưới 4 giờ có mã loại KCB 9 theo quy định của BYT
      • Khác (10) Lọc hồ sơ khác có mã loại KCB 10 theo quy định của BYT
    • Chọn khoaChọn khoa cần lọc hồ sơ theo mã khoa trên XML1, nếu có nhiều mã khoa lấy mã khoa sau cùngChọn khoa
    • Chọn ngày Chọn khoản thời gian từ đến ngày cần lọc hồ sơChọn ngày
      • Ngày ra lọc theo NGAY_RA viện trên XML1
      • Ngày vào lọc theo NGAY_VAO viện trên XML1
      • Ngày check lọc theo thời gian kiểm tra hồ sơ sau cùng được ghi nhận
      • Ngày gửi hs lọc theo thời gian gửi hồ sơ lên cổng tiếp nhận
    • Nội dung tìm lọc hồ sơ có chứa nội dung cần tìm trên dữ liệu các trường dữ liệu XML1 nhưMA_LK,MA_BN, MA_THE, HO_TEN
    • Nút tìm lọc hồ sơ theo các điều kiện đã chọn
    • Lọc XML lọc file xml theo các điều kiện đã chọn
    • Xuất cảnh báo Xuất dữ liệu cảnh báo đã kiểm tra theo điều kiện đã chọn ra file excel
    • MA_LK > XML lọc file xml theo mã liên kếtlọc xml
    • Export Xuất thông tin hồ sơ hiển thị trên giao diện ra file excel
    • Xuất lỗi Xuất tất cả lỗi cảnh báo đã được lọc và hiển thị trên giao diện ra file excel
    • Xuất tất cả Xuất tất cả thông tin cảnh báo trên hồ sơ đã được lọc và hiển thị trên giao diện ra file excel
    • Xuất tất cả Xuất tất cả thông tin hồ sơ đã được lọc và hiển thị trên giao diện ra file excel
    • Lọc XMLXuất tất cả file xml đã được lọc và hiển thị trên giao diện ra thư mục
    • Grid Xem thông tin hồ sơ xml dạng bảng
    • Note Ghi trú nội dung cần lưu ý trên hồ sơ
    • File Xem nội dung file xml bàng xmlviewer
    • Lỗi Nếu hồ sơ không có lỗi sẽ hiển thị đúng hoặc có lỗi hiển thị lỗi và khi nhấn chọn sẽ hiển thị chi tiết lỗilỗi

      E.XmlViewer - xem và xử lý file xml 130

      xmlviewer

      F.CÁC CHỨC NĂNG CHÍNH

    • KÝ VÀ GỬI XML KÝ SỐ

      kyso
    • LỌC CẢNH BÁO THEO CHUYÊN ĐỀ

      qlchuyende