A dynamic flow-based data auditing system and method

The data auditing system, which features dynamic process adjustment and intelligent recommendation, solves the problems of static processes and coupled permissions in medical information systems, and achieves flexible auditing process management and efficient data processing.

CN121599441BActive Publication Date: 2026-05-19CHENGDU MEDICAL STAR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHENGDU MEDICAL STAR TECH CO LTD
Filing Date
2026-01-30
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

In existing medical information systems, the review process lacks dynamic adaptability, review authority is strongly coupled with organizational structure, and there is a lack of exception handling mechanisms, resulting in high operation and maintenance costs, low efficiency, and poor data quality.

Method used

The system adopts a dynamic process-based data audit system. Through components such as process maintenance module, indicator collection module, node execution module, state machine and external rule base, it realizes dynamic adjustment and intelligent recommendation of process, supports dynamic insertion or skipping of audit nodes, decouples user permissions and organizational structure, and records audit history.

Benefits of technology

It improves the flexibility and adaptability of the review process, reduces operation and maintenance costs, improves data quality and review efficiency, supports the retrieval of abnormal data and historical records, and facilitates optimization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121599441B_ABST
    Figure CN121599441B_ABST
Patent Text Reader

Abstract

The application discloses a kind of data auditing system and method based on dynamic process, belong to data dynamic processing technical field, including data auditing system based on dynamic process and data auditing method based on dynamic process.Process maintenance module, index acquisition module, node execution module, state machine, process template library are included in system, and the system is also connected with external rule base, external permission mapping library, external history record library.Method includes creating process instance, new or reuse process, index acquisition, dynamic auditing, obtaining audit result, receiving re-raise, saving new process template, saving audit history record and the like steps.Based on the configuration or reuse of basic auditing process, the process can be dynamically adjusted by triggering specific rules, with high flexibility, which can save the manpower and time required for auditing process configuration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of dynamic data processing technology, and in particular to a data auditing system and method based on dynamic processes. Background Technology

[0002] In current healthcare information systems, hospital accreditation applications generally rely on workflow engines to achieve multi-level review of indicator data. Mainstream solutions mostly adopt static process templates, that is, pre-binding a fixed sequence of review nodes for each indicator (such as "department submission → medical affairs department preliminary review → hospital office final review"), and the review path is fixed before the process starts.

[0003] There are three technical bottlenecks in the existing technology:

[0004] 1. Lack of dynamic adaptability in the process: When the indicator value itself triggers different management requirements (for example, "annual surgical volume > 10,000 cases" requires additional review by the quality control department), the existing system cannot dynamically insert or skip the review node based on the actual value of the indicator, the attribute of the department, the hospital level, and other contextual conditions. This results in the need to manually configure multiple similar processes for the same indicator, which is inefficient.

[0005] 2. Strong coupling between approval permissions and organizational structure: Most systems directly bind approval nodes to specific user accounts or fixed positions. Once there are internal departmental adjustments or personnel changes within the hospital, all approval process configurations related to the changed personnel must be manually updated, resulting in high maintenance costs and a high risk of errors.

[0006] 3. Lack of anomaly handling mechanism: When the review result is abnormal, the traditional process usually only marks it as rejected, but it lacks a closed-loop mechanism that automatically terminates the current process instance, retains historical records, and supports the initiator to resubmit a new instance, which causes abnormal data to remain for a long time, affecting the overall review progress and data quality.

[0007] To address technical bottlenecks, although a general workflow engine can be used, which supports conditional branching, the conditional expressions are usually hardcoded in the process definition stage. This makes it impossible to dynamically load and parse multi-dimensional judgment conditions at runtime based on an external business rule base, and it also makes it impossible to achieve intelligent process recommendation based on historical behavior. Summary of the Invention

[0008] To address the aforementioned issues, this invention provides a data auditing system and method based on dynamic processes. By configuring or reusing basic auditing processes, the system can dynamically adjust the processes by triggering specific rules, offering high flexibility and saving the manpower and time required for configuring auditing processes.

[0009] To achieve the objectives of this invention, the following solution is adopted:

[0010] A data auditing system based on dynamic processes includes:

[0011] The process maintenance module is used to configure and manage process instances;

[0012] The indicator acquisition module is used to receive indicator data, which includes indicator type and indicator value.

[0013] The node execution module is used to receive audit results from user groups with auditing permissions. The audit results include three types: normal, qualified, and abnormal.

[0014] A state machine includes four states: PENDING, APPROVED, REJECTED, and RETRYING.

[0015] The process template library is used to store process templates. Each process template includes several review nodes and is configured with a process name and default execution order. The review nodes are configured with indicator types and IDs of several user groups with review permissions.

[0016] The system is also connected to:

[0017] An external rule library is used to store dynamic audit rules. Dynamic audit rules are configured with trigger conditions, which include indicator types and trigger ranges. They also include two types: dynamic insertion and skipping nodes. Dynamic audit rules of the dynamic insertion type are also configured with audit nodes.

[0018] An external permission mapping library is used to store the user group settings of all user groups and the user settings of all users. The user group settings include the user group ID, user group name and several user IDs, and the user settings include the user ID, IP address and username.

[0019] An external history repository is used to store audit history records.

[0020] A data auditing method based on a dynamic workflow data auditing system includes the following steps:

[0021] S1: The system receives the data review request from the initiator, the process maintenance module creates a process instance, and the state machine switches to the PENDING state;

[0022] S2: The process maintenance module determines the type of data audit request.

[0023] If the type is a new process, the process maintenance module receives several audit nodes and the default execution order configured by the initiator for the process instance;

[0024] If the type is reusing an existing process template, the process maintenance module will copy the contents of the process template selected by the initiator in the process template library to the currently created process instance;

[0025] S3: System startup process example, the indicator collection module collects indicators, and creates and initializes variable i=1;

[0026] S4: The indicator collection module displays the indicator collection interface to the initiator and shows the indicator type on the interface. After receiving the i-th indicator data input by the initiator, the indicator collection module calls the external rule base for calculation to determine whether any dynamic review rules have been triggered.

[0027] If so, then execute S6;

[0028] If not, the node execution module executes the i-th audit node of the process instance, and then executes S5;

[0029] S5: If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes S7. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7.

[0030] S6: Determine the type of dynamic audit rule:

[0031] If it is a dynamic insertion, the node execution module first executes the i-th audit node of the process instance. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7. If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes the audit node configured by the triggered dynamic audit rule, and executes S5 for that audit node.

[0032] If the node is to be skipped, then execute S7;

[0033] S7: If the state machine is currently in the PENDING or APPROVED state, determine whether i is equal to the number of audit nodes of the process instance. If yes, set the state machine to the PENDING state and then execute S9. If no, execute S8.

[0034] If the state machine is currently in the REJECTED state, add a review failure flag to the current process instance, and then determine whether the system has received the initiator's resubmission request within the preset resubmission time limit t. If yes, the state machine switches to the RETRYING state. After the initiator re-enters the data review request, the state machine is set to the PENDING state, and then returns to S2. If no, the system outputs the review failure result to the initiator and then ends.

[0035] S8: Increment the value of i by 1, set the state machine to the PENDING state, and then return to S4;

[0036] S9: The system outputs the result of the review completion to the initiator.

[0037] Furthermore, the step in S4 to determine whether a dynamic review rule has been triggered includes:

[0038] The indicator acquisition module searches the external rule base for all dynamic audit rules that have the same indicator type as the received i-th indicator data in the trigger condition;

[0039] Determine if any dynamic review rules exist among the searched dynamic review rules, such that the indicator value of the indicator data falls within the trigger range of the dynamic review rule:

[0040] If so, then a dynamic review rule has been triggered;

[0041] If not, no dynamic review rules are triggered.

[0042] Furthermore, the execution steps for the audit node include:

[0043] The node execution module retrieves the IDs of all user groups with audit permissions from the current audit node;

[0044] Based on the obtained user group ID, find all user IDs of all user groups with audit permissions from the external permission mapping library;

[0045] Find the IP addresses of all authorized users based on the obtained user ID, communicate with the users and send the i-th indicator data for user review;

[0046] When the node execution module receives an audit result, it closes communication with all users.

[0047] Furthermore, in S2, if the data audit request type is a new process, the process maintenance module provides the initiator with a multi-select drop-down list containing all user group names when configuring each audit node, allowing the initiator to select several user groups as the user groups for the configured audit node.

[0048] Furthermore, in S2, if the data audit request type is to reuse an existing process template, the process maintenance module provides the initiator with a single-select drop-down list containing the names of all process templates in the entire process template library for the initiator to choose from.

[0049] Furthermore, it also includes the following steps:

[0050] S10: The process maintenance module extracts the audit nodes executed before each state machine switch to the APPROVED state for process instances without audit failure markers according to the actual audit order, and uses the execution order of these audit nodes as the default execution order. It calls the process template library to query whether there is a process template that is the same as all the extracted audit nodes and the default execution order. If yes, then execute S12; otherwise, then execute S11.

[0051] S11: Use the audit nodes and default execution order extracted in S10 as a new process template, output it to the system administrator, and after the system administrator configures the process name, store it in the process template library, and then execute S12.

[0052] S12: The system records all actual audit nodes, execution time periods, and real-time state machine changes as audit history records and sends them to an external history database for storage.

[0053] Furthermore, in S7, if the state machine is currently in the REJECTED state and the system has not received the initiator's resubmission request within the preset resubmission time limit t, then S12 is executed after the system outputs the result of the audit failure to the initiator.

[0054] Furthermore, after S9 is executed, S10 is executed.

[0055] The beneficial effects of this technical solution are as follows:

[0056] 1. It has high flexibility and adaptability to actual review scenarios. First, it can be completely newly created or an existing template can be used, thus saving the time of configuring the entire process. During the process, it can also insert review nodes after a certain configured review node or skip review nodes according to the dynamic review rules of the external rule base. This avoids the need to configure more complete process copies when there are only a few branch judgment conditions. Overall, it can save the time and manpower required for configuration.

[0057] 2. The mapping between user groups and users is carried out through an external permission mapping library. Since the configuration of the approval process is related to the user group rather than directly and strongly bound to the user, there is no need to maintain the process template when personnel change. Instead, only the mapping relationship needs to be maintained externally, which has good adaptability.

[0058] 3. A state machine is used to record the results of all review nodes and drive the process, facilitating resubmission in case of abnormal review results. The actual review process can be easily recorded, enabling subsequent backtracking and optimization. Attached Figure Description

[0059] Figure 1A structural diagram of a data auditing system based on a dynamic process, according to an embodiment of this application, is shown.

[0060] Figure 2 The flowchart of steps S1 to S9 of the data auditing method based on dynamic process according to an embodiment of this application is shown.

[0061] Figure 3 The flowchart of steps S10-S12 of the data auditing method based on dynamic process according to an embodiment of this application is shown.

[0062] Figure 4 The flowchart illustrates the specific steps involved in determining whether a dynamic review rule has been triggered, according to an embodiment of this application.

[0063] Figure 5 A flowchart illustrating the specific steps of the review node execution in an embodiment of this application is shown. Detailed Implementation

[0064] To make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be described in detail below. However, the embodiments described in this application are only some embodiments of this application, and not all embodiments.

[0065] like Figure 1 The data auditing system based on dynamic processes shown includes a process maintenance module, an indicator collection module, a node execution module, a state machine, and a process template library.

[0066] The process maintenance module is used to configure and manage process instances.

[0067] The indicator acquisition module is used to receive indicator data, which includes indicator type and indicator value.

[0068] The node execution module is used to receive audit results from user groups with auditing permissions. The audit results include three types: normal, qualified, and abnormal.

[0069] A state machine includes four states: PENDING, APPROVED, REJECTED, and RETRYING, which are respectively: pending, agreed, rejected, and retry.

[0070] The process template library is used to store process templates. Each process template includes several review nodes and is configured with a process name and default execution order. The review nodes are configured with indicator types and IDs of several user groups with review permissions.

[0071] The system is also connected to an external rule base, an external permission mapping base, and an external history database.

[0072] An external rule base is used to store dynamic audit rules. These rules are configured with trigger conditions, including indicator type and trigger range. There are two types: dynamic insertion and skipping nodes. Dynamic audit rules of the dynamic insertion type are also configured with audit nodes. For example, if the trigger condition is: when the indicator type is "number of beds" and the trigger range is ">500", an audit node needs to be dynamically inserted, and the rule needs to be audited by the infection control department user group.

[0073] The external permission mapping library is used to store the user group settings of all user groups and the user settings of all users. The user group settings include the user group ID, user group name and several user IDs, and the user settings include the user ID, IP address and username.

[0074] An external history repository is used to store audit history records.

[0075] like Figures 2-5 The data auditing method based on dynamic processes shown above, using the aforementioned data auditing system based on dynamic processes, mainly includes the following steps: Figure 2 , Figure 3 As shown, please follow these steps:

[0076] S1: The system receives the data review request from the initiator, the process maintenance module creates a process instance, and the state machine switches to the PENDING state;

[0077] S2: The process maintenance module determines the type of data audit request.

[0078] If the type is a new process, the process maintenance module receives several audit nodes and default execution order configured by the initiator for the process instance. Specifically, when configuring each audit node, the process maintenance module provides the initiator with a multi-select drop-down list with all user group names, so that the initiator can select several user groups as the user groups of the configured audit node.

[0079] If the type is reusing an existing process template, the process maintenance module will copy the content of the process template selected by the initiator in the process template library to the currently created process instance. Specifically, the process maintenance module provides the initiator with a single-select drop-down box containing the names of all process templates in the entire process template library for the initiator to select.

[0080] S3: System startup process example, the indicator collection module collects indicators, and creates and initializes variable i=1;

[0081] S4: The indicator collection module displays the indicator collection interface to the initiator and shows the indicator type on the interface. After receiving the i-th indicator data input by the initiator, the indicator collection module calls the external rule base for calculation to determine whether any dynamic review rules have been triggered.

[0082] If so, then execute S6;

[0083] If not, the node execution module executes the i-th audit node of the process instance, and then executes S5;

[0084] Specifically, such as Figure 4 As shown, the steps for determining whether a dynamic review rule has been triggered include:

[0085] The indicator acquisition module searches the external rule base for all dynamic audit rules that have the same indicator type as the received i-th indicator data in the trigger condition;

[0086] Determine if any dynamic review rules exist among the searched dynamic review rules, such that the indicator value of the indicator data falls within the trigger range of the dynamic review rule:

[0087] If so, then a dynamic review rule has been triggered;

[0088] If not, no dynamic review rules are triggered;

[0089] S5: If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes S7. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7.

[0090] S6: Determine the type of dynamic audit rule:

[0091] If it is a dynamic insertion, the node execution module first executes the i-th audit node of the process instance. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7. If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes the audit node configured by the triggered dynamic audit rule, and executes S5 for that audit node.

[0092] If the node is to be skipped, then execute S7;

[0093] S7: If the state machine is currently in the PENDING or APPROVED state, determine whether i is equal to the number of audit nodes of the process instance. If yes, set the state machine to the PENDING state and then execute S9. If no, execute S8.

[0094] If the state machine is currently in the REJECTED state, a review failure flag is added to the current process instance. Then, it is determined whether the system has received the initiator's resubmission request within the preset resubmission time limit t. In this embodiment, t=5min. If yes, the state machine switches to the RETRYING state. After the initiator re-enters the data review request, the state machine is set to the PENDING state, and then returns to S2. If no, the system outputs the review failure result to the initiator, and then executes S12.

[0095] S8: Increment the value of i by 1, set the state machine to the PENDING state, and then return to S4;

[0096] S9: The system outputs the review completion result to the initiator, and then executes S10;

[0097] S10: The process maintenance module extracts the audit nodes executed before each state machine switch to the APPROVED state for process instances without audit failure markers according to the actual audit order, and uses the execution order of these audit nodes as the default execution order. It calls the process template library to query whether there is a process template that is the same as all the extracted audit nodes and the default execution order. If yes, then execute S12; otherwise, then execute S11.

[0098] S11: Use the audit nodes and default execution order extracted in S10 as a new process template, output it to the system administrator, and after the system administrator configures the process name, store it in the process template library, and then execute S12.

[0099] S12: The system records all actual audit nodes, execution time periods, and real-time state machine changes as audit history records and sends them to an external history database for storage.

[0100] In the above steps, such as Figure 5 As shown, the execution steps for all audit nodes are as follows:

[0101] The node execution module retrieves the IDs of all user groups with audit permissions from the current audit node;

[0102] Based on the obtained user group ID, find all user IDs of all user groups with audit permissions from the external permission mapping library;

[0103] Find the IP addresses of all authorized users based on the obtained user ID, communicate with the users and send the i-th indicator data for user review;

[0104] When the node execution module receives an audit result, it closes communication with all users.

[0105] The above are only some of the embodiments listed in this application and are not intended to limit this application.

Claims

1. A data auditing method based on dynamic processes, characterized in that, A data auditing system based on dynamic processes is adopted, the system comprising: The process maintenance module is used to configure and manage process instances; The indicator acquisition module is used to receive indicator data, which includes indicator type and indicator value. The node execution module is used to receive audit results from user groups with auditing permissions. The audit results include three types: normal, qualified, and abnormal. A state machine includes four states: PENDING, APPROVED, REJECTED, and RETRYING. The process template library is used to store process templates. Each process template includes several review nodes and is configured with a process name and default execution order. The review nodes are configured with indicator types and IDs of several user groups with review permissions. The system is also connected to: An external rule library is used to store dynamic audit rules. Dynamic audit rules are configured with trigger conditions, which include indicator types and trigger ranges. They also include two types: dynamic insertion and skipping nodes. Dynamic audit rules of the dynamic insertion type are also configured with audit nodes. An external permission mapping library is used to store the user group settings of all user groups and the user settings of all users. The user group settings include the user group ID, user group name and several user IDs, and the user settings include the user ID, IP address and username. An external history repository is used to store audit history records; The method includes the following steps: S1: The system receives the data review request from the initiator, the process maintenance module creates a process instance, and the state machine switches to the PENDING state; S2: The process maintenance module determines the type of data audit request. If the type is a new process, the process maintenance module receives several audit nodes and the default execution order configured by the initiator for the process instance; If the type is reusing an existing process template, the process maintenance module will copy the contents of the process template selected by the initiator in the process template library to the currently created process instance; S3: System startup process example, the indicator collection module collects indicators, and creates and initializes variable i=1; S4: The indicator collection module displays the indicator collection interface to the initiator and shows the indicator type on the interface. After receiving the i-th indicator data input by the initiator, the indicator collection module calls the external rule base for calculation to determine whether any dynamic review rules have been triggered. If so, then execute S6; If not, the node execution module executes the i-th audit node of the process instance, and then executes S5; S5: If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes S7. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7. S6: Determine the type of dynamic audit rule: If it is a dynamic insertion, the node execution module first executes the i-th audit node of the process instance. If the audit result is abnormal, the state machine switches to the REJECTED state and then executes S7. If the audit result is normal or qualified, the state machine switches to the APPROVED state and then executes the audit node configured by the triggered dynamic audit rule, and executes S5 for that audit node. If the node is to be skipped, then execute S7; S7: If the state machine is currently in the PENDING or APPROVED state, determine whether i is equal to the number of audit nodes of the process instance. If yes, set the state machine to the PENDING state and then execute S9. If no, execute S8. If the state machine is currently in the REJECTED state, add a review failure flag to the current process instance, and then determine whether the system has received the initiator's resubmission request within the preset resubmission time limit t. If yes, the state machine switches to the RETRYING state. After the initiator re-enters the data review request, the state machine is set to the PENDING state, and then returns to S2. If no, the system outputs the review failure result to the initiator and then ends. S8: Increment the value of i by 1, set the state machine to the PENDING state, and then return to S4; S9: The system outputs the result of the review completion to the initiator.

2. The data auditing method based on dynamic processes according to claim 1, characterized in that, The steps in S4 for determining whether a dynamic audit rule has been triggered include: The indicator acquisition module searches the external rule base for all dynamic audit rules that have the same indicator type as the received i-th indicator data in the trigger condition; Determine if any dynamic review rules exist among the searched dynamic review rules, such that the indicator value of the indicator data falls within the trigger range of the dynamic review rule: If so, then a dynamic review rule has been triggered; If not, no dynamic review rules are triggered.

3. The data auditing method based on dynamic processes according to claim 1, characterized in that, The execution steps for the audit node include: The node execution module retrieves the IDs of all user groups with audit permissions from the current audit node; Based on the obtained user group ID, find all user IDs of all user groups with audit permissions from the external permission mapping library; Find the IP addresses of all authorized users based on the obtained user ID, communicate with the users and send the i-th indicator data for user review; When the node execution module receives an audit result, it closes communication with all users.

4. The data auditing method based on dynamic processes according to claim 1, characterized in that, In S2, if the data audit request type is a new process, the process maintenance module provides the initiator with a multi-select drop-down list containing all user group names when configuring each audit node. This allows the initiator to select several user groups as the user groups for the configured audit node.

5. The data auditing method based on dynamic processes according to claim 1, characterized in that, In S2, if the data audit request type is to reuse an existing process template, the process maintenance module provides the initiator with a single-select drop-down list containing the names of all process templates in the entire process template library for the initiator to choose from.

6. The data auditing method based on dynamic processes according to claim 1, characterized in that, It also includes the following steps: S10: The process maintenance module extracts the audit nodes executed before each state machine switch to the APPROVED state for process instances without audit failure markers according to the actual audit order, and uses the execution order of these audit nodes as the default execution order. It calls the process template library to query whether there is a process template that is the same as all the extracted audit nodes and the default execution order. If yes, then execute S12; otherwise, then execute S11. S11: Use the audit nodes and default execution order extracted in S10 as a new process template, output it to the system administrator, and after the system administrator configures the process name, store it in the process template library, and then execute S12. S12: The system records all actual audit nodes, execution time periods, and real-time state machine changes as audit history records and sends them to an external history database for storage.

7. The data auditing method based on dynamic processes according to claim 6, characterized in that, In S7, if the state machine is currently in the REJECTED state and the system has not received the initiator's resubmission request within the preset resubmission time limit t, then S12 is executed after the system outputs the result of the audit failure to the initiator.

8. The data auditing method based on dynamic processes according to claim 6, characterized in that, After S9 is executed, S10 is executed.