Workflows are business processes that are designed to achieve a specific purpose. They can be carried out by a single person or piece of equipment, a group, or a whole organization. In the context of document management, one type of workflow is the process by which one or more physical or electronic documents flow among people and/or groups or people for review, editing or other actions. This typically involves documents being distributed with different people responsible for creating, updating, reviewing, and approving the document.
When one or more people involved in a document workflow are not responding quickly, those individuals can create bottlenecks in the workflow. Often it may not be clear why one or more individuals are creating a workflow bottleneck.
This document describes systems and methods that present solutions to the problems discussed above, and which may also provide additional benefits.
In an embodiment, a document workflow management system uses one or more processors to access a document workflow file. The document workflow file represents a document management workflow for a document and includes information that may be used for identifying a group of workflow action personnel, an action that is to be taken by each of the personnel, and a time period for each action. The system monitors progress of the document management workflow by aggregating, from two or more sources, user status information for at least a portion of the workflow action personnel. Before the workflow is complete, the system may use the user status information to determine that the document management workflow is subject to a delay based on the user status information for at least one of the workflow action personnel. If so, it may identify the person whose status is a cause of the delay, along with a first action that the person is to perform in the workflow. The system also may analyze the user status information for the identified person to identify a reason for the delay. It may generate an alert comprising an identification of the document, the identified person, and the reason, and it may cause the alert to be transmitted to at least one of the personnel to whom an action has been assigned.
Optionally, if the workflow is subject to an actual or possible delay, the system may identify an alternate person to whom the first action may be assigned, including an identification of the alternate person in the alert; and wait for approval from one of the personnel to whom an action has been assigned before routing the document to the alternate person for the first workflow action. If and when approval is received, the system may cause the document to be transmitted to the alternate person for completion of the first workflow action. Alternatively, if the system determines that a time of the delay exceeds a threshold, it may automatically cause the document to be transmitted to the alternate person for the first workflow action and not wait for approval.
In some embodiments, the system may collect the user status information by accessing a calendar or messaging application that is associated with the identified person. It may analyze data from the calendar or messaging application to determine that the identified person is unavailable until a return time, determine whether the return time is past a threshold time, and if the return time is before the threshold time, it may cause the document to be maintained in a queue for the identified person at least until the threshold time. If the return time is after the threshold time, the system may identify an alternate person to whom the first workflow action may be assigned, and automatically cause the document to be transmitted to the alternate person for the first workflow action.
In some embodiments, the system may collect the user status information by accessing a messaging application that is associated with the identified person, It may analyze data from the messaging application to determine a time when the identified person last used the messaging application to send or read a message, and it may assess whether the determined time is past a threshold time. If the determined time is before the threshold time, the system may cause the document to be maintained in a queue for the identified person at least until the threshold time. If the determined time is after the threshold time, the system may identify an alternate person to whom the first workflow action may be assigned, and automatically cause the document to be transmitted to the alternate person for the first workflow action.
In some embodiments, the system may collect the user status information by accessing a mobile device application that is associated with the identified person. It may analyze data from the mobile device application to determine a time when the identified person last used the mobile device application, and it may assess whether the determined time is past a threshold time. If the determined time is before the threshold time, it may cause the document to be maintained in a queue for the identified person at least until the threshold time. I the determined time is after the threshold time, it may identify an alternate person to whom the first workflow action may be assigned, and automatically cause the document to be transmitted to the alternate person for the first workflow action.
In some embodiments, when identifying an alternate person to whom the first workflow action may be assigned, the system may identify a role that is associated with the alternate person. A role may be a job description, a personal identifier, a security level, or some other categorical identifier. The system may determine whether the document includes any information having an access restriction that applies to the role such that the access restriction restricts access to the information by the alternate person. If the access restriction applies to the role, the system may modify the document to yield a modified document that does not reveal the information, and it may cause the modified document to be transmitted to the alternate person for the first workflow action. Then, after the alternate person performs the first action, the system may use the workflow to select one of the workflow action personnel who is to perform a next workflow action, and it may cause the document, in a form that reveals the information, to be transmitted to the selected person to perform the next workflow action.
In some embodiments, after causing the document to be transmitted to the alternate person for the first workflow action, the system may receive an indication that the alternate person has performed the first workflow action on the document. It may analyze the document to determine whether the first workflow action has been properly completed, and it may cause the document to be sent to a next person to perform a next workflow action only if the first workflow action has been properly completed. Otherwise, it may return the document to the alternate person for re-performance of the first workflow action.
This disclosure is not limited to the particular systems, devices and methods described, as these may vary. The terminology used in the description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope.
As used in this document, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used in this document have the same meanings as commonly understood by one of ordinary skill in the art. As used in this document, the term “comprising” means “including, but not limited to.”
As used in this document, the term “electronic device” refers to a device that includes a processor and tangible, computer-readable memory. The memory may contain programming instructions that, when executed by the processor, cause the device to perform one or more operations according to the programming instructions. Examples of electronic devices include personal computers, gaming systems, televisions, and portable electronic devices such as smartphones, personal digital assistants, cameras, tablet computers, laptop computers, media players and the like. The term “electronic communication” refers to the ability to transmit data via one or more signals between two or more electronic devices, whether through a wired or wireless network, and whether directly or indirectly via one or more intermediary devices.
The system will include various electronic devices that are used by workflow action personnel. The workflow file may contain identification data for the personnel, such as a username, employee identification code and/or access code. Or, the workflow file may identify each workflow action person based on a network address or an identification code of an electronic device that the person uses. For example, the workflow file may include rules and/or parameters that are established by or set for a first workflow action person 20 who performs a first workflow action on the document. The first workflow action may include, for example, using a first electronic device to create a first draft of the document from a template. The workflow file may then require that the document 30 be sent to a second workflow action person 22 for a second workflow action, such as review and/or edit actions. The second person 22 may create a revised document 32 and transmit it to a third workflow action person 24 for a third workflow action, such as approval.
If the second person 22 is unavailable or not responding to a request to take action on the document, to avoid delays in the workflow the server 10 may cause the document to be sent to an alternate person 26 to perform the second workflow action. The alternate person 26 may create a revised document 34 and transmit it to the third workflow action person 24 for the third workflow action. The server may apply any of various rules for sending the document to the alternate person, such as those that will be described below.
Although
The processor may monitor progress of the document as it moves from person to person in the workflow. For example, the processor may send the document to (or monitor creation document of the document by) a first person 205. After the first person has completed his or her action, the central processor and/or the first person's electronic device may identify, based on the rules and/or parameters in the workflow action file, a next person to whom the document is to transmitted for a second action 207.
The system may then monitor progress of the workflow, and it may determine whether a delay is likely to occur 211, whether a delay is actually occurring 217, or both based on user status information for the personnel to whom workflow actions have been assigned.
The system may determine whether a delay is likely to occur 211 after it receives and aggregates user status information 209 from a variety of sources for one or more of the workflow action personnel. Referring to
The source may also include a messaging application 312 (such as an electronic mail or text message application), with data such as the last time that the person used the application to send and/or read a particular message, or any message, used to determine a potential delay time. The source may also include a workflow software application 314, with data such as the last time that the person updated his or her status in the application used to determine a potential delay time. The source may also include any mobile electronic device software application 316, with data such as the last time that the person used the application used to determine a potential delay time. The source may include other sources 318, such as a document repository, management system or other business application, with a time of last usage being the data that the system uses to determine the potential for delay. In each of these cases, the potential delay time may be determined by any suitable algorithm, such as whether the time that has elapsed since the user last used the mobile application, updated his or her status in the workflow application, or sent a message via the messaging application exceeds a threshold. If the elapsed time exceeds a threshold, then the system may determine that a delay is likely to occur.
Returning to
As noted above, once a person has received a document for review, the system also may determine whether a delay is occurring 219 by assessing whether that person has taken his or her assigned action by a determined time 217. The determined time may be a threshold, and any time between transmission of the document to that person and a current time may be considered to be a delay. If the delay exceeds the threshold 219, the system may generate an alert 221, identify an alternate person to whom the workflow action is permitted to be assigned 223, and/or send the document to the alternate person to perform the workflow action 225.
In some situations, the system may automatically route the document to the alternate person 225 as soon as the appropriate criteria (such as a criterion requiring that a delay time exceed a threshold) are satisfied. In other situations, the system may determine whether approval is required from one of the workflow personnel before routing the document to the alternate person 250. If approval is required, the system may send the alert to the person from whom approval is required 252 and wait for the approver to return an approval before sending the document to the alternate person. If approval is returned, then the system may send the document to the alternate person 225. If disapproval is returned, or if approval is not returned within a threshold period of time, then the system may return the document to the original workflow action person 240 and wait for that person to become available.
In some embodiments, the system may determine whether the alternate person is permitted to access the entire document before sending the entire document to the alternate person. For example, the system may determine whether the document includes any information having an access restriction 260, identify a role that is associated with the alternate person 262, and determine whether the access restriction applies to the role such that the access restriction restricts access to the information by the alternate person 264. If the access restriction applies to the alternate person, before sending the document the system may redact, mask or otherwise modify the document so that it does not reveal the information 266. It may then cause modified version of the document to be transmitted to the alternate person for the first workflow action. After the alternate person performs the action, the system may then identify the next workflow action person who is to perform a next workflow action 270. If the next person is not subject to the access restriction, it may then cause the document to be transmitted to the next person in a form that reveals the restricted information 272. For example, before transmitting the document to the alternate person, the system may redact the restricted information from the document and store the redacted information in a memory. The system may then return the redacted information to the document when transmitting it from the alternate person to the next person.
In some embodiments, to confirm that the alternate person has properly performed the action, the system may analyze the document after the alternate person performs the action to determine whether the action was properly completed 268. If may do this by, for example, determining whether all required data entry fields were completed, determining whether data entered satisfied format or other required criteria, or by other analysis methods. If the system determines the action was not properly completed, it may return the document to the alternate person to re-perform the action.
In some embodiments, the system may generate a user interface that includes a document workflow dashboard that may be viewed by one or more of the workflow action personnel on their electronic devices.
A controller 620 interfaces with one or more optional memory devices 625 to the system bus 600. These memory devices 625 may include, for example, an external or internal DVD drive, a CD ROM drive, a hard drive, flash memory, a USB drive or the like. As indicated previously, these various drives and controllers are optional devices.
Program instructions may be stored in the ROM 610 and/or the RAM 615. Optionally, program instructions may be stored on a tangible computer readable storage medium such as a compact disk, a digital disk, flash memory, a memory card, a USB drive, an optical disc storage medium and/or other recording medium.
An optional display interface 330 may permit information from the bus 600 to be displayed on the display 635 in audio, visual, graphic or alphanumeric format. Communication with external devices may occur using various communication ports 640. An exemplary communication port 640 may be attached to a communications network, such as the Internet or an intranet.
The hardware may also include an interface 645 which allows for receipt of data from input devices such as a keyboard 650 or other input device 655 such as a mouse, a joystick, a touch screen, a remote control, a pointing device, a video input device and/or an audio input device.
The features and functions disclosed above, as well as alternatives, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.