A MANAGEMENT SYSTEM FOR CONTROLLING THE WORKFLOW
OF ELECTRONIC DOCUMENTS
INTRODUCTION
Field of the Invention
The invention relates to management of processes in organisations.
Prior Art Discussion 0
In recent years there has been much progress in development of work flow engines tc manage flow of work represented as documents. An example is the system described in Japanese Patent Specification No. JP11025199 (NEC), in which the circulation order of an electronic document is defined in a hierarchy. 5
This approach has arisen because of the need for electronic document managemeni in organisations such as insurance companies or financial institut ons, and indeed tht approach has been very effective for the intended purpose. Such work flow engine: typically reside in what are known as electronic document management system: 0 (EDMS).
However, a problem which such organisations encounter is achieving effective control of processes which are not document related and obtaining dynamic management reports indicating process status. An example o r such a process i: 5 Corrective Action Reporting in which an organisation icentifies a proolen' requiring correction and implements a process to follow it through to solving tht problem and implementing appropriate preventative actions.
Objects of the Invention
There is therefore a need for a management system for use by organisations having EDMS systems which allows management of such processes in a simple and effective manner.
SUMMARY OF THE INVENTION
According to the invention, there is provided a management system for contrcllin-;:, performance of a work flow process, the system comprising:-
create means for creating a database process record in which data defines i→ sequence of work stages and a person responsible for each stage, and the record further comprises data fields for receiving work performance data inputted b said persons;
submit means for submitting the record to a work flow engine of a separate electronic document management system as a document to be processed in
work flow instance with sequential mailing to said persons;
processing means for setting access rights to the record which enable write: only by one of said persons when a message is currently in his or her mailbox, namely an owner, and for allowing the mail engine transmit a message to the person responsible for a next work stage when editing is complete; and
reporting means for interrogating a process record database and generating status reports according to the current stages of the process records.
In one embodiment, the create means comprises means for preventing deletion of a work stage definition to ensure integrity of a process lifecycle.
In one embodiment, the create means comprises means for storing a pluraliiy of process record templates, each defining persons responsible for the work stages.
In one embodiment, the create means comprises means for instantiating a template. as a work flow router associated with a dummy document and with a process record.
In one embodiment, the submit means comprises means for submitting the router tc the work flow engine and for separately storing the process record in a database within the management system.
In one embodiment, the processing means comprises means for trapping an API method of the work flow engine when a viewing or an editing function is selected by an owner, and for retaining control of the editing and viewing functions until editing is complete.
In one embodiment, the processing means comprises means for allowing a process tc be terminated as a state arising from a stage.
In another embodiment, the processing means comprises means for capturing explanatory text from its owner to the process record before termination.
In one embodiment, the processing means comprises means for allowing termination only for a stage which has a pre-set termination state.
In a further embodiment, the processing means comprises means for storing proces: records in a folder associated in a one-to-one relationship with the current proces: stage or state.
In one embodiment, the processing means comprises means for dynamically building a virtual document on-the-fly from a process record when requested by an owne; when a message is in his or her mailbox.
In one embodiment, the virtual document is an HTML document.
In one embodiment, the create means and the processing means comprise means fo writing document relational objects to the process record, said objects relating the process record to a document in a storage structure of the electronic documen: management system.
In one embodiment, the create means and the processing means comprise means fo* providing a view in the document storage structure and for allowing selection and access to related documents.
In another embodiment, the create means comprises means for setting access control levels in the process record, in which there is data identifying inierested persons and data setting an access permission for each of said interested persons.
In one embodiment, the interested persons data comprises identifiers of the person responsible for each work stage, all interested persons, and a group -which is a sub-sei of all interested persons.
In one embodiment, the processing means comprises means for automatically updating the access control levels when an owner has completed editing.
In one embodiment, the processing means comprises means for capturing dates fo stages and the reporting means comprises means for generating historical re-oort: according to interrogation of said dates.
In another embodiment, the system comprises means for operating according tc object-oriented methodology, in which each process is an object, and a maJboj; message is a graphical view of an object.
In one embodiment, the process record database is managed using embedded SQI code.
In one embodiment, the process is a corrective action management process.
In the latter embodiment, the stages preferably include submit a corrective actior' process, investigate the process, implement corrective action, and implemeni preventative action.
According to another aspect, the invention provides a computer program produci comprising software code whereby a system as defined above is completed when the product is loaded into the memory of a digital computer.
DETAILED DESCRIPTION OF THE INVENTON
Brief Description of the Drawings
The invention will be more clearly understood from the following descripticn of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which :-
Fig. 1 is a schematic representation of a management system of the invention and the manner in which it interfaces with an EDMS;
Fig. 2 is diagram illustrating stages and states implemented by the system; and
Figs. 3 to 9 inclusive are display screens illustrating operation of the system.
Description of the Embodiments
Referring to the drawings, and initially to Fig. 1, there is showr a corrective action management system 1 of the invention. The system 1 is for interaction with
separate and external electronic document management system (EDMS) 2. The system 1 comprises a create function 5 which creates a database corrective action record (CAR). This comprises data defining a sequence of work stages and a person responsible for each stage. It also includes data fields for subsequently receiving work performance data inputted by these persons.
In more detail, the create function 5 comprises SQL and EDMS APIs written tc implement object-orientated methodology and embedded SQL code for managemeni of a database 6.
The system 1 manages lifecycle stages and states, shown in Fig. 2. The stages are a: follows :-
21 submit
22 investigate, 23 corrective action, 24 review corrective action, 25 preventative action, 26 review preventative action
In this specification, a "stage" is defined as a work flow operation in response to an input by a pre-defined person responsible for that operation. At any one point in time there is only one person responsible and who has access rights to make the inpui
for the operation. That person is referred to as the "owner". Tb stages 21 to 25 are implemented by the submit and processing functions 7 and 9.
The lifecycle states arise from the stages. These are:-
a discard state 30 which arises from the investigate stage 22, and
a close state 31 which arises from the corrective action review stage 24 o from the review stage 26.
Each of the stages 21 to 26 and of the states 30 and 31 have an associated storage directory or folder. The corrective action record is stored in the current stage or state folder.
The system 1 comprises a set of stored templates which provide a lifecycle model of the stages 21 to 26 and the states 30 and 31. This is because all of the template:' include these stages and states. An instance of a template is a work flow route associated with a dummy (empty) document.
The create function 5 generates a corrective action record, the data structure of whicli is set out in the table below.
Table - Corrective Action Record Data
Object Name Corr_action
Object No. Ca_comments
Title Ca_reviewer
Subject Ca_rev_comm
Initiator Pa_respons
Owner_name Prev_action
Owner_permit Pa_comments grouρ_name Pa_reviewer group_permit Pa_rev_comm world_permit Forwarded discard text Ca_target_date prev_action_req Pa_target_date priority Inv_signofF_date status Ca_rev_signoff_date source dept Pa_signofF_date response dept Pa_rev_signoff_date problem_desc Problem type manager Audit_number investigator inv_comments cause response name
An individual corrective action record (CAR) is a single object which has a name and a number. The create function 5 generates a screen which automatically includes the name of the initiator according to that person's user name and ID. The record is also automatically populated with the date that the CAR is created. The screen allows the initiator to select a "source of non-conformance" from a drop down list. Options are, for example, customer complaint, employee suggestion product non-conformance, or supplier non-conformance. The initiator then select: "responsible department" within the organisation from a drop-lisi:. The option: selected provide default data in which the identity of the functional manager i:
automatically populated. However, alternative data may be inputted by the initiator As shown in Fig. 3, the initiator is prompted to input descriptive text and to seleci data such as the customer number, the customer name and the type of problem Problems of this type are also displayed for other sources of non-conformance such as those listed above.
The system 1 also automatically populates the CAR with additional data, as shown in the Table above. An important set of data generated by the create function .5 are access control levels (ACLs). There is an ACL for each stage. Each ACL comprise: a permission for each of the owner, a group, and the world. The owner is thai person responsible who is currently authorised to progress the corrective actior process. The circumstances in which a person is for the time being in this role art described in more detail below. The world is the maximum-sized group of people within the organisation who can access the system 1. A group is a subset of the world, such as a particular department. Thus, as shown in the Table above, there is a name and a permission level for each of the owner, the group, and the world.
Data such as the relevant manager in the department involved and the identity cf the source department are automatically populated. At the create stage, the initiato inputs some additional data as illustrated in Fig. 3.
The create function 5 creates a CAR, in which many of the fields shown in the Table above are populated. Creation of a process also involves instantiating a template selected by the initiator. This instance is an EDMS work flow router associated with a dummy (empty) document. This router user EDMS work flow engine criteria tc define the persons responsible for all of the stages 21 to 26.
The submit function 7 operates in response to a person responsible for the submii stage 21 (owner) to submit a corrective action work flow process to a work flov engine 8 of the EDMS 2. The submit operation involves transferring the work flov
engine 8, as it "sees" a conventional router and the router identifies a sequence of addressee persons (persons responsible) and a reference to a document. However, the document is a dummy document and the process is implemented instead by the. router in combination with the CAR in the database 6.
The work flow engine 8 then operates in a conventional manner by transmitting a message containing a pointer to the dummy document and ro the CAR to the mailbox of the person responsible for the investigate stage 22.
The system processing function 9 is programmed to automatically trap a method ir the EDMS 2 via an API whereby when the person responsible selects view or edii options for the message. The system 1 takes over control using the processing function 9. In this way, the processing of the CAR is centred around the inbox cf the persons responsible for the various stages. The person responsible for a current stage and whose inbox contains such a message is referred to as "owner" for the time being.
In this embodiment, the first stage is the investigation stage and a screen such as thai shown in Fig. 4 is generated. The CAR includes a "Discard" field to allow owner al the investigation stage to discard the corrective action. This brings the process to the discard state 30 shown in Fig. 2, and the CAR is written to the discard folder. The investigator may select a priority level from a drop-down list and may inpui comments in a text box. If the investigator selects a "view" option, the system 1 automatically generates an HTML document displaying the CAR details. This i: generated on-fly and exists only during the viewing session and so is referred to as a "virtual" document. Fig. 5 illustrates an example of an HTML document which i: created from the CAR.
The system 1 is programmed to access a document storage structure within the EDMS 2 whereby it may retrieve documents and attach them to the CAR by writing relational objects to the CAR.
The "FYI" option allows the owner to send a message to the relevant functional manager as a way of informing him or her of the progress of a corrective action.
The "save" command allows the owner to transfer the proces:* to the next stage namely the corrective action stage 23. In the corrective action stage 23, the o ne- receives a message in his or her mailbox and again the processing function 9 take: over processing of the record at that stage. As shown in Fig. 6 the "priority field" i: populated automatically, as defined in the investigation stage. The "Responsibility' field is automatically populated with the owner, namely the person responsible for the corrective action as pre-defined. This person may input a target date for closing, the preventative action. The type of corrective action may be selected from a drop down list and the owner may enter "Comments" as free text. Again, the owner may view the CAR data, may attach documents, or may send an FYI notification. The "Save" button transfers control over to the next stage.
As shown in Fig. 7, the next stage arises when the person responsible for reviewing the corrective action receives a message in his or her mailbox and a screen such a: that shown in Fig. 7 is displayed. The date for the review is automatically written and the reviewer may input "Comments" as free text. The owner inputs a "Targei Date" for closing the process. An important aspect of the review correction action stage 24 is that the owner may select whether there should be preventative action o -• the process should move to the closed state 31. The preventative action and associated stages are a fixed part of the template, however, the cycle may be terminated at this stage when preventative action is not appropriate. These input: may only be performed by the person responsible for reviewing the corrective action.
The selection is made by clicking one of the radio buttons Yes or No as shown in the bottom left hand corner or the display screen of Fig. 7.
The next stage is definition of the preventative action 25 and this is performed by th person responsible for this stage, as defined during creation of the CAR. As shown in Fig. 8 a "Date" field is automatically populated with the date that the preventative action is defined. The "Target Date" is the date for closing the preventative action The "Type of Preventative Action" is selected from a drop- own list, and the "Comments" text box is used by the owner to enter free text. The owner may click "Save" button, causing the workflow engine 8 to take over control again and route a message to the person responsible for the review preventative action stage 26.
This owner is presented with a screen as shown in Fig. 9, and again the date and the person responsible are automatically written by the system, and the system rec ive: free text comments. When the corrective action data is saved by pressing the "Save' button it is automatically closed by the system and no further editing of the CAR i: allowed. The CAR is automatically written to the Closed folder associated with the state 31.
It will be appreciated that progression of the corrective action :hrcugh the vaπou: stages results in population of the CAR fields illustrated in the Table. The corrective action may be teπninated early at some of the stages, however, this is carried our in a strictly controlled manner with only the owner being allowed to rerminate and being, required to input explanatory text. As the corrective action moves from one stage tc another the system automatically updates the permissions for the next stage according to the ACL data for that stage. This is set by default from the template and inputs from the initiator.
Referring again to Fig. 1, a reporting function 11 generates management reports by interrogating the database 6. The CARs at any point in time contain the up-to-date
information on all of the processes being managed. There is no need for an intermediate database or for processing the data from the CARs in any significani manner. The reporting function 11 is coded with Visual Basic™ to generate line graphs and bar charts indicating the current process stages. The reporting function 11 generates historical reports by simply reading from those fields, storing data for the stages and data inputted at those stages. Thus, the CAR itself provides both current and historical data. The data is very quickly accessed because each stage and state has an associated storage folder so that the CAR locations inherently provide oasκ • current stage data. The fields within the CARs provide the historical data.
The invention is not limited to the embodiments described, but may be varied in construction and detail within the scope of the claims.